lol
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #108888 from ttuegel/feature--staging--qt-no-mkDerivation

Qt: Do not require mkDerivation

authored by

Thomas Tuegel and committed by
GitHub
0e418a1a a3b529a4

+343 -70
+67 -47
doc/languages-frameworks/qt.section.md
··· 1 1 # Qt {#sec-language-qt} 2 2 3 - This section describes the differences between Nix expressions for Qt libraries and applications and Nix expressions for other C++ software. Some knowledge of the latter is assumed. 3 + Writing Nix expressions for Qt libraries and applications is largely similar as for other C++ software. 4 + This section assumes some knowledge of the latter. 5 + There are two problems that the Nixpkgs Qt infrastructure addresses, 6 + which are not shared by other C++ software: 4 7 5 - There are primarily two problems which the Qt infrastructure is designed to address: ensuring consistent versioning of all dependencies and finding dependencies at runtime. 8 + 1. There are usually multiple supported versions of Qt in Nixpkgs. 9 + All of a package's dependencies must be built with the same version of Qt. 10 + This is similar to the version constraints imposed on interpreted languages like Python. 11 + 2. Qt makes extensive use of runtime dependency detection. 12 + Runtime dependencies are made into build dependencies through wrappers. 6 13 7 14 ## Nix expression for a Qt package (default.nix) {#qt-default-nix} 8 15 9 16 ```{=docbook} 10 17 <programlisting> 11 - { mkDerivation, qtbase }: <co xml:id='qt-default-nix-co-1' /> 18 + { stdenv, lib, qtbase, wrapQtAppsHook }: <co xml:id='qt-default-nix-co-1' /> 12 19 13 - mkDerivation { <co xml:id='qt-default-nix-co-2' /> 20 + stdenv.mkDerivation { 14 21 pname = "myapp"; 15 22 version = "1.0"; 16 23 17 - buildInputs = [ qtbase ]; <co xml:id='qt-default-nix-co-3' /> 24 + buildInputs = [ qtbase ]; 25 + nativeBuildInputs = [ wrapQtAppsHook ]; <co xml:id'qt-default-nix-co-2' /> 18 26 } 19 27 </programlisting> 20 28 21 29 <calloutlist> 22 30 <callout arearefs='qt-default-nix-co-1'> 23 31 <para> 24 - Import <literal>mkDerivation</literal> and Qt (such as <literal>qtbase</literal> modules directly. <emphasis>Do not</emphasis> import Qt package sets; the Qt versions of dependencies may not be coherent, causing build and runtime failures. 32 + Import Qt modules directly, that is: <literal>qtbase</literal>, <literal>qtdeclarative</literal>, etc. 33 + <emphasis>Do not</emphasis> import Qt package sets such as <literal>qt5</literal> 34 + because the Qt versions of dependencies may not be coherent, causing build and runtime failures. 25 35 </para> 26 36 </callout> 27 - <callout arearefs='qt-default-nix-co-2'> 28 - <para> 29 - Use <literal>mkDerivation</literal> instead of <literal>stdenv.mkDerivation</literal>. <literal>mkDerivation</literal> is a wrapper around <literal>stdenv.mkDerivation</literal> which applies some Qt-specific settings. This deriver accepts the same arguments as <literal>stdenv.mkDerivation</literal>; refer to <xref linkend='chap-stdenv' /> for details. 30 - </para> 31 - <para> 32 - To use another deriver instead of <literal>stdenv.mkDerivation</literal>, use <literal>mkDerivationWith</literal>: 33 - <programlisting> 34 - mkDerivationWith myDeriver { 35 - # ... 36 - } 37 - </programlisting> 38 - If you cannot use <literal>mkDerivationWith</literal>, please refer to <xref linkend='qt-runtime-dependencies' />. 39 - </para> 40 - </callout> 41 - <callout arearefs='qt-default-nix-co-3'> 42 - <para> 43 - <literal>mkDerivation</literal> accepts the same arguments as <literal>stdenv.mkDerivation</literal>, such as <literal>buildInputs</literal>. 44 - </para> 37 + <callout arearefs="qt-default-nix-co-2'> 38 + <para> 39 + All Qt packages must include <literal>wrapQtAppsHook</literal> in 40 + <literal>nativeBuildInputs</literal>, or you must explicitly set 41 + <literal>dontWrapQtApps</literal>. 42 + </para> 45 43 </callout> 46 44 </calloutlist> 47 45 ``` 48 46 49 47 ## Locating runtime dependencies {#qt-runtime-dependencies} 50 - Qt applications need to be wrapped to find runtime dependencies. If you cannot use `mkDerivation` or `mkDerivationWith` above, include `wrapQtAppsHook` in `nativeBuildInputs`: 48 + 49 + Qt applications must be wrapped to find runtime dependencies. 50 + Include `wrapQtAppsHook` in `nativeBuildInputs`: 51 51 52 52 ```nix 53 + { stdenv, wrapQtAppsHook }: 54 + 53 55 stdenv.mkDerivation { 54 56 # ... 55 - 56 57 nativeBuildInputs = [ wrapQtAppsHook ]; 57 58 } 58 59 ``` 59 - Entries added to `qtWrapperArgs` are used to modify the wrappers created by `wrapQtAppsHook`. The entries are passed as arguments to [wrapProgram executable makeWrapperArgs](#fun-wrapProgram). 60 + 61 + Add entries to `qtWrapperArgs` are to modify the wrappers created by 62 + `wrapQtAppsHook`: 60 63 61 64 ```nix 62 - mkDerivation { 63 - # ... 65 + { stdenv, wrapQtAppsHook }: 64 66 67 + stdenv.mkDerivation { 68 + # ... 69 + nativeBuildInputs = [ wrapQtAppsHook ]; 65 70 qtWrapperArgs = [ ''--prefix PATH : /path/to/bin'' ]; 66 71 } 67 72 ``` 68 73 69 - Set `dontWrapQtApps` to stop applications from being wrapped automatically. It is required to wrap applications manually with `wrapQtApp`, using the syntax of [wrapProgram executable makeWrapperArgs](#fun-wrapProgram): 74 + The entries are passed as arguments to [wrapProgram](#fun-wrapProgram). 75 + 76 + Set `dontWrapQtApps` to stop applications from being wrapped automatically. 77 + Wrap programs manually with `wrapQtApp`, using the syntax of 78 + [wrapProgram](#fun-wrapProgram): 70 79 71 80 ```nix 72 - mkDerivation { 81 + { stdenv, lib, wrapQtAppsHook }: 82 + 83 + stdenv.mkDerivation { 73 84 # ... 74 - 85 + nativeBuildInputs = [ wrapQtAppsHook ]; 75 86 dontWrapQtApps = true; 76 87 preFixup = '' 77 88 wrapQtApp "$out/bin/myapp" --prefix PATH : /path/to/bin ··· 79 90 } 80 91 ``` 81 92 82 - > Note: `wrapQtAppsHook` ignores files that are non-ELF executables. This means that scripts won't be automatically wrapped so you'll need to manually wrap them as previously mentioned. An example of when you'd always need to do this is with Python applications that use PyQT. 93 + ::: note 94 + `wrapQtAppsHook` ignores files that are non-ELF executables. 95 + This means that scripts won't be automatically wrapped so you'll need to manually wrap them as previously mentioned. 96 + An example of when you'd always need to do this is with Python applications that use PyQt. 97 + ::: 83 98 84 - Libraries are built with every available version of Qt. Use the `meta.broken` attribute to disable the package for unsupported Qt versions: 99 + ## Adding a library to Nixpkgs 100 + Add Qt libraries to `qt5-packages.nix` to make them available for every 101 + supported Qt version. 85 102 86 - ```nix 87 - mkDerivation { 88 - # ... 89 - 90 - # Disable this library with Qt &lt; 5.9.0 91 - meta.broken = builtins.compareVersions qtbase.version "5.9.0" &lt; 0; 92 - } 93 - ``` 94 - ## Adding a library to Nixpkgs 95 - Qt libraries are added to `qt5-packages.nix` and are made available for every Qt 96 - version supported. 97 103 ### Example adding a Qt library {#qt-library-all-packages-nix} 98 104 99 105 The following represents the contents of `qt5-packages.nix`. ··· 106 112 # ... 107 113 } 108 114 ``` 115 + 116 + Libraries are built with every available version of Qt. 117 + Use the `meta.broken` attribute to disable the package for unsupported Qt versions: 118 + 119 + ```nix 120 + { stdenv, lib, qtbase }: 121 + 122 + stdenv.mkDerivation { 123 + # ... 124 + # Disable this library with Qt &lt; 5.9.0 125 + meta.broken = lib.versionOlder qtbase.version "5.9.0"; 126 + } 127 + ``` 128 + 109 129 ## Adding an application to Nixpkgs 110 - Applications that use Qt are also added to `qt5-packages.nix`. An alias is added 111 - in the top-level `all-packages.nix` pointing to the package with the desired Qt5 version. 130 + Add Qt applications to `qt5-packages.nix`. Add an alias to `all-packages.nix` 131 + to select the Qt 5 version used for the application. 112 132 113 133 ### Example adding a Qt application {#qt-application-all-packages-nix} 114 134
+2
pkgs/applications/audio/csound/csound-qt/default.nix
··· 40 40 "SHARE_DIR=${placeholder "out"}/share" 41 41 ]; 42 42 43 + dontWrapQtApps = true; 44 + 43 45 meta = with lib; { 44 46 description = "CsoundQt is a frontend for Csound with editor, integrated help, widgets and other features"; 45 47 homepage = "https://csoundqt.github.io/";
+2
pkgs/applications/audio/keyfinder/default.nix
··· 21 21 --replace "\$\$[QT_INSTALL_PREFIX]" "$out" 22 22 ''; 23 23 24 + dontWrapQtApps = true; 25 + 24 26 enableParallelBuilding = true; 25 27 26 28 meta = with lib; {
+2
pkgs/applications/audio/kmetronome/default.nix
··· 13 13 14 14 buildInputs = [ alsaLib drumstick qtbase qtsvg ]; 15 15 16 + dontWrapQtApps = true; 17 + 16 18 meta = with lib; { 17 19 homepage = "https://kmetronome.sourceforge.io/"; 18 20 description = "ALSA MIDI metronome with Qt interface";
+2
pkgs/applications/audio/nootka/default.nix
··· 21 21 "-DENABLE_PULSEAUDIO=ON" 22 22 ]; 23 23 24 + dontWrapQtApps = true; 25 + 24 26 meta = with lib; { 25 27 description = "Application for practicing playing musical scores and ear training"; 26 28 homepage = "https://nootka.sourceforge.io/";
+2
pkgs/applications/audio/nootka/unstable.nix
··· 17 17 qtbase qtdeclarative qtquickcontrols2 18 18 ]; 19 19 20 + dontWrapQtApps = true; 21 + 20 22 cmakeFlags = [ 21 23 "-DCMAKE_INCLUDE_PATH=${libjack2}/include/jack;${libpulseaudio.dev}/include/pulse" 22 24 "-DENABLE_JACK=ON"
+1
pkgs/applications/audio/ocenaudio/default.nix
··· 33 33 dontUnpack = true; 34 34 dontBuild = true; 35 35 dontStrip = true; 36 + dontWrapQtApps = true; 36 37 37 38 installPhase = '' 38 39 mkdir -p $out
+2
pkgs/applications/audio/playbar2/default.nix
··· 27 27 kwindowsystem 28 28 ]; 29 29 30 + dontWrapQtApps = true; 31 + 30 32 meta = with lib; { 31 33 description = "Mpris2 Client for Plasma5"; 32 34 homepage = "https://github.com/audoban/PlayBar2";
+2
pkgs/applications/audio/seq66/default.nix
··· 25 25 26 26 enableParallelBuilding = true; 27 27 28 + dontWrapQtApps = true; 29 + 28 30 meta = with lib; { 29 31 homepage = "https://github.com/ahlstromcj/seq66"; 30 32 description = "Loop based midi sequencer with Qt GUI derived from seq24 and sequencer64";
+2
pkgs/applications/audio/spectmorph/default.nix
··· 12 12 13 13 nativeBuildInputs = [ pkg-config ]; 14 14 15 + dontWrapQtApps = true; 16 + 15 17 meta = with lib; { 16 18 description = "Allows to analyze samples of musical instruments, and to combine them (morphing) to construct hybrid sounds"; 17 19 homepage = "http://spectmorph.org";
+2
pkgs/applications/blockchains/bitcoin-classic.nix
··· 28 28 29 29 enableParallelBuilding = true; 30 30 31 + dontWrapQtApps = true; 32 + 31 33 meta = { 32 34 description = "Peer-to-peer electronic cash system (Classic client)"; 33 35 longDescription= ''
+2
pkgs/applications/display-managers/lightdm/default.nix
··· 101 101 }) 102 102 ]; 103 103 104 + dontWrapQtApps = true; 105 + 104 106 preConfigure = "NOCONFIGURE=1 ./autogen.sh"; 105 107 106 108 configureFlags = [
+3
pkgs/applications/editors/code-browser/default.nix
··· 39 39 ] 40 40 ++ lib.optionals withQt [ "UI=qt" ] 41 41 ++ lib.optionals withGtk [ "UI=gtk" ]; 42 + 43 + dontWrapQtApps = true; 44 + 42 45 meta = with lib; { 43 46 description = "Folding text editor, designed to hierarchically structure any kind of text file and especially source code"; 44 47 homepage = "https://tibleiz.net/code-browser/";
+2
pkgs/applications/editors/kdevelop5/kdev-php.nix
··· 12 12 nativeBuildInputs = [ cmake extra-cmake-modules ]; 13 13 buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ]; 14 14 15 + dontWrapQtApps = true; 16 + 15 17 meta = with lib; { 16 18 maintainers = [ maintainers.aanderse ]; 17 19 platforms = platforms.linux;
+2
pkgs/applications/editors/kdevelop5/kdev-python.nix
··· 16 16 nativeBuildInputs = [ cmake extra-cmake-modules ]; 17 17 buildInputs = [ threadweaver ktexteditor kdevelop-unwrapped ]; 18 18 19 + dontWrapQtApps = true; 20 + 19 21 meta = with lib; { 20 22 maintainers = [ maintainers.aanderse ]; 21 23 platforms = platforms.linux;
+2
pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix
··· 17 17 18 18 buildInputs = [ qtbase ]; 19 19 20 + dontWrapQtApps = true; 21 + 20 22 meta = with lib; { 21 23 maintainers = [ maintainers.ambrop72 ]; 22 24 platforms = platforms.linux;
+2
pkgs/applications/editors/qxmledit/default.nix
··· 19 19 export QXMLEDIT_INST_DOC_DIR="$doc" 20 20 ''; 21 21 22 + dontWrapQtApps = true; 23 + 22 24 meta = with lib; { 23 25 description = "Simple XML editor based on qt libraries" ; 24 26 homepage = "https://sourceforge.net/projects/qxmledit";
+2
pkgs/applications/misc/gpsbabel/default.nix
··· 38 38 39 39 enableParallelBuilding = true; 40 40 41 + dontWrapQtApps = true; 42 + 41 43 doCheck = true; 42 44 preCheck = '' 43 45 patchShebangs testo
+2
pkgs/applications/misc/gpsbabel/gui.nix
··· 10 10 nativeBuildInputs = [ qmake qttools ]; 11 11 buildInputs = [ qtwebkit ]; 12 12 13 + dontWrapQtApps = true; 14 + 13 15 postPatch = '' 14 16 substituteInPlace mainwindow.cc \ 15 17 --replace "QApplication::applicationDirPath() + \"/" "\"" \
+2
pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix
··· 16 16 nativeBuildInputs = [ cmake extra-cmake-modules ]; 17 17 buildInputs = [ plasma-framework kwindowsystem plasma-pa ]; 18 18 19 + dontWrapQtApps = true; 20 + 19 21 meta = with lib; { 20 22 description = "A fork of the default volume plasmoid with a Windows 7 theme (vertical sliders)"; 21 23 homepage = "https://github.com/Zren/plasma-applet-volumewin7mixer";
+1
pkgs/applications/misc/redis-desktop-manager/default.nix
··· 32 32 ]; 33 33 34 34 dontUseQmakeConfigure = true; 35 + dontWrapQtApps = true; 35 36 36 37 NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated" ]; 37 38
+2
pkgs/applications/misc/redshift-plasma-applet/default.nix
··· 35 35 kwindowsystem 36 36 ]; 37 37 38 + dontWrapQtApps = true; 39 + 38 40 meta = with lib; { 39 41 description = "KDE Plasma 5 widget for controlling Redshift"; 40 42 homepage = "https://github.com/kotelnik/plasma-applet-redshift-control";
+2
pkgs/applications/misc/subsurface/default.nix
··· 52 52 53 53 buildInputs = [ qtbase qtlocation libXcomposite ]; 54 54 55 + dontWrapQtApps = true; 56 + 55 57 pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins"; 56 58 57 59 installPhase = ''
+2
pkgs/applications/networking/irc/communi/default.nix
··· 17 17 18 18 enableParallelBuilding = true; 19 19 20 + dontWrapQtApps = true; 21 + 20 22 preConfigure = '' 21 23 export QMAKEFEATURES=${libcommuni}/features 22 24 '';
+2
pkgs/applications/office/cb2bib/default.nix
··· 16 16 runHook postConfigure 17 17 ''; 18 18 19 + dontWrapQtApps = true; 20 + 19 21 meta = with lib; { 20 22 description = "Rapidly extract unformatted, or unstandardized bibliographic references from email alerts, journal Web pages and PDF files"; 21 23 homepage = "http://www.molspaces.com/d_cb2bib-overview.php";
+2
pkgs/applications/radio/gnuradio/default.nix
··· 218 218 passthru 219 219 doCheck 220 220 dontWrapPythonPrograms 221 + dontWrapQtApps 221 222 meta 222 223 ; 223 224 cmakeFlags = shared.cmakeFlags ··· 283 284 passthru 284 285 doCheck 285 286 dontWrapPythonPrograms 287 + dontWrapQtApps 286 288 meta 287 289 ; 288 290 }
+1
pkgs/applications/radio/gnuradio/shared.nix
··· 109 109 }; 110 110 # Wrapping is done with an external wrapper 111 111 dontWrapPythonPrograms = true; 112 + dontWrapQtApps = true; 112 113 # Tests should succeed, but it's hard to get LD_LIBRARY_PATH right in order 113 114 # for it to happen. 114 115 doCheck = false;
+2
pkgs/applications/radio/unixcw/default.nix
··· 12 12 buildInputs = [libpulseaudio alsaLib pkg-config qt5.qtbase]; 13 13 CFLAGS ="-lasound -lpulse-simple"; 14 14 15 + dontWrapQtApps = true; 16 + 15 17 meta = with lib; { 16 18 description = "sound characters as Morse code on the soundcard or console speaker"; 17 19 longDescription = ''
+2
pkgs/applications/science/logic/mcrl2/default.nix
··· 13 13 nativeBuildInputs = [ cmake ]; 14 14 buildInputs = [ libGLU libGL qt5.qtbase boost ]; 15 15 16 + dontWrapQtApps = true; 17 + 16 18 meta = with lib; { 17 19 description = "A toolset for model-checking concurrent systems and protocols"; 18 20 longDescription = ''
+1
pkgs/applications/version-management/bcompare/default.nix
··· 48 48 49 49 dontBuild = true; 50 50 dontConfigure = true; 51 + dontWrapQtApps = true; 51 52 52 53 meta = with lib; { 53 54 description = "GUI application that allows to quickly and easily compare files and folders";
+2
pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
··· 25 25 26 26 NIX_LDFLAGS = "-lsvn_fs-1"; 27 27 28 + dontWrapQtApps = true; 29 + 28 30 meta = with lib; { 29 31 homepage = "https://github.com/svn-all-fast-export/svn2git"; 30 32 description = "A fast-import based converter for an svn repo to git repos";
+2
pkgs/applications/video/obs-studio/obs-ndi.nix
··· 31 31 "-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api" 32 32 ]; 33 33 34 + dontWrapQtApps = true; 35 + 34 36 meta = with lib; { 35 37 description = "Network A/V plugin for OBS Studio"; 36 38 homepage = "https://github.com/Palakis/obs-ndi";
+2
pkgs/applications/video/obs-studio/v4l2sink.nix
··· 21 21 nativeBuildInputs = [ cmake ]; 22 22 buildInputs = [ qtbase obs-studio ]; 23 23 24 + dontWrapQtApps = true; 25 + 24 26 patches = [ 25 27 # Fixes the segfault when stopping the plugin 26 28 (fetchpatch {
+2
pkgs/applications/video/openshot-qt/libopenshot.nix
··· 41 41 ++ optional stdenv.isDarwin llvmPackages.openmp 42 42 ; 43 43 44 + dontWrapQtApps = true; 45 + 44 46 LIBOPENSHOT_AUDIO_DIR = libopenshot-audio; 45 47 "UNITTEST++_INCLUDE_DIR" = "${unittest-cpp}/include/UnitTest++"; 46 48
+2
pkgs/data/icons/maia-icon-theme/default.nix
··· 35 35 36 36 dontDropIconThemeCache = true; 37 37 38 + dontWrapQtApps = true; 39 + 38 40 postInstall = '' 39 41 for theme in $out/share/icons/*; do 40 42 gtk-update-icon-cache $theme
+2
pkgs/development/interpreters/supercollider/default.nix
··· 31 31 ++ optional (!stdenv.isDarwin) alsaLib 32 32 ++ optional useSCEL emacs; 33 33 34 + dontWrapQtApps = true; 35 + 34 36 meta = with lib; { 35 37 description = "Programming language for real time audio synthesis"; 36 38 homepage = "https://supercollider.github.io";
+2
pkgs/development/libraries/aqbanking/gwenhywfar.nix
··· 57 57 58 58 buildInputs = [ gtk2 gtk3 qt5.qtbase gnutls openssl libgcrypt libgpgerror ]; 59 59 60 + dontWrapQtApps = true; 61 + 60 62 meta = with lib; { 61 63 description = "OS abstraction functions used by aqbanking and related tools"; 62 64 homepage = "http://www2.aquamaniac.de/sites/download/packages.php?package=01&showall=1";
+2
pkgs/development/libraries/audio/suil/default.nix
··· 22 22 ++ (lib.optionals withQt4 [ qt4 ]) 23 23 ++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ])); 24 24 25 + dontWrapQtApps = true; 26 + 25 27 meta = with lib; { 26 28 homepage = "http://drobilla.net/software/suil"; 27 29 description = "A lightweight C library for loading and wrapping LV2 plugin UIs";
+1
pkgs/development/libraries/dxflib/default.nix
··· 13 13 nativeBuildInputs = [ 14 14 qmake 15 15 ]; 16 + dontWrapQtApps = true; 16 17 preConfigure = '' 17 18 sed -i 's/CONFIG += staticlib/CONFIG += shared/' dxflib.pro 18 19 '';
+2
pkgs/development/libraries/g2o/default.nix
··· 23 23 # Silence noisy warning 24 24 CXXFLAGS = "-Wno-deprecated-copy"; 25 25 26 + dontWrapQtApps = true; 27 + 26 28 cmakeFlags = [ 27 29 # Detection script is broken 28 30 "-DQGLVIEWER_INCLUDE_DIR=${libqglviewer}/include/QGLViewer"
+1
pkgs/development/libraries/gecode/default.nix
··· 12 12 }; 13 13 14 14 enableParallelBuilding = true; 15 + dontWrapQtApps = true; 15 16 nativeBuildInputs = [ bison flex ]; 16 17 buildInputs = [ perl gmp mpfr ] 17 18 ++ lib.optional enableGist qtbase;
+2
pkgs/development/libraries/gpgme/default.nix
··· 50 50 51 51 depsBuildBuild = [ buildPackages.stdenv.cc ]; 52 52 53 + dontWrapQtApps = true; 54 + 53 55 configureFlags = [ 54 56 "--enable-fixed-path=${gnupg}/bin" 55 57 "--with-libgpg-error-prefix=${libgpgerror.dev}"
+2
pkgs/development/libraries/kpmcore/default.nix
··· 24 24 25 25 nativeBuildInputs = [ extra-cmake-modules ]; 26 26 27 + dontWrapQtApps = true; 28 + 27 29 meta = with lib; { 28 30 maintainers = with lib.maintainers; [ peterhoeg ]; 29 31 # The build requires at least Qt 5.14:
+2
pkgs/development/libraries/libcommuni/default.nix
··· 21 21 dontUseQmakeConfigure = true; 22 22 configureFlags = [ "-config" "release" ]; 23 23 24 + dontWrapQtApps = true; 25 + 24 26 preConfigure = '' 25 27 sed -i -e 's|/bin/pwd|pwd|g' configure 26 28 '';
+2
pkgs/development/libraries/libdbusmenu-qt/default.nix
··· 20 20 21 21 cmakeFlags = [ "-DWITH_DOC=OFF" ]; 22 22 23 + dontWrapQtApps = true; 24 + 23 25 meta = with lib; { 24 26 description = "Provides a Qt implementation of the DBusMenu spec"; 25 27 inherit homepage;
+2
pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
··· 15 15 16 16 cmakeFlags = [ "-DWITH_DOC=OFF" ]; 17 17 18 + dontWrapQtApps = true; 19 + 18 20 meta = with lib; { 19 21 homepage = "https://launchpad.net/libdbusmenu-qt"; 20 22 description = "Provides a Qt implementation of the DBusMenu spec";
+2
pkgs/development/libraries/libkeyfinder/default.nix
··· 14 14 nativeBuildInputs = [ qmake ]; 15 15 buildInputs = [ fftw qtbase ]; 16 16 17 + dontWrapQtApps = true; 18 + 17 19 postPatch = '' 18 20 substituteInPlace LibKeyFinder.pro \ 19 21 --replace "/usr/local" "$out" \
+2
pkgs/development/libraries/libktorrent/default.nix
··· 27 27 inherit mainVersion; 28 28 }; 29 29 30 + dontWrapQtApps = true; 31 + 30 32 meta = with lib; { 31 33 description = "A BitTorrent library used by KTorrent"; 32 34 homepage = "https://www.kde.org/applications/internet/ktorrent/";
+2
pkgs/development/libraries/liblastfm/default.nix
··· 23 23 buildInputs = [ fftwSinglePrec libsamplerate qtbase ] 24 24 ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.SystemConfiguration; 25 25 26 + dontWrapQtApps = true; 27 + 26 28 meta = with lib; { 27 29 homepage = "https://github.com/lastfm/liblastfm"; 28 30 repositories.git = "git://github.com/lastfm/liblastfm.git";
+2
pkgs/development/libraries/libqglviewer/default.nix
··· 13 13 buildInputs = [ qtbase libGLU ] 14 14 ++ lib.optional stdenv.isDarwin AGL; 15 15 16 + dontWrapQtApps = true; 17 + 16 18 postPatch = '' 17 19 cd QGLViewer 18 20 '';
+2
pkgs/development/libraries/opencsg/default.nix
··· 33 33 rmdir $out/bin || true 34 34 ''; 35 35 36 + dontWrapQtApps = true; 37 + 36 38 postFixup = lib.optionalString stdenv.isDarwin '' 37 39 app=$out/Applications/opencsgexample.app/Contents/MacOS/opencsgexample 38 40 install_name_tool -change \
+2
pkgs/development/libraries/phonon/backends/gstreamer.nix
··· 26 26 # on system paths being set. 27 27 patches = [ ./gst-plugin-paths.patch ]; 28 28 29 + dontWrapQtApps = true; 30 + 29 31 NIX_CFLAGS_COMPILE = 30 32 let gstPluginPaths = 31 33 lib.makeSearchPathOutput "lib" "/lib/gstreamer-1.0"
+2
pkgs/development/libraries/phonon/backends/vlc.nix
··· 35 35 extra-cmake-modules 36 36 ]; 37 37 38 + dontWrapQtApps = true; 39 + 38 40 cmakeFlags = [ 39 41 "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" 40 42 ];
+2
pkgs/development/libraries/phonon/default.nix
··· 58 58 "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" 59 59 ]; 60 60 61 + dontWrapQtApps = true; 62 + 61 63 preConfigure = '' 62 64 cmakeFlags+=" -DPHONON_QT_MKSPECS_INSTALL_DIR=''${!outputDev}/mkspecs" 63 65 cmakeFlags+=" -DPHONON_QT_IMPORTS_INSTALL_DIR=''${!outputBin}/$qtQmlPrefix"
+2
pkgs/development/libraries/polkit-qt-1/qt-5.nix
··· 16 16 17 17 propagatedBuildInputs = [ polkit glib qtbase ]; 18 18 19 + dontWrapQtApps = true; 20 + 19 21 postFixup = '' 20 22 # Fix library location in CMake module 21 23 sed -i "$dev/lib/cmake/PolkitQt5-1/PolkitQt5-1Config.cmake" \
+2
pkgs/development/libraries/poppler/0.61.nix
··· 53 53 (mkFlag qt5Support "QT5") 54 54 ]; 55 55 56 + dontWrapQtApps = true; 57 + 56 58 meta = with lib; { 57 59 homepage = "https://poppler.freedesktop.org/"; 58 60 description = "A PDF rendering library";
+2
pkgs/development/libraries/poppler/default.nix
··· 38 38 sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt 39 39 ''; 40 40 41 + dontWrapQtApps = true; 42 + 41 43 cmakeFlags = [ 42 44 (mkFlag true "UNSTABLE_API_ABI_HEADERS") # previously "XPDF_HEADERS" 43 45 (mkFlag (!minimal) "GLIB")
+2
pkgs/development/libraries/pyotherside/default.nix
··· 17 17 python3 qtbase qtquickcontrols qtsvg ncurses 18 18 ]; 19 19 20 + dontWrapQtApps = true; 21 + 20 22 patches = [ ./qml-path.patch ]; 21 23 installTargets = [ "sub-src-install_subtargets" ]; 22 24
+2
pkgs/development/libraries/python-qt/default.nix
··· 22 22 "PYTHON_PATH=${python}/bin" 23 23 "PYTHON_LIB=${python}/lib"]; 24 24 25 + dontWrapQtApps = true; 26 + 25 27 unpackCmd = "unzip $src"; 26 28 27 29 installPhase = ''
+2
pkgs/development/libraries/qca-qt5/default.nix
··· 12 12 buildInputs = [ openssl qtbase ]; 13 13 nativeBuildInputs = [ cmake pkg-config ]; 14 14 15 + dontWrapQtApps = true; 16 + 15 17 # Without this patch cmake fails with a "No known features for CXX compiler" 16 18 # error on darwin 17 19 patches = lib.optional stdenv.isDarwin ./move-project.patch ;
+1
pkgs/development/libraries/qmlbox2d/default.nix
··· 9 9 }; 10 10 11 11 enableParallelBuilding = true; 12 + dontWrapQtApps = true; 12 13 nativeBuildInputs = [ qmake ]; 13 14 14 15 buildInputs = [ qtdeclarative ];
+2
pkgs/development/libraries/qmltermwidget/default.nix
··· 32 32 33 33 enableParallelBuilding = true; 34 34 35 + dontWrapQtApps = true; 36 + 35 37 meta = { 36 38 description = "A QML port of qtermwidget"; 37 39 homepage = "https://github.com/Swordfish90/qmltermwidget";
+2
pkgs/development/libraries/qoauth/default.nix
··· 21 21 NIX_CFLAGS_COMPILE = "-I${qca-qt5}/include/Qca-qt5/QtCrypto"; 22 22 NIX_LDFLAGS = "-lqca-qt5"; 23 23 24 + dontWrapQtApps = true; 25 + 24 26 meta = with lib; { 25 27 description = "Qt library for OAuth authentication"; 26 28 inherit (qtbase.meta) platforms;
+1
pkgs/development/libraries/qscintilla/default.nix
··· 35 35 ''; 36 36 37 37 enableParallelBuilding = true; 38 + dontWrapQtApps = true; 38 39 39 40 postPatch = '' 40 41 substituteInPlace qscintilla.pro \
+2 -1
pkgs/development/libraries/qt-5/5.12/default.nix
··· 145 145 patches = patches.qtbase; 146 146 inherit bison cups harfbuzz libGL; 147 147 withGtk3 = true; inherit dconf gtk3; 148 - inherit developerBuild decryptSslTraffic; 148 + inherit debug developerBuild decryptSslTraffic; 149 149 }; 150 150 151 151 qtcharts = callPackage ../modules/qtcharts.nix {}; ··· 197 197 qmake = makeSetupHook { 198 198 deps = [ self.qtbase.dev ]; 199 199 substitutions = { 200 + inherit debug; 200 201 fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; 201 202 }; 202 203 } ../hooks/qmake-hook.sh;
+2 -1
pkgs/development/libraries/qt-5/5.14/default.nix
··· 149 149 patches = patches.qtbase; 150 150 inherit bison cups harfbuzz libGL; 151 151 withGtk3 = true; inherit dconf gtk3; 152 - inherit developerBuild decryptSslTraffic; 152 + inherit debug developerBuild decryptSslTraffic; 153 153 }; 154 154 155 155 qtcharts = callPackage ../modules/qtcharts.nix {}; ··· 199 199 qmake = makeSetupHook { 200 200 deps = [ self.qtbase.dev ]; 201 201 substitutions = { 202 + inherit debug; 202 203 fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; 203 204 }; 204 205 } ../hooks/qmake-hook.sh;
+1
pkgs/development/libraries/qt-5/5.15/default.nix
··· 179 179 qmake = makeSetupHook { 180 180 deps = [ self.qtbase.dev ]; 181 181 substitutions = { 182 + inherit debug; 182 183 fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; 183 184 }; 184 185 } ../hooks/qmake-hook.sh;
+11 -1
pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
··· 3 3 qmakeFlags=( ${qmakeFlags-} ) 4 4 5 5 qmakePrePhase() { 6 + qmakeFlags_orig=( "${qmakeFlags[@]}" ) 7 + 8 + # These flags must be added _before_ the flags specified in the derivation. 6 9 qmakeFlags=( \ 7 10 "PREFIX=$out" \ 8 11 "NIX_OUTPUT_OUT=$out" \ ··· 11 14 "NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?}" \ 12 15 "NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?}" \ 13 16 "NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?}" \ 14 - "${qmakeFlags[@]}" \ 15 17 ) 18 + 19 + if [ -n "@debug@" ]; then 20 + qmakeFlags+=( "CONFIG+=debug" ) 21 + else 22 + qmakeFlags+=( "CONFIG+=release" ) 23 + fi 24 + 25 + qmakeFlags+=( "${qmakeFlags_orig[@]}" ) 16 26 } 17 27 prePhases+=" qmakePrePhase" 18 28
+46
pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
··· 1 + if [[ -n "${__nix_qtbase-}" ]]; then 2 + # Throw an error if a different version of Qt was already set up. 3 + if [[ "$__nix_qtbase" != "@dev@" ]]; then 4 + echo >&2 "Error: detected mismatched Qt dependencies:" 5 + echo >&2 " @dev@" 6 + echo >&2 " $__nix_qtbase" 7 + exit 1 8 + fi 9 + else # Only set up Qt once. 10 + __nix_qtbase="@dev@" 11 + 1 12 qtPluginPrefix=@qtPluginPrefix@ 2 13 qtQmlPrefix=@qtQmlPrefix@ 3 14 qtDocPrefix=@qtDocPrefix@ ··· 5 16 . @fix_qt_builtin_paths@ 6 17 . @fix_qt_module_paths@ 7 18 19 + # Disable debug symbols if qtbase was built without debugging. 20 + # This stops -dev paths from leaking into other outputs. 21 + if [ -z "@debug@" ]; then 22 + NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE-}${NIX_CFLAGS_COMPILE:+ }-DQT_NO_DEBUG" 23 + fi 24 + 25 + # Integration with CMake: 26 + # Set the CMake build type corresponding to how qtbase was built. 27 + if [ -n "@debug@" ]; then 28 + cmakeBuildType="Debug" 29 + else 30 + cmakeBuildType="Release" 31 + fi 32 + 8 33 providesQtRuntime() { 9 34 [ -d "$1/$qtPluginPrefix" ] || [ -d "$1/$qtQmlPrefix" ] 10 35 } ··· 19 44 QMAKEMODULES= 20 45 export QMAKEMODULES 21 46 47 + declare -Ag qmakePathSeen=() 22 48 qmakePathHook() { 49 + # Skip this path if we have seen it before. 50 + # MUST use 'if' because 'qmakePathSeen[$]' may be unset. 51 + if [ -n "${qmakePathSeen[$1]-}" ]; then return; fi 52 + qmakePathSeen[$1]=1 23 53 if [ -d "$1/mkspecs" ] 24 54 then 25 55 QMAKEMODULES="${QMAKEMODULES}${QMAKEMODULES:+:}/mkspecs" ··· 34 64 # package depending on the building package. (This is necessary in case 35 65 # the building package does not provide runtime dependencies itself and so 36 66 # would not be propagated to the user environment.) 67 + declare -Ag qtEnvHostTargetSeen=() 37 68 qtEnvHostTargetHook() { 69 + # Skip this path if we have seen it before. 70 + # MUST use 'if' because 'qmakePathSeen[$]' may be unset. 71 + if [ -n "${qtEnvHostTargetSeen[$1]-}" ]; then return; fi 72 + qtEnvHostTargetSeen[$1]=1 38 73 if providesQtRuntime "$1" && [ "z${!outputBin}" != "z${!outputDev}" ] 39 74 then 40 75 propagatedBuildInputs+=" $1" ··· 64 99 if [ -z "${dontPatchMkspecs-}" ]; then 65 100 postPhases="${postPhases-}${postPhases:+ }postPatchMkspecs" 66 101 fi 102 + 103 + qtPreHook() { 104 + # Check that wrapQtAppsHook is used, or it is explicitly disabled. 105 + if [[ -z "$__nix_wrapQtAppsHook" && -z "$dontWrapQtApps" ]]; then 106 + echo >&2 "Error: wrapQtAppsHook is not used, and dontWrapQtApps is not set." 107 + exit 1 108 + fi 109 + } 110 + prePhases+=" qtPreHook" 111 + 112 + fi
+5
pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
··· 1 + if [[ -z "${__nix_wrapQtAppsHook-}" ]]; then 2 + __nix_wrapQtAppsHook=1 # Don't run this hook more than once. 3 + 1 4 # Inherit arguments given in mkDerivation 2 5 qtWrapperArgs=( ${qtWrapperArgs-} ) 3 6 ··· 100 103 } 101 104 102 105 fixupOutputHooks+=(wrapQtAppsHook) 106 + 107 + fi
-15
pkgs/development/libraries/qt-5/mkDerivation.nix
··· 9 9 let 10 10 args_ = { 11 11 12 - qmakeFlags = [ ("CONFIG+=" + (if debug then "debug" else "release")) ] 13 - ++ (args.qmakeFlags or []); 14 - 15 - NIX_CFLAGS_COMPILE = toString ( 16 - optional (!debug) "-DQT_NO_DEBUG" 17 - ++ lib.toList (args.NIX_CFLAGS_COMPILE or [])); 18 - 19 - cmakeFlags = 20 - (args.cmakeFlags or []) 21 - ++ [ 22 - ("-DCMAKE_BUILD_TYPE=" + (if debug then "Debug" else "Release")) 23 - ]; 24 - 25 - enableParallelBuilding = args.enableParallelBuilding or true; 26 - 27 12 nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ wrapQtAppsHook ]; 28 13 29 14 };
+6
pkgs/development/libraries/qt-5/modules/qtbase.nix
··· 22 22 libGL, 23 23 buildExamples ? false, 24 24 buildTests ? false, 25 + debug ? false, 25 26 developerBuild ? false, 26 27 decryptSslTraffic ? false 27 28 }: ··· 33 34 compareVersion = v: builtins.compareVersions version v; 34 35 qmakeCacheName = 35 36 if compareVersion "5.12.4" < 0 then ".qmake.cache" else ".qmake.stash"; 37 + debugSymbols = debug || developerBuild; 36 38 in 37 39 38 40 stdenv.mkDerivation { 39 41 40 42 name = "qtbase-${version}"; 41 43 inherit qtCompatVersion src version; 44 + debug = debugSymbols; 42 45 43 46 propagatedBuildInputs = 44 47 [ ··· 241 244 "-I" "${icu.dev}/include" 242 245 "-pch" 243 246 ] 247 + ++ lib.optional debugSymbols "-debug" 244 248 ++ lib.optionals (compareVersion "5.11.0" < 0) 245 249 [ 246 250 "-qml-debug" ··· 396 400 sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \ 397 401 -e "/^host_bins=/ c host_bins=$dev/bin" 398 402 ''; 403 + 404 + dontStrip = debugSymbols; 399 405 400 406 setupHook = ../hooks/qtbase-setup-hook.sh; 401 407
+2
pkgs/development/libraries/qt-5/qtModule.nix
··· 34 34 fixQtBuiltinPaths . '*.pr?' 35 35 ''; 36 36 37 + dontWrapQtApps = args.dontWrapQtApps or true; 38 + 37 39 postFixup = '' 38 40 if [ -d "''${!outputDev}/lib/pkgconfig" ]; then 39 41 find "''${!outputDev}/lib/pkgconfig" -name '*.pc' | while read pc; do
+1
pkgs/development/libraries/qtinstaller/default.nix
··· 18 18 setOutputFlags = false; 19 19 enableParallelBuilding = true; 20 20 NIX_QT_SUBMODULE = true; 21 + dontWrapQtApps = true; 21 22 22 23 installPhase = '' 23 24 mkdir -p $out/{bin,lib,share/qt-installer-framework}
+2
pkgs/development/libraries/qtkeychain/default.nix
··· 19 19 sha256 = "0h4wgngn2yl35hapbjs24amkjfbzsvnna4ixfhn87snjnq5lmjbc"; # v0.9.1 20 20 }; 21 21 22 + dontWrapQtApps = true; 23 + 22 24 patches = (if withQt5 then [] else [ ./0001-Fixes-build-with-Qt4.patch ]) ++ (if stdenv.isDarwin then [ ./0002-Fix-install-name-Darwin.patch ] else []); 23 25 24 26 cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
+2
pkgs/development/libraries/qtpbfimageplugin/default.nix
··· 14 14 nativeBuildInputs = [ qmake ]; 15 15 buildInputs = [ qtbase protobuf ]; 16 16 17 + dontWrapQtApps = true; 18 + 17 19 postPatch = '' 18 20 # Fix plugin dir 19 21 substituteInPlace pbfplugin.pro \
+2
pkgs/development/libraries/qtutilities/default.nix
··· 22 22 buildInputs = [ qtbase cpp-utilities ]; 23 23 nativeBuildInputs = [ cmake qttools ]; 24 24 25 + dontWrapQtApps = true; 26 + 25 27 meta = with lib; { 26 28 homepage = "https://github.com/Martchus/qtutilities"; 27 29 description = "Common C++ classes and routines used by @Martchus' applications featuring argument parser, IO and conversion utilities";
+2
pkgs/development/libraries/qtwebkit-plugins/default.nix
··· 14 14 15 15 buildInputs = [ qtwebkit hunspell ]; 16 16 17 + dontWrapQtApps = true; 18 + 17 19 postPatch = '' 18 20 sed -i "s,-lhunspell,-lhunspell-${lib.versions.majorMinor hunspell.version}," src/spellcheck/spellcheck.pri 19 21 sed -i "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix," src/src.pro
+2
pkgs/development/libraries/quazip/default.nix
··· 15 15 nativeBuildInputs = [ cmake ] 16 16 ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; 17 17 18 + dontWrapQtApps = true; 19 + 18 20 meta = with lib; { 19 21 description = "Provides access to ZIP archives from Qt programs"; 20 22 license = licenses.lgpl21Plus;
+2
pkgs/development/libraries/qwt/6.nix
··· 17 17 18 18 qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ]; 19 19 20 + dontWrapQtApps = true; 21 + 20 22 meta = with lib; { 21 23 description = "Qt widgets for technical applications"; 22 24 homepage = "http://qwt.sourceforge.net/";
+2
pkgs/development/libraries/soqt/default.nix
··· 17 17 18 18 nativeBuildInputs = [ cmake pkg-config ]; 19 19 20 + dontWrapQtApps = true; 21 + 20 22 meta = with lib; { 21 23 homepage = "https://github.com/coin3d/soqt"; 22 24 license = licenses.bsd3;
+2
pkgs/development/libraries/telepathy/qt/default.nix
··· 20 20 # On 0.9.7, they do not even build with QT4 21 21 cmakeFlags = lib.optional (!doCheck) "-DENABLE_TESTS=OFF"; 22 22 23 + dontWrapQtApps = true; 24 + 23 25 doCheck = false; # giving up for now 24 26 25 27 meta = with lib; {
+2
pkgs/development/libraries/vtk/generic.nix
··· 57 57 export LD_LIBRARY_PATH="$(pwd)/lib"; 58 58 ''; 59 59 60 + dontWrapQtApps = true; 61 + 60 62 # Shared libraries don't work, because of rpath troubles with the current 61 63 # nixpkgs cmake approach. It wants to call a binary at build time, just 62 64 # built and requiring one of the shared objects.
+2
pkgs/development/python-modules/ovito/default.nix
··· 30 30 31 31 propagatedBuildInputs = with python.pkgs; [ sphinx numpy sip pyqt5 matplotlib ase ]; 32 32 33 + dontWrapQtApps = true; 34 + 33 35 meta = with lib; { 34 36 description = "Scientific visualization and analysis software for atomistic simulation data"; 35 37 homepage = "https://www.ovito.org";
+1 -2
pkgs/development/python-modules/pivy/default.nix
··· 29 29 ]; 30 30 31 31 dontUseQmakeConfigure = true; 32 - dontUseCmakeConfigure = true; 33 - 32 + dontWrapQtApps =true; 34 33 doCheck = false; 35 34 36 35 postPatch = ''
+2
pkgs/development/python-modules/poppler-qt5/default.nix
··· 34 34 # no tests, just bindings for `poppler_qt5` 35 35 doCheck = false; 36 36 37 + dontWrapQtApps = true; 38 + 37 39 meta = with lib; { 38 40 homepage = "https://github.com/wbsoft/python-poppler-qt5"; 39 41 license = licenses.gpl2;
+2
pkgs/development/python-modules/pyqt/5.x.nix
··· 57 57 58 58 outputs = [ "out" "dev" ]; 59 59 60 + dontWrapQtApps = true; 61 + 60 62 nativeBuildInputs = [ 61 63 pkg-config 62 64 qmake
+2
pkgs/development/python-modules/pyqtwebengine/default.nix
··· 45 45 propagatedBuildInputs = [ pyqt5 ] 46 46 ++ lib.optional (!isPy3k) enum34; 47 47 48 + dontWrapQtApps = true; 49 + 48 50 configurePhase = '' 49 51 runHook preConfigure 50 52
+2
pkgs/development/python-modules/pyside/default.nix
··· 23 23 24 24 makeFlags = [ "QT_PLUGIN_PATH=${pysideShiboken}/lib/generatorrunner" ]; 25 25 26 + dontWrapQtApps = true; 27 + 26 28 meta = { 27 29 description = "LGPL-licensed Python bindings for the Qt cross-platform application and UI framework"; 28 30 license = lib.licenses.lgpl21;
+2
pkgs/development/python-modules/pyside2-tools/default.nix
··· 25 25 "-DBUILD_TESTS=OFF" 26 26 ]; 27 27 28 + dontWrapQtApps = true; 29 + 28 30 # The upstream build system consists of a `setup.py` whichs builds three 29 31 # different python libraries and calls cmake as a subprocess. We call cmake 30 32 # directly because that's easier to get working. However, the `setup.py`
+2
pkgs/development/python-modules/pyside2/default.nix
··· 30 30 ]; 31 31 propagatedBuildInputs = [ shiboken2 ]; 32 32 33 + dontWrapQtApps = true; 34 + 33 35 meta = with lib; { 34 36 description = "LGPL-licensed Python bindings for Qt"; 35 37 license = licenses.lgpl21;
+2
pkgs/development/python-modules/qscintilla-qt5/default.nix
··· 14 14 buildInputs = [ qscintilla ]; 15 15 propagatedBuildInputs = [ pyqt5 ]; 16 16 17 + dontWrapQtApps = true; 18 + 17 19 postPatch = '' 18 20 substituteInPlace Python/configure.py \ 19 21 --replace \
+2
pkgs/development/python-modules/roboschool/default.nix
··· 44 44 boost 45 45 ]; 46 46 47 + dontWrapQtApps = true; 48 + 47 49 NIX_CFLAGS_COMPILE="-I ${python}/include/${python.libPrefix}"; 48 50 49 51 patches = [
+2
pkgs/development/python-modules/shiboken2/default.nix
··· 23 23 "-DBUILD_TESTS=OFF" 24 24 ]; 25 25 26 + dontWrapQtApps = true; 27 + 26 28 postInstall = '' 27 29 rm $out/bin/shiboken_tool.py 28 30 '';
+2
pkgs/development/tools/analysis/panopticon/default.nix
··· 23 23 git 24 24 ]; 25 25 26 + dontWrapQtApps = true; 27 + 26 28 cargoSha256 = "1hdsn011y9invfy7can8c02zwa7birj9y1rxhrj7wyv4gh3659i0"; 27 29 doCheck = false; 28 30
+2
pkgs/development/tools/analysis/qcachegrind/default.nix
··· 12 12 13 13 nativeBuildInputs = [ qmake ]; 14 14 15 + dontWrapQtApps = true; 16 + 15 17 postInstall = '' 16 18 mkdir -p $out/bin 17 19 cp -p converters/dprof2calltree $out/bin/dprof2calltree
+3 -2
pkgs/development/tools/build-managers/cmake/default.nix
··· 14 14 assert withQt5 -> useQt4 == false; 15 15 assert useQt4 -> withQt5 == false; 16 16 17 - stdenv.mkDerivation rec { 17 + stdenv.mkDerivation (rec { 18 18 pname = "cmake" 19 19 + lib.optionalString isBootstrap "-boot" 20 20 + lib.optionalString useNcurses "-cursesUI" ··· 130 130 maintainers = with maintainers; [ ttuegel lnl7 ]; 131 131 license = licenses.bsd3; 132 132 }; 133 - } 133 + } // (if withQt5 then { dontWrapQtApps = true; } else {}) 134 + )
+2
pkgs/development/tools/build-managers/qbs/default.nix
··· 14 14 15 15 nativeBuildInputs = [ qmake ]; 16 16 17 + dontWrapQtApps = true; 18 + 17 19 qmakeFlags = [ "QBS_INSTALL_PREFIX=$(out)" "qbs.pro" ]; 18 20 19 21 buildInputs = [ qtbase qtscript ];
+1
pkgs/development/tools/minizinc/ide.nix
··· 19 19 sourceRoot = "source/MiniZincIDE"; 20 20 21 21 enableParallelBuilding = true; 22 + dontWrapQtApps = true; 22 23 23 24 postInstall = '' 24 25 wrapProgram $out/bin/MiniZincIDE --prefix PATH ":" ${lib.makeBinPath [ minizinc ]}
+2
pkgs/development/tools/misc/kdbg/default.nix
··· 18 18 wrapProgram $out/bin/kdbg --prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix} 19 19 ''; 20 20 21 + dontWrapQtApps = true; 22 + 21 23 meta = with lib; { 22 24 homepage = "https://www.kdbg.org/"; 23 25 description = ''
+2
pkgs/development/tools/phantomjs2/default.nix
··· 77 77 78 78 enableParallelBuilding = true; 79 79 80 + dontWrapQtApps = true; 81 + 80 82 installPhase = '' 81 83 mkdir -p $out/share/doc/phantomjs 82 84 cp -a bin $out
+2
pkgs/development/tools/rgp/default.nix
··· 53 53 "${placeholder "out"}/opt/rgp/qt" 54 54 ]; 55 55 56 + dontWrapQtApps = true; 57 + 56 58 installPhase = '' 57 59 mkdir -p $out/opt/rgp $out/bin 58 60 cp -r . $out/opt/rgp/
+2
pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
··· 20 20 cp -r DwarfTherapist.app $out/Applications 21 21 '' else null; 22 22 23 + dontWrapQtApps = true; 24 + 23 25 meta = with lib; { 24 26 description = "Tool to manage dwarves in a running game of Dwarf Fortress"; 25 27 maintainers = with maintainers; [ abbradar bendlas numinit jonringer ];
+2
pkgs/games/freeciv/default.nix
··· 38 38 ++ optional server readline 39 39 ++ optional enableSqlite sqlite; 40 40 41 + dontWrapQtApps = true; 42 + 41 43 configureFlags = [ "--enable-shared" ] 42 44 ++ optional sdlClient "--enable-client=sdl" 43 45 ++ optionals qtClient [
+2
pkgs/games/leela-zero/default.nix
··· 17 17 18 18 nativeBuildInputs = [ cmake ]; 19 19 20 + dontWrapQtApps = true; 21 + 20 22 meta = with lib; { 21 23 description = "Go engine modeled after AlphaGo Zero"; 22 24 homepage = "https://github.com/gcp/leela-zero";
+2
pkgs/games/openmw/default.nix
··· 30 30 "-DDESIRED_QT_VERSION:INT=5" 31 31 ]; 32 32 33 + dontWrapQtApps = true; 34 + 33 35 meta = with lib; { 34 36 description = "An unofficial open source engine reimplementation of the game Morrowind"; 35 37 homepage = "http://openmw.org";
+2
pkgs/games/openmw/tes3mp.nix
··· 61 61 "-DRakNet_LIBRARY_DEBUG=${rakNetLibrary}/lib/libRakNetLibStatic.a" 62 62 ]; 63 63 64 + dontWrapQtApps = true; 65 + 64 66 # https://github.com/TES3MP/openmw-tes3mp/issues/552 65 67 patches = [ 66 68 ./tes3mp.patch
+2
pkgs/misc/emulators/citra/default.nix
··· 14 14 nativeBuildInputs = [ cmake ]; 15 15 buildInputs = [ SDL2 qtbase qtmultimedia boost ]; 16 16 17 + dontWrapQtApps = true; 18 + 17 19 preConfigure = '' 18 20 # Trick configure system. 19 21 sed -n 's,^ *path = \(.*\),\1,p' .gitmodules | while read path; do
+1
pkgs/os-specific/linux/akvcam/default.nix
··· 12 12 }; 13 13 14 14 nativeBuildInputs = [ qmake ]; 15 + dontWrapQtApps = true; 15 16 16 17 qmakeFlags = [ 17 18 "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+2
pkgs/servers/web-apps/virtlyst/default.nix
··· 15 15 nativeBuildInputs = [ cmake pkg-config autoPatchelfHook ]; 16 16 buildInputs = [ qtbase libvirt cutelyst grantlee ]; 17 17 18 + dontWrapQtApps = true; 19 + 18 20 installPhase = '' 19 21 mkdir -p $out/lib 20 22 cp src/libVirtlyst.so $out/lib
+2
pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
··· 42 42 cp -rv ${store_path} $NIX_BUILD_TOP/$name/data/${ZHUYIN_DATA_FILE_NAME} 43 43 ''; 44 44 45 + dontWrapQtApps = true; 46 + 45 47 meta = with lib; { 46 48 isFcitxEngine = true; 47 49 description = "Fcitx Wrapper for libpinyin, Library to deal with pinyin";
+1 -1
pkgs/tools/inputmethods/hime/default.nix
··· 21 21 22 22 preConfigure = "patchShebangs configure"; 23 23 configureFlags = [ "--disable-lib64" "--disable-qt5-immodule" ]; 24 - 24 + dontWrapQtApps = true; 25 25 26 26 meta = with lib; { 27 27 homepage = "http://hime-ime.github.io/";
+2
pkgs/tools/misc/ttfautohint/default.nix
··· 25 25 26 26 enableParallelBuilding = true; 27 27 28 + dontWrapQtApps = true; 29 + 28 30 meta = with lib; { 29 31 description = "An automatic hinter for TrueType fonts"; 30 32 longDescription = ''
+2
pkgs/tools/networking/spoofer/default.nix
··· 17 17 buildInputs = [ openssl protobuf libpcap traceroute ] 18 18 ++ optional withGUI qt5.qtbase ; 19 19 20 + dontWrapQtApps = true; 21 + 20 22 meta = with lib; { 21 23 homepage = "https://www.caida.org/projects/spoofer"; 22 24 description = "Assess and report on deployment of source address validation";
+2
pkgs/tools/package-management/packagekit/qt.nix
··· 16 16 17 17 nativeBuildInputs = [ cmake pkg-config qttools ]; 18 18 19 + dontWrapQtApps = true; 20 + 19 21 meta = packagekit.meta // { 20 22 description = "System to facilitate installing and updating packages - Qt"; 21 23 };
+2
pkgs/tools/security/proxmark3/default.nix
··· 15 15 nativeBuildInputs = [ pkg-config gcc-arm-embedded ]; 16 16 buildInputs = [ ncurses readline pcsclite qt5.qtbase ]; 17 17 18 + dontWrapQtApps = true; 19 + 18 20 postPatch = '' 19 21 substituteInPlace client/Makefile --replace '-ltermcap' ' ' 20 22 substituteInPlace liblua/Makefile --replace '-ltermcap' ' '