Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at netboot-syslinux-multiplatform 127 lines 4.7 kB view raw
1if [ -e .attrs.sh ]; then source .attrs.sh; fi 2source $stdenv/setup 3 4providedPreConfigure="$preConfigure"; 5 6preConfigure() { 7 eval "$providedPreConfigure" 8 9 . $GNUSTEP_MAKEFILES/GNUstep.sh 10} 11 12wrapGSMake() { 13 local program="$1" 14 local config="$2" 15 local wrapped="$(dirname $program)/.$(basename $program)-wrapped" 16 17 mv "$program" "$wrapped" 18 19 cat > "$program"<<EOF 20#! $SHELL -e 21 22export GNUSTEP_CONFIG_FILE="$config" 23 24exec "$wrapped" "\$@" 25EOF 26 chmod +x "$program" 27} 28 29postInstall() { 30 local conf="$out/share/.GNUstep.conf" 31 32 mkdir -p "$out/share" 33 touch $conf 34 35 # add the current package to the paths 36 local tmp="$out/lib/GNUstep/Applications" 37 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_APPS" in *"${tmp}"*) false;; *) true;; esac; then 38 addToSearchPath NIX_GNUSTEP_SYSTEM_APPS "$tmp" 39 fi 40 tmp="$out/lib/GNUstep/Applications" 41 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_APPS" in *"${tmp}"*) false;; *) true;; esac; then 42 addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_APPS "$tmp" 43 fi 44 tmp="$out/lib/GNUstep/WebApplications" 45 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_WEB_APPS" in *"${tmp}"*) false;; *) true;; esac; then 46 addToSearchPath NIX_GNUSTEP_SYSTEM_WEB_APPS "$tmp" 47 fi 48 tmp="$out/bin" 49 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then 50 addToSearchPath NIX_GNUSTEP_SYSTEM_TOOLS "$tmp" 51 fi 52 tmp="$out/sbin" 53 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then 54 addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS "$tmp" 55 fi 56 tmp="$out/lib/GNUstep" 57 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARY" in *"${tmp}"*) false;; *) true;; esac; then 58 addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARY "$tmp" 59 fi 60 tmp="$out/include" 61 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_HEADERS" in *"${tmp}"*) false;; *) true;; esac; then 62 if [ -z "$NIX_GNUSTEP_SYSTEM_HEADERS" ]; then 63 export NIX_GNUSTEP_SYSTEM_HEADERS="$tmp" 64 else 65 export NIX_GNUSTEP_SYSTEM_HEADERS+=" $tmp" 66 fi 67 fi 68 tmp="$out/lib" 69 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARIES" in *"${tmp}"*) false;; *) true;; esac; then 70 addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARIES "$tmp" 71 fi 72 tmp="$out/share/GNUstep/Documentation" 73 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC" in *"${tmp}"*) false;; *) true;; esac; then 74 addToSearchPath NIX_GNUSTEP_SYSTEM_DOC "$tmp" 75 fi 76 tmp="$out/share/man" 77 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_MAN" in *"${tmp}"*) false;; *) true;; esac; then 78 addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_MAN "$tmp" 79 fi 80 tmp="$out/share/info" 81 if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_INFO" in *"${tmp}"*) false;; *) true;; esac; then 82 addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_INFO "$tmp" 83 fi 84 85 # write the config file 86 echo GNUSTEP_MAKEFILES=$GNUSTEP_MAKEFILES >> $conf 87 if [ -n "$NIX_GNUSTEP_SYSTEM_APPS" ]; then 88 echo NIX_GNUSTEP_SYSTEM_APPS="$NIX_GNUSTEP_SYSTEM_APPS" 89 fi 90 if [ -n "$NIX_GNUSTEP_SYSTEM_ADMIN_APPS" ]; then 91 echo NIX_GNUSTEP_SYSTEM_ADMIN_APPS="$NIX_GNUSTEP_SYSTEM_ADMIN_APPS" >> $conf 92 fi 93 if [ -n "$NIX_GNUSTEP_SYSTEM_WEB_APPS" ]; then 94 echo NIX_GNUSTEP_SYSTEM_WEB_APPS="$NIX_GNUSTEP_SYSTEM_WEB_APPS" >> $conf 95 fi 96 if [ -n "$NIX_GNUSTEP_SYSTEM_TOOLS" ]; then 97 echo NIX_GNUSTEP_SYSTEM_TOOLS="$NIX_GNUSTEP_SYSTEM_TOOLS" >> $conf 98 fi 99 if [ -n "$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" ]; then 100 echo NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS="$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" >> $conf 101 fi 102 if [ -n "$NIX_GNUSTEP_SYSTEM_LIBRARY" ]; then 103 echo NIX_GNUSTEP_SYSTEM_LIBRARY="$NIX_GNUSTEP_SYSTEM_LIBRARY" >> $conf 104 fi 105 if [ -n "$NIX_GNUSTEP_SYSTEM_HEADERS" ]; then 106 echo NIX_GNUSTEP_SYSTEM_HEADERS="$NIX_GNUSTEP_SYSTEM_HEADERS" >> $conf 107 fi 108 if [ -n "$NIX_GNUSTEP_SYSTEM_LIBRARIES" ]; then 109 echo NIX_GNUSTEP_SYSTEM_LIBRARIES="$NIX_GNUSTEP_SYSTEM_LIBRARIES" >> $conf 110 fi 111 if [ -n "$NIX_GNUSTEP_SYSTEM_DOC" ]; then 112 echo NIX_GNUSTEP_SYSTEM_DOC="$NIX_GNUSTEP_SYSTEM_DOC" >> $conf 113 fi 114 if [ -n "$NIX_GNUSTEP_SYSTEM_DOC_MAN" ]; then 115 echo NIX_GNUSTEP_SYSTEM_DOC_MAN="$NIX_GNUSTEP_SYSTEM_DOC_MAN" >> $conf 116 fi 117 if [ -n "$NIX_GNUSTEP_SYSTEM_DOC_INFO" ]; then 118 echo NIX_GNUSTEP_SYSTEM_DOC_INFO="$NIX_GNUSTEP_SYSTEM_DOC_INFO" >> $conf 119 fi 120 121 for i in $out/bin/*; do 122 echo "wrapping $(basename $i)" 123 wrapGSMake "$i" "$out/share/.GNUstep.conf" 124 done 125} 126 127genericBuild