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.

+3014 -1996
+49 -75
pkgs/development/libraries/qt-5/5.6/default.nix
··· 45 45 mirror = "http://download.qt.io"; 46 46 srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; }; 47 47 48 - mkDerivation = args: 49 - stdenv.mkDerivation (args // { 50 - 51 - qmakeFlags = 52 - (args.qmakeFlags or []) 53 - ++ optional (debug != null) 54 - (if debug then "CONFIG+=debug" else "CONFIG+=release"); 55 - 56 - cmakeFlags = 57 - (args.cmakeFlags or []) 58 - ++ [ "-DBUILD_TESTING=OFF" ] 59 - ++ optional (debug != null) 60 - (if debug then "-DCMAKE_BUILD_TYPE=Debug" 61 - else "-DCMAKE_BUILD_TYPE=Release"); 62 - 63 - enableParallelBuilding = args.enableParallelBuilding or true; 64 - 65 - }); 66 - 67 - qtSubmodule = args: 68 - let 69 - inherit (args) name; 70 - version = args.version or srcs."${name}".version; 71 - src = args.src or srcs."${name}".src; 72 - in mkDerivation (args // { 73 - name = "${name}-${version}"; 74 - inherit src; 75 - 76 - propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); 77 - nativeBuildInputs = 78 - (args.nativeBuildInputs or []) 79 - ++ [ perl self.qmake ]; 48 + patches = { 49 + qtbase = [ ./qtbase.patch ]; 50 + qtdeclarative = [ ./qtdeclarative.patch ]; 51 + qtscript = [ ./qtscript.patch ]; 52 + qtserialport = [ ./qtserialport.patch ]; 53 + qttools = [ ./qttools.patch ]; 54 + qtwebengine = 55 + [ ./qtwebengine.patch ] 56 + ++ optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch; 57 + qtwebkit = [ ./qtwebkit.patch ]; 58 + }; 80 59 81 - NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; 82 - 83 - outputs = args.outputs or [ "out" "dev" ]; 84 - setOutputFlags = args.setOutputFlags or false; 60 + mkDerivation = 61 + import ../mkDerivation.nix 62 + { inherit stdenv; inherit (stdenv) lib; } 63 + { inherit debug; }; 85 64 86 - setupHook = ../qtsubmodule-setup-hook.sh; 87 - 88 - meta = { 89 - homepage = http://www.qt.io; 90 - description = "A cross-platform application framework for C++"; 91 - license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; 92 - maintainers = with maintainers; [ qknight ttuegel periklis ]; 93 - platforms = platforms.unix; 94 - } // (args.meta or {}); 95 - }); 65 + qtModule = 66 + import ../qtModule.nix 67 + { inherit mkDerivation perl; inherit (stdenv) lib; } 68 + { inherit self srcs patches; }; 96 69 97 70 addPackages = self: with self; 98 71 let 99 - callPackage = self.newScope { inherit qtCompatVersion qtSubmodule srcs; }; 72 + callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; }; 100 73 in { 101 74 102 75 inherit mkDerivation; 103 76 104 - qtbase = callPackage ./qtbase { 77 + qtbase = callPackage ../modules/qtbase.nix { 105 78 inherit bison cups harfbuzz mesa; 79 + inherit (srcs.qtbase) src version; 80 + patches = patches.qtbase; 106 81 inherit developerBuild decryptSslTraffic; 107 82 }; 108 83 ··· 110 85 /* qtactiveqt = not packaged */ 111 86 /* qtandroidextras = not packaged */ 112 87 /* qtcanvas3d = not packaged */ 113 - qtconnectivity = callPackage ./qtconnectivity.nix {}; 114 - qtdeclarative = callPackage ./qtdeclarative {}; 115 - qtdoc = callPackage ./qtdoc.nix {}; 116 - qtenginio = callPackage ./qtenginio.nix {}; 117 - qtgraphicaleffects = callPackage ./qtgraphicaleffects.nix {}; 118 - qtimageformats = callPackage ./qtimageformats.nix {}; 119 - qtlocation = callPackage ./qtlocation.nix {}; 88 + qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; 89 + qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; 90 + qtdoc = callPackage ../modules/qtdoc.nix {}; 91 + qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; 92 + qtimageformats = callPackage ../modules/qtimageformats.nix {}; 93 + qtlocation = callPackage ../modules/qtlocation.nix {}; 120 94 /* qtmacextras = not packaged */ 121 - qtmultimedia = callPackage ./qtmultimedia.nix { 95 + qtmultimedia = callPackage ../modules/qtmultimedia.nix { 122 96 inherit gstreamer gst-plugins-base; 123 97 }; 124 98 qtquick1 = null; 125 - qtquickcontrols = callPackage ./qtquickcontrols.nix {}; 126 - qtquickcontrols2 = callPackage ./qtquickcontrols2.nix {}; 127 - qtscript = callPackage ./qtscript {}; 128 - qtsensors = callPackage ./qtsensors.nix {}; 129 - qtserialport = callPackage ./qtserialport {}; 130 - qtsvg = callPackage ./qtsvg.nix {}; 131 - qttools = callPackage ./qttools {}; 132 - qttranslations = callPackage ./qttranslations.nix {}; 133 - qtwayland = callPackage ./qtwayland.nix {}; 134 - qtwebchannel = callPackage ./qtwebchannel.nix {}; 135 - qtwebengine = callPackage ./qtwebengine {}; 136 - qtwebkit = callPackage ./qtwebkit {}; 137 - qtwebsockets = callPackage ./qtwebsockets.nix {}; 99 + qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {}; 100 + qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {}; 101 + qtscript = callPackage ../modules/qtscript.nix {}; 102 + qtsensors = callPackage ../modules/qtsensors.nix {}; 103 + qtserialport = callPackage ../modules/qtserialport.nix {}; 104 + qtsvg = callPackage ../modules/qtsvg.nix {}; 105 + qttools = callPackage ../modules/qttools.nix {}; 106 + qttranslations = callPackage ../modules/qttranslations.nix {}; 107 + qtwayland = callPackage ../modules/qtwayland.nix {}; 108 + qtwebchannel = callPackage ../modules/qtwebchannel.nix {}; 109 + qtwebengine = callPackage ../modules/qtwebengine.nix {}; 110 + qtwebkit = callPackage ../modules/qtwebkit.nix {}; 111 + qtwebsockets = callPackage ../modules/qtwebsockets.nix {}; 138 112 /* qtwinextras = not packaged */ 139 - qtx11extras = callPackage ./qtx11extras.nix {}; 140 - qtxmlpatterns = callPackage ./qtxmlpatterns.nix {}; 113 + qtx11extras = callPackage ../modules/qtx11extras.nix {}; 114 + qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {}; 141 115 142 116 env = callPackage ../qt-env.nix {}; 143 117 full = env "qt-${qtbase.version}" [ 144 - qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects 145 - qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 146 - qtscript qtsensors qtserialport qtsvg qttools qttranslations qtwayland 118 + qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtimageformats 119 + qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript 120 + qtsensors qtserialport qtsvg qttools qttranslations qtwayland 147 121 qtwebchannel qtwebengine qtwebkit qtwebsockets qtx11extras qtxmlpatterns 148 122 ]; 149 123 150 124 qmake = makeSetupHook { 151 125 deps = [ self.qtbase.dev ]; 152 126 substitutions = { inherit (stdenv) isDarwin; }; 153 - } ../qmake-hook.sh; 127 + } ../hooks/qmake-hook.sh; 154 128 }; 155 129 156 130 self = makeScope newScope addPackages;
+773
pkgs/development/libraries/qt-5/5.6/qtbase.patch
··· 1 + diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf 2 + index 11fb52a0b1..a4cca1fdcb 100644 3 + --- a/mkspecs/features/create_cmake.prf 4 + +++ b/mkspecs/features/create_cmake.prf 5 + @@ -21,7 +21,7 @@ load(cmake_functions) 6 + # at cmake time whether package has been found via a symlink, and correct 7 + # that to an absolute path. This is only done for installations to 8 + # the /usr or / prefix. 9 + -CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS]) 10 + +CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/) 11 + contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR 12 + 13 + CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake 14 + @@ -47,47 +47,22 @@ split_incpath { 15 + $$cmake_extra_source_includes.output 16 + } 17 + 18 + -CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX]) 19 + -contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") { 20 + - CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/ 21 + - CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True 22 + -} 23 + +CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/ 24 + +CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True 25 + 26 + !exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true 27 + 28 + -CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX]) 29 + -contains(CMAKE_LIB_DIR,"^\\.\\./.*") { 30 + - CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/ 31 + - CMAKE_LIB_DIR_IS_ABSOLUTE = True 32 + -} else { 33 + - CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS]) 34 + - # We need to go up another two levels because the CMake files are 35 + - # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME} 36 + - CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../" 37 + -} 38 + +CMAKE_LIB_DIR = $$NIX_OUTPUT_DEV/lib/ 39 + +CMAKE_LIB_DIR_IS_ABSOLUTE = True 40 + 41 + -CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX]) 42 + -contains(CMAKE_BIN_DIR, "^\\.\\./.*") { 43 + - CMAKE_BIN_DIR = $$[QT_HOST_BINS]/ 44 + - CMAKE_BIN_DIR_IS_ABSOLUTE = True 45 + -} 46 + +CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/ 47 + +CMAKE_BIN_DIR_IS_ABSOLUTE = True 48 + 49 + -CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX]) 50 + -contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") { 51 + - CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/ 52 + - CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True 53 + -} 54 + +CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/ 55 + +CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True 56 + 57 + -win32:!wince:!static:!staticlib { 58 + - CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX]) 59 + - contains(CMAKE_DLL_DIR, "^\\.\\./.*") { 60 + - CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/ 61 + - CMAKE_DLL_DIR_IS_ABSOLUTE = True 62 + - } 63 + -} else { 64 + - CMAKE_DLL_DIR = $$CMAKE_LIB_DIR 65 + - CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE 66 + -} 67 + +CMAKE_DLL_DIR = $$NIX_OUTPUT_DEV/lib/ 68 + +CMAKE_DLL_DIR_IS_ABSOLUTE = True 69 + 70 + static|staticlib:CMAKE_STATIC_TYPE = true 71 + 72 + @@ -167,7 +142,7 @@ contains(CONFIG, plugin) { 73 + cmake_target_file 74 + 75 + cmake_qt5_plugin_file.files = $$cmake_target_file.output 76 + - cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} 77 + + cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} 78 + INSTALLS += cmake_qt5_plugin_file 79 + 80 + return() 81 + @@ -314,7 +289,7 @@ exists($$cmake_macros_file.input) { 82 + cmake_qt5_module_files.files += $$cmake_macros_file.output 83 + } 84 + 85 + -cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} 86 + +cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} 87 + 88 + # We are generating cmake files. Most developers of Qt are not aware of cmake, 89 + # so we require automatic tests to be available. The only module which should 90 + diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 91 + index d2358cae4b..61d8cc0471 100644 92 + --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 93 + +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 94 + @@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) 95 + endif() 96 + !!ENDIF 97 + 98 + -!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) 99 + -!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 100 + -set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") 101 + -!!ELSE 102 + -get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH) 103 + -# Use original install prefix when loaded through a 104 + -# cross-prefix symbolic link such as /lib -> /usr/lib. 105 + -get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH) 106 + -get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH) 107 + -if(_realCurr STREQUAL _realOrig) 108 + - get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE) 109 + -else() 110 + - get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) 111 + -endif() 112 + -unset(_realOrig) 113 + -unset(_realCurr) 114 + -unset(_IMPORT_PREFIX) 115 + -!!ENDIF 116 + -!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 117 + -get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) 118 + -!!ELSE 119 + -set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") 120 + -!!ENDIF 121 + - 122 + !!IF !equals(TEMPLATE, aux) 123 + # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. 124 + set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)") 125 + @@ -58,11 +34,7 @@ endmacro() 126 + macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION) 127 + set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) 128 + 129 + -!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 130 + - set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 131 + -!!ELSE 132 + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 133 + -!!ENDIF 134 + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) 135 + set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES 136 + \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" 137 + @@ -75,11 +47,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI 138 + ) 139 + 140 + !!IF !isEmpty(CMAKE_WINDOWS_BUILD) 141 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 142 + - set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 143 + -!!ELSE 144 + set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 145 + -!!ENDIF 146 + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib}) 147 + if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\") 148 + set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES 149 + @@ -95,24 +63,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 150 + !!IF !no_module_headers 151 + !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) 152 + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS 153 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" 154 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" 155 + + \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" 156 + + \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" 157 + ) 158 + !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) 159 + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS 160 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" 161 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" 162 + - ) 163 + -!!ELSE 164 + - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") 165 + -!!ENDIF 166 + -!!ELSE 167 + -!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) 168 + - set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") 169 + -!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) 170 + - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS 171 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" 172 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" 173 + + \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" 174 + + \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" 175 + ) 176 + !!ELSE 177 + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") 178 + @@ -128,7 +85,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 179 + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") 180 + !!ENDIF 181 + !!ENDIF 182 + -!!ENDIF 183 + !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) 184 + include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) 185 + !!ENDIF 186 + @@ -254,25 +210,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 187 + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) 188 + !!IF isEmpty(CMAKE_DEBUG_TYPE) 189 + !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) 190 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 191 + - if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 192 + -!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE 193 + if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 194 + -!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE 195 + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) 196 + !!ELSE // CMAKE_STATIC_WINDOWS_BUILD 197 + if (EXISTS 198 + -!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 199 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" 200 + -!!ELSE 201 + \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" 202 + -!!ENDIF 203 + AND EXISTS 204 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 205 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 206 + -!!ELSE 207 + \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 208 + -!!ENDIF 209 + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 210 + !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD 211 + endif() 212 + @@ -291,25 +235,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 213 + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) 214 + !!IF isEmpty(CMAKE_RELEASE_TYPE) 215 + !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) 216 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 217 + - if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 218 + -!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE 219 + if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 220 + -!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE 221 + _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) 222 + !!ELSE // CMAKE_STATIC_WINDOWS_BUILD 223 + if (EXISTS 224 + -!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 225 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" 226 + -!!ELSE 227 + \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" 228 + -!!ENDIF 229 + AND EXISTS 230 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 231 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 232 + -!!ELSE 233 + \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 234 + -!!ENDIF 235 + _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 236 + !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD 237 + endif() 238 + @@ -328,11 +260,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 239 + macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) 240 + set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) 241 + 242 + -!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) 243 + - set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") 244 + -!!ELSE 245 + set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") 246 + -!!ENDIF 247 + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) 248 + set_target_properties(Qt5::${Plugin} PROPERTIES 249 + \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} 250 + diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf 251 + index b09d42a0a4..f076265bdd 100644 252 + --- a/mkspecs/features/qml_module.prf 253 + +++ b/mkspecs/features/qml_module.prf 254 + @@ -17,10 +17,7 @@ fq_qml_files = $$_PRO_FILE_PWD_/qmldir 255 + 256 + for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_) 257 + 258 + -qml1_target: \ 259 + - instbase = $$[QT_INSTALL_IMPORTS] 260 + -else: \ 261 + - instbase = $$[QT_INSTALL_QML] 262 + +instbase = $$NIX_OUTPUT_QML 263 + 264 + # Install rules 265 + qmldir.base = $$_PRO_FILE_PWD_ 266 + diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf 267 + index ebec1db8da..62ace84a6c 100644 268 + --- a/mkspecs/features/qml_plugin.prf 269 + +++ b/mkspecs/features/qml_plugin.prf 270 + @@ -46,13 +46,8 @@ exists($$QMLTYPEFILE): QML_FILES += $$QMLTYPEFILE 271 + 272 + load(qt_build_paths) 273 + 274 + -qml1_target { 275 + - DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH 276 + - instbase = $$[QT_INSTALL_IMPORTS] 277 + -} else { 278 + - DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH 279 + - instbase = $$[QT_INSTALL_QML] 280 + -} 281 + +DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH 282 + +instbase = $$NIX_OUTPUT_QML 283 + 284 + target.path = $$instbase/$$TARGETPATH 285 + INSTALLS += target 286 + diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf 287 + index 46aca50cc2..4f4e634724 100644 288 + --- a/mkspecs/features/qt_app.prf 289 + +++ b/mkspecs/features/qt_app.prf 290 + @@ -29,7 +29,7 @@ host_build:force_bootstrap { 291 + target.path = $$[QT_HOST_BINS] 292 + } else { 293 + !build_pass:contains(QT_CONFIG, debug_and_release): CONFIG += release 294 + - target.path = $$[QT_INSTALL_BINS] 295 + + target.path = $$NIX_OUTPUT_BIN/bin 296 + CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable 297 + } 298 + INSTALLS += target 299 + diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf 300 + index 1848f00e90..2af93675c5 100644 301 + --- a/mkspecs/features/qt_build_paths.prf 302 + +++ b/mkspecs/features/qt_build_paths.prf 303 + @@ -23,6 +23,6 @@ exists($$MODULE_BASE_INDIR/.git): \ 304 + !force_independent { 305 + # If the module is not built independently, everything ends up in qtbase. 306 + # This is the case in non-prefix builds, except for selected modules. 307 + - MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX] 308 + - MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX] 309 + + MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT 310 + + MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT 311 + } 312 + diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf 313 + index c1809468af..0a12ec24db 100644 314 + --- a/mkspecs/features/qt_common.prf 315 + +++ b/mkspecs/features/qt_common.prf 316 + @@ -30,8 +30,8 @@ contains(TEMPLATE, .*lib) { 317 + qqt_libdir = \$\$\$\$[QT_HOST_LIBS] 318 + qt_libdir = $$[QT_HOST_LIBS] 319 + } else { 320 + - qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS] 321 + - qt_libdir = $$[QT_INSTALL_LIBS] 322 + + qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib 323 + + qt_libdir = $$NIX_OUTPUT_OUT/lib 324 + } 325 + contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { 326 + lib_replace.match = "[^ ']*$$rplbase/lib" 327 + diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf 328 + index 183d0c9502..17982b04ec 100644 329 + --- a/mkspecs/features/qt_docs.prf 330 + +++ b/mkspecs/features/qt_docs.prf 331 + @@ -41,7 +41,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR 332 + 333 + QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR) 334 + !build_online_docs: \ 335 + - QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS]) 336 + + QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC) 337 + PREP_DOC_INDEXES = 338 + DOC_INDEXES = 339 + !isEmpty(QTREPOS) { 340 + @@ -60,8 +60,8 @@ DOC_INDEXES = 341 + DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc) 342 + } else { 343 + prepare_docs: \ 344 + - PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) 345 + - DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) 346 + + PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) 347 + + DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) 348 + } 349 + doc_command = $$QDOC $$QMAKE_DOCS 350 + prepare_docs { 351 + @@ -75,12 +75,12 @@ prepare_docs { 352 + qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch) 353 + 354 + inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR 355 + - inst_html_docs.path = $$[QT_INSTALL_DOCS] 356 + + inst_html_docs.path = $$NIX_OUTPUT_DOC 357 + inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build 358 + INSTALLS += inst_html_docs 359 + 360 + inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch 361 + - inst_qch_docs.path = $$[QT_INSTALL_DOCS] 362 + + inst_qch_docs.path = $$NIX_OUTPUT_DOC 363 + inst_qch_docs.CONFIG += no_check_exist no_default_install no_build 364 + INSTALLS += inst_qch_docs 365 + 366 + diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf 367 + index 4c68cfd72f..f422f18266 100644 368 + --- a/mkspecs/features/qt_example_installs.prf 369 + +++ b/mkspecs/features/qt_example_installs.prf 370 + @@ -70,7 +70,7 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples) 371 + $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \ 372 + $$DBUS_ADAPTORS $$DBUS_INTERFACES 373 + addInstallFiles(sources.files, $$sourcefiles) 374 + - sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase 375 + + sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase 376 + INSTALLS += sources 377 + 378 + check_examples { 379 + diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf 380 + index 4a1d265a8b..abe0da95f6 100644 381 + --- a/mkspecs/features/qt_functions.prf 382 + +++ b/mkspecs/features/qt_functions.prf 383 + @@ -70,7 +70,7 @@ defineTest(qtHaveModule) { 384 + defineTest(qtPrepareTool) { 385 + cmd = $$eval(QT_TOOL.$${2}.binary) 386 + isEmpty(cmd) { 387 + - cmd = $$[QT_HOST_BINS]/$$2 388 + + cmd = $$system("type -p $$2") 389 + exists($${cmd}.pl) { 390 + cmd = perl -w $$system_path($${cmd}.pl) 391 + } else: contains(QMAKE_HOST.os, Windows) { 392 + diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf 393 + index 3a5dbb6274..24f321bd82 100644 394 + --- a/mkspecs/features/qt_installs.prf 395 + +++ b/mkspecs/features/qt_installs.prf 396 + @@ -12,16 +12,10 @@ 397 + #library 398 + !qt_no_install_library { 399 + win32 { 400 + - host_build: \ 401 + - dlltarget.path = $$[QT_HOST_BINS] 402 + - else: \ 403 + - dlltarget.path = $$[QT_INSTALL_BINS] 404 + + dlltarget.path = $$NIX_OUTPUT_BIN/bin 405 + INSTALLS += dlltarget 406 + } 407 + - host_build: \ 408 + - target.path = $$[QT_HOST_LIBS] 409 + - else: \ 410 + - target.path = $$[QT_INSTALL_LIBS] 411 + + target.path = $$NIX_OUTPUT_OUT/lib 412 + !static: target.CONFIG = no_dll 413 + INSTALLS += target 414 + } 415 + @@ -29,33 +23,33 @@ 416 + #headers 417 + qt_install_headers { 418 + class_headers.files = $$SYNCQT.HEADER_CLASSES 419 + - class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME 420 + + class_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME 421 + INSTALLS += class_headers 422 + 423 + targ_headers.files = $$SYNCQT.HEADER_FILES 424 + - targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME 425 + + targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME 426 + INSTALLS += targ_headers 427 + 428 + private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES 429 + - private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private 430 + + private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private 431 + INSTALLS += private_headers 432 + 433 + qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES 434 + - qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa 435 + + qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa 436 + INSTALLS += qpa_headers 437 + } 438 + 439 + #module 440 + qt_install_module { 441 + !isEmpty(MODULE_PRI) { 442 + - pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules 443 + + pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules 444 + pritarget.files = $$MODULE_PRI 445 + INSTALLS += pritarget 446 + } else: isEmpty(MODULE_PRIVATE_PRI) { 447 + warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.") 448 + } 449 + !isEmpty(MODULE_PRIVATE_PRI) { 450 + - privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules 451 + + privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules 452 + privpritarget.files = $$MODULE_PRIVATE_PRI 453 + INSTALLS += privpritarget 454 + } 455 + diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf 456 + index 3cf6c7349c..83e68025a5 100644 457 + --- a/mkspecs/features/qt_plugin.prf 458 + +++ b/mkspecs/features/qt_plugin.prf 459 + @@ -82,7 +82,7 @@ CONFIG(static, static|shared)|prefix_build { 460 + } 461 + } 462 + 463 + -target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE 464 + +target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE 465 + INSTALLS += target 466 + 467 + TARGET = $$qt5LibraryTarget($$TARGET) 468 + diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in 469 + index 91a4eb619a..08b533e69c 100644 470 + --- a/src/corelib/Qt5CoreConfigExtras.cmake.in 471 + +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in 472 + @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake) 473 + add_executable(Qt5::qmake IMPORTED) 474 + 475 + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 476 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") 477 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") 478 + !!ELSE 479 + set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") 480 + !!ENDIF 481 + @@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc) 482 + add_executable(Qt5::moc IMPORTED) 483 + 484 + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 485 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") 486 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") 487 + !!ELSE 488 + set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") 489 + !!ENDIF 490 + @@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc) 491 + add_executable(Qt5::rcc IMPORTED) 492 + 493 + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 494 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") 495 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") 496 + !!ELSE 497 + set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") 498 + !!ENDIF 499 + @@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain) 500 + !!IF !isEmpty(CMAKE_RELEASE_TYPE) 501 + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) 502 + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 503 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") 504 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") 505 + !!ELSE 506 + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") 507 + !!ENDIF 508 + @@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain) 509 + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) 510 + 511 + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 512 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") 513 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") 514 + !!ELSE 515 + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") 516 + !!ENDIF 517 + diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 518 + index c357237d0e..6f0c75de3c 100644 519 + --- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 520 + +++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 521 + @@ -1,6 +1,6 @@ 522 + 523 + !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE) 524 + -set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 525 + +set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 526 + !!ELSE 527 + set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") 528 + !!ENDIF 529 + diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 530 + index 706304cf34..546420f6ad 100644 531 + --- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 532 + +++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 533 + @@ -1,6 +1,6 @@ 534 + 535 + !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE) 536 + -set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 537 + +set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 538 + !!ELSE 539 + set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") 540 + !!ENDIF 541 + diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp 542 + index f5b15207cc..f85e0524bb 100644 543 + --- a/src/corelib/kernel/qcoreapplication.cpp 544 + +++ b/src/corelib/kernel/qcoreapplication.cpp 545 + @@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPaths() 546 + QStringList *app_libpaths = new QStringList; 547 + coreappdata()->app_libpaths.reset(app_libpaths); 548 + 549 + + // Add library paths derived from PATH 550 + + const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); 551 + + const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX); 552 + + for (const QString &path: paths) { 553 + + if (!path.isEmpty()) { 554 + + app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir)); 555 + + } 556 + + } 557 + + 558 + const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH"); 559 + if (!libPathEnv.isEmpty()) { 560 + QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts); 561 + diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp 562 + index c13c9a5223..6936851511 100644 563 + --- a/src/corelib/tools/qtimezoneprivate_tz.cpp 564 + +++ b/src/corelib/tools/qtimezoneprivate_tz.cpp 565 + @@ -64,7 +64,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash; 566 + // Parse zone.tab table, assume lists all installed zones, if not will need to read directories 567 + static QTzTimeZoneHash loadTzTimeZones() 568 + { 569 + - QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); 570 + + // Try TZDIR first, in case we're running on NixOS. 571 + + QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab"); 572 + + // Fallback to traditional paths in case we are not on NixOS. 573 + + if (!QFile::exists(path)) 574 + + path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); 575 + if (!QFile::exists(path)) 576 + path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); 577 + 578 + @@ -636,12 +640,16 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId) 579 + if (!tzif.open(QIODevice::ReadOnly)) 580 + return; 581 + } else { 582 + - // Open named tz, try modern path first, if fails try legacy path 583 + - tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 584 + + // Try TZDIR first, in case we're running on NixOS 585 + + tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId)); 586 + if (!tzif.open(QIODevice::ReadOnly)) { 587 + - tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 588 + - if (!tzif.open(QIODevice::ReadOnly)) 589 + - return; 590 + + // Open named tz, try modern path first, if fails try legacy path 591 + + tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 592 + + if (!tzif.open(QIODevice::ReadOnly)) { 593 + + tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 594 + + if (!tzif.open(QIODevice::ReadOnly)) 595 + + return; 596 + + } 597 + } 598 + } 599 + 600 + diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in 601 + index 1d947159e2..b36865fc48 100644 602 + --- a/src/dbus/Qt5DBusConfigExtras.cmake.in 603 + +++ b/src/dbus/Qt5DBusConfigExtras.cmake.in 604 + @@ -2,11 +2,7 @@ 605 + if (NOT TARGET Qt5::qdbuscpp2xml) 606 + add_executable(Qt5::qdbuscpp2xml IMPORTED) 607 + 608 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 609 + - set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") 610 + -!!ELSE 611 + - set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") 612 + -!!ENDIF 613 + + set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") 614 + _qt5_DBus_check_file_exists(${imported_location}) 615 + 616 + set_target_properties(Qt5::qdbuscpp2xml PROPERTIES 617 + @@ -17,11 +13,7 @@ endif() 618 + if (NOT TARGET Qt5::qdbusxml2cpp) 619 + add_executable(Qt5::qdbusxml2cpp IMPORTED) 620 + 621 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 622 + - set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") 623 + -!!ELSE 624 + - set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") 625 + -!!ENDIF 626 + + set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") 627 + _qt5_DBus_check_file_exists(${imported_location}) 628 + 629 + set_target_properties(Qt5::qdbusxml2cpp PROPERTIES 630 + diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in 631 + index 07869efd7d..37b95d1b6b 100644 632 + --- a/src/gui/Qt5GuiConfigExtras.cmake.in 633 + +++ b/src/gui/Qt5GuiConfigExtras.cmake.in 634 + @@ -2,7 +2,7 @@ 635 + !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) 636 + 637 + !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) 638 + -set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\") 639 + +set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\") 640 + !!ELSE 641 + set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") 642 + !!ENDIF 643 + @@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO 644 + set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) 645 + 646 + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 647 + - set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 648 + + set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 649 + !!ELSE 650 + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 651 + !!ENDIF 652 + 653 + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 654 + - set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 655 + + set(imported_implib \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 656 + !!ELSE 657 + set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 658 + !!ENDIF 659 + diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp 660 + index 584f0b0f0e..24d80063f2 100644 661 + --- a/src/network/kernel/qdnslookup_unix.cpp 662 + +++ b/src/network/kernel/qdnslookup_unix.cpp 663 + @@ -83,7 +83,7 @@ static bool resolveLibraryInternal() 664 + if (!lib.load()) 665 + #endif 666 + { 667 + - lib.setFileName(QLatin1String("resolv")); 668 + + lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); 669 + if (!lib.load()) 670 + return false; 671 + } 672 + diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp 673 + index dabf1913cc..53bb867e07 100644 674 + --- a/src/network/kernel/qhostinfo_unix.cpp 675 + +++ b/src/network/kernel/qhostinfo_unix.cpp 676 + @@ -94,7 +94,7 @@ static bool resolveLibraryInternal() 677 + if (!lib.load()) 678 + #endif 679 + { 680 + - lib.setFileName(QLatin1String("resolv")); 681 + + lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); 682 + if (!lib.load()) 683 + return false; 684 + } 685 + diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp 686 + index 68caaeb6dc..fef4a81474 100644 687 + --- a/src/network/ssl/qsslcontext_openssl.cpp 688 + +++ b/src/network/ssl/qsslcontext_openssl.cpp 689 + @@ -340,7 +340,7 @@ init_context: 690 + 691 + const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves(); 692 + if (!qcurves.isEmpty()) { 693 + -#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) 694 + +#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC) 695 + // Set the curves to be used 696 + if (q_SSLeay() >= 0x10002000L) { 697 + // SSL_CTX_ctrl wants a non-const pointer as last argument, 698 + @@ -354,7 +354,7 @@ init_context: 699 + return sslContext; 700 + } 701 + } else 702 + -#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) 703 + +#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC) 704 + { 705 + // specific curves requested, but not possible to set -> error 706 + sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2")); 707 + diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 708 + index 44f1d7e6ba..e24fe54326 100644 709 + --- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 710 + +++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 711 + @@ -251,12 +251,9 @@ void TableGenerator::initPossibleLocations() 712 + // the QTCOMPOSE environment variable 713 + if (qEnvironmentVariableIsSet("QTCOMPOSE")) 714 + m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE"))); 715 + - m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale")); 716 + - m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale")); 717 + - m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale")); 718 + - m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale")); 719 + m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale")); 720 + m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale")); 721 + + m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE)); 722 + } 723 + 724 + QString TableGenerator::findComposeFile() 725 + diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 726 + index 9bdedcc830..2559b2066b 100644 727 + --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 728 + +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 729 + @@ -570,7 +570,14 @@ void (*QGLXContext::getProcAddress(const QByteArray &procName)) () 730 + #ifndef QT_NO_LIBRARY 731 + extern const QString qt_gl_library_name(); 732 + // QLibrary lib(qt_gl_library_name()); 733 + + // Check system library paths first 734 + QLibrary lib(QLatin1String("GL")); 735 + +#ifdef NIXPKGS_MESA_GL 736 + + if (!lib.load()) { 737 + + // Fallback to Mesa driver 738 + + lib.setFileName(QLatin1String(NIXPKGS_MESA_GL)); 739 + + } 740 + +#endif // NIXPKGS_MESA_GL 741 + glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); 742 + #endif 743 + } 744 + diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp 745 + index b321ed95dc..9e7a72521c 100644 746 + --- a/src/plugins/platforms/xcb/qxcbcursor.cpp 747 + +++ b/src/plugins/platforms/xcb/qxcbcursor.cpp 748 + @@ -303,10 +303,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen) 749 + #if defined(XCB_USE_XLIB) && !defined(QT_NO_LIBRARY) 750 + static bool function_ptrs_not_initialized = true; 751 + if (function_ptrs_not_initialized) { 752 + - QLibrary xcursorLib(QLatin1String("Xcursor"), 1); 753 + + QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1); 754 + bool xcursorFound = xcursorLib.load(); 755 + if (!xcursorFound) { // try without the version number 756 + - xcursorLib.setFileName(QLatin1String("Xcursor")); 757 + + xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR)); 758 + xcursorFound = xcursorLib.load(); 759 + } 760 + if (xcursorFound) { 761 + diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in 762 + index 99d87e2e46..a4eab2aa72 100644 763 + --- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in 764 + +++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in 765 + @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic) 766 + add_executable(Qt5::uic IMPORTED) 767 + 768 + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 769 + - set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") 770 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") 771 + !!ELSE 772 + set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") 773 + !!ENDIF
+13
pkgs/development/libraries/qt-5/5.6/qtscript.patch
··· 1 + diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 2 + index 1f6d25e..087c3fb 100644 3 + --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 4 + +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 5 + @@ -81,7 +81,7 @@ 6 + #include <pthread.h> 7 + #elif PLATFORM(GTK) 8 + #include <wtf/gtk/GOwnPtr.h> 9 + -typedef struct _GMutex GMutex; 10 + +typedef union _GMutex GMutex; 11 + typedef struct _GCond GCond; 12 + #endif 13 +
+64
pkgs/development/libraries/qt-5/5.6/qttools.patch
··· 1 + diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in 2 + index 5a5bd5ce..1c6727d4 100644 3 + --- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in 4 + +++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in 5 + @@ -2,14 +2,13 @@ 6 + if (NOT TARGET Qt5::qcollectiongenerator) 7 + add_executable(Qt5::qcollectiongenerator IMPORTED) 8 + 9 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 10 + - set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 11 + -!!ELSE 12 + set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 13 + -!!ENDIF 14 + + if(NOT EXISTS \"${imported_location}\") 15 + + set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 16 + + endif() 17 + _qt5_Help_check_file_exists(${imported_location}) 18 + 19 + set_target_properties(Qt5::qcollectiongenerator PROPERTIES 20 + IMPORTED_LOCATION ${imported_location} 21 + ) 22 + -endif() 23 + +endif() 24 + \ No newline at end of file 25 + diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in 26 + index 4318b16f..d60db4ff 100644 27 + --- a/src/linguist/Qt5LinguistToolsConfig.cmake.in 28 + +++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in 29 + @@ -44,11 +44,7 @@ endmacro() 30 + if (NOT TARGET Qt5::lrelease) 31 + add_executable(Qt5::lrelease IMPORTED) 32 + 33 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 34 + - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") 35 + -!!ELSE 36 + set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") 37 + -!!ENDIF 38 + _qt5_LinguistTools_check_file_exists(${imported_location}) 39 + 40 + set_target_properties(Qt5::lrelease PROPERTIES 41 + @@ -59,11 +55,7 @@ endif() 42 + if (NOT TARGET Qt5::lupdate) 43 + add_executable(Qt5::lupdate IMPORTED) 44 + 45 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 46 + - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") 47 + -!!ELSE 48 + set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") 49 + -!!ENDIF 50 + _qt5_LinguistTools_check_file_exists(${imported_location}) 51 + 52 + set_target_properties(Qt5::lupdate PROPERTIES 53 + @@ -74,11 +66,7 @@ endif() 54 + if (NOT TARGET Qt5::lconvert) 55 + add_executable(Qt5::lconvert IMPORTED) 56 + 57 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 58 + - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") 59 + -!!ELSE 60 + set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") 61 + -!!ENDIF 62 + _qt5_LinguistTools_check_file_exists(${imported_location}) 63 + 64 + set_target_properties(Qt5::lconvert PROPERTIES
pkgs/development/libraries/qt-5/5.6/qtwebengine/chromium-clang-update-py.patch pkgs/development/libraries/qt-5/5.6/qtwebengine.patch
pkgs/development/libraries/qt-5/5.6/qtwebengine/qtwebengine-paxmark-mksnapshot.patch pkgs/development/libraries/qt-5/5.6/qtwebengine-paxmark-mksnapshot.patch
+77
pkgs/development/libraries/qt-5/5.6/qtwebkit.patch
··· 1 + diff --git a/Source/WTF/WTF.pri b/Source/WTF/WTF.pri 2 + index 1f4866d66..bb61e4ba3 100644 3 + --- a/Source/WTF/WTF.pri 4 + +++ b/Source/WTF/WTF.pri 5 + @@ -12,7 +12,7 @@ mac { 6 + # Mac OS does ship libicu but not the associated header files. 7 + # Therefore WebKit provides adequate header files. 8 + INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH 9 + - LIBS += -licucore 10 + + LIBS += /usr/lib/libicucore.dylib 11 + } else:!use?(wchar_unicode): { 12 + win32 { 13 + CONFIG(static, static|shared) { 14 + diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp 15 + index a923d49aa..46772a4bb 100644 16 + --- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp 17 + +++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp 18 + @@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* module = 0) 19 + } 20 + } 21 + 22 + +#ifdef NIXPKGS_LIBGTK2 23 + + QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0); 24 + +#else 25 + QLibrary library(QLatin1String("libgtk-x11-2.0"), 0); 26 + +#endif 27 + if (library.load()) { 28 + typedef void *(*gtk_init_check_ptr)(int*, char***); 29 + gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check"); 30 + diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp 31 + index de06a2fea..86fe39ef1 100644 32 + --- a/Source/WebCore/plugins/qt/PluginViewQt.cpp 33 + +++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp 34 + @@ -697,7 +697,11 @@ static Display *getPluginDisplay() 35 + // support gdk based plugins (like flash) that use a different X connection. 36 + // The code below has the same effect as this one: 37 + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); 38 + +#ifdef NIXPKGS_LIBGDK2 39 + + QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0); 40 + +#else 41 + QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); 42 + +#endif 43 + if (!library.load()) 44 + return 0; 45 + 46 + diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp 47 + index 8de65216b..38f5c05e5 100644 48 + --- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp 49 + +++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp 50 + @@ -53,7 +53,11 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr 51 + 52 + static bool initializeGtk() 53 + { 54 + +#ifdef NIXPKGS_LIBGTK2 55 + + QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0); 56 + +#else 57 + QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0); 58 + +#endif 59 + if (!gtkLibrary.load()) 60 + return false; 61 + typedef void* (*gtk_init_ptr)(void*, void*); 62 + diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 63 + index d734ff684..0f6ff63d1 100644 64 + --- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 65 + +++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 66 + @@ -64,7 +64,11 @@ static Display* getPluginDisplay() 67 + // The code below has the same effect as this one: 68 + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); 69 + 70 + +#ifdef NIXPKGS_LIBGDK2 71 + + QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0); 72 + +#else 73 + QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); 74 + +#endif 75 + if (!library.load()) 76 + return 0; 77 +
+51 -75
pkgs/development/libraries/qt-5/5.9/default.nix
··· 36 36 mirror = "http://download.qt.io"; 37 37 srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; }; 38 38 39 - mkDerivation = args: 40 - stdenv.mkDerivation (args // { 41 - 42 - qmakeFlags = 43 - (args.qmakeFlags or []) 44 - ++ optional (debug != null) 45 - (if debug then "CONFIG+=debug" else "CONFIG+=release"); 46 - 47 - cmakeFlags = 48 - (args.cmakeFlags or []) 49 - ++ [ "-DBUILD_TESTING=OFF" ] 50 - ++ optional (debug != null) 51 - (if debug then "-DCMAKE_BUILD_TYPE=Debug" 52 - else "-DCMAKE_BUILD_TYPE=Release"); 39 + patches = { 40 + qtbase = [ ./qtbase.patch ]; 41 + qtdeclarative = [ ./qtdeclarative.patch ]; 42 + qtscript = [ ./qtscript.patch ]; 43 + qtserialport = [ ./qtserialport.patch ]; 44 + qttools = [ ./qttools.patch ]; 45 + qtwebengine = optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch; 46 + qtwebkit = [ ./qtwebkit.patch ]; 47 + }; 53 48 54 - enableParallelBuilding = args.enableParallelBuilding or true; 49 + mkDerivation = 50 + import ../mkDerivation.nix 51 + { inherit stdenv; inherit (stdenv) lib; } 52 + { inherit debug; }; 55 53 56 - }); 57 - 58 - qtSubmodule = args: 59 - let 60 - inherit (args) name; 61 - version = args.version or srcs."${name}".version; 62 - src = args.src or srcs."${name}".src; 63 - in mkDerivation (args // { 64 - name = "${name}-${version}"; 65 - inherit src; 66 - 67 - propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); 68 - nativeBuildInputs = 69 - (args.nativeBuildInputs or []) 70 - ++ [ perl self.qmake ]; 71 - 72 - NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; 73 - 74 - outputs = args.outputs or [ "out" "dev" ]; 75 - setOutputFlags = args.setOutputFlags or false; 76 - 77 - setupHook = ../qtsubmodule-setup-hook.sh; 78 - 79 - meta = { 80 - homepage = http://www.qt.io; 81 - description = "A cross-platform application framework for C++"; 82 - license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; 83 - maintainers = with maintainers; [ qknight ttuegel periklis ]; 84 - platforms = platforms.unix; 85 - } // (args.meta or {}); 86 - }); 54 + qtModule = 55 + import ../qtModule.nix 56 + { inherit mkDerivation perl; inherit (stdenv) lib; } 57 + { inherit self srcs patches; }; 87 58 88 59 addPackages = self: with self; 89 60 let 90 - callPackage = self.newScope { inherit qtCompatVersion qtSubmodule srcs; }; 61 + callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; }; 91 62 in { 92 63 93 64 inherit mkDerivation; 94 65 95 - qtbase = callPackage ./qtbase { 66 + qtbase = callPackage ../modules/qtbase.nix { 96 67 inherit (srcs.qtbase) src version; 68 + patches = patches.qtbase; 97 69 inherit bison cups harfbuzz mesa; 98 - inherit dconf gtk3; 70 + withGtk3 = true; inherit dconf gtk3; 99 71 inherit developerBuild decryptSslTraffic; 100 72 }; 101 73 102 - qtcharts = callPackage ./qtcharts.nix {}; 103 - qtconnectivity = callPackage ./qtconnectivity.nix {}; 104 - qtdeclarative = callPackage ./qtdeclarative {}; 105 - qtdoc = callPackage ./qtdoc.nix {}; 106 - qtgraphicaleffects = callPackage ./qtgraphicaleffects.nix {}; 107 - qtimageformats = callPackage ./qtimageformats.nix {}; 108 - qtlocation = callPackage ./qtlocation.nix {}; 109 - qtmacextras = callPackage ./qtmacextras.nix {}; 110 - qtmultimedia = callPackage ./qtmultimedia.nix { 74 + qtcharts = callPackage ../modules/qtcharts.nix {}; 75 + qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; 76 + qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; 77 + qtdoc = callPackage ../modules/qtdoc.nix {}; 78 + qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; 79 + qtimageformats = callPackage ../modules/qtimageformats.nix {}; 80 + qtlocation = callPackage ../modules/qtlocation.nix {}; 81 + qtmacextras = callPackage ../modules/qtmacextras.nix {}; 82 + qtmultimedia = callPackage ../modules/qtmultimedia.nix { 111 83 inherit gstreamer gst-plugins-base; 112 84 }; 113 85 qtquick1 = null; 114 - qtquickcontrols = callPackage ./qtquickcontrols.nix {}; 115 - qtquickcontrols2 = callPackage ./qtquickcontrols2.nix {}; 116 - qtscript = callPackage ./qtscript {}; 117 - qtsensors = callPackage ./qtsensors.nix {}; 118 - qtserialport = callPackage ./qtserialport {}; 119 - qtsvg = callPackage ./qtsvg.nix {}; 120 - qttools = callPackage ./qttools {}; 121 - qttranslations = callPackage ./qttranslations.nix {}; 122 - qtwayland = callPackage ./qtwayland.nix {}; 123 - qtwebchannel = callPackage ./qtwebchannel.nix {}; 124 - qtwebengine = callPackage ./qtwebengine {}; 125 - qtwebkit = callPackage ./qtwebkit {}; 126 - qtwebsockets = callPackage ./qtwebsockets.nix {}; 127 - qtx11extras = callPackage ./qtx11extras.nix {}; 128 - qtxmlpatterns = callPackage ./qtxmlpatterns.nix {}; 86 + qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {}; 87 + qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {}; 88 + qtscript = callPackage ../modules/qtscript.nix {}; 89 + qtsensors = callPackage ../modules/qtsensors.nix {}; 90 + qtserialport = callPackage ../modules/qtserialport.nix {}; 91 + qtsvg = callPackage ../modules/qtsvg.nix {}; 92 + qttools = callPackage ../modules/qttools.nix {}; 93 + qttranslations = callPackage ../modules/qttranslations.nix {}; 94 + qtwayland = callPackage ../modules/qtwayland.nix {}; 95 + qtwebchannel = callPackage ../modules/qtwebchannel.nix {}; 96 + qtwebengine = callPackage ../modules/qtwebengine.nix {}; 97 + qtwebkit = callPackage ../modules/qtwebkit.nix {}; 98 + qtwebsockets = callPackage ../modules/qtwebsockets.nix {}; 99 + qtx11extras = callPackage ../modules/qtx11extras.nix {}; 100 + qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {}; 129 101 130 102 env = callPackage ../qt-env.nix {}; 131 103 full = env "qt-${qtbase.version}" ([ ··· 138 110 139 111 qmake = makeSetupHook { 140 112 deps = [ self.qtbase.dev ]; 141 - substitutions = { inherit (stdenv) isDarwin; }; 142 - } ../qmake-hook.sh; 113 + substitutions = { 114 + inherit (stdenv) isDarwin; 115 + qtbase_dev = self.qtbase.dev; 116 + fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; 117 + }; 118 + } ../hooks/qmake-hook.sh; 143 119 }; 144 120 145 121 self = makeScope newScope addPackages;
+1106
pkgs/development/libraries/qt-5/5.9/qtbase.patch
··· 1 + diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf 2 + index 5208379f9a..92fe29a0ac 100644 3 + --- a/mkspecs/common/mac.conf 4 + +++ b/mkspecs/common/mac.conf 5 + @@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL = \ 6 + 7 + QMAKE_FIX_RPATH = install_name_tool -id 8 + 9 + -QMAKE_LFLAGS_RPATH = -Wl,-rpath, 10 + +QMAKE_LFLAGS_RPATH = 11 + QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip 12 + 13 + QMAKE_LFLAGS_REL_RPATH = 14 + diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf 15 + index bb5083c925..da8e2cb386 100644 16 + --- a/mkspecs/features/create_cmake.prf 17 + +++ b/mkspecs/features/create_cmake.prf 18 + @@ -21,7 +21,7 @@ load(cmake_functions) 19 + # at cmake time whether package has been found via a symlink, and correct 20 + # that to an absolute path. This is only done for installations to 21 + # the /usr or / prefix. 22 + -CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS]) 23 + +CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/) 24 + contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR 25 + 26 + CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake 27 + @@ -47,47 +47,22 @@ split_incpath { 28 + $$cmake_extra_source_includes.output 29 + } 30 + 31 + -CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX]) 32 + -contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") { 33 + - CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/ 34 + - CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True 35 + -} 36 + +CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/ 37 + +CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True 38 + 39 + !exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true 40 + 41 + -CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX]) 42 + -contains(CMAKE_LIB_DIR,"^\\.\\./.*") { 43 + - CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/ 44 + - CMAKE_LIB_DIR_IS_ABSOLUTE = True 45 + -} else { 46 + - CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS]) 47 + - # We need to go up another two levels because the CMake files are 48 + - # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME} 49 + - CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../" 50 + -} 51 + +CMAKE_LIB_DIR = $$NIX_OUTPUT_DEV/lib/ 52 + +CMAKE_LIB_DIR_IS_ABSOLUTE = True 53 + 54 + -CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX]) 55 + -contains(CMAKE_BIN_DIR, "^\\.\\./.*") { 56 + - CMAKE_BIN_DIR = $$[QT_HOST_BINS]/ 57 + - CMAKE_BIN_DIR_IS_ABSOLUTE = True 58 + -} 59 + +CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/ 60 + +CMAKE_BIN_DIR_IS_ABSOLUTE = True 61 + 62 + -CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX]) 63 + -contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") { 64 + - CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/ 65 + - CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True 66 + -} 67 + +CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/ 68 + +CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True 69 + 70 + -win32:!static:!staticlib { 71 + - CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX]) 72 + - contains(CMAKE_DLL_DIR, "^\\.\\./.*") { 73 + - CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/ 74 + - CMAKE_DLL_DIR_IS_ABSOLUTE = True 75 + - } 76 + -} else { 77 + - CMAKE_DLL_DIR = $$CMAKE_LIB_DIR 78 + - CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE 79 + -} 80 + +CMAKE_DLL_DIR = $$NIX_OUTPUT_DEV/lib/ 81 + +CMAKE_DLL_DIR_IS_ABSOLUTE = True 82 + 83 + static|staticlib:CMAKE_STATIC_TYPE = true 84 + 85 + @@ -167,7 +142,7 @@ contains(CONFIG, plugin) { 86 + cmake_target_file 87 + 88 + cmake_qt5_plugin_file.files = $$cmake_target_file.output 89 + - cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} 90 + + cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} 91 + INSTALLS += cmake_qt5_plugin_file 92 + 93 + return() 94 + @@ -314,7 +289,7 @@ exists($$cmake_macros_file.input) { 95 + cmake_qt5_module_files.files += $$cmake_macros_file.output 96 + } 97 + 98 + -cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} 99 + +cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} 100 + 101 + # We are generating cmake files. Most developers of Qt are not aware of cmake, 102 + # so we require automatic tests to be available. The only module which should 103 + diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 104 + index 17da8b979e..d648ab4058 100644 105 + --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 106 + +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 107 + @@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) 108 + endif() 109 + !!ENDIF 110 + 111 + -!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) 112 + -!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 113 + -set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") 114 + -!!ELSE 115 + -get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH) 116 + -# Use original install prefix when loaded through a 117 + -# cross-prefix symbolic link such as /lib -> /usr/lib. 118 + -get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH) 119 + -get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH) 120 + -if(_realCurr STREQUAL _realOrig) 121 + - get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE) 122 + -else() 123 + - get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) 124 + -endif() 125 + -unset(_realOrig) 126 + -unset(_realCurr) 127 + -unset(_IMPORT_PREFIX) 128 + -!!ENDIF 129 + -!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 130 + -get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) 131 + -!!ELSE 132 + -set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") 133 + -!!ENDIF 134 + - 135 + !!IF !equals(TEMPLATE, aux) 136 + # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. 137 + set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)") 138 + @@ -58,11 +34,7 @@ endmacro() 139 + macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION) 140 + set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) 141 + 142 + -!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 143 + - set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 144 + -!!ELSE 145 + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 146 + -!!ENDIF 147 + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) 148 + set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES 149 + \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" 150 + @@ -75,11 +47,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI 151 + ) 152 + 153 + !!IF !isEmpty(CMAKE_WINDOWS_BUILD) 154 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 155 + - set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 156 + -!!ELSE 157 + set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 158 + -!!ENDIF 159 + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib}) 160 + if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\") 161 + set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES 162 + @@ -95,24 +63,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 163 + !!IF !no_module_headers 164 + !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) 165 + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS 166 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" 167 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" 168 + + \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" 169 + + \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" 170 + ) 171 + !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) 172 + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS 173 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" 174 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" 175 + - ) 176 + -!!ELSE 177 + - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") 178 + -!!ENDIF 179 + -!!ELSE 180 + -!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) 181 + - set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") 182 + -!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) 183 + - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS 184 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" 185 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" 186 + + \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" 187 + + \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" 188 + ) 189 + !!ELSE 190 + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") 191 + @@ -128,7 +85,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 192 + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") 193 + !!ENDIF 194 + !!ENDIF 195 + -!!ENDIF 196 + !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) 197 + include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) 198 + !!ENDIF 199 + @@ -280,25 +236,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 200 + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) 201 + !!IF isEmpty(CMAKE_DEBUG_TYPE) 202 + !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) 203 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 204 + - if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 205 + -!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE 206 + if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 207 + -!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE 208 + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) 209 + !!ELSE // CMAKE_STATIC_WINDOWS_BUILD 210 + if (EXISTS 211 + -!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 212 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" 213 + -!!ELSE 214 + \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" 215 + -!!ENDIF 216 + AND EXISTS 217 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 218 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 219 + -!!ELSE 220 + \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 221 + -!!ENDIF 222 + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 223 + !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD 224 + endif() 225 + @@ -317,25 +261,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 226 + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) 227 + !!IF isEmpty(CMAKE_RELEASE_TYPE) 228 + !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) 229 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 230 + - if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 231 + -!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE 232 + if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 233 + -!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE 234 + _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) 235 + !!ELSE // CMAKE_STATIC_WINDOWS_BUILD 236 + if (EXISTS 237 + -!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 238 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" 239 + -!!ELSE 240 + \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" 241 + -!!ENDIF 242 + AND EXISTS 243 + -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 244 + - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 245 + -!!ELSE 246 + \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 247 + -!!ENDIF 248 + _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 249 + !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD 250 + endif() 251 + @@ -354,11 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) 252 + macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) 253 + set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) 254 + 255 + -!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) 256 + - set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") 257 + -!!ELSE 258 + set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") 259 + -!!ENDIF 260 + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) 261 + set_target_properties(Qt5::${Plugin} PROPERTIES 262 + \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} 263 + diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf 264 + index 395ac34001..a0e5c68b7e 100644 265 + --- a/mkspecs/features/mac/default_post.prf 266 + +++ b/mkspecs/features/mac/default_post.prf 267 + @@ -24,165 +24,3 @@ qt { 268 + } 269 + } 270 + } 271 + - 272 + -# Add the same default rpaths as Xcode does for new projects. 273 + -# This is especially important for iOS/tvOS/watchOS where no other option is possible. 274 + -!no_default_rpath { 275 + - QMAKE_RPATHDIR += @executable_path/Frameworks 276 + - equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks 277 + -} 278 + - 279 + -# Don't pass -headerpad_max_install_names when using Bitcode. 280 + -# In that case the linker emits a warning stating that the flag is ignored when 281 + -# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962). 282 + -# Using this flag is also unnecessary in practice on UIKit platforms since they 283 + -# are sandboxed, and only UIKit platforms support bitcode to begin with. 284 + -!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD 285 + - 286 + -app_extension_api_only { 287 + - QMAKE_CFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION 288 + - QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION 289 + - QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION 290 + - QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION 291 + -} 292 + - 293 + -macx-xcode { 294 + - !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) { 295 + - debug_information_format.name = DEBUG_INFORMATION_FORMAT 296 + - debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT 297 + - debug_information_format.build = debug 298 + - QMAKE_MAC_XCODE_SETTINGS += debug_information_format 299 + - } 300 + - 301 + - QMAKE_XCODE_ARCHS = 302 + - 303 + - arch_device.name = "ARCHS[sdk=$${device.sdk}*]" 304 + - arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS 305 + - QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS 306 + - QMAKE_MAC_XCODE_SETTINGS += arch_device 307 + - 308 + - simulator { 309 + - arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]" 310 + - arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS 311 + - QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS 312 + - QMAKE_MAC_XCODE_SETTINGS += arch_simulator 313 + - } 314 + - 315 + - only_active_arch.name = ONLY_ACTIVE_ARCH 316 + - only_active_arch.value = YES 317 + - only_active_arch.build = debug 318 + - QMAKE_MAC_XCODE_SETTINGS += only_active_arch 319 + -} else { 320 + - device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS 321 + - simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS 322 + - VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS 323 + - 324 + - isEmpty(VALID_ARCHS): \ 325 + - error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture") 326 + - 327 + - single_arch: VALID_ARCHS = $$first(VALID_ARCHS) 328 + - 329 + - ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS)) 330 + - ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch)) 331 + - 332 + - QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS 333 + - 334 + - arch_flags = $(EXPORT_ARCH_ARGS) 335 + - 336 + - QMAKE_CFLAGS += $$arch_flags 337 + - QMAKE_CXXFLAGS += $$arch_flags 338 + - QMAKE_LFLAGS += $$arch_flags 339 + - 340 + - QMAKE_PCH_ARCHS = $$VALID_ARCHS 341 + - 342 + - macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET 343 + - ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET 344 + - tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET 345 + - watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET 346 + - 347 + - # If we're doing a simulator and device build, device and simulator 348 + - # architectures use different paths and flags for the sysroot and 349 + - # deployment target switch, so we must multiplex them across multiple 350 + - # architectures using -Xarch. Otherwise we fall back to the simple path. 351 + - # This is not strictly necessary, but results in cleaner command lines 352 + - # and makes it easier for people to override EXPORT_VALID_ARCHS to limit 353 + - # individual rules to a different set of architecture(s) from the overall 354 + - # build (such as machtest in QtCore). 355 + - simulator:device { 356 + - QMAKE_XARCH_CFLAGS = 357 + - QMAKE_XARCH_LFLAGS = 358 + - QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS 359 + - 360 + - for (arch, VALID_ARCHS) { 361 + - contains(VALID_SIMULATOR_ARCHS, $$arch) { 362 + - sdk = $$simulator.sdk 363 + - version_identifier = $$simulator.deployment_identifier 364 + - } else { 365 + - sdk = $$device.sdk 366 + - version_identifier = $$device.deployment_identifier 367 + - } 368 + - 369 + - version_min_flags = \ 370 + - -Xarch_$${arch} \ 371 + - -m$${version_identifier}-version-min=$$deployment_target 372 + - QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \ 373 + - -Xarch_$${arch} \ 374 + - -isysroot$$xcodeSDKInfo(Path, $$sdk) 375 + - QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \ 376 + - -Xarch_$${arch} \ 377 + - -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk) 378 + - 379 + - QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch}) 380 + - QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch}) 381 + - 382 + - QMAKE_EXTRA_VARIABLES += \ 383 + - QMAKE_XARCH_CFLAGS_$${arch} \ 384 + - QMAKE_XARCH_LFLAGS_$${arch} 385 + - } 386 + - 387 + - QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) 388 + - QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) 389 + - QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS) 390 + - } else { 391 + - simulator: \ 392 + - version_identifier = $$simulator.deployment_identifier 393 + - else: \ 394 + - version_identifier = $$device.deployment_identifier 395 + - version_min_flag = -m$${version_identifier}-version-min=$$deployment_target 396 + - QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag 397 + - QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag 398 + - QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag 399 + - } 400 + - 401 + - # Enable precompiled headers for multiple architectures 402 + - QMAKE_CFLAGS_USE_PRECOMPILE = 403 + - for (arch, VALID_ARCHS) { 404 + - icc_pch_style: \ 405 + - use_flag = "-pch-use " 406 + - else: \ 407 + - use_flag = -include 408 + - 409 + - # Only use Xarch with multi-arch, as the option confuses ccache 410 + - count(VALID_ARCHS, 1, greaterThan): \ 411 + - QMAKE_CFLAGS_USE_PRECOMPILE += \ 412 + - -Xarch_$${arch} 413 + - 414 + - QMAKE_CFLAGS_USE_PRECOMPILE += \ 415 + - $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}} 416 + - } 417 + - icc_pch_style { 418 + - QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT} 419 + - QMAKE_CFLAGS_USE_PRECOMPILE = 420 + - } else { 421 + - QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE 422 + - QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE 423 + - QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE 424 + - } 425 + - 426 + - QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT} 427 + -} 428 + - 429 + -cache(QMAKE_XCODE_DEVELOPER_PATH, stash) 430 + -cache(QMAKE_XCODE_VERSION, stash) 431 + - 432 + -QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix() 433 + diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf 434 + index e21e749ee9..3b01424e67 100644 435 + --- a/mkspecs/features/mac/default_pre.prf 436 + +++ b/mkspecs/features/mac/default_pre.prf 437 + @@ -1,51 +1,2 @@ 438 + CONFIG = asset_catalogs rez $$CONFIG 439 + load(default_pre) 440 + - 441 + -isEmpty(QMAKE_XCODE_DEVELOPER_PATH) { 442 + - # Get path of Xcode's Developer directory 443 + - QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null") 444 + - isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \ 445 + - error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.") 446 + - 447 + - # Make sure Xcode path is valid 448 + - !exists($$QMAKE_XCODE_DEVELOPER_PATH): \ 449 + - error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.") 450 + - 451 + - # Make sure Xcode is set up properly 452 + - isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))): \ 453 + - error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.") 454 + -} 455 + - 456 + -isEmpty(QMAKE_XCODE_VERSION) { 457 + - # Extract Xcode version using xcodebuild 458 + - xcode_version = $$system("/usr/bin/xcodebuild -version") 459 + - QMAKE_XCODE_VERSION = $$member(xcode_version, 1) 460 + - isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.") 461 + - unset(xcode_version) 462 + -} 463 + - 464 + -isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) { 465 + - QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist 466 + - exists($$QMAKE_XCODE_PREFERENCES_FILE): \ 467 + - QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null") 468 + - 469 + - !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \ 470 + - cache(QMAKE_TARGET_BUNDLE_PREFIX) 471 + -} 472 + - 473 + -QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon 474 + - 475 + -# Make the default debug info format for static debug builds 476 + -# DWARF instead of DWARF with dSYM. This cuts down build times 477 + -# for application debug builds significantly, as Xcode doesn't 478 + -# have to pull out all the DWARF info from the Qt static libs 479 + -# and put it into a dSYM file. We don't need that dSYM file in 480 + -# the first place, since the information is available in the 481 + -# object files inside the archives (static libraries). 482 + -macx-xcode:qtConfig(static): \ 483 + - QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf 484 + - 485 + -# This variable is used by the xcode_dynamic_library_suffix 486 + -# feature, which allows Xcode to choose the Qt libraries to link to 487 + -# at build time, depending on the current Xcode SDK and configuration. 488 + -QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX 489 + diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf 490 + index 68ab7e4053..e69de29bb2 100644 491 + --- a/mkspecs/features/mac/sdk.prf 492 + +++ b/mkspecs/features/mac/sdk.prf 493 + @@ -1,49 +0,0 @@ 494 + - 495 + -isEmpty(QMAKE_MAC_SDK): \ 496 + - error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.") 497 + - 498 + -contains(QMAKE_MAC_SDK, .*/.*): \ 499 + - error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)") 500 + - 501 + -defineReplace(xcodeSDKInfo) { 502 + - info = $$1 503 + - sdk = $$2 504 + - isEmpty(sdk): \ 505 + - sdk = $$QMAKE_MAC_SDK 506 + - 507 + - isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) { 508 + - QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcodebuild -sdk $$sdk -version $$info 2>/dev/null") 509 + - isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}): error("Could not resolve SDK $$info for \'$$sdk\'") 510 + - cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info}) 511 + - } 512 + - 513 + - return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info})) 514 + -} 515 + - 516 + -QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path) 517 + -QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath) 518 + -QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion) 519 + - 520 + -sysrootified = 521 + -for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val 522 + -QMAKE_INCDIR_OPENGL = $$sysrootified 523 + - 524 + -QMAKESPEC_NAME = $$basename(QMAKESPEC) 525 + - 526 + -# Resolve SDK version of various tools 527 + -for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL)) { 528 + - tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool} 529 + - !isEmpty($$tool_variable) { 530 + - $$tool = $$eval($$tool_variable) 531 + - next() 532 + - } 533 + - 534 + - value = $$eval($$tool) 535 + - isEmpty(value): next() 536 + - 537 + - sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null") 538 + - isEmpty(sysrooted): next() 539 + - 540 + - $$tool = $$sysrooted $$member(value, 1, -1) 541 + - cache($$tool_variable, set stash, $$tool) 542 + -} 543 + diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf 544 + index 4db0040dc5..65d6da1f4d 100644 545 + --- a/mkspecs/features/qml_module.prf 546 + +++ b/mkspecs/features/qml_module.prf 547 + @@ -23,13 +23,8 @@ for(qmlf, AUX_QML_FILES): fq_aux_qml_files += $$absolute_path($$qmlf, $$_PRO_FIL 548 + 549 + load(qt_build_paths) 550 + 551 + -qml1_target { 552 + - DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH 553 + - instbase = $$[QT_INSTALL_IMPORTS] 554 + -} else { 555 + - DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH 556 + - instbase = $$[QT_INSTALL_QML] 557 + -} 558 + +DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH 559 + +instbase = $$NIX_OUTPUT_QML 560 + 561 + !qml1_target:static: CONFIG += builtin_resources 562 + 563 + diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf 564 + index d49f4c49c1..097dcd7d39 100644 565 + --- a/mkspecs/features/qml_plugin.prf 566 + +++ b/mkspecs/features/qml_plugin.prf 567 + @@ -48,13 +48,8 @@ exists($$QMLTYPEFILE): AUX_QML_FILES += $$QMLTYPEFILE 568 + 569 + load(qt_build_paths) 570 + 571 + -qml1_target { 572 + - DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH 573 + - instbase = $$[QT_INSTALL_IMPORTS] 574 + -} else { 575 + - DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH 576 + - instbase = $$[QT_INSTALL_QML] 577 + -} 578 + +DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH 579 + +instbase = $$NIX_OUTPUT_QML 580 + 581 + target.path = $$instbase/$$TARGETPATH 582 + INSTALLS += target 583 + diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf 584 + index cb84ae0da8..45e16f4302 100644 585 + --- a/mkspecs/features/qt_app.prf 586 + +++ b/mkspecs/features/qt_app.prf 587 + @@ -29,7 +29,7 @@ host_build:force_bootstrap { 588 + target.path = $$[QT_HOST_BINS] 589 + } else { 590 + !build_pass:qtConfig(debug_and_release): CONFIG += release 591 + - target.path = $$[QT_INSTALL_BINS] 592 + + target.path = $$NIX_OUTPUT_BIN/bin 593 + CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable 594 + } 595 + INSTALLS += target 596 + diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf 597 + index 1848f00e90..2af93675c5 100644 598 + --- a/mkspecs/features/qt_build_paths.prf 599 + +++ b/mkspecs/features/qt_build_paths.prf 600 + @@ -23,6 +23,6 @@ exists($$MODULE_BASE_INDIR/.git): \ 601 + !force_independent { 602 + # If the module is not built independently, everything ends up in qtbase. 603 + # This is the case in non-prefix builds, except for selected modules. 604 + - MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX] 605 + - MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX] 606 + + MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT 607 + + MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT 608 + } 609 + diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf 610 + index 1e138730b3..b7ba74dc3f 100644 611 + --- a/mkspecs/features/qt_common.prf 612 + +++ b/mkspecs/features/qt_common.prf 613 + @@ -32,8 +32,8 @@ contains(TEMPLATE, .*lib) { 614 + qqt_libdir = \$\$\$\$[QT_HOST_LIBS] 615 + qt_libdir = $$[QT_HOST_LIBS] 616 + } else { 617 + - qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS] 618 + - qt_libdir = $$[QT_INSTALL_LIBS] 619 + + qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib 620 + + qt_libdir = $$NIX_OUTPUT_OUT/lib 621 + } 622 + contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { 623 + lib_replace.match = "[^ ']*$$rplbase/lib" 624 + diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf 625 + index 72dde61a40..f891a2baed 100644 626 + --- a/mkspecs/features/qt_docs.prf 627 + +++ b/mkspecs/features/qt_docs.prf 628 + @@ -45,7 +45,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR 629 + 630 + QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR) 631 + !build_online_docs: \ 632 + - QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS]) 633 + + QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC) 634 + PREP_DOC_INDEXES = 635 + DOC_INDEXES = 636 + !isEmpty(QTREPOS) { 637 + @@ -64,8 +64,8 @@ DOC_INDEXES = 638 + DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc) 639 + } else { 640 + prepare_docs: \ 641 + - PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) 642 + - DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) 643 + + PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) 644 + + DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) 645 + } 646 + 647 + qtattributionsscanner.target = qtattributionsscanner 648 + @@ -88,12 +88,12 @@ prepare_docs { 649 + qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch) 650 + 651 + inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR 652 + - inst_html_docs.path = $$[QT_INSTALL_DOCS] 653 + + inst_html_docs.path = $$NIX_OUTPUT_DOC 654 + inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build 655 + INSTALLS += inst_html_docs 656 + 657 + inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch 658 + - inst_qch_docs.path = $$[QT_INSTALL_DOCS] 659 + + inst_qch_docs.path = $$NIX_OUTPUT_DOC 660 + inst_qch_docs.CONFIG += no_check_exist no_default_install no_build 661 + INSTALLS += inst_qch_docs 662 + 663 + diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf 664 + index 0a008374e5..5e7cd92f6f 100644 665 + --- a/mkspecs/features/qt_example_installs.prf 666 + +++ b/mkspecs/features/qt_example_installs.prf 667 + @@ -73,7 +73,7 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples) 668 + $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \ 669 + $$DBUS_ADAPTORS $$DBUS_INTERFACES 670 + addInstallFiles(sources.files, $$sourcefiles) 671 + - sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase 672 + + sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase 673 + INSTALLS += sources 674 + 675 + check_examples { 676 + diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf 677 + index c00fdb73f8..6d8ba132cb 100644 678 + --- a/mkspecs/features/qt_functions.prf 679 + +++ b/mkspecs/features/qt_functions.prf 680 + @@ -69,7 +69,7 @@ defineTest(qtHaveModule) { 681 + defineTest(qtPrepareTool) { 682 + cmd = $$eval(QT_TOOL.$${2}.binary) 683 + isEmpty(cmd) { 684 + - cmd = $$[QT_HOST_BINS]/$$2 685 + + cmd = $$system("type -p $$2") 686 + exists($${cmd}.pl) { 687 + $${1}_EXE = $${cmd}.pl 688 + cmd = perl -w $$system_path($${cmd}.pl) 689 + diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf 690 + index 0d3dfb6b93..5f935b4424 100644 691 + --- a/mkspecs/features/qt_installs.prf 692 + +++ b/mkspecs/features/qt_installs.prf 693 + @@ -12,16 +12,10 @@ 694 + #library 695 + !qt_no_install_library { 696 + win32 { 697 + - host_build: \ 698 + - dlltarget.path = $$[QT_HOST_BINS] 699 + - else: \ 700 + - dlltarget.path = $$[QT_INSTALL_BINS] 701 + + dlltarget.path = $$NIX_OUTPUT_BIN/bin 702 + INSTALLS += dlltarget 703 + } 704 + - host_build: \ 705 + - target.path = $$[QT_HOST_LIBS] 706 + - else: \ 707 + - target.path = $$[QT_INSTALL_LIBS] 708 + + target.path = $$NIX_OUTPUT_OUT/lib 709 + !static: target.CONFIG = no_dll 710 + INSTALLS += target 711 + } 712 + @@ -29,33 +23,33 @@ 713 + #headers 714 + qt_install_headers { 715 + class_headers.files = $$SYNCQT.HEADER_CLASSES 716 + - class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME 717 + + class_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME 718 + INSTALLS += class_headers 719 + 720 + targ_headers.files = $$SYNCQT.HEADER_FILES 721 + - targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME 722 + + targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME 723 + INSTALLS += targ_headers 724 + 725 + private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES 726 + - private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private 727 + + private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private 728 + INSTALLS += private_headers 729 + 730 + qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES 731 + - qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa 732 + + qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa 733 + INSTALLS += qpa_headers 734 + } 735 + 736 + #module 737 + qt_install_module { 738 + !isEmpty(MODULE_PRI) { 739 + - pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules 740 + + pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules 741 + pritarget.files = $$MODULE_PRI 742 + INSTALLS += pritarget 743 + } else: isEmpty(MODULE_PRIVATE_PRI) { 744 + warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.") 745 + } 746 + !isEmpty(MODULE_PRIVATE_PRI) { 747 + - privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules 748 + + privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules 749 + privpritarget.files = $$MODULE_PRIVATE_PRI 750 + INSTALLS += privpritarget 751 + } 752 + diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf 753 + index 62e1b69fde..abd63123f9 100644 754 + --- a/mkspecs/features/qt_plugin.prf 755 + +++ b/mkspecs/features/qt_plugin.prf 756 + @@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build { 757 + } 758 + } 759 + 760 + -target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE 761 + +target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE 762 + INSTALLS += target 763 + 764 + TARGET = $$qt5LibraryTarget($$TARGET) 765 + diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in 766 + index 545b9a3d1e..6ac0cdefe4 100644 767 + --- a/src/corelib/Qt5CoreConfigExtras.cmake.in 768 + +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in 769 + @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake) 770 + add_executable(Qt5::qmake IMPORTED) 771 + 772 + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 773 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") 774 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") 775 + !!ELSE 776 + set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") 777 + !!ENDIF 778 + @@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc) 779 + add_executable(Qt5::moc IMPORTED) 780 + 781 + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 782 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") 783 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") 784 + !!ELSE 785 + set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") 786 + !!ENDIF 787 + @@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc) 788 + add_executable(Qt5::rcc IMPORTED) 789 + 790 + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 791 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") 792 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") 793 + !!ELSE 794 + set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") 795 + !!ENDIF 796 + @@ -133,7 +133,7 @@ if (NOT TARGET Qt5::WinMain) 797 + !!IF !isEmpty(CMAKE_RELEASE_TYPE) 798 + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) 799 + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 800 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") 801 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") 802 + !!ELSE 803 + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") 804 + !!ENDIF 805 + @@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain) 806 + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) 807 + 808 + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 809 + - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") 810 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") 811 + !!ELSE 812 + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") 813 + !!ENDIF 814 + diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 815 + index c357237d0e..6f0c75de3c 100644 816 + --- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 817 + +++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 818 + @@ -1,6 +1,6 @@ 819 + 820 + !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE) 821 + -set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 822 + +set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 823 + !!ELSE 824 + set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") 825 + !!ENDIF 826 + diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 827 + index 706304cf34..546420f6ad 100644 828 + --- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 829 + +++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 830 + @@ -1,6 +1,6 @@ 831 + 832 + !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE) 833 + -set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 834 + +set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 835 + !!ELSE 836 + set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") 837 + !!ENDIF 838 + diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp 839 + index 39e7c71a9c..dced1f2811 100644 840 + --- a/src/corelib/kernel/qcoreapplication.cpp 841 + +++ b/src/corelib/kernel/qcoreapplication.cpp 842 + @@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPaths() 843 + QStringList *app_libpaths = new QStringList; 844 + coreappdata()->app_libpaths.reset(app_libpaths); 845 + 846 + + // Add library paths derived from PATH 847 + + const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); 848 + + const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX); 849 + + for (const QString &path: paths) { 850 + + if (!path.isEmpty()) { 851 + + app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir)); 852 + + } 853 + + } 854 + + 855 + const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH"); 856 + if (!libPathEnv.isEmpty()) { 857 + QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts); 858 + diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp 859 + index 1714c9802f..fd2ebb1336 100644 860 + --- a/src/corelib/tools/qtimezoneprivate_tz.cpp 861 + +++ b/src/corelib/tools/qtimezoneprivate_tz.cpp 862 + @@ -70,7 +70,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash; 863 + // Parse zone.tab table, assume lists all installed zones, if not will need to read directories 864 + static QTzTimeZoneHash loadTzTimeZones() 865 + { 866 + - QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); 867 + + // Try TZDIR first, in case we're running on NixOS. 868 + + QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab"); 869 + + // Fallback to traditional paths in case we are not on NixOS. 870 + + if (!QFile::exists(path)) 871 + + path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); 872 + if (!QFile::exists(path)) 873 + path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); 874 + 875 + @@ -643,12 +647,16 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId) 876 + if (!tzif.open(QIODevice::ReadOnly)) 877 + return; 878 + } else { 879 + - // Open named tz, try modern path first, if fails try legacy path 880 + - tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 881 + + // Try TZDIR first, in case we're running on NixOS 882 + + tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId)); 883 + if (!tzif.open(QIODevice::ReadOnly)) { 884 + - tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 885 + - if (!tzif.open(QIODevice::ReadOnly)) 886 + - return; 887 + + // Open named tz, try modern path first, if fails try legacy path 888 + + tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 889 + + if (!tzif.open(QIODevice::ReadOnly)) { 890 + + tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 891 + + if (!tzif.open(QIODevice::ReadOnly)) 892 + + return; 893 + + } 894 + } 895 + } 896 + 897 + diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in 898 + index 1d947159e2..b36865fc48 100644 899 + --- a/src/dbus/Qt5DBusConfigExtras.cmake.in 900 + +++ b/src/dbus/Qt5DBusConfigExtras.cmake.in 901 + @@ -2,11 +2,7 @@ 902 + if (NOT TARGET Qt5::qdbuscpp2xml) 903 + add_executable(Qt5::qdbuscpp2xml IMPORTED) 904 + 905 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 906 + - set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") 907 + -!!ELSE 908 + - set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") 909 + -!!ENDIF 910 + + set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") 911 + _qt5_DBus_check_file_exists(${imported_location}) 912 + 913 + set_target_properties(Qt5::qdbuscpp2xml PROPERTIES 914 + @@ -17,11 +13,7 @@ endif() 915 + if (NOT TARGET Qt5::qdbusxml2cpp) 916 + add_executable(Qt5::qdbusxml2cpp IMPORTED) 917 + 918 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 919 + - set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") 920 + -!!ELSE 921 + - set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") 922 + -!!ENDIF 923 + + set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") 924 + _qt5_DBus_check_file_exists(${imported_location}) 925 + 926 + set_target_properties(Qt5::qdbusxml2cpp PROPERTIES 927 + diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in 928 + index 07869efd7d..37b95d1b6b 100644 929 + --- a/src/gui/Qt5GuiConfigExtras.cmake.in 930 + +++ b/src/gui/Qt5GuiConfigExtras.cmake.in 931 + @@ -2,7 +2,7 @@ 932 + !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) 933 + 934 + !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) 935 + -set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\") 936 + +set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\") 937 + !!ELSE 938 + set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") 939 + !!ENDIF 940 + @@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO 941 + set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) 942 + 943 + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 944 + - set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 945 + + set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 946 + !!ELSE 947 + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 948 + !!ENDIF 949 + 950 + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 951 + - set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 952 + + set(imported_implib \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 953 + !!ELSE 954 + set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 955 + !!ENDIF 956 + diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp 957 + index 1da00813ce..0bf877afcb 100644 958 + --- a/src/network/kernel/qdnslookup_unix.cpp 959 + +++ b/src/network/kernel/qdnslookup_unix.cpp 960 + @@ -92,7 +92,7 @@ static bool resolveLibraryInternal() 961 + if (!lib.load()) 962 + #endif 963 + { 964 + - lib.setFileName(QLatin1String("resolv")); 965 + + lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); 966 + if (!lib.load()) 967 + return false; 968 + } 969 + diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp 970 + index cf08a15f96..2310488298 100644 971 + --- a/src/network/kernel/qhostinfo_unix.cpp 972 + +++ b/src/network/kernel/qhostinfo_unix.cpp 973 + @@ -102,7 +102,7 @@ static bool resolveLibraryInternal() 974 + if (!lib.load()) 975 + #endif 976 + { 977 + - lib.setFileName(QLatin1String("resolv")); 978 + + lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); 979 + if (!lib.load()) 980 + return false; 981 + } 982 + diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp 983 + index c92d8fc3f8..6008063bcf 100644 984 + --- a/src/network/ssl/qsslcontext_openssl.cpp 985 + +++ b/src/network/ssl/qsslcontext_openssl.cpp 986 + @@ -351,7 +351,7 @@ init_context: 987 + 988 + const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves(); 989 + if (!qcurves.isEmpty()) { 990 + -#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) 991 + +#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC) 992 + // Set the curves to be used 993 + if (q_SSLeay() >= 0x10002000L) { 994 + // SSL_CTX_ctrl wants a non-const pointer as last argument, 995 + @@ -364,7 +364,7 @@ init_context: 996 + sslContext->errorCode = QSslError::UnspecifiedError; 997 + } 998 + } else 999 + -#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) 1000 + +#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC) 1001 + { 1002 + // specific curves requested, but not possible to set -> error 1003 + sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2")); 1004 + diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 1005 + index ca9f7af127..a337ad73bf 100644 1006 + --- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 1007 + +++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 1008 + @@ -265,12 +265,9 @@ void TableGenerator::initPossibleLocations() 1009 + m_possibleLocations.reserve(7); 1010 + if (qEnvironmentVariableIsSet("QTCOMPOSE")) 1011 + m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE"))); 1012 + - m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale")); 1013 + - m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale")); 1014 + - m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale")); 1015 + - m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale")); 1016 + m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale")); 1017 + m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale")); 1018 + + m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE)); 1019 + } 1020 + 1021 + QString TableGenerator::findComposeFile() 1022 + diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 1023 + index 7640a711a9..ef9a14d38b 100644 1024 + --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 1025 + +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 1026 + @@ -580,7 +580,14 @@ QFunctionPointer QGLXContext::getProcAddress(const char *procName) 1027 + #if QT_CONFIG(library) 1028 + extern const QString qt_gl_library_name(); 1029 + // QLibrary lib(qt_gl_library_name()); 1030 + + // Check system library paths first 1031 + QLibrary lib(QLatin1String("GL")); 1032 + +#ifdef NIXPKGS_MESA_GL 1033 + + if (!lib.load()) { 1034 + + // Fallback to Mesa driver 1035 + + lib.setFileName(QLatin1String(NIXPKGS_MESA_GL)); 1036 + + } 1037 + +#endif // NIXPKGS_MESA_GL 1038 + glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); 1039 + #endif 1040 + } 1041 + diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp 1042 + index d257ab1242..75853af4e4 100644 1043 + --- a/src/plugins/platforms/xcb/qxcbcursor.cpp 1044 + +++ b/src/plugins/platforms/xcb/qxcbcursor.cpp 1045 + @@ -311,10 +311,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen) 1046 + #if defined(XCB_USE_XLIB) && QT_CONFIG(library) 1047 + static bool function_ptrs_not_initialized = true; 1048 + if (function_ptrs_not_initialized) { 1049 + - QLibrary xcursorLib(QLatin1String("Xcursor"), 1); 1050 + + QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1); 1051 + bool xcursorFound = xcursorLib.load(); 1052 + if (!xcursorFound) { // try without the version number 1053 + - xcursorLib.setFileName(QLatin1String("Xcursor")); 1054 + + xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR)); 1055 + xcursorFound = xcursorLib.load(); 1056 + } 1057 + if (xcursorFound) { 1058 + diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp 1059 + index c4cd66c33b..b6f2691587 100644 1060 + --- a/src/plugins/platformthemes/gtk3/main.cpp 1061 + +++ b/src/plugins/platformthemes/gtk3/main.cpp 1062 + @@ -39,6 +39,7 @@ 1063 + 1064 + #include <qpa/qplatformthemeplugin.h> 1065 + #include "qgtk3theme.h" 1066 + +#include <QFile> 1067 + 1068 + QT_BEGIN_NAMESPACE 1069 + 1070 + @@ -54,8 +55,22 @@ public: 1071 + QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params) 1072 + { 1073 + Q_UNUSED(params); 1074 + - if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) 1075 + + if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) { 1076 + + 1077 + +#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS 1078 + + QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':'); 1079 + + XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS); 1080 + + qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':'))); 1081 + +#endif 1082 + + 1083 + +#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES 1084 + + QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':'); 1085 + + GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES); 1086 + + qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':'))); 1087 + +#endif 1088 + + 1089 + return new QGtk3Theme; 1090 + + } 1091 + 1092 + return 0; 1093 + } 1094 + diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in 1095 + index 99d87e2e46..a4eab2aa72 100644 1096 + --- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in 1097 + +++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in 1098 + @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic) 1099 + add_executable(Qt5::uic IMPORTED) 1100 + 1101 + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 1102 + - set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") 1103 + + set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") 1104 + !!ELSE 1105 + set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") 1106 + !!ENDIF
-359
pkgs/development/libraries/qt-5/5.9/qtbase/cmake-paths.patch
··· 1 - Index: qtbase-opensource-src-5.9.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2 - =================================================================== 3 - --- qtbase-opensource-src-5.9.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 4 - +++ qtbase-opensource-src-5.9.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 5 - @@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) 6 - endif() 7 - !!ENDIF 8 - 9 - -!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) 10 - -!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 11 - -set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") 12 - -!!ELSE 13 - -get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH) 14 - -# Use original install prefix when loaded through a 15 - -# cross-prefix symbolic link such as /lib -> /usr/lib. 16 - -get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH) 17 - -get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH) 18 - -if(_realCurr STREQUAL _realOrig) 19 - - get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE) 20 - -else() 21 - - get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) 22 - -endif() 23 - -unset(_realOrig) 24 - -unset(_realCurr) 25 - -unset(_IMPORT_PREFIX) 26 - -!!ENDIF 27 - -!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 28 - -get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) 29 - -!!ELSE 30 - -set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") 31 - -!!ENDIF 32 - - 33 - !!IF !equals(TEMPLATE, aux) 34 - # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. 35 - set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)") 36 - @@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta 37 - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) 38 - 39 - !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 40 - - set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 41 - + set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 42 - + if(NOT EXISTS \"${imported_location}\") 43 - + set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 44 - + endif() 45 - !!ELSE 46 - set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 47 - !!ENDIF 48 - @@ -74,19 +53,6 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta 49 - \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" 50 - ) 51 - 52 - -!!IF !isEmpty(CMAKE_WINDOWS_BUILD) 53 - -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 54 - - set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 55 - -!!ELSE 56 - - set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 57 - -!!ENDIF 58 - - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib}) 59 - - if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\") 60 - - set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES 61 - - \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib} 62 - - ) 63 - - endif() 64 - -!!ENDIF 65 - endmacro() 66 - !!ENDIF 67 - 68 - @@ -95,24 +61,24 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME 69 - !!IF !no_module_headers 70 - !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) 71 - set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS 72 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" 73 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" 74 - + \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" 75 - + \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" 76 - ) 77 - !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) 78 - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS 79 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" 80 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" 81 - + \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" 82 - + \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" 83 - ) 84 - !!ELSE 85 - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") 86 - !!ENDIF 87 - !!ELSE 88 - !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) 89 - - set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") 90 - + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR\" \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") 91 - !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) 92 - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS 93 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" 94 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" 95 - + \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" 96 - + \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" 97 - ) 98 - !!ELSE 99 - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") 100 - @@ -281,7 +247,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME 101 - !!IF isEmpty(CMAKE_DEBUG_TYPE) 102 - !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) 103 - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 104 - - if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 105 - + if (EXISTS \"@NIX_OUT@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 106 - !!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE 107 - if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 108 - !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE 109 - @@ -289,13 +255,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME 110 - !!ELSE // CMAKE_STATIC_WINDOWS_BUILD 111 - if (EXISTS 112 - !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 113 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" 114 - + \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" 115 - !!ELSE 116 - \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" 117 - !!ENDIF 118 - AND EXISTS 119 - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 120 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 121 - + \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 122 - !!ELSE 123 - \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) 124 - !!ENDIF 125 - @@ -318,7 +284,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME 126 - !!IF isEmpty(CMAKE_RELEASE_TYPE) 127 - !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) 128 - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 129 - - if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 130 - + if (EXISTS \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 131 - !!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE 132 - if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 133 - !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE 134 - @@ -326,13 +292,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME 135 - !!ELSE // CMAKE_STATIC_WINDOWS_BUILD 136 - if (EXISTS 137 - !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 138 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" 139 - + \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" 140 - !!ELSE 141 - \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" 142 - !!ENDIF 143 - AND EXISTS 144 - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 145 - - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 146 - + \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 147 - !!ELSE 148 - \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) 149 - !!ENDIF 150 - @@ -354,11 +320,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME 151 - macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) 152 - set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) 153 - 154 - -!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) 155 - - set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") 156 - -!!ELSE 157 - - set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") 158 - -!!ENDIF 159 - + set(imported_location \"${PLUGIN_LOCATION}\") 160 - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) 161 - set_target_properties(Qt5::${Plugin} PROPERTIES 162 - \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} 163 - Index: qtbase-opensource-src-5.9.0/src/gui/Qt5GuiConfigExtras.cmake.in 164 - =================================================================== 165 - --- qtbase-opensource-src-5.9.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in 166 - +++ qtbase-opensource-src-5.9.0/src/gui/Qt5GuiConfigExtras.cmake.in 167 - @@ -2,7 +2,7 @@ 168 - !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) 169 - 170 - !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) 171 - -set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\") 172 - +set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\") 173 - !!ELSE 174 - set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") 175 - !!ENDIF 176 - @@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert 177 - set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) 178 - 179 - !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) 180 - - set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 181 - + set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 182 - !!ELSE 183 - set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") 184 - !!ENDIF 185 - 186 - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 187 - - set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 188 - + set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 189 - !!ELSE 190 - set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") 191 - !!ENDIF 192 - Index: qtbase-opensource-src-5.9.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in 193 - =================================================================== 194 - --- qtbase-opensource-src-5.9.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in 195 - +++ qtbase-opensource-src-5.9.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in 196 - @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic) 197 - add_executable(Qt5::uic IMPORTED) 198 - 199 - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 200 - - set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") 201 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") 202 - !!ELSE 203 - set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") 204 - !!ENDIF 205 - Index: qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtras.cmake.in 206 - =================================================================== 207 - --- qtbase-opensource-src-5.9.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in 208 - +++ qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtras.cmake.in 209 - @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake) 210 - add_executable(Qt5::qmake IMPORTED) 211 - 212 - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 213 - - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") 214 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") 215 - !!ELSE 216 - set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") 217 - !!ENDIF 218 - @@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc) 219 - add_executable(Qt5::moc IMPORTED) 220 - 221 - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 222 - - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") 223 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") 224 - !!ELSE 225 - set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") 226 - !!ENDIF 227 - @@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc) 228 - add_executable(Qt5::rcc IMPORTED) 229 - 230 - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 231 - - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") 232 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") 233 - !!ELSE 234 - set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") 235 - !!ENDIF 236 - @@ -133,7 +133,7 @@ if (NOT TARGET Qt5::WinMain) 237 - !!IF !isEmpty(CMAKE_RELEASE_TYPE) 238 - set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) 239 - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 240 - - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") 241 - + set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") 242 - !!ELSE 243 - set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") 244 - !!ENDIF 245 - @@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain) 246 - set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) 247 - 248 - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) 249 - - set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") 250 - + set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") 251 - !!ELSE 252 - set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") 253 - !!ENDIF 254 - Index: qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 255 - =================================================================== 256 - --- qtbase-opensource-src-5.9.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 257 - +++ qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 258 - @@ -1,6 +1,6 @@ 259 - 260 - !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE) 261 - -set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 262 - +set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 263 - !!ELSE 264 - set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") 265 - !!ENDIF 266 - Index: qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 267 - =================================================================== 268 - --- qtbase-opensource-src-5.9.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 269 - +++ qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 270 - @@ -1,6 +1,6 @@ 271 - 272 - !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE) 273 - -set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 274 - +set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") 275 - !!ELSE 276 - set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") 277 - !!ENDIF 278 - Index: qtbase-opensource-src-5.9.0/src/dbus/Qt5DBusConfigExtras.cmake.in 279 - =================================================================== 280 - --- qtbase-opensource-src-5.9.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in 281 - +++ qtbase-opensource-src-5.9.0/src/dbus/Qt5DBusConfigExtras.cmake.in 282 - @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml) 283 - add_executable(Qt5::qdbuscpp2xml IMPORTED) 284 - 285 - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 286 - - set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") 287 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") 288 - !!ELSE 289 - set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") 290 - !!ENDIF 291 - @@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp) 292 - add_executable(Qt5::qdbusxml2cpp IMPORTED) 293 - 294 - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 295 - - set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") 296 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") 297 - !!ELSE 298 - set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") 299 - !!ENDIF 300 - Index: qtbase-opensource-src-5.9.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in 301 - =================================================================== 302 - --- qtbase-opensource-src-5.9.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in 303 - +++ qtbase-opensource-src-5.9.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in 304 - @@ -2,10 +2,10 @@ 305 - add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) 306 - 307 - !!IF !isEmpty(CMAKE_RELEASE_TYPE) 308 - -_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") 309 - +_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_BIN@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\") 310 - !!ENDIF 311 - !!IF !isEmpty(CMAKE_DEBUG_TYPE) 312 - -_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") 313 - +_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_BIN@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\") 314 - !!ENDIF 315 - 316 - list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) 317 - Index: qtbase-opensource-src-5.9.0/mkspecs/features/create_cmake.prf 318 - =================================================================== 319 - --- qtbase-opensource-src-5.9.0.orig/mkspecs/features/create_cmake.prf 320 - +++ qtbase-opensource-src-5.9.0/mkspecs/features/create_cmake.prf 321 - @@ -136,28 +136,28 @@ contains(CONFIG, plugin) { 322 - 323 - win32 { 324 - isEmpty(CMAKE_STATIC_TYPE) { 325 - - CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll 326 - - CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll 327 - + CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.dll 328 - + CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.dll 329 - } else:mingw { 330 - - CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a 331 - - CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a 332 - + CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}.a 333 - + CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}d.a 334 - } else { # MSVC static 335 - - CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib 336 - - CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib 337 - + CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.lib 338 - + CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.lib 339 - } 340 - } else { 341 - mac { 342 - isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib 343 - else: CMAKE_PlUGIN_EXT = .a 344 - 345 - - CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} 346 - - CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} 347 - + CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} 348 - + CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} 349 - } else { 350 - isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so 351 - else: CMAKE_PlUGIN_EXT = .a 352 - 353 - - CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} 354 - - CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} 355 - + CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} 356 - + CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} 357 - } 358 - } 359 - cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
-18
pkgs/development/libraries/qt-5/5.9/qtbase/compose-search-path.patch
··· 1 - Index: qtbase-opensource-src-5.9.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 2 - =================================================================== 3 - --- qtbase-opensource-src-5.9.0.orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 4 - +++ qtbase-opensource-src-5.9.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 5 - @@ -265,12 +265,9 @@ void TableGenerator::initPossibleLocatio 6 - m_possibleLocations.reserve(7); 7 - if (qEnvironmentVariableIsSet("QTCOMPOSE")) 8 - m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE"))); 9 - - m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale")); 10 - - m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale")); 11 - - m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale")); 12 - - m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale")); 13 - m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale")); 14 - m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale")); 15 - + m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE)); 16 - } 17 - 18 - QString TableGenerator::findComposeFile()
-36
pkgs/development/libraries/qt-5/5.9/qtbase/darwin-cf.patch
··· 1 - diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm 2 - index 341d3bc..3368234 100644 3 - --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm 4 - +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm 5 - @@ -287,7 +287,7 @@ void QScanThread::getUserConfigurations() 6 - QMacAutoReleasePool pool; 7 - userProfiles.clear(); 8 - 9 - - NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames]; 10 - + NSArray *wifiInterfaces = [CWWiFiClient interfaceNames]; 11 - for (NSString *ifName in wifiInterfaces) { 12 - 13 - CWInterface *wifiInterface = [[CWWiFiClient sharedWiFiClient] interfaceWithName:ifName]; 14 - @@ -602,7 +602,7 @@ void QCoreWlanEngine::doRequestUpdate() 15 - 16 - QMacAutoReleasePool pool; 17 - 18 - - NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames]; 19 - + NSArray *wifiInterfaces = [CWWiFiClient interfaceNames]; 20 - for (NSString *ifName in wifiInterfaces) { 21 - scanThread->interfaceName = QString::fromNSString(ifName); 22 - scanThread->start(); 23 - QString TableGenerator::findComposeFile() 24 - diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm 25 - index 59b7637..b91139d 100644 26 - --- a/src/plugins/platforms/cocoa/qcocoawindow.mm 27 - +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm 28 - @@ -320,7 +320,7 @@ static void qt_closePopups() 29 - + (void)applicationActivationChanged:(NSNotification*)notification 30 - { 31 - const id sender = self; 32 - - NSEnumerator<NSWindow*> *windowEnumerator = nullptr; 33 - + NSEnumerator *windowEnumerator = nullptr; 34 - NSApplication *application = [NSApplication sharedApplication]; 35 - 36 - #if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12)
-3
pkgs/development/libraries/qt-5/5.9/qtbase/darwin-series
··· 1 - mkspecs-common-mac.patch 2 - mkspecs-features-mac.patch 3 - darwin-cf.patch
+90 -61
pkgs/development/libraries/qt-5/5.9/qtbase/default.nix pkgs/development/libraries/qt-5/modules/qtbase.nix
··· 1 1 { 2 - stdenv, lib, copyPathsToStore, 3 - src, version, qtCompatVersion, 2 + stdenv, lib, 3 + src, patches, version, qtCompatVersion, 4 4 5 5 coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python2, 6 6 ruby, 7 7 # darwin support 8 8 darwin, libiconv, libcxx, 9 9 10 - dbus, dconf, fontconfig, freetype, glib, gtk3, harfbuzz, icu, libX11, libXcomposite, 10 + dbus, fontconfig, freetype, glib, harfbuzz, icu, libX11, libXcomposite, 11 11 libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff, 12 - libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre2, sqlite, udev, 12 + libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, pcre2, sqlite, udev, 13 13 xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm, xlibs, 14 14 zlib, 15 15 16 16 # optional dependencies 17 17 cups ? null, mysql ? null, postgresql ? null, 18 + withGtk3 ? false, dconf ? null, gtk3 ? null, 18 19 19 20 # options 20 21 mesaSupported ? (!stdenv.isDarwin), ··· 25 26 decryptSslTraffic ? false 26 27 }: 27 28 29 + assert withGtk3 -> dconf != null; 30 + assert withGtk3 -> gtk3 != null; 31 + 28 32 let 29 33 system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64; 30 34 in ··· 36 40 37 41 propagatedBuildInputs = 38 42 [ 39 - libxml2 libxslt openssl pcre2 sqlite zlib 43 + libxml2 libxslt openssl sqlite zlib 40 44 41 45 # Text rendering 42 46 harfbuzz icu ··· 44 48 # Image formats 45 49 libjpeg libpng libtiff 46 50 ] 51 + ++ (if builtins.compareVersions version "5.9.0" >= 0 52 + then [ pcre2 ] else [ pcre16 ]) 47 53 48 54 ++ lib.optional (mesaSupported && !stdenv.isDarwin) mesa 49 55 ··· 66 72 ]); 67 73 68 74 buildInputs = [ ] 69 - ++ lib.optionals (!stdenv.isDarwin) [ gtk3 libinput ] 75 + ++ lib.optional (!stdenv.isDarwin && withGtk3) gtk3 76 + ++ lib.optional (!stdenv.isDarwin) libinput 70 77 ++ lib.optional developerBuild gdb 71 78 ++ lib.optional (cups != null) cups 72 79 ++ lib.optional (mysql != null) mysql.lib ··· 76 83 [ bison flex gperf lndir perl pkgconfig python2 ] 77 84 ++ lib.optional (!stdenv.isDarwin) patchelf; 78 85 86 + propagatedNativeBuildInputs = [ lndir ]; 87 + 79 88 outputs = [ "bin" "dev" "out" ]; 80 89 81 - patches = 82 - copyPathsToStore (lib.readPathsFromFile ./. ./series) 83 - ++ stdenv.lib.optional stdenv.isDarwin (copyPathsToStore (lib.readPathsFromFile ./. ./darwin-series)); 90 + inherit patches; 91 + 92 + fix_qt_static_libs = ../hooks/fix-qt-static-libs.sh; 93 + fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; 94 + fix_qt_module_paths = ../hooks/fix-qt-module-paths.sh; 95 + preHook = '' 96 + . "$fix_qt_static_libs" 97 + . "$fix_qt_builtin_paths" 98 + . "$fix_qt_module_paths" 99 + . ${../hooks/move-qt-dev-tools.sh} 100 + ''; 84 101 85 102 postPatch = 86 103 '' 104 + for prf in qml_plugin.prf qt_plugin.prf qt_docs.prf qml_module.prf create_cmake.prf; do 105 + substituteInPlace "mkspecs/features/$prf" \ 106 + --subst-var qtPluginPrefix \ 107 + --subst-var qtQmlPrefix \ 108 + --subst-var qtDocPrefix 109 + done 110 + 87 111 substituteInPlace configure --replace /bin/pwd pwd 88 112 substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls 89 113 sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i mkspecs/*/*.conf ··· 126 150 setOutputFlags = false; 127 151 preConfigure = '' 128 152 export LD_LIBRARY_PATH="$PWD/lib:$PWD/plugins/platforms:$LD_LIBRARY_PATH" 129 - export MAKEFLAGS=-j$NIX_BUILD_CORES 153 + ${lib.optionalString (builtins.compareVersions version "5.9.0" < 0) '' 154 + # We need to set LD to CXX or otherwise we get nasty compile errors 155 + export LD=$CXX 156 + ''} 130 157 131 158 configureFlags+="\ 132 159 -plugindir $out/$qtPluginPrefix \ 133 160 -qmldir $out/$qtQmlPrefix \ 134 161 -docdir $out/$qtDocPrefix" 135 162 163 + createQmakeCache() { 164 + cat >>"$1" <<EOF 165 + NIX_OUTPUT_BIN = $bin 166 + NIX_OUTPUT_DEV = $dev 167 + NIX_OUTPUT_OUT = $out 168 + NIX_OUTPUT_DOC = $dev/$qtDocPrefix 169 + NIX_OUTPUT_QML = $bin/$qtQmlPrefix 170 + NIX_OUTPUT_PLUGIN = $bin/$qtPluginPrefix 171 + EOF 172 + } 173 + 174 + find . -name '.qmake.conf' | while read conf; do 175 + cache=$(dirname $conf)/.qmake.cache 176 + echo "Creating \`$cache'" 177 + createQmakeCache "$cache" 178 + done 179 + 136 180 NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\"" 137 181 ''; 138 182 ··· 148 192 ++ lib.optional (mesaSupported && !stdenv.isDarwin) 149 193 ''-DNIXPKGS_MESA_GL="${mesa.out}/lib/libGL"'' 150 194 151 - ++ lib.optionals (!stdenv.isDarwin) 195 + ++ lib.optionals (!stdenv.isDarwin && withGtk3) 152 196 [ 153 197 ''-DNIXPKGS_QGTK3_XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}"'' 154 198 ''-DNIXPKGS_QGTK3_GIO_EXTRA_MODULES="${dconf.lib}/lib/gio/modules"'' ··· 189 233 "-system-proxies" 190 234 "-pkg-config" 191 235 ] 236 + ++ lib.optionals (builtins.compareVersions version "5.9.0" < 0) 237 + [ 238 + "-c++11" 239 + "-no-reduce-relocations" 240 + ] 192 241 ++ lib.optionals developerBuild [ 193 242 "-developer-build" 194 243 "-no-warnings-are-errors" ··· 202 251 "-pch" 203 252 ] 204 253 254 + ++ (if builtins.compareVersions version "5.9.0" >= 0 255 + then [ (if system-x86_64 then "-sse2" else "-no-sse2") ] 256 + else lib.optional (!system-x86_64) "-no-sse2") 205 257 ++ [ 206 - ''${lib.optionalString (!system-x86_64) "-no"}-sse2'' 207 258 "-no-sse3" 208 259 "-no-ssse3" 209 260 "-no-sse4.1" ··· 232 283 ] 233 284 234 285 ++ lib.optionals (!stdenv.isDarwin) [ 235 - "-rpath" 286 + "-${lib.optionalString (builtins.compareVersions version "5.9.0" < 0) "no-"}rpath" 236 287 237 288 "-system-xcb" 238 289 "-xcb" ··· 250 301 ''-${lib.optionalString (cups == null) "no-"}cups'' 251 302 "-dbus-linked" 252 303 "-glib" 253 - "-gtk" 254 - "-inotify" 255 304 "-system-libjpeg" 256 305 "-system-libpng" 257 306 # gold linker of binutils 2.28 generates duplicate symbols 258 307 # TODO: remove for newer version of binutils 259 308 "-no-use-gold-linker" 260 309 ] 310 + ++ lib.optional withGtk3 "-gtk" 311 + ++ lib.optional (builtins.compareVersions version "5.9.0" >= 0) "-inotify" 261 312 262 313 ++ lib.optionals stdenv.isDarwin [ 263 314 "-platform macx-clang" ··· 270 321 enableParallelBuilding = true; 271 322 272 323 postInstall = 273 - # Hardcode some CMake module paths. 274 - '' 275 - find "$out" -name "*.cmake" | while read file; do 276 - substituteInPlace "$file" \ 277 - --subst-var-by NIX_OUT "''${!outputLib}" \ 278 - --subst-var-by NIX_DEV "''${!outputDev}" \ 279 - --subst-var-by NIX_BIN "''${!outputBin}" 280 - done 281 - ''; 282 - 283 - preFixup = 284 324 # Move selected outputs. 285 325 '' 286 - moveToOutput "bin" "$dev" 287 - moveToOutput "include" "$dev" 288 326 moveToOutput "mkspecs" "$dev" 289 - 290 - mkdir -p "$dev/share" 291 - moveToOutput "share/doc" "$dev" 327 + ''; 292 328 293 - moveToOutput "$qtPluginPrefix" "$bin" 294 - ''; 329 + devTools = [ 330 + "bin/fixqt4headers.pl" 331 + "bin/moc" 332 + "bin/qdbuscpp2xml" 333 + "bin/qdbusxml2cpp" 334 + "bin/qlalr" 335 + "bin/qmake" 336 + "bin/rcc" 337 + "bin/syncqt.pl" 338 + "bin/uic" 339 + ]; 295 340 296 341 postFixup = 297 342 # Don't retain build-time dependencies like gdb. ··· 299 344 sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri 300 345 '' 301 346 302 - # Move libtool archives into $dev 347 + + '' 348 + fixQtModulePaths "''${!outputDev}/mkspecs/modules" 349 + fixQtBuiltinPaths "''${!outputDev}" '*.pr?' 350 + '' 351 + 352 + # Move static libraries and QMake library definitions into $dev. 303 353 + '' 304 - if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then 305 - pushd "''${!outputLib}" 306 - find lib -name '*.a' -o -name '*.la' | while read -r file; do 307 - mkdir -p "''${!outputDev}/$(dirname "$file")" 308 - mv "''${!outputLib}/$file" "''${!outputDev}/$file" 309 - done 310 - popd 311 - fi 354 + fixQtStaticLibs "''${!outputLib}" "''${!outputDev}" 312 355 '' 313 356 314 - # Move qmake project files into $dev. 315 - # Don't move .prl files on darwin because they end up in 316 - # "dev/lib/Foo.framework/Foo.prl" which interferes with subsequent 317 - # use of lndir in the qtbase setup-hook. On Linux, the .prl files 318 - # are in lib, and so do not cause a subsequent recreation of deep 319 - # framework directory trees. 320 - + lib.optionalString (!stdenv.isDarwin) '' 321 - if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then 322 - pushd "''${!outputLib}" 323 - find lib -name '*.prl' | while read -r file; do 324 - mkdir -p "''${!outputDev}/$(dirname "$file")" 325 - mv "''${!outputLib}/$file" "''${!outputDev}/$file" 326 - done 327 - popd 328 - fi 357 + # Move development tools to $dev 358 + + '' 359 + moveQtDevTools 360 + moveToOutput bin "$dev" 329 361 '' 330 362 331 363 # fixup .pc file (where to find 'moc' etc.) ··· 350 382 fixDarwinDylibNames_rpath "QtConcurrent" "QtPrintSupport" "QtCore" "QtSql" "QtDBus" "QtTest" "QtGui" "QtWidgets" "QtNetwork" "QtXml" "QtOpenGL" 351 383 ''; 352 384 353 - inherit lndir; 354 - setupHook = if stdenv.isDarwin 355 - then ../../qtbase-setup-hook-darwin.sh 356 - else ../../qtbase-setup-hook.sh; 385 + setupHook = ../hooks/qtbase-setup-hook.sh; 357 386 358 387 meta = with lib; { 359 388 homepage = http://www.qt.io;
-19
pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gl.patch
··· 1 - Index: qtbase-opensource-src-5.9.0/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 2 - =================================================================== 3 - --- qtbase-opensource-src-5.9.0.orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 4 - +++ qtbase-opensource-src-5.9.0/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 5 - @@ -580,7 +580,14 @@ QFunctionPointer QGLXContext::getProcAdd 6 - #if QT_CONFIG(library) 7 - extern const QString qt_gl_library_name(); 8 - // QLibrary lib(qt_gl_library_name()); 9 - + // Check system library paths first 10 - QLibrary lib(QLatin1String("GL")); 11 - +#ifdef NIXPKGS_MESA_GL 12 - + if (!lib.load()) { 13 - + // Fallback to Mesa driver 14 - + lib.setFileName(QLatin1String(NIXPKGS_MESA_GL)); 15 - + } 16 - +#endif // NIXPKGS_MESA_GL 17 - glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); 18 - #endif 19 - }
-50
pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gtkstyle.patch
··· 1 - Index: qtbase-opensource-src-5.5.1/src/widgets/styles/qgtk2painter.cpp 2 - =================================================================== 3 - --- qtbase-opensource-src-5.5.1.orig/src/widgets/styles/qgtk2painter.cpp 4 - +++ qtbase-opensource-src-5.5.1/src/widgets/styles/qgtk2painter.cpp 5 - @@ -96,7 +96,7 @@ static void initGtk() 6 - static bool initialized = false; 7 - if (!initialized) { 8 - // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 9 - - QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); 10 - + QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); 11 - 12 - QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new"); 13 - QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable"); 14 - Index: qtbase-opensource-src-5.5.1/src/widgets/styles/qgtkstyle_p.cpp 15 - =================================================================== 16 - --- qtbase-opensource-src-5.5.1.orig/src/widgets/styles/qgtkstyle_p.cpp 17 - +++ qtbase-opensource-src-5.5.1/src/widgets/styles/qgtkstyle_p.cpp 18 - @@ -327,7 +327,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus 19 - void QGtkStylePrivate::resolveGtk() const 20 - { 21 - // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 22 - - QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); 23 - + QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); 24 - 25 - gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init"); 26 - gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new"); 27 - @@ -425,8 +425,8 @@ void QGtkStylePrivate::resolveGtk() cons 28 - pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family"); 29 - pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style"); 30 - 31 - - gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync"); 32 - - gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init"); 33 - + gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync"); 34 - + gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init"); 35 - } 36 - 37 - /* \internal 38 - @@ -594,9 +594,9 @@ void QGtkStylePrivate::cleanupGtkWidgets 39 - static bool resolveGConf() 40 - { 41 - if (!QGtkStylePrivate::gconf_client_get_default) { 42 - - QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default"); 43 - - QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string"); 44 - - QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool"); 45 - + QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default"); 46 - + QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string"); 47 - + QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool"); 48 - } 49 - return (QGtkStylePrivate::gconf_client_get_default !=0); 50 - }
-17
pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-libXcursor.patch
··· 1 - Index: qtbase-opensource-src-5.9.0/src/plugins/platforms/xcb/qxcbcursor.cpp 2 - =================================================================== 3 - --- qtbase-opensource-src-5.9.0.orig/src/plugins/platforms/xcb/qxcbcursor.cpp 4 - +++ qtbase-opensource-src-5.9.0/src/plugins/platforms/xcb/qxcbcursor.cpp 5 - @@ -311,10 +311,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *c 6 - #if defined(XCB_USE_XLIB) && QT_CONFIG(library) 7 - static bool function_ptrs_not_initialized = true; 8 - if (function_ptrs_not_initialized) { 9 - - QLibrary xcursorLib(QLatin1String("Xcursor"), 1); 10 - + QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1); 11 - bool xcursorFound = xcursorLib.load(); 12 - if (!xcursorFound) { // try without the version number 13 - - xcursorLib.setFileName(QLatin1String("Xcursor")); 14 - + xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR)); 15 - xcursorFound = xcursorLib.load(); 16 - } 17 - if (xcursorFound) {
-26
pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-resolv.patch
··· 1 - Index: qtbase-opensource-src-5.9.0/src/network/kernel/qdnslookup_unix.cpp 2 - =================================================================== 3 - --- qtbase-opensource-src-5.9.0.orig/src/network/kernel/qdnslookup_unix.cpp 4 - +++ qtbase-opensource-src-5.9.0/src/network/kernel/qdnslookup_unix.cpp 5 - @@ -92,7 +92,7 @@ static bool resolveLibraryInternal() 6 - if (!lib.load()) 7 - #endif 8 - { 9 - - lib.setFileName(QLatin1String("resolv")); 10 - + lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); 11 - if (!lib.load()) 12 - return false; 13 - } 14 - Index: qtbase-opensource-src-5.9.0/src/network/kernel/qhostinfo_unix.cpp 15 - =================================================================== 16 - --- qtbase-opensource-src-5.9.0.orig/src/network/kernel/qhostinfo_unix.cpp 17 - +++ qtbase-opensource-src-5.9.0/src/network/kernel/qhostinfo_unix.cpp 18 - @@ -102,7 +102,7 @@ static bool resolveLibraryInternal() 19 - if (!lib.load()) 20 - #endif 21 - { 22 - - lib.setFileName(QLatin1String("resolv")); 23 - + lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); 24 - if (!lib.load()) 25 - return false; 26 - }
-20
pkgs/development/libraries/qt-5/5.9/qtbase/library-paths.patch
··· 1 - Index: qtbase-opensource-src-5.9.0/src/corelib/kernel/qcoreapplication.cpp 2 - =================================================================== 3 - --- qtbase-opensource-src-5.9.0.orig/src/corelib/kernel/qcoreapplication.cpp 4 - +++ qtbase-opensource-src-5.9.0/src/corelib/kernel/qcoreapplication.cpp 5 - @@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPat 6 - QStringList *app_libpaths = new QStringList; 7 - coreappdata()->app_libpaths.reset(app_libpaths); 8 - 9 - + // Add library paths derived from PATH 10 - + const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); 11 - + const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX); 12 - + for (const QString &path: paths) { 13 - + if (!path.isEmpty()) { 14 - + app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir)); 15 - + } 16 - + } 17 - + 18 - const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH"); 19 - if (!libPathEnv.isEmpty()) { 20 - QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
-33
pkgs/development/libraries/qt-5/5.9/qtbase/libressl.patch
··· 1 - From 81494e67eccba04fc3fe554d76a9ca6fe7f2250e Mon Sep 17 00:00:00 2001 2 - From: hasufell <hasufell@gentoo.org> 3 - Date: Sat, 10 Oct 2015 01:15:01 +0200 4 - Subject: [PATCH] Fix compilation with libressl 5 - 6 - By additionally checking for defined(SSL_CTRL_SET_CURVES), which 7 - is defined in openssl, but not in libressl. 8 - --- 9 - src/network/ssl/qsslcontext_openssl.cpp | 4 ++-- 10 - 1 file changed, 2 insertions(+), 2 deletions(-) 11 - 12 - Index: qtbase-opensource-src-5.8.0/src/network/ssl/qsslcontext_openssl.cpp 13 - =================================================================== 14 - --- qtbase-opensource-src-5.8.0.orig/src/network/ssl/qsslcontext_openssl.cpp 15 - +++ qtbase-opensource-src-5.8.0/src/network/ssl/qsslcontext_openssl.cpp 16 - @@ -351,7 +351,7 @@ init_context: 17 - 18 - const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves(); 19 - if (!qcurves.isEmpty()) { 20 - -#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) 21 - +#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC) 22 - // Set the curves to be used 23 - if (q_SSLeay() >= 0x10002000L) { 24 - // SSL_CTX_ctrl wants a non-const pointer as last argument, 25 - @@ -364,7 +364,7 @@ init_context: 26 - sslContext->errorCode = QSslError::UnspecifiedError; 27 - } 28 - } else 29 - -#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) 30 - +#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC) 31 - { 32 - // specific curves requested, but not possible to set -> error 33 - sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
-11
pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-common-mac.patch
··· 1 - --- qtbase-opensource-src-5.9.1.orig/mkspecs/common/mac.conf 2017-09-16 16:40:30.000000000 +0800 2 - +++ qtbase-opensource-src-5.9.1/mkspecs/common/mac.conf 2017-09-16 16:41:27.000000000 +0800 3 - @@ -23,7 +23,7 @@ 4 - 5 - QMAKE_FIX_RPATH = install_name_tool -id 6 - 7 - -QMAKE_LFLAGS_RPATH = -Wl,-rpath, 8 - +QMAKE_LFLAGS_RPATH = 9 - QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip 10 - 11 - QMAKE_LFLAGS_REL_RPATH =
-292
pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-features-mac.patch
··· 1 - diff -u -r qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/default_post.prf qtbase-opensource-src-5.9.2/mkspecs/features/mac/default_post.prf 2 - --- qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/default_post.prf 2017-10-14 12:31:04.000000000 +0800 3 - +++ qtbase-opensource-src-5.9.2/mkspecs/features/mac/default_post.prf 2017-10-14 12:42:02.000000000 +0800 4 - @@ -24,166 +24,3 @@ 5 - } 6 - } 7 - } 8 - - 9 - -# Add the same default rpaths as Xcode does for new projects. 10 - -# This is especially important for iOS/tvOS/watchOS where no other option is possible. 11 - -!no_default_rpath { 12 - - QMAKE_RPATHDIR += @executable_path/Frameworks 13 - - equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks 14 - -} 15 - - 16 - -# Don't pass -headerpad_max_install_names when using Bitcode. 17 - -# In that case the linker emits a warning stating that the flag is ignored when 18 - -# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962). 19 - -# Using this flag is also unnecessary in practice on UIKit platforms since they 20 - -# are sandboxed, and only UIKit platforms support bitcode to begin with. 21 - -!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD 22 - - 23 - -app_extension_api_only { 24 - - QMAKE_CFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION 25 - - QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION 26 - - QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION 27 - - QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION 28 - -} 29 - - 30 - -macx-xcode { 31 - - !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) { 32 - - debug_information_format.name = DEBUG_INFORMATION_FORMAT 33 - - debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT 34 - - debug_information_format.build = debug 35 - - QMAKE_MAC_XCODE_SETTINGS += debug_information_format 36 - - } 37 - - 38 - - QMAKE_XCODE_ARCHS = 39 - - 40 - - arch_device.name = "ARCHS[sdk=$${device.sdk}*]" 41 - - arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS 42 - - QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS 43 - - QMAKE_MAC_XCODE_SETTINGS += arch_device 44 - - 45 - - simulator { 46 - - arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]" 47 - - arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS 48 - - QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS 49 - - QMAKE_MAC_XCODE_SETTINGS += arch_simulator 50 - - } 51 - - 52 - - only_active_arch.name = ONLY_ACTIVE_ARCH 53 - - only_active_arch.value = YES 54 - - only_active_arch.build = debug 55 - - QMAKE_MAC_XCODE_SETTINGS += only_active_arch 56 - -} else { 57 - - device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS 58 - - simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS 59 - - VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS 60 - - 61 - - isEmpty(VALID_ARCHS): \ 62 - - error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture") 63 - - 64 - - single_arch: VALID_ARCHS = $$first(VALID_ARCHS) 65 - - 66 - - ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS)) 67 - - ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch)) 68 - - 69 - - QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS 70 - - 71 - - arch_flags = $(EXPORT_ARCH_ARGS) 72 - - 73 - - QMAKE_CFLAGS += $$arch_flags 74 - - QMAKE_CXXFLAGS += $$arch_flags 75 - - QMAKE_LFLAGS += $$arch_flags 76 - - 77 - - QMAKE_PCH_ARCHS = $$VALID_ARCHS 78 - - 79 - - macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET 80 - - ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET 81 - - tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET 82 - - watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET 83 - - 84 - - # If we're doing a simulator and device build, device and simulator 85 - - # architectures use different paths and flags for the sysroot and 86 - - # deployment target switch, so we must multiplex them across multiple 87 - - # architectures using -Xarch. Otherwise we fall back to the simple path. 88 - - # This is not strictly necessary, but results in cleaner command lines 89 - - # and makes it easier for people to override EXPORT_VALID_ARCHS to limit 90 - - # individual rules to a different set of architecture(s) from the overall 91 - - # build (such as machtest in QtCore). 92 - - simulator:device { 93 - - QMAKE_XARCH_CFLAGS = 94 - - QMAKE_XARCH_LFLAGS = 95 - - QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS 96 - - 97 - - for (arch, VALID_ARCHS) { 98 - - contains(VALID_SIMULATOR_ARCHS, $$arch) { 99 - - sdk = $$simulator.sdk 100 - - version_identifier = $$simulator.deployment_identifier 101 - - } else { 102 - - sdk = $$device.sdk 103 - - version_identifier = $$device.deployment_identifier 104 - - } 105 - - 106 - - version_min_flags = \ 107 - - -Xarch_$${arch} \ 108 - - -m$${version_identifier}-version-min=$$deployment_target 109 - - QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \ 110 - - -Xarch_$${arch} \ 111 - - -isysroot$$xcodeSDKInfo(Path, $$sdk) 112 - - QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \ 113 - - -Xarch_$${arch} \ 114 - - -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk) 115 - - 116 - - QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch}) 117 - - QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch}) 118 - - 119 - - QMAKE_EXTRA_VARIABLES += \ 120 - - QMAKE_XARCH_CFLAGS_$${arch} \ 121 - - QMAKE_XARCH_LFLAGS_$${arch} 122 - - } 123 - - 124 - - QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) 125 - - QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) 126 - - QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS) 127 - - } else { 128 - - simulator: \ 129 - - version_identifier = $$simulator.deployment_identifier 130 - - else: \ 131 - - version_identifier = $$device.deployment_identifier 132 - - version_min_flag = -m$${version_identifier}-version-min=$$deployment_target 133 - - QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag 134 - - QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag 135 - - QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag 136 - - } 137 - - 138 - - # Enable precompiled headers for multiple architectures 139 - - QMAKE_CFLAGS_USE_PRECOMPILE = 140 - - for (arch, VALID_ARCHS) { 141 - - icc_pch_style: \ 142 - - use_flag = "-pch-use " 143 - - else: \ 144 - - use_flag = -include 145 - - 146 - - # Only use Xarch with multi-arch, as the option confuses ccache 147 - - count(VALID_ARCHS, 1, greaterThan): \ 148 - - QMAKE_CFLAGS_USE_PRECOMPILE += \ 149 - - -Xarch_$${arch} 150 - - 151 - - QMAKE_CFLAGS_USE_PRECOMPILE += \ 152 - - $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}} 153 - - } 154 - - icc_pch_style { 155 - - QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT} 156 - - QMAKE_CFLAGS_USE_PRECOMPILE = 157 - - } else { 158 - - QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE 159 - - QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE 160 - - QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE 161 - - } 162 - - 163 - - QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT} 164 - -} 165 - - 166 - -cache(QMAKE_XCODE_DEVELOPER_PATH, stash) 167 - -!isEmpty(QMAKE_XCODE_VERSION): \ 168 - - cache(QMAKE_XCODE_VERSION, stash) 169 - - 170 - -QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix() 171 - diff -u -r qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/default_pre.prf qtbase-opensource-src-5.9.2/mkspecs/features/mac/default_pre.prf 172 - --- qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/default_pre.prf 2017-10-14 12:31:04.000000000 +0800 173 - +++ qtbase-opensource-src-5.9.2/mkspecs/features/mac/default_pre.prf 2017-10-14 12:42:02.000000000 +0800 174 - @@ -1,56 +1,2 @@ 175 - CONFIG = asset_catalogs rez $$CONFIG 176 - load(default_pre) 177 - - 178 - -isEmpty(QMAKE_XCODE_DEVELOPER_PATH) { 179 - - # Get path of Xcode's Developer directory 180 - - QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null") 181 - - isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \ 182 - - error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.") 183 - - 184 - - # Make sure Xcode path is valid 185 - - !exists($$QMAKE_XCODE_DEVELOPER_PATH): \ 186 - - error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.") 187 - -} 188 - - 189 - -isEmpty(QMAKE_XCODEBUILD_PATH): \ 190 - - QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null") 191 - - 192 - -!isEmpty(QMAKE_XCODEBUILD_PATH) { 193 - - # Make sure Xcode is set up properly 194 - - !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \ 195 - - error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.") 196 - - 197 - - isEmpty(QMAKE_XCODE_VERSION) { 198 - - # Extract Xcode version using xcodebuild 199 - - xcode_version = $$system("/usr/bin/xcrun xcodebuild -version") 200 - - QMAKE_XCODE_VERSION = $$member(xcode_version, 1) 201 - - isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.") 202 - - unset(xcode_version) 203 - - } 204 - -} 205 - - 206 - -isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) { 207 - - QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist 208 - - exists($$QMAKE_XCODE_PREFERENCES_FILE): \ 209 - - QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null") 210 - - 211 - - !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \ 212 - - cache(QMAKE_TARGET_BUNDLE_PREFIX) 213 - -} 214 - - 215 - -QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon 216 - - 217 - -# Make the default debug info format for static debug builds 218 - -# DWARF instead of DWARF with dSYM. This cuts down build times 219 - -# for application debug builds significantly, as Xcode doesn't 220 - -# have to pull out all the DWARF info from the Qt static libs 221 - -# and put it into a dSYM file. We don't need that dSYM file in 222 - -# the first place, since the information is available in the 223 - -# object files inside the archives (static libraries). 224 - -macx-xcode:qtConfig(static): \ 225 - - QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf 226 - - 227 - -# This variable is used by the xcode_dynamic_library_suffix 228 - -# feature, which allows Xcode to choose the Qt libraries to link to 229 - -# at build time, depending on the current Xcode SDK and configuration. 230 - -QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX 231 - diff -u -r qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/sdk.prf qtbase-opensource-src-5.9.2/mkspecs/features/mac/sdk.prf 232 - --- qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/sdk.prf 2017-10-14 12:31:04.000000000 +0800 233 - +++ qtbase-opensource-src-5.9.2/mkspecs/features/mac/sdk.prf 2017-10-14 12:42:10.000000000 +0800 234 - @@ -1,58 +0,0 @@ 235 - - 236 - -isEmpty(QMAKE_MAC_SDK): \ 237 - - error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.") 238 - - 239 - -contains(QMAKE_MAC_SDK, .*/.*): \ 240 - - error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)") 241 - - 242 - -defineReplace(xcodeSDKInfo) { 243 - - info = $$1 244 - - equals(info, "Path"): \ 245 - - info = --show-sdk-path 246 - - equals(info, "PlatformPath"): \ 247 - - info = --show-sdk-platform-path 248 - - equals(info, "SDKVersion"): \ 249 - - info = --show-sdk-version 250 - - sdk = $$2 251 - - isEmpty(sdk): \ 252 - - sdk = $$QMAKE_MAC_SDK 253 - - 254 - - isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) { 255 - - QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$info 2>/dev/null") 256 - - # --show-sdk-platform-path won't work for Command Line Tools; this is fine 257 - - # only used by the XCTest backend to testlib 258 - - isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(info, "--show-sdk-platform-path")): \ 259 - - error("Could not resolve SDK $$info for \'$$sdk\'") 260 - - cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info}) 261 - - } 262 - - 263 - - return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info})) 264 - -} 265 - - 266 - -QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path) 267 - -QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath) 268 - -QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion) 269 - - 270 - -sysrootified = 271 - -for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val 272 - -QMAKE_INCDIR_OPENGL = $$sysrootified 273 - - 274 - -QMAKESPEC_NAME = $$basename(QMAKESPEC) 275 - - 276 - -# Resolve SDK version of various tools 277 - -for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL)) { 278 - - tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool} 279 - - !isEmpty($$tool_variable) { 280 - - $$tool = $$eval($$tool_variable) 281 - - next() 282 - - } 283 - - 284 - - value = $$eval($$tool) 285 - - isEmpty(value): next() 286 - - 287 - - sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null") 288 - - isEmpty(sysrooted): next() 289 - - 290 - - $$tool = $$sysrooted $$member(value, 1, -1) 291 - - cache($$tool_variable, set stash, $$tool) 292 - -}
-36
pkgs/development/libraries/qt-5/5.9/qtbase/qgtk-env.patch
··· 1 - Index: qtbase-opensource-src-5.8.0/src/plugins/platformthemes/gtk3/main.cpp 2 - =================================================================== 3 - --- qtbase-opensource-src-5.8.0.orig/src/plugins/platformthemes/gtk3/main.cpp 4 - +++ qtbase-opensource-src-5.8.0/src/plugins/platformthemes/gtk3/main.cpp 5 - @@ -39,6 +39,7 @@ 6 - 7 - #include <qpa/qplatformthemeplugin.h> 8 - #include "qgtk3theme.h" 9 - +#include <QFile> 10 - 11 - QT_BEGIN_NAMESPACE 12 - 13 - @@ -54,8 +55,22 @@ public: 14 - QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params) 15 - { 16 - Q_UNUSED(params); 17 - - if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) 18 - + if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) { 19 - + 20 - +#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS 21 - + QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':'); 22 - + XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS); 23 - + qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':'))); 24 - +#endif 25 - + 26 - +#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES 27 - + QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':'); 28 - + GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES); 29 - + qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':'))); 30 - +#endif 31 - + 32 - return new QGtk3Theme; 33 - + } 34 - 35 - return 0; 36 - }
-14
pkgs/development/libraries/qt-5/5.9/qtbase/qnativesocketengine-type-pun.patch
··· 1 - Index: qtbase-opensource-src-5.8.0/src/network/socket/qnativesocketengine_unix.cpp 2 - =================================================================== 3 - --- qtbase-opensource-src-5.8.0.orig/src/network/socket/qnativesocketengine_unix.cpp 4 - +++ qtbase-opensource-src-5.8.0/src/network/socket/qnativesocketengine_unix.cpp 5 - @@ -979,7 +979,8 @@ qint64 QNativeSocketEnginePrivate::nativ 6 - if (cmsgptr->cmsg_len == CMSG_LEN(sizeof(int)) 7 - && ((cmsgptr->cmsg_level == IPPROTO_IPV6 && cmsgptr->cmsg_type == IPV6_HOPLIMIT) 8 - || (cmsgptr->cmsg_level == IPPROTO_IP && cmsgptr->cmsg_type == IP_TTL))) { 9 - - header->hopLimit = *reinterpret_cast<int *>(CMSG_DATA(cmsgptr)); 10 - + int *ttl = reinterpret_cast<int *>(CMSG_DATA(cmsgptr)); 11 - + header->hopLimit = *ttl; 12 - } 13 - 14 - #ifndef QT_NO_SCTP
-9
pkgs/development/libraries/qt-5/5.9/qtbase/series
··· 1 - dlopen-resolv.patch 2 - tzdir.patch 3 - dlopen-libXcursor.patch 4 - library-paths.patch 5 - libressl.patch 6 - dlopen-gl.patch 7 - compose-search-path.patch 8 - cmake-paths.patch 9 - qgtk-env.patch
-39
pkgs/development/libraries/qt-5/5.9/qtbase/tzdir.patch
··· 1 - Index: qtbase-opensource-src-5.9.0/src/corelib/tools/qtimezoneprivate_tz.cpp 2 - =================================================================== 3 - --- qtbase-opensource-src-5.9.0.orig/src/corelib/tools/qtimezoneprivate_tz.cpp 4 - +++ qtbase-opensource-src-5.9.0/src/corelib/tools/qtimezoneprivate_tz.cpp 5 - @@ -70,7 +70,11 @@ typedef QHash<QByteArray, QTzTimeZone> Q 6 - // Parse zone.tab table, assume lists all installed zones, if not will need to read directories 7 - static QTzTimeZoneHash loadTzTimeZones() 8 - { 9 - - QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); 10 - + // Try TZDIR first, in case we're running on NixOS. 11 - + QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab"); 12 - + // Fallback to traditional paths in case we are not on NixOS. 13 - + if (!QFile::exists(path)) 14 - + path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); 15 - if (!QFile::exists(path)) 16 - path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); 17 - 18 - @@ -643,12 +647,16 @@ void QTzTimeZonePrivate::init(const QByt 19 - if (!tzif.open(QIODevice::ReadOnly)) 20 - return; 21 - } else { 22 - - // Open named tz, try modern path first, if fails try legacy path 23 - - tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 24 - + // Try TZDIR first, in case we're running on NixOS 25 - + tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId)); 26 - if (!tzif.open(QIODevice::ReadOnly)) { 27 - - tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 28 - - if (!tzif.open(QIODevice::ReadOnly)) 29 - - return; 30 - + // Open named tz, try modern path first, if fails try legacy path 31 - + tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 32 - + if (!tzif.open(QIODevice::ReadOnly)) { 33 - + tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); 34 - + if (!tzif.open(QIODevice::ReadOnly)) 35 - + return; 36 - + } 37 - } 38 - } 39 -
-10
pkgs/development/libraries/qt-5/5.9/qtcharts.nix
··· 1 - { qtSubmodule, qtbase, qtdeclarative }: 2 - 3 - qtSubmodule { 4 - name = "qtcharts"; 5 - qtInputs = [ qtbase qtdeclarative ]; 6 - outputs = [ "bin" "dev" "out" ]; 7 - postInstall = '' 8 - moveToOutput "$qtQmlPrefix" "$bin" 9 - ''; 10 - }
-10
pkgs/development/libraries/qt-5/5.9/qtconnectivity.nix
··· 1 - { qtSubmodule, qtbase, qtdeclarative }: 2 - 3 - qtSubmodule { 4 - name = "qtconnectivity"; 5 - qtInputs = [ qtbase qtdeclarative ]; 6 - outputs = [ "bin" "dev" "out" ]; 7 - postInstall = '' 8 - moveToOutput "$qtQmlPrefix" "$bin" 9 - ''; 10 - }
+33
pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
··· 1 + diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp 2 + index ee5b38717..bbccef8c4 100644 3 + --- a/src/qml/qml/qqmlimport.cpp 4 + +++ b/src/qml/qml/qqmlimport.cpp 5 + @@ -1678,6 +1678,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e) 6 + QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath); 7 + addImportPath(installImportsPath); 8 + 9 + + // Add import paths derived from PATH 10 + + const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); 11 + + const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX); 12 + + for (const QString &path: paths) { 13 + + if (!path.isEmpty()) { 14 + + addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir)); 15 + + } 16 + + } 17 + + 18 + // env import paths 19 + if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) { 20 + const QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH"); 21 + diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf 22 + index 330da358b..cdf570205 100644 23 + --- a/tools/qmlcachegen/qmlcache.prf 24 + +++ b/tools/qmlcachegen/qmlcache.prf 25 + @@ -44,7 +44,7 @@ defineReplace(qmlCacheOutputFileName) { 26 + } 27 + 28 + qmlcacheinst.base = $$QMLCACHE_DESTDIR 29 + -qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH 30 + +qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH 31 + qmlcacheinst.CONFIG = no_check_exist 32 + 33 + qmlcachegen.input = CACHEGEN_FILES
-20
pkgs/development/libraries/qt-5/5.9/qtdeclarative/default.nix
··· 1 - { stdenv, qtSubmodule, copyPathsToStore, python2, qtbase, qtsvg, qtxmlpatterns }: 2 - 3 - with stdenv.lib; 4 - 5 - qtSubmodule { 6 - name = "qtdeclarative"; 7 - patches = copyPathsToStore (readPathsFromFile ./. ./series); 8 - qtInputs = [ qtbase qtsvg qtxmlpatterns ]; 9 - nativeBuildInputs = [ python2 ]; 10 - outputs = [ "bin" "dev" "out" ]; 11 - 12 - preConfigure = '' 13 - NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QML2_IMPORT_PREFIX=\"$qtQmlPrefix\"" 14 - ''; 15 - 16 - postInstall = '' 17 - moveToOutput "$qtPluginPrefix" "$bin" 18 - moveToOutput "$qtQmlPrefix" "$bin" 19 - ''; 20 - }
+5 -5
pkgs/development/libraries/qt-5/5.9/qtdeclarative/import-paths.patch pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch
··· 1 - Index: qtdeclarative-opensource-src-5.8.0/src/qml/qml/qqmlimport.cpp 2 - =================================================================== 3 - --- qtdeclarative-opensource-src-5.8.0.orig/src/qml/qml/qqmlimport.cpp 4 - +++ qtdeclarative-opensource-src-5.8.0/src/qml/qml/qqmlimport.cpp 5 - @@ -1630,6 +1630,15 @@ QQmlImportDatabase::QQmlImportDatabase(Q 1 + diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp 2 + index dfdf2edbe..7ee96049d 100644 3 + --- a/src/qml/qml/qqmlimport.cpp 4 + +++ b/src/qml/qml/qqmlimport.cpp 5 + @@ -1568,6 +1568,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e) 6 6 QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath); 7 7 addImportPath(installImportsPath); 8 8
-1
pkgs/development/libraries/qt-5/5.9/qtdeclarative/series
··· 1 - import-paths.patch
+2 -2
pkgs/development/libraries/qt-5/5.9/qtdoc.nix pkgs/development/libraries/qt-5/modules/qtdoc.nix
··· 1 - { qtSubmodule, qtdeclarative }: 1 + { qtModule, qtdeclarative }: 2 2 3 - qtSubmodule { 3 + qtModule { 4 4 name = "qtdoc"; 5 5 qtInputs = [ qtdeclarative ]; 6 6 outputs = [ "out" ];
-6
pkgs/development/libraries/qt-5/5.9/qtgraphicaleffects.nix
··· 1 - { qtSubmodule, qtdeclarative }: 2 - 3 - qtSubmodule { 4 - name = "qtgraphicaleffects"; 5 - qtInputs = [ qtdeclarative ]; 6 - }
-6
pkgs/development/libraries/qt-5/5.9/qtimageformats.nix
··· 1 - { qtSubmodule, qtbase }: 2 - 3 - qtSubmodule { 4 - name = "qtimageformats"; 5 - qtInputs = [ qtbase ]; 6 - }
-13
pkgs/development/libraries/qt-5/5.9/qtlocation.nix
··· 1 - { qtSubmodule, qtbase, qtmultimedia }: 2 - 3 - qtSubmodule { 4 - name = "qtlocation"; 5 - qtInputs = [ qtbase qtmultimedia ]; 6 - outputs = [ "bin" "dev" "out" ]; 7 - postInstall = '' 8 - moveToOutput "$qtPluginPrefix" "$bin" 9 - moveToOutput "$qtQmlPrefix" "$bin" 10 - ''; 11 - # Linking with -lclipper fails with parallel build enabled 12 - enableParallelBuilding = false; 13 - }
+2 -2
pkgs/development/libraries/qt-5/5.9/qtmacextras.nix pkgs/development/libraries/qt-5/modules/qtmacextras.nix
··· 1 - { qtSubmodule, qtbase, lib }: 1 + { qtModule, qtbase, lib }: 2 2 3 - qtSubmodule { 3 + qtModule { 4 4 name = "qtmacextras"; 5 5 qtInputs = [ qtbase ]; 6 6 meta = with lib; {
+2 -6
pkgs/development/libraries/qt-5/5.9/qtmultimedia.nix pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
··· 1 - { stdenv, qtSubmodule, qtbase, qtdeclarative, pkgconfig 1 + { qtModule, stdenv, qtbase, qtdeclarative, pkgconfig 2 2 , alsaLib, gstreamer, gst-plugins-base, libpulseaudio 3 3 , darwin 4 4 }: 5 5 6 6 with stdenv.lib; 7 7 8 - qtSubmodule { 8 + qtModule { 9 9 name = "qtmultimedia"; 10 10 qtInputs = [ qtbase qtdeclarative ]; 11 11 nativeBuildInputs = [ pkgconfig ]; ··· 14 14 outputs = [ "bin" "dev" "out" ]; 15 15 qmakeFlags = [ "GST_VERSION=1.0" ]; 16 16 NIX_LDFLAGS = optionalString (stdenv.isDarwin) "-lobjc"; 17 - postInstall = '' 18 - moveToOutput "$qtPluginPrefix" "$bin" 19 - moveToOutput "$qtQmlPrefix" "$bin" 20 - ''; 21 17 }
-6
pkgs/development/libraries/qt-5/5.9/qtquickcontrols.nix
··· 1 - { qtSubmodule, qtdeclarative }: 2 - 3 - qtSubmodule { 4 - name = "qtquickcontrols"; 5 - qtInputs = [ qtdeclarative ]; 6 - }
-10
pkgs/development/libraries/qt-5/5.9/qtquickcontrols2.nix
··· 1 - { qtSubmodule, qtdeclarative }: 2 - 3 - qtSubmodule { 4 - name = "qtquickcontrols2"; 5 - qtInputs = [ qtdeclarative ]; 6 - outputs = [ "bin" "dev" "out" ]; 7 - postInstall = '' 8 - moveToOutput "$qtQmlPrefix" "$bin" 9 - ''; 10 - }
-12
pkgs/development/libraries/qt-5/5.9/qtscript/0001-glib-2.32.patch pkgs/development/libraries/qt-5/5.9/qtscript.patch
··· 1 - From abd80356449bb36c8adcc5c9ca1df6b47715d265 Mon Sep 17 00:00:00 2001 2 - From: Thomas Tuegel <ttuegel@gmail.com> 3 - Date: Sun, 23 Aug 2015 09:13:34 -0500 4 - Subject: [PATCH] glib-2.32 5 - 6 - --- 7 - src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +- 8 - 1 file changed, 1 insertion(+), 1 deletion(-) 9 - 10 1 diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 11 2 index 1f6d25e..087c3fb 100644 12 3 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h ··· 20 11 typedef struct _GCond GCond; 21 12 #endif 22 13 23 - -- 24 - 2.5.0 25 -
-7
pkgs/development/libraries/qt-5/5.9/qtscript/default.nix
··· 1 - { qtSubmodule, qtbase, qttools }: 2 - 3 - qtSubmodule { 4 - name = "qtscript"; 5 - qtInputs = [ qtbase qttools ]; 6 - patches = [ ./0001-glib-2.32.patch ]; 7 - }
-13
pkgs/development/libraries/qt-5/5.9/qtsensors.nix
··· 1 - { stdenv, qtSubmodule, qtbase, qtdeclarative }: 2 - 3 - with stdenv.lib; 4 - 5 - qtSubmodule { 6 - name = "qtsensors"; 7 - qtInputs = [ qtbase qtdeclarative ]; 8 - outputs = [ "bin" "dev" "out" ]; 9 - postInstall = '' 10 - moveToOutput "$qtPluginPrefix" "$bin" 11 - moveToOutput "$qtQmlPrefix" "$bin" 12 - ''; 13 - }
+22
pkgs/development/libraries/qt-5/5.9/qtserialport.patch
··· 1 + diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h 2 + index af2dab2..8e17f64 100644 3 + --- a/src/serialport/qtudev_p.h 4 + +++ b/src/serialport/qtudev_p.h 5 + @@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN 6 + inline bool resolveSymbols(QLibrary *udevLibrary) 7 + { 8 + if (!udevLibrary->isLoaded()) { 9 + +#ifdef NIXPKGS_LIBUDEV 10 + + udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1); 11 + +#else 12 + udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); 13 + +#endif 14 + if (!udevLibrary->load()) { 15 + +#ifdef NIXPKGS_LIBUDEV 16 + + udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0); 17 + +#else 18 + udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); 19 + +#endif 20 + if (!udevLibrary->load()) { 21 + qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); 22 + return false;
-12
pkgs/development/libraries/qt-5/5.9/qtserialport/default.nix
··· 1 - { stdenv, qtSubmodule, lib, copyPathsToStore, qtbase, substituteAll, systemd }: 2 - 3 - let inherit (lib) getLib optional; in 4 - 5 - qtSubmodule { 6 - name = "qtserialport"; 7 - qtInputs = [ qtbase ]; 8 - patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); 9 - NIX_CFLAGS_COMPILE = 10 - optional stdenv.isLinux 11 - ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"''; 12 - }
+5 -5
pkgs/development/libraries/qt-5/5.9/qtserialport/qtserialport-dlopen-udev.patch pkgs/development/libraries/qt-5/5.6/qtserialport.patch
··· 1 - Index: qtserialport-opensource-src-5.8.0/src/serialport/qtudev_p.h 2 - =================================================================== 3 - --- qtserialport-opensource-src-5.8.0.orig/src/serialport/qtudev_p.h 4 - +++ qtserialport-opensource-src-5.8.0/src/serialport/qtudev_p.h 5 - @@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QL 1 + diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h 2 + index 6f2cabd..cd3c0ed 100644 3 + --- a/src/serialport/qtudev_p.h 4 + +++ b/src/serialport/qtudev_p.h 5 + @@ -105,9 +105,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN 6 6 inline bool resolveSymbols(QLibrary *udevLibrary) 7 7 { 8 8 if (!udevLibrary->isLoaded()) {
-1
pkgs/development/libraries/qt-5/5.9/qtserialport/series
··· 1 - qtserialport-dlopen-udev.patch
-10
pkgs/development/libraries/qt-5/5.9/qtsvg.nix
··· 1 - { qtSubmodule, qtbase }: 2 - 3 - qtSubmodule { 4 - name = "qtsvg"; 5 - qtInputs = [ qtbase ]; 6 - outputs = [ "bin" "dev" "out" ]; 7 - postInstall = '' 8 - moveToOutput "$qtPluginPrefix" "$bin" 9 - ''; 10 - }
+71
pkgs/development/libraries/qt-5/5.9/qttools.patch
··· 1 + diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in 2 + index 3b97923a..63336bd5 100644 3 + --- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in 4 + +++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in 5 + @@ -2,11 +2,10 @@ 6 + if (NOT TARGET Qt5::qcollectiongenerator) 7 + add_executable(Qt5::qcollectiongenerator IMPORTED) 8 + 9 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 10 + - set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 11 + -!!ELSE 12 + set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 13 + -!!ENDIF 14 + + if(NOT EXISTS \"${imported_location}\") 15 + + set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 16 + + endif() 17 + _qt5_Help_check_file_exists(${imported_location}) 18 + 19 + set_target_properties(Qt5::qcollectiongenerator PROPERTIES 20 + @@ -17,11 +16,7 @@ endif() 21 + if (NOT TARGET Qt5::qhelpgenerator) 22 + add_executable(Qt5::qhelpgenerator IMPORTED) 23 + 24 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 25 + - set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") 26 + -!!ELSE 27 + set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") 28 + -!!ENDIF 29 + _qt5_Help_check_file_exists(${imported_location}) 30 + 31 + set_target_properties(Qt5::qhelpgenerator PROPERTIES 32 + diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in 33 + index 4318b16f..d60db4ff 100644 34 + --- a/src/linguist/Qt5LinguistToolsConfig.cmake.in 35 + +++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in 36 + @@ -44,11 +44,7 @@ endmacro() 37 + if (NOT TARGET Qt5::lrelease) 38 + add_executable(Qt5::lrelease IMPORTED) 39 + 40 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 41 + - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") 42 + -!!ELSE 43 + set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") 44 + -!!ENDIF 45 + _qt5_LinguistTools_check_file_exists(${imported_location}) 46 + 47 + set_target_properties(Qt5::lrelease PROPERTIES 48 + @@ -59,11 +55,7 @@ endif() 49 + if (NOT TARGET Qt5::lupdate) 50 + add_executable(Qt5::lupdate IMPORTED) 51 + 52 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 53 + - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") 54 + -!!ELSE 55 + set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") 56 + -!!ENDIF 57 + _qt5_LinguistTools_check_file_exists(${imported_location}) 58 + 59 + set_target_properties(Qt5::lupdate PROPERTIES 60 + @@ -74,11 +66,7 @@ endif() 61 + if (NOT TARGET Qt5::lconvert) 62 + add_executable(Qt5::lconvert IMPORTED) 63 + 64 + -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 65 + - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") 66 + -!!ELSE 67 + set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") 68 + -!!ENDIF 69 + _qt5_LinguistTools_check_file_exists(${imported_location}) 70 + 71 + set_target_properties(Qt5::lconvert PROPERTIES
-88
pkgs/development/libraries/qt-5/5.9/qttools/cmake-paths.patch
··· 1 - Index: qttools-opensource-src-5.8.0/src/assistant/help/Qt5HelpConfigExtras.cmake.in 2 - =================================================================== 3 - --- qttools-opensource-src-5.8.0.orig/src/assistant/help/Qt5HelpConfigExtras.cmake.in 4 - +++ qttools-opensource-src-5.8.0/src/assistant/help/Qt5HelpConfigExtras.cmake.in 5 - @@ -2,11 +2,10 @@ 6 - if (NOT TARGET Qt5::qcollectiongenerator) 7 - add_executable(Qt5::qcollectiongenerator IMPORTED) 8 - 9 - -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 10 - - set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 11 - -!!ELSE 12 - - set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 13 - -!!ENDIF 14 - + set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 15 - + if(NOT EXISTS \"${imported_location}\") 16 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") 17 - + endif() 18 - _qt5_Help_check_file_exists(${imported_location}) 19 - 20 - set_target_properties(Qt5::qcollectiongenerator PROPERTIES 21 - @@ -17,11 +16,10 @@ endif() 22 - if (NOT TARGET Qt5::qhelpgenerator) 23 - add_executable(Qt5::qhelpgenerator IMPORTED) 24 - 25 - -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 26 - - set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") 27 - -!!ELSE 28 - - set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") 29 - -!!ENDIF 30 - + set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") 31 - + if(NOT EXISTS \"${imported_location}\") 32 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") 33 - + endif() 34 - _qt5_Help_check_file_exists(${imported_location}) 35 - 36 - set_target_properties(Qt5::qhelpgenerator PROPERTIES 37 - Index: qttools-opensource-src-5.8.0/src/linguist/Qt5LinguistToolsConfig.cmake.in 38 - =================================================================== 39 - --- qttools-opensource-src-5.8.0.orig/src/linguist/Qt5LinguistToolsConfig.cmake.in 40 - +++ qttools-opensource-src-5.8.0/src/linguist/Qt5LinguistToolsConfig.cmake.in 41 - @@ -44,11 +44,10 @@ endmacro() 42 - if (NOT TARGET Qt5::lrelease) 43 - add_executable(Qt5::lrelease IMPORTED) 44 - 45 - -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 46 - - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") 47 - -!!ELSE 48 - - set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") 49 - -!!ENDIF 50 - + set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") 51 - + if(NOT EXISTS \"${imported_location}\") 52 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") 53 - + endif() 54 - _qt5_LinguistTools_check_file_exists(${imported_location}) 55 - 56 - set_target_properties(Qt5::lrelease PROPERTIES 57 - @@ -59,11 +58,10 @@ endif() 58 - if (NOT TARGET Qt5::lupdate) 59 - add_executable(Qt5::lupdate IMPORTED) 60 - 61 - -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 62 - - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") 63 - -!!ELSE 64 - - set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") 65 - -!!ENDIF 66 - + set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") 67 - + if(NOT EXISTS \"${imported_location}\") 68 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") 69 - + endif() 70 - _qt5_LinguistTools_check_file_exists(${imported_location}) 71 - 72 - set_target_properties(Qt5::lupdate PROPERTIES 73 - @@ -74,11 +72,10 @@ endif() 74 - if (NOT TARGET Qt5::lconvert) 75 - add_executable(Qt5::lconvert IMPORTED) 76 - 77 - -!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) 78 - - set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") 79 - -!!ELSE 80 - - set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") 81 - -!!ENDIF 82 - + set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") 83 - + if(NOT EXISTS \"${imported_location}\") 84 - + set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") 85 - + endif() 86 - _qt5_LinguistTools_check_file_exists(${imported_location}) 87 - 88 - set_target_properties(Qt5::lconvert PROPERTIES
-16
pkgs/development/libraries/qt-5/5.9/qttools/default.nix
··· 1 - { stdenv, qtSubmodule, copyPathsToStore, qtbase }: 2 - 3 - with stdenv.lib; 4 - 5 - qtSubmodule { 6 - name = "qttools"; 7 - qtInputs = [ qtbase ]; 8 - outputs = [ "bin" "dev" "out" ]; 9 - patches = copyPathsToStore (readPathsFromFile ./. ./series); 10 - # qmake moves all binaries to $dev in preFixup 11 - postFixup = '' 12 - moveToOutput "bin/qdbus" "$bin" 13 - moveToOutput "bin/qdbusviewer" "$bin" 14 - moveToOutput "bin/qtpaths" "$bin" 15 - ''; 16 - }
-1
pkgs/development/libraries/qt-5/5.9/qttools/series
··· 1 - cmake-paths.patch
-6
pkgs/development/libraries/qt-5/5.9/qttranslations.nix
··· 1 - { qtSubmodule, qttools }: 2 - 3 - qtSubmodule { 4 - name = "qttranslations"; 5 - qtInputs = [ qttools ]; 6 - }
-13
pkgs/development/libraries/qt-5/5.9/qtwayland.nix
··· 1 - { qtSubmodule, qtbase, qtquickcontrols, wayland, pkgconfig }: 2 - 3 - qtSubmodule { 4 - name = "qtwayland"; 5 - qtInputs = [ qtbase qtquickcontrols ]; 6 - buildInputs = [ wayland ]; 7 - nativeBuildInputs = [ pkgconfig ]; 8 - outputs = [ "bin" "dev" "out" ]; 9 - postInstall = '' 10 - moveToOutput "$qtPluginPrefix" "$bin" 11 - moveToOutput "$qtQmlPrefix" "$bin" 12 - ''; 13 - }
-11
pkgs/development/libraries/qt-5/5.9/qtwebchannel.nix
··· 1 - { qtSubmodule, qtbase, qtdeclarative }: 2 - 3 - qtSubmodule { 4 - name = "qtwebchannel"; 5 - qtInputs = [ qtbase qtdeclarative ]; 6 - outputs = [ "bin" "dev" "out" ]; 7 - postInstall = '' 8 - moveToOutput "$qtQmlPrefix" "$bin" 9 - ''; 10 - } 11 -
+12 -8
pkgs/development/libraries/qt-5/5.9/qtwebengine/default.nix pkgs/development/libraries/qt-5/modules/qtwebengine.nix
··· 1 - { qtSubmodule, qtquickcontrols, qtlocation, qtwebchannel 1 + { qtModule, qtCompatVersion, 2 + qtdeclarative, qtquickcontrols, qtlocation, qtwebchannel 2 3 3 4 , bison, coreutils, flex, git, gperf, ninja, pkgconfig, python2, which 4 5 ··· 18 19 19 20 with stdenv.lib; 20 21 21 - qtSubmodule { 22 + let qt56 = qtCompatVersion == "5.6"; in 23 + 24 + qtModule { 22 25 name = "qtwebengine"; 23 - qtInputs = [ qtquickcontrols qtlocation qtwebchannel ]; 26 + qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ]; 24 27 nativeBuildInputs = [ 25 28 bison coreutils flex git gperf ninja pkgconfig python2 which 26 29 ]; ··· 38 41 + '' 39 42 substituteInPlace ./src/3rdparty/chromium/build/common.gypi \ 40 43 --replace /bin/echo ${coreutils}/bin/echo 41 - substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/toolchain.gypi \ 44 + substituteInPlace ./src/3rdparty/chromium/v8/${if qt56 then "build" else "gypfiles"}/toolchain.gypi \ 42 45 --replace /bin/echo ${coreutils}/bin/echo 43 - substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/standalone.gypi \ 46 + substituteInPlace ./src/3rdparty/chromium/v8/${if qt56 then "build" else "gypfiles"}/standalone.gypi \ 44 47 --replace /bin/echo ${coreutils}/bin/echo 45 48 '' 46 49 # Patch library paths in Qt sources ··· 62 65 63 66 preConfigure = '' 64 67 export MAKEFLAGS=-j$NIX_BUILD_CORES 68 + 69 + if [ -d "$PWD/tools/qmake" ]; then 70 + QMAKEPATH="$PWD/tools/qmake''${QMAKEPATH:+:}$QMAKEPATH" 71 + fi 65 72 ''; 66 73 67 74 qmakeFlags = ··· 99 106 xlibs.xrandr libXScrnSaver libXcursor libXrandr xlibs.libpciaccess libXtst 100 107 xlibs.libXcomposite 101 108 ]; 102 - patches = optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch; 103 109 104 110 dontUseNinjaBuild = true; 105 111 dontUseNinjaInstall = true; ··· 111 117 EOF 112 118 113 119 paxmark m $out/libexec/QtWebEngineProcess 114 - 115 - moveToOutput "$qtQmlPrefix" "$bin" 116 120 ''; 117 121 }
pkgs/development/libraries/qt-5/5.9/qtwebengine/qtwebengine-paxmark-mksnapshot.patch pkgs/development/libraries/qt-5/5.9/qtwebengine-paxmark-mksnapshot.patch
+77
pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
··· 1 + diff --git a/Source/WTF/WTF.pri b/Source/WTF/WTF.pri 2 + index 69e4cd1f3..3f729a75e 100644 3 + --- a/Source/WTF/WTF.pri 4 + +++ b/Source/WTF/WTF.pri 5 + @@ -12,7 +12,7 @@ mac { 6 + # Mac OS does ship libicu but not the associated header files. 7 + # Therefore WebKit provides adequate header files. 8 + INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH 9 + - LIBS += -licucore 10 + + LIBS += /usr/lib/libicucore.dylib 11 + } else:!use?(wchar_unicode): { 12 + win32 { 13 + CONFIG(static, static|shared) { 14 + diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp 15 + index a923d49aa..46772a4bb 100644 16 + --- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp 17 + +++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp 18 + @@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* module = 0) 19 + } 20 + } 21 + 22 + +#ifdef NIXPKGS_LIBGTK2 23 + + QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0); 24 + +#else 25 + QLibrary library(QLatin1String("libgtk-x11-2.0"), 0); 26 + +#endif 27 + if (library.load()) { 28 + typedef void *(*gtk_init_check_ptr)(int*, char***); 29 + gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check"); 30 + diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp 31 + index de06a2fea..86fe39ef1 100644 32 + --- a/Source/WebCore/plugins/qt/PluginViewQt.cpp 33 + +++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp 34 + @@ -697,7 +697,11 @@ static Display *getPluginDisplay() 35 + // support gdk based plugins (like flash) that use a different X connection. 36 + // The code below has the same effect as this one: 37 + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); 38 + +#ifdef NIXPKGS_LIBGDK2 39 + + QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0); 40 + +#else 41 + QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); 42 + +#endif 43 + if (!library.load()) 44 + return 0; 45 + 46 + diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp 47 + index 8de65216b..38f5c05e5 100644 48 + --- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp 49 + +++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp 50 + @@ -53,7 +53,11 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr 51 + 52 + static bool initializeGtk() 53 + { 54 + +#ifdef NIXPKGS_LIBGTK2 55 + + QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0); 56 + +#else 57 + QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0); 58 + +#endif 59 + if (!gtkLibrary.load()) 60 + return false; 61 + typedef void* (*gtk_init_ptr)(void*, void*); 62 + diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 63 + index d734ff684..0f6ff63d1 100644 64 + --- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 65 + +++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 66 + @@ -64,7 +64,11 @@ static Display* getPluginDisplay() 67 + // The code below has the same effect as this one: 68 + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); 69 + 70 + +#ifdef NIXPKGS_LIBGDK2 71 + + QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0); 72 + +#else 73 + QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); 74 + +#endif 75 + if (!library.load()) 76 + return 0; 77 +
+10 -5
pkgs/development/libraries/qt-5/5.9/qtwebkit/default.nix pkgs/development/libraries/qt-5/modules/qtwebkit.nix
··· 1 - { qtSubmodule, stdenv, copyPathsToStore, lib 2 - , qtdeclarative, qtlocation, qtsensors 1 + { qtModule, stdenv, lib 2 + , qtbase, qtdeclarative, qtlocation, qtsensors 3 3 , fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt 4 4 , sqlite, systemd, glib, gst_all_1 5 5 , bison2, flex, gdb, gperf, perl, pkgconfig, python2, ruby ··· 10 10 11 11 let inherit (lib) optional optionals getLib; in 12 12 13 - qtSubmodule { 13 + qtModule { 14 14 name = "qtwebkit"; 15 - qtInputs = [ qtdeclarative qtlocation qtsensors ]; 15 + qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ]; 16 16 buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ] 17 17 ++ optionals (stdenv.isDarwin) (with darwin.apple_sdk.frameworks; [ OpenGL ]); 18 18 nativeBuildInputs = [ ··· 23 23 "/usr/lib/libicucore.dylib" 24 24 ]; 25 25 26 - patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); 26 + # QtWebKit overrides qmake's default_pre and default_post features, 27 + # so its custom qmake files must be found first at the front of QMAKEPATH. 28 + preConfigure = '' 29 + QMAKEPATH="$PWD/Tools/qmake''${QMAKEPATH:+:}$QMAKEPATH" 30 + fixQtBuiltinPaths . '*.pr?' 31 + ''; 27 32 28 33 NIX_CFLAGS_COMPILE = 29 34 optionals flashplayerFix
-64
pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-gtk.patch
··· 1 - Index: qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginPackageQt.cpp 2 - =================================================================== 3 - --- qtwebkit-opensource-src-5.8.0.orig/Source/WebCore/plugins/qt/PluginPackageQt.cpp 4 - +++ qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginPackageQt.cpp 5 - @@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* modu 6 - } 7 - } 8 - 9 - +#ifdef NIXPKGS_LIBGTK2 10 - + QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0); 11 - +#else 12 - QLibrary library(QLatin1String("libgtk-x11-2.0"), 0); 13 - +#endif 14 - if (library.load()) { 15 - typedef void *(*gtk_init_check_ptr)(int*, char***); 16 - gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check"); 17 - Index: qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginViewQt.cpp 18 - =================================================================== 19 - --- qtwebkit-opensource-src-5.8.0.orig/Source/WebCore/plugins/qt/PluginViewQt.cpp 20 - +++ qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginViewQt.cpp 21 - @@ -697,7 +697,11 @@ static Display *getPluginDisplay() 22 - // support gdk based plugins (like flash) that use a different X connection. 23 - // The code below has the same effect as this one: 24 - // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); 25 - +#ifdef NIXPKGS_LIBGDK2 26 - + QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0); 27 - +#else 28 - QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); 29 - +#endif 30 - if (!library.load()) 31 - return 0; 32 - 33 - Index: qtwebkit-opensource-src-5.8.0/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 34 - =================================================================== 35 - --- qtwebkit-opensource-src-5.8.0.orig/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 36 - +++ qtwebkit-opensource-src-5.8.0/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 37 - @@ -64,7 +64,11 @@ static Display* getPluginDisplay() 38 - // The code below has the same effect as this one: 39 - // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); 40 - 41 - +#ifdef NIXPKGS_LIBGDK2 42 - + QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0); 43 - +#else 44 - QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); 45 - +#endif 46 - if (!library.load()) 47 - return 0; 48 - 49 - Index: qtwebkit-opensource-src-5.8.0/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp 50 - =================================================================== 51 - --- qtwebkit-opensource-src-5.8.0.orig/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp 52 - +++ qtwebkit-opensource-src-5.8.0/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp 53 - @@ -53,7 +53,11 @@ static void messageHandler(QtMsgType typ 54 - 55 - static bool initializeGtk() 56 - { 57 - +#ifdef NIXPKGS_LIBGTK2 58 - + QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0); 59 - +#else 60 - QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0); 61 - +#endif 62 - if (!gtkLibrary.load()) 63 - return false; 64 - typedef void* (*gtk_init_ptr)(void*, void*);
pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-udev.patch

This is a binary file and will not be displayed.

-13
pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-icucore-darwin.patch
··· 1 - Index: qtwebkit-opensource-src-5.8.0/Source/WTF/WTF.pri 2 - =================================================================== 3 - --- qtwebkit-opensource-src-5.8.0.orig/Source/WTF/WTF.pri 4 - +++ qtwebkit-opensource-src-5.8.0/Source/WTF/WTF.pri 5 - @@ -12,7 +12,7 @@ mac { 6 - # Mac OS does ship libicu but not the associated header files. 7 - # Therefore WebKit provides adequate header files. 8 - INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH 9 - - LIBS += -licucore 10 - + LIBS += /usr/lib/libicucore.dylib 11 - } else:!use?(wchar_unicode): { 12 - win32 { 13 - CONFIG(static, static|shared) {
-3
pkgs/development/libraries/qt-5/5.9/qtwebkit/series
··· 1 - qtwebkit-dlopen-gtk.patch 2 - qtwebkit-dlopen-udev.patch 3 - qtwebkit-icucore-darwin.patch
-10
pkgs/development/libraries/qt-5/5.9/qtwebsockets.nix
··· 1 - { qtSubmodule, qtbase, qtdeclarative }: 2 - 3 - qtSubmodule { 4 - name = "qtwebsockets"; 5 - qtInputs = [ qtbase qtdeclarative ]; 6 - outputs = [ "bin" "dev" "out" ]; 7 - postInstall = '' 8 - moveToOutput "$qtQmlPrefix" "$bin" 9 - ''; 10 - }
-6
pkgs/development/libraries/qt-5/5.9/qtx11extras.nix
··· 1 - { qtSubmodule, qtbase }: 2 - 3 - qtSubmodule { 4 - name = "qtx11extras"; 5 - qtInputs = [ qtbase ]; 6 - }
-6
pkgs/development/libraries/qt-5/5.9/qtxmlpatterns.nix
··· 1 - { qtSubmodule, qtbase }: 2 - 3 - qtSubmodule { 4 - name = "qtxmlpatterns"; 5 - qtInputs = [ qtbase ]; 6 - }
+64
pkgs/development/libraries/qt-5/hooks/fix-qt-builtin-paths.sh
··· 1 + # fixQtBuiltinPaths 2 + # 3 + # Usage: fixQtBuiltinPaths _dir_ _pattern_ 4 + # 5 + # Fix Qt builtin paths in files matching _pattern_ under _dir_. 6 + # 7 + fixQtBuiltinPaths() { 8 + local dir="$1" 9 + local pattern="$2" 10 + local bin="${!outputBin}" 11 + local dev="${!outputDev}" 12 + local doc="${!outputDoc}" 13 + local lib="${!outputLib}" 14 + 15 + if [ -d "$dir" ]; then 16 + find "$dir" -name "$pattern" | while read pr_; do 17 + if grep -q '\$\$\[QT_' "${pr_:?}"; then 18 + echo "fixQtBuiltinPaths: Fixing Qt builtin paths in \`${pr_:?}'..." 19 + sed -i "${pr_:?}" \ 20 + -e "s|\\\$\\\$\\[QT_HOST_BINS[^]]*\\]|$dev/bin|g" \ 21 + -e "s|\\\$\\\$\\[QT_HOST_DATA[^]]*\\]/mkspecs|$dev/mkspecs|g" \ 22 + -e "s|\\\$\\\$\\[QT_HOST_PREFIX[^]]*\\]|$dev|g" \ 23 + -e "s|\\\$\\\$\\[QT_INSTALL_ARCHDATA[^]]*\\]|$lib|g" \ 24 + -e "s|\\\$\\\$\\[QT_INSTALL_BINS[^]]*\\]|$bin/bin|g" \ 25 + -e "s|\\\$\\\$\\[QT_INSTALL_CONFIGURATION[^]]*\\]|$bin|g" \ 26 + -e "s|\\\$\\\$\\[QT_INSTALL_DATA[^]]*\\]|$lib|g" \ 27 + -e "s|\\\$\\\$\\[QT_INSTALL_DOCS[^]]*\\]|$doc/share/doc|g" \ 28 + -e "s|\\\$\\\$\\[QT_INSTALL_EXAMPLES[^]]*\\]|$doc/examples|g" \ 29 + -e "s|\\\$\\\$\\[QT_INSTALL_HEADERS[^]]*\\]|$dev/include|g" \ 30 + -e "s|\\\$\\\$\\[QT_INSTALL_LIBS[^]]*\\]|$lib/lib|g" \ 31 + -e "s|\\\$\\\$\\[QT_INSTALL_LIBEXECS[^]]*\\]|$lib/libexec|g" \ 32 + -e "s|\\\$\\\$\\[QT_INSTALL_PLUGINS[^]]*\\]|$bin/$qtPluginPrefix|g" \ 33 + -e "s|\\\$\\\$\\[QT_INSTALL_PREFIX[^]]*\\]|$lib|g" \ 34 + -e "s|\\\$\\\$\\[QT_INSTALL_TESTS[^]]*\\]|$dev/tests|g" \ 35 + -e "s|\\\$\\\$\\[QT_INSTALL_TRANSLATIONS[^]]*\\]|$lib/translations|g" \ 36 + -e "s|\\\$\\\$\\[QT_INSTALL_QML[^]]*\\]|$bin/$qtQmlPrefix|g" 37 + fi 38 + done 39 + elif [ -e "$dir" ]; then 40 + if grep -q '\$\$\[QT_' "${dir:?}"; then 41 + echo "fixQtBuiltinPaths: Fixing Qt builtin paths in \`${dir:?}'..." 42 + sed -i "${dir:?}" \ 43 + -e "s|\\\$\\\$\\[QT_HOST_BINS[^]]*\\]|$dev/bin|g" \ 44 + -e "s|\\\$\\\$\\[QT_HOST_DATA[^]]*\\]/mkspecs|$dev/mkspecs|g" \ 45 + -e "s|\\\$\\\$\\[QT_HOST_PREFIX[^]]*\\]|$dev|g" \ 46 + -e "s|\\\$\\\$\\[QT_INSTALL_ARCHDATA[^]]*\\]|$lib|g" \ 47 + -e "s|\\\$\\\$\\[QT_INSTALL_BINS[^]]*\\]|$bin/bin|g" \ 48 + -e "s|\\\$\\\$\\[QT_INSTALL_CONFIGURATION[^]]*\\]|$bin|g" \ 49 + -e "s|\\\$\\\$\\[QT_INSTALL_DATA[^]]*\\]|$lib|g" \ 50 + -e "s|\\\$\\\$\\[QT_INSTALL_DOCS[^]]*\\]|$doc/share/doc|g" \ 51 + -e "s|\\\$\\\$\\[QT_INSTALL_EXAMPLES[^]]*\\]|$doc/examples|g" \ 52 + -e "s|\\\$\\\$\\[QT_INSTALL_HEADERS[^]]*\\]|$dev/include|g" \ 53 + -e "s|\\\$\\\$\\[QT_INSTALL_LIBS[^]]*\\]|$lib/lib|g" \ 54 + -e "s|\\\$\\\$\\[QT_INSTALL_LIBEXECS[^]]*\\]|$lib/libexec|g" \ 55 + -e "s|\\\$\\\$\\[QT_INSTALL_PLUGINS[^]]*\\]|$bin/$qtPluginPrefix|g" \ 56 + -e "s|\\\$\\\$\\[QT_INSTALL_PREFIX[^]]*\\]|$lib|g" \ 57 + -e "s|\\\$\\\$\\[QT_INSTALL_TESTS[^]]*\\]|$dev/tests|g" \ 58 + -e "s|\\\$\\\$\\[QT_INSTALL_TRANSLATIONS[^]]*\\]|$lib/translations|g" \ 59 + -e "s|\\\$\\\$\\[QT_INSTALL_QML[^]]*\\]|$bin/$qtQmlPrefix|g" 60 + fi 61 + else 62 + echo "fixQtBuiltinPaths: Warning: \`$dir' does not exist" 63 + fi 64 + }
+43
pkgs/development/libraries/qt-5/hooks/fix-qt-module-paths.sh
··· 1 + # fixQtModulePaths 2 + # 3 + # Usage: fixQtModulePaths _dir_ 4 + # 5 + # Find Qt module definitions in directory _dir_ and patch the module paths. 6 + # 7 + fixQtModulePaths () { 8 + local dir="$1" 9 + local bin="${!outputBin}" 10 + local dev="${!outputDev}" 11 + local lib="${!outputLib}" 12 + 13 + if [ -d "$dir" ]; then 14 + find "$dir" -name 'qt_*.pri' | while read pr; do 15 + if grep -q '\$\$QT_MODULE_' "${pr:?}"; then 16 + echo "fixQtModulePaths: Fixing module paths in \`${pr:?}'..." 17 + sed -i "${pr:?}" \ 18 + -e "s|\\\$\\\$QT_MODULE_LIB_BASE|$dev/lib|g" \ 19 + -e "s|\\\$\\\$QT_MODULE_HOST_LIB_BASE|$dev/lib|g" \ 20 + -e "s|\\\$\\\$QT_MODULE_INCLUDE_BASE|$dev/include|g" \ 21 + -e "s|\\\$\\\$QT_MODULE_BIN_BASE|$dev/bin|g" 22 + fi 23 + done 24 + elif [ -e "$dir" ]; then 25 + echo "fixQtModulePaths: Warning: \`$dir' is not a directory" 26 + else 27 + echo "fixQtModulePaths: Warning: \`$dir' does not exist" 28 + fi 29 + 30 + if [ "z$dev" != "z$lib" ]; then 31 + if [ -d "$lib/lib" ]; then 32 + mkdir -p "$dev/lib" 33 + lndir -silent "$lib/lib" "$dev/lib" 34 + fi 35 + fi 36 + 37 + if [ "z$bin" != "z$dev" ]; then 38 + if [ -d "$bin/bin" ]; then 39 + mkdir -p "$dev/bin" 40 + lndir -silent "$bin/bin" "$dev/bin" 41 + fi 42 + fi 43 + }
+32
pkgs/development/libraries/qt-5/hooks/fix-qt-static-libs.sh
··· 1 + # fixQtStaticLibs 2 + # 3 + # Usage: fixQtStaticLibs _lib_ _dev_ 4 + # 5 + # Find static Qt libraries in output _lib_ and move them to the corresponding 6 + # path in output _dev_. Any QMake library definitions (*.prl files) are also 7 + # moved and library paths are patched. 8 + # 9 + fixQtStaticLibs() { 10 + local lib="$1" 11 + local dev="$2" 12 + 13 + pushd "$lib" 14 + if [ -d "lib" ]; then 15 + find lib \( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | \ 16 + while read -r -d $'\0' file; do 17 + mkdir -p "$dev/$(dirname "$file")" 18 + mv "$lib/$file" "$dev/$file" 19 + done 20 + fi 21 + popd 22 + 23 + if [ -d "$dev" ]; then 24 + find "$dev" -name '*.prl' | while read prl; do 25 + echo "fixQtStaticLibs: Fixing built-in paths in \`$prl'..." 26 + sed -i "$prl" \ 27 + -e '/^QMAKE_PRL_BUILD_DIR =/d' \ 28 + -e '/^QMAKE_PRO_INPUT =/d' \ 29 + -e "s|-L\\\$\\\$NIX_OUTPUT_OUT/lib|-L$lib/lib -L$dev/lib|g" 30 + done 31 + fi 32 + }
+34
pkgs/development/libraries/qt-5/hooks/move-qt-dev-tools.sh
··· 1 + updateToolPath() { 2 + local tool="$1" 3 + local target="$2" 4 + local original="${!outputBin}/$tool" 5 + local actual="${!outputDev}/$tool" 6 + if grep -q "$original" "$target"; then 7 + echo "updateToolPath: Updating \`$original' in \`$target\'..." 8 + sed -i "$target" -e "s|$original|$actual|" 9 + fi 10 + } 11 + 12 + moveQtDevTools() { 13 + if [ -n "$devTools" ]; then 14 + for tool in $devTools; do 15 + moveToOutput "$tool" "${!outputDev}" 16 + done 17 + 18 + if [ -d "${!outputDev}/mkspecs" ]; then 19 + find "${!outputDev}/mkspecs" -name '*.pr?' | while read pr_; do 20 + for tool in $devTools; do 21 + updateToolPath "$tool" "$pr_" 22 + done 23 + done 24 + fi 25 + 26 + if [ -d "${!outputDev}/lib/cmake" ]; then 27 + find "${!outputDev}/lib/cmake" -name '*.cmake' | while read cmake; do 28 + for tool in $devTools; do 29 + updateToolPath "$tool" "$cmake" 30 + done 31 + done 32 + fi 33 + fi 34 + }
+18
pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
··· 1 + qmakeConfigurePhase() { 2 + runHook preConfigure 3 + 4 + qmake PREFIX=$out \ 5 + NIX_OUTPUT_OUT=$out \ 6 + NIX_OUTPUT_DEV=${!outputDev} \ 7 + NIX_OUTPUT_BIN=${!outputBin} \ 8 + NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?} \ 9 + NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?} \ 10 + NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?} \ 11 + $qmakeFlags 12 + 13 + runHook postConfigure 14 + } 15 + 16 + if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then 17 + configurePhase=qmakeConfigurePhase 18 + fi
+87
pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
··· 1 + qtPluginPrefix=@qtPluginPrefix@ 2 + qtQmlPrefix=@qtQmlPrefix@ 3 + qtDocPrefix=@qtDocPrefix@ 4 + 5 + . @fix_qt_builtin_paths@ 6 + . @fix_qt_module_paths@ 7 + . @fix_qt_static_libs@ 8 + 9 + providesQtRuntime() { 10 + [ -d "$1/$qtPluginPrefix" ] || [ -d "$1/$qtQmlPrefix" ] 11 + } 12 + 13 + # Build tools are often confused if QMAKE is unset. 14 + QMAKE=@dev@/bin/qmake 15 + export QMAKE 16 + 17 + QMAKEPATH= 18 + export QMAKEPATH 19 + 20 + QMAKEMODULES= 21 + export QMAKEMODULES 22 + 23 + addToQMAKEPATH() { 24 + if [ -d "$1/mkspecs" ]; then 25 + QMAKEMODULES="${QMAKEMODULES}${QMAKEMODULES:+:}/mkspecs" 26 + QMAKEPATH="${QMAKEPATH}${QMAKEPATH:+:}$1" 27 + fi 28 + } 29 + 30 + # Propagate any runtime dependency of the building package. 31 + # Each dependency is propagated to the user environment and as a build 32 + # input so that it will be re-propagated to the user environment by any 33 + # package depending on the building package. (This is necessary in case 34 + # the building package does not provide runtime dependencies itself and so 35 + # would not be propagated to the user environment.) 36 + qtCrossEnvHook() { 37 + addToQMAKEPATH "$1" 38 + if providesQtRuntime "$1"; then 39 + if [ "z${!outputBin}" != "z${!outputDev}" ]; then 40 + propagatedBuildInputs+=" $1" 41 + fi 42 + propagatedUserEnvPkgs+=" $1" 43 + fi 44 + } 45 + crossEnvHooks+=(qtCrossEnvHook) 46 + 47 + qtEnvHook() { 48 + addToQMAKEPATH "$1" 49 + if providesQtRuntime "$1"; then 50 + if [ "z${!outputBin}" != "z${!outputDev}" ]; then 51 + propagatedNativeBuildInputs+=" $1" 52 + fi 53 + if [ -z "$crossConfig" ]; then 54 + propagatedUserEnvPkgs+=" $1" 55 + fi 56 + fi 57 + } 58 + envHooks+=(qtEnvHook) 59 + 60 + postPatchMkspecs() { 61 + local bin="${!outputBin}" 62 + local dev="${!outputDev}" 63 + local doc="${!outputDoc}" 64 + local lib="${!outputLib}" 65 + 66 + moveToOutput "mkspecs" "$dev" 67 + 68 + if [ -d "$dev/mkspecs/modules" ]; then 69 + fixQtModulePaths "$dev/mkspecs/modules" 70 + fi 71 + 72 + if [ -d "$dev/mkspecs" ]; then 73 + fixQtBuiltinPaths "$dev/mkspecs" '*.pr?' 74 + fi 75 + } 76 + if [ -z "$dontPatchMkspecs" ]; then 77 + postPhases="${postPhases}${postPhases:+ }postPatchMkspecs" 78 + fi 79 + 80 + postMoveQtStaticLibs() { 81 + if [ "z${!outputLib}" != "z${!outputDev}" ]; then 82 + fixQtStaticLibs "${!outputLib}" "${!outputDev}" 83 + fi 84 + } 85 + if [ -z "$dontMoveQtStaticLibs" ]; then 86 + postPhases="${postPhases}${postPhases:+ }postMoveQtStaticLibs" 87 + fi
+1
pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh
··· 1 + qmakeFlags="$qmakeFlags${qmakeFlags:+ }QMAKE_LRELEASE=@dev@/bin/lrelease"
+29
pkgs/development/libraries/qt-5/mkDerivation.nix
··· 1 + { stdenv, lib }: 2 + 3 + let inherit (lib) optional; in 4 + 5 + { debug }: 6 + 7 + args: 8 + 9 + let 10 + args_ = { 11 + 12 + qmakeFlags = 13 + (args.qmakeFlags or []) 14 + ++ optional (debug != null) 15 + (if debug then "CONFIG+=debug" else "CONFIG+=release"); 16 + 17 + cmakeFlags = 18 + (args.cmakeFlags or []) 19 + ++ [ "-DBUILD_TESTING=OFF" ] 20 + ++ optional (debug != null) 21 + (if debug then "-DCMAKE_BUILD_TYPE=Debug" 22 + else "-DCMAKE_BUILD_TYPE=Release"); 23 + 24 + enableParallelBuilding = args.enableParallelBuilding or false; 25 + 26 + }; 27 + in 28 + 29 + stdenv.mkDerivation (args // args_)
+7
pkgs/development/libraries/qt-5/modules/qtcharts.nix
··· 1 + { qtModule, qtbase, qtdeclarative }: 2 + 3 + qtModule { 4 + name = "qtcharts"; 5 + qtInputs = [ qtbase qtdeclarative ]; 6 + outputs = [ "out" "dev" "bin" ]; 7 + }
+8
pkgs/development/libraries/qt-5/modules/qtconnectivity.nix
··· 1 + { qtModule, qtbase, qtdeclarative, bluez }: 2 + 3 + qtModule { 4 + name = "qtconnectivity"; 5 + qtInputs = [ qtbase qtdeclarative ]; 6 + buildInputs = [ bluez ]; 7 + outputs = [ "out" "dev" "bin" ]; 8 + }
+25
pkgs/development/libraries/qt-5/modules/qtdeclarative.nix
··· 1 + { qtModule, lib, python2, qtbase, qtsvg, qtxmlpatterns }: 2 + 3 + with lib; 4 + 5 + qtModule { 6 + name = "qtdeclarative"; 7 + qtInputs = [ qtbase qtsvg qtxmlpatterns ]; 8 + nativeBuildInputs = [ python2 ]; 9 + outputs = [ "out" "dev" "bin" ]; 10 + preConfigure = '' 11 + NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QML2_IMPORT_PREFIX=\"$qtQmlPrefix\"" 12 + ''; 13 + devTools = [ 14 + "bin/qml" 15 + "bin/qmlcachegen" 16 + "bin/qmleasing" 17 + "bin/qmlimportscanner" 18 + "bin/qmllint" 19 + "bin/qmlmin" 20 + "bin/qmlplugindump" 21 + "bin/qmlprofiler" 22 + "bin/qmlscene" 23 + "bin/qmltestrunner" 24 + ]; 25 + }
+7
pkgs/development/libraries/qt-5/modules/qtgraphicaleffects.nix
··· 1 + { qtModule, qtdeclarative }: 2 + 3 + qtModule { 4 + name = "qtgraphicaleffects"; 5 + qtInputs = [ qtdeclarative ]; 6 + outputs = [ "out" ]; 7 + }
+6
pkgs/development/libraries/qt-5/modules/qtimageformats.nix
··· 1 + { qtModule, qtbase }: 2 + 3 + qtModule { 4 + name = "qtimageformats"; 5 + qtInputs = [ qtbase ]; 6 + }
+9
pkgs/development/libraries/qt-5/modules/qtlocation.nix
··· 1 + { qtModule, qtbase, qtmultimedia }: 2 + 3 + qtModule { 4 + name = "qtlocation"; 5 + qtInputs = [ qtbase qtmultimedia ]; 6 + outputs = [ "bin" "out" "dev" ]; 7 + # Linking with -lclipper fails with parallel build enabled 8 + enableParallelBuilding = false; 9 + }
+6
pkgs/development/libraries/qt-5/modules/qtquickcontrols.nix
··· 1 + { qtModule, qtdeclarative }: 2 + 3 + qtModule { 4 + name = "qtquickcontrols"; 5 + qtInputs = [ qtdeclarative ]; 6 + }
+7
pkgs/development/libraries/qt-5/modules/qtquickcontrols2.nix
··· 1 + { qtModule, qtdeclarative }: 2 + 3 + qtModule { 4 + name = "qtquickcontrols2"; 5 + qtInputs = [ qtdeclarative ]; 6 + outputs = [ "out" "dev" "bin" ]; 7 + }
+6
pkgs/development/libraries/qt-5/modules/qtscript.nix
··· 1 + { qtModule, qtbase, qttools }: 2 + 3 + qtModule { 4 + name = "qtscript"; 5 + qtInputs = [ qtbase qttools ]; 6 + }
+7
pkgs/development/libraries/qt-5/modules/qtsensors.nix
··· 1 + { qtModule, qtbase, qtdeclarative }: 2 + 3 + qtModule { 4 + name = "qtsensors"; 5 + qtInputs = [ qtbase qtdeclarative ]; 6 + outputs = [ "out" "dev" "bin" ]; 7 + }
+11
pkgs/development/libraries/qt-5/modules/qtserialport.nix
··· 1 + { qtModule, stdenv, lib, qtbase, substituteAll, systemd }: 2 + 3 + let inherit (lib) getLib optional; in 4 + 5 + qtModule { 6 + name = "qtserialport"; 7 + qtInputs = [ qtbase ]; 8 + NIX_CFLAGS_COMPILE = 9 + optional stdenv.isLinux 10 + ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"''; 11 + }
+7
pkgs/development/libraries/qt-5/modules/qtsvg.nix
··· 1 + { qtModule, qtbase }: 2 + 3 + qtModule { 4 + name = "qtsvg"; 5 + qtInputs = [ qtbase ]; 6 + outputs = [ "out" "dev" "bin" ]; 7 + }
+34
pkgs/development/libraries/qt-5/modules/qttools.nix
··· 1 + { qtModule, lib, qtbase }: 2 + 3 + with lib; 4 + 5 + qtModule { 6 + name = "qttools"; 7 + qtInputs = [ qtbase ]; 8 + outputs = [ "out" "dev" "bin" ]; 9 + 10 + # fixQtBuiltinPaths overwrites a builtin path we should keep 11 + postPatch = '' 12 + sed -i "src/linguist/linguist.pro" \ 13 + -e '/^cmake_linguist_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${getDev qtbase}|' 14 + ''; 15 + 16 + devTools = [ 17 + "bin/qcollectiongenerator" 18 + "bin/linguist" 19 + "bin/assistant" 20 + "bin/qdoc" 21 + "bin/lconvert" 22 + "bin/designer" 23 + "bin/qtattributesscanner" 24 + "bin/lrelease" 25 + "bin/pixeltool" 26 + "bin/lupdate" 27 + "bin/qtdiag" 28 + "bin/qhelpgenerator" 29 + "bin/qtplugininfo" 30 + "bin/qthelpconverter" 31 + ]; 32 + 33 + setupHook = ../hooks/qttools-setup-hook.sh; 34 + }
+6
pkgs/development/libraries/qt-5/modules/qttranslations.nix
··· 1 + { qtModule, qttools }: 2 + 3 + qtModule { 4 + name = "qttranslations"; 5 + qtInputs = [ qttools ]; 6 + }
+9
pkgs/development/libraries/qt-5/modules/qtwayland.nix
··· 1 + { qtModule, qtbase, qtquickcontrols, wayland, pkgconfig }: 2 + 3 + qtModule { 4 + name = "qtwayland"; 5 + qtInputs = [ qtbase qtquickcontrols ]; 6 + buildInputs = [ wayland ]; 7 + nativeBuildInputs = [ pkgconfig ]; 8 + outputs = [ "out" "dev" "bin" ]; 9 + }
+8
pkgs/development/libraries/qt-5/modules/qtwebchannel.nix
··· 1 + { qtModule, qtbase, qtdeclarative }: 2 + 3 + qtModule { 4 + name = "qtwebchannel"; 5 + qtInputs = [ qtbase qtdeclarative ]; 6 + outputs = [ "out" "dev" "bin" ]; 7 + } 8 +
+7
pkgs/development/libraries/qt-5/modules/qtwebsockets.nix
··· 1 + { qtModule, qtbase, qtdeclarative }: 2 + 3 + qtModule { 4 + name = "qtwebsockets"; 5 + qtInputs = [ qtbase qtdeclarative ]; 6 + outputs = [ "out" "dev" "bin" ]; 7 + }
+6
pkgs/development/libraries/qt-5/modules/qtx11extras.nix
··· 1 + { qtModule, qtbase }: 2 + 3 + qtModule { 4 + name = "qtx11extras"; 5 + qtInputs = [ qtbase ]; 6 + }
+7
pkgs/development/libraries/qt-5/modules/qtxmlpatterns.nix
··· 1 + { qtModule, qtbase }: 2 + 3 + qtModule { 4 + name = "qtxmlpatterns"; 5 + qtInputs = [ qtbase ]; 6 + devTools = [ "bin/xmlpatterns" "bin/xmlpatternsvalidator" ]; 7 + }
-47
pkgs/development/libraries/qt-5/qmake-hook.sh
··· 1 - qmakeConfigurePhase() { 2 - runHook preConfigure 3 - 4 - qmake PREFIX=$out $qmakeFlags 5 - 6 - runHook postConfigure 7 - } 8 - 9 - if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then 10 - configurePhase=qmakeConfigurePhase 11 - fi 12 - 13 - _qtModuleMultioutDevsPre() { 14 - # We cannot simply set these paths in configureFlags because libQtCore retains 15 - # references to the paths it was built with. 16 - moveToOutput "bin" "${!outputDev}" 17 - moveToOutput "include" "${!outputDev}" 18 - 19 - # The destination directory must exist or moveToOutput will do nothing 20 - mkdir -p "${!outputDev}/share" 21 - moveToOutput "share/doc" "${!outputDev}" 22 - } 23 - 24 - _qtModuleMultioutDevsPost() { 25 - local -a findopts=(-name '*.a' -o -name '*.la') 26 - if [ -z "@isDarwin@" ]; then 27 - findopts+=(-o -name '*.prl') 28 - fi 29 - 30 - # Move libtool archives and qmake project files to $dev/lib 31 - if [ "z${!outputLib}" != "z${!outputDev}" ]; then 32 - pushd "${!outputLib}" 33 - if [ -d "lib" ]; then 34 - find lib \( "${findopts[@]}" \) -print0 | \ 35 - while read -r -d $'\0' file; do 36 - mkdir -p "${!outputDev}/$(dirname "$file")" 37 - mv "${!outputLib}/$file" "${!outputDev}/$file" 38 - done 39 - fi 40 - popd 41 - fi 42 - } 43 - 44 - if [ -n "$NIX_QT_SUBMODULE" ]; then 45 - preFixupHooks+=(_qtModuleMultioutDevsPre) 46 - postFixupHooks+=(_qtModuleMultioutDevsPost) 47 - fi
+59
pkgs/development/libraries/qt-5/qtModule.nix
··· 1 + { lib, mkDerivation, perl }: 2 + 3 + let inherit (lib) licenses maintainers platforms; in 4 + 5 + { self, srcs, patches }: 6 + 7 + args: 8 + 9 + let 10 + inherit (args) name; 11 + version = args.version or srcs."${name}".version; 12 + src = args.src or srcs."${name}".src; 13 + in 14 + 15 + mkDerivation (args // { 16 + name = "${name}-${version}"; 17 + inherit src; 18 + patches = args.patches or patches."${name}" or []; 19 + 20 + nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ perl self.qmake ]; 21 + propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); 22 + 23 + outputs = args.outputs or [ "out" "dev" ]; 24 + setOutputFlags = args.setOutputFlags or false; 25 + 26 + preHook = '' 27 + . ${./hooks/move-qt-dev-tools.sh} 28 + . ${./hooks/fix-qt-builtin-paths.sh} 29 + ''; 30 + 31 + preConfigure = '' 32 + ${args.preConfigure or ""} 33 + 34 + fixQtBuiltinPaths . '*.pr?' 35 + ''; 36 + 37 + postFixup = '' 38 + if [ -d "''${!outputDev}/lib/pkgconfig" ]; then 39 + find "''${!outputDev}/lib/pkgconfig" -name '*.pc' | while read pc; do 40 + sed -i "$pc" \ 41 + -e "/^prefix=/ c prefix=''${!outputLib}" \ 42 + -e "/^exec_prefix=/ c exec_prefix=''${!outputBin}" \ 43 + -e "/^includedir=/ c includedir=''${!outputDev}/include" 44 + done 45 + fi 46 + 47 + moveQtDevTools 48 + 49 + ${args.postFixup or ""} 50 + ''; 51 + 52 + meta = { 53 + homepage = http://www.qt.io; 54 + description = "A cross-platform application framework for C++"; 55 + license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; 56 + maintainers = with maintainers; [ qknight ttuegel periklis ]; 57 + platforms = platforms.unix; 58 + } // (args.meta or {}); 59 + })
-192
pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh
··· 1 - qtPluginPrefix=@qtPluginPrefix@ 2 - qtQmlPrefix=@qtQmlPrefix@ 3 - qtDocPrefix=@qtDocPrefix@ 4 - 5 - _qtRmCMakeLink() { 6 - find "${!outputLib}" -name "*.cmake" -type l | xargs rm 7 - } 8 - 9 - postInstallHooks+=(_qtRmCMakeLink) 10 - 11 - addToSearchPathOnceWithCustomDelimiter() { 12 - local delim="$1" 13 - local search="$2" 14 - local target="$3" 15 - local dirs 16 - local exported 17 - IFS="$delim" read -a dirs <<< "${!search}" 18 - local canonical 19 - if canonical=$(readlink -e "$target"); then 20 - for dir in ${dirs[@]}; do 21 - if [ "z$dir" == "z$canonical" ]; then exported=1; fi 22 - done 23 - if [ -z $exported ]; then 24 - eval "export ${search}=\"${!search}${!search:+$delim}$canonical\"" 25 - fi 26 - fi 27 - } 28 - 29 - addToSearchPathOnce() { 30 - addToSearchPathOnceWithCustomDelimiter ':' "$@" 31 - } 32 - 33 - propagateOnce() { 34 - addToSearchPathOnceWithCustomDelimiter ' ' "$@" 35 - } 36 - 37 - _qtPropagate() { 38 - for dir in $qtPluginPrefix $qtQmlPrefix; do 39 - if [ -d "$1/$dir" ]; then 40 - propagateOnce propagatedBuildInputs "$1" 41 - break 42 - fi 43 - done 44 - addToSearchPathOnce QT_PLUGIN_PATH "$1/$qtPluginPrefix" 45 - addToSearchPathOnce QML2_IMPORT_PATH "$1/$qtQmlPrefix" 46 - } 47 - 48 - crossEnvHooks+=(_qtPropagate) 49 - 50 - _qtPropagateNative() { 51 - for dir in $qtPluginPrefix $qtQmlPrefix; do 52 - if [ -d "$1/$dir" ]; then 53 - propagateOnce propagatedNativeBuildInputs "$1" 54 - break 55 - fi 56 - done 57 - if [ -z "$crossConfig" ]; then 58 - addToSearchPathOnce QT_PLUGIN_PATH "$1/$qtPluginPrefix" 59 - addToSearchPathOnce QML2_IMPORT_PATH "$1/$qtQmlPrefix" 60 - fi 61 - } 62 - 63 - envHooks+=(_qtPropagateNative) 64 - 65 - _qtMultioutDevs() { 66 - # This is necessary whether the package is a Qt module or not 67 - moveToOutput "mkspecs" "${!outputDev}" 68 - } 69 - 70 - preFixupHooks+=(_qtMultioutDevs) 71 - 72 - _qtSetCMakePrefix() { 73 - export CMAKE_PREFIX_PATH="$NIX_QT5_TMP${CMAKE_PREFIX_PATH:+:}${CMAKE_PREFIX_PATH}" 74 - } 75 - 76 - _qtRmTmp() { 77 - if [ -z "$NIX_QT_SUBMODULE" ]; then 78 - rm -fr "$NIX_QT5_TMP" 79 - else 80 - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read file; do 81 - if [ ! -d "$NIX_QT5_TMP/$file" ]; then 82 - rm -f "$NIX_QT5_TMP/$file" 83 - fi 84 - done 85 - 86 - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read dir; do 87 - if [ -d "$NIX_QT5_TMP/$dir" ]; then 88 - rmdir --ignore-fail-on-non-empty -p "$NIX_QT5_TMP/$dir" 89 - fi 90 - done 91 - 92 - rm "$NIX_QT5_TMP/nix-support/qt-inputs" 93 - fi 94 - } 95 - 96 - _qtSetQmakePath() { 97 - export PATH="$NIX_QT5_TMP/bin${PATH:+:}$PATH" 98 - } 99 - 100 - if [ -z "$NIX_QT5_TMP" ]; then 101 - if [ -z "$NIX_QT_SUBMODULE" ]; then 102 - NIX_QT5_TMP=$(pwd)/.nix_qt5 103 - else 104 - NIX_QT5_TMP=$out 105 - fi 106 - postInstallHooks+=(_qtRmTmp) 107 - 108 - mkdir -p "$NIX_QT5_TMP/nix-support" 109 - for subdir in bin include mkspecs share; do 110 - mkdir -p "$NIX_QT5_TMP/$subdir" 111 - echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs" 112 - done 113 - mkdir -p "$NIX_QT5_TMP/lib" 114 - 115 - postHooks+=(_qtSetCMakePrefix) 116 - 117 - ln -sf "@dev@/bin/qmake" "$NIX_QT5_TMP/bin" 118 - echo "bin/qmake" >> "$NIX_QT5_TMP/nix-support/qt-inputs" 119 - 120 - cat >"$NIX_QT5_TMP/bin/qt.conf" <<EOF 121 - [Paths] 122 - Prefix = $NIX_QT5_TMP 123 - Plugins = $qtPluginPrefix 124 - Qml2Imports = $qtQmlPrefix 125 - Documentation = $qtDocPrefix 126 - EOF 127 - echo "bin/qt.conf" >> "$NIX_QT5_TMP/nix-support/qt-inputs" 128 - 129 - export QMAKE="$NIX_QT5_TMP/bin/qmake" 130 - 131 - # Set PATH to find qmake first in a preConfigure hook 132 - # It must run after all the envHooks! 133 - preConfigureHooks+=(_qtSetQmakePath) 134 - fi 135 - 136 - qt5LinkModuleDir() { 137 - if [ -d "$1/$2" ]; then 138 - @lndir@/bin/lndir -silent "$1/$2" "$NIX_QT5_TMP/$2" 139 - find "$1/$2" -printf "$2/%P\n" >> "$NIX_QT5_TMP/nix-support/qt-inputs" 140 - fi 141 - } 142 - 143 - qt5LinkDarwinModuleLibDir() { 144 - for fw in $(find "$1"/lib -maxdepth 1 -name '*.framework'); do 145 - if [ ! -L "$fw" ]; then 146 - ln -s "$fw" "$NIX_QT5_TMP"/lib 147 - fi 148 - done 149 - for file in $(find "$1"/lib -maxdepth 1 -type f); do 150 - if [ ! -L "$file" ]; then 151 - ln -s "$file" "$NIX_QT5_TMP"/lib 152 - fi 153 - done 154 - for dir in $(find "$1"/lib -maxdepth 1 -mindepth 1 -type d ! -name '*.framework'); do 155 - mkdir -p "$NIX_QT5_TMP"/lib/$(basename "$dir") 156 - @lndir@/bin/lndir -silent "$dir" "$NIX_QT5_TMP"/lib/$(basename "$dir") 157 - done 158 - } 159 - 160 - NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" 161 - NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" 162 - 163 - _qtLinkAllModules() { 164 - IFS=: read -a modules <<< $NIX_QT5_MODULES 165 - for module in ${modules[@]}; do 166 - qt5LinkDarwinModuleLibDir "$module" 167 - done 168 - 169 - IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV 170 - for module in ${modules[@]}; do 171 - qt5LinkModuleDir "$module" "bin" 172 - qt5LinkModuleDir "$module" "include" 173 - qt5LinkDarwinModuleLibDir "$module" 174 - qt5LinkModuleDir "$module" "mkspecs" 175 - qt5LinkModuleDir "$module" "share" 176 - done 177 - } 178 - 179 - preConfigureHooks+=(_qtLinkAllModules) 180 - 181 - _qtFixCMakePaths() { 182 - find "${!outputLib}" -name "*.cmake" | while read file; do 183 - substituteInPlace "$file" \ 184 - --subst-var-by NIX_OUT "${!outputLib}" \ 185 - --subst-var-by NIX_DEV "${!outputDev}" \ 186 - --subst-var-by NIX_BIN "${!outputBin}" 187 - done 188 - } 189 - 190 - if [ -n "$NIX_QT_SUBMODULE" ]; then 191 - postInstallHooks+=(_qtFixCMakePaths) 192 - fi
-155
pkgs/development/libraries/qt-5/qtbase-setup-hook.sh
··· 1 - qtPluginPrefix=@qtPluginPrefix@ 2 - qtQmlPrefix=@qtQmlPrefix@ 3 - qtDocPrefix=@qtDocPrefix@ 4 - 5 - NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" 6 - NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" 7 - 8 - providesQtRuntime() { 9 - [ -d "$1/$qtPluginPrefix" ] || [ -d "$1/$qtQmlPrefix" ] 10 - } 11 - 12 - # Propagate any runtime dependency of the building package. 13 - # Each dependency is propagated to the user environment and as a build 14 - # input so that it will be re-propagated to the user environment by any 15 - # package depending on the building package. (This is necessary in case 16 - # the building package does not provide runtime dependencies itself and so 17 - # would not be propagated to the user environment.) 18 - _qtCrossEnvHook() { 19 - if providesQtRuntime "$1"; then 20 - propagatedBuildInputs+=" $1" 21 - propagatedUserEnvPkgs+=" $1" 22 - fi 23 - } 24 - if [ -z "$NIX_QT5_TMP" ]; then 25 - crossEnvHooks+=(_qtCrossEnvHook) 26 - fi 27 - 28 - _qtEnvHook() { 29 - if providesQtRuntime "$1"; then 30 - propagatedNativeBuildInputs+=" $1" 31 - if [ -z "$crossConfig" ]; then 32 - propagatedUserEnvPkgs+=" $1" 33 - fi 34 - fi 35 - } 36 - if [ -z "$NIX_QT5_TMP" ]; then 37 - envHooks+=(_qtEnvHook) 38 - fi 39 - 40 - _qtPreFixupHook() { 41 - moveToOutput "mkspecs" "${!outputDev}" 42 - } 43 - if [ -z "$NIX_QT5_TMP" ]; then 44 - preFixupHooks+=(_qtPreFixupHook) 45 - fi 46 - 47 - _qtPostInstallHook() { 48 - # Clean up temporary installation files created by this setup hook. 49 - # For building Qt modules, this is necessary to prevent including 50 - # dependencies in the output. For all other packages, this is necessary 51 - # to induce patchelf to remove the temporary paths from the RPATH of 52 - # dynamically-linked objects. 53 - if [ -z "$NIX_QT_SUBMODULE" ]; then 54 - rm -fr "$NIX_QT5_TMP" 55 - else 56 - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read file; do 57 - if [ ! -d "$NIX_QT5_TMP/$file" ]; then 58 - rm -f "$NIX_QT5_TMP/$file" 59 - fi 60 - done 61 - 62 - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read dir; do 63 - if [ -d "$NIX_QT5_TMP/$dir" ]; then 64 - rmdir --ignore-fail-on-non-empty -p "$NIX_QT5_TMP/$dir" 65 - fi 66 - done 67 - 68 - rm "$NIX_QT5_TMP/nix-support/qt-inputs" 69 - fi 70 - 71 - # Patch CMake modules 72 - if [ -n "$NIX_QT_SUBMODULE" ]; then 73 - find "${!outputLib}" -name "*.cmake" | while read file; do 74 - substituteInPlace "$file" \ 75 - --subst-var-by NIX_OUT "${!outputLib}" \ 76 - --subst-var-by NIX_DEV "${!outputDev}" \ 77 - --subst-var-by NIX_BIN "${!outputBin}" 78 - done 79 - fi 80 - } 81 - if [ -z "$NIX_QT5_TMP" ]; then 82 - preConfigureHooks+=(_qtPreConfigureHook) 83 - fi 84 - 85 - _qtLinkModuleDir() { 86 - if [ -d "$1/$2" ]; then 87 - @lndir@/bin/lndir -silent "$1/$2" "$NIX_QT5_TMP/$2" 88 - find "$1/$2" -printf "$2/%P\n" >> "$NIX_QT5_TMP/nix-support/qt-inputs" 89 - fi 90 - } 91 - 92 - _qtPreConfigureHook() { 93 - # Find the temporary qmake executable first. 94 - # This must run after all the environment hooks! 95 - export PATH="$NIX_QT5_TMP/bin${PATH:+:}$PATH" 96 - 97 - # Link all runtime module dependencies into the temporary directory. 98 - IFS=: read -a modules <<< $NIX_QT5_MODULES 99 - for module in ${modules[@]}; do 100 - _qtLinkModuleDir "$module" "lib" 101 - done 102 - 103 - # Link all the build-time module dependencies into the temporary directory. 104 - IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV 105 - for module in ${modules[@]}; do 106 - _qtLinkModuleDir "$module" "bin" 107 - _qtLinkModuleDir "$module" "include" 108 - _qtLinkModuleDir "$module" "lib" 109 - _qtLinkModuleDir "$module" "mkspecs" 110 - _qtLinkModuleDir "$module" "share" 111 - done 112 - } 113 - if [ -z "$NIX_QT5_TMP" ]; then 114 - postInstallHooks+=(_qtPostInstallHook) 115 - fi 116 - 117 - if [ -z "$NIX_QT5_TMP" ]; then 118 - if [ -z "$NIX_QT_SUBMODULE" ]; then 119 - if [ -z "$IN_NIX_SHELL" ]; then 120 - NIX_QT5_TMP=$(pwd)/__nix_qt5__ 121 - else 122 - NIX_QT5_TMP=$(mktemp -d) 123 - fi 124 - else 125 - NIX_QT5_TMP=$out 126 - fi 127 - 128 - mkdir -p "$NIX_QT5_TMP/nix-support" 129 - for subdir in bin include lib mkspecs share; do 130 - mkdir -p "$NIX_QT5_TMP/$subdir" 131 - echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs" 132 - done 133 - 134 - cp "@dev@/bin/qmake" "$NIX_QT5_TMP/bin" 135 - echo "bin/qmake" >> "$NIX_QT5_TMP/nix-support/qt-inputs" 136 - 137 - cat >"$NIX_QT5_TMP/bin/qt.conf" <<EOF 138 - [Paths] 139 - Prefix = $NIX_QT5_TMP 140 - Plugins = $qtPluginPrefix 141 - Qml2Imports = $qtQmlPrefix 142 - Documentation = $qtDocPrefix 143 - EOF 144 - echo "bin/qt.conf" >> "$NIX_QT5_TMP/nix-support/qt-inputs" 145 - 146 - export QMAKE="$NIX_QT5_TMP/bin/qmake" 147 - fi 148 - 149 - _qtShellCleanupHook () { 150 - rm -fr $NIX_QT5_TMP 151 - } 152 - 153 - if [ -n "$IN_NIX_SHELL" ]; then 154 - trap _qtShellCleanupHook EXIT 155 - fi
-2
pkgs/development/libraries/qt-5/qtsubmodule-setup-hook.sh
··· 1 - NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" 2 - NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@"