Subject: Re: [bug#57625] [PATCH 1/3] gnu: Add libgc-private-headers-for-pnet.

From: Maxime Devos <[email-masked]>
Date: Tue, 6 Sep 2022 18:55:56 +0200

On 06-09-2022 17:34, Adam Faiz via Guix-patches via wrote:
> +(define-public libgc-private-headers-for-pnet
> +  (hidden-package
> +   (package
> +     (name "libgc-private-headers")
> +     (version (package-version libgc))
> +     (source (origin
> +               (method url-fetch)
> +               (uri (string-append 
> "https://github.com/ivmai/bdwgc/releases"
> +                                   "/download/v" version "/gc-" 
> version ".tar.gz"))
> +               (sha256
> +                (base32
> + "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3")))) 

Try (source (package-source libgc)) instead.  That way, the hash and URL 
remains correct even if libgc is updated.

         '(("include/config.h.in" "include/private/config.h")

I'd think you need to install include/config.h instead (*).

+     (license (x11-style (string-append home-page "license.txt"))))))

(license (package-license libgc)), in case the license of libgc ever 
changes.

(*) Untested proposal:

(define-public libgc-all-headers ; TODO(core-updates) merge into libgc
   (package
     (inherit libgc)
     (name "libgc-all-headers")
     (outputs "out")
     (arguments
       (append (package-arguments libgc)
         (list #:imported-modules
                '((guix build gnu-build-system) (guix build 
copy-build-system))
                #:phases
                #~(modify-phases
                        (add-after 'install 'delete-library
                          (lambda _
                            (delete-file-recursively (string-append 
#$output "/lib"))))
                        (add-after 'install 'delete-private-header
                          (lambda _
                            (delete-file-recursively (string-append 
#$output "/lib"))))
                        (add-after 'install 'install-private
                          (lambda arguments
                            ((@ (guix build copy-build-system) install)
                             (append (list #:install-plan 
'(("include/config.h" [...]) [...]))
                                           arguments))))))))
     (synopsis ...)
     (description ...)))

Also, why a hidden package?

Greetings,
Maxime.