forked from mirrors/nixpkgs
mesa: Use symlinks instead of hard links for the DRI/vdpau drivers
This reduces the size of the drivers output from 193 MiB to 44 MiB. @vcunat
This commit is contained in:
parent
3ee6b22dc3
commit
1a52fdc3c6
|
@ -45,6 +45,7 @@ stdenv.mkDerivation {
|
|||
|
||||
patches = [
|
||||
./glx_ro_text_segm.patch # fix for grsecurity/PaX
|
||||
./symlink-drivers.patch
|
||||
# TODO: revive ./dricore-gallium.patch when it gets ported (from Ubuntu),
|
||||
# as it saved ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
|
||||
] ++ optional stdenv.isLinux
|
||||
|
|
72
pkgs/development/libraries/mesa/symlink-drivers.patch
Normal file
72
pkgs/development/libraries/mesa/symlink-drivers.patch
Normal file
|
@ -0,0 +1,72 @@
|
|||
diff -ru -x '*~' mesa-11.1.4-orig/src/gallium/targets/dri/Makefile.am mesa-11.1.4/src/gallium/targets/dri/Makefile.am
|
||||
--- mesa-11.1.4-orig/src/gallium/targets/dri/Makefile.am 2016-05-09 14:20:52.000000000 +0200
|
||||
+++ mesa-11.1.4/src/gallium/targets/dri/Makefile.am 2016-05-22 17:56:03.396185082 +0200
|
||||
@@ -126,14 +126,13 @@
|
||||
done;
|
||||
endif
|
||||
|
||||
-# hardlink each megadriver instance, but don't actually have
|
||||
-# gallium_dri.so in the set of final installed files.
|
||||
+# symlink each megadriver instance.
|
||||
install-data-hook:
|
||||
for i in $(TARGET_DRIVERS); do \
|
||||
- ln -f $(DESTDIR)$(dridir)/gallium_dri.so \
|
||||
+ ln -sf $(DESTDIR)$(dridir)/gallium_dri.so \
|
||||
$(DESTDIR)$(dridir)/$${i}_dri.so; \
|
||||
done; \
|
||||
- $(RM) $(DESTDIR)$(dridir)/gallium_dri.*
|
||||
+ $(RM) $(DESTDIR)$(dridir)/gallium_dri.la
|
||||
|
||||
uninstall-hook:
|
||||
for i in $(TARGET_DRIVERS); do \
|
||||
diff -ru -x '*~' mesa-11.1.4-orig/src/gallium/targets/vdpau/Makefile.am mesa-11.1.4/src/gallium/targets/vdpau/Makefile.am
|
||||
--- mesa-11.1.4-orig/src/gallium/targets/vdpau/Makefile.am 2016-01-29 13:21:30.000000000 +0100
|
||||
+++ mesa-11.1.4/src/gallium/targets/vdpau/Makefile.am 2016-05-22 20:54:12.722358242 +0200
|
||||
@@ -103,15 +103,14 @@
|
||||
done;
|
||||
endif
|
||||
|
||||
-# hardlink each megadriver instance, but don't actually have
|
||||
-# libvdpau_gallium.so in the set of final installed files.
|
||||
+# symlink each megadriver instance.
|
||||
install-data-hook:
|
||||
$(AM_V_GEN)dest_dir=$(DESTDIR)/$(vdpaudir); \
|
||||
for i in $(TARGET_DRIVERS); do \
|
||||
j=libvdpau_gallium.$(LIB_EXT); \
|
||||
k=libvdpau_$${i}.$(LIB_EXT); \
|
||||
l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
|
||||
- ln -f $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
|
||||
+ ln -sf $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
|
||||
$${dest_dir}/$${l}; \
|
||||
ln -sf $${l} \
|
||||
$${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
|
||||
@@ -120,7 +119,7 @@
|
||||
ln -sf $${l} \
|
||||
$${dest_dir}/$${k}; \
|
||||
done; \
|
||||
- $(RM) $${dest_dir}/libvdpau_gallium.*
|
||||
+ $(RM) $${dest_dir}/libvdpau_gallium.la
|
||||
|
||||
uninstall-hook:
|
||||
for i in $(TARGET_DRIVERS); do \
|
||||
diff -ru -x '*~' mesa-11.1.4-orig/src/mesa/drivers/dri/Makefile.am mesa-11.1.4/src/mesa/drivers/dri/Makefile.am
|
||||
--- mesa-11.1.4-orig/src/mesa/drivers/dri/Makefile.am 2016-01-18 08:39:26.000000000 +0100
|
||||
+++ mesa-11.1.4/src/mesa/drivers/dri/Makefile.am 2016-05-22 17:55:46.251244940 +0200
|
||||
@@ -86,14 +86,13 @@
|
||||
done;
|
||||
endif
|
||||
|
||||
-# hardlink each megadriver instance, but don't actually have
|
||||
-# mesa_dri_drivers.so in the set of final installed files.
|
||||
+# symink each megadriver instance.
|
||||
install-data-hook:
|
||||
for i in $(MEGADRIVERS); do \
|
||||
- ln -f $(DESTDIR)$(dridir)/mesa_dri_drivers.so \
|
||||
+ ln -sf $(DESTDIR)$(dridir)/mesa_dri_drivers.so \
|
||||
$(DESTDIR)$(dridir)/$$i; \
|
||||
done;
|
||||
- $(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.*
|
||||
+ $(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.la
|
||||
|
||||
uninstall-hook:
|
||||
for i in $(MEGADRIVERS); do \
|
Loading…
Reference in a new issue