Hi,

宋文武 <iyzs...@outlook.com> skribis:

> I'd like to suggest another plan: Make every ‘output’ become a <package>
> object, so ‘propagated-build-inputs’ doesn’t need to change.  Then we’ll
> have something like debian’s source/binary packages [1] and archlinux’s
> base/split packages [2].
>
> Example:
>
> (define-public %gtk+
>   (source-package
>     (name "gtk+")
>     (version "3.24.20")
>     (source ...)
>     (inputs ...)
>     (native-inputs ...)
>     (outputs
>       `(("out" .
>          (binary-package
>            (name "gtk+")  ; version inherit from source
>            (propagated ...)  ; per output propagated-inputs here
>            (native-search-paths ...)
>            (synopsis ...) ; can override package metadata
>            (description ...)))
>         ("gtk-update-icon-cache" .
>          (binary-package
>            (name "gtk-update-icon-cache")
>            ...))))
>     (arguments ...)
>     (home-page ...)
>     (synopsis ...)
>     (descirption ...)
>     (license ...)))
>
> (define-public gtk+
>   (source-package->binary-package %gtk+ "out"))
>
> (define-public gtk-update-icon-cache
>   (source-package->binary-package %gtk+ "gtk-update-icon-cache"))

Interesting.  That’d be a major change but if we can find a way forward,
it could be a plan.

Ludo’.

Reply via email to