~ruther/guix-local

2d6e9b7b52109180b8a46e085b6eb61bd5776d66 — Sharlatan Hellseher 7 months ago d2be5c1
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
M gnu/packages/build-tools.scm => gnu/packages/build-tools.scm +42 -1
@@ 1,17 1,21 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 宋文武 <iyzsong@envs.net>
;;; Copyright © 2016, 2018, 2020, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021, 2023, 2024, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>


@@ 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)))

M gnu/packages/fltk.scm => gnu/packages/fltk.scm +1 -0
@@ 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)

M gnu/packages/ntp.scm => gnu/packages/ntp.scm +1 -0
@@ 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)

M gnu/packages/python-xyz.scm => gnu/packages/python-xyz.scm +0 -37
@@ 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")

M gnu/packages/wxwidgets.scm => gnu/packages/wxwidgets.scm +1 -0
@@ 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)