A patch is attached to this email.
ThispatchupdatesmanybuildtoolsandrelatedpackagesinGNUrepo,the
formerincludinggn,meson,cmake,muon,osc,genie,pdpmake,andninja,the
latterincludingcpm-cmake,bear,compiledb,andpython-pyproject-medatada.
Thispatchalsodeprecatespython-meson-pythoninfavorofmeson-python.All
packagesthatusepython-meson-pythonaremanuallymitigated.
Rationale:Theyrefertothesamepackage.Thename"meson-python"ispreferred
becauseupstreamname"meson-python"alreadycontainsa"python".Otherpackage
managers (e.g. pacmanforArch) also use the name "meson-python". Only 4
packagesinGNUrepouse"python-meson-python",comparedtomorethan10
"meson-python"s.
Someothermodificationsaremade.Seecommitmessagefordetailedinformation.
Allpackagesinvolved,exceptforcmakeandosc,aretestedandcanbe
successfullybuiltonmysystem.
cmakeandoscrequirerusttobuild,whichtakesahugeamountoftimeto
bootstraponmycomputer.TheGuixserverdidn't seem to have substitutes whenI tested. Sorry about that.
This is my first time submitting a patch. What should be many commits are
bulked together in a single commit because my local edit history ain't that
clean. Apology in advance if inconvience is caused. Feel free to modify the
patch.
From c1a75bc3501514bea909e3b07c49647aedac0520 Mon Sep 17 00:00:00 2001
Message-ID: <c1a75bc3501514bea909e3b07c49647aedac0520.1754070075.git.vspefs@protonmail.com>
From: vspefs <vspefs@protonmail.com>
Date: Fri, 1 Aug 2025 05:55:55 +0800
Subject: [PATCH] gnu: Update build tools. Deprecate python-meson-python.
* gnu/packages/build-tools.scm (bear): Update to 3.1.6.
[inputs] Fix mismatched input name.
* gnu/packages/build-tools.scm (gn): Update to 0.0-2271.93cc2d3.
* gnu/packages/build-tools.scm (meson): Update to 1.8.3.
* gnu/packages/build-tools.scm (meson-python): Update to 0.18.0.
[build-system] Switch to meson-build-system to avoid circular dependency
between files.
[package] Move meson-python to...
* gnu/packages/python-xyz.scm (meson-python): ...here.
* gnu/packages/build-tools.scm (muon): Update to 0.5.0.
* gnu/packages/build-tools.scm (osc): Update to 0.19.0.
* gnu/packages/build-tools.scm (compiledb): Update to 0.10.7.
[arguments] Discard support for python<3.3 as upstream does.
[arguments] Patch hardcoded "/bin/echo" in tests.
* gnu/packages/build-tools.scm (genie): Update to 1190-0.18vdlcf.
* gnu/packages/build-tools.scm (pdpmake): Update to 2.0.3.
* gnu/packages/cmake.scm (cmake): Update to 4.0.3.
* gnu/packages/cmake.scm (cpm-cmake): Update to 0.42.0
* gnu/packages/finance.scm (beancount): [native-inputs] Switch from
python-meson-python to meson-python.
* gnu/packages/python-science.scm (python-scikit-misc): Likewise.
* gnu/packages/python-xyz.scm (python-pywavelets): Likewise.
* gnu/packages/python-xyz.scm (python-mccabe): Likewise.
* gnu/packages/python-xyz-scm (python-dbus-python): Likewise.
* gnu/packages/ninja.scm (ninja): Update to 1.13.1.
[inputs]: Add google test source for testing.
[arguments]: Use fetched google test source for testing.
* gnu/packages/python-xyz.scm (python-pyproject-metadata): Update to
0.9.1.
[native-inputs] Add python-flit-core.
* gnu/packages/python-xyz.scm (python-meson-python): Deprecated in favor
of meson-python.
---
gnu/packages/build-tools.scm | 464 ++++++++++++++++----------------
gnu/packages/cmake.scm | 39 +--
gnu/packages/finance.scm | 34 ++-
gnu/packages/ninja.scm | 81 +++---
gnu/packages/python-build.scm | 1 -
gnu/packages/python-science.scm | 2 +-
gnu/packages/python-xyz.scm | 63 +++--
7 files changed, 344 insertions(+), 340 deletions(-)
@@ -129,7 +129,7 @@ (define-public bam
(define-public bear
(package
(name "bear")
- (version "3.1.4")
+ (version "3.1.6")
(source
(origin
(method git-fetch)
@@ -138,7 +138,7 @@ (define-public bear
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1x99d2cycgxay62cz2ypjjkmjgrbdvz5d3pg4fyv0gnq2srnlcnm"))))
+ (base32 "0pnrsnwvsqby0vgb33zsrjznb7l82ji7i4aigk32hg3rl674qqvx"))))
(build-system cmake-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -146,7 +146,8 @@ (define-public bear
(lambda _
(substitute* "CMakeLists.txt"
;; Delete the matching lineāand comment out the next.
- ((".*TEST_(BEFORE_INSTALL|COMMAND).*") "#"))))
+ ((".*TEST_(BEFORE_INSTALL|COMMAND).*")
+ "#"))))
(add-before 'check 'set-build-environment
(lambda _
(setenv "CC" "gcc")))
@@ -155,25 +156,24 @@ (define-public bear
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest")))))))
- (inputs
- `(("c-ares" ,c-ares)
- ("fmt" ,fmt-8)
- ("grpc" ,grpc)
- ("nlohmann-json" ,nlohmann-json)
- ("protobuf" ,protobuf)
- ("python" ,python-wrapper)
- ("re2" ,re2)
- ("spdlog" ,spdlog-1.10)))
- (native-inputs
- `(("abseil-cpp" ,abseil-cpp-cxxstd11)
- ("googletest" ,googletest)
- ("openssl" ,openssl)
- ("pkg-config" ,pkg-config)
- ("python-lit" ,python-lit)
- ("zlib" ,zlib)))
+ (inputs `(("c-ares" ,c-ares)
+ ("fmt" ,fmt-8)
+ ("grpc" ,grpc)
+ ("nlohmann-json" ,nlohmann-json)
+ ("protobuf" ,protobuf)
+ ("python-wrapper" ,python-wrapper)
+ ("re2" ,re2)
+ ("spdlog" ,spdlog-1.10)))
+ (native-inputs `(("abseil-cpp" ,abseil-cpp-cxxstd11)
+ ("googletest" ,googletest)
+ ("openssl" ,openssl)
+ ("pkg-config" ,pkg-config)
+ ("python-lit" ,python-lit)
+ ("zlib" ,zlib)))
(home-page "https://github.com/rizsotto/Bear")
(synopsis "Tool for generating a compilation database")
- (description "A JSON compilation database is used in the Clang project to
+ (description
+ "A JSON compilation database is used in the Clang project to
provide information on how a given compilation unit is processed. With this,
it is easy to re-run the compilation with alternate programs. Bear is used to
generate such a compilation database.")
@@ -232,40 +232,42 @@ (define-public bmake
(license license:bsd-3)))
(define-public gn
- (let ((commit "1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41")
- (revision "2072")) ;as returned by `git describe`, used below
+ (let ((commit "93cc2d3fa6bdcc7dc580e3382ea40e19feb7f004")
+ (revision "2271"))
+ ;; as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
(home-page "https://gn.googlesource.com/gn")
- (source (origin
- (method git-fetch)
- (uri (git-reference (url home-page) (commit commit)))
- (sha256
- (base32
- "02621c9nqpr4pwcapy31x36l5kbyd0vdgd0wdaxj5p8hrxk67d6b"))
- (file-name (git-file-name name version))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32 "1mdnkl4crhgbgl3zz5pyrfw1b4vz643pbki88s52d35fgjyw74ag"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-before 'configure 'set-build-environment
- (lambda _
- (setenv "CC" "gcc")
- (setenv "CXX" "g++")
- (setenv "CXXFLAGS" "-g -O2 -Wno-error=redundant-move")
- (setenv "AR" "ar")))
- (replace 'configure
- (lambda _
- (invoke "python" "build/gen.py"
- "--no-last-commit-position")))
- (add-after 'configure 'create-last-commit-position
- (lambda _
- ;; Mimic GenerateLastCommitPosition from gen.py.
- (call-with-output-file "out/last_commit_position.h"
- (lambda (port)
- (format port
- "// Generated by Guix.
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'set-build-environment
+ (lambda _
+ (setenv "CC" "gcc")
+ (setenv "CXX" "g++")
+ (setenv "CXXFLAGS" "-g -O2 -Wno-error=redundant-move")
+ (setenv "AR" "ar")))
+ (replace 'configure
+ (lambda _
+ (invoke "python" "build/gen.py" "--no-last-commit-position")))
+ (add-after 'configure 'create-last-commit-position
+ (lambda _
+ ;; Mimic GenerateLastCommitPosition from gen.py.
+ (call-with-output-file "out/last_commit_position.h"
+ (lambda (port)
+ (format port "// Generated by Guix.
#ifndef OUT_LAST_COMMIT_POSITION_H_
#define OUT_LAST_COMMIT_POSITION_H_
@@ -275,25 +277,34 @@ (define-public gn
#endif // OUT_LAST_COMMIT_POSITION_H_
"
- #$revision #$revision
- #$(string-take commit 12))))))
- (replace 'build
- (lambda _
- (invoke "ninja" "-C" "out" "gn"
- "-j" (number->string (parallel-job-count)))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (if tests?
- (begin
- (invoke "ninja" "-C" "out" "gn_unittests"
- "-j" (number->string (parallel-job-count)))
- (invoke "./out/gn_unittests"))
- (format #t "test suite not run~%"))))
- (replace 'install
- (lambda _
- (install-file "out/gn" (string-append #$output "/bin")))))))
- (native-inputs
- (list ninja python-wrapper))
+ #$revision
+ #$revision
+ #$(string-take commit 12))))))
+ (replace 'build
+ (lambda _
+ (invoke "ninja"
+ "-C"
+ "out"
+ "gn"
+ "-j"
+ (number->string (parallel-job-count)))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ (invoke "ninja"
+ "-C"
+ "out"
+ "gn_unittests"
+ "-j"
+ (number->string (parallel-job-count)))
+ (invoke "./out/gn_unittests"))
+ (format #t "test suite not run~%"))))
+ (replace 'install
+ (lambda _
+ (install-file "out/gn"
+ (string-append #$output "/bin")))))))
+ (native-inputs (list ninja python-wrapper))
(synopsis "Generate Ninja build files")
(description
"GN is a tool that collects information about a project from @file{.gn}
@@ -305,30 +316,34 @@ (define-public gn
(define-public meson
(package
(name "meson")
- (version "1.5.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mesonbuild/meson/"
- "releases/download/" version "/meson-"
- version ".tar.gz"))
- (sha256
- (base32
- "02wi62k9w7716xxdgrrx68q89vaq3ncnbpw5ms0g27npn2df0mgr"))))
+ (version "1.8.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/mesonbuild/meson/"
+ "releases/download/"
+ version
+ "/meson-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32 "1gvs2mm6z2b4pgsv1d9gl7cm68gqvcr244nh5p63g8f01y8sl67i"))))
(build-system python-build-system)
(arguments
- (list #:tests? #f ;disabled to avoid extra dependencies
- #:phases
- #~(modify-phases %standard-phases
- ;; Meson calls the various executables in out/bin through the
- ;; Python interpreter, so we cannot use the shell wrapper.
- (replace 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* (search-input-file outputs "bin/meson")
- (("# EASY-INSTALL-ENTRY-SCRIPT")
- (format #f "\
-import sys
+ (list
+ #:tests? #f ;disabled to avoid extra dependencies
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Meson calls the various executables in out/bin through the
+ ;; Python interpreter, so we cannot use the shell wrapper.
+ (replace 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* (search-input-file outputs "bin/meson")
+ (("# EASY-INSTALL-ENTRY-SCRIPT")
+ (format #f "import sys
sys.path.insert(0, '~a')
-# EASY-INSTALL-ENTRY-SCRIPT" (site-packages inputs outputs)))))))))
+# EASY-INSTALL-ENTRY-SCRIPT"
+ (site-packages inputs outputs)))))))))
(inputs (list python ninja))
(home-page "https://mesonbuild.com/")
(synopsis "Build system designed to be fast and user-friendly")
@@ -341,113 +356,82 @@ (define-public meson
resembles Python.")
(license license:asl2.0)))
-(define-public meson-python
+(define-public muon
(package
- (name "meson-python")
- (version "0.17.1")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "meson_python" version))
- (sha256
- (base32
- "10szxcqgki4zwkrwmsirdg68h03k9qmfswd4r5xyz7p1y9lizfgg"))))
- (build-system pyproject-build-system)
+ (name "muon")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/muon-build/muon")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1w0vkishj7r3swzg4m1fl3hacs8mycwhsrr5vw8sy67y81cihqbd"))))
+ (build-system meson-build-system)
(arguments
- (list #:test-flags #~(list "tests"
- ;; The test_pep518 tries to install
- ;; dependencies from the network using pip.
- "-k" "not test_pep518")))
- (propagated-inputs
- (list meson
- ninja
- python-colorama
- python-cython-3
- python-pyproject-metadata
- python-tomli
- python-typing-extensions
- python-wheel))
- (native-inputs
- (list ;; For tests.
- git-minimal/pinned
- patchelf
- pkg-config
- python-cython-3
- python-gitpython
- python-pytest
- python-pytest-cov
- python-pytest-mock))
- (home-page "https://github.com/mesonbuild/meson-python")
- (synopsis "Meson-based build backend for Python")
- (description "Meson-python is a PEP 517 build backend for Meson projects.")
- (license license:expat)))
-
-(define-public muon
- ;; Use the latest commit, as there hasn't yet been a new release including
- ;; recent changes (see: https://github.com/muon-build/muon/issues/146).
- (let ((commit "55b7285a92779bd8b8870482e5535ce878f3e09f")
- (revision "0"))
- (package
- (name "muon")
- (version (git-version "0.4.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/muon-build/muon")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0kpk1h82djb0brxkwy5ylpvdpp2l1489bq822dmryhmsd573ii48"))))
- (build-system meson-build-system)
- (arguments
- (list #:meson (computed-file "null-package" #~(mkdir #$output))
- #:ninja samu-as-ninja-wrapper
- #:configure-flags #~(list "-Dsamurai=disabled")
- #:tests? #f ;to avoid extra dependencies
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-/bin/sh
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "tools/generate_test_check_script.py"
- (("#!/bin/sh")
- (string-append "#!" (search-input-file inputs
- "bin/sh"))))))
- (add-after 'patch-source-shebangs 'build-muon-bootstrap
- (lambda _
- (setenv "CC" #$(cc-for-target))
- (setenv "CFLAGS" "-DBOOTSTRAP_NO_SAMU")
- (invoke "./bootstrap.sh" "build")))
- (add-after 'build-muon-bootstrap 'setup-muon-bootstrap-as-meson
- (lambda _
- (mkdir "bin")
- (symlink "../build/muon-bootstrap" "bin/meson")
- (setenv "PATH" (string-append (getcwd) "/bin:"
- (getenv "PATH"))))))))
- (native-inputs (list samurai))
- (inputs (list bash-minimal pkgconf))
- (native-search-paths (list $PKG_CONFIG_PATH))
- (home-page "https://muon.build/")
- (synopsis "Meson build system alternative implementation in C99")
- (description "Muon is an implementation of the meson build system in c99
+ (list
+ #:meson (computed-file "null-package"
+ #~(mkdir #$output))
+ #:ninja samu-as-ninja-wrapper
+ #:configure-flags
+ #~(list "-Dsamurai=disabled")
+ #:tests? #f ;to avoid extra dependencies
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-/bin/sh
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tools/generate_test_check_script.py"
+ (("#!/bin/sh")
+ (string-append "#!"
+ (search-input-file inputs "bin/sh"))))))
+ (add-after 'patch-source-shebangs 'build-muon-bootstrap
+ (lambda _
+ (setenv "CC"
+ #$(cc-for-target))
+ (setenv "CFLAGS" "-DBOOTSTRAP_NO_SAMU")
+ (invoke "./bootstrap.sh" "build")))
+ (add-after 'build-muon-bootstrap 'setup-muon-bootstrap-as-meson
+ (lambda _
+ (mkdir "bin")
+ (symlink "../build/muon-bootstrap" "bin/meson")
+ (setenv "PATH"
+ (string-append (getcwd) "/bin:"
+ (getenv "PATH"))))))))
+ (native-inputs (list samurai))
+ (inputs (list bash-minimal pkgconf))
+ (native-search-paths
+ (list $PKG_CONFIG_PATH))
+ (home-page "https://muon.build/")
+ (synopsis "Meson build system alternative implementation in C99")
+ (description "Muon is an implementation of the meson build system in c99
with minimal dependencies.")
- (license license:gpl3)))) ;for the combined work
+ (license license:gpl3)))
(define-public muon-as-meson-wrapper
(package/inherit muon
(name "muon-as-meson-wrapper")
(build-system trivial-build-system)
- (arguments
- (list #:builder
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
- (let ((bindir (string-append #$output "/bin"))
- (samu (string-append #$(this-package-input "muon")
- "/bin/muon")))
- (mkdir-p bindir)
- (symlink samu (string-append bindir "/meson")))))))
+ (arguments (list #:builder (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix
+ build
+ utils))
+ (let ((bindir (string-append #$output
+ "/bin"))
+ (samu (string-append #$
+ (this-package-input
+ "muon")
+ "/bin/muon")))
+ (mkdir-p bindir)
+ (symlink samu
+ (string-append
+ bindir
+ "/meson")))))))
(inputs (list muon))
- (description "This package provides the @command{meson} command,
+ (description
+ "This package provides the @command{meson} command,
implemented as a symbolic link to the @command{muon} command of @code{muon}
package.")))
@@ -710,7 +694,7 @@ (define-public tup
(define-public osc
(package
(name "osc")
- (version "0.172.0")
+ (version "0.19.0")
(source
(origin
(method git-fetch)
@@ -719,7 +703,7 @@ (define-public osc
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1sqdnkka3c6b6hwnrmlwrgy7w62cp8raq8mph9pgd2lydzzbvwlp"))))
+ (base32 "09an4c5gjc99a6bfy4ax5yyng14v7b4fknkdzwl0hn89q5990xab"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -772,30 +756,28 @@ (define-public compdb
(define-public compiledb
(package
(name "compiledb")
- (version "0.10.1")
+ (version "0.10.7")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "compiledb" version))
- (sha256
- (base32 "0vlngsdxfakyl8b7rnvn8h3l216lhbrrydr04yhy6kd03zflgfq6"))))
- (build-system python-build-system)
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "compiledb" version))
+ (sha256
+ (base32 "0wc2mzb3cpqkph9a6pfvpiri9dzn3g2cs8hsl5a7d5xn2242sxcp"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'no-compat-shim-dependency
- ;; shutilwhich is only needed for python 3.3 and earlier
- (lambda _
- (substitute* "setup.py" (("^ *'shutilwhich'\n") ""))
- (substitute* "compiledb/compiler.py" (("shutilwhich") "shutil")))))))
- (propagated-inputs
- (list python-bashlex python-click))
- (native-inputs
- (list python-pytest))
- (home-page
- "https://github.com/nickdiego/compiledb")
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'avoid-bin-echo
+ ;; absolute path '/bin/echo' is used in tests.
+ ;; changing that to 'echo'
+ (lambda _
+ (substitute* "tests/data/multiple_commands_oneline.txt"
+ (("/bin/echo")
+ (which "echo"))))))))
+ (propagated-inputs (list python-bashlex python-click))
+ (native-inputs (list python-setuptools python-wheel python-pytest))
+ (home-page "https://github.com/nickdiego/compiledb")
(synopsis
- "Generate Clang JSON Compilation Database files for make-based build systems")
+ "Generate Clang JSON Compilation Database files for make-based build systems")
(description
"@code{compiledb} provides a @code{make} python wrapper script which,
besides executing the make build command, updates the JSON compilation
@@ -844,29 +826,31 @@ (define-public build
(license license:gpl2+)))
(define-public genie
- (let ((commit "22cc907a4351db46c55f73e6aa901f1b2f0c52ad")
+ (let ((commit "bf3bf3f051a5f829e9f77d792c169ff866528f8d")
(revision "0"))
(package
(name "genie")
- (version (git-version "1170" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bkaradzic/genie")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1wxhbdnr52qa2xr1i83577mwr25fxr5vby4r7m5brp9z5a08fwry"))))
+ (version (git-version "1190" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/genie")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18vdlcfbhynbp6h7g98hdy6gmwrgzyv3nl3dbx70kkf8ph4r2xk2"))))
(build-system gnu-build-system)
(arguments
- (list #:phases #~(modify-phases %standard-phases
- (delete 'configure)
- (replace 'install
- (lambda _
- (install-file "bin/linux/genie"
- (string-append #$output "/bin")))))
- #:tests? #f)) ;no tests
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "bin/linux/genie"
+ (string-append #$output "/bin")))))
+ #:tests? #f)) ;no tests
(home-page "https://github.com/bkaradzic/genie")
(synopsis "Project generator")
(description
@@ -1093,16 +1077,16 @@ (define-public gnulib
(define-public pdpmake
(package
(name "pdpmake")
- (version "1.4.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rmyorston/pdpmake")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0fjx5imd7s0h0yy8h2qc4vkdq7kxqcljnrw6h8n88720xha5z3cb"))))
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rmyorston/pdpmake")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1aka7iyrg97w9bayj7pp3cbx3fg3awmc1s4qhxj7zia8fcmzx6kr"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1110,8 +1094,10 @@ (define-public pdpmake
#:parallel-tests? #f
#:make-flags
#~(list "DESTDIR=\"\""
- (string-append "CC=" #$(cc-for-target))
- (string-append "PREFIX=" #$output))
+ (string-append "CC="
+ #$(cc-for-target))
+ (string-append "PREFIX="
+ #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure))))
@@ -425,22 +425,22 @@ (define-public cmake
(define-public cmake-next
(package
(inherit cmake)
- (version "4.0.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://cmake.org/files/v"
- (version-major+minor version)
- "/cmake-" version ".tar.gz"))
- (sha256
- (base32
- "1q9119wg68vz3ki4g3yw3dkb90zpbr13vy2raar21rb31vhafc6n"))))
- (native-inputs
- (modify-inputs (package-native-inputs cmake)
- ;; Avoid circular dependency with (gnu packages debug). Note: cppdap
- ;; is built with cmake, so when the default cmake is updated to this
- ;; version this circular dependency will need to be worked around.
- (prepend (module-ref (resolve-interface '(gnu packages debug))
- 'cppdap))))))
+ (version "4.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://cmake.org/files/v"
+ (version-major+minor version) "/cmake-" version
+ ".tar.gz"))
+ (sha256
+ (base32 "1yrzkwkr2nxl8hcjkk333l9ycbw9prkg363k4km609kknyvkfdcd"))))
+ (native-inputs (modify-inputs (package-native-inputs cmake)
+ ;; Avoid circular dependency with (gnu packages debug). Note: cppdap
+ ;; is built with cmake, so when the default cmake is updated to this
+ ;; version this circular dependency will need to be worked around.
+ (prepend (module-ref (resolve-interface '(gnu packages
+ debug))
+ 'cppdap))))))
(define-public cmake-minimal-3.30
(package
@@ -635,7 +635,7 @@ (define-public tinycmmc
(define-public cpm-cmake
(package
(name "cpm-cmake")
- (version "0.38.6")
+ (version "0.42.0")
(source
(origin
(method git-fetch)
@@ -644,11 +644,12 @@ (define-public cpm-cmake
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1qbbhdq6cz2y7qfyy1k11i98d13s229r3phd5y3n5maq51ky8bgb"))))
+ (base32 "0c28y8n1n6li5x73lfyb2vyd147d3lnc3iqbzay3ls8msqpz9983"))))
(build-system copy-build-system)
(arguments
(list
- #:install-plan #~'(("cmake/CPM.cmake" "lib/cmake/CPM.cmake"))))
+ #:install-plan
+ #~'(("cmake/CPM.cmake" "lib/cmake/CPM.cmake"))))
(home-page "https://github.com/cpm-cmake/CPM.cmake")
(synopsis "Package manager for CMake")
(description "CPM.cmake is a cross-platform CMake script that adds
@@ -2053,7 +2053,7 @@ (define-public beancount-3
(version "3.1.0")
(source
(origin
- (method git-fetch) ; Pypi archive doesn't contain the test suite.
+ (method git-fetch) ;Pypi archive doesn't contain the test suite.
(uri (git-reference
(url "https://github.com/beancount/beancount")
(commit version)))
@@ -2069,25 +2069,23 @@ (define-public beancount-3
#:test-flags
#~(list
;; run tests against the built library
- "--pyargs" "beancount"
+ "--pyargs"
+ "beancount"
;; disable tests supposed to run from the source repo
- "-k" "not test_export_basic and not test_example_files")))
+ "-k"
+ "not test_export_basic and not test_example_files")))
(build-system pyproject-build-system)
- (native-inputs
- (list bison
- flex
- gnupg
- meson
- ninja
- python-meson-python
- python-pytest
- python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-bottle
- python-click
- python-dateutil
- python-regex))
+ (native-inputs (list bison
+ flex
+ gnupg
+ meson
+ ninja
+ meson-python
+ python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs (list python-bottle python-click python-dateutil
+ python-regex))
(home-page "https://beancount.github.io/")
(synopsis "Command-line double-entry accounting tool")
(description
@@ -36,42 +36,55 @@ (define-module (gnu packages ninja)
(define-public ninja
(package
(name "ninja")
- (version "1.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ninja-build/ninja")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "14kshkxdn833nkz2qkzb3w531dcqj6haad90gxj70ic05lb7zx9f"))))
+ (version "1.13.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ninja-build/ninja")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vil4mz0h1z39d2airzdi8cia8xhn3n5p94pv4sd3mqk0pkha40s"))))
(build-system gnu-build-system)
- (inputs (list python-wrapper))
+ (inputs (list python-wrapper
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url
+ "https://github.com/google/googletest")
+ (commit "v1.17.0")))
+ (file-name (string-append "gtest-source-for-ninja-"
+ version))
+ (sha256 (base32
+ "1zn701fgmbk29y45p49sajaswm01i2bv89ds2kkbiq8i0p2cr08w")))))
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda _
- (substitute* "src/subprocess-posix.cc"
- (("/bin/sh") (which "sh")))
- (substitute* "src/subprocess_test.cc"
- (("/bin/echo") (which "echo")))))
- (replace 'build
- (lambda _
- (invoke "./configure.py" "--bootstrap")))
- (replace 'check
- (lambda _
- (invoke "./configure.py")
- (invoke "./ninja" "ninja_test")
- (invoke "./ninja_test")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (doc (string-append out "/share/doc/ninja")))
- (install-file "ninja" bin)
- (install-file "doc/manual.asciidoc" doc)))))))
+ '(#:phases (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (setenv "CXXFLAGS" "-std=gnu++17")
+ (substitute* "src/subprocess-posix.cc"
+ (("/bin/sh")
+ (which "sh")))
+ (substitute* "src/subprocess_test.cc"
+ (("/bin/echo")
+ (which "echo")))))
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "./configure.py" "--bootstrap"
+ (string-append "--gtest-source-dir="
+ (search-input-directory inputs
+ "googletest") "/.."))))
+ (replace 'check
+ (lambda _
+ (invoke "./ninja" "ninja_test")
+ (invoke "./ninja_test")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/ninja")))
+ (install-file "ninja" bin)
+ (install-file "doc/manual.asciidoc" doc)))))))
(home-page "https://ninja-build.org/")
(synopsis "Small build system")
(description
@@ -911,4 +911,3 @@ (define-public python-pdm-backend
"PDM-Backend is a build backend that supports the latest packaging
standards, which includes PEP 517, PEP 621 and PEP 660.")
(license license:expat)))
-
@@ -2822,7 +2822,7 @@ (define-public python-scikit-misc
(native-inputs (list gfortran
pkg-config
python-cython-3
- python-meson-python
+ meson-python
python-numpy
python-pytest
python-pytest-cov
@@ -13053,7 +13053,7 @@ (define-public python-pywavelets
ninja
pkg-config
python-cython-3
- python-meson-python
+ meson-python
python-numpy
python-pytest))
(propagated-inputs
@@ -16381,17 +16381,16 @@ (define-public python-pep517
(define-public python-pyproject-metadata
(package
(name "python-pyproject-metadata")
- (version "0.7.1")
+ (version "0.9.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/FFY00/python-pyproject-metadata")
+ (url "https://github.com/pypa/python-pyproject-metadata")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0yvs59ymz5gdix34a95wxlxvk9bnvjgrzsnmnc3ws7whpfv3yasm"))))
+ (base32 "14vwnzzpyq0raqq26vw8s4k27dcyicxpb2wkg4xxwjp2cixgshzm"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -16400,11 +16399,16 @@ (define-public python-pyproject-metadata
;; tests' regular expressions no longer match.
'(list "--ignore=tests/test_standard_metadata.py")))
(propagated-inputs (list python-packaging))
- (native-inputs (list python-pypa-build python-pytest python-setuptools
- python-tomli python-wheel))
- (home-page "https://github.com/FFY00/python-pyproject-metadata")
+ (native-inputs (list python-pypa-build
+ python-pytest
+ python-setuptools
+ python-tomli
+ python-wheel
+ python-flit-core))
+ (home-page "https://github.com/pypa/python-pyproject-metadata")
(synopsis "Dataclass for PEP 621 metadata")
- (description "This project does not implement the parsing of
+ (description
+ "This project does not implement the parsing of
@file{pyproject.toml} containing PEP 621 metadata. Instead, given a Python
data structure representing PEP 621 metadata (already parsed), it will
validate this input and generate a PEP 643-compliant metadata
@@ -16415,24 +16419,6 @@ (define-public python-pyproject-metadata
(define-public python-pep621
(deprecated-package "python-pep621" python-pyproject-metadata))
-(define-public python-meson-python
- (package
- (name "python-meson-python")
- (version "0.15.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "meson_python" version))
- (sha256
- (base32 "0vyjhjabvm41hqijifk33idbdl62i76kfyf884f9rs29rpp77nzx"))))
- (build-system meson-build-system)
- (propagated-inputs (list python-pyproject-metadata python-tomli))
- (home-page "https://github.com/mesonbuild/meson-python")
- (synopsis "Meson Python build backend (PEP 517)")
- (description "This package provides a PEP 517 build backend that makes
-use of the Meson build system.")
- (license license:expat)))
-
(define-public python-mccabe
(package
(name "python-mccabe")
@@ -31737,7 +31723,7 @@ (define-public python-dbus-python
(("(ninja|patchelf)") "")))))))
(native-inputs
(list pkg-config
- python-meson-python
+ meson-python
meson
ninja
patchelf
@@ -40168,6 +40154,27 @@ (define-public pythoncapi-compat
base, via the @file{pythoncapi_compat.h} header file.")
(license license:bsd-0))))
+(define-public meson-python
+ (package
+ (name "meson-python")
+ (version "0.18.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "meson_python" version))
+ (sha256
+ (base32 "13c44f765h89hwidn53c20a4nvmg441rcipyc83a8sgnkpn9jsn5"))))
+ (build-system meson-build-system)
+ (propagated-inputs (list python-pyproject-metadata python-tomli))
+ (home-page "https://github.com/mesonbuild/meson-python")
+ (synopsis "Meson Python build backend (PEP 517)")
+ (description "This package provides a PEP 517 build backend that makes
+use of the Meson build system.")
+ (license license:expat)))
+
+(define-public python-meson-python
+ (deprecated-package "python-meson-python" meson-python))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
--
2.50.1