Subject: [bug#27344] [PATCH v2 06/12] gnu: Add freehdl.

From: Theodoros Foradis <[email-masked]>
Date: Sat, 24 Jun 2017 12:34:46 +0300

Hello,

>> +         (add-before 'configure 'patch-pkg-config
>> +           (lambda _
>> +             (substitute* "freehdl/freehdl-config"
>> +               (("pkg-config") (which "pkg-config"))
>> +               (("cat") (which "cat")))
>> +             #t))
>
> freehdl-config is installed, but it uses a path to pkg-config which is from a native-input (so it will not be retained).
>
> Does this ever work again after removing pkg-config from your profile and then doing "guix gc" ?  I doubt it...
>
>> +         (add-after 'configure 'patch-freehdl-pc
>> +           (lambda _
>> +             (substitute* "freehdl.pc"
>> +               (("=g\\+\\+") (string-append "=" (which "g++")))
>> +               (("=libtool") (string-append "=" (which "libtool"))))
>> +             #t))
>
> Same here...
>
>> +         (add-after 'install-scripts 'make-wrapper
>> +           (lambda* (#:key outputs #:allow-other-keys)
>> +             (let ((out (assoc-ref outputs "out")))
>> +               (wrap-program (string-append out "/bin/freehdl-config")
>> +                 `("PKG_CONFIG_PATH" ":" prefix (,(string-append out "/lib/pkgconfig")))))
>
>
>> +             #t)))))
>> +    (inputs
>> +     `(("perl" ,perl)))
>> +    (native-inputs
>> +     `(("pkg-config" ,pkg-config)
>> +       ("libtool" ,libtool)))
>
>
> I'm not sure how to proceed so I'll stop at this point (with freehdl not in) until the path is clear :)

You are correct, I totally missed the issue there. I can think of two
possible ways to solve the issue, though I may be making wrong
assumptions.

- Move pkg-config to inputs, and disable cross-compilation of the
  package, if possible.

- Have both pkg-configs at build time. Use the native pkg-config in
  building and reference the non-native one in freehdl-config. Is this
  possible with guix? 

-- 
Theodoros Foradis