diff mbox series

[bug#57625,v3,1/4] gnu: Add libgc-all-headers.

Message ID 01d10129-3aad-cf8e-7616-2718b465f70f@disroot.org
State New
Headers show
Series [bug#57625,v3,1/4] gnu: Add libgc-all-headers. | expand

Commit Message

Adam Faiz June 26, 2023, 1:17 p.m. UTC
From 94149f940fc7dd3c052cfa9765933303abb7a4ee Mon Sep 17 00:00:00 2001
Message-Id: <94149f940fc7dd3c052cfa9765933303abb7a4ee.1687784497.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Fri, 18 Nov 2022 07:39:38 +0800
Subject: [PATCH v3 1/4] gnu: Add libgc-all-headers.

* gnu/packages/bdw-gc.scm (libgc-all-headers): New variable.
---
 gnu/packages/bdw-gc.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)


base-commit: f25529b08e356f89ca7cecc44295085531a8faba
diff mbox series

Patch

diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 5ff4649716..a1a046ad9d 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -27,7 +27,9 @@  (define-module (gnu packages bdw-gc)
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix utils)
+  #:use-module (guix gexp)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system copy)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages hurd))
 
@@ -107,6 +109,33 @@  (define-public libgc
 
    (license (x11-style (string-append home-page "license.txt")))))
 
+(define-public libgc-all-headers ; TODO(core-updates) merge into libgc
+  (package
+    (inherit libgc)
+    (name "libgc-all-headers")
+    (outputs '("out"))
+    (build-system copy-build-system)
+    (arguments
+             (list #:install-plan
+                   #~'(("include/config.h.in" "include/private/config.h")
+                     ("include/gc_tiny_fl.h" "include/private/gc_tiny_fl.h")
+                     ("include/gc_mark.h" "include/private/gc_mark.h")
+                     ("include/private/gcconfig.h" "include/private/gcconfig.h")
+                     ("include/private/gc_hdrs.h" "include/private/gc_hdrs.h")
+                     ("include/private/gc_atomic_ops.h" "include/private/gc_atomic_ops.h")
+                     ("include/private/gc_locks.h" "include/private/gc_locks.h")
+                     ("include/private/gc_priv.h" "include/private/gc_priv.h"))
+                   #:phases
+                   #~(modify-phases %standard-phases
+                       (add-before 'install 'fix-headers
+                         (lambda _
+                           (with-directory-excursion "include/private"
+                             (substitute* "gc_priv.h"
+                               (("#include .*/gc_tiny_fl.h.") "#include <gc_tiny_fl.h>")
+                               (("#include .*/gc_mark.h.") "#include <gc_mark.h>"))))))))
+    (synopsis "Headers of libgc")
+    (description "All headers of libgc.")))
+
 ;; TODO: Add a static output in libgc in the next rebuild cycle.
 (define-public libgc/static-libs
   (package/inherit