aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/build-tools.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/build-tools.scm')
-rw-r--r--gnu/packages/build-tools.scm109
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))))