diff options
Diffstat (limited to 'gnu/packages/build-tools.scm')
-rw-r--r-- | gnu/packages/build-tools.scm | 109 |
1 files changed, 66 insertions, 43 deletions
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 21df25e4f5..79623513d3 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; Copyright © 2021, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org> +;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +42,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) + #:use-module (guix build-system guile) #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) @@ -54,6 +56,7 @@ #:use-module (gnu packages cppi) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) + #:use-module (gnu packages guile) #:use-module (gnu packages linux) #:use-module (gnu packages lisp) #:use-module (gnu packages logging) @@ -293,7 +296,7 @@ files and generates build instructions for the Ninja build system.") (define-public meson (package (name "meson") - (version "1.2.1") + (version "1.5.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -301,7 +304,7 @@ files and generates build instructions for the Ninja build system.") version ".tar.gz")) (sha256 (base32 - "1x9rnrbwvzhnzmz4zqag44w06khks8wckcajxsbr8m4760akmnxi")))) + "02wi62k9w7716xxdgrrx68q89vaq3ncnbpw5ms0g27npn2df0mgr")))) (build-system python-build-system) (arguments (list #:tests? #f ;disabled to avoid extra dependencies @@ -329,63 +332,37 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that resembles Python.") (license license:asl2.0))) -(define-public meson-1.5 - (package - (inherit meson) - (version "1.5.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mesonbuild/meson/" - "releases/download/" version "/meson-" - version ".tar.gz")) - (sha256 - (base32 - "1vab706pw1q17vh9rbsmlirgiji3k6wljl735lxffp95vwx56zjn")))))) - (define-public meson-python (package (name "meson-python") - (version "0.15.0") + (version "0.17.1") (source (origin (method url-fetch) (uri (pypi-uri "meson_python" version)) (sha256 (base32 - "0vyjhjabvm41hqijifk33idbdl62i76kfyf884f9rs29rpp77nzx")))) + "10szxcqgki4zwkrwmsirdg68h03k9qmfswd4r5xyz7p1y9lizfgg")))) (build-system pyproject-build-system) (arguments - ;; The project is configured to use itself to build ('mesonpy') and fails; - ;; use another PEP 517 build system. - (list #:build-backend "setuptools.build_meta" - #:test-flags #~(list "tests" + (list #:test-flags #~(list "tests" ;; The test_pep518 tries to install ;; dependencies from the network using pip. - "-k" "not test_pep518") - #:phases - '(modify-phases %standard-phases - ;; This additional top directory confuses setuptools. We could - ;; work around this by overriding the detection of the project - ;; directory, but deleting this directory is easier. - (add-after 'unpack 'delete-directory - (lambda _ (delete-file-recursively "LICENSES")))))) + "-k" "not test_pep518"))) (propagated-inputs (list meson ninja python-colorama - python-cython + python-cython-3 python-pyproject-metadata python-tomli python-typing-extensions python-wheel)) (native-inputs - (list python-pypa-build - python-wheel - - ;; For tests. + (list ;; For tests. git-minimal/pinned patchelf pkg-config - python-cython + python-cython-3 python-gitpython python-pytest python-pytest-cov @@ -942,14 +919,7 @@ Makefiles, JSON Compilation Database, and experimentally Ninja.") "Scripts.txt" "Blocks.txt") (list - #$(origin - (method url-fetch) - (uri (string-append - "https://www.unicode.org/Public/" - "3.0-Update1/PropList-3.0.1.txt")) - (sha256 - (base32 - "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) + #$(this-package-native-input "PropList.txt")) (find-ucd-files "BidiMirroring.txt" "EastAsianWidth.txt" "LineBreak.txt" @@ -982,6 +952,15 @@ Makefiles, JSON Compilation Database, and experimentally Ninja.") bash-minimal python perl clisp ;; Unicode data: ucd + (origin + (method url-fetch) + (uri (string-append + "https://www.unicode.org/Public/" + "3.0-Update1/PropList-3.0.1.txt")) + (file-name "PropList.txt") + (sha256 + (base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh"))) ;; Programs for the tests: cppi indent git-minimal/pinned autoconf)) (home-page "https://www.gnu.org/software/gnulib/") @@ -1042,3 +1021,47 @@ with GNU make.") ;; pdpmake is distributed under the public domain, but the sources include ;; tests under the GPL license version 2. (license (list license:gpl2 license:public-domain)))) + +(define-public potato-make + ;; No releases. + (let ((commit "e8c09ce1f6a33c013b27961b0a07f991db33e6fb") + (revision "0")) + (package + (name "potato-make") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spk121/potato-make") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0axgrkqdfip5f2bp7d2dprd74g58lyc0c7lgg2m93k5jqn1lpbmj")) + ;; Delete files of the seemingly unfinished pmake program. + (snippet '(begin + (delete-file "pmake") + (delete-file "documents/pmake.org") + (delete-file "make/main.scm") + (rmdir "documents") + (rmdir "make"))))) + (build-system guile-build-system) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (add-after 'build 'check + (lambda _ + ;; Delete test referencing nonexistent file. + (delete-file "tests/parse.sh") + (for-each (lambda (f) + (invoke "guile" "-L" "." "-s" f)) + (find-files "tests"))))))) + (native-inputs (list guile-3.0)) + (home-page "https://github.com/spk121/potato-make") + (synopsis "Library to write makefiles in Guile Scheme") + (description + "Potato Make is a Scheme library that aims to simplify the task of +maintaining, updating, and regenerating programs. It is inspired by +the POSIX make utility and allows to write a build script in Guile +Scheme.") + (license license:expat)))) |