Commit Graph

32 Commits

Author SHA1 Message Date
Dmitry Kalinkin
60055478c9
wrapQtAppsHook: fix a typo 2021-09-29 14:54:51 -04:00
Dmitry Kalinkin
1327726568
wrapQtAppsHook: add extra paths for macOS applications 2021-09-29 14:51:50 -04:00
Dmitry Kalinkin
ee33a90c56
qt: use isELF and isMachO in wrapQtAppsHook 2021-09-28 10:13:44 -04:00
Thomas Tuegel
5590e365e4
qtbase: Check for wrapQtAppsHook in setupHook 2021-01-25 15:56:15 -06:00
Thomas Tuegel
67b7cffaec
wrapQtAppsHook: only run the hook once 2021-01-25 15:56:15 -06:00
Thomas Tuegel
7744998f04
qtbase: Set cmakeFlags and NIX_CFLAGS_COMPILE in setupHook 2021-01-25 15:56:05 -06:00
Thomas Tuegel
b80ce0aeca
qmake: Select debug or release build
The qmake hook sets its own `CONFIG+=debug` or `CONFIG+=release` depending on
how `qtbase` was built. We no longer rely on using the custom deriver for this
feature.
2021-01-24 09:51:34 -06:00
Graham Bennett
8e4e38cdcd octave: Fix libtool framework link failure on Darwin
This fix moves linker flags of the form `-framework foo` from dependency_libs to
inherited_linker_flags, since libtool doesn't understand them.  See #96977 for
details.

Fixes #96977
2020-09-06 20:24:14 +01:00
Bjørn Forsman
9e144d5527 wrap-qt-apps-hook.sh: wrap binaries in ./sbin/
wrap-qt-apps-hook.sh runs before move-sbin.sh, so programs in ./sbin are
currently not wrapped. Fix it.
2019-12-08 20:44:29 +01:00
John Ericson
ef43c5f5d9 wrap-qt-apps-hook: qtWrapperArgs may be undefined 2019-11-17 15:48:39 -05:00
John Ericson
784c3dc0f9 qt5 qmake setup hook: qmakeFlags may be undefined 2019-11-08 13:28:59 -05:00
John Ericson
9b274e2962 qtbase-setup-hook: postPhases may be undefined
My earlier sed missed this because it already had `{..}`.
2019-11-02 19:23:44 -04:00
John Ericson
b7f4bda282 treewide: *Phase(s)? variables are optional
If these aren't defined, the stdenv defaults are used in the `*Phase`
case, or no extra phases are done, in the `*Phases` case.
2019-11-01 14:44:44 -04:00
John Ericson
2811b032d6 treewide: Make still dont* Variables are optional in most cases
Go beyond the obvious setup hooks now, with a bit of sed, with a skipped case:

 - cc-wrapper's `dontlink`, because it already is handled.

Also, in nix files escaping was manually added.

EMP
2019-11-01 14:44:44 -04:00
John Ericson
1290e532ea treewide: Make more dont* variables OK to be undefined in setup hooks 2019-11-01 14:44:44 -04:00
Thomas Tuegel
a2e3bef2e5
Merge pull request #69086 from ttuegel/qt-5.12.4
Qt 5.12.4
2019-09-26 05:24:08 -05:00
worldofpeace
15e99a06a8 wrapQtAppsHook: correct skip directories heuristic 2019-09-20 19:10:02 -04:00
Thomas Tuegel
756b46a449
fix-qmake-libtool.sh 2019-09-19 07:39:11 -05:00
Thomas Tuegel
bddca5a91a
qmake-hook.sh: qmakeFlags is an array 2019-09-19 07:39:11 -05:00
Bjørn Forsman
d6e65ec4a0 wrapQtAppsHook: skip directories
Prevents messages like this in the build log:

  grep: <PATH>/bin: Is a directory
2019-09-13 16:53:11 +02:00
Bjørn Forsman
c6d516dfc4 wrapQtAppsHook: use patchelf --print-interpreter instead of isELFExec
Some executables are built as PIEs (e.g. keepassxc) and are technically
isELFDyn, not isELFExec. Without this change those executables will not
be wrapped.
2019-09-13 16:53:11 +02:00
Florian Klink
88146a095f wrapQtAppsHook: use isELFExec
This ensures we only wrap executables, not shared libraries
2019-08-17 16:45:57 +02:00
worldofpeace
7d6ab0ad7a wrapQtAppsHook: use isELF
We should still prevent things like
scripts from being wrapped.
2019-07-17 15:53:15 -04:00
worldofpeace
4908d382ae wrapQtAppsHook: remove isQtApp
This was preventing dolphin from being wrapped.
2019-07-16 20:37:43 -04:00
worldofpeace
6c057aea5c wrapQtAppsHook: wrap binaries in libexec 2019-07-16 17:26:17 -04:00
Thomas Tuegel
f79fd2e826
wrapQtAppsHook: wrap Qt applications for runtime dependencies 2019-07-05 10:41:41 -05:00
Thomas Tuegel
04239641b5
Merge branch 'bugfix/qt-5/closure-size-static-libs' into merge/qt-5.10.0 2018-01-15 18:49:27 -06:00
Thomas Tuegel
75d2a7dc4d
qt5: reduce closure size
First, closure size is reduced by including the static libraries in $out instead
of trying to move them to $dev. The Qt build system cannot handle libraries
being split between different prefixes. Previously, the static libraries were
moved into $dev and the shared libraries were symlinked from $out to $dev to
fool the build system. However, this causes $dev to be retained at
runtime. Instead, we now keep the static libraries in $out. Fortunately, the
static libraries are not very large anyway.

Second, we build with QT_NO_DEBUG defined unless debugging is enabled. This
causes some assertions to be removed; when assertions are included, they pull
paths from $dev into the runtime closure by using the __FILE__ macro. We also
now patch qtbase to remove even more assertions when QT_NO_DEBUG is defined.
2018-01-15 18:48:37 -06:00
John Ericson
046f091e0d treewide: Don't use envHook anymore
This commits needs a MAJOR audit as I oftentimes just guessed which of
`$hostOffset`, `$targetOffset`, or a fixed offset should be used.
2017-12-30 22:04:22 -05:00
Orivej Desh
f568450637 qmake: enable parallel building of qmake projects by default 2017-12-07 08:52:42 +00:00
John Ericson
da19c34d0f stdenv setup: Always use both propagated files
This continues #23374, which always kept around both attributes, by
always including both propagated files: `propgated-native-build-inputs`
and `propagated-build-inputs`. `nativePkgs` and `crossPkgs` are still
defined as before, however, so this change should only barely
observable.

This is an incremental step to fully keeping the dependencies separate
in all cases.
2017-11-21 10:44:44 -05:00
Thomas Tuegel
fe0ab944db
qt5: factor out common definitions and remove symlink farm
The module definitions are factored out and shared between qt56 and qt59. The
symlink farm which was created during builds is no longer needed.
2017-11-07 07:18:46 -06:00