diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/x11/xorg/builder.sh')
-rw-r--r-- | nixpkgs/pkgs/servers/x11/xorg/builder.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/x11/xorg/builder.sh b/nixpkgs/pkgs/servers/x11/xorg/builder.sh new file mode 100644 index 000000000000..5a832cb14d53 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/builder.sh @@ -0,0 +1,40 @@ +# This is the builder for all X.org components. +source $stdenv/setup + + +# After installation, automatically add all "Requires" fields in the +# pkgconfig files (*.pc) to the propagated build inputs. +origPostInstall=$postInstall +postInstall() { + if test -n "$origPostInstall"; then eval "$origPostInstall"; fi + + local r p requires + set +o pipefail + requires=$(grep "Requires:" ${!outputDev}/lib/pkgconfig/*.pc | \ + sed "s/Requires://" | sed "s/,/ /g") + set -o pipefail + + echo "propagating requisites $requires" + + for r in $requires; do + for p in "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}"; do + if test -e $p/lib/pkgconfig/$r.pc; then + echo " found requisite $r in $p" + propagatedBuildInputs+=" $p" + fi + done + done +} + + +installFlags="appdefaultdir=$out/share/X11/app-defaults $installFlags" + + +if test -n "$x11BuildHook"; then + source $x11BuildHook +fi + + +enableParallelBuilding=1 + +genericBuild |