guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 03/03: maint: Add variants of the default package for Gu


From: Ludovic Courtès
Subject: [Guile-commits] 03/03: maint: Add variants of the default package for Guix.
Date: Sun, 29 Jan 2023 11:54:03 -0500 (EST)

civodul pushed a commit to branch wip-cuirass-ci
in repository guile.

commit 634f5f2d3d03be87dcffc81b8e652544a9c2cced
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sun Jan 29 17:51:51 2023 +0100

    maint: Add variants of the default package for Guix.
    
    * build-aux/guix/guile-package.scm (package-with-configure-flags): New
    procedure.
    (guile-without-threads, guile-without-networking)
    (guile-debug, guile-strict-typing): New variables.
    * build-aux/manifest.scm: Use (guile-package) module instead of 'load'.
    (native-builds): Add the variants above + "guile-clang".
---
 build-aux/guix/guile-package.scm | 38 +++++++++++++++++++++++++++++++++++---
 build-aux/manifest.scm           | 30 +++++++++++++++++++++---------
 2 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/build-aux/guix/guile-package.scm b/build-aux/guix/guile-package.scm
index 827ef5ef8..65c225d16 100644
--- a/build-aux/guix/guile-package.scm
+++ b/build-aux/guix/guile-package.scm
@@ -40,10 +40,9 @@
   #:use-module (guix build-system gnu)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
-  #:use-module (gnu packages pkg-config)
-  #:export (guile))
+  #:use-module (gnu packages pkg-config))
 
-(define guile
+(define-public guile
   (let ((vcs-file? (or (git-predicate
                         (string-append (current-source-directory)
                                        "/../.."))
@@ -147,4 +146,37 @@ without requiring the source code to be rewritten.")
       (home-page "https://www.gnu.org/software/guile/";)
       (license license:lgpl3+))))
 
+(define (package-with-configure-flags p flags)
+  "Return P with FLAGS as addition 'configure' flags."
+  (package/inherit p
+    (arguments
+     (substitute-keyword-arguments (package-arguments p)
+       ((#:configure-flags original-flags #~'())
+        #~(append #$original-flags #$flags))))))
+
+(define-public guile-without-threads
+  (package
+    (inherit (package-with-configure-flags guile
+                                           #~'("--without-threads")))
+    (name "guile-without-threads")))
+
+(define-public guile-without-networking
+  (package
+    (inherit (package-with-configure-flags guile
+                                           #~'("--disable-networking")))
+    (name "guile-without-networking")))
+
+(define-public guile-debug
+  (package
+    (inherit (package-with-configure-flags guile
+                                           #~'("--enable-guile-debug")))
+    (name "guile-debug")))
+
+(define-public guile-strict-typing
+  (package
+    (inherit (package-with-configure-flags
+              guile
+              #~'("CPPFLAGS=-DSCM_DEBUG_TYPING_STRICTNESS=2")))
+    (name "guile-strict-typing")))
+
 guile
diff --git a/build-aux/manifest.scm b/build-aux/manifest.scm
index 5699f80f4..0a25b2925 100644
--- a/build-aux/manifest.scm
+++ b/build-aux/manifest.scm
@@ -19,10 +19,8 @@
 ;; integration service running at <https://ci.guix.gnu.org>.
 
 (use-modules (guix)
-             (guix profiles))
-
-(define guile
-  (load "../guix.scm"))
+             (guix profiles)
+             (guile-package))
 
 (define* (package->manifest-entry* package system
                                    #:key target)
@@ -40,11 +38,25 @@ TARGET."
 
 (define native-builds
   (manifest
-   (map (lambda (system)
-          (package->manifest-entry* guile system))
-        '("x86_64-linux" "i686-linux"
-          "aarch64-linux" "armhf-linux"
-          "powerpc64le-linux"))))
+   (append (map (lambda (system)
+                  (package->manifest-entry* guile system))
+
+                '("x86_64-linux" "i686-linux"
+                  "aarch64-linux" "armhf-linux"
+                  "powerpc64le-linux"))
+           (map (lambda (guile)
+                  (package->manifest-entry* guile "x86_64-linux"))
+                (cons (package
+                        (inherit (package-with-c-toolchain
+                                  guile
+                                  `(("clang-toolchain"
+                                     ,(specification->package
+                                       "clang-toolchain")))))
+                        (name "guile-clang"))
+                      (list guile-without-threads
+                            guile-without-networking
+                            guile-debug
+                            guile-strict-typing))))))
 
 (define cross-builds
   (manifest



reply via email to

[Prev in Thread] Current Thread [Next in Thread]