[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposal: using pkg-config for foreign dependencies in .egg-files
From: |
Mario Domenech Goulart |
Subject: |
Re: Proposal: using pkg-config for foreign dependencies in .egg-files |
Date: |
Tue, 24 Sep 2024 19:33:43 +0200 |
On Wed, 18 Sep 2024 19:02:44 +0200 felix.winkelmann@bevuta.com wrote:
>> How about having something like `custom-config', which can be mapped
>> to a program that produces a list that can be read into the egg
>> specification tree?
>>
>> Reusing your example:
>>
>> ```
>> ((synopsis "ZStandard bindings")
>> (author "Kristian Lein-Mathisen")
>> (category data)
>> (license "BSD")
>> (dependencies)
>> (test-dependencies test)
>> (components
>> (extension zstd-loq-level
>> (source "zstd-module.scm")
>> (source-dependencies "zstd.scm")
>> (csc-options
>> (custom-config "custom-config.scm"))) ;; <- custom config
>> program
>> (extension zstd-nicer-api
>> (source "zstd-nicer-api.scm"))
>> (program "zcompress")))
>> ```
>>
>> `custom-config.scm' would be a program that writes a list of options
>> that would be used as `csc-options`.
>>
>> With that, we are more flexible and future-proof regarding the needs
>> to adapt to different configuration mechanisms. That also keeps the
>> core free of dependencies and assumptions about external configuration
>> tools.
>
> I like this. So the custom config code would be a Scheme script, right?
As long as we have an API between the egg specification and the
custom-config program, we can use any executable, really. If we create
eggs to abstract things like pkg-config, the more natural way to
implement custom-config programs would be using CHICKEN code + eggs,
indeed.
> We might want to support this regardless of how we proceed with
> pkg-config. What I like about the pkg-config thing is that we have a
> canonical way of specifying third-party packages, but on the other
> hand every pseudo "standard" gets replaced at some stage by something
> else.
>
> The lack of declarativity is unfortunate, but we already have the ultime
> loophole with custom-build (which includes the functionality of
> custom-config but is of course more involved).
All the best.
Mario
--
http://parenteses.org/mario