From 2d6e9b7b52109180b8a46e085b6eb61bd5776d66 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sun, 5 Oct 2025 14:53:00 +0100 Subject: [PATCH] gnu: python-waf: Move to build-tools. * gnu/packages/python-xyz.scm (python-waf): Move from here ... * gnu/packages/build-tools.scm: ... to here. * gnu/packages/fltk.scm: Add build-tools module. * gnu/packages/ntp.scm: Likewise. * gnu/packages/wxwidgets.scm: Likewise. Change-Id: Iedf10b92b4785f19fbf30c6886c0f1c541925698 --- gnu/packages/build-tools.scm | 43 +++++++++++++++++++++++++++++++++++- gnu/packages/fltk.scm | 1 + gnu/packages/ntp.scm | 1 + gnu/packages/python-xyz.scm | 37 ------------------------------- gnu/packages/wxwidgets.scm | 1 + 5 files changed, 45 insertions(+), 38 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 8a244893f1b64c2f77183bd6beaf4f8542d56681..0b22b8a7ba303b84169720d477ee8cbc1b1a5626 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -1,17 +1,21 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 宋文武 +;;; Copyright © 2016, 2018, 2020, 2023 Efraim Flashner ;;; Copyright © 2017, 2018, 2024 Ricardo Wurmus ;;; Copyright © 2017 Corentin Bocquillon ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Fis Trivial +;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2018 Mark H Weaver ;;; Copyright © 2018 Tomáš Čech ;;; Copyright © 2018, 2020 Marius Bakke ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2019, 2020 Brett Gilio ;;; Copyright © 2019 Jonathan Brielmaier +;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Liliana Marie Prikler ;;; Copyright © 2020 Yuval Kogman ;;; Copyright © 2020 Jakub Kądziołka -;;; Copyright © 2020, 2023 Efraim Flashner ;;; Copyright © 2021 qblade ;;; Copyright © 2021, 2023, 2024, 2025 Maxim Cournoyer ;;; Copyright © 2022, 2023 Juliana Sims @@ -1234,3 +1238,40 @@ maintaining, updating, and regenerating programs. It is inspired by the POSIX make utility and allows writing a build script in Guile Scheme.") (license license:expat)))) + +(define-public python-waf + (package + (name "python-waf") + (version "2.0.19") ;TODO: newer version brakes API + (source + (origin + (method url-fetch) + (uri (string-append "https://waf.io/" "waf-" version ".tar.bz2")) + (sha256 + (base32 "19dvqbsvxz7ch03dh1v0znklrwxlz6yzddc3k9smzrrgny4jch6q")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-backend #~'custom + ;; TODO: Project provides integration tests, see + ;; <.pipelines/Jenkinsfile> how to run them. + #:test-flags #~(list "waf" "--version") + #:phases + #~(modify-phases %standard-phases + (replace 'build + (lambda _ + ;; XXX: Find a way to add all extra tools. + (let ((tools '("gccdeps" "clang_compilation_database"))) + (invoke "python" "waf-light" "configure" "build" + (string-append "--tools=" (string-join tools ",")))))) + (replace 'install + (lambda _ + (install-file "waf" (string-append #$output "/bin")))) + ;; waf breaks when it is wrapped. + (delete 'wrap)))) + (home-page "https://waf.io/") + (synopsis "Python-based build system") + (description + "Waf is a Python-based framework for configuring, compiling and +installing applications.") + (license license:bsd-3))) diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index 6ee675778c2aef177afa727c4460bca9bb31ad96..bc3ad5686470ad98c1e93bfdfe4a9c6ecc30c515 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -26,6 +26,7 @@ #:use-module ((guix licenses) #:select (lgpl2.0 lgpl2.0+)) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages build-tools) #:use-module (gnu packages compression) #:use-module (gnu packages image) #:use-module (gnu packages xorg) diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 2f9a98618aff99bd7899d4bfbcb8ef26440dae2a..88bb2585de2c9699f7ea0b1e96582bb79541e6f4 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -34,6 +34,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages build-tools) #:use-module (gnu packages gps) #:use-module (gnu packages guile) #:use-module (gnu packages libevent) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 78caacf10f66b25485a8002e8c3941c828ebc82e..3798c04f69797ad77c25a8b1b988bcdb307174de 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -16476,43 +16476,6 @@ This is due, for the most part, to the difference between str in Python 2 and Python 3.") (license license:psfl))) -(define-public python-waf - (package - (name "python-waf") - (version "2.0.19") ;TODO: newer version brakes API - (source - (origin - (method url-fetch) - (uri (string-append "https://waf.io/" "waf-" version ".tar.bz2")) - (sha256 - (base32 "19dvqbsvxz7ch03dh1v0znklrwxlz6yzddc3k9smzrrgny4jch6q")))) - (build-system pyproject-build-system) - (arguments - (list - #:test-backend #~'custom - ;; TODO: Project provides integration tests, see - ;; <.pipelines/Jenkinsfile> how to run them. - #:test-flags #~(list "waf" "--version") - #:phases - #~(modify-phases %standard-phases - (replace 'build - (lambda _ - ;; XXX: Find a way to add all extra tools. - (let ((tools '("gccdeps" "clang_compilation_database"))) - (invoke "python" "waf-light" "configure" "build" - (string-append "--tools=" (string-join tools ",")))))) - (replace 'install - (lambda _ - (install-file "waf" (string-append #$output "/bin")))) - ;; waf breaks when it is wrapped. - (delete 'wrap)))) - (home-page "https://waf.io/") - (synopsis "Python-based build system") - (description - "Waf is a Python-based framework for configuring, compiling and -installing applications.") - (license license:bsd-3))) - (define-public python-pyzmq (package (name "python-pyzmq") diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index d7fb7543d8f0caf31d5e0b358e1e551d1240cea2..eb34ba74bc795389163b7e6fa13765ea46f31301 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -42,6 +42,7 @@ #:use-module (guix build-system python) #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages compression)