nixpkgs/pkgs
Orivej Desh fd97db43bc
pruneLibtoolFiles: init setup hook (#41819)
A .la file specifies linker flags to link with the library it describes. Its
"dependency_libs" field lists the libraries that this library depends upon.
This list often contains "-l" flags without corresponding "-L" flags. Many
packages in Nixpkgs deal with this in one of these ways:
- delete .la file [1]
- clear dependency_libs [2]
- add -L flags to dependency_libs [3]
- propagate dependencies [4]

Sometimes "dependency_libs" contain wrong "-L" flags pointing to the "dev"
output with headers rather than to the main output with libraries. They have to
be edited or deleted to reduce closure size [5].

Deleting .la files is often but not always safe [6].  Atomatically deleting as
many of them as possible is complex [7].  Deleting .la files that describe
shared rather than static libraries is probably safe; but clearing their
"dependency_libs" field achieves the same effect with less potential for
unintended consequences.  This is the approach that may be enabled for all
Nixpkgs.

[1] 2a79d296d3
[2] c83a530985
[3] 9e0dcf3bd9
[4] 01134e698f
[5] f6c73f1e37
[6] https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Handling_Libtool_Archives
[7] https://github.com/gentoo/gentoo/blob/fb1f2435/eclass/ltprune.eclass
2018-06-11 18:11:02 +00:00
..
applications docker: Ensure references to go are removed from docker-containerd (#41849) 2018-06-11 19:45:34 +02:00
build-support pruneLibtoolFiles: init setup hook (#41819) 2018-06-11 18:11:02 +00:00
common-updater
data fira-mono: update url 2018-06-10 13:21:23 -05:00
desktops mate.mate-desktop: 1.20.1 -> 1.20.3 (#41548) 2018-06-09 23:44:55 +02:00
development asio: add old version 1.10.8 (#41822) 2018-06-11 20:03:09 +02:00
games dxx-rebirth: disable format hardening 2018-06-10 20:32:31 -04:00
misc dolphinEmuMaster: Enable Vulkan Dolphin did not have access to the Vulkan libs before, now it does. 2018-06-10 16:24:28 -07:00
os-specific fwts: 18.03.00 -> 18.05.00 (#41563) 2018-06-11 18:47:12 +02:00
servers mariadb: galera: there is no galera_new_cluster 2018-06-11 20:06:27 +02:00
shells antibody: 3.4.6 -> 3.5.0 (#41746) 2018-06-10 00:14:54 +02:00
stdenv Merge pull request #40933 from obsidiansystems/linux-to-darwin 2018-05-23 11:37:43 -04:00
test tests.cc-wrapper: do not test sanitizers on darwin 2018-06-06 08:01:13 +00:00
tools uim: 1.8.6-20180501-git -> 1.8.8 (#41850) 2018-06-11 19:16:53 +02:00
top-level pruneLibtoolFiles: init setup hook (#41819) 2018-06-11 18:11:02 +00:00