M gnu/packages/build-tools.scm => gnu/packages/build-tools.scm +45 -0
@@ 384,6 384,51 @@ other lower-level build files.")
scripted definition of a software project and outputs @file{Makefile}s or
other lower-level build files.")))
+(define-public scons
+ (package
+ (name "scons")
+ (version "3.0.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SCons/scons")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xy8jrwz87y589ihcld4hv7wn122sjbz914xn8h50ww77wbhk8hn"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:use-setuptools? #f ; still relies on distutils
+ #:tests? #f ; no 'python setup.py test' command
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'bootstrap
+ (lambda _
+ (substitute* "src/engine/SCons/compat/__init__.py"
+ (("sys.modules\\[new\\] = imp.load_module\\(old, \\*imp.find_module\\(old\\)\\)")
+ "sys.modules[new] = __import__(old)"))
+ (substitute* "src/engine/SCons/Platform/__init__.py"
+ (("mod = imp.load_module\\(full_name, file, path, desc\\)")
+ "mod = __import__(full_name)"))
+ (invoke "python" "bootstrap.py" "build/scons" "DEVELOPER=guix")
+ (chdir "build/scons")
+ #t)))))
+ (home-page "https://scons.org/")
+ (synopsis "Software construction tool written in Python")
+ (description
+ "SCons is a software construction tool. Think of SCons as an improved,
+cross-platform substitute for the classic Make utility with integrated
+functionality similar to autoconf/automake and compiler caches such as ccache.
+In short, SCons is an easier, more reliable and faster way to build
+software.")
+ (license license:x11)))
+
+(define-public scons-python2
+ (package
+ (inherit (package-with-python2 scons))
+ (name "scons-python2")))
+
(define-public tup
(package
(name "tup")
M gnu/packages/direct-connect.scm => gnu/packages/direct-connect.scm +1 -1
@@ 25,12 25,12 @@
#:use-module (guix download)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages python-xyz)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control))
M gnu/packages/disk.scm => gnu/packages/disk.scm +1 -0
@@ 45,6 45,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
M gnu/packages/game-development.scm => gnu/packages/game-development.scm +1 -0
@@ 63,6 63,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages curl)
M gnu/packages/gps.scm => gnu/packages/gps.scm +1 -0
@@ 34,6 34,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
#:use-module (gnu packages glib)
M gnu/packages/image.scm => gnu/packages/image.scm +1 -0
@@ 58,6 58,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages cpp)
M gnu/packages/installers.scm => gnu/packages/installers.scm +1 -1
@@ 19,9 19,9 @@
(define-module (gnu packages installers)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
- #:use-module (gnu packages python-xyz)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system scons)
M gnu/packages/python-xyz.scm => gnu/packages/python-xyz.scm +0 -45
@@ 3047,51 3047,6 @@ user configuration files. It does not have support for serializing into YAML
and is not compatible with JSON.")
(license license:expat)))
-(define-public scons
- (package
- (name "scons")
- (version "3.0.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/SCons/scons")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xy8jrwz87y589ihcld4hv7wn122sjbz914xn8h50ww77wbhk8hn"))))
- (build-system python-build-system)
- (arguments
- `(#:use-setuptools? #f ; still relies on distutils
- #:tests? #f ; no 'python setup.py test' command
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'bootstrap
- (lambda _
- (substitute* "src/engine/SCons/compat/__init__.py"
- (("sys.modules\\[new\\] = imp.load_module\\(old, \\*imp.find_module\\(old\\)\\)")
- "sys.modules[new] = __import__(old)"))
- (substitute* "src/engine/SCons/Platform/__init__.py"
- (("mod = imp.load_module\\(full_name, file, path, desc\\)")
- "mod = __import__(full_name)"))
- (invoke "python" "bootstrap.py" "build/scons" "DEVELOPER=guix")
- (chdir "build/scons")
- #t)))))
- (home-page "https://scons.org/")
- (synopsis "Software construction tool written in Python")
- (description
- "SCons is a software construction tool. Think of SCons as an improved,
-cross-platform substitute for the classic Make utility with integrated
-functionality similar to autoconf/automake and compiler caches such as ccache.
-In short, SCons is an easier, more reliable and faster way to build
-software.")
- (license license:x11)))
-
-(define-public scons-python2
- (package
- (inherit (package-with-python2 scons))
- (name "scons-python2")))
-
(define-public python-exceptiongroup
(package
(name "python-exceptiongroup")
M gnu/packages/web.scm => gnu/packages/web.scm +1 -0
@@ 107,6 107,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages bittorrent)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
M gnu/packages/xdisorg.scm => gnu/packages/xdisorg.scm +1 -0
@@ 93,6 93,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
M guix/build-system/scons.scm => guix/build-system/scons.scm +2 -2
@@ 45,8 45,8 @@
(define (default-scons)
"Return the default SCons package."
;; Lazily resolve the binding to avoid a circular dependency.
- (let ((python (resolve-interface '(gnu packages python-xyz))))
- (module-ref python 'scons)))
+ (let ((build-tools (resolve-interface '(gnu packages build-tools))))
+ (module-ref build-tools 'scons)))
(define* (lower name
#:key source inputs native-inputs outputs system target