gnustep.base: use multiple outputs and support multiple outputs in hook

had to move the installFlagsArray in preInstallPhases so that ${!outputX} work because they're set by the multiple-output hook

unar before:
closure size 1.4G

unar after:
closure size 138.9M
This commit is contained in:
Artturin 2022-12-23 19:53:54 +02:00
parent 9d39fe1577
commit d78711a3e1
3 changed files with 20 additions and 15 deletions

@ -19,6 +19,7 @@ gsmakeDerivation rec {
url = "ftp://ftp.gnustep.org/pub/gnustep/core/${pname}-${version}.tar.gz"; url = "ftp://ftp.gnustep.org/pub/gnustep/core/${pname}-${version}.tar.gz";
sha256 = "05vjz19v1w7yb7hm8qrc41bqh6xd8in7sgg2p0h1vldyyaa5sh90"; sha256 = "05vjz19v1w7yb7hm8qrc41bqh6xd8in7sgg2p0h1vldyyaa5sh90";
}; };
outputs = [ "out" "dev" "lib" ];
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
propagatedBuildInputs = [ propagatedBuildInputs = [
aspell audiofile aspell audiofile

@ -1,20 +1,24 @@
# this path is used by some packages to install additional makefiles # this path is used by some packages to install additional makefiles
export DESTDIR_GNUSTEP_MAKEFILES=$out/share/GNUstep/Makefiles export DESTDIR_GNUSTEP_MAKEFILES=$out/share/GNUstep/Makefiles
installFlagsArray=( \ addGnustepInstallFlags() {
"GNUSTEP_INSTALLATION_DOMAIN=SYSTEM" \ installFlagsArray=( \
"GNUSTEP_SYSTEM_APPS=$out/lib/GNUstep/Applications" \ "GNUSTEP_INSTALLATION_DOMAIN=SYSTEM" \
"GNUSTEP_SYSTEM_ADMIN_APPS=$out/lib/GNUstep/Applications" \ "GNUSTEP_SYSTEM_APPS=${!outputLib}/lib/GNUstep/Applications" \
"GNUSTEP_SYSTEM_WEB_APPS=$out/lib/GNUstep/WebApplications" \ "GNUSTEP_SYSTEM_ADMIN_APPS=${!outputLib}/lib/GNUstep/Applications" \
"GNUSTEP_SYSTEM_TOOLS=$out/bin" \ "GNUSTEP_SYSTEM_WEB_APPS=${!outputLib}/lib/GNUstep/WebApplications" \
"GNUSTEP_SYSTEM_ADMIN_TOOLS=$out/sbin" \ "GNUSTEP_SYSTEM_TOOLS=${!outputBin}/bin" \
"GNUSTEP_SYSTEM_LIBRARY=$out/lib/GNUstep" \ "GNUSTEP_SYSTEM_ADMIN_TOOLS=${!outputBin}/sbin" \
"GNUSTEP_SYSTEM_HEADERS=$out/include" \ "GNUSTEP_SYSTEM_LIBRARY=${!outputLib}/lib/GNUstep" \
"GNUSTEP_SYSTEM_LIBRARIES=$out/lib" \ "GNUSTEP_SYSTEM_HEADERS=${!outputInclude}/include" \
"GNUSTEP_SYSTEM_DOC=$out/share/GNUstep/Documentation" \ "GNUSTEP_SYSTEM_LIBRARIES=${!outputLib}/lib" \
"GNUSTEP_SYSTEM_DOC_MAN=$out/share/man" \ "GNUSTEP_SYSTEM_DOC=${!outputDoc}/share/GNUstep/Documentation" \
"GNUSTEP_SYSTEM_DOC_INFO=$out/share/info" \ "GNUSTEP_SYSTEM_DOC_MAN=${!outputMan}/share/man" \
) "GNUSTEP_SYSTEM_DOC_INFO=${!outputInfo}/share/info" \
)
}
preInstallPhases+=" addGnustepInstallFlags"
addEnvVars() { addEnvVars() {
local filename local filename

@ -51,7 +51,7 @@ gnustep.stdenv.mkDerivation rec {
sed -i "s:${gnustep.make}:$out:g" $out/share/GNUstep/GNUstep.conf sed -i "s:${gnustep.make}:$out:g" $out/share/GNUstep/GNUstep.conf
# Link in GNUstep base # Link in GNUstep base
${lndir}/bin/lndir ${gnustep.base}/lib/GNUstep/ $out/lib/GNUstep/ ${lndir}/bin/lndir ${lib.getLib gnustep.base}/lib/GNUstep/ $out/lib/GNUstep/
# Link in sope # Link in sope
${lndir}/bin/lndir ${sope}/ $out/ ${lndir}/bin/lndir ${sope}/ $out/