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’.