unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxime Devos <maximedevos@telenet.be>
To: 50201@debbugs.gnu.org
Cc: Maxime Devos <maximedevos@telenet.be>
Subject: [bug#50201] [PATCH 45/52] gnu: Add pkg-config-for-build.
Date: Wed, 25 Aug 2021 20:03:25 +0200	[thread overview]
Message-ID: <20210825180332.5720-45-maximedevos@telenet.be> (raw)
In-Reply-To: <20210825180332.5720-1-maximedevos@telenet.be>

* gnu/packages/pkg-config.scm
  (pkg-config-for-build): New variable.
---
 gnu/packages/pkg-config.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index 9c632532be..9d1588338e 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,8 +22,10 @@
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (gnu packages bash)
   #:use-module (guix memoization)
   #:export (pkg-config))
 
@@ -130,3 +133,36 @@ build, or a GNU triplet."
 ;; environment or not.
 (define-syntax pkg-config
   (identifier-syntax (pkg-config-for-target (%current-target-system))))
+
+;; This hack allows for using both "pkg-config" and "TARGET-pkg-config"
+;; at the same time.  Simply using '%pkg-config' and 'pkg-config' won't
+;; work because they both use the "PKG_CONFIG_PATH" environment variable.
+(define-public pkg-config-for-build
+  (package
+    (inherit (hidden-package pkg-config))
+    (name "pkg-config-for-build")
+    (version "0")
+    (source #f)
+    (build-system trivial-build-system)
+    (inputs
+     `(("bash-minimal" ,bash-minimal)
+       ("pkg-config" ,%pkg-config)))
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       ,#~(begin
+            (use-modules (guix build utils))
+            (define where (string-append #$output "/bin/pkg-config"))
+            (mkdir-p (dirname where))
+            (call-with-output-file where
+              (lambda (port)
+                (format port "#!~a
+export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH_FOR_BUILD\"
+exec ~a \"$@\""
+                        (search-input-file %build-inputs "bin/bash")
+                        (search-input-file %build-inputs "bin/pkg-config"))))
+            (chmod where #o500))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "PKG_CONFIG_PATH_FOR_BUILD")
+            (files '("lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig")))))))
-- 
2.33.0





  parent reply	other threads:[~2021-08-25 18:11 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-25 17:55 [bug#50201] [PATCH core-updates-frozen 0/52] Support cross-compilation in glib-or-gtk-build-system and fix cross-compilation errors Maxime Devos
2021-08-25 18:02 ` [bug#50201] [PATCH 01/52] gnu: dbus-glib: Support cross-compilation Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 02/52] gnu: elogind: Make #:configure-flags a G-exp Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 03/52] gnu: elogind: Fix cross-compilation Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 04/52] gnu: libcap: Fix cross-compilation build failures Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 05/52] gnu: perl: Find 'bash' when cross-compiling Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 06/52] gnu: nspr: Adjust to Mozilla cross-compilation conventions Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 07/52] gnu: nspr: Don't retain references to native inputs Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 08/52] gnu: mozjs-60: Fix cross-compilation build errors Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 09/52] gnu: poppler: Find pkg-config when cross-compiling Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 10/52] build-system/meson: Allow 'configure-flags' to be a G-exp Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 11/52] build-system/glib-or-gtk: Support cross-compilaton Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 12/52] gnu: dbus-cairo: Add missing bash-minimal input Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 13/52] gnu: polkit: Prevent cross-compilation build error Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 14/52] gnu: gobject-introspection: Don't build introspection data when cross-compiling Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 15/52] gobject-introspection: Fix inputs " Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 16/52] gobject-introspection: Correct library name " Maxime Devos
2021-08-30 12:58     ` [bug#50201] [PATCH core-updates-frozen 0/52] Support cross-compilation in glib-or-gtk-build-system and fix cross-compilation errors Mathieu Othacehe
2021-09-03 12:35       ` Maxime Devos
2021-09-19 15:43         ` Mathieu Othacehe
2021-09-19 18:25           ` Maxime Devos
2021-09-20 11:22             ` bug#50201: " Mathieu Othacehe
2021-08-25 18:02   ` [bug#50201] [PATCH 17/52] gnu: atk: Disable introspection when cross-compiling Maxime Devos
2021-08-30 13:00     ` [bug#50201] [PATCH core-updates-frozen 0/52] Support cross-compilation in glib-or-gtk-build-system and fix cross-compilation errors Mathieu Othacehe
2021-08-30 16:45       ` Maxime Devos
2021-08-31  9:49         ` Mathieu Othacehe
2021-09-11 21:30           ` Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 18/52] gnu: bdb: Fix cross-compilation build errors Maxime Devos
2021-08-25 18:02   ` [bug#50201] [PATCH 19/52] gnu: graphene: Don't build introspection data when cross-compiling Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 20/52] gnu: gamin: Recognise aarch64 as architecture " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 21/52] gnu: gamin: Fix 'configure' script " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 22/52] gnu: iso-codes: Move inputs to native-inputs " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 23/52] gnu: heimdal: Fix inputs " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 24/52] gnu: heimdal: Fix linking error " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 25/52] gnu: heimdal: Refer to cross-compiled bash Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 26/52] gnu: heimdal: Use the cross-compiled bash in "su" Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 27/52] gnu: heimdal: Find tools when cross-compiling Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 28/52] gnu: heimdal: Use libcom_err from input " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 29/52] gnu: json-glib: Add missing 'bash-minimal' input Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 30/52] gnu: json-glib: Find docbook inputs when cross-compiling Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 31/52] gnu: json-glib: Don't build gtk documentation " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 32/52] gnu: json-glib: Don't build introspection data " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 33/52] gnu: libthai: Add datrie as native-input " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 34/52] gnu: libdaemon: Support cross-compilation to aarch64-linux-gnu Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 35/52] gnu: avahi: Find 'TARGET-pkg-config' when cross-compiling Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 36/52] gnu: avahi: Use the cross-compiled bash Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 37/52] gnu: at-spi2-core: Don't cross-compile documentation Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 38/52] gnu: at-spi2-core: Find docbook when cross-compiling Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 39/52] gnu: at-spi2-core: Add missing "bash-minimal" input Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 40/52] gnu: xorg: Unify --disable-malloc0-returnsnull code Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 41/52] gnu: libxinerama: Add --disable-malloc0-returnsnull when necessary Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 42/52] gnu: libxi: " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 43/52] gnu: libxrandr: " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 44/52] gnu: libxxf85vm: " Maxime Devos
2021-08-25 18:03   ` Maxime Devos [this message]
2021-08-30 13:13     ` [bug#50201] [PATCH core-updates-frozen 0/52] Support cross-compilation in glib-or-gtk-build-system and fix cross-compilation errors Mathieu Othacehe
2021-09-02 14:53       ` Maxime Devos
2021-09-22 19:10         ` Ludovic Courtès
2021-09-23 10:38           ` Maxime Devos
2021-09-23 16:53             ` Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 46/52] gnu: wayland: Find wayland-scanner when cross-compiling Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 47/52] gnu: wayland: Find docbook-xml " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 48/52] gnu: libproxy: Don't run tests " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 49/52] gnu: gdk-pixbuf: Find docbook " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 50/52] gnu: gdk-pixbuf: Add bash-minimal input " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 51/52] gnu: pango: " Maxime Devos
2021-08-25 18:03   ` [bug#50201] [PATCH 52/52] gnu: at-spi2-atk: Don't compile tests " Maxime Devos
2021-08-28 13:33 ` [bug#50201] [PATCH core-updates-frozen 0/52] Support cross-compilation in glib-or-gtk-build-system and fix cross-compilation errors Mathieu Othacehe
2021-08-30 12:16   ` Maxime Devos
2021-08-30 12:30     ` Mathieu Othacehe
2021-08-30 12:19 ` Maxime Devos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210825180332.5720-45-maximedevos@telenet.be \
    --to=maximedevos@telenet.be \
    --cc=50201@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).