diff options
author | Thomas Tuegel <ttuegel@mailbox.org> | 2019-09-18 15:19:31 -0500 |
---|---|---|
committer | Thomas Tuegel <ttuegel@mailbox.org> | 2019-09-19 07:39:11 -0500 |
commit | 756b46a44976eba54cf83d763d5614137fbda477 (patch) | |
tree | cb25f494433560a5cbfd334e886561b4f37ee4c2 /pkgs/development/libraries/qt-5 | |
parent | dd599e20cfa8c01b3a1137e5b98bf1e0a4480012 (diff) | |
download | nixlib-756b46a44976eba54cf83d763d5614137fbda477.tar nixlib-756b46a44976eba54cf83d763d5614137fbda477.tar.gz nixlib-756b46a44976eba54cf83d763d5614137fbda477.tar.bz2 nixlib-756b46a44976eba54cf83d763d5614137fbda477.tar.lz nixlib-756b46a44976eba54cf83d763d5614137fbda477.tar.xz nixlib-756b46a44976eba54cf83d763d5614137fbda477.tar.zst nixlib-756b46a44976eba54cf83d763d5614137fbda477.zip |
fix-qmake-libtool.sh
Diffstat (limited to 'pkgs/development/libraries/qt-5')
5 files changed, 19 insertions, 6 deletions
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 47a3589c2f9f..e8fad6e8381d 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -160,9 +160,7 @@ let qmake = makeSetupHook { deps = [ self.qtbase.dev ]; substitutions = { - inherit (stdenv) isDarwin; - qtbase_dev = self.qtbase.dev; - fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; + fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; }; } ../hooks/qmake-hook.sh; diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix index a872f212ff71..721c1b40d592 100644 --- a/pkgs/development/libraries/qt-5/5.9/default.nix +++ b/pkgs/development/libraries/qt-5/5.9/default.nix @@ -154,9 +154,7 @@ let qmake = makeSetupHook { deps = [ self.qtbase.dev ]; substitutions = { - inherit (stdenv) isDarwin; - qtbase_dev = self.qtbase.dev; - fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; + fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; }; } ../hooks/qmake-hook.sh; diff --git a/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh b/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh new file mode 100644 index 000000000000..5acaeb824466 --- /dev/null +++ b/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh @@ -0,0 +1,14 @@ +# Fix libtool libraries generated by qmake. +# qmake started inserting filenames of shared objects instead of the appropriate +# linker flags. fixQmakeLibtool searches for broken libtool libraries and +# replaces the filenames with the linker flags that should have been there. +fixQmakeLibtool() { + if [ -d "$1" ]; then + find "$1" -name '*.la' | while read la; do + sed -i "$la" \ + -e '/^dependency_libs/ s,\(/[^ ]\+\)/lib\([^/ ]\+\)\.so,-L\1 -l\2,g' + done + fi +} + +fixupOutputHooks+=('fixQmakeLibtool $prefix') diff --git a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh index f6d332f29ba8..c3373983e325 100644 --- a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh @@ -1,3 +1,5 @@ +. @fix_qmake_libtool@ + qmakeFlags=( $qmakeFlags ) qmakePrePhase() { diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 520f30cad0f6..3a0c9085f540 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -100,6 +100,7 @@ stdenv.mkDerivation { . "$fix_qt_builtin_paths" . "$fix_qt_module_paths" . ${../hooks/move-qt-dev-tools.sh} + . ${../hooks/fix-qmake-libtool.sh} ''; postPatch = |