guix-commits
[Top][All Lists]
Advanced

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

11/11: gnu: pkg-config: Alias to pkgconf-as-pkg-config.


From: guix-commits
Subject: 11/11: gnu: pkg-config: Alias to pkgconf-as-pkg-config.
Date: Fri, 2 Feb 2024 09:50:19 -0500 (EST)

apteryx pushed a commit to branch wip-cu-switch-to-pkgconf
in repository guix.

commit 1ebdd93e655eac0eda03dce35697fe16cb88d354
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Wed Jan 31 11:57:11 2024 -0500

    gnu: pkg-config: Alias to pkgconf-as-pkg-config.
    
    This switches the default pkg-config implementation used in Guix to pkgconf.
    
    * gnu/packages/pkg-config.scm (pkg-config): Define as pkgconf-as-pkg-config.
    (%pkgconf-with-tests): Renamed from %pkgconf.
    (%pkgconf): New minimal variant to avoid circular dependencies for bootstrap
    sensitive packages.
    (%pkgconf-as-pkg-config): Delete now inherited hidden property.
    
    Change-Id: Id2b9f40f8f09babae9c6dfc47d1de071ce78e011
---
 gnu/packages/pkg-config.scm | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index 17b3358dfd..3056921232 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -31,7 +31,9 @@
   #:use-module (gnu packages bash)
   #:use-module (gnu packages check)
   #:use-module (guix memoization)
-  #:export (pkg-config
+  #:use-module (srfi srfi-1)
+  #:export (old-pkg-config              ;the original
+            pkg-config                  ;alias for pkgconf-as-pkg-config
             pkgconf
             pkgconf-as-pkg-config))
 
@@ -89,7 +91,9 @@ on where to find glib (or other libraries).  It is 
language-agnostic, so
 it can be used for defining the location of documentation tools, for
 instance.")))
 
-(define-public %pkgconf
+;;; This is the package exposed to the CLI, to ease updates via 'guix
+;;; refresh'.
+(define-public %pkgconf-with-tests
   (package
     (name "pkgconf")
     (version "2.1.0")
@@ -119,6 +123,13 @@ such as compilers and IDEs to discover and use libraries 
configured by
 pkgconf.")
     (license isc)))
 
+;;; This is the minimal, untested variant used to avoid circular dependencies.
+(define-public %pkgconf
+  (hidden-package
+   (package/inherit %pkgconf-with-tests
+     (arguments (list #:tests? #f))
+     (native-inputs '()))))
+
 (define-public %pkgconf-as-pkg-config
   (package
     (inherit %pkgconf)
@@ -141,7 +152,8 @@ pkgconf.")
                      (string-append #$output "/share/aclocal"))))))
     (native-inputs '())
     (inputs '())
-    (propagated-inputs '())))
+    (propagated-inputs '())
+    (properties (alist-delete 'hidden? (package-properties %pkgconf)))))
 
 
 ;;;
@@ -216,7 +228,7 @@ GNU triplet."
 ;; These are a hacks for automatically choosing the native or the cross
 ;; `pkg-config' depending on whether it's being used in a cross-build
 ;; environment or not.
-(define-syntax pkg-config
+(define-syntax old-pkg-config
   (identifier-syntax (pkg-config-for-target (%current-target-system))))
 
 (define-syntax pkgconf
@@ -226,6 +238,11 @@ GNU triplet."
   (identifier-syntax (pkgconf-as-pkg-config-for-target
                       (%current-target-system))))
 
+;;; This alias is to ensure we use pkgconf instead of pkg-config across Guix,
+;;; which includes welcome refinements such as proper handling of the
+;;; Requires.private field.
+(define pkg-config pkgconf-as-pkg-config)
+
 
 ;;;
 ;;; pkg-config packages for native use (build-time only).



reply via email to

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