From 0b7494ed2b8641cbe28ab9a74b54bc53408f031b Mon Sep 17 00:00:00 2001 From: Craig Hall Date: Sun, 4 Aug 2019 01:57:49 +0100 Subject: [PATCH 001/129] cc-wrapper: add (partial) support for clang -cc1 We need this for intel-compute-runtime, see #63705 --- pkgs/build-support/cc-wrapper/cc-wrapper.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index bb789010008..ba3dfc96f5c 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -33,6 +33,7 @@ fi # GCC prints annoying warnings when they are not needed. dontLink=0 nonFlagArgs=0 +cc1=0 # shellcheck disable=SC2193 [[ "@prog@" = *++ ]] && isCpp=1 || isCpp=0 cppInclude=1 @@ -68,6 +69,8 @@ while (( "$n" < "$nParams" )); do elif [[ "$p" != -?* ]]; then # A dash alone signifies standard input; it is not a flag nonFlagArgs=1 + elif [ "$p" = -cc1 ]; then + cc1=1 fi n+=1 done @@ -167,6 +170,14 @@ if [ "$*" = -v ]; then extraBefore=() fi +# clang's -cc1 mode is not compatible with most options +# that we would pass. Rather than trying to pass only +# options that would work, let's just remove all of them. +if [ "$cc1" = 1 ]; then + extraAfter=() + extraBefore=() +fi + # Optionally print debug info. if (( "${NIX_DEBUG:-0}" >= 1 )); then # Old bash workaround, see ld-wrapper for explanation. From 84441d7766063f97743262f39818cb85409cefde Mon Sep 17 00:00:00 2001 From: Craig Hall Date: Sat, 27 Jul 2019 12:48:07 +0100 Subject: [PATCH 002/129] spirv-llvm-translator: init at 8.0.1-2 --- .../spirv-llvm-translator/default.nix | 38 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/development/compilers/spirv-llvm-translator/default.nix diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix new file mode 100644 index 00000000000..1ee0b9ed0cc --- /dev/null +++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix @@ -0,0 +1,38 @@ +{ stdenv +, fetchFromGitHub +, cmake + +, lit +, llvm_8 +}: + +stdenv.mkDerivation rec { + pname = "SPIRV-LLVM-Translator"; + version = "8.0.1-2"; + + src = fetchFromGitHub { + owner = "KhronosGroup"; + repo = "SPIRV-LLVM-Translator"; + rev = "v${version}"; + sha256 = "0hxalc3fkliqs61hpr97phbm3qsx4b8vgnlg30aimzr6aas403r5"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ llvm_8 ]; + + checkInputs = [ lit ]; + + cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=ON" ]; + + # FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://github.com/KhronosGroup/SPIRV-LLVM-Translator; + description = "A tool and a library for bi-directional translation between SPIR-V and LLVM IR"; + license = licenses.ncsa; + platforms = platforms.all; + maintainers = with maintainers; [ gloaming ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d290cb592e1..31f4bb65fb0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8411,6 +8411,8 @@ in souffle = callPackage ../development/compilers/souffle { }; + spirv-llvm-translator = callPackage ../development/compilers/spirv-llvm-translator { }; + sqldeveloper = callPackage ../development/tools/database/sqldeveloper { }; # sqldeveloper_18 needs JavaFX, which currently only is available inside the From 71e11c779bdf5a0eb50f215bac7df585e2af8ab1 Mon Sep 17 00:00:00 2001 From: Craig Hall Date: Sat, 27 Jul 2019 18:33:55 +0100 Subject: [PATCH 003/129] opencl-clang: init at unstable-2019-08-16 --- .../libraries/opencl-clang/default.nix | 97 +++++++++++++++++++ .../opencl-clang/opencl-headers-dir.patch | 25 +++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 124 insertions(+) create mode 100644 pkgs/development/libraries/opencl-clang/default.nix create mode 100644 pkgs/development/libraries/opencl-clang/opencl-headers-dir.patch diff --git a/pkgs/development/libraries/opencl-clang/default.nix b/pkgs/development/libraries/opencl-clang/default.nix new file mode 100644 index 00000000000..50794863def --- /dev/null +++ b/pkgs/development/libraries/opencl-clang/default.nix @@ -0,0 +1,97 @@ +{ stdenv +, fetchFromGitHub +, fetchpatch +, cmake +, git + +, llvmPackages_8 +, spirv-llvm-translator + +, buildWithPatches ? true +}: + +let + llvmPkgs = llvmPackages_8 // { + inherit spirv-llvm-translator; + }; + + inherit (stdenv.lib) getVersion; + + addPatches = component: pkg: + with builtins; with stdenv.lib; + let path = "${passthru.patchesOut}/${component}"; + in pkg.overrideAttrs (super: { + postPatch = (if super ? postPatch then super.postPatch + "\n" else "") + '' + for p in ${path}/* + do + patch -p1 -i "$p" + done + ''; + }); + + passthru = rec { + + clang-unwrapped = addPatches "clang" llvmPkgs.clang-unwrapped; + + clang = llvmPkgs.clang.override { + cc = clang-unwrapped; + }; + + patchesOut = stdenv.mkDerivation rec { + pname = "opencl-clang-patches"; + inherit (lib) version src patches; + installPhase = '' + [ -d patches ] && cp -r patches/ $out || mkdir $out + mkdir -p $out/clang $out/spirv + ''; + }; + + spirv-llvm-translator = addPatches "spirv" llvmPkgs.spirv-llvm-translator; + + }; + + lib = let + inherit (llvmPkgs) llvm; + inherit (if buildWithPatches then passthru else llvmPkgs) clang-unwrapped spirv-llvm-translator; + in + stdenv.mkDerivation rec { + pname = "opencl-clang"; + version = "unstable-2019-08-16"; + + inherit passthru; + + src = fetchFromGitHub { + owner = "intel"; + repo = "opencl-clang"; + rev = "94af090661d7c953c516c97a25ed053c744a0737"; + sha256 = "05cg89m62nqjqm705h7gpdz4jd4hiczg8944dcjsvaybrqv3hcm5"; + }; + + patches = [ + # Build script tries to find Clang OpenCL headers under ${llvm} + # Work around it by specifying that directory manually. + ./opencl-headers-dir.patch + ]; + + nativeBuildInputs = [ cmake git ]; + + buildInputs = [ clang-unwrapped llvm spirv-llvm-translator ]; + + cmakeFlags = [ + "-DPREFERRED_LLVM_VERSION=${getVersion llvm}" + "-DOPENCL_HEADERS_DIR=${clang-unwrapped}/lib/clang/${getVersion clang-unwrapped}/include/" + + "-DLLVMSPIRV_INCLUDED_IN_LLVM=OFF" + "-DSPIRV_TRANSLATOR_DIR=${spirv-llvm-translator}" + ]; + + meta = with stdenv.lib; { + homepage = https://github.com/intel/opencl-clang/; + description = "A clang wrapper library with an OpenCL-oriented API and the ability to compile OpenCL C kernels to SPIR-V modules"; + license = licenses.ncsa; + platforms = platforms.all; + maintainers = with maintainers; [ gloaming ]; + }; + }; +in + lib diff --git a/pkgs/development/libraries/opencl-clang/opencl-headers-dir.patch b/pkgs/development/libraries/opencl-clang/opencl-headers-dir.patch new file mode 100644 index 00000000000..70343b8ee19 --- /dev/null +++ b/pkgs/development/libraries/opencl-clang/opencl-headers-dir.patch @@ -0,0 +1,25 @@ +diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt +index 3dd2ea4..aeae6e9 100644 +--- a/cl_headers/CMakeLists.txt ++++ b/cl_headers/CMakeLists.txt +@@ -11,12 +11,14 @@ add_custom_command( + ) + endfunction(copy_file) + +-if(USE_PREBUILT_LLVM) +- set(OPENCL_HEADERS_DIR +- "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/") +-else(USE_PREBUILT_LLVM) +- set(OPENCL_HEADERS_DIR "${CLANG_SOURCE_DIR}/lib/Headers") +-endif(USE_PREBUILT_LLVM) ++if(NOT DEFINED OPENCL_HEADERS_DIR) ++ if(USE_PREBUILT_LLVM) ++ set(OPENCL_HEADERS_DIR ++ "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/") ++ else(USE_PREBUILT_LLVM) ++ set(OPENCL_HEADERS_DIR "${CLANG_SOURCE_DIR}/lib/Headers") ++ endif(USE_PREBUILT_LLVM) ++endif() + copy_file(${OPENCL_HEADERS_DIR}/opencl-c.h opencl-c.h) + + add_custom_target ( diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 31f4bb65fb0..ca45f07f29b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12599,6 +12599,8 @@ in lzo = callPackage ../development/libraries/lzo { }; + opencl-clang = callPackage ../development/libraries/opencl-clang { }; + mapnik = callPackage ../development/libraries/mapnik { }; marisa = callPackage ../development/libraries/marisa {}; From 4d23dbc0296f6b6e42dc73a7f66f8410a1c513db Mon Sep 17 00:00:00 2001 From: Craig Hall Date: Sat, 27 Jul 2019 19:27:00 +0100 Subject: [PATCH 004/129] intel-graphics-compiler: init at 1.0.10 --- .../intel-graphics-compiler/default.nix | 73 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 75 insertions(+) create mode 100644 pkgs/development/compilers/intel-graphics-compiler/default.nix diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix new file mode 100644 index 00000000000..c8fbffcc164 --- /dev/null +++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix @@ -0,0 +1,73 @@ +{ stdenv +, fetchFromGitHub +, cmake +, pkgconfig + +, bison +, flex +, llvmPackages_8 +, opencl-clang +, python +, spirv-llvm-translator + +, buildWithPatches ? true +}: + +let + llvmPkgs = llvmPackages_8 // { + inherit spirv-llvm-translator; + }; + inherit (llvmPkgs) llvm; + inherit (if buildWithPatches then opencl-clang else llvmPkgs) clang clang-unwrapped spirv-llvm-translator; + inherit (stdenv.lib) getVersion optional optionals versionOlder versions; +in + +stdenv.mkDerivation rec { + pname = "intel-graphics-compiler"; + version = "1.0.10"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "intel-graphics-compiler"; + rev = "igc-${version}"; + sha256 = "1yqd2zvvvxxxzb5d3v0f03n0jdivid5l2cj11dw7ff7xz7jwiv2i"; + }; + + nativeBuildInputs = [ clang cmake bison flex llvm python ]; + + buildInputs = [ clang opencl-clang spirv-llvm-translator ]; + + # checkInputs = [ lit pythonPackages.nose ]; + + # FIXME: How do we run the test suite? + # https://github.com/intel/intel-graphics-compiler/issues/98 + doCheck = false; + + # Handholding the braindead build script + # We put this in a derivation because the cmake requires an absolute path + prebuilds = stdenv.mkDerivation { + name = "igc-cclang-prebuilds"; + phases = [ "installPhase" ]; + installPhase = '' + mkdir $out + ln -s ${clang}/bin/clang $out/ + ln -s clang $out/clang-${versions.major (getVersion clang)} + ln -s ${opencl-clang}/lib/* $out/ + ln -s ${clang-unwrapped}/lib/clang/${getVersion clang}/include/opencl-c.h $out/ + ''; + }; + + cmakeFlags = [ + "-DCCLANG_BUILD_PREBUILDS=ON" + "-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}" + "-DIGC_PREFERRED_LLVM_VERSION=${getVersion llvm}" + ]; + + meta = with stdenv.lib; { + homepage = https://github.com/intel/intel-graphics-compiler; + description = "LLVM-based compiler for OpenCL targeting Intel Gen graphics hardware"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ gloaming ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ca45f07f29b..4057d391992 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7915,6 +7915,8 @@ in idris = idrisPackages.with-packages [ idrisPackages.base ] ; + intel-graphics-compiler = callPackage ../development/compilers/intel-graphics-compiler { }; + intercal = callPackage ../development/compilers/intercal { }; irony-server = callPackage ../development/tools/irony-server { From 58b80af2ad78b34a794c4303da2aac70b402f15a Mon Sep 17 00:00:00 2001 From: Craig Hall Date: Sat, 27 Jul 2019 19:33:50 +0100 Subject: [PATCH 005/129] intel-compute-runtime: init at 19.34.13959 --- .../linux/intel-compute-runtime/default.nix | 57 +++++++++++++++++++ .../linux/intel-compute-runtime/etc-dir.patch | 15 +++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 74 insertions(+) create mode 100644 pkgs/os-specific/linux/intel-compute-runtime/default.nix create mode 100644 pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch diff --git a/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/pkgs/os-specific/linux/intel-compute-runtime/default.nix new file mode 100644 index 00000000000..5021d12acec --- /dev/null +++ b/pkgs/os-specific/linux/intel-compute-runtime/default.nix @@ -0,0 +1,57 @@ +{ stdenv +, fetchFromGitHub +, patchelf +, cmake +, pkgconfig + +, intel-gmmlib +, intel-graphics-compiler +, libva +}: + +stdenv.mkDerivation rec { + pname = "intel-compute-runtime"; + version = "19.34.13959"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "compute-runtime"; + rev = version; + sha256 = "1m54w5p5pilrkmlmqgvgrsm3d5dqfdr4jai5siq5ccsqj4gnv1wz"; + }; + + # Build script tries to write the ICD to /etc + patches = [ ./etc-dir.patch ]; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ intel-gmmlib intel-graphics-compiler libva ]; + + cmakeFlags = [ + "-DSKIP_UNIT_TESTS=1" + + "-DIGC_DIR=${intel-graphics-compiler}" + "-DETC_DIR=${placeholder "out"}/etc" + + # The install script assumes this path is relative to CMAKE_INSTALL_PREFIX + "-DCMAKE_INSTALL_LIBDIR=lib" + ]; + + postInstall = '' + # Avoid clash with intel-ocl + mv $out/etc/OpenCL/vendors/intel.icd $out/etc/OpenCL/vendors/intel-neo.icd + ''; + + postFixup = '' + patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ intel-gmmlib intel-graphics-compiler libva ]} \ + $out/lib/intel-opencl/libigdrcl.so + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/intel/compute-runtime; + description = "Intel Graphics Compute Runtime for OpenCL. Replaces Beignet for Gen8 (Broadwell) and beyond."; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ gloaming ]; + }; +} diff --git a/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch b/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch new file mode 100644 index 00000000000..d9a80ffa6f9 --- /dev/null +++ b/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch @@ -0,0 +1,15 @@ +diff --git a/package.cmake b/package.cmake +index 24960d5..e9a21e7 100644 +--- a/package.cmake ++++ b/package.cmake +@@ -24,7 +24,9 @@ if(UNIX) + + get_os_release_info(os_name os_version) + +- if("${os_name}" STREQUAL "clear-linux-os") ++ if(DEFINED ETC_DIR) ++ set(_dir_etc ${ETC_DIR}) ++ elseif("${os_name}" STREQUAL "clear-linux-os") + # clear-linux-os distribution avoids /etc for distribution defaults. + set(_dir_etc "/usr/share/defaults/etc") + else() diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4057d391992..9b3791ea897 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15586,6 +15586,8 @@ in intel2200BGFirmware = callPackage ../os-specific/linux/firmware/intel2200BGFirmware { }; + intel-compute-runtime = callPackage ../os-specific/linux/intel-compute-runtime { }; + intel-ocl = callPackage ../os-specific/linux/intel-ocl { }; iomelt = callPackage ../os-specific/linux/iomelt { }; From 4deb74b760d43d28e9ce6c32fc54aa83cfffa684 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Mon, 19 Aug 2019 20:20:27 +0300 Subject: [PATCH 006/129] iptables-compat: init iptables with nftables compatibility --- pkgs/os-specific/linux/iptables/default.nix | 34 +++++++++++++++------ pkgs/top-level/all-packages.nix | 4 ++- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index cf06ff35325..6b25342ed4c 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -1,32 +1,48 @@ -{ stdenv, fetchurl, bison, flex, pkgconfig, pruneLibtoolFiles -, libnetfilter_conntrack, libnftnl, libmnl, libpcap }: +{ stdenv, fetchurl, pkgconfig, pruneLibtoolFiles, flex, bison +, libmnl, libnetfilter_conntrack, libnfnetlink, libnftnl, libpcap +, modeCompat ? false +}: + +with stdenv.lib; stdenv.mkDerivation rec { - pname = "iptables"; version = "1.8.3"; + pname = "iptables"; src = fetchurl { url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2"; sha256 = "106xkkg5crsscjlinxvqvprva23fwwqfgrzl8m2nn841841sqg52"; }; - nativeBuildInputs = [ bison flex pkgconfig pruneLibtoolFiles ]; + nativeBuildInputs = [ pkgconfig pruneLibtoolFiles flex bison ]; - buildInputs = [ libnetfilter_conntrack libnftnl libmnl libpcap ]; + buildInputs = [ libmnl libnetfilter_conntrack libnfnetlink libnftnl libpcap ]; preConfigure = '' export NIX_LDFLAGS="$NIX_LDFLAGS -lmnl -lnftnl" ''; configureFlags = [ - "--enable-devel" - "--enable-shared" "--enable-bpf-compiler" - ]; + "--enable-devel" + "--enable-libipq" + "--enable-nfsynproxy" + "--enable-shared" + ] ++ optional (!modeCompat) "--disable-nftables"; outputs = [ "out" "dev" ]; - meta = with stdenv.lib; { + postInstall = optional modeCompat '' + rm $out/sbin/{iptables,iptables-restore,iptables-save,ip6tables,ip6tables-restore,ip6tables-save} + ln -sv xtables-nft-multi $out/bin/iptables + ln -sv xtables-nft-multi $out/bin/iptables-restore + ln -sv xtables-nft-multi $out/bin/iptables-save + ln -sv xtables-nft-multi $out/bin/ip6tables + ln -sv xtables-nft-multi $out/bin/ip6tables-restore + ln -sv xtables-nft-multi $out/bin/ip6tables-save + ''; + + meta = { description = "A program to configure the Linux IP packet filtering ruleset"; homepage = https://www.netfilter.org/projects/iptables/index.html; platforms = platforms.linux; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a0205c331b8..f946f432ae4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15629,7 +15629,9 @@ in iputils = callPackage ../os-specific/linux/iputils { }; - iptables = callPackage ../os-specific/linux/iptables { }; + iptables = iptables-legacy; + iptables-legacy = callPackage ../os-specific/linux/iptables { }; + iptables-compat = callPackage ../os-specific/linux/iptables { modeCompat = true; }; iptstate = callPackage ../os-specific/linux/iptstate { } ; From 32f6ce33eda127e643e9232863749b28a8429e17 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Mon, 19 Aug 2019 20:21:24 +0300 Subject: [PATCH 007/129] nixos/firewall: add package option --- nixos/modules/services/networking/firewall.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index 5b3aa19af3b..a1755fd84d4 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -331,6 +331,16 @@ in ''; }; + package = mkOption { + type = types.package; + default = pkgs.iptables; + example = pkgs.iptables-compat; + description = + '' + The iptables package to use for running the firewall service." + ''; + }; + logRefusedConnections = mkOption { type = types.bool; default = true; @@ -536,7 +546,7 @@ in networking.firewall.trustedInterfaces = [ "lo" ]; - environment.systemPackages = [ pkgs.iptables ] ++ cfg.extraPackages; + environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages; boot.kernelModules = (optional cfg.autoLoadConntrackHelpers "nf_conntrack") ++ map (x: "nf_conntrack_${x}") cfg.connectionTrackingModules; @@ -555,7 +565,7 @@ in before = [ "network-pre.target" ]; after = [ "systemd-modules-load.service" ]; - path = [ pkgs.iptables ] ++ cfg.extraPackages; + path = [ cfg.package ] ++ cfg.extraPackages; # FIXME: this module may also try to load kernel modules, but # containers don't have CAP_SYS_MODULE. So the host system had From 46cbb8453afa5b74612ffd795cfbcab71e3d141a Mon Sep 17 00:00:00 2001 From: Ivan Kozik Date: Fri, 30 Aug 2019 19:54:08 +0000 Subject: [PATCH 008/129] mpv, ffmpeg: use addOpenGLRunpath to fix CUDA-accelerated playback This fixes #67780. Currently, using `mpv --hwdec=nvdec --msg-level=vd=debug` on NVIDIA results in: ``` [vd] Opening decoder hevc [vd] Looking at hwdec hevc-nvdec... Cannot load libcuda.so.1 [vd] Could not create device. [vd] No hardware decoding available for this codec. ``` With just mpv patched, ffmpeg cannot load libnvcuvid.so.1: ``` [vd] Opening decoder hevc [vd] Looking at hwdec hevc-nvdec... [vd] Trying hardware decoding via hevc-nvdec. [vd] Selected codec: hevc (HEVC (High Efficiency Video Coding)) [vd] Pixel formats supported by decoder: vaapi_vld cuda yuv420p10le [vd] Codec profile: Main 10 (0x2) [vd] Requesting pixfmt 'cuda' from decoder. [ffmpeg/video] hevc: Cannot load libnvcuvid.so.1 [ffmpeg/video] hevc: Failed loading nvcuvid. [ffmpeg/video] hevc: Failed setup for format cuda: hwaccel initialisation returned error. ``` With both mpv and ffmpeg patched, it works: ``` [vd] Opening decoder hevc [vd] Looking at hwdec hevc-nvdec... [vd] Trying hardware decoding via hevc-nvdec. [vd] Selected codec: hevc (HEVC (High Efficiency Video Coding)) [vd] Pixel formats supported by decoder: vaapi_vld cuda yuv420p10le [vd] Codec profile: Main 10 (0x2) [vd] Requesting pixfmt 'cuda' from decoder. Using hardware decoding (nvdec). [vd] Decoder format: 3840x2160 cuda[p010] bt.2020-ncl/bt.2020/pq/limited/auto SP=10.000000 CL=unknown (auto 0.000000/0.000000/0.000000) ``` --- pkgs/applications/video/mpv/default.nix | 15 ++++++++++----- pkgs/development/libraries/ffmpeg/generic.nix | 10 +++++++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index bb0b92eee03..2a8a0a64274 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,6 +1,6 @@ { config, stdenv, fetchurl, fetchFromGitHub, makeWrapper -, docutils, perl, pkgconfig, python3, which, ffmpeg_4 -, freefont_ttf, freetype, libass, libpthreadstubs, mujs +, addOpenGLRunpath, docutils, perl, pkgconfig, python3, which +, ffmpeg_4, freefont_ttf, freetype, libass, libpthreadstubs, mujs , nv-codec-headers, lua, libuchardet, libiconv ? null, darwin , waylandSupport ? stdenv.isLinux @@ -135,8 +135,7 @@ in stdenv.mkDerivation rec { ''; nativeBuildInputs = [ - docutils makeWrapper perl - pkgconfig python3 which + addOpenGLRunpath docutils makeWrapper perl pkgconfig python3 which ]; buildInputs = [ @@ -214,11 +213,17 @@ in stdenv.mkDerivation rec { ${wrapperFlags} ''; + # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found. + # See the explanation in addOpenGLRunpath. + postFixup = optionalString stdenv.isLinux '' + addOpenGLRunpath $out/bin/.mpv-wrapped + ''; + meta = with stdenv.lib; { description = "A media player that supports many video formats (MPlayer and mplayer2 fork)"; homepage = https://mpv.io; license = licenses.gpl2Plus; - maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ]; + maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ivan ]; platforms = platforms.darwin ++ platforms.linux; longDescription = '' diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 4c0ca0210cc..b3310e44ae0 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, perl, texinfo, yasm +{ stdenv, fetchurl, pkgconfig, addOpenGLRunpath, perl, texinfo, yasm , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg , libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr , x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d @@ -42,7 +42,7 @@ let inherit (stdenv) isDarwin isFreeBSD isLinux isAarch32; - inherit (stdenv.lib) optional optionals enableFeature; + inherit (stdenv.lib) optional optionals optionalString enableFeature; cmpVer = builtins.compareVersions; reqMin = requiredVersion: (cmpVer requiredVersion branch != 1); @@ -157,7 +157,7 @@ stdenv.mkDerivation rec { "--enable-cross-compile" ] ++ optional stdenv.cc.isClang "--cc=clang"; - nativeBuildInputs = [ perl pkgconfig texinfo yasm ]; + nativeBuildInputs = [ addOpenGLRunpath perl pkgconfig texinfo yasm ]; buildInputs = [ bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora @@ -186,6 +186,10 @@ stdenv.mkDerivation rec { substituteInPlace $pc \ --replace "includedir=$out" "includedir=''${!outputInclude}" done + '' + optionalString stdenv.isLinux '' + # Set RUNPATH so that libnvcuvid in /run/opengl-driver(-32)/lib can be found. + # See the explanation in addOpenGLRunpath. + addOpenGLRunpath $out/lib/libavcodec.so* ''; installFlags = [ "install-man" ]; From 5f3d43fedfa12ad555fd3ebdac8601db924aa803 Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Mon, 9 Sep 2019 10:35:26 +0200 Subject: [PATCH 009/129] pythonPackages.pyopenssl: add missing six dependency It might have been there as a transitive dependency but better be explicity about it. --- pkgs/development/python-modules/pyopenssl/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix index ec17b77ba20..018463ead54 100644 --- a/pkgs/development/python-modules/pyopenssl/default.nix +++ b/pkgs/development/python-modules/pyopenssl/default.nix @@ -9,6 +9,7 @@ , pretend , flaky , glibcLocales +, six }: with stdenv.lib; @@ -84,7 +85,7 @@ buildPythonPackage rec { doCheck = !stdenv.isDarwin; nativeBuildInputs = [ openssl ]; - propagatedBuildInputs = [ cryptography pyasn1 idna ]; + propagatedBuildInputs = [ cryptography pyasn1 idna six ]; checkInputs = [ pytest pretend flaky glibcLocales ]; } From 4fdbdcede0af0ab70d94eecb5358225b1a04407f Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Mon, 9 Sep 2019 10:44:39 +0200 Subject: [PATCH 010/129] google-cloud-sdk: prefer using a pythonEnv vs just a search path Previously only direct dependencies were available in the python search path. Transitive dependencies would not be available and thus a few features would not work due to import errors. Those import errors were being caugth and gave a (wrong) hint why it wouldn't work. By using `python.withPackages` instead of the crafted search path with only the direct dependencies those missing feature should now be working. See issue #67094 for details on the observed errors. Fixes #67094 --- pkgs/tools/admin/google-cloud-sdk/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix index 7c81e861ddb..5b701600dd1 100644 --- a/pkgs/tools/admin/google-cloud-sdk/default.nix +++ b/pkgs/tools/admin/google-cloud-sdk/default.nix @@ -13,7 +13,7 @@ let pythonInputs = [ cffi cryptography pyopenssl crcmod ] ++ lib.optional (with-gce) google-compute-engine; - pythonPath = lib.makeSearchPath python.sitePackages pythonInputs; + pythonEnv = python.withPackages (_: pythonInputs); baseUrl = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads"; sources = name: system: { @@ -53,8 +53,8 @@ in stdenv.mkDerivation rec { programPath="$out/google-cloud-sdk/bin/$program" binaryPath="$out/bin/$program" wrapProgram "$programPath" \ - --set CLOUDSDK_PYTHON "${python}/bin/python" \ - --prefix PYTHONPATH : "${pythonPath}" + --set CLOUDSDK_PYTHON "${pythonEnv}/bin/python" \ + --prefix PYTHONPATH : "${pythonEnv}/${python.sitePackages}" mkdir -p $out/bin ln -s $programPath $binaryPath From e023b3b1d935270699c91f626c1062abd7832ef7 Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Mon, 9 Sep 2019 15:36:26 +0200 Subject: [PATCH 011/129] google-cloud-sdk: remove from python-modules It is not a python module just an application using/based on python. --- pkgs/tools/admin/google-cloud-sdk/default.nix | 12 +++++++----- pkgs/top-level/all-packages.nix | 4 ++-- pkgs/top-level/python-packages.nix | 3 --- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix index 5b701600dd1..feb0b996b61 100644 --- a/pkgs/tools/admin/google-cloud-sdk/default.nix +++ b/pkgs/tools/admin/google-cloud-sdk/default.nix @@ -7,13 +7,15 @@ # 3) used by `google-cloud-sdk` only on GCE guests # -{ stdenv, lib, fetchurl, makeWrapper, python, cffi, cryptography, pyopenssl, - crcmod, google-compute-engine, with-gce ? false }: +{ stdenv, lib, fetchurl, makeWrapper, python, with-gce ? false }: let - pythonInputs = [ cffi cryptography pyopenssl crcmod ] - ++ lib.optional (with-gce) google-compute-engine; - pythonEnv = python.withPackages (_: pythonInputs); + pythonEnv = python.withPackages (p: with p; [ + cffi + cryptography + pyopenssl + crcmod + ] ++ lib.optional (with-gce) google-compute-engine); baseUrl = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads"; sources = name: system: { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 45acba9fb26..9c3e76484b5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3505,8 +3505,8 @@ in google-authenticator = callPackage ../os-specific/linux/google-authenticator { }; - google-cloud-sdk = python2.pkgs.google-cloud-sdk; - google-cloud-sdk-gce = python2.pkgs.google-cloud-sdk-gce; + google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { }; + google-cloud-sdk-gce = google-cloud-sdk.override { with-gce = true; }; google-fonts = callPackage ../data/fonts/google-fonts { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2e0ff367f9e..410a3ba9c17 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2376,9 +2376,6 @@ in { python-gitlab = callPackage ../development/python-modules/python-gitlab { }; - google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { }; - google-cloud-sdk-gce = callPackage ../tools/admin/google-cloud-sdk { with-gce=true; }; - google-compute-engine = callPackage ../tools/virtualization/google-compute-engine { }; google-music = callPackage ../development/python-modules/google-music { }; From dc45fc4ca23e09b17ac36d4d95b464686b51f9b4 Mon Sep 17 00:00:00 2001 From: Allan Odgaard Date: Mon, 9 Sep 2019 19:15:59 +0200 Subject: [PATCH 012/129] =?UTF-8?q?Install=20git=E2=80=99s=20bash=20comple?= =?UTF-8?q?tion=20so=20that=20it=20is=20loaded=20on=20demand?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Putting the file in $out/share/bash-completion/completions means that it will be loaded on demand by nixpkgs.bash-completion. With the old location, the user would either have to explicitly source the file during bash startup, or set BASH_COMPLETION_COMPAT_DIR before sourcing bash_completion.sh, which will eagerly load everything in that directory. --- .../version-management/git-and-tools/git/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 3a4fcc09934..9e8c1241585 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -141,8 +141,9 @@ stdenv.mkDerivation { cp -a contrib $out/share/git/ mkdir -p $out/share/emacs/site-lisp ln -s "$out/share/git/contrib/emacs/"*.el $out/share/emacs/site-lisp/ + mkdir -p $out/share/bash-completion/completions + ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/git mkdir -p $out/etc/bash_completion.d - ln -s $out/share/git/contrib/completion/git-completion.bash $out/etc/bash_completion.d/ ln -s $out/share/git/contrib/completion/git-prompt.sh $out/etc/bash_completion.d/ # grep is a runtime dependency, need to patch so that it's found From a9dcb0276c14fe2ddfb134b2c403e5881e1b2bd8 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 9 Sep 2019 23:56:18 -0400 Subject: [PATCH 013/129] man-db: set less as default pager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is the default on most systems, most users want this one. The value can still be overriden with the “PAGER” value. --- pkgs/tools/misc/man-db/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix index df1a2daddb9..a8fb7eea97c 100644 --- a/pkgs/tools/misc/man-db/default.nix +++ b/pkgs/tools/misc/man-db/default.nix @@ -38,6 +38,7 @@ stdenv.mkDerivation rec { "--with-config-file=${placeholder "out"}/etc/man_db.conf" "--with-systemdtmpfilesdir=${placeholder "out"}/lib/tmpfiles.d" "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" + "--with-pager=less" ] ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin [ "ac_cv_func__set_invalid_parameter_handler=no" "ac_cv_func_posix_fadvise=no" From e7ede726ba80291acfbc66808d0d06fde3aab42d Mon Sep 17 00:00:00 2001 From: Nick Spinale Date: Thu, 12 Sep 2019 19:16:58 +0000 Subject: [PATCH 014/129] cacert: simplify setupHook Triggering this setupHook for dependencies at targetOffset does not work in cross-compilation cases where such a dependency is lacking. This simplified setupHook is more robust. --- pkgs/data/misc/cacert/setup-hook.sh | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkgs/data/misc/cacert/setup-hook.sh b/pkgs/data/misc/cacert/setup-hook.sh index e969596752f..77b68a5c251 100644 --- a/pkgs/data/misc/cacert/setup-hook.sh +++ b/pkgs/data/misc/cacert/setup-hook.sh @@ -1,7 +1,3 @@ -cacertHook() { - export NIX_SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt - # left for compatibility - export SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt -} - -addEnvHooks "$targetOffset" cacertHook +export NIX_SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt +# left for compatibility +export SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt From 0d287a2786f3194041136cd1cfd5f0ef1a727b56 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 13 Sep 2019 07:05:38 -0500 Subject: [PATCH 015/129] dhcpcd: 8.0.3 -> 8.0.6 https://roy.marples.name/blog/dhcpcd-8-0-6-released --- pkgs/tools/networking/dhcpcd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index dfc56d440e6..0827f2eac7b 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { # when updating this to >=7, check, see previous reverts: # nix-build -A nixos.tests.networking.scripted.macvlan.x86_64-linux nixos/release-combined.nix pname = "dhcpcd"; - version = "8.0.3"; + version = "8.0.6"; src = fetchurl { url = "mirror://roy/${pname}/${pname}-${version}.tar.xz"; - sha256 = "07cg0sp8sk9b6ch2ajmvkbn6z08bgyx8xbd004s5mkasrlgrfx4n"; + sha256 = "0kxxpb79j564m6bjvjb9gsn0yzs13c0arfgsycm51gw3xnch3db6"; }; nativeBuildInputs = [ pkgconfig ]; From 7d2ec5eeb8f3a9d5edb9a92633ba4c2b948f0008 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 11 Sep 2019 21:17:30 -0500 Subject: [PATCH 016/129] openconnect: 8.04 -> 8.05 (security!) https://www.infradead.org/openconnect/changelog.html ( CVE-2019-16239 ) --- pkgs/tools/networking/openconnect/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/openconnect/default.nix b/pkgs/tools/networking/openconnect/default.nix index 7e614629484..7244653e493 100644 --- a/pkgs/tools/networking/openconnect/default.nix +++ b/pkgs/tools/networking/openconnect/default.nix @@ -4,13 +4,13 @@ assert (openssl != null) == (gnutls == null); stdenv.mkDerivation rec { pname = "openconnect"; - version = "8.04"; + version = "8.05"; src = fetchurl { urls = [ "ftp://ftp.infradead.org/pub/openconnect/${pname}-${version}.tar.gz" ]; - sha256 = "07zqcl2ykdc4mgix9sbv4jgpg7cybifxfgrycvf99ckq7xp9r5wq"; + sha256 = "14i9q727c2zc9xhzp1a9hz3gzb5lwgsslbhircm84dnbs192jp1k"; }; outputs = [ "out" "dev" ]; From f0b80242da113a21ed5040d34468afe5ccfe65fa Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 10 Sep 2019 17:08:48 -0500 Subject: [PATCH 017/129] libuv: 1.30.1 -> 1.32.0 https://github.com/libuv/libuv/releases/tag/v1.32.0 https://github.com/libuv/libuv/releases/tag/v1.31.0 --- pkgs/development/libraries/libuv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 07f99a058d8..f9b49a46ebf 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -1,14 +1,14 @@ { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, ApplicationServices, CoreServices }: stdenv.mkDerivation rec { - version = "1.30.1"; + version = "1.32.0"; pname = "libuv"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "16l207g9qwckxn0vnbnwiybhw6083imdwyfd6ipfsl44b1m8jmf7"; + sha256 = "1ifazxr5ssw2ay6j66acaxgfwq0x8130fvsyjs1wxvf2r9g4ds9w"; }; postPatch = let From 4a4586839e1bb3cbb87980730bc01894f7be7fd4 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 10 Sep 2019 17:06:20 -0500 Subject: [PATCH 018/129] openresolv: 3.9.1 -> 3.9.2 https://roy.marples.name/blog/openresolv-3-9-2-released --- pkgs/tools/networking/openresolv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix index 73cb98060a0..190c903d9c1 100644 --- a/pkgs/tools/networking/openresolv/default.nix +++ b/pkgs/tools/networking/openresolv/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "openresolv"; - version = "3.9.1"; + version = "3.9.2"; src = fetchurl { url = "mirror://roy/openresolv/${pname}-${version}.tar.xz"; - sha256 = "1wlzi88837rf4ygswmzpbcmgkbbjhn5n322n9q6ir6x367hygf1q"; + sha256 = "0wyk9sl1xgvxjvj1v3nlgs79nykdr0b76k5zp3v6cm9fd10y5mql"; }; buildInputs = [ makeWrapper ]; From 1ff3a0c4986befbda79b108103496fa4f846fd9a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 13 Sep 2019 19:02:38 -0400 Subject: [PATCH 019/129] networkmanager: 1.18.2 -> 1.20.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libnm-glib is gone 👋️ * correct dbus_conf_dir * remove legacy service symlink * upstream defaults to 'internal' for dhcp NixOS module reflects this. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/blob/1.20.2/NEWS --- .../services/networking/networkmanager.nix | 2 +- .../networking/network-manager/default.nix | 32 +++++++++---------- .../network-manager/fix-install-paths.patch | 8 +++-- .../network-manager/fix-paths.patch | 28 ++++++++++------ 4 files changed, 40 insertions(+), 30 deletions(-) diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index bef0ff36567..6ed723e704d 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -195,7 +195,7 @@ in { dhcp = mkOption { type = types.enum [ "dhclient" "dhcpcd" "internal" ]; - default = "dhclient"; + default = "internal"; description = '' Which program (or internal library) should be used for DHCP. ''; diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix index 490ebd0fa6b..ffa56363ad6 100644 --- a/pkgs/tools/networking/network-manager/default.nix +++ b/pkgs/tools/networking/network-manager/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, dbus, dbus-glib +{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, fetchpatch, dbus , gnome3, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables, python3, vala , libgcrypt, dnsmasq, bluez5, readline, libselinux, audit , gobject-introspection, modemmanager, openresolv, libndp, newt, libsoup @@ -10,11 +10,11 @@ let pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]); in stdenv.mkDerivation rec { pname = "network-manager"; - version = "1.18.2"; + version = "1.20.2"; src = fetchurl { url = "mirror://gnome/sources/NetworkManager/${stdenv.lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; - sha256 = "1hx5dx5dgdqh3p8fq7q1pxy2bx2iymc74lj60ycrf7ydfjlprnad"; + sha256 = "115cgz448vypc7c592lqqjd7lp2kzdczhjk4ran6qls65hzkfkji"; }; outputs = [ "out" "dev" "devdoc" "man" "doc" ]; @@ -33,7 +33,7 @@ in stdenv.mkDerivation rec { # to enable link-local connections "-Dudev_dir=${placeholder "out"}/lib/udev" "-Dresolvconf=${openresolv}/bin/resolvconf" - "-Ddbus_conf_dir=${placeholder "out"}/etc/dbus-1/system.d" + "-Ddbus_conf_dir=${placeholder "out"}/share/dbus-1/system.d" "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system" "-Dkernel_firmware_dir=/run/current-system/firmware" "--sysconfdir=/etc" @@ -43,8 +43,6 @@ in stdenv.mkDerivation rec { "-Dmodem_manager=true" "-Dnmtui=true" "-Ddocs=true" - # TODO: legacy library, will be *removed* in next release! - "-Dlibnm_glib=true" "-Dtests=no" "-Dqt=false" # Allow using iwd when configured to do so @@ -53,6 +51,15 @@ in stdenv.mkDerivation rec { ]; patches = [ + # 1.20.2 added a decorators.sh script but they forgot to distribute it (breaking the build) + # as it was to fix things with gtk-doc 1.32 we can safely revert it. + (fetchpatch { + url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/2d941dc95a1d94d023ac8f98df2f344dbb1d223e.patch"; + sha256 = "1mvbajddwd6diwk6dgjg5p65i6852gx6b9p3949rs63d2i6yzg21"; + excludes = [ "tools/decorators.sh" ]; + revert = true; + }) + (substituteAll { src = ./fix-paths.patch; inherit iputils kmod openconnect ethtool gnused dbus; @@ -69,19 +76,17 @@ in stdenv.mkDerivation rec { bluez5 dnsmasq gobject-introspection modemmanager readline newt libsoup jansson ]; - propagatedBuildInputs = [ dbus-glib gnutls libgcrypt ]; + propagatedBuildInputs = [ gnutls libgcrypt ]; nativeBuildInputs = [ meson ninja intltool pkgconfig - vala gobject-introspection - dbus-glib # for dbus-binding-tool + vala gobject-introspection dbus # Docs gtk-doc libxslt docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 pythonForDocs ]; doCheck = false; # requires /sys, the net - postPatch = '' patchShebangs ./tools patchShebangs libnm/generate-setting-docs.py @@ -96,13 +101,6 @@ in stdenv.mkDerivation rec { ln -s $PWD/libnm/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0 ''; - postInstall = '' - # Add the legacy service name from before #51382 to prevent NetworkManager - # from not starting back up: - # TODO: remove this once 19.10 is released - ln -s $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/network-manager.service - ''; - passthru = { updateScript = gnome3.updateScript { packageName = pname; diff --git a/pkgs/tools/networking/network-manager/fix-install-paths.patch b/pkgs/tools/networking/network-manager/fix-install-paths.patch index 068b9c8266b..5798c1edfb6 100644 --- a/pkgs/tools/networking/network-manager/fix-install-paths.patch +++ b/pkgs/tools/networking/network-manager/fix-install-paths.patch @@ -1,6 +1,8 @@ +diff --git a/meson.build b/meson.build +index 4105a9c80..3d912557f 100644 --- a/meson.build +++ b/meson.build -@@ -925,9 +925,9 @@ +@@ -884,9 +884,9 @@ meson.add_install_script( join_paths('tools', 'meson-post-install.sh'), nm_datadir, nm_bindir, @@ -12,9 +14,11 @@ enable_docs ? 'install_docs' : '', nm_mandir, ) +diff --git a/src/settings/plugins/ifcfg-rh/meson.build b/src/settings/plugins/ifcfg-rh/meson.build +index 58acdcfcb..e3a16d597 100644 --- a/src/settings/plugins/ifcfg-rh/meson.build +++ b/src/settings/plugins/ifcfg-rh/meson.build -@@ -70,7 +70,7 @@ +@@ -69,7 +69,7 @@ install_data( ) meson.add_install_script('sh', '-c', diff --git a/pkgs/tools/networking/network-manager/fix-paths.patch b/pkgs/tools/networking/network-manager/fix-paths.patch index 938fcbdc771..015c540c0ed 100644 --- a/pkgs/tools/networking/network-manager/fix-paths.patch +++ b/pkgs/tools/networking/network-manager/fix-paths.patch @@ -1,6 +1,8 @@ +diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c +index 204b7c286..8bdb734c2 100644 --- a/clients/common/nm-vpn-helpers.c +++ b/clients/common/nm-vpn-helpers.c -@@ -214,10 +214,7 @@ +@@ -215,10 +215,7 @@ nm_vpn_openconnect_authenticate_helper (const char *host, NULL, }; @@ -10,21 +12,25 @@ - return FALSE; + path = "@openconnect@/bin/openconnect"; - argv[0] = (char *) path; - argv[1] = "--authenticate"; + if (!g_spawn_sync (NULL, + (char **) NM_MAKE_STRV (path, "--authenticate", host), +diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules +index e398cb9f2..31c56596a 100644 --- a/data/84-nm-drivers.rules +++ b/data/84-nm-drivers.rules -@@ -7,6 +7,6 @@ +@@ -7,6 +7,6 @@ ACTION!="add|change", GOTO="nm_drivers_end" # Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?) ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end" DRIVERS=="?*", GOTO="nm_drivers_end" --PROGRAM="/bin/sh -c 'ethtool -i $1 | sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c" -+PROGRAM="@shell@ -c '@ethtool@/bin/ethtool -i $1 | @gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c" +-PROGRAM="/bin/sh -c '/usr/sbin/ethtool -i $$1 |/usr/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c" ++PROGRAM="@shell@ -c '@ethtool@/bin/ethtool -i $$1 |@gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c" LABEL="nm_drivers_end" +diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in +index 2f442bf23..c3e797bf4 100644 --- a/data/NetworkManager.service.in +++ b/data/NetworkManager.service.in -@@ -8,7 +8,7 @@ +@@ -8,7 +8,7 @@ Before=network.target @DISTRO_NETWORK_SERVICE@ [Service] Type=dbus BusName=org.freedesktop.NetworkManager @@ -33,9 +39,11 @@ #ExecReload=/bin/kill -HUP $MAINPID ExecStart=@sbindir@/NetworkManager --no-daemon Restart=on-failure +diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c +index 823cf48a5..cda16e48d 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c -@@ -12451,14 +12451,14 @@ nm_device_start_ip_check (NMDevice *self) +@@ -12822,14 +12822,14 @@ nm_device_start_ip_check (NMDevice *self) gw = nm_ip4_config_best_default_route_get (priv->ip_config_4); if (gw) { nm_utils_inet4_ntop (NMP_OBJECT_CAST_IP4_ROUTE (gw)->gateway, buf); @@ -53,10 +61,10 @@ } } diff --git a/src/nm-core-utils.c b/src/nm-core-utils.c -index 6f55e62a7..93721e7fb 100644 +index d896d4d33..4cacb5cb6 100644 --- a/src/nm-core-utils.c +++ b/src/nm-core-utils.c -@@ -442,7 +442,7 @@ nm_utils_modprobe (GError **error, gboolean suppress_error_logging, const char * +@@ -446,7 +446,7 @@ nm_utils_modprobe (GError **error, gboolean suppress_error_logging, const char * /* construct the argument list */ argv = g_ptr_array_sized_new (4); From 94af997d400f72e60b1cd48c1a70be10cef7dcb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=C3=A4ssler?= Date: Mon, 9 Sep 2019 12:02:38 +0200 Subject: [PATCH 020/129] qt5.12: Add patches for QTBUG-73459 and QTBUG-69077 QT 5.12 introduced a regression, where a QT program wouldn't show its tray icon, if there was no tray bar during program startup. (QTBUG-73459) QT 5.12 introduced a regression, where qtwebengine applications would freeze in some wayland compositors if a surface from the instance was not visible (for example having a qutebrowser window on another workspace in sway would freeze all qutebrowser windows). Both got fixed already in Qt 5.12.4, but according to #57042 and its sibling issues/PRs it doesn't seem to get fixed in near future for nixpkgs. --- .../libraries/qt-5/5.12/default.nix | 5 + .../qt-5/5.12/qtbase-trayicons.patch | 175 +++++++ .../qtwayland-fix-webengine-freezeups-1.patch | 139 +++++ .../qtwayland-fix-webengine-freezeups-2.patch | 493 ++++++++++++++++++ 4 files changed, 812 insertions(+) create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase-trayicons.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-1.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-2.patch diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 7b4addd9161..a2062af65f0 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -53,6 +53,7 @@ let qtbase = [ ./qtbase.patch ./qtbase-fixguicmake.patch + ./qtbase-trayicons.patch # can be removed with 5.12.4 or 5.13 ]; qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; @@ -67,6 +68,10 @@ let ./qtwebkit-darwin-no-qos-classes.patch ]; qttools = [ ./qttools.patch ]; + qtwayland = [ + ./qtwayland-fix-webengine-freezeups-1.patch # can be removed with 5.12.4 or 5.13 + ./qtwayland-fix-webengine-freezeups-2.patch # can be removed with 5.12.4 or 5.13 + ]; }; qtModule = diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase-trayicons.patch b/pkgs/development/libraries/qt-5/5.12/qtbase-trayicons.patch new file mode 100644 index 00000000000..0376c1c96c2 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase-trayicons.patch @@ -0,0 +1,175 @@ +From 4d5e59c54a805ba4e7311fe58c9adc492ca1b35a Mon Sep 17 00:00:00 2001 +From: Alexander Volkov +Date: Mon, 4 Feb 2019 18:42:35 +0300 +Subject: [PATCH] QSystemTrayIcon/X11: Create tray icon window when system tray + appears + +... and destroy it otherwise. + +Fixes: QTBUG-61898 +Fixes: QTBUG-73459 +Done-with: Gatis Paeglis +Change-Id: I6bd8f397f7ccdb123f6a60d4fa466f7b0d760dfc +--- + src/widgets/util/qsystemtrayicon_p.h | 4 ++ + src/widgets/util/qsystemtrayicon_x11.cpp | 75 ++++++++++++++++++++++---------- + 2 files changed, 57 insertions(+), 22 deletions(-) + +diff --git a/src/widgets/util/qsystemtrayicon_p.h b/src/widgets/util/qsystemtrayicon_p.h +index 5bdf020a472..e31532ea193 100644 +--- a/src/widgets/util/qsystemtrayicon_p.h ++++ b/src/widgets/util/qsystemtrayicon_p.h +@@ -69,6 +69,7 @@ + QT_BEGIN_NAMESPACE + + class QSystemTrayIconSys; ++class QSystemTrayWatcher; + class QPlatformSystemTrayIcon; + class QToolButton; + class QLabel; +@@ -90,6 +91,8 @@ public: + void showMessage_sys(const QString &title, const QString &msg, const QIcon &icon, + QSystemTrayIcon::MessageIcon msgIcon, int msecs); + ++ void destroyIcon(); ++ + static bool isSystemTrayAvailable_sys(); + static bool supportsMessages_sys(); + +@@ -101,6 +104,7 @@ public: + QSystemTrayIconSys *sys; + QPlatformSystemTrayIcon *qpa_sys; + bool visible; ++ QSystemTrayWatcher *trayWatcher; + + private: + void install_sys_qpa(); +diff --git a/src/widgets/util/qsystemtrayicon_x11.cpp b/src/widgets/util/qsystemtrayicon_x11.cpp +index 86532456c76..70e5f3678ea 100644 +--- a/src/widgets/util/qsystemtrayicon_x11.cpp ++++ b/src/widgets/util/qsystemtrayicon_x11.cpp +@@ -92,9 +92,6 @@ protected: + virtual void resizeEvent(QResizeEvent *) override; + virtual void moveEvent(QMoveEvent *) override; + +-private slots: +- void systemTrayWindowChanged(QScreen *screen); +- + private: + QSystemTrayIcon *q; + }; +@@ -116,15 +113,6 @@ QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *qIn) + setMouseTracking(true); + } + +-void QSystemTrayIconSys::systemTrayWindowChanged(QScreen *) +-{ +- if (!locateSystemTray()) { +- QBalloonTip::hideBalloon(); +- hide(); // still no luck +- destroy(); +- } +-} +- + QRect QSystemTrayIconSys::globalGeometry() const + { + return QRect(mapToGlobal(QPoint(0, 0)), size()); +@@ -199,10 +187,41 @@ void QSystemTrayIconSys::resizeEvent(QResizeEvent *event) + } + //////////////////////////////////////////////////////////////////////////// + ++class QSystemTrayWatcher: public QObject ++{ ++ Q_OBJECT ++public: ++ QSystemTrayWatcher(QSystemTrayIcon *trayIcon) ++ : QObject(trayIcon) ++ , mTrayIcon(trayIcon) ++ { ++ // This code uses string-based syntax because we want to connect to a signal ++ // which is defined in XCB plugin - QXcbNativeInterface::systemTrayWindowChanged(). ++ connect(qGuiApp->platformNativeInterface(), SIGNAL(systemTrayWindowChanged(QScreen*)), ++ this, SLOT(systemTrayWindowChanged(QScreen*))); ++ } ++ ++private slots: ++ void systemTrayWindowChanged(QScreen *) ++ { ++ auto icon = static_cast(QObjectPrivate::get(mTrayIcon)); ++ icon->destroyIcon(); ++ if (icon->visible && locateSystemTray()) { ++ icon->sys = new QSystemTrayIconSys(mTrayIcon); ++ icon->sys->show(); ++ } ++ } ++ ++private: ++ QSystemTrayIcon *mTrayIcon = nullptr; ++}; ++//////////////////////////////////////////////////////////////////////////// ++ + QSystemTrayIconPrivate::QSystemTrayIconPrivate() + : sys(0), + qpa_sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon()), +- visible(false) ++ visible(false), ++ trayWatcher(nullptr) + { + } + +@@ -213,16 +232,21 @@ QSystemTrayIconPrivate::~QSystemTrayIconPrivate() + + void QSystemTrayIconPrivate::install_sys() + { ++ Q_Q(QSystemTrayIcon); ++ + if (qpa_sys) { + install_sys_qpa(); + return; + } +- Q_Q(QSystemTrayIcon); +- if (!sys && locateSystemTray()) { +- sys = new QSystemTrayIconSys(q); +- QObject::connect(QGuiApplication::platformNativeInterface(), SIGNAL(systemTrayWindowChanged(QScreen*)), +- sys, SLOT(systemTrayWindowChanged(QScreen*))); +- sys->show(); ++ ++ if (!sys) { ++ if (!trayWatcher) ++ trayWatcher = new QSystemTrayWatcher(q); ++ ++ if (locateSystemTray()) { ++ sys = new QSystemTrayIconSys(q); ++ sys->show(); ++ } + } + } + +@@ -241,14 +265,21 @@ void QSystemTrayIconPrivate::remove_sys() + remove_sys_qpa(); + return; + } ++ ++ destroyIcon(); ++} ++ ++void QSystemTrayIconPrivate::destroyIcon() ++{ + if (!sys) + return; + QBalloonTip::hideBalloon(); +- sys->hide(); // this should do the trick, but... +- delete sys; // wm may resize system tray only for DestroyEvents +- sys = 0; ++ sys->hide(); ++ delete sys; ++ sys = nullptr; + } + ++ + void QSystemTrayIconPrivate::updateIcon_sys() + { + if (qpa_sys) { +-- +2.16.3 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-1.patch b/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-1.patch new file mode 100644 index 00000000000..2e5a890be05 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-1.patch @@ -0,0 +1,139 @@ +From 9aced4f9571e74cc57b853598aa4b3f38d66363d Mon Sep 17 00:00:00 2001 +From: Johan Klokkhammer Helsing +Date: Thu, 1 Nov 2018 13:48:52 +0100 +Subject: [PATCH 1/2] Client: Don't be exposed if we want to create a sub or + shell surface + +Because some shells don't allow attaching buffers before configure, we need to +not be exposed until we know that we don't want a shell surface. + +Change-Id: Ida7101a99f953d02cf6401e4ea8d28cfabd6e102 +Reviewed-by: Giulio Camuffo +Reviewed-by: David Edmundson +--- + src/client/qwaylanddisplay.cpp | 13 ++++++------- + src/client/qwaylanddisplay_p.h | 6 +++--- + src/client/qwaylandwindow.cpp | 18 +++++++++++++++--- + 3 files changed, 24 insertions(+), 13 deletions(-) + +diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp +index a2957e0d..f2bd3160 100644 +--- a/src/client/qwaylanddisplay.cpp ++++ b/src/client/qwaylanddisplay.cpp +@@ -88,13 +88,6 @@ struct wl_surface *QWaylandDisplay::createSurface(void *handle) + return surface; + } + +-QWaylandShellSurface *QWaylandDisplay::createShellSurface(QWaylandWindow *window) +-{ +- if (!mWaylandIntegration->shellIntegration()) +- return nullptr; +- return mWaylandIntegration->shellIntegration()->createShellSurface(window); +-} +- + struct ::wl_region *QWaylandDisplay::createRegion(const QRegion &qregion) + { + struct ::wl_region *region = mCompositor.create_region(); +@@ -108,12 +101,18 @@ struct ::wl_region *QWaylandDisplay::createRegion(const QRegion &qregion) + ::wl_subsurface *QWaylandDisplay::createSubSurface(QWaylandWindow *window, QWaylandWindow *parent) + { + if (!mSubCompositor) { ++ qCWarning(lcQpaWayland) << "Can't create subsurface, not supported by the compositor."; + return nullptr; + } + + return mSubCompositor->get_subsurface(window->object(), parent->object()); + } + ++QWaylandShellIntegration *QWaylandDisplay::shellIntegration() const ++{ ++ return mWaylandIntegration->shellIntegration(); ++} ++ + QWaylandClientBufferIntegration * QWaylandDisplay::clientBufferIntegration() const + { + return mWaylandIntegration->clientBufferIntegration(); +diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h +index 0dd8d7af..cc6a0a72 100644 +--- a/src/client/qwaylanddisplay_p.h ++++ b/src/client/qwaylanddisplay_p.h +@@ -94,7 +94,7 @@ class QWaylandQtKeyExtension; + class QWaylandWindow; + class QWaylandIntegration; + class QWaylandHardwareIntegration; +-class QWaylandShellSurface; ++class QWaylandShellIntegration; + class QWaylandCursorTheme; + + typedef void (*RegistryListener)(void *data, +@@ -115,13 +115,13 @@ public: + QWaylandScreen *screenForOutput(struct wl_output *output) const; + + struct wl_surface *createSurface(void *handle); +- QWaylandShellSurface *createShellSurface(QWaylandWindow *window); + struct ::wl_region *createRegion(const QRegion &qregion); + struct ::wl_subsurface *createSubSurface(QWaylandWindow *window, QWaylandWindow *parent); + ++ QWaylandShellIntegration *shellIntegration() const; + QWaylandClientBufferIntegration *clientBufferIntegration() const; +- + QWaylandWindowManagerIntegration *windowManagerIntegration() const; ++ + #if QT_CONFIG(cursor) + void setCursor(struct wl_buffer *buffer, struct wl_cursor_image *image, qreal dpr); + void setCursor(const QSharedPointer &buffer, const QPoint &hotSpot, qreal dpr); +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index 4ac2ca51..600ea1df 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -50,6 +50,7 @@ + #include "qwaylandnativeinterface_p.h" + #include "qwaylanddecorationfactory_p.h" + #include "qwaylandshmbackingstore_p.h" ++#include "qwaylandshellintegration_p.h" + + #if QT_CONFIG(wayland_datadevice) + #include "qwaylanddatadevice_p.h" +@@ -138,8 +139,9 @@ void QWaylandWindow::initWindow() + } + } else if (shouldCreateShellSurface()) { + Q_ASSERT(!mShellSurface); ++ Q_ASSERT(mDisplay->shellIntegration()); + +- mShellSurface = mDisplay->createShellSurface(this); ++ mShellSurface = mDisplay->shellIntegration()->createShellSurface(this); + if (mShellSurface) { + // Set initial surface title + setWindowTitle(window()->title()); +@@ -211,6 +213,9 @@ void QWaylandWindow::initializeWlSurface() + + bool QWaylandWindow::shouldCreateShellSurface() const + { ++ if (!mDisplay->shellIntegration()) ++ return false; ++ + if (shouldCreateSubSurface()) + return false; + +@@ -963,9 +968,16 @@ void QWaylandWindow::unfocus() + + bool QWaylandWindow::isExposed() const + { ++ if (!window()->isVisible()) ++ return false; ++ + if (mShellSurface) +- return window()->isVisible() && mShellSurface->isExposed(); +- return QPlatformWindow::isExposed(); ++ return mShellSurface->isExposed(); ++ ++ if (mSubSurfaceWindow) ++ return mSubSurfaceWindow->parent()->isExposed(); ++ ++ return !(shouldCreateShellSurface() || shouldCreateSubSurface()); + } + + bool QWaylandWindow::isActive() const +-- +2.22.0 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-2.patch b/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-2.patch new file mode 100644 index 00000000000..b1a8d6c9ae0 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-2.patch @@ -0,0 +1,493 @@ +From d85beeb65820d6e5733f88af63b15f77d03aa6ba Mon Sep 17 00:00:00 2001 +From: Johan Klokkhammer Helsing +Date: Mon, 28 Jan 2019 09:48:26 +0100 +Subject: [PATCH 2/2] Client: Full implementation for frame callbacks (second + try) + +The Wayland plugin now takes full control over delivering update request and +implement frame callbacks for both egl and shm. + +[ChangeLog][QPA plugin] The non-blocking version of eglSwapBuffers is now used, if +supported. This fixed a bug where minimized windows would block the event loop. + +[ChangeLog][QPA plugin] Windows that don't get frame callbacks from the +compositor within 100 ms are now set as not exposed. This should stop most +clients from rendering unnecessary frames to minimized or hidden windows. + +Also, when we relied on the QPA version of requestUpdate, we would sometimes +deliver one update request while we were waiting for a frame callback. When we +implement the fallback timer ourselves we can make sure we only deliver the +fallback if there are no pending frame callbacks. + +QtQuick and other applications often depend on blocking swapBuffers to throttle +animations. If the context's surface format has a non-zero swapInterval, try to +emulate a blocking swap. + +Fixes: QTBUG-69077 +Change-Id: I3c6964f31a16e9aff70b8ec3c5340e640a30fef2 +Reviewed-by: Paul Olav Tvete +--- + src/client/qwaylanddisplay.cpp | 38 +++- + src/client/qwaylanddisplay_p.h | 3 + + src/client/qwaylandwindow.cpp | 180 +++++++++++++++--- + src/client/qwaylandwindow_p.h | 17 +- + .../client/wayland-egl/qwaylandglcontext.cpp | 25 ++- + .../qwaylandxcompositeeglcontext.cpp | 2 +- + .../qwaylandxcompositeglxcontext.cpp | 2 +- + 7 files changed, 218 insertions(+), 49 deletions(-) + +diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp +index f2bd3160..82003a30 100644 +--- a/src/client/qwaylanddisplay.cpp ++++ b/src/client/qwaylanddisplay.cpp +@@ -68,6 +68,8 @@ + + #include + ++#include ++ + #include + #include + +@@ -190,7 +192,6 @@ void QWaylandDisplay::flushRequests() + wl_display_flush(mDisplay); + } + +- + void QWaylandDisplay::blockingReadEvents() + { + if (wl_display_dispatch(mDisplay) < 0) { +@@ -204,6 +205,41 @@ void QWaylandDisplay::exitWithError() + ::exit(1); + } + ++wl_event_queue *QWaylandDisplay::createEventQueue() ++{ ++ return wl_display_create_queue(mDisplay); ++} ++ ++void QWaylandDisplay::dispatchQueueWhile(wl_event_queue *queue, std::function condition, int timeout) ++{ ++ if (!condition()) ++ return; ++ ++ QElapsedTimer timer; ++ timer.start(); ++ struct pollfd pFd = qt_make_pollfd(wl_display_get_fd(mDisplay), POLLIN); ++ while (timeout == -1 || timer.elapsed() < timeout) { ++ while (wl_display_prepare_read_queue(mDisplay, queue) != 0) ++ wl_display_dispatch_queue_pending(mDisplay, queue); ++ ++ wl_display_flush(mDisplay); ++ ++ const int remaining = qMax(timeout - timer.elapsed(), 0ll); ++ const int pollTimeout = timeout == -1 ? -1 : remaining; ++ if (qt_poll_msecs(&pFd, 1, pollTimeout) > 0) ++ wl_display_read_events(mDisplay); ++ else ++ wl_display_cancel_read(mDisplay); ++ ++ if (wl_display_dispatch_queue_pending(mDisplay, queue) < 0) { ++ checkError(); ++ exitWithError(); ++ } ++ if (!condition()) ++ break; ++ } ++} ++ + QWaylandScreen *QWaylandDisplay::screenForOutput(struct wl_output *output) const + { + for (int i = 0; i < mScreens.size(); ++i) { +diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h +index cc6a0a72..fa8b4c3f 100644 +--- a/src/client/qwaylanddisplay_p.h ++++ b/src/client/qwaylanddisplay_p.h +@@ -182,6 +182,9 @@ public: + void handleKeyboardFocusChanged(QWaylandInputDevice *inputDevice); + void handleWindowDestroyed(QWaylandWindow *window); + ++ wl_event_queue *createEventQueue(); ++ void dispatchQueueWhile(wl_event_queue *queue, std::function condition, int timeout = -1); ++ + public slots: + void blockingReadEvents(); + void flushRequests(); +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index 600ea1df..4d399f8f 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -67,6 +67,7 @@ + #include + + #include ++#include + + #include + +@@ -81,6 +82,7 @@ QWaylandWindow *QWaylandWindow::mMouseGrab = nullptr; + QWaylandWindow::QWaylandWindow(QWindow *window) + : QPlatformWindow(window) + , mDisplay(waylandScreen()->display()) ++ , mFrameQueue(mDisplay->createEventQueue()) + , mResizeAfterSwap(qEnvironmentVariableIsSet("QT_WAYLAND_RESIZE_AFTER_SWAP")) + { + static WId id = 1; +@@ -363,6 +365,8 @@ void QWaylandWindow::sendExposeEvent(const QRect &rect) + { + if (!(mShellSurface && mShellSurface->handleExpose(rect))) + QWindowSystemInterface::handleExposeEvent(window(), rect); ++ else ++ qCDebug(lcQpaWayland) << "sendExposeEvent: intercepted by shell extension, not sending"; + mLastExposeGeometry = rect; + } + +@@ -547,18 +551,11 @@ void QWaylandWindow::handleScreenRemoved(QScreen *qScreen) + void QWaylandWindow::attach(QWaylandBuffer *buffer, int x, int y) + { + Q_ASSERT(!buffer->committed()); +- if (mFrameCallback) { +- wl_callback_destroy(mFrameCallback); +- mFrameCallback = nullptr; +- } +- + if (buffer) { +- mFrameCallback = frame(); +- wl_callback_add_listener(mFrameCallback, &QWaylandWindow::callbackListener, this); +- mWaitingForFrameSync = true; ++ handleUpdate(); + buffer->setBusy(); + +- attach(buffer->buffer(), x, y); ++ QtWayland::wl_surface::attach(buffer->buffer(), x, y); + } else { + QtWayland::wl_surface::attach(nullptr, 0, 0); + } +@@ -614,32 +611,61 @@ void QWaylandWindow::commit(QWaylandBuffer *buffer, const QRegion &damage) + } + + const wl_callback_listener QWaylandWindow::callbackListener = { +- QWaylandWindow::frameCallback ++ [](void *data, wl_callback *callback, uint32_t time) { ++ Q_UNUSED(callback); ++ Q_UNUSED(time); ++ auto *window = static_cast(data); ++ if (window->thread() != QThread::currentThread()) ++ QMetaObject::invokeMethod(window, [=] { window->handleFrameCallback(); }, Qt::QueuedConnection); ++ else ++ window->handleFrameCallback(); ++ } + }; + +-void QWaylandWindow::frameCallback(void *data, struct wl_callback *callback, uint32_t time) ++void QWaylandWindow::handleFrameCallback() + { +- Q_UNUSED(time); +- Q_UNUSED(callback); +- QWaylandWindow *self = static_cast(data); ++ bool wasExposed = isExposed(); + +- self->mWaitingForFrameSync = false; +- if (self->mUpdateRequested) { +- self->mUpdateRequested = false; +- self->deliverUpdateRequest(); ++ if (mFrameCallbackTimerId != -1) { ++ killTimer(mFrameCallbackTimerId); ++ mFrameCallbackTimerId = -1; + } ++ ++ mWaitingForFrameCallback = false; ++ mFrameCallbackTimedOut = false; ++ ++ if (!wasExposed && isExposed()) ++ sendExposeEvent(QRect(QPoint(), geometry().size())); ++ if (wasExposed && hasPendingUpdateRequest()) ++ deliverUpdateRequest(); + } + + QMutex QWaylandWindow::mFrameSyncMutex; + +-void QWaylandWindow::waitForFrameSync() ++bool QWaylandWindow::waitForFrameSync(int timeout) + { + QMutexLocker locker(&mFrameSyncMutex); +- if (!mWaitingForFrameSync) +- return; +- mDisplay->flushRequests(); +- while (mWaitingForFrameSync) +- mDisplay->blockingReadEvents(); ++ if (!mWaitingForFrameCallback) ++ return true; ++ ++ wl_proxy_set_queue(reinterpret_cast(mFrameCallback), mFrameQueue); ++ mDisplay->dispatchQueueWhile(mFrameQueue, [&]() { return mWaitingForFrameCallback; }, timeout); ++ ++ if (mWaitingForFrameCallback) { ++ qCDebug(lcWaylandBackingstore) << "Didn't receive frame callback in time, window should now be inexposed"; ++ mFrameCallbackTimedOut = true; ++ mWaitingForUpdate = false; ++ sendExposeEvent(QRect()); ++ } ++ ++ // Stop current frame timer if any, can't use killTimer directly, because we might be on a diffent thread ++ if (mFrameCallbackTimerId != -1) { ++ int id = mFrameCallbackTimerId; ++ mFrameCallbackTimerId = -1; ++ QMetaObject::invokeMethod(this, [=] { killTimer(id); }, Qt::QueuedConnection); ++ } ++ ++ return !mWaitingForFrameCallback; + } + + QMargins QWaylandWindow::frameMargins() const +@@ -971,6 +997,9 @@ bool QWaylandWindow::isExposed() const + if (!window()->isVisible()) + return false; + ++ if (mFrameCallbackTimedOut) ++ return false; ++ + if (mShellSurface) + return mShellSurface->isExposed(); + +@@ -1046,12 +1075,107 @@ QVariant QWaylandWindow::property(const QString &name, const QVariant &defaultVa + return m_properties.value(name, defaultValue); + } + ++void QWaylandWindow::timerEvent(QTimerEvent *event) ++{ ++ if (event->timerId() == mFallbackUpdateTimerId) { ++ killTimer(mFallbackUpdateTimerId); ++ mFallbackUpdateTimerId = -1; ++ qCDebug(lcWaylandBackingstore) << "mFallbackUpdateTimer timed out"; ++ ++ if (!isExposed()) { ++ qCDebug(lcWaylandBackingstore) << "Fallback update timer: Window not exposed," ++ << "not delivering update request."; ++ return; ++ } ++ ++ if (mWaitingForUpdate && hasPendingUpdateRequest() && !mWaitingForFrameCallback) { ++ qCWarning(lcWaylandBackingstore) << "Delivering update request through fallback timer," ++ << "may not be in sync with display"; ++ deliverUpdateRequest(); ++ } ++ } ++ ++ if (event->timerId() == mFrameCallbackTimerId) { ++ killTimer(mFrameCallbackTimerId); ++ mFrameCallbackTimerId = -1; ++ qCDebug(lcWaylandBackingstore) << "Didn't receive frame callback in time, window should now be inexposed"; ++ mFrameCallbackTimedOut = true; ++ mWaitingForUpdate = false; ++ sendExposeEvent(QRect()); ++ } ++} ++ + void QWaylandWindow::requestUpdate() + { +- if (!mWaitingForFrameSync) +- QPlatformWindow::requestUpdate(); +- else +- mUpdateRequested = true; ++ Q_ASSERT(hasPendingUpdateRequest()); // should be set by QPA ++ ++ // If we have a frame callback all is good and will be taken care of there ++ if (mWaitingForFrameCallback) ++ return; ++ ++ // If we've already called deliverUpdateRequest(), but haven't seen any attach+commit/swap yet ++ if (mWaitingForUpdate) { ++ // Ideally, we should just have returned here, but we're not guaranteed that the client ++ // will actually update, so start this timer to deliver another request update after a while ++ // *IF* the client doesn't update. ++ int fallbackTimeout = 100; ++ mFallbackUpdateTimerId = startTimer(fallbackTimeout); ++ return; ++ } ++ ++ // Some applications (such as Qt Quick) depend on updates being delivered asynchronously, ++ // so use invokeMethod to delay the delivery a bit. ++ QMetaObject::invokeMethod(this, [this] { ++ // Things might have changed in the meantime ++ if (hasPendingUpdateRequest() && !mWaitingForUpdate && !mWaitingForFrameCallback) ++ deliverUpdateRequest(); ++ }, Qt::QueuedConnection); ++} ++ ++// Should be called whenever we commit a buffer (directly through wl_surface.commit or indirectly ++// with eglSwapBuffers) to know when it's time to commit the next one. ++// Can be called from the render thread (without locking anything) so make sure to not make races in this method. ++void QWaylandWindow::handleUpdate() ++{ ++ // TODO: Should sync subsurfaces avoid requesting frame callbacks? ++ ++ if (mFrameCallback) { ++ wl_callback_destroy(mFrameCallback); ++ mFrameCallback = nullptr; ++ } ++ ++ if (mFallbackUpdateTimerId != -1) { ++ // Ideally, we would stop the fallback timer here, but since we're on another thread, ++ // it's not allowed. Instead we set mFallbackUpdateTimer to -1 here, so we'll just ++ // ignore it if it times out before it's cleaned up by the invokeMethod call. ++ int id = mFallbackUpdateTimerId; ++ mFallbackUpdateTimerId = -1; ++ QMetaObject::invokeMethod(this, [=] { killTimer(id); }, Qt::QueuedConnection); ++ } ++ ++ mFrameCallback = frame(); ++ wl_callback_add_listener(mFrameCallback, &QWaylandWindow::callbackListener, this); ++ mWaitingForFrameCallback = true; ++ mWaitingForUpdate = false; ++ ++ // Stop current frame timer if any, can't use killTimer directly, see comment above. ++ if (mFrameCallbackTimerId != -1) { ++ int id = mFrameCallbackTimerId; ++ mFrameCallbackTimerId = -1; ++ QMetaObject::invokeMethod(this, [=] { killTimer(id); }, Qt::QueuedConnection); ++ } ++ ++ // Start a timer for handling the case when the compositor stops sending frame callbacks. ++ QMetaObject::invokeMethod(this, [=] { // Again; can't do it directly ++ if (mWaitingForFrameCallback) ++ mFrameCallbackTimerId = startTimer(100); ++ }, Qt::QueuedConnection); ++} ++ ++void QWaylandWindow::deliverUpdateRequest() ++{ ++ mWaitingForUpdate = true; ++ QPlatformWindow::deliverUpdateRequest(); + } + + void QWaylandWindow::addAttachOffset(const QPoint point) +diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h +index 56ebd3cc..c47123dc 100644 +--- a/src/client/qwaylandwindow_p.h ++++ b/src/client/qwaylandwindow_p.h +@@ -120,7 +120,7 @@ public: + void handleExpose(const QRegion ®ion); + void commit(QWaylandBuffer *buffer, const QRegion &damage); + +- void waitForFrameSync(); ++ bool waitForFrameSync(int timeout); + + QMargins frameMargins() const override; + +@@ -191,7 +191,10 @@ public: + + bool startSystemMove(const QPoint &pos) override; + ++ void timerEvent(QTimerEvent *event) override; + void requestUpdate() override; ++ void handleUpdate(); ++ void deliverUpdateRequest() override; + + public slots: + void applyConfigure(); +@@ -211,10 +214,17 @@ protected: + Qt::MouseButtons mMousePressedInContentArea = Qt::NoButton; + + WId mWindowId; +- bool mWaitingForFrameSync = false; ++ bool mWaitingForFrameCallback = false; ++ bool mFrameCallbackTimedOut = false; // Whether the frame callback has timed out ++ int mFrameCallbackTimerId = -1; // Started on commit, reset on frame callback + struct ::wl_callback *mFrameCallback = nullptr; ++ struct ::wl_event_queue *mFrameQueue = nullptr; + QWaitCondition mFrameSyncWait; + ++ // True when we have called deliverRequestUpdate, but the client has not yet attached a new buffer ++ bool mWaitingForUpdate = false; ++ int mFallbackUpdateTimerId = -1; // Started when waiting for app to commit ++ + QMutex mResizeLock; + bool mWaitingToApplyConfigure = false; + bool mCanResize = true; +@@ -253,11 +263,10 @@ private: + void handleMouseEventWithDecoration(QWaylandInputDevice *inputDevice, const QWaylandPointerEvent &e); + void handleScreenChanged(); + +- bool mUpdateRequested = false; + QRect mLastExposeGeometry; + + static const wl_callback_listener callbackListener; +- static void frameCallback(void *data, struct wl_callback *wl_callback, uint32_t time); ++ void handleFrameCallback(); + + static QMutex mFrameSyncMutex; + static QWaylandWindow *mMouseGrab; +diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp +index e58403ad..30dab408 100644 +--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp ++++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp +@@ -315,7 +315,9 @@ QWaylandGLContext::QWaylandGLContext(EGLDisplay eglDisplay, QWaylandDisplay *dis + mSupportNonBlockingSwap = false; + } + if (!mSupportNonBlockingSwap) { +- qWarning() << "Non-blocking swap buffers not supported. Subsurface rendering can be affected."; ++ qWarning(lcQpaWayland) << "Non-blocking swap buffers not supported." ++ << "Subsurface rendering can be affected." ++ << "It may also cause the event loop to freeze in some situations"; + } + + updateGLFormat(); +@@ -550,20 +552,15 @@ void QWaylandGLContext::swapBuffers(QPlatformSurface *surface) + m_blitter->blit(window); + } + +- +- QWaylandSubSurface *sub = window->subSurfaceWindow(); +- if (sub) { +- QMutexLocker l(sub->syncMutex()); +- +- int si = (sub->isSync() && mSupportNonBlockingSwap) ? 0 : m_format.swapInterval(); +- +- eglSwapInterval(m_eglDisplay, si); +- eglSwapBuffers(m_eglDisplay, eglSurface); +- } else { +- eglSwapInterval(m_eglDisplay, m_format.swapInterval()); +- eglSwapBuffers(m_eglDisplay, eglSurface); ++ int swapInterval = mSupportNonBlockingSwap ? 0 : m_format.swapInterval(); ++ eglSwapInterval(m_eglDisplay, swapInterval); ++ if (swapInterval == 0 && m_format.swapInterval() > 0) { ++ // Emulating a blocking swap ++ glFlush(); // Flush before waiting so we can swap more quickly when the frame event arrives ++ window->waitForFrameSync(100); + } +- ++ window->handleUpdate(); ++ eglSwapBuffers(m_eglDisplay, eglSurface); + + window->setCanResize(true); + } +diff --git a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp +index c07ad534..a6fead95 100644 +--- a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp ++++ b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp +@@ -65,7 +65,7 @@ void QWaylandXCompositeEGLContext::swapBuffers(QPlatformSurface *surface) + QSize size = w->geometry().size(); + + w->commit(w->buffer(), QRegion(0, 0, size.width(), size.height())); +- w->waitForFrameSync(); ++ w->waitForFrameSync(100); + } + + EGLSurface QWaylandXCompositeEGLContext::eglSurfaceForPlatformSurface(QPlatformSurface *surface) +diff --git a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp +index 33ae2e03..35188741 100644 +--- a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp ++++ b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp +@@ -93,7 +93,7 @@ void QWaylandXCompositeGLXContext::swapBuffers(QPlatformSurface *surface) + glXSwapBuffers(m_display, w->xWindow()); + + w->commit(w->buffer(), QRegion(0, 0, size.width(), size.height())); +- w->waitForFrameSync(); ++ w->waitForFrameSync(100); + } + + QFunctionPointer QWaylandXCompositeGLXContext::getProcAddress(const char *procName) +-- +2.22.0 + From 2182157f31fb87fee13f5fc93c0decacbedcf5a0 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sat, 7 Sep 2019 15:26:56 -0500 Subject: [PATCH 021/129] modemmanager: 1.10.0 -> 1.10.4 Update dbus-sys-dir to not use deprecated directory. https://gitlab.freedesktop.org/mobile-broadband/ModemManager/blob/1.10.4/NEWS https://gitlab.freedesktop.org/mobile-broadband/ModemManager/blob/1.10.2/NEWS Co-authored-by: worldofpeace --- pkgs/tools/networking/modem-manager/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/modem-manager/default.nix b/pkgs/tools/networking/modem-manager/default.nix index b2644d0c2a4..dd4a1be9e71 100644 --- a/pkgs/tools/networking/modem-manager/default.nix +++ b/pkgs/tools/networking/modem-manager/default.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { pname = "modem-manager"; - version = "1.10.0"; + version = "1.10.4"; package = "ModemManager"; src = fetchurl { url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz"; - sha256 = "1qkfnxqvaraz1npahqvm5xc73mbxxic8msnsjmlwkni5c2ckj3zx"; + sha256 = "0w6wdj9dh7zwhzl68775h1ni6zcgvss524dp17kph50zpas6nmgs"; }; nativeBuildInputs = [ vala gobject-introspection gettext pkgconfig ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-polkit" "--with-udev-base-dir=${placeholder "out"}/lib/udev" - "--with-dbus-sys-dir=${placeholder "out"}/etc/dbus-1/system.d" + "--with-dbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d" "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" "--sysconfdir=/etc" "--localstatedir=/var" From b86f9d6d46034beebe801d278641519938ee59c0 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 16 Sep 2019 09:58:43 -0500 Subject: [PATCH 022/129] bison: 3.4.1 -> 3.4.2, bugfix release (#68734) --- pkgs/development/tools/parsing/bison/3.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix index bbcecae8f04..5382ec421b7 100644 --- a/pkgs/development/tools/parsing/bison/3.x.nix +++ b/pkgs/development/tools/parsing/bison/3.x.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "bison"; - version = "3.4.1"; + version = "3.4.2"; src = fetchurl { url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; - sha256 = "15ah05gharrzcxs8q5pm9mli5dp5lw19nd95apzzmyqnqa4zq1vh"; + sha256 = "1kzsb6fmmpq00l2s55hyb4dbsmz8f3a64ria6354wlbx6ypj4fgz"; }; nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man; From 14f5e9293c431762bf7811dba2cb73fb4bf716ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 16 Sep 2019 19:26:03 +0200 Subject: [PATCH 023/129] Re-revert "pythonPackages.flaky: 3.5.3 -> 3.6.1 (#68411)" This reverts commit a95a53aadc3a84ff8c2660f44aa124c58da241cd. i.e. the change is moved from the master branch to staging. --- .../python-modules/flaky/default.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/flaky/default.nix b/pkgs/development/python-modules/flaky/default.nix index 523e6ac53e6..c4e803245d5 100644 --- a/pkgs/development/python-modules/flaky/default.nix +++ b/pkgs/development/python-modules/flaky/default.nix @@ -2,22 +2,29 @@ , buildPythonPackage , fetchPypi , mock +, nose , pytest }: buildPythonPackage rec { pname = "flaky"; - version = "3.5.3"; + version = "3.6.1"; src = fetchPypi { inherit pname version; - sha256 = "12bd5e41f372b2190e8d754b6e5829c2f11dbc764e10b30f57e59f829c9ca1da"; + sha256 = "8cd5455bb00c677f787da424eaf8c4a58a922d0e97126d3085db5b279a98b698"; }; - buildInputs = [ mock pytest ]; + checkInputs = [ mock nose pytest ]; - # waiting for feedback https://github.com/box/flaky/issues/97 - doCheck = false; + checkPhase = '' + # based on tox.ini + pytest -k 'example and not options' --doctest-modules test/test_pytest/ + pytest -k 'example and not options' test/test_pytest/ + pytest -p no:flaky test/test_pytest/test_flaky_pytest_plugin.py + nosetests --with-flaky --force-flaky --max-runs 2 test/test_nose/test_nose_options_example.py + pytest --force-flaky --max-runs 2 test/test_pytest/test_pytest_options_example.py + ''; meta = with stdenv.lib; { homepage = https://github.com/box/flaky; From cfe85bd5dfb623da9a698be3107302576bbe2b8a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 21:41:05 -0400 Subject: [PATCH 024/129] accountsservice: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/development/libraries/accountsservice/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix index 860ac3fde41..11ac842342b 100644 --- a/pkgs/development/libraries/accountsservice/default.nix +++ b/pkgs/development/libraries/accountsservice/default.nix @@ -70,6 +70,11 @@ stdenv.mkDerivation rec { url = "https://gitlab.freedesktop.org/accountsservice/accountsservice/commit/0e712e935abd26499ff5995ab363e5bfd9ee7c4c.patch"; sha256 = "1y60a5fmgfqjzprwpizilrazqn3mggdlgc5sgcpsprsp62fv78rl"; }) + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://gitlab.freedesktop.org/accountsservice/accountsservice/commit/ced73d0fcbd2a54085a660d260482fc70d79bd5c.patch"; + sha256 = "0s7fknfgxl8hnf6givmhfg4586fjb2n64i9arh1w7xnq7x9x8d4c"; + }) ]; meta = with stdenv.lib; { From 5067fb6562fd843ffee5ad904fb083b2848a6f63 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 21:47:44 -0400 Subject: [PATCH 025/129] avahi: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/development/libraries/avahi/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix index ee451818831..babfd6849a8 100644 --- a/pkgs/development/libraries/avahi/default.nix +++ b/pkgs/development/libraries/avahi/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-qt3" "--disable-gdbm" "--disable-mono" - "--disable-gtk" + "--disable-gtk" "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d" (stdenv.lib.enableFeature gtk3Support "gtk3") "--${if qt4Support then "enable" else "disable"}-qt4" (stdenv.lib.enableFeature withPython "python") From 5548dd31f01c0824c9bfce395a0f12e9d0aaa76a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 21:53:43 -0400 Subject: [PATCH 026/129] bluez: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/os-specific/linux/bluez/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index be43d23d611..cca3674bdd1 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -48,12 +48,12 @@ stdenv.mkDerivation rec { "--enable-library" "--enable-cups" "--enable-pie" - "--with-dbusconfdir=$(out)/etc" - "--with-dbussystembusdir=$(out)/share/dbus-1/system-services" - "--with-dbussessionbusdir=$(out)/share/dbus-1/services" - "--with-systemdsystemunitdir=$(out)/etc/systemd/system" - "--with-systemduserunitdir=$(out)/etc/systemd/user" - "--with-udevdir=$(out)/lib/udev" + "--with-dbusconfdir=${placeholder "out"}/share" + "--with-dbussystembusdir=${placeholder "out"}/share/dbus-1/system-services" + "--with-dbussessionbusdir=${placeholder "out"}/share/dbus-1/services" + "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" + "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user" + "--with-udevdir=${placeholder "out"}/lib/udev" ] ++ optional enableWiimote [ "--enable-wiimote" ] ++ optional enableMidi [ "--enable-midi" ] ++ optional enableSixaxis [ "--enable-sixaxis" ]); @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { # Work around `make install' trying to create /var/lib/bluetooth. installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth"; - makeFlags = "rulesdir=$(out)/lib/udev/rules.d"; + makeFlags = "rulesdir=${placeholder "out"}/lib/udev/rules.d"; postInstall = '' mkdir -p $test/{bin,test} From a2757ecdf264e5f0a65e7c1950b95779f104c84b Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 22:16:51 -0400 Subject: [PATCH 027/129] geoclue2: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/development/libraries/geoclue/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix index cc2037791e0..d597ed41072 100644 --- a/pkgs/development/libraries/geoclue/default.nix +++ b/pkgs/development/libraries/geoclue/default.nix @@ -43,6 +43,7 @@ stdenv.mkDerivation rec { "--sysconfdir=/etc" "-Dsysconfdir_install=${placeholder "out"}/etc" "-Ddbus-srv-user=geoclue" + "-Ddbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d" ] ++ optionals stdenv.isDarwin [ "-D3g-source=false" "-Dcdma-source=false" From bdb0ea879a5c9440024e559d36c4d97ce4227c6c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 22:20:43 -0400 Subject: [PATCH 028/129] flatpak: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/development/libraries/flatpak/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix index d29be4cb930..8aa61949e40 100644 --- a/pkgs/development/libraries/flatpak/default.nix +++ b/pkgs/development/libraries/flatpak/default.nix @@ -61,6 +61,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-system-bubblewrap=${bubblewrap}/bin/bwrap" "--with-system-dbus-proxy=${xdg-dbus-proxy}/bin/xdg-dbus-proxy" + "--dbus_config_dir=${placeholder "out"}/share/dbus-1/system.d" "--localstatedir=/var" "--enable-installed-tests" ]; From 061ea7d1ccc759344d8931469e02092ae6360f52 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 22:27:04 -0400 Subject: [PATCH 029/129] cups: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/misc/cups/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 6e27fdb0a52..c7df3f333b6 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -48,6 +48,7 @@ stdenv.mkDerivation rec { ] ++ optionals stdenv.isLinux [ "--enable-dbus" "--enable-pam" + "--with-dbusdir=${placeholder "out"}/share/dbus-1" ] ++ optional (libusb != null) "--enable-libusb" ++ optional (gnutls != null) "--enable-ssl" ++ optional (avahi != null) "--enable-avahi" @@ -81,7 +82,6 @@ stdenv.mkDerivation rec { "STATEDIR=$(TMPDIR)/dummy" # Idem for /etc. "PAMDIR=$(out)/etc/pam.d" - "DBUSDIR=$(out)/etc/dbus-1" "XINETD=$(out)/etc/xinetd.d" "SERVERROOT=$(out)/etc/cups" # Idem for /usr. From 22ad487a1f0b82a644959dc3a1db5a2db36e2a9d Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 22:41:02 -0400 Subject: [PATCH 030/129] thermald: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/system/thermald/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix index 3429419052f..8caff1170bc 100644 --- a/pkgs/tools/system/thermald/default.nix +++ b/pkgs/tools/system/thermald/default.nix @@ -23,9 +23,10 @@ stdenv.mkDerivation rec { ''; configureFlags = [ - "--sysconfdir=$(out)/etc" "--localstatedir=/var" - "--with-dbus-sys-dir=$(out)/etc/dbus-1/system.d" - "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--sysconfdir=${placeholder "out"}/etc" + "--localstatedir=/var" + "--with-dbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d" + "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" ]; meta = with stdenv.lib; { From 6390197f08a7e010010c0436623f74428a8c605f Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 22:49:11 -0400 Subject: [PATCH 031/129] lightdm: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/applications/display-managers/lightdm/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index 1df67578b3a..795472bf64a 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -53,6 +53,11 @@ stdenv.mkDerivation rec { url = "https://src.fedoraproject.org/rpms/lightdm/raw/4cf0d2bed8d1c68970b0322ccd5dbbbb7a0b12bc/f/lightdm-1.25.1-disable_dmrc.patch"; sha256 = "06f7iabagrsiws2l75sx2jyljknr9js7ydn151p3qfi104d1541n"; }) + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://github.com/canonical/lightdm/commit/a99376f5f51aa147aaf81287d7ce70db76022c47.patch"; + sha256 = "1zyx1qqajrmqcf9hbsapd39gmdanswd9l78rq7q6rdy4692il3yn"; + }) ]; preConfigure = "NOCONFIGURE=1 ./autogen.sh"; From 41b732341739bc3a5b6be2824023f4e88f66e5c4 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 22:51:15 -0400 Subject: [PATCH 032/129] systemd: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/os-specific/linux/systemd/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 90b33e183ce..2eb8777d995 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -56,7 +56,7 @@ in stdenv.mkDerivation { #dontAddPrefix = true; mesonFlags = [ - "-Ddbuspolicydir=${placeholder "out"}/etc/dbus-1/system.d" + "-Ddbuspolicydir=${placeholder "out"}/share/dbus-1/system.d" "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services" "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services" "-Dpamconfdir=${placeholder "out"}/etc/pam.d" From 143453924710f6a5cff68153ac6f27cd003c1dc6 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 22:52:55 -0400 Subject: [PATCH 033/129] sddm: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/applications/display-managers/sddm/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index 526041124bc..735e83a0842 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -46,6 +46,7 @@ in mkDerivation { "-DQT_IMPORTS_DIR=${placeholder "out"}/${qtbase.qtQmlPrefix}" "-DCMAKE_INSTALL_SYSCONFDIR=${placeholder "out"}/etc" "-DSYSTEMD_SYSTEM_UNIT_DIR=${placeholder "out"}/lib/systemd/system" + "-DDBUS_CONFIG_DIR=${placeholder "out"}/share/dbus-1/system.d" ]; postInstall = '' From 369f386e1c418530fb6e13b2ddf25427ba240ddb Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 22:54:03 -0400 Subject: [PATCH 034/129] packagekit: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/package-management/packagekit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index a82f4400891..a3c3c0d40a9 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -39,8 +39,8 @@ stdenv.mkDerivation rec { "--disable-offline-update" "--localstatedir=/var" "--sysconfdir=/etc" - "--with-dbus-sys=$(out)/etc/dbus-1/system.d" - "--with-systemdsystemunitdir=$(out)/lib/systemd/system/" + "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d" + "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system/" ] ++ lib.optional enableNixBackend "--enable-nix" ++ lib.optional (!enableBashCompletion) "--disable-bash-completion" From ac0e914fdc56035af208149b1a18a715e5e5cece Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 22:57:26 -0400 Subject: [PATCH 035/129] zbar: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/graphics/zbar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix index e2b9f534ae5..8f82380e241 100644 --- a/pkgs/tools/graphics/zbar/default.nix +++ b/pkgs/tools/graphics/zbar/default.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--without-python" ] ++ (if enableDbus then [ - "--with-dbusconfdir=${placeholder "out"}/etc" + "--with-dbusconfdir=${placeholder "out"}/share" ] else [ "--without-dbus" ]) ++ (if enableVideo then [ From 85eff86c3aa91743b73721783276c71666bd127e Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:04:17 -0400 Subject: [PATCH 036/129] mate.mate-settings-daemon: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/desktops/mate/mate-settings-daemon/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix index 5ee995402ec..70092651702 100644 --- a/pkgs/desktops/mate/mate-settings-daemon/default.nix +++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, intltool, glib, dbus-glib, libxklavier, libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate, pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio, - wrapGAppsHook }: + wrapGAppsHook, fetchpatch }: stdenv.mkDerivation rec { pname = "mate-settings-daemon"; @@ -12,6 +12,14 @@ stdenv.mkDerivation rec { sha256 = "0yr5v6b9hdk20j29smbw1k4fkyg82i5vlflmgly0vi5whgc74gym"; }; + patches = [ + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/mate-desktop/mate-settings-daemon/pull/296.patch"; + sha256 = "00dfn8h47zw3wr7yya82vvp19wsw51whn8jwgayn4hkjd161s9nm"; + }) + ]; + nativeBuildInputs = [ pkgconfig intltool From ad6aada7e2c3ece14e5ab0e34acdcf35f11e4014 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:10:09 -0400 Subject: [PATCH 037/129] fwupd: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/os-specific/linux/firmware/fwupd/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index 75144799d01..f298073d11a 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -2,6 +2,7 @@ { stdenv , fetchurl +, fetchpatch , substituteAll , gtk-doc , pkgconfig @@ -153,6 +154,11 @@ stdenv.mkDerivation rec { # needs a different set of modules than po/make-images inherit installedTestsPython; }) + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://github.com/fwupd/fwupd/commit/41a25be6f4b371c367904284e9251cd461ad5cfe.patch"; + sha256 = "0vv3x2pq5bpmg9c8ax5dsqcblw45n7jmzgw6p8h4asyjy57mzhaq"; + }) ]; postPatch = '' From d6d3ccf8b83aa2dbae7ecc90d4f9d9ad09c6d019 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:17:54 -0400 Subject: [PATCH 038/129] fprintd: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/security/fprintd/default.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix index 84727f55b93..4f36dc30eed 100644 --- a/pkgs/tools/security/fprintd/default.nix +++ b/pkgs/tools/security/fprintd/default.nix @@ -1,6 +1,6 @@ { thinkpad ? false , stdenv, fetchurl, pkgconfig, intltool, libfprint-thinkpad ? null -, libfprint ? null, glib, dbus-glib, polkit, nss, pam, systemd }: +, libfprint ? null, glib, dbus-glib, polkit, nss, pam, systemd, fetchpatch }: stdenv.mkDerivation rec { pname = "fprintd" + stdenv.lib.optionalString thinkpad "-thinkpad"; @@ -11,16 +11,23 @@ stdenv.mkDerivation rec { sha256 = "124s0g9syvglgsmqnavp2a8c0zcq8cyaph8p8iyvbla11vfizs9l"; }; + patches = [ + (fetchpatch { + url = "https://gitlab.freedesktop.org/libfprint/fprintd/merge_requests/16.patch"; + sha256 = "1y39zsmxjll9hip8464qwhq5qg06c13pnafyafgxdph75lvhdll7"; + }) + ]; + buildInputs = [ glib dbus-glib polkit nss pam systemd ] ++ stdenv.lib.optional thinkpad libfprint-thinkpad ++ stdenv.lib.optional (!thinkpad) libfprint; nativeBuildInputs = [ pkgconfig intltool ]; - configureFlags = [ - "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" - "--localstatedir=/var" - "--sysconfdir=${placeholder "out"}/etc" + configureFlags = [ + "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" + "--localstatedir=/var" + "--sysconfdir=${placeholder "out"}/etc" ]; meta = with stdenv.lib; { From 271c4b16e94f219b388bd0cc0ddb007836cb62de Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:21:36 -0400 Subject: [PATCH 039/129] blueman: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/bluetooth/blueman/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix index 8e393ac3f13..0a924bc3ab7 100644 --- a/pkgs/tools/bluetooth/blueman/default.nix +++ b/pkgs/tools/bluetooth/blueman/default.nix @@ -3,7 +3,7 @@ , gnome3, librsvg, wrapGAppsHook, gobject-introspection , withNetworkManager ? config.networking.networkmanager.enable or false, networkmanager -, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio }: +, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio, fetchpatch }: let pythonPackages = python3Packages; @@ -29,6 +29,14 @@ in stdenv.mkDerivation rec { ++ lib.optional withPulseAudio libpulseaudio ++ lib.optional withNetworkManager networkmanager; + patches = [ + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/blueman-project/blueman/pull/1103.patch"; + sha256 = "0zqdi6ya97jljwinn10n9q6bixl23ww55c0pkhskn140qnrj42wf"; + }) + ]; + postPatch = lib.optionalString withPulseAudio '' sed -i 's,CDLL(",CDLL("${libpulseaudio.out}/lib/,g' blueman/main/PulseAudioUtils.py ''; From 8e69437fee3cdb4972b93e09e52078132aae0d4b Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:24:50 -0400 Subject: [PATCH 040/129] cups-pk-helper: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/misc/cups/cups-pk-helper.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/misc/cups/cups-pk-helper.nix b/pkgs/misc/cups/cups-pk-helper.nix index 5e7596032b3..6534d300e82 100644 --- a/pkgs/misc/cups/cups-pk-helper.nix +++ b/pkgs/misc/cups/cups-pk-helper.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, intltool, pkgconfig, glib, polkit, cups }: +{ stdenv, fetchurl, intltool, pkgconfig, glib, polkit, cups, fetchpatch }: stdenv.mkDerivation rec { version = "0.2.6"; @@ -12,6 +12,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig intltool ]; buildInputs = [ glib polkit cups ]; + patches = [ + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://gitlab.freedesktop.org/cups-pk-helper/cups-pk-helper/merge_requests/2.patch"; + sha256 = "1kamhr5kn8c1y0q8xbip0fgr7maf3dyddlvab4n0iypk7rwwikl0"; + }) + ]; + meta = with stdenv.lib; { description = "PolicyKit helper to configure cups with fine-grained privileges"; homepage = http://www.freedesktop.org/wiki/Software/cups-pk-helper/; From 9d0e05233fd117e63c16fb45ea88e0ff3570a926 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:28:12 -0400 Subject: [PATCH 041/129] polkit: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/development/libraries/polkit/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index b5b9f1f7fa4..0d220988b15 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, glib, expat, pam, perl +{ stdenv, fetchurl, pkgconfig, glib, expat, pam, perl, fetchpatch , intltool, spidermonkey_60 , gobject-introspection, libxslt, docbook_xsl, dbus , docbook_xml_dtd_412, gtk-doc, coreutils , useSystemd ? stdenv.isLinux, systemd @@ -22,6 +22,14 @@ stdenv.mkDerivation rec { sha256 = "1c9lbpndh5zis22f154vjrhnqw65z8s85nrgl42v738yf6g0q5w8"; }; + patches = [ + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://gitlab.freedesktop.org/polkit/polkit/merge_requests/11.patch"; + sha256 = "17lv7xj5ksa27iv4zpm4zwd4iy8zbwjj4ximslfq3sasiz9kxhlp"; + }) + ]; + postPatch = stdenv.lib.optionalString stdenv.isDarwin '' sed -i -e "s/-Wl,--as-needed//" configure.ac ''; From 2220086061bec8106489681946ebd723e319d376 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:30:58 -0400 Subject: [PATCH 042/129] dnsmasq: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/networking/dnsmasq/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index bcc1f39e8fd..c009affe1ff 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { substituteInPlace $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist \ --replace "/usr/local/sbin" "$out/bin" '' + optionalString stdenv.isLinux '' - install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf + install -Dm644 dbus/dnsmasq.conf $out/share/dbus-1/system.d/dnsmasq.conf install -Dm755 contrib/lease-tools/dhcp_lease_time $out/bin/dhcp_lease_time install -Dm755 contrib/lease-tools/dhcp_release $out/bin/dhcp_release install -Dm755 contrib/lease-tools/dhcp_release6 $out/bin/dhcp_release6 From d2680d9fc77bf77c1bedb92f944341a4eac01647 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:35:43 -0400 Subject: [PATCH 043/129] networkmanager-openvpn: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/networking/network-manager/openvpn/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/network-manager/openvpn/default.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix index 04ec49f7b9b..bedc7875fb7 100644 --- a/pkgs/tools/networking/network-manager/openvpn/default.nix +++ b/pkgs/tools/networking/network-manager/openvpn/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkgconfig, file, networkmanager, libsecret -, gtk3, withGnome ? true, gnome3, kmod }: +, gtk3, withGnome ? true, gnome3, kmod, fetchpatch }: let pname = "NetworkManager-openvpn"; @@ -17,6 +17,11 @@ in stdenv.mkDerivation { src = ./fix-paths.patch; inherit kmod openvpn; }) + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/NetworkManager-openvpn/merge_requests/13.patch"; + sha256 = "06cvqi28v72dd53fw8ix95mqj885xhwi8qcs2q7hvm5bvnhwn704"; + }) ]; buildInputs = [ openvpn networkmanager ] From 43e14dbdd2e7bea39e18ca4c70c2d34f144d23ab Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:39:14 -0400 Subject: [PATCH 044/129] networkmanager-openconnect: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- .../networking/network-manager/openconnect/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/network-manager/openconnect/default.nix b/pkgs/tools/networking/network-manager/openconnect/default.nix index 4236c9e1818..7db0e59beab 100644 --- a/pkgs/tools/networking/network-manager/openconnect/default.nix +++ b/pkgs/tools/networking/network-manager/openconnect/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, substituteAll, openconnect, intltool, pkgconfig, autoreconfHook, networkmanager, gcr, libsecret, file -, gtk3, withGnome ? true, gnome3, kmod }: +, gtk3, withGnome ? true, gnome3, kmod, fetchpatch }: let pname = "NetworkManager-openconnect"; @@ -17,6 +17,11 @@ in stdenv.mkDerivation { src = ./fix-paths.patch; inherit kmod openconnect; }) + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/NetworkManager-openconnect/merge_requests/9.patch"; + sha256 = "0yd2dmq6gq6y4czr7dqdgaiqvw2vyv2gikznpfdxyfn2v1pcrk9m"; + }) ]; buildInputs = [ openconnect networkmanager ] From 8d7adf047625b59c9cf8a6059cd9d5131f94318a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:41:07 -0400 Subject: [PATCH 045/129] networkmanager-vpnc: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/networking/network-manager/vpnc/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/network-manager/vpnc/default.nix b/pkgs/tools/networking/network-manager/vpnc/default.nix index 1aa4cd5658b..af5b19eb5db 100644 --- a/pkgs/tools/networking/network-manager/vpnc/default.nix +++ b/pkgs/tools/networking/network-manager/vpnc/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, substituteAll, vpnc, intltool, pkgconfig, networkmanager, libsecret -, gtk3, withGnome ? true, gnome3, kmod, file }: +, gtk3, withGnome ? true, gnome3, kmod, file, fetchpatch }: let pname = "NetworkManager-vpnc"; version = "1.2.6"; @@ -16,6 +16,11 @@ in stdenv.mkDerivation { src = ./fix-paths.patch; inherit vpnc kmod; }) + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/NetworkManager-vpnc/merge_requests/5.patch"; + sha256 = "0z0x5vqmrsap3ynamhya7gh6c6k5grhj2vqpy76alnv9xns8dzi6"; + }) ]; buildInputs = [ vpnc networkmanager ] From 233c878aa9e5dacc2254d50fffe2a46e8a9fe21a Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:44:39 -0400 Subject: [PATCH 046/129] networkmanager-fortisslvpn: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- .../networking/network-manager/fortisslvpn/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix index 7773548576b..dbf175d20c9 100644 --- a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix +++ b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, substituteAll, openfortivpn, intltool, pkgconfig, file, gtk3, -networkmanager, ppp, libsecret, withGnome ? true, gnome3 }: +networkmanager, ppp, libsecret, withGnome ? true, gnome3, fetchpatch }: let pname = "NetworkManager-fortisslvpn"; @@ -17,6 +17,11 @@ in stdenv.mkDerivation { src = ./fix-paths.patch; inherit openfortivpn; }) + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/merge_requests/11.patch"; + sha256 = "0l7l2r1njh62lh2pf497ibf99sgkvjsj58xr76qx3jxgq9zfw6n9"; + }) ]; buildInputs = [ openfortivpn networkmanager ppp ] From 61221dfdd5f668c8d0b767b9ca452f5b3f22ad79 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 15 Sep 2019 23:48:34 -0400 Subject: [PATCH 047/129] networkmanager-iodine: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/networking/network-manager/iodine/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/network-manager/iodine/default.nix b/pkgs/tools/networking/network-manager/iodine/default.nix index 27e091b6b60..85bb29b3641 100644 --- a/pkgs/tools/networking/network-manager/iodine/default.nix +++ b/pkgs/tools/networking/network-manager/iodine/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, substituteAll, iodine, intltool, pkgconfig, networkmanager, libsecret, gtk3 -, withGnome ? true, gnome3 }: +, withGnome ? true, gnome3, fetchpatch }: let pname = "NetworkManager-iodine"; @@ -17,6 +17,11 @@ in stdenv.mkDerivation { src = ./fix-paths.patch; inherit iodine; }) + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/network-manager-iodine/merge_requests/2.patch"; + sha256 = "108pkf0mddj32s46k7jkmpwcaq2ylci4dqpp7wck3zm9q2jffff2"; + }) ]; buildInputs = [ iodine networkmanager ] From dd6e2f773d90755846779ddb68620c7abe772a2d Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 16 Sep 2019 11:54:56 -0400 Subject: [PATCH 048/129] rpm-ostree: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/misc/rpm-ostree/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix index 409e65dff77..09f2150cdce 100644 --- a/pkgs/tools/misc/rpm-ostree/default.nix +++ b/pkgs/tools/misc/rpm-ostree/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ostree, rpm, which, autoconf, automake, libtool, pkgconfig, cargo, rustc, gobject-introspection, gtk-doc, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gperf, cmake, libcap, glib, systemd, json-glib, libarchive, libsolv, librepo, polkit, - bubblewrap, pcre, check, python, json_c, libmodulemd_1, utillinux, sqlite, cppunit }: + bubblewrap, pcre, check, python, json_c, libmodulemd_1, utillinux, sqlite, cppunit, fetchpatch }: stdenv.mkDerivation rec { pname = "rpm-ostree"; @@ -17,6 +17,12 @@ stdenv.mkDerivation rec { # https://github.com/NixOS/nixpkgs/pull/50953#issuecomment-449777169 # https://github.com/NixOS/nixpkgs/pull/50953#issuecomment-452177080 ./fix-introspection-build.patch + + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://github.com/coreos/rpm-ostree/commit/60053d0d3d2279d120ae7007c6048e499d2c4d14.patch"; + sha256 = "0ig21zip09iy2da7ksg87jykaj3q8jyzh8r7yrpzyql85qxiwm0m"; + }) ]; outputs = [ "out" "dev" "man" "devdoc" ]; From 40dda7383b4a2fe7d0012f90bd653f83d6b88737 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 16 Sep 2019 12:03:15 -0400 Subject: [PATCH 049/129] wpa_supplicant: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/os-specific/linux/wpa_supplicant/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index 69525c92ede..f54366201ff 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -88,7 +88,7 @@ stdenv.mkDerivation rec { mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system cp -v "dbus/"*service $out/share/dbus-1/system-services sed -e "s@/sbin/wpa_supplicant@$out&@" -i "$out/share/dbus-1/system-services/"* - cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d + cp -v dbus/dbus-wpa_supplicant.conf $out/share/dbus-1/system.d cp -v "systemd/"*.service $out/etc/systemd/system rm $out/share/man/man8/wpa_priv.8 install -Dm444 wpa_supplicant.conf $out/share/doc/wpa_supplicant/wpa_supplicant.conf.example From d2139443e58c8176af5358157cb7068bbd8d8d9c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 16 Sep 2019 12:13:42 -0400 Subject: [PATCH 050/129] strongswanNM: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/networking/strongswan/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix index 869e568d369..a2db62c884e 100644 --- a/pkgs/tools/networking/strongswan/default.nix +++ b/pkgs/tools/networking/strongswan/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl +{ stdenv, fetchurl, fetchpatch , pkgconfig, autoreconfHook , gmp, python, iptables, ldns, unbound, openssl, pcsclite , openresolv @@ -38,6 +38,12 @@ stdenv.mkDerivation rec { ./ext_auth-path.patch ./firewall_defaults.patch ./updown-path.patch + + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/strongswan/strongswan/pull/150.patch"; + sha256 = "1irfxb99blb8v3hs0kmlhzkkwbmds1p0gq319z8lmacz36cgyj2c"; + }) ]; postPatch = optionalString stdenv.isLinux '' From 4e2597d1b80bd3eb983b2dc43f6e081d3fdc8e56 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 16 Sep 2019 12:17:42 -0400 Subject: [PATCH 051/129] disnix: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/package-management/disnix/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix index 50e071be29c..c9223c9af15 100644 --- a/pkgs/tools/package-management/disnix/default.nix +++ b/pkgs/tools/package-management/disnix/default.nix @@ -8,6 +8,10 @@ stdenv.mkDerivation { sha256 = "1kc4520zjc1z72mknylfvrsyda9rbmm5c9mw8w13zhdwg3zbna06"; }; + configureFlags = [ + " --with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d" + ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ glib libxml2 libxslt getopt nixUnstable libintl libiconv dysnomia ]; From 5e55f20ebe01a787ac1182d2350e72eee017f667 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 16 Sep 2019 12:33:34 -0400 Subject: [PATCH 052/129] snapper: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/misc/snapper/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix index 5eba12285de..6c9cbc56846 100644 --- a/pkgs/tools/misc/snapper/default.nix +++ b/pkgs/tools/misc/snapper/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub , autoreconfHook, pkgconfig, docbook_xsl, libxslt, docbook_xml_dtd_45 , acl, attr, boost, btrfs-progs, dbus, diffutils, e2fsprogs, libxml2 -, lvm2, pam, python, utillinux }: +, lvm2, pam, python, utillinux, fetchpatch }: stdenv.mkDerivation rec { pname = "snapper"; @@ -23,6 +23,14 @@ stdenv.mkDerivation rec { lvm2 pam python utillinux ]; + patches = [ + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://github.com/openSUSE/snapper/commit/c51708aea22d9436da287cba84424557ad03644b.patch"; + sha256 = "106pf7pv8z3q37c8ckmgwxs1phf2fy7l53a9g5xq5kk2rjj1cx34"; + }) + ]; + postPatch = '' # Hard-coded root paths, hard-coded root paths everywhere... for file in {client,data,pam,scripts}/Makefile.am; do From 8ce26c79719590daf2c989613cd5f5f9dec9d8b9 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 16 Sep 2019 12:43:21 -0400 Subject: [PATCH 053/129] connman: Move D-Bus conf file to share/dbus-1/system.d Since D-Bus 1.9.18 configuration files installed by third-party should go in share/dbus-1/system.d. The old location is for sysadmin overrides. --- pkgs/tools/networking/connman/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix index 56b0347e17f..e58b8362f95 100644 --- a/pkgs/tools/networking/connman/default.nix +++ b/pkgs/tools/networking/connman/default.nix @@ -26,8 +26,8 @@ stdenv.mkDerivation rec { configureFlags = [ "--sysconfdir=\${out}/etc" "--localstatedir=/var" - "--with-dbusconfdir=\${out}/etc" - "--with-dbusdatadir=\${out}/usr/share" + "--with-dbusconfdir=${placeholder "out"}/share" + "--with-dbusdatadir=${placeholder "out"}/share" "--disable-maintainer-mode" "--enable-openconnect=builtin" "--with-openconnect=${openconnect}/sbin/openconnect" From 9bdfcf221822e4e0421686588bc3b7add957e010 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 17 Sep 2019 21:03:08 -0400 Subject: [PATCH 054/129] gcc: use gcc8 on darwin --- pkgs/development/compilers/gcc/8/default.nix | 3 --- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 129ca72251f..f5572c077f3 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -373,9 +373,6 @@ stdenv.mkDerivation ({ stdenv.lib.platforms.freebsd ++ stdenv.lib.platforms.illumos ++ stdenv.lib.platforms.darwin; - - # See #40038 - broken = stdenv.isDarwin; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eee4ab70538..25bafbeb0c5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7518,7 +7518,7 @@ in gerbil-unstable = callPackage ../development/compilers/gerbil/unstable.nix { stdenv = gccStdenv; }; gccFun = callPackage ../development/compilers/gcc/8; - gcc = if stdenv.isDarwin then gcc7 else gcc8; + gcc = gcc8; gcc-unwrapped = gcc.cc; gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override { From 7db9c4cdcd8794d38fe3a37ab73a6dc4178f2df6 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Sep 2019 04:20:00 -0500 Subject: [PATCH 055/129] nodejs-12_x: 12.5.0 -> 12.10.0 --- .../web/nodejs/disable-libatomic-darwin.patch | 11 +++++++++++ pkgs/development/web/nodejs/v12.nix | 8 +++++--- 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/web/nodejs/disable-libatomic-darwin.patch diff --git a/pkgs/development/web/nodejs/disable-libatomic-darwin.patch b/pkgs/development/web/nodejs/disable-libatomic-darwin.patch new file mode 100644 index 00000000000..d6ac38138b8 --- /dev/null +++ b/pkgs/development/web/nodejs/disable-libatomic-darwin.patch @@ -0,0 +1,11 @@ +--- a/node.gyp ++++ b/node.gyp +@@ -289,7 +289,7 @@ + '-Wl,-bnoerrmsg', + ], + }], +- ['(OS=="linux" or OS=="mac") and llvm_version!=0', { ++ ['OS=="linux" and llvm_version!=0', { + 'libraries': ['-latomic'], + }], + ], diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix index ae74764384c..8e617e5e658 100644 --- a/pkgs/development/web/nodejs/v12.nix +++ b/pkgs/development/web/nodejs/v12.nix @@ -1,10 +1,12 @@ -{ callPackage, openssl, icu, enableNpm ? true }: +{ stdenv, callPackage, openssl, icu, enableNpm ? true }: let buildNodejs = callPackage ./nodejs.nix { inherit openssl icu; }; in buildNodejs { inherit enableNpm; - version = "12.5.0"; - sha256 = "08haqs104lw44l92bxfii18sdn7y1k07cz3p0ni9bhw7kh4vf5c7"; + version = "12.10.0"; + sha256 = "1k9hxqs23c3sxpr843ix8nidlca8wn30x0sq998j47wjc1ybh595"; + + patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ]; } From 69ded6f0182649eb0832a47ad747b86e91347fb8 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 11 Sep 2019 10:31:12 -0500 Subject: [PATCH 056/129] curl: 7.65.3 -> 7.66.0 --- pkgs/tools/networking/curl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 652bcdba874..b6426653ef4 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -24,14 +24,14 @@ assert brotliSupport -> brotli != null; assert gssSupport -> libkrb5 != null; stdenv.mkDerivation rec { - name = "curl-7.65.3"; + name = "curl-7.66.0"; src = fetchurl { urls = [ "https://curl.haxx.se/download/${name}.tar.bz2" "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2" ]; - sha256 = "02g5zj4rq5sr15jzjqk70xk4k92i2pdmpq00xb4pnba8ps1mx18a"; + sha256 = "0hd1wwplw357hn876s4n2gk7dpmd1gfw5d2c3yi21i1m09726636"; }; outputs = [ "bin" "dev" "out" "man" "devdoc" ]; From 919a459158cbe6cae5b760a5d8bb0e5d62f0697d Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 17 Apr 2019 12:43:37 -0500 Subject: [PATCH 057/129] curl: install completions (zsh, fish) --- pkgs/tools/networking/curl/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index b6426653ef4..817f3ccf19b 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -94,6 +94,9 @@ stdenv.mkDerivation rec { postInstall = '' moveToOutput bin/curl-config "$dev" + + # Install completions + make -C scripts install '' + stdenv.lib.optionalString scpSupport '' sed '/^dependency_libs/s|${libssh2.dev}|${libssh2.out}|' -i "$out"/lib/*.la '' + stdenv.lib.optionalString gnutlsSupport '' From 3125ab3afea16fbbd2ed24c06820c8386c7edb8d Mon Sep 17 00:00:00 2001 From: Linus Heckemann Date: Mon, 16 Sep 2019 18:00:30 +0200 Subject: [PATCH 058/129] buildEnv: check pathsToLink before checking collisions Fixes #32683 --- pkgs/build-support/buildenv/builder.pl | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/buildenv/builder.pl b/pkgs/build-support/buildenv/builder.pl index b699d762d29..fc6ffce735c 100755 --- a/pkgs/build-support/buildenv/builder.pl +++ b/pkgs/build-support/buildenv/builder.pl @@ -26,6 +26,19 @@ sub isInPathsToLink { return 0; } +# Returns whether a path in one of the linked packages may contain +# files in one of the elements of pathsToLink. +sub hasPathsToLink { + my $path = shift; + foreach my $elem (@pathsToLink) { + return 1 if + $path eq "" || + (substr($elem, 0, length($path)) eq $path + && (($path eq $elem) || (substr($elem, length($path), 1) eq "/"))); + } + return 0; +} + # Similar to `lib.isStorePath` sub isStorePath { my $path = shift; @@ -103,7 +116,8 @@ sub findFiles { $relName =~ /info\/dir/ || ( $relName =~ /^\/share\/mime\// && !( $relName =~ /^\/share\/mime\/packages/ ) ) || $baseName eq "perllocal.pod" || - $baseName eq "log"; + $baseName eq "log" || + ! (hasPathsToLink($relName) || isInPathsToLink($relName)); my ($oldTarget, $oldPriority) = @{$symlinks{$relName} // [undef, undef]}; From 24c6aef75a66920717a9485e3d9fe7fd3c1de05f Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 18 Sep 2019 11:27:50 -0400 Subject: [PATCH 059/129] Revert "setup.sh introduce isELFExec, isELFDyn" This reverts commit e1b80a5a99a3013c6556ec2e2e73ef6ca8e8b80b. This is broken in PIE (#68513). Best to not keep it in until something else starts using it. --- pkgs/stdenv/generic/setup.sh | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 311292169ec..ebcedce60b8 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -212,18 +212,6 @@ isELF() { if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi } -# Return success if the specified file is an ELF object -# and its e_type is ET_EXEC (executable file) -isELFExec() { - grep -ao -P '^\177ELF.{11}\x00\x02' "$1" >/dev/null -} - -# Return success if the specified file is an ELF object -# and its e_type is ET_DYN (shared object file) -isELFDyn() { - grep -ao -P '^\177ELF.{11}\x00\x03' "$1" >/dev/null -} - # Return success if the specified file is a script (i.e. starts with # "#!"). isScript() { From 51b2eaf3310da3270b96ca7f21743727f1d419c5 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 17:10:49 -0500 Subject: [PATCH 060/129] kdeFrameworks: 5.61.0 -> 5.62.0 --- .../libraries/kde-frameworks/fetch.sh | 2 +- .../libraries/kde-frameworks/srcs.nix | 632 +++++++++--------- 2 files changed, 317 insertions(+), 317 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh index 096376ca671..f06a515a83b 100644 --- a/pkgs/development/libraries/kde-frameworks/fetch.sh +++ b/pkgs/development/libraries/kde-frameworks/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/frameworks/5.61/ ) +WGET_ARGS=( https://download.kde.org/stable/frameworks/5.62/ ) diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix index 549f99a5588..85bd3b1452d 100644 --- a/pkgs/development/libraries/kde-frameworks/srcs.nix +++ b/pkgs/development/libraries/kde-frameworks/srcs.nix @@ -3,635 +3,635 @@ { attica = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/attica-5.61.0.tar.xz"; - sha256 = "9d3ad34c17223333b5a77144cc5a9d941cbb7baa01ab4a2ffe34ae9398c90dde"; - name = "attica-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/attica-5.62.0.tar.xz"; + sha256 = "86b5388c93dd3375dbdca23b20d539af5ed9516f6a573e32549baac3200d029f"; + name = "attica-5.62.0.tar.xz"; }; }; baloo = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/baloo-5.61.0.tar.xz"; - sha256 = "dd559e06237843f51d68eb5001b835037d4b2f6d62b7dc4d040961f9863632f1"; - name = "baloo-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/baloo-5.62.0.tar.xz"; + sha256 = "454e6808a5fe523785e5e67b7c0453fd1b6c42035aaf8084c39ad30bcbbc8d1a"; + name = "baloo-5.62.0.tar.xz"; }; }; bluez-qt = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/bluez-qt-5.61.0.tar.xz"; - sha256 = "0ea647de61fcc18a85c660fa8e05fe93072a713a8d00a018ba8e99ea790e5d27"; - name = "bluez-qt-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/bluez-qt-5.62.0.tar.xz"; + sha256 = "545a6c76042a077f04b0a6c2b8dfbe3b5b1a582edaae4454d7a57c06ab033715"; + name = "bluez-qt-5.62.0.tar.xz"; }; }; breeze-icons = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/breeze-icons-5.61.0.tar.xz"; - sha256 = "1d260a01a2617f5f755d2eb38423af19bf4a1a2ccfa9339b441b4f6be6381c30"; - name = "breeze-icons-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/breeze-icons-5.62.0.tar.xz"; + sha256 = "5858100f1a87dc865f44cde159aaee025ec46f894f544c75086ea0e8f9555951"; + name = "breeze-icons-5.62.0.tar.xz"; }; }; extra-cmake-modules = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/extra-cmake-modules-5.61.0.tar.xz"; - sha256 = "a86a3b12c8a540af822131a8d65586d985267b1d642c29b4815b6c7870bc126c"; - name = "extra-cmake-modules-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/extra-cmake-modules-5.62.0.tar.xz"; + sha256 = "e07acfecef1b4c7a481a253b58b75072a4f887376301108ed2c753b5002adcd4"; + name = "extra-cmake-modules-5.62.0.tar.xz"; }; }; frameworkintegration = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/frameworkintegration-5.61.0.tar.xz"; - sha256 = "a1a2bbb15d287b67643750cb5414ceb10c6583861dd5c00118010d409f106efb"; - name = "frameworkintegration-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/frameworkintegration-5.62.0.tar.xz"; + sha256 = "0d43d6cd008359eac4840c8b6e12d2b17eeb53c95111af1f7e8ca6ae8e6aca2c"; + name = "frameworkintegration-5.62.0.tar.xz"; }; }; kactivities = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kactivities-5.61.0.tar.xz"; - sha256 = "0d7d7e5bd68541ad1dcf1f96c7205330cb7b075c6ff0d8b46774e781eff84af5"; - name = "kactivities-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kactivities-5.62.0.tar.xz"; + sha256 = "b466b8921adad6d887f93f760634dfa344ae52df83c58dd7ae75174961def85b"; + name = "kactivities-5.62.0.tar.xz"; }; }; kactivities-stats = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kactivities-stats-5.61.0.tar.xz"; - sha256 = "9062eb0f189f1b50674e65a7db9a4b821c628acd1ac650000cebbf1f7bdf0068"; - name = "kactivities-stats-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kactivities-stats-5.62.0.tar.xz"; + sha256 = "e6850a59d2e3dd566c77aa2b2fdc684737634b59755dcc7de231b8b496acbc1a"; + name = "kactivities-stats-5.62.0.tar.xz"; }; }; kapidox = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kapidox-5.61.0.tar.xz"; - sha256 = "3c948c87c7f7b16a3835f7df8387c110efe5fefecf8a7d6ffa1cae647be0669f"; - name = "kapidox-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kapidox-5.62.0.tar.xz"; + sha256 = "6aa3928b26acc23f5271ba0591d64a55c342e36ae16094e09be1ef038538952f"; + name = "kapidox-5.62.0.tar.xz"; }; }; karchive = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/karchive-5.61.0.tar.xz"; - sha256 = "457ed420449630625cb161fcc9bedc7c6a16527f48d6db4008aea76cdb948387"; - name = "karchive-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/karchive-5.62.0.tar.xz"; + sha256 = "99980ebdc16dd9ac062fcfda0974c0ce894c09a395caf914518646ffdc48e3ca"; + name = "karchive-5.62.0.tar.xz"; }; }; kauth = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kauth-5.61.0.tar.xz"; - sha256 = "b04458f32046b2dd61b48118646180df63d2c843cb2d53560aaa15168df087f1"; - name = "kauth-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kauth-5.62.0.tar.xz"; + sha256 = "31162621200df4b927719e34ce62004c51e79b9d785f9c3056c6902f80eeefe6"; + name = "kauth-5.62.0.tar.xz"; }; }; kbookmarks = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kbookmarks-5.61.0.tar.xz"; - sha256 = "24f87ff1acc5f0c257518f67af277b454566e607f82eb09e75b4a6ed02403377"; - name = "kbookmarks-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kbookmarks-5.62.0.tar.xz"; + sha256 = "69318784fa5feaee3e60bb159fb6c827475a8ce28a74bedf5939ad592c29ea4f"; + name = "kbookmarks-5.62.0.tar.xz"; }; }; kcmutils = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kcmutils-5.61.0.tar.xz"; - sha256 = "b8b79ef2f4513fbe5e4c61cf4726ed33b95efffabdd512fcc2dcff23c23cdfa7"; - name = "kcmutils-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kcmutils-5.62.0.tar.xz"; + sha256 = "93fd9b7b97cb4488f2007a4f518159129f0caafc05a004be56c87dd355870b1b"; + name = "kcmutils-5.62.0.tar.xz"; }; }; kcodecs = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kcodecs-5.61.0.tar.xz"; - sha256 = "4604323e44c1be7547f25b43b71bd541048c3d036a7fc5ca74e5ece9792ff5ee"; - name = "kcodecs-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kcodecs-5.62.0.tar.xz"; + sha256 = "1b015be0200444f1ce18ecc5c05dbafde62575a8e094e48698b4b64f43f307b1"; + name = "kcodecs-5.62.0.tar.xz"; }; }; kcompletion = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kcompletion-5.61.0.tar.xz"; - sha256 = "68697be65d6c9e0053fc3e504170d23c3162c05a0a9027249c575bc6dc8bd3ec"; - name = "kcompletion-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kcompletion-5.62.0.tar.xz"; + sha256 = "af774190ca1a0e4d335485548d6e5c1e02042a5d0e29a3c0db17c24e3656edec"; + name = "kcompletion-5.62.0.tar.xz"; }; }; kconfig = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kconfig-5.61.0.tar.xz"; - sha256 = "94c0e292a5d57e014aa745be6b59a989118ead1252d56c768f2719b5c6471372"; - name = "kconfig-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kconfig-5.62.0.tar.xz"; + sha256 = "fffe16924245e34d6267e67a6d425dc7b4fdab405968bffa4fff7bea5779bb51"; + name = "kconfig-5.62.0.tar.xz"; }; }; kconfigwidgets = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kconfigwidgets-5.61.0.tar.xz"; - sha256 = "4cc1e55c5f994abbec03b32bef73bdf54c2613199a446ad63f4ced6e3a0e2165"; - name = "kconfigwidgets-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kconfigwidgets-5.62.0.tar.xz"; + sha256 = "6c10810725e0b109c96ddc2246ca1741bcae012296e31caf7b41167a04ae31d6"; + name = "kconfigwidgets-5.62.0.tar.xz"; }; }; kcoreaddons = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kcoreaddons-5.61.0.tar.xz"; - sha256 = "6a4ea2eca77944c24fe63d2f7111913db721533d5971497cb5bdd2cac896e813"; - name = "kcoreaddons-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kcoreaddons-5.62.0.tar.xz"; + sha256 = "3819e2792a2e61444e337cd1a4cbdc362c18810918376eefc30b203fbd160b41"; + name = "kcoreaddons-5.62.0.tar.xz"; }; }; kcrash = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kcrash-5.61.0.tar.xz"; - sha256 = "83e6333ea0cd7d1ded3fa84f126e3c86a010d7bdb7fd183e7c5d42a8b8e74db8"; - name = "kcrash-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kcrash-5.62.0.tar.xz"; + sha256 = "9fac9396212148aade4b59665ec1725fa76e229f24c46b601f066e0026eddd2c"; + name = "kcrash-5.62.0.tar.xz"; }; }; kdbusaddons = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kdbusaddons-5.61.0.tar.xz"; - sha256 = "f24fadc71670591bb679cde68147e53819f6c3d56126ecbafe59688fc47b347d"; - name = "kdbusaddons-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kdbusaddons-5.62.0.tar.xz"; + sha256 = "d32e0b16abcb2b1593a567b0ef12cfb94ec2f08e5b8a3ec56efac19b22ca0152"; + name = "kdbusaddons-5.62.0.tar.xz"; }; }; kdeclarative = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kdeclarative-5.61.0.tar.xz"; - sha256 = "464a77f88cce72c1616654c371068c11d51e484e0de5c0c5e032126d71afedaa"; - name = "kdeclarative-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kdeclarative-5.62.0.tar.xz"; + sha256 = "804bc6dd1848fe38b9160a680f3d9f9b67d47150ee9683b3d2c5a07b96a12e46"; + name = "kdeclarative-5.62.0.tar.xz"; }; }; kded = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kded-5.61.0.tar.xz"; - sha256 = "ca970111cb2d0073305a226cc005e2085952c2a02703168a775f954d27d723bc"; - name = "kded-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kded-5.62.0.tar.xz"; + sha256 = "d2d7a979114ca770442cec0f89fe87730ff0c44b98ee64b39c2cada672fc03b1"; + name = "kded-5.62.0.tar.xz"; }; }; kdelibs4support = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/portingAids/kdelibs4support-5.61.0.tar.xz"; - sha256 = "ae6f7c10e1fe67ded687f38a8ab3c8d483ae06ae69344bd1e683af752cf40b5c"; - name = "kdelibs4support-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/portingAids/kdelibs4support-5.62.0.tar.xz"; + sha256 = "9cc10b4727b8ee3bae46af796e7da5d6ae620c543278814176a389ea178595ed"; + name = "kdelibs4support-5.62.0.tar.xz"; }; }; kdesignerplugin = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kdesignerplugin-5.61.0.tar.xz"; - sha256 = "6b204dffbb4897f51143650d75383b5a3ddf4254455e5827d316c7b4ee7b3f33"; - name = "kdesignerplugin-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/portingAids/kdesignerplugin-5.62.0.tar.xz"; + sha256 = "b5c0769d0b1df99f456c3c6f22a48e8bdf9c15f00be2e0795ae5bc5170596e47"; + name = "kdesignerplugin-5.62.0.tar.xz"; }; }; kdesu = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kdesu-5.61.0.tar.xz"; - sha256 = "398e74bdfe695ec2d7b57ce78f9fce3e19bb447a8eb5924441718a8f7384f888"; - name = "kdesu-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kdesu-5.62.0.tar.xz"; + sha256 = "9c22ad0a5c1d948a91846a34066155f64758b69ab005eb423bb02ba06301c80e"; + name = "kdesu-5.62.0.tar.xz"; }; }; kdewebkit = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/portingAids/kdewebkit-5.61.0.tar.xz"; - sha256 = "1ee2a00ee3d95df9270e8c3d434568cda8f42151e361bc07fe374bf0f7afe211"; - name = "kdewebkit-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/portingAids/kdewebkit-5.62.0.tar.xz"; + sha256 = "5e45a7866b28d69e6d28f821011c020e53cc6e5b59bcdb7a5d9cb7bda37175e4"; + name = "kdewebkit-5.62.0.tar.xz"; }; }; kdnssd = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kdnssd-5.61.0.tar.xz"; - sha256 = "02d70e5ee18697867c1a12373c1dbe31e1efba1fcb1e26bba3c75472cd3b271d"; - name = "kdnssd-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kdnssd-5.62.0.tar.xz"; + sha256 = "21554c6faf2f7136fb8f7a2908340c120ed0d5dc1475f5aeb8cafed1e4228009"; + name = "kdnssd-5.62.0.tar.xz"; }; }; kdoctools = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kdoctools-5.61.0.tar.xz"; - sha256 = "e48d8f8f075171c6b83189999a10552c772c6a7e9a115a2643414f9ecec77c6f"; - name = "kdoctools-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kdoctools-5.62.0.tar.xz"; + sha256 = "471ce5106f80af7272d2ea54265bde5a833c8de7716e8bd82f7a5742939c3f48"; + name = "kdoctools-5.62.0.tar.xz"; }; }; kemoticons = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kemoticons-5.61.0.tar.xz"; - sha256 = "cfc17de43320fbb353be30ae8d5b448b88da6f83bd23e29d678cd95a4bd7a380"; - name = "kemoticons-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kemoticons-5.62.0.tar.xz"; + sha256 = "fab145b2c4106be8a4f0024cb436d02d0fdcbf8666e9a790cc1cd98db1e70313"; + name = "kemoticons-5.62.0.tar.xz"; }; }; kfilemetadata = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kfilemetadata-5.61.0.tar.xz"; - sha256 = "15f20af053c71c1e5ba6c6ade90b7cce27645b27ee30f1e6e73038e81a2c958e"; - name = "kfilemetadata-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kfilemetadata-5.62.0.tar.xz"; + sha256 = "2d8488500b19a7d8f90712775e0353e16957857a89162d6c7b947dd5536245b0"; + name = "kfilemetadata-5.62.0.tar.xz"; }; }; kglobalaccel = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kglobalaccel-5.61.0.tar.xz"; - sha256 = "ad6bd2648e39854369555dd8a0823b08d9631f3638472627eb80e01d9902150e"; - name = "kglobalaccel-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kglobalaccel-5.62.0.tar.xz"; + sha256 = "b087ec1a23a50787d27e8c5d618d4097375a2f7b6188bc9077a5e60d11e2c04d"; + name = "kglobalaccel-5.62.0.tar.xz"; }; }; kguiaddons = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kguiaddons-5.61.0.tar.xz"; - sha256 = "40cefa421b5ad5cf211875a35408ba526a5fb34e5ba19ebbda718dbf6b742520"; - name = "kguiaddons-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kguiaddons-5.62.0.tar.xz"; + sha256 = "5fc61818ed054901a8b1a6a56a83ccaf5f38d9ea7c5761fa6279cd7316d81e44"; + name = "kguiaddons-5.62.0.tar.xz"; }; }; kholidays = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kholidays-5.61.0.tar.xz"; - sha256 = "ce3d879824a3e429b468008c1ccec5de44c07299d412ea32f9a2a814c27c08c1"; - name = "kholidays-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kholidays-5.62.0.tar.xz"; + sha256 = "f9f7cc399b35cef9348b8fbaabb87145b689165a66b874e3250456f6bbdcb329"; + name = "kholidays-5.62.0.tar.xz"; }; }; khtml = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/portingAids/khtml-5.61.0.tar.xz"; - sha256 = "5d8612b584eecf96959d56bb75b1470b3b34ff7176cef7a0a15bc2531b21720b"; - name = "khtml-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/portingAids/khtml-5.62.0.tar.xz"; + sha256 = "35e3f7e419041f0892ea42c6506b627661137602c25f0f1d6a81537b583682c1"; + name = "khtml-5.62.0.tar.xz"; }; }; ki18n = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/ki18n-5.61.0.tar.xz"; - sha256 = "d8c0594268b386ee42823360aa937c664cf04eedac8232bc18a653a9c52491d9"; - name = "ki18n-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/ki18n-5.62.0.tar.xz"; + sha256 = "b11a0c94c7149798f3f6592e2c386a682d9c528d1e10a59ed3934a93acbc79cb"; + name = "ki18n-5.62.0.tar.xz"; }; }; kiconthemes = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kiconthemes-5.61.0.tar.xz"; - sha256 = "341741abd0b8aeeec8a2a87fe781b4ec1ab593563b1c063cdfdccead3706cdd7"; - name = "kiconthemes-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kiconthemes-5.62.0.tar.xz"; + sha256 = "33fb5caf28ee763edeb3def66386a27f6a7b2bac6a6a0f0728dd4b222d11ebfe"; + name = "kiconthemes-5.62.0.tar.xz"; }; }; kidletime = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kidletime-5.61.0.tar.xz"; - sha256 = "8fb302dcc5b891ac2f06b5278bd6e08043772f3325bc209175c945280621fca2"; - name = "kidletime-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kidletime-5.62.0.tar.xz"; + sha256 = "dd2b6a9f7815c8e84b635e694cbf9ee207996d2cf3adb5a85eadd4a8de37f276"; + name = "kidletime-5.62.0.tar.xz"; }; }; kimageformats = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kimageformats-5.61.0.tar.xz"; - sha256 = "5a81359a043e201b29e205dd93559de077e0317d26712cb1c07e624d76aeb207"; - name = "kimageformats-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kimageformats-5.62.0.tar.xz"; + sha256 = "65c179e15dd9c81a4515eb9189951641cca4aad9e7456067a208658ce205c2c2"; + name = "kimageformats-5.62.0.tar.xz"; }; }; kinit = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kinit-5.61.0.tar.xz"; - sha256 = "1806bba9cc3f4d9c5ed23f49eca30707e8f74a99d35f5022130a46a395f2858f"; - name = "kinit-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kinit-5.62.0.tar.xz"; + sha256 = "5c4b066362ab6528b5c9ac654c20cc4eeed87e5384b26b3aa1df968c98c1e21a"; + name = "kinit-5.62.0.tar.xz"; }; }; kio = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kio-5.61.0.tar.xz"; - sha256 = "1fa35126f8167bdbe029e515d01c8d4b91a07556ce6d5c9418e0ea10d7c2e44e"; - name = "kio-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kio-5.62.0.tar.xz"; + sha256 = "70b5c93d8d0be16f4b454bcdafe9533b654f13ef55e816c9024d4d3c5df52d86"; + name = "kio-5.62.0.tar.xz"; }; }; kirigami2 = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kirigami2-5.61.0.tar.xz"; - sha256 = "afdbe922f0627330319f22834d6631af13edb0081c687422d36acb8697a88c30"; - name = "kirigami2-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kirigami2-5.62.0.tar.xz"; + sha256 = "b3cc36bddb5e52617075961b2cbaecbb94492523bcc6801a3ad29a35c43bd912"; + name = "kirigami2-5.62.0.tar.xz"; }; }; kitemmodels = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kitemmodels-5.61.0.tar.xz"; - sha256 = "47db271ba24904933629ed00f7a4f916a19969967dcfbfd59ae5e98f08f89d68"; - name = "kitemmodels-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kitemmodels-5.62.0.tar.xz"; + sha256 = "4ed6c4081cf6493d6f40ab45deb61325346ab8577eadec7ba8af6a36d7a6485e"; + name = "kitemmodels-5.62.0.tar.xz"; }; }; kitemviews = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kitemviews-5.61.0.tar.xz"; - sha256 = "0447b361444a853409f65e2fb5650cc95eb799ca54a5d7e15cd6d8ca527002da"; - name = "kitemviews-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kitemviews-5.62.0.tar.xz"; + sha256 = "34881a269bdae7e3643ab73290931859437fde72042a066170e7467422408065"; + name = "kitemviews-5.62.0.tar.xz"; }; }; kjobwidgets = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kjobwidgets-5.61.0.tar.xz"; - sha256 = "5246c2a230e3b4e9d7ba87c5a6b13b5f96fef6af0d1262f27f91fa0c619cf378"; - name = "kjobwidgets-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kjobwidgets-5.62.0.tar.xz"; + sha256 = "e3607167361fdd6874a165881de523505bd00d8fabb755abf62114c017a39c93"; + name = "kjobwidgets-5.62.0.tar.xz"; }; }; kjs = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/portingAids/kjs-5.61.0.tar.xz"; - sha256 = "968e1592c98ee260d80644bf4631bf09479512e48fa878887ee3b9d6d57d3d17"; - name = "kjs-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/portingAids/kjs-5.62.0.tar.xz"; + sha256 = "aaff97d97e3163f890001b7d2e4c0329fdd9d9c53ce4924233246f3ef6cd5962"; + name = "kjs-5.62.0.tar.xz"; }; }; kjsembed = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/portingAids/kjsembed-5.61.0.tar.xz"; - sha256 = "d8e0afad638574c31c89d716d78456ce51ffe6dd03eae6787bc9b4f8b52d5b44"; - name = "kjsembed-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/portingAids/kjsembed-5.62.0.tar.xz"; + sha256 = "3763c5f67fa92803b5003a41c5b696524be3d0528018a3d5643abc25b161c23b"; + name = "kjsembed-5.62.0.tar.xz"; }; }; kmediaplayer = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/portingAids/kmediaplayer-5.61.0.tar.xz"; - sha256 = "ae15a4a39e6530b505d699fb1b1ab3fd5f0e64d87dd758db17702463e44ce181"; - name = "kmediaplayer-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/portingAids/kmediaplayer-5.62.0.tar.xz"; + sha256 = "2d7fa77c085ab0a48e3ce41ec5d6ffa16fbf7194f2d6ace43e37967c0ffb7880"; + name = "kmediaplayer-5.62.0.tar.xz"; }; }; knewstuff = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/knewstuff-5.61.0.tar.xz"; - sha256 = "87f8ec030223f5f0e4e39de8407fc0d28542e48e057c1752adb2466c55fe365b"; - name = "knewstuff-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/knewstuff-5.62.0.tar.xz"; + sha256 = "5ec7806bf1c5d24a0f393fc48950afefc4bbd1b04b2ad1db59f5f05ecd8f0195"; + name = "knewstuff-5.62.0.tar.xz"; }; }; knotifications = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/knotifications-5.61.0.tar.xz"; - sha256 = "f72ce6394465316a5324e38afb07f4f71d5f8e281d09b5cf340246c9905568ac"; - name = "knotifications-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/knotifications-5.62.0.tar.xz"; + sha256 = "55ec35bc9ddccd12289d9501b11d453885eabb9caebd4b93199d7c662a147263"; + name = "knotifications-5.62.0.tar.xz"; }; }; knotifyconfig = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/knotifyconfig-5.61.0.tar.xz"; - sha256 = "bbd2260a98f70779415369ca1d99807bc3e57f618024b9663d2a462a74169bee"; - name = "knotifyconfig-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/knotifyconfig-5.62.0.tar.xz"; + sha256 = "bb51d1a3f69f9faf274ee381d6d267bf4a69edbbdfcfd9efcab76270db4f8e4d"; + name = "knotifyconfig-5.62.0.tar.xz"; }; }; kpackage = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kpackage-5.61.0.tar.xz"; - sha256 = "8ff82d14fe0dd92ac774d5cd9cd6334b01574f0f5c584266f97359dde5db9a5f"; - name = "kpackage-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kpackage-5.62.0.tar.xz"; + sha256 = "588e6f7b0c066993dbd9b6a0fd2535cd2f1c58ea5bd7ebe1dc381049776bbf62"; + name = "kpackage-5.62.0.tar.xz"; }; }; kparts = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kparts-5.61.0.tar.xz"; - sha256 = "f223b38f34f009bb25511ce7d97c607102cbb0a1bd0253ec1b7d1fe1b7c81436"; - name = "kparts-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kparts-5.62.0.tar.xz"; + sha256 = "2249e70de0b57f13d8ee7a2840106b5a4aed05a6b73da9245101e0cbc9c846ef"; + name = "kparts-5.62.0.tar.xz"; }; }; kpeople = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kpeople-5.61.0.tar.xz"; - sha256 = "549edacd7b63d704dd165bc803ae03f8d9e8c1ba31f8dbaea3f7e12c466b4298"; - name = "kpeople-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kpeople-5.62.0.tar.xz"; + sha256 = "e061991f08e6642e61531a630a81927ea0ccd7402f469806a6cfeecf9b5064a2"; + name = "kpeople-5.62.0.tar.xz"; }; }; kplotting = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kplotting-5.61.0.tar.xz"; - sha256 = "95781b50bef0e081e48b472b4fcbbcd3301ec45245498261e4a3ec8e42b892ba"; - name = "kplotting-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kplotting-5.62.0.tar.xz"; + sha256 = "7472943518a4b0e2fe1877ce47b9f667e178822926985a0efc9c20361097b94e"; + name = "kplotting-5.62.0.tar.xz"; }; }; kpty = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kpty-5.61.0.tar.xz"; - sha256 = "b91a88c00d3387927d1f6886a04e6e5bcc615ee1d0e72f647d51320ebf73471c"; - name = "kpty-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kpty-5.62.0.tar.xz"; + sha256 = "6efd3a3103f15ee825b220ac309bcce3bbce56e9b915e61a4277a2cb096bcb96"; + name = "kpty-5.62.0.tar.xz"; }; }; kross = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/portingAids/kross-5.61.0.tar.xz"; - sha256 = "103837799febbd62365a6445db046a2ee4add13d7d250abf925872cac642986e"; - name = "kross-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/portingAids/kross-5.62.0.tar.xz"; + sha256 = "38bf9a57f181d823974a00896d89ae7106488c2ccbd7179e295d297edb338563"; + name = "kross-5.62.0.tar.xz"; }; }; krunner = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/krunner-5.61.0.tar.xz"; - sha256 = "f32ea603a9bcb9c2e39231f99bfc6079d118eebbf2c72e0818e2a9cd060543be"; - name = "krunner-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/krunner-5.62.0.tar.xz"; + sha256 = "21b9564d07395f0e1c5c09557ffc64eb1929dd8925914fdb581f5daa537b01fc"; + name = "krunner-5.62.0.tar.xz"; }; }; kservice = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kservice-5.61.0.tar.xz"; - sha256 = "4489ac4553522bb76604e284338ab37a7a2369eea45dadd96a955fedf8ca99f9"; - name = "kservice-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kservice-5.62.0.tar.xz"; + sha256 = "a2e105ae8202fa0d9f443490c56e25083c0b9ee285aa82fa26bb8a14f9999db8"; + name = "kservice-5.62.0.tar.xz"; }; }; ktexteditor = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/ktexteditor-5.61.0.tar.xz"; - sha256 = "ae99eacb445f8bc27af379d1ec54e8df4d25f601fc12053bc2928a8c639ad0cb"; - name = "ktexteditor-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/ktexteditor-5.62.0.tar.xz"; + sha256 = "e02d54035367071d44a1499a7f6c482491116c5676fa8ceb57b1e9f564975092"; + name = "ktexteditor-5.62.0.tar.xz"; }; }; ktextwidgets = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/ktextwidgets-5.61.0.tar.xz"; - sha256 = "a2fddad3dda750ea6bdb104c460e50586946ded3e1f46a8729dbd304016a0b5a"; - name = "ktextwidgets-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/ktextwidgets-5.62.0.tar.xz"; + sha256 = "ec34931658cbe3a7ad7419a6e588cd9f9981e9b5ab2400e8b6f2b79b29f83774"; + name = "ktextwidgets-5.62.0.tar.xz"; }; }; kunitconversion = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kunitconversion-5.61.0.tar.xz"; - sha256 = "e5ffa3ff954c46b2416823467fcecd37c6ddb8304529703bc9cc3a24b74b6c24"; - name = "kunitconversion-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kunitconversion-5.62.0.tar.xz"; + sha256 = "e96ce3efcb6efe3afc0d5cf093971ea89fe2f20660da16349309cf6748446f41"; + name = "kunitconversion-5.62.0.tar.xz"; }; }; kwallet = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kwallet-5.61.0.tar.xz"; - sha256 = "628ded35a8f44750a770bf10bba9a763994660923a689eee05f8dfb7e92baec8"; - name = "kwallet-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kwallet-5.62.0.tar.xz"; + sha256 = "911d1f3320e7e3d25243e134ba0e42cd5e3ed2ee6c846dbb13777b1a4b338a5b"; + name = "kwallet-5.62.0.tar.xz"; }; }; kwayland = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kwayland-5.61.0.tar.xz"; - sha256 = "42d3bc629710e09074006af288986b00683853660648c9364fb09d49db3f0e07"; - name = "kwayland-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kwayland-5.62.0.tar.xz"; + sha256 = "c9f513008c91e70b09f5acb76dde332491afde0e94948066c2f1e621bc368eb6"; + name = "kwayland-5.62.0.tar.xz"; }; }; kwidgetsaddons = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kwidgetsaddons-5.61.0.tar.xz"; - sha256 = "5abc169f431fba18418f23ff1749414d8318baff868a7b821916cc44508c6891"; - name = "kwidgetsaddons-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kwidgetsaddons-5.62.0.tar.xz"; + sha256 = "3a8e75d544783a1f567016f2669c3cfdbf2809b0a3d25afd03d38af62a493671"; + name = "kwidgetsaddons-5.62.0.tar.xz"; }; }; kwindowsystem = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kwindowsystem-5.61.0.tar.xz"; - sha256 = "17958b612e751e838aa7a0d4f8c7a8a8d83d3f4ace5498fe1f2b8650a2d8f984"; - name = "kwindowsystem-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kwindowsystem-5.62.0.tar.xz"; + sha256 = "116d75216ea001b2fc8688a72bcc6105b0b0966a2c5a084497f3aef80d158a67"; + name = "kwindowsystem-5.62.0.tar.xz"; }; }; kxmlgui = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kxmlgui-5.61.0.tar.xz"; - sha256 = "867ff1c3ad464bb6268d00ca290569ef1da7659d3fd2f6349015bc3e2562836b"; - name = "kxmlgui-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kxmlgui-5.62.0.tar.xz"; + sha256 = "bc4321b4d44b0af1c2808814b89231a8c9e86de22ca1c0b080a769819ebc5d50"; + name = "kxmlgui-5.62.0.tar.xz"; }; }; kxmlrpcclient = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/kxmlrpcclient-5.61.0.tar.xz"; - sha256 = "382b4730e4b32c1d300f8fdb6269e40995ec282ebe1cbb044ab1a2b2b68c3a1a"; - name = "kxmlrpcclient-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kxmlrpcclient-5.62.0.tar.xz"; + sha256 = "c284c3e5962d2ed6d0737e5814b85fa4d7926131b7799272cb56c464a12c4530"; + name = "kxmlrpcclient-5.62.0.tar.xz"; }; }; modemmanager-qt = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/modemmanager-qt-5.61.0.tar.xz"; - sha256 = "c9883a3aac7415045a03f0bda435a2a5ff7523538868b72dffa8e4b40e88502a"; - name = "modemmanager-qt-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/modemmanager-qt-5.62.0.tar.xz"; + sha256 = "b2a6517377b53aca895efd657d553dc5b057a673c07ccb10786031240b11adf5"; + name = "modemmanager-qt-5.62.0.tar.xz"; }; }; networkmanager-qt = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/networkmanager-qt-5.61.0.tar.xz"; - sha256 = "1ded63af93957a04292e965ecce06388f183d3adc555b4f3d33337ee15d858c3"; - name = "networkmanager-qt-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/networkmanager-qt-5.62.0.tar.xz"; + sha256 = "08f73ced96866b9dfded574a87c9e887dc907fc510d2764a4aa09315511cedf9"; + name = "networkmanager-qt-5.62.0.tar.xz"; }; }; oxygen-icons5 = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/oxygen-icons5-5.61.0.tar.xz"; - sha256 = "1ca8f6e42186d069cb4f0581914b147cabc3be3e720c382e77048be134bb1b26"; - name = "oxygen-icons5-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/oxygen-icons5-5.62.0.tar.xz"; + sha256 = "c066bc96fd45f3553e3c344c7cef34afda3180c95bf67af6cf20e964fd5c1a00"; + name = "oxygen-icons5-5.62.0.tar.xz"; }; }; plasma-framework = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/plasma-framework-5.61.0.tar.xz"; - sha256 = "873d604aadbe21ba38cdb12b778d3baf121a54e6155596f0ebee1840138060fe"; - name = "plasma-framework-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/plasma-framework-5.62.0.tar.xz"; + sha256 = "324bf14078459954c355bb6f146b927f6cbf915109365cdc58c1d81c8495bdb4"; + name = "plasma-framework-5.62.0.tar.xz"; }; }; prison = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/prison-5.61.0.tar.xz"; - sha256 = "9ebab1755e9d7cb01b2aa6e8b63640eb112d8557073423abdb94faecb42d87ab"; - name = "prison-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/prison-5.62.0.tar.xz"; + sha256 = "d7a024881119e2e91fe2ef98ec982f33e87d3f5584c3e4438638e23cf0106fb0"; + name = "prison-5.62.0.tar.xz"; }; }; purpose = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/purpose-5.61.0.tar.xz"; - sha256 = "810a660d0a4d6de41e1b4d00fcb039d3b099ceae65ec96261ca8dd1fba458d08"; - name = "purpose-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/purpose-5.62.0.tar.xz"; + sha256 = "ed0bdc72b1b95fe988fb2ceba5cc1bd36b5bf00d30c098e9de50fdc36d3b3492"; + name = "purpose-5.62.0.tar.xz"; }; }; qqc2-desktop-style = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/qqc2-desktop-style-5.61.0.tar.xz"; - sha256 = "26042c4f939b94caa559cba3ef171ef7bb1490f57c9907f5e4b30a701659abb4"; - name = "qqc2-desktop-style-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/qqc2-desktop-style-5.62.0.tar.xz"; + sha256 = "97234e956a7fc09bef0665e9a759d6f370419bd3cd2bbbd700849e4cbe549bfa"; + name = "qqc2-desktop-style-5.62.0.tar.xz"; }; }; solid = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/solid-5.61.0.tar.xz"; - sha256 = "c3a032086eacbb836fc102bd77236285ad5a808c0537ff55dbacda539ba3eacf"; - name = "solid-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/solid-5.62.0.tar.xz"; + sha256 = "24a01a7e89b2c1e39cb9ebc477f80f5ab966d35fce00f63682b159a15de64cc3"; + name = "solid-5.62.0.tar.xz"; }; }; sonnet = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/sonnet-5.61.0.tar.xz"; - sha256 = "4c8818897ea5dac25e0120acfd4e15c44adf2ee76749870b8f70178f1a3d8b29"; - name = "sonnet-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/sonnet-5.62.0.tar.xz"; + sha256 = "a1a2d3500d7fc51d94fd6f9d951c83be86436284aeda8416963fc5213956a69a"; + name = "sonnet-5.62.0.tar.xz"; }; }; syndication = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/syndication-5.61.0.tar.xz"; - sha256 = "2803b2960dd23492ad002e0f23563c9f06500ddc144dd0be2e3e0ef2f6c1f576"; - name = "syndication-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/syndication-5.62.0.tar.xz"; + sha256 = "d315a5a5e691925df44ce30abbd5208b764a72eb42d38dc5b5ca134d71c05462"; + name = "syndication-5.62.0.tar.xz"; }; }; syntax-highlighting = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/syntax-highlighting-5.61.0.tar.xz"; - sha256 = "475392c03534d7b5301ff2e02461444e463ad4def985da81ad4b315660416721"; - name = "syntax-highlighting-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/syntax-highlighting-5.62.0.tar.xz"; + sha256 = "897fac9ec2e5112d629da464d47223129e547c314369e1518a12c5c94ff2a6fd"; + name = "syntax-highlighting-5.62.0.tar.xz"; }; }; threadweaver = { - version = "5.61.0"; + version = "5.62.0"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.61/threadweaver-5.61.0.tar.xz"; - sha256 = "e7a0cecfaa60c7a8e4bdd4dfe842fb54a344d331a6c62316c147d8dc2a5e5843"; - name = "threadweaver-5.61.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/threadweaver-5.62.0.tar.xz"; + sha256 = "aa1704c20c6d38fde4f9988e13cb97356e1c69c7a9d0401870b1515a2814294a"; + name = "threadweaver-5.62.0.tar.xz"; }; }; } From a280f3a0f33d044e36045d01e3aae0f051d05569 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 18:39:06 -0500 Subject: [PATCH 061/129] extra-cmake-modules: fixup patch --- .../kde-frameworks/extra-cmake-modules/nix-lib-path.patch | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch index bd105d2b4a9..f019e67d3f0 100644 --- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch @@ -1,8 +1,8 @@ diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake -index 275fd65..a04596c 100644 +index 0acd33f..c04b0a5 100644 --- a/kde-modules/KDEInstallDirs.cmake +++ b/kde-modules/KDEInstallDirs.cmake -@@ -232,34 +232,6 @@ +@@ -236,35 +236,6 @@ # GNUInstallDirs code deals with re-configuring, but that is dealt with # by the _define_* macros in this module). set(_LIBDIR_DEFAULT "lib") @@ -17,6 +17,7 @@ index 275fd65..a04596c 100644 -# See https://wiki.debian.org/Multiarch -if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") - AND NOT CMAKE_CROSSCOMPILING +- AND NOT EXISTS "/etc/arch-release" - AND NOT DEFINED ENV{FLATPAK_ID}) - if (EXISTS "/etc/debian_version") # is this a debian system ? - if(CMAKE_LIBRARY_ARCHITECTURE) From d6b8a07178486aa8d8fcbbce5c920f18d969ce71 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 19:16:25 -0500 Subject: [PATCH 062/129] kdeFrameworks.kconfigwidgets: qttools for Qt5UiPlugin --- .../libraries/kde-frameworks/kconfigwidgets/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix index e06d9547de0..3d7c7cdedef 100644 --- a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix @@ -1,13 +1,13 @@ { mkDerivation, lib, extra-cmake-modules, - kauth, kcodecs, kconfig, kdoctools, kguiaddons, ki18n, kwidgetsaddons, qtbase, + kauth, kcodecs, kconfig, kdoctools, kguiaddons, ki18n, kwidgetsaddons, qttools, qtbase, }: mkDerivation { name = "kconfigwidgets"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kguiaddons ki18n qtbase ]; + buildInputs = [ kguiaddons ki18n qtbase qttools ]; propagatedBuildInputs = [ kauth kcodecs kconfig kwidgetsaddons ]; patches = [ ./0001-qdiriterator-follow-symlinks.patch ]; outputs = [ "out" "dev" ]; From 061e007e6c5ae94eb50c201042cac38bd4b18c93 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 19:36:16 -0500 Subject: [PATCH 063/129] kdeFrameworks.kiconthemes: qttools for Qt5UiPlugin --- .../libraries/kde-frameworks/kiconthemes/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix index 4b8e0059377..8faac005f2a 100644 --- a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix @@ -2,7 +2,7 @@ mkDerivation, lib, copyPathsToStore, extra-cmake-modules, breeze-icons, karchive, kcoreaddons, kconfigwidgets, ki18n, kitemviews, - qtbase, qtsvg, + qtbase, qtsvg, qttools, }: mkDerivation { @@ -13,5 +13,5 @@ mkDerivation { buildInputs = [ breeze-icons karchive kcoreaddons kconfigwidgets ki18n kitemviews ]; - propagatedBuildInputs = [ qtbase qtsvg ]; + propagatedBuildInputs = [ qtbase qtsvg qttools ]; } From 46091f27ac65820625cdb0262b3e73514857ddfd Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 19:39:45 -0500 Subject: [PATCH 064/129] kdeFrameworks.kio: qttools for Qt5UiPlugin --- pkgs/development/libraries/kde-frameworks/kio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix index 281778d9d07..6cf89669df0 100644 --- a/pkgs/development/libraries/kde-frameworks/kio/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix @@ -1,6 +1,6 @@ { mkDerivation, lib, copyPathsToStore, - extra-cmake-modules, kdoctools, + extra-cmake-modules, kdoctools, qttools, karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, ki18n, kiconthemes, kitemviews, kjobwidgets, knotifications, kservice, ktextwidgets, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui, @@ -18,7 +18,7 @@ mkDerivation { ]; propagatedBuildInputs = [ kbookmarks kcompletion kconfig kcoreaddons kitemviews kjobwidgets kservice - kxmlgui qtbase solid + kxmlgui qtbase qttools solid ]; patches = (copyPathsToStore (lib.readPathsFromFile ./. ./series)); } From 43ee3f5279322d5c3ea9b4f4ef641432dbf189b7 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 19:04:00 -0500 Subject: [PATCH 065/129] kdeFrameworks.kplotting: qttools for Qt5UiPlugin, fix build --- pkgs/development/libraries/kde-frameworks/kplotting.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/kplotting.nix b/pkgs/development/libraries/kde-frameworks/kplotting.nix index 380fd8fc5e3..1774b044b16 100644 --- a/pkgs/development/libraries/kde-frameworks/kplotting.nix +++ b/pkgs/development/libraries/kde-frameworks/kplotting.nix @@ -1,5 +1,5 @@ { mkDerivation, lib -, extra-cmake-modules, qtbase +, extra-cmake-modules, qttools, qtbase }: mkDerivation { @@ -9,6 +9,6 @@ mkDerivation { broken = builtins.compareVersions qtbase.version "5.7.0" < 0; }; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedBuildInputs = [ qtbase ]; + propagatedBuildInputs = [ qtbase qttools ]; outputs = [ "out" "dev" ]; } From cac6f2d47d7ade2108753f4faece24a310b742a9 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 19:40:45 -0500 Subject: [PATCH 066/129] kdeFrameworks.ktextwidgets: qttools for Qt5UiPlugin --- pkgs/development/libraries/kde-frameworks/ktextwidgets.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix index 8b082f7f365..604066b9639 100644 --- a/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix +++ b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix @@ -1,6 +1,6 @@ { mkDerivation, lib, - extra-cmake-modules, + extra-cmake-modules, qttools, kcompletion, kconfig, kconfigwidgets, ki18n, kiconthemes, kservice, kwindowsystem, qtbase, sonnet, }: @@ -12,5 +12,5 @@ mkDerivation { buildInputs = [ kcompletion kconfig kconfigwidgets kiconthemes kservice kwindowsystem ]; - propagatedBuildInputs = [ ki18n qtbase sonnet ]; + propagatedBuildInputs = [ ki18n qtbase qttools sonnet ]; } From 9fea8eed2b6a8ef915c0b65171c656421956d38b Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 19:29:32 -0500 Subject: [PATCH 067/129] kwindowsystem: update patch --- .../kwindowsystem/platform-plugins-path.patch | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch b/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch index ae0da37922e..7c86454c5cf 100644 --- a/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch +++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch @@ -1,13 +1,13 @@ -Index: kwindowsystem-5.32.0/src/pluginwrapper.cpp -=================================================================== ---- kwindowsystem-5.32.0.orig/src/pluginwrapper.cpp -+++ kwindowsystem-5.32.0/src/pluginwrapper.cpp -@@ -37,14 +37,9 @@ Q_GLOBAL_STATIC(KWindowSystemPluginWrapp +diff --git a/src/pluginwrapper.cpp b/src/pluginwrapper.cpp +index 8e6298a..210989a 100644 +--- a/src/pluginwrapper.cpp ++++ b/src/pluginwrapper.cpp +@@ -37,14 +37,10 @@ Q_GLOBAL_STATIC(KWindowSystemPluginWrapper, s_pluginWrapper) static QStringList pluginCandidates() { QStringList ret; - foreach (const QString &path, QCoreApplication::libraryPaths()) { -- QDir pluginDir(path + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms")); +- QDir pluginDir(path + QLatin1String("/kf5/org.kde.kwindowsystem.platforms")); - if (!pluginDir.exists()) { - continue; - } @@ -15,7 +15,8 @@ Index: kwindowsystem-5.32.0/src/pluginwrapper.cpp - ret << pluginDir.absoluteFilePath(entry); - } + QDir pluginDir(QLatin1String(NIXPKGS_QT_PLUGIN_PATH) + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms")); -+ foreach (const QString &entry, pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot)) { ++ const auto entries = pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot); ++ for (const QString &entry : entries) { + ret << pluginDir.absoluteFilePath(entry); } return ret; From 0c6939340dc804448a53a2efa2f57f5210c63b02 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 19:41:39 -0500 Subject: [PATCH 068/129] kxmlgui: qttools for Qt5UiPlugins --- pkgs/development/libraries/kde-frameworks/kxmlgui.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/kxmlgui.nix b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix index b9aede81f9a..5adcf281e62 100644 --- a/pkgs/development/libraries/kde-frameworks/kxmlgui.nix +++ b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix @@ -1,6 +1,6 @@ { mkDerivation, lib, - extra-cmake-modules, + extra-cmake-modules, qttools, attica, kconfig, kconfigwidgets, kglobalaccel, ki18n, kiconthemes, kitemviews, ktextwidgets, kwindowsystem, qtbase, sonnet, }: @@ -13,5 +13,5 @@ mkDerivation { attica kglobalaccel ki18n kiconthemes kitemviews ktextwidgets kwindowsystem sonnet ]; - propagatedBuildInputs = [ kconfig kconfigwidgets qtbase ]; + propagatedBuildInputs = [ kconfig kconfigwidgets qtbase qttools ]; } From 66074af99273eb03b7ec30f1a25fde8ea64daa70 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 20:36:35 -0500 Subject: [PATCH 069/129] knewstuff: kirigami2 --- pkgs/development/libraries/kde-frameworks/knewstuff.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/knewstuff.nix b/pkgs/development/libraries/kde-frameworks/knewstuff.nix index 70f3cbb3c37..70481495cf3 100644 --- a/pkgs/development/libraries/kde-frameworks/knewstuff.nix +++ b/pkgs/development/libraries/kde-frameworks/knewstuff.nix @@ -3,7 +3,7 @@ extra-cmake-modules, attica, karchive, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes, kio, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui, qtbase, - qtdeclarative, + qtdeclarative, kirigami2, }: mkDerivation { @@ -12,7 +12,7 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ karchive kcompletion kconfig kcoreaddons ki18n kiconthemes kio kitemviews - ktextwidgets kwidgetsaddons qtbase qtdeclarative + ktextwidgets kwidgetsaddons qtbase qtdeclarative kirigami2 ]; propagatedBuildInputs = [ attica kservice kxmlgui ]; } From dfb72fa99e15c0f8625f984bad27f4c9739c572a Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sun, 15 Sep 2019 20:49:59 -0500 Subject: [PATCH 070/129] kdeFrameworks.knewstuff: revert KDE_INSTALL_KNSRCDIR change --- pkgs/development/libraries/kde-frameworks/knewstuff.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/kde-frameworks/knewstuff.nix b/pkgs/development/libraries/kde-frameworks/knewstuff.nix index 70481495cf3..df384648e6a 100644 --- a/pkgs/development/libraries/kde-frameworks/knewstuff.nix +++ b/pkgs/development/libraries/kde-frameworks/knewstuff.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, + mkDerivation, lib, fetchpatch, extra-cmake-modules, attica, karchive, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes, kio, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui, qtbase, @@ -15,4 +15,10 @@ mkDerivation { ktextwidgets kwidgetsaddons qtbase qtdeclarative kirigami2 ]; propagatedBuildInputs = [ attica kservice kxmlgui ]; + + patches = [ (fetchpatch { + url = "https://github.com/KDE/knewstuff/commit/dbf788c10130eaa3f5ea37a7f22eb4569471aa04.patch"; + sha256 = "1225rgqg1j120nvhgsahvsq2xlkg91lr37zp14x19krixxgx521j"; + revert = true; + }) ]; } From d7d379a29087a160c79a6f660845e54791a41ff3 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 17 Sep 2019 18:32:31 -0500 Subject: [PATCH 071/129] kio: 5.62.0 -> 5.62.1 (regen kde-frameworks/src.nix) --- pkgs/development/libraries/kde-frameworks/srcs.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix index 85bd3b1452d..6a7c7bc0c9c 100644 --- a/pkgs/development/libraries/kde-frameworks/srcs.nix +++ b/pkgs/development/libraries/kde-frameworks/srcs.nix @@ -315,11 +315,11 @@ }; }; kio = { - version = "5.62.0"; + version = "5.62.1"; src = fetchurl { - url = "${mirror}/stable/frameworks/5.62/kio-5.62.0.tar.xz"; - sha256 = "70b5c93d8d0be16f4b454bcdafe9533b654f13ef55e816c9024d4d3c5df52d86"; - name = "kio-5.62.0.tar.xz"; + url = "${mirror}/stable/frameworks/5.62/kio-5.62.1.tar.xz"; + sha256 = "4b149085bcfbcd729d808a34bcbd4b11f5f9526aa919c82eaddabc1e88113df0"; + name = "kio-5.62.1.tar.xz"; }; }; kirigami2 = { From a8303d24942c7288c897ad73340d17ec9563277d Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 13 Sep 2019 13:26:00 -0500 Subject: [PATCH 072/129] shared-mime-info: 1.12 -> 1.13.1 https://gitlab.freedesktop.org/xdg/shared-mime-info/-/tags/Release-1-13 https://gitlab.freedesktop.org/xdg/shared-mime-info/-/tags/Release-1-13-1 --- pkgs/data/misc/shared-mime-info/default.nix | 35 +++++++++++++++------ 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix index 6952d2da6ba..016dba44493 100644 --- a/pkgs/data/misc/shared-mime-info/default.nix +++ b/pkgs/data/misc/shared-mime-info/default.nix @@ -1,21 +1,36 @@ -{stdenv, fetchurl, pkgconfig, gettext, perlPackages, intltool -, libxml2, glib}: +{ stdenv +, fetchurl +, pkgconfig +, gettext +, perlPackages +, itstool +, libxml2 +, glib +}: -let version = "1.12"; in -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "shared-mime-info"; - inherit version; + version = "1.13.1"; src = fetchurl { - url = "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/80c7f1afbcad2769f38aeb9ba6317a51/shared-mime-info-1.12.tar.xz"; - sha256 = "0gj0pp36qpsr9w6v4nywnjpcisadwkndapqsjn0ny3gd0zzg1chq"; + url = "https://gitlab.freedesktop.org/xdg/${pname}/uploads/5349e18c86eb96eee258a5c1f19122d0/${pname}-${version}.tar.xz"; + sha256 = "1bic8z5nz08qxv1x6zlxnx2j4cmlzm12kygrn3rrh1djqxdhma3f"; }; - nativeBuildInputs = [ pkgconfig gettext intltool ] ++ (with perlPackages; [ perl XMLParser ]); - buildInputs = [ libxml2 glib ]; + nativeBuildInputs = [ + pkgconfig + gettext + itstool + ] ++ (with perlPackages; [ + perl XMLParser + ]); + + buildInputs = [ + libxml2 + glib + ]; meta = with stdenv.lib; { - inherit version; description = "A database of common MIME types"; homepage = http://freedesktop.org/wiki/Software/shared-mime-info; license = licenses.gpl2Plus; From 8f91e87ded9c11abf805b83ef069736808befabb Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 12 Sep 2019 15:02:06 +0200 Subject: [PATCH 073/129] gtk3.setupHook: clear icon-theme.cache in preFixup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Packages often run gtk-update-icon-cache to include their icons in themes’ icon cache. However, since each package is installed to its own prefix, the files will only collide. For that reason we are removing the icon-theme.cache from applications. Previously, we did that in hicolor-icon-theme setup hook but, since it is actually gtk3’s utility that creates the cache, we thought it would be appropriate to let its setup hook handle the clearing. --- .../icons/hicolor-icon-theme/setup-hook.sh | 16 ++++---------- .../libraries/gtk/gtk3-setup-hook.sh | 21 ++++++++++++++++++- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh b/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh index 29306cb316a..f07bab4b269 100644 --- a/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh +++ b/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh @@ -1,21 +1,13 @@ +# shellcheck shell=bash + # Populate XDG_ICON_DIRS hicolorIconThemeHook() { # where to find icon themes if [ -d "$1/share/icons" ]; then - addToSearchPath XDG_ICON_DIRS $1/share + addToSearchPath XDG_ICON_DIRS "$1/share" fi - } # I think this is meant to be a runtime dep -addEnvHooks "$hostOffset" hicolorIconThemeHook - -# Remove icon cache -hicolorPreFixupPhase() { - rm -f $out/share/icons/hicolor/icon-theme.cache - rm -f $out/share/icons/HighContrast/icon-theme.cache -} - -preFixupPhases="$preFixupPhases hicolorPreFixupPhase" - +addEnvHooks "${hostOffset:?}" hicolorIconThemeHook diff --git a/pkgs/development/libraries/gtk/gtk3-setup-hook.sh b/pkgs/development/libraries/gtk/gtk3-setup-hook.sh index bddeb2d25d5..5a0eea0fc28 100644 --- a/pkgs/development/libraries/gtk/gtk3-setup-hook.sh +++ b/pkgs/development/libraries/gtk/gtk3-setup-hook.sh @@ -1,10 +1,29 @@ +# shellcheck shell=bash + fixupOutputHooks+=(_gtk3CleanComments) # Clean comments that link to generator of the file _gtk3CleanComments() { - local f="$prefix/lib/gtk-3.0/3.0.0/immodules.cache" + local f="${prefix:?}/lib/gtk-3.0/3.0.0/immodules.cache" if [ -f "$f" ]; then sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f" fi } +# Packages often run gtk-update-icon-cache to include their icons in themes’ icon cache. +# However, since each package is installed to its own prefix, the files will only collide. +dropIconThemeCache() { + if [[ -z "${dontDropIconThemeCache:-}" ]]; then + local icondir="${out:?}/share/icons" + if [[ -d "${icondir}" ]]; then + # App icons are supposed to go to hicolor theme, since it is a fallback theme as per [icon-theme-spec], but some might still choose to install stylized icons to other themes. + find "${icondir}" -name 'icon-theme.cache' -print0 \ + | while IFS= read -r -d '' file; do + echo "Removing ${file}" + rm -f "${file}" + done + fi + fi +} + +preFixupPhases="$preFixupPhases dropIconThemeCache" From 22f70547f622255bdb35dedfc82d3cbc9f5b219d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 12 Sep 2019 15:07:39 +0200 Subject: [PATCH 074/129] nixos/doc/gnome: clarify icon theme availability --- doc/languages-frameworks/gnome.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/languages-frameworks/gnome.xml b/doc/languages-frameworks/gnome.xml index 8b3151d5bf9..05bfa4fe0ce 100644 --- a/doc/languages-frameworks/gnome.xml +++ b/doc/languages-frameworks/gnome.xml @@ -32,7 +32,7 @@ Icons - When an application uses icons, an icon theme should be available in XDG_DATA_DIRS. The package for the default, icon-less hicolor-icon-theme contains a setup hook that will pick up icon themes from buildInputs and pass it to our wrapper. Unfortunately, relying on that would mean every user has to download the theme included in the package expression no matter their preference. For that reason, we leave the installation of icon theme on the user. If you use one of the desktop environments, you probably already have an icon theme installed. + When an application uses icons, an icon theme should be available in XDG_DATA_DIRS during runtime. The package for the default, icon-less hicolor-icon-theme (should be propagated by every icon theme) contains a setup hook that will pick up icon themes from buildInputs and pass it to our wrapper. Unfortunately, relying on that would mean every user has to download the theme included in the package expression no matter their preference. For that reason, we leave the installation of icon theme on the user. If you use one of the desktop environments, you probably already have an icon theme installed. From b0c2aea20b5cec3efe3441af8b26e7f2f0af76f6 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 12 Sep 2019 10:25:05 -0400 Subject: [PATCH 075/129] treewide: drop adding hicolor-icon-theme where possible This was either for the setup-hook to remove caches or added even though the respective icon theme propagated it. --- pkgs/applications/audio/lollypop/default.nix | 2 -- pkgs/applications/audio/pulseeffects/default.nix | 2 -- pkgs/applications/editors/gnome-builder/default.nix | 2 -- pkgs/applications/graphics/avocode/default.nix | 4 ++-- pkgs/applications/graphics/dia/default.nix | 4 ++-- pkgs/applications/graphics/glabels/default.nix | 3 +-- pkgs/applications/graphics/ideogram/default.nix | 2 -- pkgs/applications/graphics/inkscape/default.nix | 4 ++-- pkgs/applications/graphics/mypaint/default.nix | 4 ++-- pkgs/applications/graphics/vimiv/default.nix | 4 ++-- pkgs/applications/graphics/xournalpp/default.nix | 2 -- pkgs/applications/misc/appeditor/default.nix | 2 -- pkgs/applications/misc/clipit/default.nix | 4 ++-- pkgs/applications/misc/gxmessage/default.nix | 4 ++-- pkgs/applications/misc/kupfer/default.nix | 3 +-- pkgs/applications/misc/megasync/default.nix | 2 -- pkgs/applications/misc/orca/default.nix | 3 +-- pkgs/applications/misc/redshift/default.nix | 3 +-- pkgs/applications/misc/roxterm/default.nix | 4 ++-- pkgs/applications/misc/synapse/default.nix | 3 +-- pkgs/applications/misc/tilix/default.nix | 2 -- pkgs/applications/misc/tint2/default.nix | 4 ++-- pkgs/applications/misc/tootle/default.nix | 4 ++-- pkgs/applications/misc/udiskie/default.nix | 3 +-- pkgs/applications/misc/ulauncher/default.nix | 2 -- pkgs/applications/misc/viking/default.nix | 4 ++-- pkgs/applications/misc/xpad/default.nix | 4 ++-- .../networking/browsers/ephemeral/default.nix | 2 -- .../networking/feedreaders/feedreader/default.nix | 3 +-- .../networking/instant-messengers/fractal/default.nix | 2 -- pkgs/applications/networking/irc/hexchat/default.nix | 4 ++-- .../networking/mailreaders/balsa/default.nix | 3 +-- .../networking/mailreaders/claws-mail/default.nix | 6 +++--- .../networking/newsreaders/liferea/default.nix | 4 ++-- pkgs/applications/networking/p2p/torrential/default.nix | 5 ++--- .../networking/p2p/transmission-remote-gtk/default.nix | 5 ++--- .../applications/networking/p2p/transmission/default.nix | 5 ++--- pkgs/applications/networking/ping/default.nix | 2 -- pkgs/applications/networking/remote/remmina/default.nix | 4 ++-- pkgs/applications/networking/weather/meteo/default.nix | 4 +--- pkgs/applications/office/gnucash/default.nix | 2 +- pkgs/applications/office/grisbi/default.nix | 4 ++-- pkgs/applications/office/homebank/default.nix | 4 ++-- pkgs/applications/office/paperwork/default.nix | 4 ++-- pkgs/applications/office/timetable/default.nix | 2 -- pkgs/applications/office/vnote/default.nix | 4 ++-- pkgs/applications/search/catfish/default.nix | 3 +-- .../version-management/gitkraken/default.nix | 4 ++-- .../version-management/smartgithg/default.nix | 3 +-- pkgs/applications/video/olive-editor/default.nix | 9 ++++----- pkgs/applications/video/screenkey/default.nix | 2 -- pkgs/desktops/deepin/dde-session-ui/default.nix | 3 +-- pkgs/desktops/gnome-3/apps/ghex/default.nix | 2 -- .../gnome-3/apps/gnome-sound-recorder/default.nix | 4 ++-- pkgs/desktops/gnome-3/core/dconf-editor/default.nix | 3 +-- .../gnome-3/core/gnome-color-manager/default.nix | 4 +--- pkgs/desktops/gnome-3/core/gnome-software/default.nix | 3 +-- pkgs/desktops/gnome-3/core/gnome-terminal/default.nix | 3 +-- pkgs/desktops/gnome-3/games/gnome-robots/default.nix | 3 +-- pkgs/desktops/gnome-3/misc/gitg/default.nix | 2 -- pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix | 3 +-- pkgs/desktops/lxqt/obconf-qt/default.nix | 3 +-- pkgs/desktops/pantheon/granite/default.nix | 2 -- pkgs/desktops/rox/rox-filer/default.nix | 4 ++-- .../libraries/gnome-online-accounts/default.nix | 3 +-- pkgs/development/libraries/gtk/3.x.nix | 2 -- pkgs/development/tools/misc/gtkdialog/default.nix | 4 ++-- pkgs/games/gscrabble/default.nix | 4 ++-- pkgs/tools/X11/screen-message/default.nix | 4 ++-- pkgs/tools/archivers/xarchiver/default.nix | 4 ++-- pkgs/tools/misc/gparted/default.nix | 4 ++-- 71 files changed, 88 insertions(+), 150 deletions(-) diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix index 73d8d350f38..62efbc2496a 100644 --- a/pkgs/applications/audio/lollypop/default.nix +++ b/pkgs/applications/audio/lollypop/default.nix @@ -11,7 +11,6 @@ , appstream-glib , desktop-file-utils , totem-pl-parser -, hicolor-icon-theme , gobject-introspection , wrapGAppsHook , lastFMSupport ? true @@ -51,7 +50,6 @@ python3.pkgs.buildPythonApplication rec { gst-plugins-ugly gstreamer gtk3 - hicolor-icon-theme libsoup totem-pl-parser ] ++ lib.optional lastFMSupport libsecret; diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix index 83fb17189e1..f7b94ce5da7 100644 --- a/pkgs/applications/audio/pulseeffects/default.nix +++ b/pkgs/applications/audio/pulseeffects/default.nix @@ -32,7 +32,6 @@ , rubberband , mda_lv2 , lsp-plugins -, hicolor-icon-theme }: let @@ -86,7 +85,6 @@ in stdenv.mkDerivation rec { dbus fftwFloat zita-convolver - hicolor-icon-theme ]; postPatch = '' diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix index 740d65838c3..b4d95122ce0 100644 --- a/pkgs/applications/editors/gnome-builder/default.nix +++ b/pkgs/applications/editors/gnome-builder/default.nix @@ -13,7 +13,6 @@ , gtk-doc , gtk3 , gtksourceview4 -, hicolor-icon-theme , json-glib , jsonrpc-glib , libdazzle @@ -56,7 +55,6 @@ stdenv.mkDerivation rec { docbook_xml_dtd_43 gobject-introspection gtk-doc - hicolor-icon-theme (meson.override ({ inherit stdenv; })) ninja pkgconfig diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix index 5e1cba31b7e..bc7de03ddad 100644 --- a/pkgs/applications/graphics/avocode/default.nix +++ b/pkgs/applications/graphics/avocode/default.nix @@ -1,6 +1,6 @@ { stdenv, makeDesktopItem, fetchurl, unzip , gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome3 -, xorg, mozjpeg, makeWrapper, wrapGAppsHook, hicolor-icon-theme, libuuid, at-spi2-core +, xorg, mozjpeg, makeWrapper, wrapGAppsHook, libuuid, at-spi2-core }: stdenv.mkDerivation rec { @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [makeWrapper wrapGAppsHook]; - buildInputs = [ unzip gtk3 gnome3.adwaita-icon-theme hicolor-icon-theme ]; + buildInputs = [ unzip gtk3 gnome3.adwaita-icon-theme ]; # src is producing multiple folder on unzip so we must # override unpackCmd to extract it into newly created folder diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix index a1f96337d74..3984cfc17ca 100644 --- a/pkgs/applications/graphics/dia/default.nix +++ b/pkgs/applications/graphics/dia/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perlPackages, libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl, -libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui, hicolor-icon-theme, +libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui, gtk-mac-integration-gtk2 }: stdenv.mkDerivation { @@ -15,7 +15,7 @@ stdenv.mkDerivation { buildInputs = [ gtk2 libxml2 gettext python libxml2Python docbook5 - libxslt docbook_xsl libart_lgpl hicolor-icon-theme ] + libxslt docbook_xsl libart_lgpl ] ++ stdenv.lib.optional withGNOME libgnomeui ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration-gtk2; diff --git a/pkgs/applications/graphics/glabels/default.nix b/pkgs/applications/graphics/glabels/default.nix index 6bc59cd7d02..3bfd51d0370 100644 --- a/pkgs/applications/graphics/glabels/default.nix +++ b/pkgs/applications/graphics/glabels/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, barcode, gnome3, autoreconfHook , gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book, gsettings-desktop-schemas -, intltool, itstool, makeWrapper, pkgconfig, hicolor-icon-theme +, intltool, itstool, makeWrapper, pkgconfig }: stdenv.mkDerivation rec { @@ -17,7 +17,6 @@ stdenv.mkDerivation rec { barcode gtk3 gtk-doc gnome3.yelp-tools gnome3.gnome-common gsettings-desktop-schemas itstool libxml2 librsvg libe-book libtool - hicolor-icon-theme ]; preFixup = '' diff --git a/pkgs/applications/graphics/ideogram/default.nix b/pkgs/applications/graphics/ideogram/default.nix index 0efb0874183..1511901ab91 100644 --- a/pkgs/applications/graphics/ideogram/default.nix +++ b/pkgs/applications/graphics/ideogram/default.nix @@ -11,7 +11,6 @@ , pantheon , desktop-file-utils , xorg -, hicolor-icon-theme , wrapGAppsHook }: @@ -28,7 +27,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ desktop-file-utils - hicolor-icon-theme # for setup-hook meson ninja pantheon.vala diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index 547e2914399..ed1f61b98d3 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -2,7 +2,7 @@ , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper , gsl, python2, poppler, imagemagick, libwpg, librevenge -, libvisio, libcdr, libexif, potrace, cmake, hicolor-icon-theme +, libvisio, libcdr, libexif, potrace, cmake , librsvg, wrapGAppsHook }: @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { libXft libpng zlib popt boehmgc libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext gsl poppler imagemagick libwpg librevenge - libvisio libcdr libexif potrace hicolor-icon-theme + libvisio libcdr libexif potrace librsvg # for loading icons diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix index 1b51732b918..c08bbbea766 100644 --- a/pkgs/applications/graphics/mypaint/default.nix +++ b/pkgs/applications/graphics/mypaint/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection, hicolor-icon-theme +{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection , gdk-pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }: let @@ -21,7 +21,7 @@ in stdenv.mkDerivation { ]; buildInputs = [ - gtk3 gdk-pixbuf json_c lcms2 libpng librsvg pycairo pygobject3 python hicolor-icon-theme + gtk3 gdk-pixbuf json_c lcms2 libpng librsvg pycairo pygobject3 python ]; propagatedBuildInputs = [ numpy ]; diff --git a/pkgs/applications/graphics/vimiv/default.nix b/pkgs/applications/graphics/vimiv/default.nix index 5fc7e309f4d..fab85052df3 100644 --- a/pkgs/applications/graphics/vimiv/default.nix +++ b/pkgs/applications/graphics/vimiv/default.nix @@ -1,5 +1,5 @@ { lib, python3Packages, fetchFromGitHub, imagemagick, librsvg, gtk3, jhead -, hicolor-icon-theme, gnome3 +, gnome3 # Test requirements , dbus, xvfb_run, xdotool @@ -38,7 +38,7 @@ python3Packages.buildPythonApplication rec { ''; checkInputs = [ python3Packages.nose dbus.daemon xvfb_run xdotool ]; - buildInputs = [ hicolor-icon-theme gnome3.adwaita-icon-theme librsvg ]; + buildInputs = [ gnome3.adwaita-icon-theme librsvg ]; propagatedBuildInputs = with python3Packages; [ pillow pygobject3 gtk3 ]; makeWrapperArgs = [ diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix index 41539f32b07..797b01b20d1 100644 --- a/pkgs/applications/graphics/xournalpp/default.nix +++ b/pkgs/applications/graphics/xournalpp/default.nix @@ -10,7 +10,6 @@ , glib , gsettings-desktop-schemas , gtk3 -, hicolor-icon-theme , libsndfile , libxml2 , libzip @@ -38,7 +37,6 @@ stdenv.mkDerivation rec { [ glib gsettings-desktop-schemas gtk3 - hicolor-icon-theme libsndfile libxml2 libzip diff --git a/pkgs/applications/misc/appeditor/default.nix b/pkgs/applications/misc/appeditor/default.nix index 0530ec9c1b8..b94b8d836fd 100644 --- a/pkgs/applications/misc/appeditor/default.nix +++ b/pkgs/applications/misc/appeditor/default.nix @@ -8,7 +8,6 @@ , gettext , glib , gtk3 -, hicolor-icon-theme , libgee , wrapGAppsHook }: @@ -36,7 +35,6 @@ stdenv.mkDerivation rec { buildInputs = [ glib gtk3 - hicolor-icon-theme pantheon.granite libgee ]; diff --git a/pkgs/applications/misc/clipit/default.nix b/pkgs/applications/misc/clipit/default.nix index 7a4e25560c7..129516a4498 100644 --- a/pkgs/applications/misc/clipit/default.nix +++ b/pkgs/applications/misc/clipit/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, intltool, pkgconfig, gtk2, xdotool, hicolor-icon-theme }: +{ fetchurl, stdenv, intltool, pkgconfig, gtk2, xdotool }: stdenv.mkDerivation rec { pname = "clipit"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ intltool gtk2 xdotool hicolor-icon-theme ]; + buildInputs = [ intltool gtk2 xdotool ]; meta = with stdenv.lib; { description = "Lightweight GTK Clipboard Manager"; diff --git a/pkgs/applications/misc/gxmessage/default.nix b/pkgs/applications/misc/gxmessage/default.nix index a7313e7c969..ce0a6963ea9 100644 --- a/pkgs/applications/misc/gxmessage/default.nix +++ b/pkgs/applications/misc/gxmessage/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gtk3, intltool, pkgconfig, texinfo, hicolor-icon-theme }: +{ stdenv, fetchurl, gtk3, intltool, pkgconfig, texinfo }: stdenv.mkDerivation rec { pname = "gxmessage"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ intltool gtk3 texinfo hicolor-icon-theme ]; + buildInputs = [ intltool gtk3 texinfo ]; meta = { description = "A GTK enabled dropin replacement for xmessage"; diff --git a/pkgs/applications/misc/kupfer/default.nix b/pkgs/applications/misc/kupfer/default.nix index 81cba3f5637..c7f54990107 100644 --- a/pkgs/applications/misc/kupfer/default.nix +++ b/pkgs/applications/misc/kupfer/default.nix @@ -6,7 +6,6 @@ , gtk3 , libwnck3 , keybinder3 -, hicolor-icon-theme , wrapGAppsHook , wafHook }: @@ -27,7 +26,7 @@ buildPythonApplication rec { # For setup hook gobject-introspection wafHook ]; - buildInputs = [ hicolor-icon-theme docutils libwnck3 keybinder3 ]; + buildInputs = [ docutils libwnck3 keybinder3 ]; propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ]; # without strictDeps kupfer fails to build: Could not find the python module 'gi.repository.Gtk' diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix index bc753c5a7a9..6e51e3cda76 100644 --- a/pkgs/applications/misc/megasync/default.nix +++ b/pkgs/applications/misc/megasync/default.nix @@ -7,7 +7,6 @@ , doxygen , fetchFromGitHub , ffmpeg -, hicolor-icon-theme , libmediainfo , libraw , libsodium @@ -51,7 +50,6 @@ mkDerivation rec { cryptopp curl ffmpeg - hicolor-icon-theme libmediainfo libraw libsodium diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix index 1a8d5b76fe3..fb08eb2428e 100644 --- a/pkgs/applications/misc/orca/default.nix +++ b/pkgs/applications/misc/orca/default.nix @@ -1,7 +1,7 @@ { stdenv, pkgconfig, fetchurl, buildPythonApplication , autoreconfHook, wrapGAppsHook, gobject-introspection , intltool, yelp-tools, itstool, libxmlxx3 -, python, pygobject3, gtk3, gnome3, substituteAll, hicolor-icon-theme +, python, pygobject3, gtk3, gnome3, substituteAll , at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg , xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas , speechd, brltty, liblouis, setproctitle, gst_all_1, gst-python @@ -31,7 +31,6 @@ buildPythonApplication rec { nativeBuildInputs = [ autoreconfHook wrapGAppsHook pkgconfig libxmlxx3 intltool yelp-tools itstool gobject-introspection - hicolor-icon-theme # setup-hook ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix index ad27c9b13a6..b751560b301 100644 --- a/pkgs/applications/misc/redshift/default.nix +++ b/pkgs/applications/misc/redshift/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, autoconf, automake, gettext, intltool , libtool, pkgconfig, wrapGAppsHook, wrapPython, gobject-introspection -, gtk3, python, pygobject3, hicolor-icon-theme, pyxdg +, gtk3, python, pygobject3, pyxdg , withQuartz ? stdenv.isDarwin, ApplicationServices , withRandr ? stdenv.isLinux, libxcb @@ -50,7 +50,6 @@ stdenv.mkDerivation rec { gobject-introspection gtk3 python - hicolor-icon-theme ] ++ stdenv.lib.optional withRandr libxcb ++ stdenv.lib.optional withGeoclue geoclue ++ stdenv.lib.optional withDrm libdrm diff --git a/pkgs/applications/misc/roxterm/default.nix b/pkgs/applications/misc/roxterm/default.nix index 3dbe7790d18..46a87938a81 100644 --- a/pkgs/applications/misc/roxterm/default.nix +++ b/pkgs/applications/misc/roxterm/default.nix @@ -1,5 +1,5 @@ { at-spi2-core, cmake, dbus, dbus-glib, docbook_xsl, epoxy, fetchpatch, fetchFromGitHub -, glib, gtk3, harfbuzz, hicolor-icon-theme, libXdmcp, libXtst, libpthreadstubs +, glib, gtk3, harfbuzz, libXdmcp, libXtst, libpthreadstubs , libselinux, libsepol, libtasn1, libxkbcommon, libxslt, p11-kit, pcre , pkgconfig, stdenv, utillinuxMinimal, vte, wrapGAppsHook, xmlto }: @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 dbus dbus-glib vte pcre harfbuzz libpthreadstubs libXdmcp - utillinuxMinimal glib hicolor-icon-theme docbook_xsl xmlto libselinux + utillinuxMinimal glib docbook_xsl xmlto libselinux libsepol libxkbcommon epoxy at-spi2-core libXtst libtasn1 p11-kit ]; diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix index c314e8ffe5a..c12f5b17679 100644 --- a/pkgs/applications/misc/synapse/default.nix +++ b/pkgs/applications/misc/synapse/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, gettext, pkgconfig, glib, libnotify, gtk3, libgee -, keybinder3, json-glib, zeitgeist, vala, hicolor-icon-theme, gobject-introspection +, keybinder3, json-glib, zeitgeist, vala, gobject-introspection }: let @@ -20,7 +20,6 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ glib libnotify gtk3 libgee keybinder3 json-glib zeitgeist - hicolor-icon-theme ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix index aae17905cb7..5968b24f5a9 100644 --- a/pkgs/applications/misc/tilix/default.nix +++ b/pkgs/applications/misc/tilix/default.nix @@ -16,7 +16,6 @@ , glib , wrapGAppsHook , libunwind -, hicolor-icon-theme }: stdenv.mkDerivation { @@ -38,7 +37,6 @@ stdenv.mkDerivation { nativeBuildInputs = [ desktop-file-utils dmd - hicolor-icon-theme # for setup-hook meson ninja pkgconfig diff --git a/pkgs/applications/misc/tint2/default.nix b/pkgs/applications/misc/tint2/default.nix index e612fb10ff8..c85feff4360 100644 --- a/pkgs/applications/misc/tint2/default.nix +++ b/pkgs/applications/misc/tint2/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitLab, pkgconfig, cmake, gettext, cairo, pango, pcre , glib, imlib2, gtk2, libXinerama, libXrender, libXcomposite, libXdamage , libX11, libXrandr, librsvg, libpthreadstubs, libXdmcp -, libstartup_notification, hicolor-icon-theme, wrapGAppsHook +, libstartup_notification, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [ cairo pango pcre glib imlib2 gtk2 libXinerama libXrender libXcomposite libXdamage libX11 libXrandr librsvg libpthreadstubs - libXdmcp libstartup_notification hicolor-icon-theme ]; + libXdmcp libstartup_notification ]; postPatch = '' for f in ./src/launcher/apps-common.c \ diff --git a/pkgs/applications/misc/tootle/default.nix b/pkgs/applications/misc/tootle/default.nix index 4ccf204357c..e7fd478773b 100644 --- a/pkgs/applications/misc/tootle/default.nix +++ b/pkgs/applications/misc/tootle/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub , meson, ninja, pkgconfig, python3, libgee, gsettings-desktop-schemas , gnome3, pantheon, gobject-introspection, wrapGAppsHook -, gtk3, json-glib, glib, glib-networking, hicolor-icon-theme +, gtk3, json-glib, glib, glib-networking }: let @@ -27,7 +27,7 @@ in stdenv.mkDerivation { wrapGAppsHook ]; buildInputs = [ - gtk3 pantheon.granite json-glib glib glib-networking hicolor-icon-theme + gtk3 pantheon.granite json-glib glib glib-networking libgee gnome3.libsoup gsettings-desktop-schemas ]; diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix index 459104aba63..63892439fa0 100644 --- a/pkgs/applications/misc/udiskie/default.nix +++ b/pkgs/applications/misc/udiskie/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, asciidoc-full, gettext -, gobject-introspection, gtk3, hicolor-icon-theme, libappindicator-gtk3, libnotify, librsvg +, gobject-introspection, gtk3, libappindicator-gtk3, libnotify, librsvg , udisks2, wrapGAppsHook , python3Packages }: @@ -23,7 +23,6 @@ python3Packages.buildPythonApplication rec { ]; buildInputs = [ - hicolor-icon-theme librsvg # required for loading svg icons (udiskie uses svg icons) gobject-introspection libnotify diff --git a/pkgs/applications/misc/ulauncher/default.nix b/pkgs/applications/misc/ulauncher/default.nix index 3db6f6ae565..9fa284aba43 100644 --- a/pkgs/applications/misc/ulauncher/default.nix +++ b/pkgs/applications/misc/ulauncher/default.nix @@ -10,7 +10,6 @@ , libappindicator , intltool , wmctrl -, hicolor-icon-theme , xvfb_run }: @@ -36,7 +35,6 @@ python27Packages.buildPythonApplication rec { buildInputs = [ gnome3.adwaita-icon-theme gobject-introspection - hicolor-icon-theme keybinder3 libappindicator libnotify diff --git a/pkgs/applications/misc/viking/default.nix b/pkgs/applications/misc/viking/default.nix index 2d8a860e7e8..c5ba35d9747 100644 --- a/pkgs/applications/misc/viking/default.nix +++ b/pkgs/applications/misc/viking/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, makeWrapper, pkgconfig, intltool, gettext, gtk2, expat, curl , gpsd, bc, file, gnome-doc-utils, libexif, libxml2, libxslt, scrollkeeper -, docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect, hicolor-icon-theme +, docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect , geoclue2, liboauth, nettle }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ makeWrapper intltool gettext gtk2 expat curl gpsd bc file gnome-doc-utils - libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2 sqlite hicolor-icon-theme + libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2 sqlite geoclue2 liboauth nettle ]; diff --git a/pkgs/applications/misc/xpad/default.nix b/pkgs/applications/misc/xpad/default.nix index bc91083892d..40f7ef9da08 100644 --- a/pkgs/applications/misc/xpad/default.nix +++ b/pkgs/applications/misc/xpad/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl , autoreconfHook, pkgconfig, wrapGAppsHook -, glib, intltool, gtk3, gtksourceview, hicolor-icon-theme }: +, glib, intltool, gtk3, gtksourceview }: stdenv.mkDerivation rec { pname = "xpad"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ]; - buildInputs = [ glib intltool gtk3 gtksourceview hicolor-icon-theme ]; + buildInputs = [ glib intltool gtk3 gtksourceview ]; meta = with stdenv.lib; { description = "A sticky note application for jotting down things to remember"; diff --git a/pkgs/applications/networking/browsers/ephemeral/default.nix b/pkgs/applications/networking/browsers/ephemeral/default.nix index 369689520d8..de86b451e7f 100644 --- a/pkgs/applications/networking/browsers/ephemeral/default.nix +++ b/pkgs/applications/networking/browsers/ephemeral/default.nix @@ -4,7 +4,6 @@ , gettext , glib , gtk3 -, hicolor-icon-theme , libgee , libdazzle , meson @@ -43,7 +42,6 @@ stdenv.mkDerivation rec { glib glib-networking gtk3 - hicolor-icon-theme libdazzle libgee pantheon.granite diff --git a/pkgs/applications/networking/feedreaders/feedreader/default.nix b/pkgs/applications/networking/feedreaders/feedreader/default.nix index 959649c4b15..a8821213303 100644 --- a/pkgs/applications/networking/feedreaders/feedreader/default.nix +++ b/pkgs/applications/networking/feedreaders/feedreader/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, vala, gettext, python3 , appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts -, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas, hicolor-icon-theme +, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas , curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2 }: @@ -24,7 +24,6 @@ stdenv.mkDerivation rec { curl glib json-glib libnotify libsecret sqlite gumbo gtk3 libgee libpeas gnome3.libsoup librest webkitgtk gsettings-desktop-schemas gnome-online-accounts - hicolor-icon-theme # for setup hook ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]); diff --git a/pkgs/applications/networking/instant-messengers/fractal/default.nix b/pkgs/applications/networking/instant-messengers/fractal/default.nix index bacf6b4338a..478d27fcfb3 100644 --- a/pkgs/applications/networking/instant-messengers/fractal/default.nix +++ b/pkgs/applications/networking/instant-messengers/fractal/default.nix @@ -10,7 +10,6 @@ , rustPlatform , pkgconfig , gtksourceview -, hicolor-icon-theme , glib , libhandy , gtk3 @@ -61,7 +60,6 @@ rustPlatform.buildRustPackage rec { gst_all_1.gstreamer gtk3 gtksourceview - hicolor-icon-theme libhandy openssl sqlite diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix index 331be19abc4..f537627f976 100644 --- a/pkgs/applications/networking/irc/hexchat/default.nix +++ b/pkgs/applications/networking/irc/hexchat/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk2, lua, perl, python3 , pciutils, dbus-glib, libcanberra-gtk2, libproxy , libsexy, enchant2, libnotify, openssl, isocodes -, desktop-file-utils, hicolor-icon-theme +, desktop-file-utils , meson, ninja }: @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk2 lua perl python3 pciutils dbus-glib libcanberra-gtk2 libproxy - libsexy libnotify openssl desktop-file-utils hicolor-icon-theme + libsexy libnotify openssl desktop-file-utils isocodes ]; diff --git a/pkgs/applications/networking/mailreaders/balsa/default.nix b/pkgs/applications/networking/mailreaders/balsa/default.nix index 15f707e06a2..ff659959876 100644 --- a/pkgs/applications/networking/mailreaders/balsa/default.nix +++ b/pkgs/applications/networking/mailreaders/balsa/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, intltool, glib, gtk3, gmime, gnutls, webkitgtk, libesmtp, openssl, libnotify, gtkspell3, gpgme, libcanberra-gtk3, libsecret, gtksourceview, gobject-introspection, - hicolor-icon-theme, wrapGAppsHook + wrapGAppsHook }: stdenv.mkDerivation rec { @@ -17,7 +17,6 @@ stdenv.mkDerivation rec { pkgconfig intltool gobject-introspection - hicolor-icon-theme wrapGAppsHook ]; diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix index d7df94f7e67..9fcf72ce4bc 100644 --- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix @@ -1,8 +1,8 @@ { config, fetchurl, stdenv, wrapGAppsHook, autoreconfHook -, curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme, hicolor-icon-theme +, curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme , libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager , openldap, perl, pkgconfig, poppler, python, shared-mime-info, webkitgtk24x-gtk2 -, glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical +, glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical # Build options # TODO: A flag to build the manual. # TODO: Plugins that complain about their missing dependencies, even when @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = with python.pkgs; [ python ] ++ optionals enablePluginPython [ pygtk pygobject2 ]; buildInputs = - [ curl dbus dbus-glib gtk2 gnutls gsettings-desktop-schemas hicolor-icon-theme + [ curl dbus dbus-glib gtk2 gnutls gsettings-desktop-schemas libetpan perl glib-networking libSM libytnef ] ++ optional enableSpellcheck enchant diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix index 0cfcf6408ba..6352922e33e 100644 --- a/pkgs/applications/networking/newsreaders/liferea/default.nix +++ b/pkgs/applications/networking/newsreaders/liferea/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, intltool, python3Packages, wrapGAppsHook , glib, libxml2, libxslt, sqlite, libsoup , webkitgtk, json-glib, gst_all_1 , libnotify, gtk3, gsettings-desktop-schemas, libpeas, dconf, librsvg -, gobject-introspection, glib-networking, hicolor-icon-theme +, gobject-introspection, glib-networking }: stdenv.mkDerivation rec { @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib gtk3 webkitgtk libxml2 libxslt sqlite libsoup gsettings-desktop-schemas libpeas gsettings-desktop-schemas json-glib dconf gobject-introspection - librsvg glib-networking libnotify hicolor-icon-theme + librsvg glib-networking libnotify ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]); diff --git a/pkgs/applications/networking/p2p/torrential/default.nix b/pkgs/applications/networking/p2p/torrential/default.nix index 999f80a7bbd..1722bf8697c 100644 --- a/pkgs/applications/networking/p2p/torrential/default.nix +++ b/pkgs/applications/networking/p2p/torrential/default.nix @@ -6,7 +6,6 @@ , curl , glib , gtk3 -, hicolor-icon-theme , libb64 , libevent , libgee @@ -14,7 +13,8 @@ , libunity , miniupnpc , openssl -, wrapGAppsHook }: +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "torrential"; @@ -39,7 +39,6 @@ stdenv.mkDerivation rec { curl glib gtk3 - hicolor-icon-theme libb64 libevent libgee diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix index bec0507e4a5..55bdced74b5 100644 --- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix +++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix @@ -1,6 +1,5 @@ { stdenv, autoconf, automake, libtool, wrapGAppsHook, fetchFromGitHub, pkgconfig -, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib -, hicolor-icon-theme }: +, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib }: stdenv.mkDerivation rec { @@ -22,7 +21,7 @@ stdenv.mkDerivation rec { appstream-glib ]; - buildInputs = [ gtk3 json-glib curl glib hicolor-icon-theme ]; + buildInputs = [ gtk3 json-glib curl glib ]; doCheck = false; # fails with style validation error diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix index 8af94b2609f..25996953e11 100644 --- a/pkgs/applications/networking/p2p/transmission/default.nix +++ b/pkgs/applications/networking/p2p/transmission/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, intltool, file, wrapGAppsHook -, openssl, curl, libevent, inotify-tools, systemd, zlib, hicolor-icon-theme +, openssl, curl, libevent, inotify-tools, systemd, zlib , enableGTK3 ? false, gtk3 , enableSystemd ? stdenv.isLinux , enableDaemon ? true @@ -22,8 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ intltool file openssl curl libevent zlib ] ++ optionals enableGTK3 [ gtk3 ] ++ optionals enableSystemd [ systemd ] - ++ optionals stdenv.isLinux [ inotify-tools ] - ++ optionals enableGTK3 [ hicolor-icon-theme ]; + ++ optionals stdenv.isLinux [ inotify-tools ]; postPatch = '' substituteInPlace ./configure \ diff --git a/pkgs/applications/networking/ping/default.nix b/pkgs/applications/networking/ping/default.nix index d20b07a8d3b..d2cbe4944b0 100644 --- a/pkgs/applications/networking/ping/default.nix +++ b/pkgs/applications/networking/ping/default.nix @@ -8,7 +8,6 @@ , glib , gtk3 , gtksourceview -, hicolor-icon-theme , json-glib , libsoup , libgee @@ -38,7 +37,6 @@ stdenv.mkDerivation rec { glib gtk3 gtksourceview - hicolor-icon-theme json-glib libgee libsoup diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index f60d43f3616..adb70c3916f 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -6,7 +6,7 @@ , libsecret, libsoup, spice-protocol, spice-gtk, epoxy, at-spi2-core , openssl, gsettings-desktop-schemas, json-glib # The themes here are soft dependencies; only icons are missing without them. -, hicolor-icon-theme, gnome3 +, gnome3 }: with stdenv.lib; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { pcre libdbusmenu-gtk3 libappindicator-gtk3 libvncserver libpthreadstubs libXdmcp libxkbcommon libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core - openssl hicolor-icon-theme gnome3.adwaita-icon-theme json-glib + openssl gnome3.adwaita-icon-theme json-glib ]; cmakeFlags = [ diff --git a/pkgs/applications/networking/weather/meteo/default.nix b/pkgs/applications/networking/weather/meteo/default.nix index 88d33a9a9f3..5fe52d5f33d 100644 --- a/pkgs/applications/networking/weather/meteo/default.nix +++ b/pkgs/applications/networking/weather/meteo/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitLab, vala, python3, pkgconfig, meson, ninja, gtk3 , json-glib, libsoup, webkitgtk, geocode-glib -, libappindicator, desktop-file-utils, appstream, wrapGAppsHook -, hicolor-icon-theme }: +, libappindicator, desktop-file-utils, appstream, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "meteo"; @@ -28,7 +27,6 @@ stdenv.mkDerivation rec { buildInputs = [ geocode-glib gtk3 - hicolor-icon-theme json-glib libappindicator libsoup diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix index 3abc447f6e9..67680a5d83b 100644 --- a/pkgs/applications/office/gnucash/default.nix +++ b/pkgs/applications/office/gnucash/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { buildInputs = [ boost icu libxml2 libxslt gettext swig isocodes gtk3 glibcLocales - webkitgtk dconf hicolor-icon-theme libofx aqbanking gwenhywfar libdbi + webkitgtk dconf libofx aqbanking gwenhywfar libdbi libdbiDrivers guile perlWrapper perl ] ++ (with perlPackages; [ FinanceQuote DateManip ]); diff --git a/pkgs/applications/office/grisbi/default.nix b/pkgs/applications/office/grisbi/default.nix index 752ad70cd09..cb8cf76b998 100644 --- a/pkgs/applications/office/grisbi/default.nix +++ b/pkgs/applications/office/grisbi/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, gtk, pkgconfig, libgsf, libofx, intltool, wrapGAppsHook -, hicolor-icon-theme, libsoup, gnome3 }: +, libsoup, gnome3 }: stdenv.mkDerivation rec { pname = "grisbi"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; - buildInputs = [ gtk libgsf libofx intltool hicolor-icon-theme libsoup + buildInputs = [ gtk libgsf libofx intltool libsoup gnome3.adwaita-icon-theme ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix index 727a68c440a..601264cf548 100644 --- a/pkgs/applications/office/homebank/default.nix +++ b/pkgs/applications/office/homebank/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, gtk, pkgconfig, libofx, intltool, wrapGAppsHook -, hicolor-icon-theme, libsoup, gnome3 }: +, libsoup, gnome3 }: stdenv.mkDerivation rec { name = "homebank-5.2.7"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; - buildInputs = [ gtk libofx intltool hicolor-icon-theme libsoup + buildInputs = [ gtk libofx intltool libsoup gnome3.adwaita-icon-theme ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/default.nix index 79e4b8debc9..df5e495f936 100644 --- a/pkgs/applications/office/paperwork/default.nix +++ b/pkgs/applications/office/paperwork/default.nix @@ -1,6 +1,6 @@ { lib, python3Packages, gtk3, cairo , aspellDicts, buildEnv -, gnome3, hicolor-icon-theme, librsvg +, gnome3, librsvg , xvfb_run, dbus, libnotify }: @@ -48,7 +48,7 @@ python3Packages.buildPythonApplication rec { checkInputs = [ xvfb_run dbus.daemon ] ++ (with python3Packages; [ paperwork-backend ]); buildInputs = [ - gnome3.adwaita-icon-theme hicolor-icon-theme libnotify librsvg + gnome3.adwaita-icon-theme libnotify librsvg ]; # A few parts of chkdeps need to have a display and a dbus session, so we not diff --git a/pkgs/applications/office/timetable/default.nix b/pkgs/applications/office/timetable/default.nix index fa2d5939218..6f6060fc2b9 100644 --- a/pkgs/applications/office/timetable/default.nix +++ b/pkgs/applications/office/timetable/default.nix @@ -2,7 +2,6 @@ , fetchFromGitHub , glib , gtk3 -, hicolor-icon-theme , json-glib , libgee , meson @@ -37,7 +36,6 @@ stdenv.mkDerivation rec { buildInputs = [ glib gtk3 - hicolor-icon-theme json-glib libgee pantheon.granite diff --git a/pkgs/applications/office/vnote/default.nix b/pkgs/applications/office/vnote/default.nix index fbb8436f44c..6142042e7cb 100644 --- a/pkgs/applications/office/vnote/default.nix +++ b/pkgs/applications/office/vnote/default.nix @@ -1,4 +1,4 @@ -{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtwebengine, hicolor-icon-theme }: +{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtwebengine }: let description = "A note-taking application that knows programmers and Markdown better"; @@ -15,7 +15,7 @@ in mkDerivation rec { }; nativeBuildInputs = [ qmake ]; - buildInputs = [ qtbase qtwebengine hicolor-icon-theme ]; + buildInputs = [ qtbase qtwebengine ]; meta = with lib; { inherit description; diff --git a/pkgs/applications/search/catfish/default.nix b/pkgs/applications/search/catfish/default.nix index 983a5153ee2..11674f1951a 100644 --- a/pkgs/applications/search/catfish/default.nix +++ b/pkgs/applications/search/catfish/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, file, which, intltool, gobject-introspection, - findutils, xdg_utils, gnome3, gtk3, pythonPackages, hicolor-icon-theme, + findutils, xdg_utils, gnome3, gtk3, pythonPackages, wrapGAppsHook }: @@ -29,7 +29,6 @@ pythonPackages.buildPythonApplication rec { pythonPackages.pyxdg pythonPackages.ptyprocess pythonPackages.pycairo - hicolor-icon-theme ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix index 0299d4ab48e..0f2da545978 100644 --- a/pkgs/applications/version-management/gitkraken/default.nix +++ b/pkgs/applications/version-management/gitkraken/default.nix @@ -2,7 +2,7 @@ , libXfixes, atk, gtk3, libXrender, pango, gnome3, cairo, freetype, fontconfig , libX11, libXi, libxcb, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst , nss, nspr, cups, fetchurl, expat, gdk-pixbuf, libXdamage, libXrandr, dbus -, dpkg, makeDesktopItem, openssl, wrapGAppsHook, hicolor-icon-theme, at-spi2-atk, libuuid +, dpkg, makeDesktopItem, openssl, wrapGAppsHook, at-spi2-atk, libuuid , e2fsprogs, krb5 }: @@ -70,7 +70,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; - buildInputs = [ dpkg gtk3 gnome3.adwaita-icon-theme hicolor-icon-theme ]; + buildInputs = [ dpkg gtk3 gnome3.adwaita-icon-theme ]; unpackCmd = '' mkdir out diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix index 343d88554d6..554dbae3882 100644 --- a/pkgs/applications/version-management/smartgithg/default.nix +++ b/pkgs/applications/version-management/smartgithg/default.nix @@ -6,7 +6,6 @@ , glib , gnome3 , wrapGAppsHook -, hicolor-icon-theme , libXtst , which }: @@ -22,7 +21,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ wrapGAppsHook ]; - buildInputs = [ jre gnome3.adwaita-icon-theme hicolor-icon-theme gtk3 ]; + buildInputs = [ jre gnome3.adwaita-icon-theme gtk3 ]; preFixup = with stdenv.lib; '' gappsWrapperArgs+=( \ diff --git a/pkgs/applications/video/olive-editor/default.nix b/pkgs/applications/video/olive-editor/default.nix index efa06f4794e..1285422a2f9 100644 --- a/pkgs/applications/video/olive-editor/default.nix +++ b/pkgs/applications/video/olive-editor/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, pkgconfig, which, qmake, mkDerivation, - qtbase, qtmultimedia, frei0r, opencolorio, hicolor-icon-theme, ffmpeg-full, + qtbase, qtmultimedia, frei0r, opencolorio, ffmpeg-full, CoreFoundation }: mkDerivation rec { @@ -13,9 +13,9 @@ mkDerivation rec { sha256 = "15q4qwf5rc3adssywl72jrhkpqk55ihpd5h5wf07baw0s47vv5kq"; }; - nativeBuildInputs = [ - pkgconfig - which + nativeBuildInputs = [ + pkgconfig + which qmake ]; @@ -26,7 +26,6 @@ mkDerivation rec { qtbase qtmultimedia qtmultimedia.dev - hicolor-icon-theme ] ++ stdenv.lib.optional stdenv.isDarwin CoreFoundation; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/screenkey/default.nix b/pkgs/applications/video/screenkey/default.nix index 1671c3f14d0..56b1134b2b8 100644 --- a/pkgs/applications/video/screenkey/default.nix +++ b/pkgs/applications/video/screenkey/default.nix @@ -10,7 +10,6 @@ , libXtst , wrapGAppsHook , gnome3 -, hicolor-icon-theme }: buildPythonApplication rec { pname = "screenkey"; @@ -40,7 +39,6 @@ buildPythonApplication rec { buildInputs = [ gnome3.adwaita-icon-theme - hicolor-icon-theme ]; propagatedBuildInputs = [ diff --git a/pkgs/desktops/deepin/dde-session-ui/default.nix b/pkgs/desktops/deepin/dde-session-ui/default.nix index d6713fb3688..bad409303d9 100644 --- a/pkgs/desktops/deepin/dde-session-ui/default.nix +++ b/pkgs/desktops/deepin/dde-session-ui/default.nix @@ -1,7 +1,7 @@ { stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake, dbus, dde-daemon, dde-qt-dbus-factory, deepin, deepin-desktop-schemas, deepin-gettext-tools, deepin-icon-theme, deepin-wallpapers, dtkcore, - dtkwidget, gnugrep, gsettings-qt, hicolor-icon-theme, lightdm_qt, + dtkwidget, gnugrep, gsettings-qt, lightdm_qt, onboard, qtsvg, qttools, qtx11extras, setxkbmap, utillinux, which, xkeyboard_config, xorg, xrandr, wrapGAppsHook }: @@ -36,7 +36,6 @@ mkDerivation rec { dtkwidget gnugrep gsettings-qt - hicolor-icon-theme lightdm_qt onboard qtsvg diff --git a/pkgs/desktops/gnome-3/apps/ghex/default.nix b/pkgs/desktops/gnome-3/apps/ghex/default.nix index f776f4dbe5a..0998dbd069d 100644 --- a/pkgs/desktops/gnome-3/apps/ghex/default.nix +++ b/pkgs/desktops/gnome-3/apps/ghex/default.nix @@ -6,7 +6,6 @@ , ninja , python3 , gnome3 -, hicolor-icon-theme , desktop-file-utils , appstream-glib , gettext @@ -32,7 +31,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ desktop-file-utils gettext - hicolor-icon-theme # for setup-hook itstool meson ninja diff --git a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix b/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix index 907c0424454..de5ab50d38f 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gettext, gobject-introspection, wrapGAppsHook, gjs, glib, gtk3, gdk-pixbuf, gst_all_1, gnome3 -, meson, ninja, python3, hicolor-icon-theme, desktop-file-utils }: +, meson, ninja, python3, desktop-file-utils }: stdenv.mkDerivation rec { pname = "gnome-sound-recorder"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig gettext meson ninja gobject-introspection - wrapGAppsHook python3 hicolor-icon-theme desktop-file-utils + wrapGAppsHook python3 desktop-file-utils ]; buildInputs = [ gjs glib gtk3 gdk-pixbuf ] ++ (with gst_all_1; [ gstreamer.dev gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]); diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix index 7f4f84fa5fe..fa9bfa248d4 100644 --- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix +++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3 -, libxml2, gettext, docbook_xsl, hicolor-icon-theme, wrapGAppsHook, gobject-introspection }: +, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobject-introspection }: let pname = "dconf-editor"; @@ -15,7 +15,6 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja vala libxslt pkgconfig wrapGAppsHook gettext docbook_xsl libxml2 gobject-introspection python3 - hicolor-icon-theme # for setup-hook ]; buildInputs = [ glib gtk3 gnome3.dconf ]; diff --git a/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix b/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix index bcc8871bcf1..200d038d0fb 100644 --- a/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2, hicolor-icon-theme }: +{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2 }: let pname = "gnome-color-manager"; @@ -13,8 +13,6 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkgconfig gettext itstool desktop-file-utils - # setup-hook - hicolor-icon-theme ]; buildInputs = [ glib gtk3 libexif libtiff colord colord-gtk libcanberra-gtk3 lcms2 vte exiv2 ]; diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix index 12081bbae5b..464a804da28 100644 --- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree , glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobject-introspection, flatpak, fwupd -, gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts, hicolor-icon-theme +, gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts , json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gtk-doc, desktop-file-utils }: let @@ -28,7 +28,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xml_dtd_42 docbook_xml_dtd_43 valgrind-light docbook_xsl gtk-doc desktop-file-utils gobject-introspection - hicolor-icon-theme # for setup-hook ]; buildInputs = [ diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix index 75d4b117e77..36e43066b35 100644 --- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, libxml2, gnome3, dconf, nautilus , gtk3, gsettings-desktop-schemas, vte, intltool, which, libuuid, vala -, desktop-file-utils, itstool, wrapGAppsHook, hicolor-icon-theme }: +, desktop-file-utils, itstool, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "gnome-terminal"; @@ -20,7 +20,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig intltool itstool which libxml2 vala desktop-file-utils wrapGAppsHook - hicolor-icon-theme # for setup-hook ]; # Silly ./configure, it looks for dbus file from gnome-shell in the diff --git a/pkgs/desktops/gnome-3/games/gnome-robots/default.nix b/pkgs/desktops/gnome-3/games/gnome-robots/default.nix index 46723867f8a..cabedf74368 100644 --- a/pkgs/desktops/gnome-3/games/gnome-robots/default.nix +++ b/pkgs/desktops/gnome-3/games/gnome-robots/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook , librsvg, libcanberra-gtk3, gettext, itstool, libxml2, libgnome-games-support -, libgee, meson, ninja, python3, desktop-file-utils , hicolor-icon-theme, adwaita-icon-theme }: +, libgee, meson, ninja, python3, desktop-file-utils, adwaita-icon-theme }: stdenv.mkDerivation rec { pname = "gnome-robots"; @@ -18,7 +18,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig meson ninja python3 libxml2 wrapGAppsHook gettext itstool desktop-file-utils - hicolor-icon-theme # For setup-hook ]; buildInputs = [ gtk3 librsvg libcanberra-gtk3 libgnome-games-support libgee adwaita-icon-theme diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix index 94418849b98..d5617ee493d 100644 --- a/pkgs/desktops/gnome-3/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/misc/gitg/default.nix @@ -24,7 +24,6 @@ , meson , ninja , python3 -, hicolor-icon-theme , libdazzle }: @@ -66,7 +65,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gobject-introspection - hicolor-icon-theme gettext meson ninja diff --git a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix index ea9a79de40e..ce6d943c39f 100644 --- a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix +++ b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, packagekit, polkit -, gtk3, systemd, wrapGAppsHook, desktop-file-utils, hicolor-icon-theme }: +, gtk3, systemd, wrapGAppsHook, desktop-file-utils }: stdenv.mkDerivation rec { pname = "gnome-packagekit"; @@ -12,7 +12,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook desktop-file-utils - hicolor-icon-theme # for setup-hook ]; buildInputs = [ gtk3 packagekit systemd polkit ]; diff --git a/pkgs/desktops/lxqt/obconf-qt/default.nix b/pkgs/desktops/lxqt/obconf-qt/default.nix index a5be8f41967..1333d027fca 100644 --- a/pkgs/desktops/lxqt/obconf-qt/default.nix +++ b/pkgs/desktops/lxqt/obconf-qt/default.nix @@ -1,5 +1,5 @@ { lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, qttools, - qtx11extras, xorg, lxqt-build-tools, openbox, hicolor-icon-theme }: + qtx11extras, xorg, lxqt-build-tools, openbox }: mkDerivation rec { pname = "obconf-qt"; @@ -27,7 +27,6 @@ mkDerivation rec { xorg.libXdmcp xorg.libSM openbox - hicolor-icon-theme ]; meta = with lib; { diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index 521d22d2335..bc76ae2fdea 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -11,7 +11,6 @@ , gtk3 , glib , gettext -, hicolor-icon-theme , gobject-introspection , wrapGAppsHook }: @@ -56,7 +55,6 @@ stdenv.mkDerivation rec { buildInputs = [ glib gtk3 - hicolor-icon-theme libgee ]; diff --git a/pkgs/desktops/rox/rox-filer/default.nix b/pkgs/desktops/rox/rox-filer/default.nix index 543e3ca897f..05f5936a6cb 100644 --- a/pkgs/desktops/rox/rox-filer/default.nix +++ b/pkgs/desktops/rox/rox-filer/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libxml2, gtk, libSM, shared-mime-info, hicolor-icon-theme }: +{ stdenv, fetchurl, pkgconfig, libxml2, gtk, libSM, shared-mime-info }: let version = "2.11"; @@ -12,7 +12,7 @@ in stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libxml2 gtk shared-mime-info hicolor-icon-theme libSM ]; + buildInputs = [ libxml2 gtk shared-mime-info libSM ]; NIX_LDFLAGS = [ "-ldl" "-lm" ]; patches = [ diff --git a/pkgs/development/libraries/gnome-online-accounts/default.nix b/pkgs/development/libraries/gnome-online-accounts/default.nix index 9ae4a572d93..8ea6b3ae7e3 100644 --- a/pkgs/development/libraries/gnome-online-accounts/default.nix +++ b/pkgs/development/libraries/gnome-online-accounts/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, vala, glib, libxslt, gtk3, wrapGAppsHook , webkitgtk, json-glib, librest, libsecret, gtk-doc, gobject-introspection -, gettext, icu, glib-networking, hicolor-icon-theme +, gettext, icu, glib-networking , libsoup, docbook_xsl, docbook_xml_dtd_412, gnome3, gcr, kerberos }: @@ -31,7 +31,6 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig gobject-introspection vala gettext wrapGAppsHook libxslt docbook_xsl docbook_xml_dtd_412 gtk-doc - hicolor-icon-theme # for setup-hook ]; buildInputs = [ glib gtk3 webkitgtk json-glib librest libsecret glib-networking icu libsoup diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index aee97d9bad0..069007179ac 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -24,7 +24,6 @@ , libxkbcommon , gmp , gnome3 -, hicolor-icon-theme , gsettings-desktop-schemas , sassc , x11Support ? stdenv.isLinux @@ -103,7 +102,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gettext gobject-introspection - hicolor-icon-theme # setup-hook makeWrapper meson ninja diff --git a/pkgs/development/tools/misc/gtkdialog/default.nix b/pkgs/development/tools/misc/gtkdialog/default.nix index 02b4d155767..efb61c4730f 100644 --- a/pkgs/development/tools/misc/gtkdialog/default.nix +++ b/pkgs/development/tools/misc/gtkdialog/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, gtk2, pkgconfig, hicolor-icon-theme }: +{stdenv, fetchurl, gtk2, pkgconfig }: stdenv.mkDerivation { name = "gtkdialog-0.8.3"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk2 hicolor-icon-theme ]; + buildInputs = [ gtk2 ]; meta = { homepage = https://code.google.com/archive/p/gtkdialog/; diff --git a/pkgs/games/gscrabble/default.nix b/pkgs/games/gscrabble/default.nix index f9dd851af8e..7e89704324f 100644 --- a/pkgs/games/gscrabble/default.nix +++ b/pkgs/games/gscrabble/default.nix @@ -1,6 +1,6 @@ { stdenv, buildPythonApplication, fetchFromGitHub , gtk3, wrapGAppsHook, gst_all_1, gobject-introspection -, python3Packages, gnome3, hicolor-icon-theme }: +, python3Packages, gnome3 }: buildPythonApplication { pname = "gscrabble"; @@ -19,7 +19,7 @@ buildPythonApplication { buildInputs = with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad - hicolor-icon-theme gnome3.adwaita-icon-theme gtk3 gobject-introspection + gnome3.adwaita-icon-theme gtk3 gobject-introspection ]; propagatedBuildInputs = with python3Packages; [ gst-python pygobject3 ]; diff --git a/pkgs/tools/X11/screen-message/default.nix b/pkgs/tools/X11/screen-message/default.nix index 8b4a1e19572..c57c4f82431 100644 --- a/pkgs/tools/X11/screen-message/default.nix +++ b/pkgs/tools/X11/screen-message/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autoreconfHook, pkgconfig, gtk3, hicolor-icon-theme }: +{ stdenv, fetchurl, autoreconfHook, pkgconfig, gtk3 }: stdenv.mkDerivation rec { pname = "screen-message"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ gtk3 hicolor-icon-theme ]; + buildInputs = [ gtk3 ]; # screen-message installs its binary in $(prefix)/games per default makeFlags = [ "execgamesdir=$(out)/bin" ]; diff --git a/pkgs/tools/archivers/xarchiver/default.nix b/pkgs/tools/archivers/xarchiver/default.nix index 54bd9a1a08b..1a05c1ba269 100644 --- a/pkgs/tools/archivers/xarchiver/default.nix +++ b/pkgs/tools/archivers/xarchiver/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gtk3, pkgconfig, intltool, libxslt, hicolor-icon-theme }: +{ stdenv, fetchFromGitHub, gtk3, pkgconfig, intltool, libxslt }: stdenv.mkDerivation rec { version = "0.5.4.14"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk3 intltool libxslt hicolor-icon-theme ]; + buildInputs = [ gtk3 intltool libxslt ]; meta = { description = "GTK frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)"; diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix index 49a2809b604..6b32c408ed9 100644 --- a/pkgs/tools/misc/gparted/default.nix +++ b/pkgs/tools/misc/gparted/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, intltool, gettext, makeWrapper, coreutils, gnused, gnome3 -, gnugrep, parted, glib, libuuid, pkgconfig, gtkmm3, libxml2, hicolor-icon-theme +, gnugrep, parted, glib, libuuid, pkgconfig, gtkmm3, libxml2 , gpart, hdparm, procps, utillinux, polkit, wrapGAppsHook, substituteAll }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-doc" ]; - buildInputs = [ parted glib libuuid gtkmm3 libxml2 hicolor-icon-theme polkit.bin gnome3.adwaita-icon-theme ]; + buildInputs = [ parted glib libuuid gtkmm3 libxml2 polkit.bin gnome3.adwaita-icon-theme ]; nativeBuildInputs = [ intltool gettext pkgconfig wrapGAppsHook ]; preFixup = '' From b7ad6e1be5b82d2f052c2aceb521704d4837c2f1 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 12 Sep 2019 10:47:48 -0400 Subject: [PATCH 076/129] treewide: icons propagate hicolor-icon-theme, dontDropIconThemeCache --- pkgs/data/icons/arc-icon-theme/default.nix | 8 +++++++- pkgs/data/icons/elementary-xfce-icon-theme/default.nix | 8 +++++++- pkgs/data/icons/faba-icon-theme/default.nix | 8 +++++++- pkgs/data/icons/faba-mono-icons/default.nix | 8 +++++++- pkgs/data/icons/iconpack-obsidian/default.nix | 8 +++++++- pkgs/data/icons/maia-icon-theme/default.nix | 4 +++- pkgs/data/icons/moka-icon-theme/default.nix | 8 +++++++- pkgs/data/icons/numix-icon-theme-circle/default.nix | 8 +++++++- pkgs/data/icons/numix-icon-theme-square/default.nix | 8 +++++++- pkgs/data/icons/numix-icon-theme/default.nix | 8 +++++++- pkgs/data/icons/paper-icon-theme/default.nix | 8 +++++++- pkgs/data/icons/papirus-icon-theme/default.nix | 8 +++++++- pkgs/data/icons/tango-icon-theme/default.nix | 8 +++++++- pkgs/data/icons/vanilla-dmz/default.nix | 6 +++++- pkgs/data/icons/zafiro-icons/default.nix | 8 +++++++- pkgs/desktops/deepin/deepin-icon-theme/default.nix | 8 +++++++- pkgs/desktops/mate/mate-icon-theme-faenza/default.nix | 8 +++++++- pkgs/desktops/mate/mate-icon-theme/default.nix | 10 ++++++++-- .../pantheon/artwork/elementary-icon-theme/default.nix | 2 ++ .../libraries/kde-frameworks/breeze-icons.nix | 6 +++++- 20 files changed, 128 insertions(+), 20 deletions(-) diff --git a/pkgs/data/icons/arc-icon-theme/default.nix b/pkgs/data/icons/arc-icon-theme/default.nix index 6529e5c571c..b0a8a05fc68 100644 --- a/pkgs/data/icons/arc-icon-theme/default.nix +++ b/pkgs/data/icons/arc-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme }: +{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme, hicolor-icon-theme }: stdenv.mkDerivation rec { name = "${package-name}-${version}"; @@ -14,6 +14,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook gtk3 moka-icon-theme ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + postFixup = "gtk-update-icon-cache $out/share/icons/Arc"; meta = with stdenv.lib; { diff --git a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix index 5a566bef6ef..c17e14bb3c1 100644 --- a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix +++ b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix @@ -11,7 +11,13 @@ stdenv.mkDerivation rec { sha256 = "16msdrazhbv80cvh5ffvgj13xmkpf87r7mq6xz071fza6nv7g0jn"; }; - nativeBuildInputs = [ pkgconfig gdk-pixbuf librsvg optipng gtk3 hicolor-icon-theme ]; + nativeBuildInputs = [ pkgconfig gdk-pixbuf librsvg optipng gtk3 ]; + + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; postPatch = '' substituteInPlace svgtopng/Makefile --replace "-O0" "-O" diff --git a/pkgs/data/icons/faba-icon-theme/default.nix b/pkgs/data/icons/faba-icon-theme/default.nix index c15e0f4e551..efce0a16e13 100644 --- a/pkgs/data/icons/faba-icon-theme/default.nix +++ b/pkgs/data/icons/faba-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon }: +{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon, hicolor-icon-theme }: stdenv.mkDerivation rec { name = "${package-name}-${version}"; @@ -14,6 +14,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja python3 gtk3 pantheon.elementary-icon-theme ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + postPatch = '' patchShebangs meson/post_install.py ''; diff --git a/pkgs/data/icons/faba-mono-icons/default.nix b/pkgs/data/icons/faba-mono-icons/default.nix index 99488a26f2b..96bd4031150 100644 --- a/pkgs/data/icons/faba-mono-icons/default.nix +++ b/pkgs/data/icons/faba-mono-icons/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme }: +{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "faba-mono-icons"; @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook gtk3 moka-icon-theme ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + postFixup = '' for theme in $out/share/icons/*; do gtk-update-icon-cache $theme diff --git a/pkgs/data/icons/iconpack-obsidian/default.nix b/pkgs/data/icons/iconpack-obsidian/default.nix index f7015621853..f48c3cbf3f7 100644 --- a/pkgs/data/icons/iconpack-obsidian/default.nix +++ b/pkgs/data/icons/iconpack-obsidian/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gtk3 }: +{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "iconpack-obsidian"; @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gtk3 ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + installPhase = '' mkdir -p $out/share/icons mv Obsidian* $out/share/icons diff --git a/pkgs/data/icons/maia-icon-theme/default.nix b/pkgs/data/icons/maia-icon-theme/default.nix index a623af20604..20bc8dc0a58 100644 --- a/pkgs/data/icons/maia-icon-theme/default.nix +++ b/pkgs/data/icons/maia-icon-theme/default.nix @@ -21,10 +21,12 @@ stdenv.mkDerivation { kdeFrameworks.kwindowsystem ]; - buildInputs = [ + propagatedBuildInputs = [ hicolor-icon-theme ]; + dontDropIconThemeCache = true; + postFixup = '' for theme in $out/share/icons/*; do gtk-update-icon-cache $theme diff --git a/pkgs/data/icons/moka-icon-theme/default.nix b/pkgs/data/icons/moka-icon-theme/default.nix index 83c4b19472a..539dfaa2d10 100644 --- a/pkgs/data/icons/moka-icon-theme/default.nix +++ b/pkgs/data/icons/moka-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, faba-icon-theme }: +{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, faba-icon-theme, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "moka-icon-theme"; @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja gtk3 python3 faba-icon-theme ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + postPatch = '' patchShebangs meson/post_install.py ''; diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix index b545856f703..fb02309992b 100644 --- a/pkgs/data/icons/numix-icon-theme-circle/default.nix +++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }: +{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "numix-icon-theme-circle"; @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gtk3 numix-icon-theme ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + installPhase = '' install -dm 755 $out/share/icons cp -dr --no-preserve='ownership' Numix-Circle{,-Light} $out/share/icons/ diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix index ddec15e5f31..cc917d95337 100644 --- a/pkgs/data/icons/numix-icon-theme-square/default.nix +++ b/pkgs/data/icons/numix-icon-theme-square/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }: +{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "numix-icon-theme-square"; @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gtk3 numix-icon-theme ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + installPhase = '' mkdir -p $out/share/icons cp -a Numix-Square{,-Light} $out/share/icons/ diff --git a/pkgs/data/icons/numix-icon-theme/default.nix b/pkgs/data/icons/numix-icon-theme/default.nix index e41373f536f..8b2f07ce00a 100644 --- a/pkgs/data/icons/numix-icon-theme/default.nix +++ b/pkgs/data/icons/numix-icon-theme/default.nix @@ -11,7 +11,13 @@ stdenv.mkDerivation rec { sha256 = "0clh55kmhc52d33dfm2c6h3lg6ddfh8a088ir9lv1camn9kj55bd"; }; - nativeBuildInputs = [ gtk3 hicolor-icon-theme ]; + nativeBuildInputs = [ gtk3 ]; + + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; installPhase = '' mkdir -p $out/share/icons diff --git a/pkgs/data/icons/paper-icon-theme/default.nix b/pkgs/data/icons/paper-icon-theme/default.nix index 5359b2229f3..477960972a7 100644 --- a/pkgs/data/icons/paper-icon-theme/default.nix +++ b/pkgs/data/icons/paper-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3 }: +{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "paper-icon-theme"; @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja gtk3 python3 ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + postPatch = '' patchShebangs meson/post_install.py ''; diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index 3f9cff62ee4..671f03bd837 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gtk3 }: +{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "papirus-icon-theme"; @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gtk3 ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + installPhase = '' mkdir -p $out/share/icons mv {,e}Papirus* $out/share/icons diff --git a/pkgs/data/icons/tango-icon-theme/default.nix b/pkgs/data/icons/tango-icon-theme/default.nix index d38f6485f13..a4a7237f974 100644 --- a/pkgs/data/icons/tango-icon-theme/default.nix +++ b/pkgs/data/icons/tango-icon-theme/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, intltool, pkgconfig, iconnamingutils, imagemagick, librsvg -, gtk/*any version*/ +, gtk/*any version*/, hicolor-icon-theme }: stdenv.mkDerivation rec { @@ -15,6 +15,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ intltool iconnamingutils imagemagick librsvg ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + configureFlags = [ "--enable-png-creation" ]; postInstall = '''${gtk.out}/bin/gtk-update-icon-cache' "$out/share/icons/Tango" ''; diff --git a/pkgs/data/icons/vanilla-dmz/default.nix b/pkgs/data/icons/vanilla-dmz/default.nix index c4a8fd44a61..f271d7a44e6 100644 --- a/pkgs/data/icons/vanilla-dmz/default.nix +++ b/pkgs/data/icons/vanilla-dmz/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchzip, xorg }: +{ stdenv, lib, fetchzip, xorg, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "vanilla-dmz"; @@ -8,6 +8,10 @@ stdenv.mkDerivation rec { sha256 = "1l0c0svk7dy0d7icg7j2181wdn3fvks5gmyqnvjk749ppy5ks8mj"; }; buildInputs = [ xorg.xcursorgen ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + dontDropIconThemeCache = true; buildPhase = '' cd DMZ-White/pngs; ./make.sh; cd - cd DMZ-Black/pngs; ./make.sh; cd - diff --git a/pkgs/data/icons/zafiro-icons/default.nix b/pkgs/data/icons/zafiro-icons/default.nix index 942f79ca6e4..0b28a02ba4d 100644 --- a/pkgs/data/icons/zafiro-icons/default.nix +++ b/pkgs/data/icons/zafiro-icons/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gtk3 }: +{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "zafiro-icons"; @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gtk3 ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + installPhase = '' mkdir -p $out/share/icons/Zafiro-icons cp -a * $out/share/icons/Zafiro-icons diff --git a/pkgs/desktops/deepin/deepin-icon-theme/default.nix b/pkgs/desktops/deepin/deepin-icon-theme/default.nix index e63a228d0cb..51b67e05554 100644 --- a/pkgs/desktops/deepin/deepin-icon-theme/default.nix +++ b/pkgs/desktops/deepin/deepin-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gtk3, xcursorgen, papirus-icon-theme, deepin }: +{ stdenv, fetchFromGitHub, gtk3, xcursorgen, papirus-icon-theme, deepin, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "deepin-icon-theme"; @@ -15,6 +15,12 @@ stdenv.mkDerivation rec { buildInputs = [ papirus-icon-theme ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; + postPatch = '' patchShebangs tools/hicolor.links patchShebangs tools/display_unused_links.sh diff --git a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix index 7db01f59816..1e1b2b837c3 100644 --- a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix +++ b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix @@ -11,7 +11,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook gtk3 ]; - buildInputs = [ mate.mate-icon-theme hicolor-icon-theme ]; + buildInputs = [ mate.mate-icon-theme ]; + + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; postInstall = '' for theme in "$out"/share/icons/*; do diff --git a/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix index 9df0d0ce5a8..0d1dc5f4c8e 100644 --- a/pkgs/desktops/mate/mate-icon-theme/default.nix +++ b/pkgs/desktops/mate/mate-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, librsvg, hicolor-icon-theme, gtk3 }: +{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, librsvg, gtk3, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "mate-icon-theme"; @@ -11,7 +11,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig intltool iconnamingutils ]; - buildInputs = [ librsvg hicolor-icon-theme ]; + buildInputs = [ librsvg ]; + + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + + dontDropIconThemeCache = true; postInstall = '' for theme in "$out"/share/icons/*; do diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix index bdf42b1c1ef..7467bd124ac 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix @@ -39,6 +39,8 @@ stdenv.mkDerivation rec { hicolor-icon-theme ]; + dontDropIconThemeCache = true; + mesonFlags = [ "-Dvolume_icons=false" # Tries to install some icons to / "-Dpalettes=false" # Don't install gimp and inkscape palette files diff --git a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix index c8382ed3408..d9192b94036 100644 --- a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix +++ b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix @@ -1,10 +1,14 @@ -{ mkDerivation, lib, extra-cmake-modules, gtk3, qtsvg }: +{ mkDerivation, lib, extra-cmake-modules, gtk3, qtsvg, hicolor-icon-theme }: mkDerivation { name = "breeze-icons"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules gtk3 ]; buildInputs = [ qtsvg ]; + propagatedBuildInputs = [ + hicolor-icon-theme + ]; + dontDropIconThemeCache = true; outputs = [ "out" ]; # only runtime outputs postInstall = '' gtk-update-icon-cache "''${out:?}/share/icons/breeze" From b3995d40beead4f82064750f002c63a1184ab82b Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 12 Sep 2019 11:57:57 -0400 Subject: [PATCH 077/129] gtk: split hooks so gtk2 can use hicolor hook --- pkgs/development/libraries/gtk/2.x.nix | 7 +++++-- pkgs/development/libraries/gtk/3.x.nix | 7 +++++-- .../{gtk3-setup-hook.sh => drop-icon-theme-cache.sh} | 10 ---------- .../{setup-hook.sh => gtk2-clean-immodules-cache.sh} | 4 +++- .../libraries/gtk/gtk3-clean-immodules-cache.sh | 11 +++++++++++ 5 files changed, 24 insertions(+), 15 deletions(-) rename pkgs/development/libraries/gtk/{gtk3-setup-hook.sh => drop-icon-theme-cache.sh} (74%) rename pkgs/development/libraries/gtk/{setup-hook.sh => gtk2-clean-immodules-cache.sh} (72%) create mode 100644 pkgs/development/libraries/gtk/gtk3-clean-immodules-cache.sh diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/development/libraries/gtk/2.x.nix index f1a53390467..8bef9d92f5f 100644 --- a/pkgs/development/libraries/gtk/2.x.nix +++ b/pkgs/development/libraries/gtk/2.x.nix @@ -25,9 +25,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - setupHook = ./setup-hook.sh; + setupHooks = [ + ./gtk2-clean-immodules-cache.sh + ./drop-icon-theme-cache.sh + ]; - nativeBuildInputs = [ setupHook perl pkgconfig gettext gobject-introspection ]; + nativeBuildInputs = [ setupHooks perl pkgconfig gettext gobject-introspection ]; patches = [ ./2.0-immodules.cache.patch diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index 069007179ac..49e562ef80b 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -49,7 +49,10 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; outputBin = "dev"; - setupHook = ./gtk3-setup-hook.sh; + setupHooks = [ + ./gtk3-clean-immodules-cache.sh + ./drop-icon-theme-cache.sh + ]; src = fetchurl { url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz"; @@ -108,7 +111,7 @@ stdenv.mkDerivation rec { pkgconfig python3 sassc - setupHook + setupHooks ]; buildInputs = [ diff --git a/pkgs/development/libraries/gtk/gtk3-setup-hook.sh b/pkgs/development/libraries/gtk/drop-icon-theme-cache.sh similarity index 74% rename from pkgs/development/libraries/gtk/gtk3-setup-hook.sh rename to pkgs/development/libraries/gtk/drop-icon-theme-cache.sh index 5a0eea0fc28..8f2cb8a334a 100644 --- a/pkgs/development/libraries/gtk/gtk3-setup-hook.sh +++ b/pkgs/development/libraries/gtk/drop-icon-theme-cache.sh @@ -1,15 +1,5 @@ # shellcheck shell=bash -fixupOutputHooks+=(_gtk3CleanComments) - -# Clean comments that link to generator of the file -_gtk3CleanComments() { - local f="${prefix:?}/lib/gtk-3.0/3.0.0/immodules.cache" - if [ -f "$f" ]; then - sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f" - fi -} - # Packages often run gtk-update-icon-cache to include their icons in themes’ icon cache. # However, since each package is installed to its own prefix, the files will only collide. dropIconThemeCache() { diff --git a/pkgs/development/libraries/gtk/setup-hook.sh b/pkgs/development/libraries/gtk/gtk2-clean-immodules-cache.sh similarity index 72% rename from pkgs/development/libraries/gtk/setup-hook.sh rename to pkgs/development/libraries/gtk/gtk2-clean-immodules-cache.sh index c2b0ab502db..dde991fd27c 100644 --- a/pkgs/development/libraries/gtk/setup-hook.sh +++ b/pkgs/development/libraries/gtk/gtk2-clean-immodules-cache.sh @@ -1,8 +1,10 @@ +# shellcheck shell=bash + fixupOutputHooks+=(_gtk2CleanComments) # Clean comments that link to generator of the file _gtk2CleanComments() { - local f="$prefix/lib/gtk-2.0/2.10.0/immodules.cache" + local f="${prefix:?}/lib/gtk-2.0/2.10.0/immodules.cache" if [ -f "$f" ]; then sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f" fi diff --git a/pkgs/development/libraries/gtk/gtk3-clean-immodules-cache.sh b/pkgs/development/libraries/gtk/gtk3-clean-immodules-cache.sh new file mode 100644 index 00000000000..d2d5287831a --- /dev/null +++ b/pkgs/development/libraries/gtk/gtk3-clean-immodules-cache.sh @@ -0,0 +1,11 @@ +# shellcheck shell=bash + +fixupOutputHooks+=(_gtk3CleanComments) + +# Clean comments that link to generator of the file +_gtk3CleanComments() { + local f="${prefix:?}/lib/gtk-3.0/3.0.0/immodules.cache" + if [ -f "$f" ]; then + sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f" + fi +} From 9559a4fe08897eebdfeca24af8c67b8abbff712d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 19 Sep 2019 01:35:12 +0200 Subject: [PATCH 078/129] doc/gnome: describe icon-theme.cache --- doc/languages-frameworks/gnome.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/languages-frameworks/gnome.xml b/doc/languages-frameworks/gnome.xml index 05bfa4fe0ce..3d69d77a1c8 100644 --- a/doc/languages-frameworks/gnome.xml +++ b/doc/languages-frameworks/gnome.xml @@ -34,6 +34,10 @@ When an application uses icons, an icon theme should be available in XDG_DATA_DIRS during runtime. The package for the default, icon-less hicolor-icon-theme (should be propagated by every icon theme) contains a setup hook that will pick up icon themes from buildInputs and pass it to our wrapper. Unfortunately, relying on that would mean every user has to download the theme included in the package expression no matter their preference. For that reason, we leave the installation of icon theme on the user. If you use one of the desktop environments, you probably already have an icon theme installed. + + + To avoid costly file system access when locating icons, GTK, as well as Qt, can rely on icon-theme.cache files from the themes’ top-level directories. These files are generated using gtk-update-icon-cache, which is expected to be run whenever an icon is added or removed to an icon theme (typically an application icon into hicolor theme) and some programs do indeed run this after icon installation. However, since packages are installed into their own prefix by Nix, this would lead to conflicts. For that reason, gtk3 provides a setup hook that will clean the file from installation. Since most applications only ship their own icon that will be loaded on start-up, it should not affect them too much. On the other hand, icon themes are much larger and more widely used so we need to cache them. Because we recommend installing icon themes globally, we will generate the cache files from all packages in a profile using a NixOS module. You can enable the cache generation using option if your desktop environment does not already do that. +
@@ -91,6 +95,11 @@ preFixup = '' glib setup hook will populate GSETTINGS_SCHEMAS_PATH and then wrapGAppsHook will prepend it to XDG_DATA_DIRS. + + + One of gtk3’s setup hooks will remove icon-theme.cache files from package’s icon theme directories to avoid conflicts. Icon theme packages should prevent this with dontDropIconThemeCache = true;. + + gnome3.dconf.lib is a dependency of wrapGAppsHook, which then also adds it to the GIO_EXTRA_MODULES variable. From 463463b3951422c734cf33b1456ba9264a586293 Mon Sep 17 00:00:00 2001 From: Albert Safin Date: Thu, 19 Sep 2019 09:41:35 +0000 Subject: [PATCH 079/129] setup.sh: avoid subshells: shopt -po nounset --- pkgs/stdenv/generic/setup.sh | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 311292169ec..326a60676a2 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -17,7 +17,8 @@ fi # code). The hooks for are the shell function or variable # , and the values of the shell array ‘Hooks’. runHook() { - local oldOpts="$(shopt -po nounset)" + local oldOpts="-u" + shopt -qo nounset || oldOpts="+u" set -u # May be called from elsewhere, so do `set -u`. local hookName="$1" @@ -32,7 +33,7 @@ runHook() { set -u # To balance `_eval` done - eval "${oldOpts}" + set "$oldOpts" return 0 } @@ -40,7 +41,8 @@ runHook() { # Run all hooks with the specified name, until one succeeds (returns a # zero exit code). If none succeed, return a non-zero exit code. runOneHook() { - local oldOpts="$(shopt -po nounset)" + local oldOpts="-u" + shopt -qo nounset || oldOpts="+u" set -u # May be called from elsewhere, so do `set -u`. local hookName="$1" @@ -57,7 +59,7 @@ runOneHook() { set -u # To balance `_eval` done - eval "${oldOpts}" + set "$oldOpts" return "$ret" } @@ -500,10 +502,11 @@ activatePackage() { (( "$hostOffset" <= "$targetOffset" )) || exit -1 if [ -f "$pkg" ]; then - local oldOpts="$(shopt -po nounset)" + local oldOpts="-u" + shopt -qo nounset || oldOpts="+u" set +u source "$pkg" - eval "$oldOpts" + set "$oldOpts" fi # Only dependencies whose host platform is guaranteed to match the @@ -522,10 +525,11 @@ activatePackage() { fi if [[ -f "$pkg/nix-support/setup-hook" ]]; then - local oldOpts="$(shopt -po nounset)" + local oldOpts="-u" + shopt -qo nounset || oldOpts="+u" set +u source "$pkg/nix-support/setup-hook" - eval "$oldOpts" + set "$oldOpts" fi } @@ -1273,17 +1277,19 @@ showPhaseHeader() { genericBuild() { if [ -f "${buildCommandPath:-}" ]; then - local oldOpts="$(shopt -po nounset)" + local oldOpts="-u" + shopt -qo nounset || oldOpts="+u" set +u source "$buildCommandPath" - eval "$oldOpts" + set "$oldOpts" return fi if [ -n "${buildCommand:-}" ]; then - local oldOpts="$(shopt -po nounset)" + local oldOpts="-u" + shopt -qo nounset || oldOpts="+u" set +u eval "$buildCommand" - eval "$oldOpts" + set "$oldOpts" return fi @@ -1313,10 +1319,11 @@ genericBuild() { # Evaluate the variable named $curPhase if it exists, otherwise the # function named $curPhase. - local oldOpts="$(shopt -po nounset)" + local oldOpts="-u" + shopt -qo nounset || oldOpts="+u" set +u eval "${!curPhase:-$curPhase}" - eval "$oldOpts" + set "$oldOpts" if [ "$curPhase" = unpackPhase ]; then cd "${sourceRoot:-.}" From 7aab7ed9efda2f2fb27f73aa796a31ac469f96b9 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sun, 15 Sep 2019 12:00:02 -0500 Subject: [PATCH 080/129] qt512: 5.12.3 -> 5.12.4 --- pkgs/development/libraries/qt-5/5.12/fetch.sh | 2 +- pkgs/development/libraries/qt-5/5.12/srcs.nix | 320 +++++++++--------- 2 files changed, 161 insertions(+), 161 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.12/fetch.sh b/pkgs/development/libraries/qt-5/5.12/fetch.sh index a4d2fc82ff2..86cd509a9f2 100644 --- a/pkgs/development/libraries/qt-5/5.12/fetch.sh +++ b/pkgs/development/libraries/qt-5/5.12/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.3/submodules/ ) +WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.4/submodules/ ) diff --git a/pkgs/development/libraries/qt-5/5.12/srcs.nix b/pkgs/development/libraries/qt-5/5.12/srcs.nix index ce567c3a2bc..46bc14a1346 100644 --- a/pkgs/development/libraries/qt-5/5.12/srcs.nix +++ b/pkgs/development/libraries/qt-5/5.12/srcs.nix @@ -3,323 +3,323 @@ { qt3d = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qt3d-everywhere-src-5.12.3.tar.xz"; - sha256 = "8997f07c816bbc6dd43fc2171801178bc65e704d35039998530cfa49837eaa7d"; - name = "qt3d-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qt3d-everywhere-src-5.12.4.tar.xz"; + sha256 = "cfad2e16f40fa07f8be59fa29c0c246743ee67db417ca29772a92f36fa322af3"; + name = "qt3d-everywhere-src-5.12.4.tar.xz"; }; }; qtactiveqt = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtactiveqt-everywhere-src-5.12.3.tar.xz"; - sha256 = "15a5fde0a069f402bea9f422d8d2c46af440d202122c6307c2a6be642d20dc0f"; - name = "qtactiveqt-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtactiveqt-everywhere-src-5.12.4.tar.xz"; + sha256 = "d3c78e6c2a75b9d4f9685d4eea6e84f44f97034a54aed7a159c53cfd4ec4eac7"; + name = "qtactiveqt-everywhere-src-5.12.4.tar.xz"; }; }; qtandroidextras = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtandroidextras-everywhere-src-5.12.3.tar.xz"; - sha256 = "866b3fbcfc2cbebdb83b5adec4e5d0bd29b0e0b0762d66fb3fef0b400e37254f"; - name = "qtandroidextras-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtandroidextras-everywhere-src-5.12.4.tar.xz"; + sha256 = "18e0dbd82920b0ca51b29172fc0ed1f2a923cb7c4fa8fb574595abc16ec3245e"; + name = "qtandroidextras-everywhere-src-5.12.4.tar.xz"; }; }; qtbase = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtbase-everywhere-src-5.12.3.tar.xz"; - sha256 = "fddfd8852ef7503febeed67b876d1425160869ae2b1ae8e10b3fb0fedc5fe701"; - name = "qtbase-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtbase-everywhere-src-5.12.4.tar.xz"; + sha256 = "20fbc7efa54ff7db9552a7a2cdf9047b80253c1933c834f35b0bc5c1ae021195"; + name = "qtbase-everywhere-src-5.12.4.tar.xz"; }; }; qtcanvas3d = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtcanvas3d-everywhere-src-5.12.3.tar.xz"; - sha256 = "c0821f1232c6bcd00648af9a5d1eade8e0397c6bfff60621e0fcdfc75561baea"; - name = "qtcanvas3d-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtcanvas3d-everywhere-src-5.12.4.tar.xz"; + sha256 = "d7e0e8aa542d077a929fb7700411ca9de1f65ae4748d64168d2e7533facd7869"; + name = "qtcanvas3d-everywhere-src-5.12.4.tar.xz"; }; }; qtcharts = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtcharts-everywhere-src-5.12.3.tar.xz"; - sha256 = "820c94b2bf5d73e921fe99be1e3a03a6f012d96574a08e504d68db237522b3a9"; - name = "qtcharts-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtcharts-everywhere-src-5.12.4.tar.xz"; + sha256 = "06ff68a80dc377847429cdd87d4e46465e1d6fbc417d52700a0a59d197669c9e"; + name = "qtcharts-everywhere-src-5.12.4.tar.xz"; }; }; qtconnectivity = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtconnectivity-everywhere-src-5.12.3.tar.xz"; - sha256 = "01518cee71a8d53b9c2387f8c7facbcc2c4d63ab3b79462edfa06ba3bfeae661"; - name = "qtconnectivity-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtconnectivity-everywhere-src-5.12.4.tar.xz"; + sha256 = "749d05242b9fae12e80f569fb6b918dc011cb191eeb05147cbde474ca6b173ef"; + name = "qtconnectivity-everywhere-src-5.12.4.tar.xz"; }; }; qtdatavis3d = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtdatavis3d-everywhere-src-5.12.3.tar.xz"; - sha256 = "f6d073c4575542f8ff6de3ac3b6e8dde6ae2d87e98119de7a13bc984aa967313"; - name = "qtdatavis3d-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtdatavis3d-everywhere-src-5.12.4.tar.xz"; + sha256 = "1c160eeb430c8602aaee8ae4faa55bc62f880dae642be5fd1ac019f7886eb15a"; + name = "qtdatavis3d-everywhere-src-5.12.4.tar.xz"; }; }; qtdeclarative = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtdeclarative-everywhere-src-5.12.3.tar.xz"; - sha256 = "839881cd6996e35c351bc7d560372ebb91e61f3688957c33248c4f31ea007fa7"; - name = "qtdeclarative-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtdeclarative-everywhere-src-5.12.4.tar.xz"; + sha256 = "614105ed73079d67d81b34fef31c9934c5e751342e4b2e0297128c8c301acda7"; + name = "qtdeclarative-everywhere-src-5.12.4.tar.xz"; }; }; qtdoc = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtdoc-everywhere-src-5.12.3.tar.xz"; - sha256 = "ce5e9d0f48d108c48d742ab2127ead735270d7b525103c6cf409683d7fc8334f"; - name = "qtdoc-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtdoc-everywhere-src-5.12.4.tar.xz"; + sha256 = "93e6cb6abc0dad3a831a6e2c46d950bd7a99b59d60ce2d2b81c2ce893bfb41bb"; + name = "qtdoc-everywhere-src-5.12.4.tar.xz"; }; }; qtgamepad = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtgamepad-everywhere-src-5.12.3.tar.xz"; - sha256 = "5d046869e9646912936e3622efa755d85ccc8eddba91f5b12880cfb5e6489642"; - name = "qtgamepad-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtgamepad-everywhere-src-5.12.4.tar.xz"; + sha256 = "25de6f10fb18f2484d1e569688bf33deb90ecbfb97ce41c2b5fb3521146e4c45"; + name = "qtgamepad-everywhere-src-5.12.4.tar.xz"; }; }; qtgraphicaleffects = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtgraphicaleffects-everywhere-src-5.12.3.tar.xz"; - sha256 = "772c98a009cc82ac290f868906c5aa719e4608ef3c5905d69ef7402b15924a73"; - name = "qtgraphicaleffects-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtgraphicaleffects-everywhere-src-5.12.4.tar.xz"; + sha256 = "0bc38b168fa724411984525173d667aa47076c8cbd4eeb791d0da7fe4b9bdf73"; + name = "qtgraphicaleffects-everywhere-src-5.12.4.tar.xz"; }; }; qtimageformats = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtimageformats-everywhere-src-5.12.3.tar.xz"; - sha256 = "db5a9e784f9c327c1e6830b1550311024cc91202d3b8dde82cd0944164298be2"; - name = "qtimageformats-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtimageformats-everywhere-src-5.12.4.tar.xz"; + sha256 = "2dee25c3eea90d172cbd40f41450153322b902da1daa7d2370a55124b2307bb3"; + name = "qtimageformats-everywhere-src-5.12.4.tar.xz"; }; }; qtlocation = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtlocation-everywhere-src-5.12.3.tar.xz"; - sha256 = "52d589be2852ada0c000b06cc411b61e521cd0797470be567fd1625bcc9d75c6"; - name = "qtlocation-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtlocation-everywhere-src-5.12.4.tar.xz"; + sha256 = "127b40bd7679fead3fb98f4c9c1d71dde9d6d416e90a6000129b61a5f128b3a0"; + name = "qtlocation-everywhere-src-5.12.4.tar.xz"; }; }; qtmacextras = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtmacextras-everywhere-src-5.12.3.tar.xz"; - sha256 = "38dedd29d07ea9e4e92a7ef28f9e03c06cf9a1525aee4f8084310c519f5b47ed"; - name = "qtmacextras-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtmacextras-everywhere-src-5.12.4.tar.xz"; + sha256 = "3ea0b94f9b63e801f2ddafa2a908002d9529a3c65021d261627d21e07454acde"; + name = "qtmacextras-everywhere-src-5.12.4.tar.xz"; }; }; qtmultimedia = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtmultimedia-everywhere-src-5.12.3.tar.xz"; - sha256 = "a30beeb37fb284d93522e29c01fb8d12726f40e9248e80b70b1f8ab60197a301"; - name = "qtmultimedia-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtmultimedia-everywhere-src-5.12.4.tar.xz"; + sha256 = "7c0759ab6fca2480b10b71a35beeffe0b847adeff5af94eacd1a4531d033423d"; + name = "qtmultimedia-everywhere-src-5.12.4.tar.xz"; }; }; qtnetworkauth = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtnetworkauth-everywhere-src-5.12.3.tar.xz"; - sha256 = "dd6bf334be29fb82adaeecb184779328b4ad33a069528b9954d9c07f2d889332"; - name = "qtnetworkauth-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtnetworkauth-everywhere-src-5.12.4.tar.xz"; + sha256 = "e501eb46b8405a2b7db9fe90a1c224cf6676a07dc22c0662317ffe3dee1dbf55"; + name = "qtnetworkauth-everywhere-src-5.12.4.tar.xz"; }; }; qtpurchasing = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtpurchasing-everywhere-src-5.12.3.tar.xz"; - sha256 = "a848f1e1022af38571f5ab0c4ec4b904c12fa6ef19154d44abbcaeb35156753e"; - name = "qtpurchasing-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtpurchasing-everywhere-src-5.12.4.tar.xz"; + sha256 = "7804a111043d0e8d6d81a0d0ae465ce2c36eca73f2774ccb5fa7be8670211672"; + name = "qtpurchasing-everywhere-src-5.12.4.tar.xz"; }; }; qtquickcontrols = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtquickcontrols-everywhere-src-5.12.3.tar.xz"; - sha256 = "68ae03b35eaa44a24c3f663b842252053c9f2b00b18841fd39ff7d2150986f46"; - name = "qtquickcontrols-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtquickcontrols-everywhere-src-5.12.4.tar.xz"; + sha256 = "32d4c2505337c67b0bac26d7f565ec8fabdc616e61247e98674820769dda9858"; + name = "qtquickcontrols-everywhere-src-5.12.4.tar.xz"; }; }; qtquickcontrols2 = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtquickcontrols2-everywhere-src-5.12.3.tar.xz"; - sha256 = "e855e8369c3cb5a2ebcd2028a2a195ba73945fd9d5bc26134706c2fa14e99b3a"; - name = "qtquickcontrols2-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtquickcontrols2-everywhere-src-5.12.4.tar.xz"; + sha256 = "9a447eed38bc8c7d7be7bc407317f58940377c077ddca74c9a641b1ee6200331"; + name = "qtquickcontrols2-everywhere-src-5.12.4.tar.xz"; }; }; qtremoteobjects = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtremoteobjects-everywhere-src-5.12.3.tar.xz"; - sha256 = "3475a409127739930e0bf833cea5f7f605adc66ab25fac39b72ce4bf3039cc42"; - name = "qtremoteobjects-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtremoteobjects-everywhere-src-5.12.4.tar.xz"; + sha256 = "54dd0c782abff90bf0608771c2e90b36073d9bd8d6c61706a2873bb7c317f413"; + name = "qtremoteobjects-everywhere-src-5.12.4.tar.xz"; }; }; qtscript = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtscript-everywhere-src-5.12.3.tar.xz"; - sha256 = "0f37bf032a2370bd08667aad053f5a57717ea49596c16bf6cfb32b0d6e5c1f9e"; - name = "qtscript-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtscript-everywhere-src-5.12.4.tar.xz"; + sha256 = "7adb3fe77638c7a6f2a26bca850b0ff54f5fb7e5561d2e4141d14a84305c2b6a"; + name = "qtscript-everywhere-src-5.12.4.tar.xz"; }; }; qtscxml = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtscxml-everywhere-src-5.12.3.tar.xz"; - sha256 = "70c4b1f8e23560cf54e69aeb3ded4078434e6f78e1b9573fbad1ddace5fc4b19"; - name = "qtscxml-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtscxml-everywhere-src-5.12.4.tar.xz"; + sha256 = "696fb72a62018151275fe589fc80cb160d2becab9a3254321d40e2e11a0ad4f8"; + name = "qtscxml-everywhere-src-5.12.4.tar.xz"; }; }; qtsensors = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtsensors-everywhere-src-5.12.3.tar.xz"; - sha256 = "7f63fedf60fdf110a3fc529568c7226d7acd59cc5eaee908f4d5a969e34005fc"; - name = "qtsensors-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtsensors-everywhere-src-5.12.4.tar.xz"; + sha256 = "95873c7ea5960008d6eb41368ca64d68fbd05594ca8c2cd848b1612fc4aec0a9"; + name = "qtsensors-everywhere-src-5.12.4.tar.xz"; }; }; qtserialbus = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtserialbus-everywhere-src-5.12.3.tar.xz"; - sha256 = "792cd2d411d2ebd737f5d09580f8db479cd35f2f7e7cedb4412075ef20fcfe4d"; - name = "qtserialbus-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtserialbus-everywhere-src-5.12.4.tar.xz"; + sha256 = "69d56905f43ee13e670750e8f46d373835fae81d6343baa7c4004d2a2c6311fc"; + name = "qtserialbus-everywhere-src-5.12.4.tar.xz"; }; }; qtserialport = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtserialport-everywhere-src-5.12.3.tar.xz"; - sha256 = "1faf7df4a1f9028bef1ce79330badb4e5cbbba9f717c53cafc5aea41eed1de51"; - name = "qtserialport-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtserialport-everywhere-src-5.12.4.tar.xz"; + sha256 = "bf487df8a9fb2eddf103842b57a75b17ef4c498ee40306ae9997017c82b0ad39"; + name = "qtserialport-everywhere-src-5.12.4.tar.xz"; }; }; qtspeech = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtspeech-everywhere-src-5.12.3.tar.xz"; - sha256 = "ed211822765744553fb5abeb97058420668b18a50d985061d949a0e068ee64f5"; - name = "qtspeech-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtspeech-everywhere-src-5.12.4.tar.xz"; + sha256 = "2ff9660fb3f5663c9161f491d1a304db62691720136ae22c145ef6a1c94b90ec"; + name = "qtspeech-everywhere-src-5.12.4.tar.xz"; }; }; qtsvg = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtsvg-everywhere-src-5.12.3.tar.xz"; - sha256 = "f666438dbf6816b7534e539b95e3fa4405f11d7e2e2bbcde34f2db5ae0f27dc2"; - name = "qtsvg-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtsvg-everywhere-src-5.12.4.tar.xz"; + sha256 = "110812515a73c650e5ebc41305d9a243dadeb21f485aaed773e394dd84ce0d04"; + name = "qtsvg-everywhere-src-5.12.4.tar.xz"; }; }; qttools = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qttools-everywhere-src-5.12.3.tar.xz"; - sha256 = "c9e92d2f0d369e44bb1a60e9fa6d970f8d9893d653212305e04be5e6daec2cd8"; - name = "qttools-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qttools-everywhere-src-5.12.4.tar.xz"; + sha256 = "3b0e353860a9c0cd4db9eeae5f94fef8811ed7d107e3e5e97e4a557f61bd6eb6"; + name = "qttools-everywhere-src-5.12.4.tar.xz"; }; }; qttranslations = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qttranslations-everywhere-src-5.12.3.tar.xz"; - sha256 = "eefcec0a91c302548f9d948a138b8ec77d78570ce818931bd8475b1bff1205ca"; - name = "qttranslations-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qttranslations-everywhere-src-5.12.4.tar.xz"; + sha256 = "ab8dd55f5ca869cab51c3a6ce0888f854b96dc03c7f25d2bd3d2c50314ab60fb"; + name = "qttranslations-everywhere-src-5.12.4.tar.xz"; }; }; qtvirtualkeyboard = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtvirtualkeyboard-everywhere-src-5.12.3.tar.xz"; - sha256 = "7b83af4527310de4ab81146622f3a46677daabf05556d0e33a2e25ca2aa13b22"; - name = "qtvirtualkeyboard-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtvirtualkeyboard-everywhere-src-5.12.4.tar.xz"; + sha256 = "33ac0356f916995fe5a91582e12b4c4f730c705808ea3c14e75c6e350e8131e6"; + name = "qtvirtualkeyboard-everywhere-src-5.12.4.tar.xz"; }; }; qtwayland = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwayland-everywhere-src-5.12.3.tar.xz"; - sha256 = "f0b45ad84180730e2d5a1249eb20c6357869b4b78f45eb266c2f2b17f77d86ff"; - name = "qtwayland-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtwayland-everywhere-src-5.12.4.tar.xz"; + sha256 = "2fade959c3927687134c597d85c12ba1af22129a60ab326c2dc77a648e74e6b7"; + name = "qtwayland-everywhere-src-5.12.4.tar.xz"; }; }; qtwebchannel = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebchannel-everywhere-src-5.12.3.tar.xz"; - sha256 = "72d1620bcc94e14caa91ddf344c84cd1288aa9479e00b1bb3b5e51f92efe088a"; - name = "qtwebchannel-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtwebchannel-everywhere-src-5.12.4.tar.xz"; + sha256 = "ab571a1b699e61a86be1a6b8d6ffd998d431c4850cc27e9a21f81fa5923bfdb7"; + name = "qtwebchannel-everywhere-src-5.12.4.tar.xz"; }; }; qtwebengine = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebengine-everywhere-src-5.12.3.tar.xz"; - sha256 = "3ff3bac12d75aa0f3fd993bb7077fe411f7b0e6a3993af6f8b039d48e3dc4317"; - name = "qtwebengine-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtwebengine-everywhere-src-5.12.4.tar.xz"; + sha256 = "fccf5c945412c19c3805323211b504ac8becbf191c638a2dc85ec91abfb1b331"; + name = "qtwebengine-everywhere-src-5.12.4.tar.xz"; }; }; qtwebglplugin = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebglplugin-everywhere-src-5.12.3.tar.xz"; - sha256 = "23da63013101e97c4e663bb4f6dbb1c7b4386679c634680d3b8d79bcc59d26b3"; - name = "qtwebglplugin-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtwebglplugin-everywhere-src-5.12.4.tar.xz"; + sha256 = "756fa09893618029bb56605be3ac5756a1834255fb223f8e4b7de205846d3266"; + name = "qtwebglplugin-everywhere-src-5.12.4.tar.xz"; }; }; qtwebsockets = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebsockets-everywhere-src-5.12.3.tar.xz"; - sha256 = "258883225c5e089015c4036f31019aa8f5bb013ecd8eecd193342e606319a577"; - name = "qtwebsockets-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtwebsockets-everywhere-src-5.12.4.tar.xz"; + sha256 = "b471eda2f486d21c51fc3bc53bb8844022117e746d5f15c5eabb82cd37eb2abe"; + name = "qtwebsockets-everywhere-src-5.12.4.tar.xz"; }; }; qtwebview = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwebview-everywhere-src-5.12.3.tar.xz"; - sha256 = "f904e7fd7e755527e5bc4633c6f7c144065a3ffea473bf01fffb730385a983c5"; - name = "qtwebview-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtwebview-everywhere-src-5.12.4.tar.xz"; + sha256 = "1f244c6b774dd9d03d3c5cafe877381900b50a2775cef6487c8bb66e32ab5a5d"; + name = "qtwebview-everywhere-src-5.12.4.tar.xz"; }; }; qtwinextras = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtwinextras-everywhere-src-5.12.3.tar.xz"; - sha256 = "2b6319f7dd19fc19b028685c163a69f0a10e610d7554411d4660c1b5e42ada3b"; - name = "qtwinextras-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtwinextras-everywhere-src-5.12.4.tar.xz"; + sha256 = "f6e0172582a499d5e50c51877552d1a3bff66546d9a02e5754100a51b192973f"; + name = "qtwinextras-everywhere-src-5.12.4.tar.xz"; }; }; qtx11extras = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtx11extras-everywhere-src-5.12.3.tar.xz"; - sha256 = "85e3ae5177970c2d8656226d7535d0dff5764c100e55a79a59161d80754ba613"; - name = "qtx11extras-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtx11extras-everywhere-src-5.12.4.tar.xz"; + sha256 = "49cc009eaf4a01ca7dbe12651ef39de9a43860acb674aec372e70b209f9bae1e"; + name = "qtx11extras-everywhere-src-5.12.4.tar.xz"; }; }; qtxmlpatterns = { - version = "5.12.3"; + version = "5.12.4"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.3/submodules/qtxmlpatterns-everywhere-src-5.12.3.tar.xz"; - sha256 = "e0b98e7c92cd791a9b354d090788347db78f14c47579384fe22d0b650c1d8a61"; - name = "qtxmlpatterns-everywhere-src-5.12.3.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.4/submodules/qtxmlpatterns-everywhere-src-5.12.4.tar.xz"; + sha256 = "0bea1719bb948f65cbed4375cc3e997a6464f35d25b631bafbd7a3161f8f5666"; + name = "qtxmlpatterns-everywhere-src-5.12.4.tar.xz"; }; }; } From ec9e7e4a0c9d9fb1cad6f7875ed2f29854213764 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sun, 15 Sep 2019 12:00:18 -0500 Subject: [PATCH 081/129] qt512.qtbase: Refresh patches --- .../libraries/qt-5/5.12/default.nix | 24 +- .../qt-5/5.12/qtbase-fixguicmake.patch | 30 - .../qt-5/5.12/qtbase-trayicons.patch | 175 --- .../libraries/qt-5/5.12/qtbase.patch | 1146 ----------------- .../0001-qtbase-mkspecs-mac.patch | 397 ++++++ .../5.12/qtbase.patch.d/0002-qtbase-mac.patch | 60 + .../qtbase.patch.d/0003-qtbase-mkspecs.patch | 508 ++++++++ .../qtbase.patch.d/0004-qtbase-cmake.patch | 194 +++ .../qtbase.patch.d/0005-qtbase-gtk3.patch | 48 + .../qtbase.patch.d/0006-qtbase-xcursor.patch | 29 + .../qtbase.patch.d/0007-qtbase-xcompose.patch | 30 + .../qtbase.patch.d/0008-qtbase-tzdir.patch | 51 + .../0009-qtbase-qtpluginpath.patch | 32 + .../qtbase.patch.d/0010-qtbase-assert.patch | 32 + .../qtwayland-fix-webengine-freezeups-1.patch | 139 -- .../qtwayland-fix-webengine-freezeups-2.patch | 493 ------- 16 files changed, 1396 insertions(+), 1992 deletions(-) delete mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase-fixguicmake.patch delete mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase-trayicons.patch delete mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-cmake.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-gtk3.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-xcursor.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcompose.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-tzdir.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-qtpluginpath.patch create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-assert.patch delete mode 100644 pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-1.patch delete mode 100644 pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-2.patch diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index a2062af65f0..e7cb7c37121 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -50,11 +50,21 @@ let }; patches = { - qtbase = [ - ./qtbase.patch - ./qtbase-fixguicmake.patch - ./qtbase-trayicons.patch # can be removed with 5.12.4 or 5.13 - ]; + qtbase = + optionals stdenv.isDarwin [ + ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch + ./qtbase.patch.d/0002-qtbase-mac.patch + ] + ++ [ + ./qtbase.patch.d/0003-qtbase-mkspecs.patch + ./qtbase.patch.d/0004-qtbase-cmake.patch + ./qtbase.patch.d/0005-qtbase-gtk3.patch + ./qtbase.patch.d/0006-qtbase-xcursor.patch + ./qtbase.patch.d/0007-qtbase-xcompose.patch + ./qtbase.patch.d/0008-qtbase-tzdir.patch + ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch + ./qtbase.patch.d/0010-qtbase-assert.patch + ]; qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; @@ -68,10 +78,6 @@ let ./qtwebkit-darwin-no-qos-classes.patch ]; qttools = [ ./qttools.patch ]; - qtwayland = [ - ./qtwayland-fix-webengine-freezeups-1.patch # can be removed with 5.12.4 or 5.13 - ./qtwayland-fix-webengine-freezeups-2.patch # can be removed with 5.12.4 or 5.13 - ]; }; qtModule = diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.12/qtbase-fixguicmake.patch deleted file mode 100644 index 8b46d432812..00000000000 --- a/pkgs/development/libraries/qt-5/5.12/qtbase-fixguicmake.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 0bbc871..3673634 100644 ---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) - set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) - -- set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") -+ set(imported_location \"${PLUGIN_LOCATION}\") - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::${Plugin} PROPERTIES - \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} -diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -index 5baf0fd..3583745 100644 ---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -@@ -2,10 +2,10 @@ - add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) - - !!IF !isEmpty(CMAKE_RELEASE_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\") - !!ENDIF - !!IF !isEmpty(CMAKE_DEBUG_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\") - !!ENDIF - - list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase-trayicons.patch b/pkgs/development/libraries/qt-5/5.12/qtbase-trayicons.patch deleted file mode 100644 index 0376c1c96c2..00000000000 --- a/pkgs/development/libraries/qt-5/5.12/qtbase-trayicons.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 4d5e59c54a805ba4e7311fe58c9adc492ca1b35a Mon Sep 17 00:00:00 2001 -From: Alexander Volkov -Date: Mon, 4 Feb 2019 18:42:35 +0300 -Subject: [PATCH] QSystemTrayIcon/X11: Create tray icon window when system tray - appears - -... and destroy it otherwise. - -Fixes: QTBUG-61898 -Fixes: QTBUG-73459 -Done-with: Gatis Paeglis -Change-Id: I6bd8f397f7ccdb123f6a60d4fa466f7b0d760dfc ---- - src/widgets/util/qsystemtrayicon_p.h | 4 ++ - src/widgets/util/qsystemtrayicon_x11.cpp | 75 ++++++++++++++++++++++---------- - 2 files changed, 57 insertions(+), 22 deletions(-) - -diff --git a/src/widgets/util/qsystemtrayicon_p.h b/src/widgets/util/qsystemtrayicon_p.h -index 5bdf020a472..e31532ea193 100644 ---- a/src/widgets/util/qsystemtrayicon_p.h -+++ b/src/widgets/util/qsystemtrayicon_p.h -@@ -69,6 +69,7 @@ - QT_BEGIN_NAMESPACE - - class QSystemTrayIconSys; -+class QSystemTrayWatcher; - class QPlatformSystemTrayIcon; - class QToolButton; - class QLabel; -@@ -90,6 +91,8 @@ public: - void showMessage_sys(const QString &title, const QString &msg, const QIcon &icon, - QSystemTrayIcon::MessageIcon msgIcon, int msecs); - -+ void destroyIcon(); -+ - static bool isSystemTrayAvailable_sys(); - static bool supportsMessages_sys(); - -@@ -101,6 +104,7 @@ public: - QSystemTrayIconSys *sys; - QPlatformSystemTrayIcon *qpa_sys; - bool visible; -+ QSystemTrayWatcher *trayWatcher; - - private: - void install_sys_qpa(); -diff --git a/src/widgets/util/qsystemtrayicon_x11.cpp b/src/widgets/util/qsystemtrayicon_x11.cpp -index 86532456c76..70e5f3678ea 100644 ---- a/src/widgets/util/qsystemtrayicon_x11.cpp -+++ b/src/widgets/util/qsystemtrayicon_x11.cpp -@@ -92,9 +92,6 @@ protected: - virtual void resizeEvent(QResizeEvent *) override; - virtual void moveEvent(QMoveEvent *) override; - --private slots: -- void systemTrayWindowChanged(QScreen *screen); -- - private: - QSystemTrayIcon *q; - }; -@@ -116,15 +113,6 @@ QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *qIn) - setMouseTracking(true); - } - --void QSystemTrayIconSys::systemTrayWindowChanged(QScreen *) --{ -- if (!locateSystemTray()) { -- QBalloonTip::hideBalloon(); -- hide(); // still no luck -- destroy(); -- } --} -- - QRect QSystemTrayIconSys::globalGeometry() const - { - return QRect(mapToGlobal(QPoint(0, 0)), size()); -@@ -199,10 +187,41 @@ void QSystemTrayIconSys::resizeEvent(QResizeEvent *event) - } - //////////////////////////////////////////////////////////////////////////// - -+class QSystemTrayWatcher: public QObject -+{ -+ Q_OBJECT -+public: -+ QSystemTrayWatcher(QSystemTrayIcon *trayIcon) -+ : QObject(trayIcon) -+ , mTrayIcon(trayIcon) -+ { -+ // This code uses string-based syntax because we want to connect to a signal -+ // which is defined in XCB plugin - QXcbNativeInterface::systemTrayWindowChanged(). -+ connect(qGuiApp->platformNativeInterface(), SIGNAL(systemTrayWindowChanged(QScreen*)), -+ this, SLOT(systemTrayWindowChanged(QScreen*))); -+ } -+ -+private slots: -+ void systemTrayWindowChanged(QScreen *) -+ { -+ auto icon = static_cast(QObjectPrivate::get(mTrayIcon)); -+ icon->destroyIcon(); -+ if (icon->visible && locateSystemTray()) { -+ icon->sys = new QSystemTrayIconSys(mTrayIcon); -+ icon->sys->show(); -+ } -+ } -+ -+private: -+ QSystemTrayIcon *mTrayIcon = nullptr; -+}; -+//////////////////////////////////////////////////////////////////////////// -+ - QSystemTrayIconPrivate::QSystemTrayIconPrivate() - : sys(0), - qpa_sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon()), -- visible(false) -+ visible(false), -+ trayWatcher(nullptr) - { - } - -@@ -213,16 +232,21 @@ QSystemTrayIconPrivate::~QSystemTrayIconPrivate() - - void QSystemTrayIconPrivate::install_sys() - { -+ Q_Q(QSystemTrayIcon); -+ - if (qpa_sys) { - install_sys_qpa(); - return; - } -- Q_Q(QSystemTrayIcon); -- if (!sys && locateSystemTray()) { -- sys = new QSystemTrayIconSys(q); -- QObject::connect(QGuiApplication::platformNativeInterface(), SIGNAL(systemTrayWindowChanged(QScreen*)), -- sys, SLOT(systemTrayWindowChanged(QScreen*))); -- sys->show(); -+ -+ if (!sys) { -+ if (!trayWatcher) -+ trayWatcher = new QSystemTrayWatcher(q); -+ -+ if (locateSystemTray()) { -+ sys = new QSystemTrayIconSys(q); -+ sys->show(); -+ } - } - } - -@@ -241,14 +265,21 @@ void QSystemTrayIconPrivate::remove_sys() - remove_sys_qpa(); - return; - } -+ -+ destroyIcon(); -+} -+ -+void QSystemTrayIconPrivate::destroyIcon() -+{ - if (!sys) - return; - QBalloonTip::hideBalloon(); -- sys->hide(); // this should do the trick, but... -- delete sys; // wm may resize system tray only for DestroyEvents -- sys = 0; -+ sys->hide(); -+ delete sys; -+ sys = nullptr; - } - -+ - void QSystemTrayIconPrivate::updateIcon_sys() - { - if (qpa_sys) { --- -2.16.3 - diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch deleted file mode 100644 index 87ed0ddc4d4..00000000000 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch +++ /dev/null @@ -1,1146 +0,0 @@ -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/common/mac.conf qtbase-everywhere-src-5.12.3-b/mkspecs/common/mac.conf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/common/mac.conf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/common/mac.conf 2019-07-10 09:35:08.917628566 -0500 -@@ -24,7 +24,7 @@ - - QMAKE_FIX_RPATH = install_name_tool -id - --QMAKE_LFLAGS_RPATH = -Wl,-rpath, -+QMAKE_LFLAGS_RPATH = - QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip - - QMAKE_LFLAGS_REL_RPATH = -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/create_cmake.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/create_cmake.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/create_cmake.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/create_cmake.prf 2019-07-10 09:35:08.917628566 -0500 -@@ -21,7 +21,7 @@ - # at cmake time whether package has been found via a symlink, and correct - # that to an absolute path. This is only done for installations to - # the /usr or / prefix. --CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS]) -+CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/) - contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR - - CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake -@@ -51,45 +51,20 @@ - $$cmake_extra_source_includes.output - } - --CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") { -- CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/ -- CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True --} -+CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/ -+CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True - --CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_LIB_DIR,"^\\.\\./.*") { -- CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/ -- CMAKE_LIB_DIR_IS_ABSOLUTE = True --} else { -- CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS]) -- # We need to go up another two levels because the CMake files are -- # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME} -- CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../" --} -+CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/ -+CMAKE_BIN_DIR_IS_ABSOLUTE = True - --CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_BIN_DIR, "^\\.\\./.*") { -- CMAKE_BIN_DIR = $$[QT_HOST_BINS]/ -- CMAKE_BIN_DIR_IS_ABSOLUTE = True --} -+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/ -+CMAKE_LIB_DIR_IS_ABSOLUTE = True - --CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") { -- CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/ -- CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True --} -- --win32:!static:!staticlib { -- CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX]) -- contains(CMAKE_DLL_DIR, "^\\.\\./.*") { -- CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/ -- CMAKE_DLL_DIR_IS_ABSOLUTE = True -- } --} else { -- CMAKE_DLL_DIR = $$CMAKE_LIB_DIR -- CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE --} -+CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/ -+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True -+ -+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/ -+CMAKE_DLL_DIR_IS_ABSOLUTE = True - - static|staticlib:CMAKE_STATIC_TYPE = true - -@@ -169,7 +144,7 @@ - cmake_target_file - - cmake_qt5_plugin_file.files = $$cmake_target_file.output -- cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} -+ cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} - INSTALLS += cmake_qt5_plugin_file - - return() -@@ -318,7 +293,7 @@ - cmake_qt5_module_files.files += $$cmake_macros_file.output - } - --cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} -+cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} - - # We are generating cmake files. Most developers of Qt are not aware of cmake, - # so we require automatic tests to be available. The only module which should -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in qtbase-everywhere-src-5.12.3-b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2019-07-10 09:35:08.917628566 -0500 -@@ -3,30 +3,6 @@ - message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\") - endif() - --!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) --!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) --set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") --!!ELSE --get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH) --# Use original install prefix when loaded through a --# cross-prefix symbolic link such as /lib -> /usr/lib. --get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH) --get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH) --if(_realCurr STREQUAL _realOrig) -- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE) --else() -- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) --endif() --unset(_realOrig) --unset(_realCurr) --unset(_IMPORT_PREFIX) --!!ENDIF --!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) --get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) --!!ELSE --set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") --!!ENDIF -- - !!IF !equals(TEMPLATE, aux) - # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. - set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)") -@@ -52,11 +28,7 @@ - macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION) - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) - --!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") --!!ELSE - set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") --!!ENDIF - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES - \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" -@@ -69,11 +41,7 @@ - ) - - !!IF !isEmpty(CMAKE_WINDOWS_BUILD) --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") --!!ELSE - set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") --!!ENDIF - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib}) - if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\") - set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES -@@ -89,24 +57,13 @@ - !!IF !no_module_headers - !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) - set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" -+ \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" -+ \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" - ) - !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" -- ) --!!ELSE -- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") --!!ENDIF --!!ELSE --!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) -- 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}\") --!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) -- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" -+ \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" -+ \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" - ) - !!ELSE - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") -@@ -122,7 +79,6 @@ - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") - !!ENDIF - !!ENDIF --!!ENDIF - !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) - include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) - !!ENDIF -@@ -272,25 +228,13 @@ - !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) - !!IF isEmpty(CMAKE_DEBUG_TYPE) - !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE - if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE - _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) - !!ELSE // CMAKE_STATIC_WINDOWS_BUILD - if (EXISTS --!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" --!!ELSE - \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" --!!ENDIF - AND EXISTS --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ELSE - \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ENDIF - _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) - !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD - endif() -@@ -309,25 +253,13 @@ - !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) - !!IF isEmpty(CMAKE_RELEASE_TYPE) - !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE - if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE - _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) - !!ELSE // CMAKE_STATIC_WINDOWS_BUILD - if (EXISTS --!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" --!!ELSE - \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" --!!ENDIF - AND EXISTS --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ELSE - \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ENDIF - _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) - !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD - endif() -@@ -346,11 +278,7 @@ - macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) - set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) - --!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") --!!ELSE - set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") --!!ENDIF - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::${Plugin} PROPERTIES - \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/default_post.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/default_post.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/default_post.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/default_post.prf 2019-07-10 09:35:08.917628566 -0500 -@@ -64,202 +64,6 @@ - } - } - --# Add the same default rpaths as Xcode does for new projects. --# This is especially important for iOS/tvOS/watchOS where no other option is possible. --!no_default_rpath { -- QMAKE_RPATHDIR += @executable_path/../Frameworks -- equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks --} -- --# Don't pass -headerpad_max_install_names when using Bitcode. --# In that case the linker emits a warning stating that the flag is ignored when --# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962). --# Using this flag is also unnecessary in practice on UIKit platforms since they --# are sandboxed, and only UIKit platforms support bitcode to begin with. --!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD -- --app_extension_api_only { -- QMAKE_CFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION -- QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION -- QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION -- QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION --} -- --macx-xcode { -- qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO -- !isEmpty(QMAKE_PKGINFO_TYPEINFO): \ -- qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO -- else: \ -- qmake_pkginfo_typeinfo.value = "????" -- QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo -- -- !isEmpty(VERSION) { -- l = $$split(VERSION, '.') 0 0 # make sure there are at least three -- VER_MAJ = $$member(l, 0, 0) -- VER_MIN = $$member(l, 1, 1) -- VER_PAT = $$member(l, 2, 2) -- unset(l) -- -- qmake_full_version.name = QMAKE_FULL_VERSION -- qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT} -- QMAKE_MAC_XCODE_SETTINGS += qmake_full_version -- -- qmake_short_version.name = QMAKE_SHORT_VERSION -- qmake_short_version.value = $${VER_MAJ}.$${VER_MIN} -- QMAKE_MAC_XCODE_SETTINGS += qmake_short_version -- } -- -- !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) { -- debug_information_format.name = DEBUG_INFORMATION_FORMAT -- debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT -- debug_information_format.build = debug -- QMAKE_MAC_XCODE_SETTINGS += debug_information_format -- } -- -- QMAKE_XCODE_ARCHS = -- -- arch_device.name = "ARCHS[sdk=$${device.sdk}*]" -- arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS -- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS -- QMAKE_MAC_XCODE_SETTINGS += arch_device -- -- simulator { -- arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]" -- arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS -- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS -- QMAKE_MAC_XCODE_SETTINGS += arch_simulator -- } -- -- only_active_arch.name = ONLY_ACTIVE_ARCH -- only_active_arch.value = YES -- only_active_arch.build = debug -- QMAKE_MAC_XCODE_SETTINGS += only_active_arch --} else { -- device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS -- simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS -- VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS -- -- isEmpty(VALID_ARCHS): \ -- error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture") -- -- single_arch: VALID_ARCHS = $$first(VALID_ARCHS) -- -- ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS)) -- ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch)) -- -- QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS -- -- arch_flags = $(EXPORT_ARCH_ARGS) -- -- QMAKE_CFLAGS += $$arch_flags -- QMAKE_CXXFLAGS += $$arch_flags -- QMAKE_LFLAGS += $$arch_flags -- -- QMAKE_PCH_ARCHS = $$VALID_ARCHS -- -- macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET -- ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET -- tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET -- watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET -- -- # If we're doing a simulator and device build, device and simulator -- # architectures use different paths and flags for the sysroot and -- # deployment target switch, so we must multiplex them across multiple -- # architectures using -Xarch. Otherwise we fall back to the simple path. -- # This is not strictly necessary, but results in cleaner command lines -- # and makes it easier for people to override EXPORT_VALID_ARCHS to limit -- # individual rules to a different set of architecture(s) from the overall -- # build (such as machtest in QtCore). -- simulator:device { -- QMAKE_XARCH_CFLAGS = -- QMAKE_XARCH_LFLAGS = -- QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS -- -- for (arch, VALID_ARCHS) { -- contains(VALID_SIMULATOR_ARCHS, $$arch) { -- sdk = $$simulator.sdk -- version_identifier = $$simulator.deployment_identifier -- } else { -- sdk = $$device.sdk -- version_identifier = $$device.deployment_identifier -- } -- -- version_min_flags = \ -- -Xarch_$${arch} \ -- -m$${version_identifier}-version-min=$$deployment_target -- QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \ -- -Xarch_$${arch} \ -- -isysroot$$xcodeSDKInfo(Path, $$sdk) -- QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \ -- -Xarch_$${arch} \ -- -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk) -- -- QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch}) -- QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch}) -- -- QMAKE_EXTRA_VARIABLES += \ -- QMAKE_XARCH_CFLAGS_$${arch} \ -- QMAKE_XARCH_LFLAGS_$${arch} -- } -- -- QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) -- QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) -- QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS) -- } else { -- simulator: \ -- version_identifier = $$simulator.deployment_identifier -- else: \ -- version_identifier = $$device.deployment_identifier -- version_min_flag = -m$${version_identifier}-version-min=$$deployment_target -- QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag -- QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag -- QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag -- } -- -- # Enable precompiled headers for multiple architectures -- QMAKE_CFLAGS_USE_PRECOMPILE = -- for (arch, VALID_ARCHS) { -- icc_pch_style: \ -- use_flag = "-pch-use " -- else: \ -- use_flag = -include -- -- # Only use Xarch with multi-arch, as the option confuses ccache -- count(VALID_ARCHS, 1, greaterThan): \ -- QMAKE_CFLAGS_USE_PRECOMPILE += \ -- -Xarch_$${arch} -- -- QMAKE_CFLAGS_USE_PRECOMPILE += \ -- $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}} -- } -- icc_pch_style { -- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT} -- QMAKE_CFLAGS_USE_PRECOMPILE = -- } else { -- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- } -- -- QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT} --} -- --cache(QMAKE_XCODE_DEVELOPER_PATH, stash) --!isEmpty(QMAKE_XCODE_VERSION): \ -- cache(QMAKE_XCODE_VERSION, stash) -- --QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix() -- --xcode_product_bundle_identifier_setting.name = PRODUCT_BUNDLE_IDENTIFIER --xcode_product_bundle_identifier_setting.value = $$QMAKE_TARGET_BUNDLE_PREFIX --isEmpty(xcode_product_bundle_identifier_setting.value): \ -- xcode_product_bundle_identifier_setting.value = "com.yourcompany" --xcode_product_bundle_target = $$QMAKE_BUNDLE --isEmpty(xcode_product_bundle_target): \ -- xcode_product_bundle_target = ${PRODUCT_NAME:rfc1034identifier} --xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.$${xcode_product_bundle_target}" --QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting -- - !macx-xcode { - generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode $(EXPORT__PRO_FILE_) - generate_xcode_project.target = xcodeproj -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/default_pre.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/default_pre.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/default_pre.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/default_pre.prf 2019-07-10 09:35:08.917628566 -0500 -@@ -1,60 +1,2 @@ - CONFIG = asset_catalogs rez $$CONFIG - load(default_pre) -- --isEmpty(QMAKE_XCODE_DEVELOPER_PATH) { -- # Get path of Xcode's Developer directory -- QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null") -- isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \ -- error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.") -- -- # Make sure Xcode path is valid -- !exists($$QMAKE_XCODE_DEVELOPER_PATH): \ -- error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.") --} -- --isEmpty(QMAKE_XCODEBUILD_PATH): \ -- QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null") -- --!isEmpty(QMAKE_XCODEBUILD_PATH) { -- # Make sure Xcode is set up properly -- !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \ -- error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.") -- -- isEmpty(QMAKE_XCODE_VERSION) { -- # Extract Xcode version using xcodebuild -- xcode_version = $$system("/usr/bin/xcrun xcodebuild -version") -- QMAKE_XCODE_VERSION = $$member(xcode_version, 1) -- isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.") -- unset(xcode_version) -- } --} -- --isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) { -- QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist -- exists($$QMAKE_XCODE_PREFERENCES_FILE): \ -- QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null") -- -- !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \ -- cache(QMAKE_TARGET_BUNDLE_PREFIX) --} -- --QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon -- --# Make the default debug info format for static debug builds --# DWARF instead of DWARF with dSYM. This cuts down build times --# for application debug builds significantly, as Xcode doesn't --# have to pull out all the DWARF info from the Qt static libs --# and put it into a dSYM file. We don't need that dSYM file in --# the first place, since the information is available in the --# object files inside the archives (static libraries). --macx-xcode:qtConfig(static): \ -- QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf -- --# This variable is used by the xcode_dynamic_library_suffix --# feature, which allows Xcode to choose the Qt libraries to link to --# at build time, depending on the current Xcode SDK and configuration. --QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX -- --xcode_copy_phase_strip_setting.name = COPY_PHASE_STRIP --xcode_copy_phase_strip_setting.value = NO --QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/sdk.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/sdk.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/mac/sdk.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/mac/sdk.prf 2019-07-10 09:35:08.917628566 -0500 -@@ -1,54 +1 @@ - --isEmpty(QMAKE_MAC_SDK): \ -- error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.") -- --contains(QMAKE_MAC_SDK, .*/.*): \ -- error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)") -- --defineReplace(xcodeSDKInfo) { -- info = $$1 -- equals(info, "Path"): \ -- infoarg = --show-sdk-path -- equals(info, "PlatformPath"): \ -- infoarg = --show-sdk-platform-path -- equals(info, "SDKVersion"): \ -- infoarg = --show-sdk-version -- sdk = $$2 -- isEmpty(sdk): \ -- sdk = $$QMAKE_MAC_SDK -- -- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) { -- QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null") -- # --show-sdk-platform-path won't work for Command Line Tools; this is fine -- # only used by the XCTest backend to testlib -- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \ -- error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg") -- cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info}) -- } -- -- return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info})) --} -- --QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path) --QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath) --QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion) -- --QMAKESPEC_NAME = $$basename(QMAKESPEC) -- --# Resolve SDK version of various tools --for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) { -- tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool} -- !isEmpty($$tool_variable) { -- $$tool = $$eval($$tool_variable) -- next() -- } -- -- value = $$eval($$tool) -- isEmpty(value): next() -- -- sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null") -- isEmpty(sysrooted): next() -- -- $$tool = $$sysrooted $$member(value, 1, -1) -- cache($$tool_variable, set stash, $$tool) --} -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qml_module.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qml_module.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qml_module.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qml_module.prf 2019-07-10 09:35:08.917628566 -0500 -@@ -54,7 +54,7 @@ - - qmldir.files = $$qmldir_file - install_qml_files: qmldir.files += $$fq_qml_files --qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH -+qmldir.path = $$NIX_OUTPUT_QML/$$TARGETPATH - INSTALLS += qmldir - - qmlfiles.base = $$_PRO_FILE_PWD_ -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qml_plugin.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qml_plugin.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qml_plugin.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qml_plugin.prf 2019-07-10 09:35:08.918628595 -0500 -@@ -50,7 +50,7 @@ - - DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH - --target.path = $$[QT_INSTALL_QML]/$$TARGETPATH -+target.path = $$NIX_OUTPUT_QML/$$TARGETPATH - INSTALLS += target - - # Some final setup -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_app.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_app.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_app.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_app.prf 2019-07-10 09:35:08.918628595 -0500 -@@ -30,7 +30,7 @@ - target.path = $$[QT_HOST_BINS] - } else { - !build_pass:qtConfig(debug_and_release): CONFIG += release -- target.path = $$[QT_INSTALL_BINS] -+ target.path = $$NIX_OUTPUT_BIN/bin - CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable - } - INSTALLS += target -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_build_paths.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_build_paths.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_build_paths.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_build_paths.prf 2019-07-10 09:35:08.918628595 -0500 -@@ -24,6 +24,6 @@ - !force_independent { - # If the module is not built independently, everything ends up in qtbase. - # This is the case in non-prefix builds, except for selected modules. -- MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX] -- MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX] -+ MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT -+ MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT - } -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_common.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_common.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_common.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_common.prf 2019-07-10 09:35:08.918628595 -0500 -@@ -34,8 +34,8 @@ - qqt_libdir = \$\$\$\$[QT_HOST_LIBS] - qt_libdir = $$[QT_HOST_LIBS] - } else { -- qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS] -- qt_libdir = $$[QT_INSTALL_LIBS] -+ qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib -+ qt_libdir = $$NIX_OUTPUT_OUT/lib - } - contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { - lib_replace.match = "[^ ']*$$rplbase/lib" -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_docs.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_docs.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_docs.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_docs.prf 2019-07-10 09:35:08.918628595 -0500 -@@ -45,7 +45,7 @@ - - QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR) - !build_online_docs: \ -- QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS]) -+ QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC) - PREP_DOC_INDEXES = - DOC_INDEXES = - !isEmpty(QTREPOS) { -@@ -64,8 +64,8 @@ - DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc) - } else { - prepare_docs: \ -- PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) -- DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) -+ PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) -+ DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) - } - - qtattributionsscanner.target = qtattributionsscanner -@@ -88,12 +88,12 @@ - qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch) - - inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR -- inst_html_docs.path = $$[QT_INSTALL_DOCS] -+ inst_html_docs.path = $$NIX_OUTPUT_DOC - inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build - INSTALLS += inst_html_docs - - inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch -- inst_qch_docs.path = $$[QT_INSTALL_DOCS] -+ inst_qch_docs.path = $$NIX_OUTPUT_DOC - inst_qch_docs.CONFIG += no_check_exist no_default_install no_build - INSTALLS += inst_qch_docs - -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_example_installs.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_example_installs.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_example_installs.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_example_installs.prf 2019-07-10 09:35:08.918628595 -0500 -@@ -88,7 +88,7 @@ - $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \ - $$DBUS_ADAPTORS $$DBUS_INTERFACES - addInstallFiles(sources.files, $$sourcefiles) --sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase -+sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase - INSTALLS += sources - - check_examples { -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_functions.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_functions.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_functions.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_functions.prf 2019-07-10 09:35:08.918628595 -0500 -@@ -69,7 +69,7 @@ - defineTest(qtPrepareTool) { - cmd = $$eval(QT_TOOL.$${2}.binary) - isEmpty(cmd) { -- cmd = $$[QT_HOST_BINS]/$$2 -+ cmd = $$system("command -v $$2") - exists($${cmd}.pl) { - $${1}_EXE = $${cmd}.pl - cmd = perl -w $$system_path($${cmd}.pl) -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_installs.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_installs.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_installs.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_installs.prf 2019-07-10 09:35:08.918628595 -0500 -@@ -12,16 +12,10 @@ - #library - !qt_no_install_library { - win32 { -- host_build: \ -- dlltarget.path = $$[QT_HOST_BINS] -- else: \ -- dlltarget.path = $$[QT_INSTALL_BINS] -+ dlltarget.path = $$NIX_OUTPUT_BIN/bin - INSTALLS += dlltarget - } -- host_build: \ -- target.path = $$[QT_HOST_LIBS] -- else: \ -- target.path = $$[QT_INSTALL_LIBS] -+ target.path = $$NIX_OUTPUT_OUT/lib - !static: target.CONFIG = no_dll - INSTALLS += target - } -@@ -29,35 +23,35 @@ - #headers - qt_install_headers { - gen_headers.files = $$SYNCQT.GENERATED_HEADER_FILES -- gen_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME -+ gen_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME - INSTALLS += gen_headers - - targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES -- targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME -+ targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME - INSTALLS += targ_headers - - private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES -- private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private -+ private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private - generated_privates: \ - private_headers.CONFIG += no_check_exist - INSTALLS += private_headers - - qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES -- qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa -+ qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa - INSTALLS += qpa_headers - } - - #module - qt_install_module { - !isEmpty(MODULE_PRI) { -- pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules -+ pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules - pritarget.files = $$MODULE_PRI - INSTALLS += pritarget - } else: isEmpty(MODULE_PRIVATE_PRI) { - 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.") - } - !isEmpty(MODULE_PRIVATE_PRI) { -- privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules -+ privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules - privpritarget.files = $$MODULE_PRIVATE_PRI - INSTALLS += privpritarget - } -diff -aur qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_plugin.prf qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_plugin.prf ---- qtbase-everywhere-src-5.12.3-a/mkspecs/features/qt_plugin.prf 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/mkspecs/features/qt_plugin.prf 2019-07-10 09:35:08.918628595 -0500 -@@ -88,7 +88,7 @@ - } - } - --target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE -+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE - INSTALLS += target - - TARGET = $$qt5LibraryTarget($$TARGET) -diff -aur qtbase-everywhere-src-5.12.3-a/src/corelib/kernel/qcoreapplication.cpp qtbase-everywhere-src-5.12.3-b/src/corelib/kernel/qcoreapplication.cpp ---- qtbase-everywhere-src-5.12.3-a/src/corelib/kernel/qcoreapplication.cpp 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/corelib/kernel/qcoreapplication.cpp 2019-07-10 09:35:08.919628625 -0500 -@@ -2668,6 +2668,15 @@ - QStringList *app_libpaths = new QStringList; - coreappdata()->app_libpaths.reset(app_libpaths); - -+ // Add library paths derived from PATH -+ const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); -+ const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX); -+ for (const QString &path: paths) { -+ if (!path.isEmpty()) { -+ app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir)); -+ } -+ } -+ - QString libPathEnv = qEnvironmentVariable("QT_PLUGIN_PATH"); - if (!libPathEnv.isEmpty()) { - QStringList paths = libPathEnv.split(QDir::listSeparator(), QString::SkipEmptyParts); -diff -aur qtbase-everywhere-src-5.12.3-a/src/corelib/kernel/qcore_mac_p.h qtbase-everywhere-src-5.12.3-b/src/corelib/kernel/qcore_mac_p.h ---- qtbase-everywhere-src-5.12.3-a/src/corelib/kernel/qcore_mac_p.h 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/corelib/kernel/qcore_mac_p.h 2019-07-10 09:35:08.920628655 -0500 -@@ -212,7 +212,7 @@ - - // -------------------------------------------------------------------------- - --#if !defined(QT_BOOTSTRAPPED) -+#if 0 - - QT_END_NAMESPACE - #include -@@ -290,7 +290,19 @@ - - #define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter(); - --#endif // !defined(QT_BOOTSTRAPPED) -+#else // !defined(QT_BOOTSTRAPPED) -+ -+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...) -+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...) -+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...) -+ -+#define QT_APPLE_LOG_ACTIVITY2(...) -+#define QT_APPLE_LOG_ACTIVITY1(...) -+#define QT_APPLE_LOG_ACTIVITY(...) -+ -+#define QT_APPLE_SCOPED_LOG_ACTIVITY(...) -+ -+#endif - - // ------------------------------------------------------------------------- - -Only in qtbase-everywhere-src-5.12.3-b/src/corelib/kernel: qcore_mac_p.h.orig -diff -aur qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtras.cmake.in qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtras.cmake.in ---- qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtras.cmake.in 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtras.cmake.in 2019-07-10 09:35:08.918628595 -0500 -@@ -3,7 +3,7 @@ - add_executable(Qt5::qmake IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -18,7 +18,7 @@ - add_executable(Qt5::moc IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -35,7 +35,7 @@ - add_executable(Qt5::rcc IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -116,7 +116,7 @@ - !!IF !isEmpty(CMAKE_RELEASE_TYPE) - set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") -+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") - !!ELSE - set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") - !!ENDIF -@@ -130,7 +130,7 @@ - set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) - - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") -+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") - !!ELSE - set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") - !!ENDIF -diff -aur qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in ---- qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 2019-07-10 09:35:08.918628595 -0500 -@@ -1,6 +1,6 @@ - - !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE) --set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") -+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") - !!ELSE - set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") - !!ENDIF -diff -aur qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in ---- qtbase-everywhere-src-5.12.3-a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 2019-07-10 09:35:08.918628595 -0500 -@@ -1,6 +1,6 @@ - - !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE) --set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") -+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") - !!ELSE - set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") - !!ENDIF -diff -aur qtbase-everywhere-src-5.12.3-a/src/corelib/tools/qtimezoneprivate_tz.cpp qtbase-everywhere-src-5.12.3-b/src/corelib/tools/qtimezoneprivate_tz.cpp ---- qtbase-everywhere-src-5.12.3-a/src/corelib/tools/qtimezoneprivate_tz.cpp 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/corelib/tools/qtimezoneprivate_tz.cpp 2019-07-10 09:35:08.919628625 -0500 -@@ -70,7 +70,11 @@ - // Parse zone.tab table, assume lists all installed zones, if not will need to read directories - static QTzTimeZoneHash loadTzTimeZones() - { -- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); -+ // Try TZDIR first, in case we're running on NixOS. -+ QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab"); -+ // Fallback to traditional paths in case we are not on NixOS. -+ if (!QFile::exists(path)) -+ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); - if (!QFile::exists(path)) - path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); - -@@ -644,12 +648,16 @@ - if (!tzif.open(QIODevice::ReadOnly)) - return; - } else { -- // Open named tz, try modern path first, if fails try legacy path -- tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); -+ // Try TZDIR first, in case we're running on NixOS -+ tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId)); - if (!tzif.open(QIODevice::ReadOnly)) { -- tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); -- if (!tzif.open(QIODevice::ReadOnly)) -- return; -+ // Open named tz, try modern path first, if fails try legacy path -+ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); -+ if (!tzif.open(QIODevice::ReadOnly)) { -+ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); -+ if (!tzif.open(QIODevice::ReadOnly)) -+ return; -+ } - } - } - -diff -aur qtbase-everywhere-src-5.12.3-a/src/dbus/Qt5DBusConfigExtras.cmake.in qtbase-everywhere-src-5.12.3-b/src/dbus/Qt5DBusConfigExtras.cmake.in ---- qtbase-everywhere-src-5.12.3-a/src/dbus/Qt5DBusConfigExtras.cmake.in 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/dbus/Qt5DBusConfigExtras.cmake.in 2019-07-10 09:35:08.919628625 -0500 -@@ -2,11 +2,7 @@ - if (NOT TARGET Qt5::qdbuscpp2xml) - add_executable(Qt5::qdbuscpp2xml IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") --!!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") --!!ENDIF -+ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") - _qt5_DBus_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qdbuscpp2xml PROPERTIES -@@ -17,11 +13,7 @@ - if (NOT TARGET Qt5::qdbusxml2cpp) - add_executable(Qt5::qdbusxml2cpp IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") --!!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") --!!ENDIF -+ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") - _qt5_DBus_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qdbusxml2cpp PROPERTIES -diff -aur qtbase-everywhere-src-5.12.3-a/src/gui/Qt5GuiConfigExtras.cmake.in qtbase-everywhere-src-5.12.3-b/src/gui/Qt5GuiConfigExtras.cmake.in ---- qtbase-everywhere-src-5.12.3-a/src/gui/Qt5GuiConfigExtras.cmake.in 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/gui/Qt5GuiConfigExtras.cmake.in 2019-07-10 09:35:08.919628625 -0500 -@@ -2,7 +2,7 @@ - !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) - - !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) --set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\") -+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\") - !!ELSE - set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") - !!ENDIF -@@ -17,13 +17,13 @@ - set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) - - !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") -+ set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") - !!ELSE - set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") - !!ENDIF - - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") -+ set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") - !!ELSE - set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") - !!ENDIF -diff -aur qtbase-everywhere-src-5.12.3-a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp qtbase-everywhere-src-5.12.3-b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp ---- qtbase-everywhere-src-5.12.3-a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 2019-07-10 09:35:08.919628625 -0500 -@@ -265,12 +265,9 @@ - m_possibleLocations.reserve(7); - if (qEnvironmentVariableIsSet("QTCOMPOSE")) - m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE"))); -- m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale")); -- m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale")); -- m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale")); -- m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale")); - m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale")); - m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale")); -+ m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE)); - } - - QString TableGenerator::findComposeFile() -diff -aur qtbase-everywhere-src-5.12.3-a/src/plugins/platforms/xcb/qxcbcursor.cpp qtbase-everywhere-src-5.12.3-b/src/plugins/platforms/xcb/qxcbcursor.cpp ---- qtbase-everywhere-src-5.12.3-a/src/plugins/platforms/xcb/qxcbcursor.cpp 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/plugins/platforms/xcb/qxcbcursor.cpp 2019-07-10 09:35:08.919628625 -0500 -@@ -317,10 +317,10 @@ - #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library) - static bool function_ptrs_not_initialized = true; - if (function_ptrs_not_initialized) { -- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); -+ QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1); - bool xcursorFound = xcursorLib.load(); - if (!xcursorFound) { // try without the version number -- xcursorLib.setFileName(QLatin1String("Xcursor")); -+ xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR)); - xcursorFound = xcursorLib.load(); - } - if (xcursorFound) { -Only in qtbase-everywhere-src-5.12.3-b/src/plugins/platforms/xcb: qxcbcursor.cpp.orig -diff -aur qtbase-everywhere-src-5.12.3-a/src/plugins/platformthemes/gtk3/main.cpp qtbase-everywhere-src-5.12.3-b/src/plugins/platformthemes/gtk3/main.cpp ---- qtbase-everywhere-src-5.12.3-a/src/plugins/platformthemes/gtk3/main.cpp 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/plugins/platformthemes/gtk3/main.cpp 2019-07-10 09:35:08.919628625 -0500 -@@ -39,6 +39,7 @@ - - #include - #include "qgtk3theme.h" -+#include - - QT_BEGIN_NAMESPACE - -@@ -54,8 +55,22 @@ - QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList ¶ms) - { - Q_UNUSED(params); -- if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) -+ if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) { -+ -+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS -+ QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':'); -+ XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS); -+ qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':'))); -+#endif -+ -+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES -+ QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':'); -+ GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES); -+ qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':'))); -+#endif -+ - return new QGtk3Theme; -+ } - - return 0; - } -diff -aur qtbase-everywhere-src-5.12.3-a/src/testlib/qappletestlogger.cpp qtbase-everywhere-src-5.12.3-b/src/testlib/qappletestlogger.cpp ---- qtbase-everywhere-src-5.12.3-a/src/testlib/qappletestlogger.cpp 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/testlib/qappletestlogger.cpp 2019-07-10 09:35:08.920628655 -0500 -@@ -43,7 +43,7 @@ - - QT_BEGIN_NAMESPACE - --#if defined(QT_USE_APPLE_UNIFIED_LOGGING) -+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 - - using namespace QTestPrivate; - -diff -aur qtbase-everywhere-src-5.12.3-a/src/testlib/qtestassert.h qtbase-everywhere-src-5.12.3-b/src/testlib/qtestassert.h ---- qtbase-everywhere-src-5.12.3-a/src/testlib/qtestassert.h 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/testlib/qtestassert.h 2019-07-10 09:35:08.919628625 -0500 -@@ -44,10 +44,13 @@ - - QT_BEGIN_NAMESPACE - -- -+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS) -+#define QTEST_ASSERT(cond) do { } while ((false) && (cond)) -+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond)) -+#else - #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false) -- - #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false) -+#endif - - QT_END_NAMESPACE - -diff -aur qtbase-everywhere-src-5.12.3-a/src/widgets/Qt5WidgetsConfigExtras.cmake.in qtbase-everywhere-src-5.12.3-b/src/widgets/Qt5WidgetsConfigExtras.cmake.in ---- qtbase-everywhere-src-5.12.3-a/src/widgets/Qt5WidgetsConfigExtras.cmake.in 2019-04-09 04:51:26.000000000 -0500 -+++ qtbase-everywhere-src-5.12.3-b/src/widgets/Qt5WidgetsConfigExtras.cmake.in 2019-07-10 09:35:08.919628625 -0500 -@@ -3,7 +3,7 @@ - add_executable(Qt5::uic IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") - !!ENDIF -diff --git a/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk -index c40f58c987..e69de29bb2 100644 ---- a/mkspecs/features/mac/sdk.mk -+++ b/mkspecs/features/mac/sdk.mk -@@ -1,25 +0,0 @@ -- --ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),) -- CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1 -- CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND)) -- ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION)) -- # We don't want to complain about out of date SDK unless the target needs to be remade. -- # This covers use-cases such as running 'make check' after moving the build to a -- # computer without Xcode or with a different Xcode version. -- TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0) -- ifeq ($(TARGET_UP_TO_DATE),0) -- ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),) -- $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.) -- else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),) -- $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.) -- else ifneq ($(CURRENT_MAC_SDK_VERSION),) -- $(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).) -- else -- $(info Unknown error resolving current platform SDK version.) -- endif -- $(info This requires a fresh build. Please wipe the build directory completely,) -- $(info including any .qmake.stash and .qmake.cache files generated by qmake.) -- $(error ^) -- endif -- endif --endif diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch new file mode 100644 index 00000000000..70216a3c636 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch @@ -0,0 +1,397 @@ +From 58d98b66da5d748d610f053053bd12e42c97d9e6 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:34:00 -0500 +Subject: [PATCH 01/10] qtbase-mkspecs-mac + +--- + mkspecs/common/mac.conf | 2 +- + mkspecs/features/mac/default_post.prf | 196 -------------------------- + mkspecs/features/mac/default_pre.prf | 58 -------- + mkspecs/features/mac/sdk.mk | 25 ---- + mkspecs/features/mac/sdk.prf | 61 -------- + 5 files changed, 1 insertion(+), 341 deletions(-) + +diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf +index b77494ec..470c38e7 100644 +--- a/mkspecs/common/mac.conf ++++ b/mkspecs/common/mac.conf +@@ -24,7 +24,7 @@ QMAKE_INCDIR_OPENGL = \ + + QMAKE_FIX_RPATH = install_name_tool -id + +-QMAKE_LFLAGS_RPATH = -Wl,-rpath, ++QMAKE_LFLAGS_RPATH = + QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip + + QMAKE_LFLAGS_REL_RPATH = +diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf +index c46222de..18dcfbce 100644 +--- a/mkspecs/features/mac/default_post.prf ++++ b/mkspecs/features/mac/default_post.prf +@@ -64,202 +64,6 @@ qt { + } + } + +-# Add the same default rpaths as Xcode does for new projects. +-# This is especially important for iOS/tvOS/watchOS where no other option is possible. +-!no_default_rpath { +- QMAKE_RPATHDIR += @executable_path/../Frameworks +- equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks +-} +- +-# Don't pass -headerpad_max_install_names when using Bitcode. +-# In that case the linker emits a warning stating that the flag is ignored when +-# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962). +-# Using this flag is also unnecessary in practice on UIKit platforms since they +-# are sandboxed, and only UIKit platforms support bitcode to begin with. +-!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD +- +-app_extension_api_only { +- QMAKE_CFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION +- QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION +- QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION +- QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION +-} +- +-macx-xcode { +- qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO +- !isEmpty(QMAKE_PKGINFO_TYPEINFO): \ +- qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO +- else: \ +- qmake_pkginfo_typeinfo.value = "????" +- QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo +- +- !isEmpty(VERSION) { +- l = $$split(VERSION, '.') 0 0 # make sure there are at least three +- VER_MAJ = $$member(l, 0, 0) +- VER_MIN = $$member(l, 1, 1) +- VER_PAT = $$member(l, 2, 2) +- unset(l) +- +- qmake_full_version.name = QMAKE_FULL_VERSION +- qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT} +- QMAKE_MAC_XCODE_SETTINGS += qmake_full_version +- +- qmake_short_version.name = QMAKE_SHORT_VERSION +- qmake_short_version.value = $${VER_MAJ}.$${VER_MIN} +- QMAKE_MAC_XCODE_SETTINGS += qmake_short_version +- } +- +- !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) { +- debug_information_format.name = DEBUG_INFORMATION_FORMAT +- debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT +- debug_information_format.build = debug +- QMAKE_MAC_XCODE_SETTINGS += debug_information_format +- } +- +- QMAKE_XCODE_ARCHS = +- +- arch_device.name = "ARCHS[sdk=$${device.sdk}*]" +- arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS +- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS +- QMAKE_MAC_XCODE_SETTINGS += arch_device +- +- simulator { +- arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]" +- arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS +- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS +- QMAKE_MAC_XCODE_SETTINGS += arch_simulator +- } +- +- only_active_arch.name = ONLY_ACTIVE_ARCH +- only_active_arch.value = YES +- only_active_arch.build = debug +- QMAKE_MAC_XCODE_SETTINGS += only_active_arch +-} else { +- device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS +- simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS +- VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS +- +- isEmpty(VALID_ARCHS): \ +- error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture") +- +- single_arch: VALID_ARCHS = $$first(VALID_ARCHS) +- +- ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS)) +- ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch)) +- +- QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS +- +- arch_flags = $(EXPORT_ARCH_ARGS) +- +- QMAKE_CFLAGS += $$arch_flags +- QMAKE_CXXFLAGS += $$arch_flags +- QMAKE_LFLAGS += $$arch_flags +- +- QMAKE_PCH_ARCHS = $$VALID_ARCHS +- +- macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET +- ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET +- tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET +- watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET +- +- # If we're doing a simulator and device build, device and simulator +- # architectures use different paths and flags for the sysroot and +- # deployment target switch, so we must multiplex them across multiple +- # architectures using -Xarch. Otherwise we fall back to the simple path. +- # This is not strictly necessary, but results in cleaner command lines +- # and makes it easier for people to override EXPORT_VALID_ARCHS to limit +- # individual rules to a different set of architecture(s) from the overall +- # build (such as machtest in QtCore). +- simulator:device { +- QMAKE_XARCH_CFLAGS = +- QMAKE_XARCH_LFLAGS = +- QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS +- +- for (arch, VALID_ARCHS) { +- contains(VALID_SIMULATOR_ARCHS, $$arch) { +- sdk = $$simulator.sdk +- version_identifier = $$simulator.deployment_identifier +- } else { +- sdk = $$device.sdk +- version_identifier = $$device.deployment_identifier +- } +- +- version_min_flags = \ +- -Xarch_$${arch} \ +- -m$${version_identifier}-version-min=$$deployment_target +- QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \ +- -Xarch_$${arch} \ +- -isysroot$$xcodeSDKInfo(Path, $$sdk) +- QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \ +- -Xarch_$${arch} \ +- -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk) +- +- QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch}) +- QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch}) +- +- QMAKE_EXTRA_VARIABLES += \ +- QMAKE_XARCH_CFLAGS_$${arch} \ +- QMAKE_XARCH_LFLAGS_$${arch} +- } +- +- QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) +- QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) +- QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS) +- } else { +- simulator: \ +- version_identifier = $$simulator.deployment_identifier +- else: \ +- version_identifier = $$device.deployment_identifier +- version_min_flag = -m$${version_identifier}-version-min=$$deployment_target +- QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag +- QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag +- QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag +- } +- +- # Enable precompiled headers for multiple architectures +- QMAKE_CFLAGS_USE_PRECOMPILE = +- for (arch, VALID_ARCHS) { +- icc_pch_style: \ +- use_flag = "-pch-use " +- else: \ +- use_flag = -include +- +- # Only use Xarch with multi-arch, as the option confuses ccache +- count(VALID_ARCHS, 1, greaterThan): \ +- QMAKE_CFLAGS_USE_PRECOMPILE += \ +- -Xarch_$${arch} +- +- QMAKE_CFLAGS_USE_PRECOMPILE += \ +- $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}} +- } +- icc_pch_style { +- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT} +- QMAKE_CFLAGS_USE_PRECOMPILE = +- } else { +- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE +- QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE +- QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE +- } +- +- QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT} +-} +- +-cache(QMAKE_XCODE_DEVELOPER_PATH, stash) +-!isEmpty(QMAKE_XCODE_VERSION): \ +- cache(QMAKE_XCODE_VERSION, stash) +- +-QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix() +- +-xcode_product_bundle_identifier_setting.name = PRODUCT_BUNDLE_IDENTIFIER +-xcode_product_bundle_identifier_setting.value = $$QMAKE_TARGET_BUNDLE_PREFIX +-isEmpty(xcode_product_bundle_identifier_setting.value): \ +- xcode_product_bundle_identifier_setting.value = "com.yourcompany" +-xcode_product_bundle_target = $$QMAKE_BUNDLE +-isEmpty(xcode_product_bundle_target): \ +- xcode_product_bundle_target = ${PRODUCT_NAME:rfc1034identifier} +-xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.$${xcode_product_bundle_target}" +-QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting +- + !macx-xcode { + generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode $(EXPORT__PRO_FILE_) + generate_xcode_project.target = xcodeproj +diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf +index e3534561..3b01424e 100644 +--- a/mkspecs/features/mac/default_pre.prf ++++ b/mkspecs/features/mac/default_pre.prf +@@ -1,60 +1,2 @@ + CONFIG = asset_catalogs rez $$CONFIG + load(default_pre) +- +-isEmpty(QMAKE_XCODE_DEVELOPER_PATH) { +- # Get path of Xcode's Developer directory +- QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null") +- isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \ +- error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.") +- +- # Make sure Xcode path is valid +- !exists($$QMAKE_XCODE_DEVELOPER_PATH): \ +- error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.") +-} +- +-isEmpty(QMAKE_XCODEBUILD_PATH): \ +- QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null") +- +-!isEmpty(QMAKE_XCODEBUILD_PATH) { +- # Make sure Xcode is set up properly +- !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \ +- error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.") +- +- isEmpty(QMAKE_XCODE_VERSION) { +- # Extract Xcode version using xcodebuild +- xcode_version = $$system("/usr/bin/xcrun xcodebuild -version") +- QMAKE_XCODE_VERSION = $$member(xcode_version, 1) +- isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.") +- unset(xcode_version) +- } +-} +- +-isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) { +- QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist +- exists($$QMAKE_XCODE_PREFERENCES_FILE): \ +- QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null") +- +- !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \ +- cache(QMAKE_TARGET_BUNDLE_PREFIX) +-} +- +-QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon +- +-# Make the default debug info format for static debug builds +-# DWARF instead of DWARF with dSYM. This cuts down build times +-# for application debug builds significantly, as Xcode doesn't +-# have to pull out all the DWARF info from the Qt static libs +-# and put it into a dSYM file. We don't need that dSYM file in +-# the first place, since the information is available in the +-# object files inside the archives (static libraries). +-macx-xcode:qtConfig(static): \ +- QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf +- +-# This variable is used by the xcode_dynamic_library_suffix +-# feature, which allows Xcode to choose the Qt libraries to link to +-# at build time, depending on the current Xcode SDK and configuration. +-QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX +- +-xcode_copy_phase_strip_setting.name = COPY_PHASE_STRIP +-xcode_copy_phase_strip_setting.value = NO +-QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting +diff --git a/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk +index c40f58c9..e69de29b 100644 +--- a/mkspecs/features/mac/sdk.mk ++++ b/mkspecs/features/mac/sdk.mk +@@ -1,25 +0,0 @@ +- +-ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),) +- CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1 +- CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND)) +- ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION)) +- # We don't want to complain about out of date SDK unless the target needs to be remade. +- # This covers use-cases such as running 'make check' after moving the build to a +- # computer without Xcode or with a different Xcode version. +- TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0) +- ifeq ($(TARGET_UP_TO_DATE),0) +- ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),) +- $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.) +- else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),) +- $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.) +- else ifneq ($(CURRENT_MAC_SDK_VERSION),) +- $(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).) +- else +- $(info Unknown error resolving current platform SDK version.) +- endif +- $(info This requires a fresh build. Please wipe the build directory completely,) +- $(info including any .qmake.stash and .qmake.cache files generated by qmake.) +- $(error ^) +- endif +- endif +-endif +diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf +index 3a9c2778..e69de29b 100644 +--- a/mkspecs/features/mac/sdk.prf ++++ b/mkspecs/features/mac/sdk.prf +@@ -1,61 +0,0 @@ +- +-isEmpty(QMAKE_MAC_SDK): \ +- error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.") +- +-contains(QMAKE_MAC_SDK, .*/.*): \ +- error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)") +- +-defineReplace(xcodeSDKInfo) { +- info = $$1 +- equals(info, "Path"): \ +- infoarg = --show-sdk-path +- equals(info, "PlatformPath"): \ +- infoarg = --show-sdk-platform-path +- equals(info, "SDKVersion"): \ +- infoarg = --show-sdk-version +- sdk = $$2 +- isEmpty(sdk): \ +- sdk = $$QMAKE_MAC_SDK +- +- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) { +- QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null") +- # --show-sdk-platform-path won't work for Command Line Tools; this is fine +- # only used by the XCTest backend to testlib +- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \ +- error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg") +- cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info}) +- } +- +- return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info})) +-} +- +-QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path) +-QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath) +-QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion) +- +-isEmpty(QMAKE_EXPORT_INCDIR_OPENGL) { +- QMAKE_EXPORT_INCDIR_OPENGL = $$QMAKE_INCDIR_OPENGL +- sysrootified = +- for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val +- QMAKE_INCDIR_OPENGL = $$sysrootified +-} +- +-QMAKESPEC_NAME = $$basename(QMAKESPEC) +- +-# Resolve SDK version of various tools +-for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) { +- tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool} +- !isEmpty($$tool_variable) { +- $$tool = $$eval($$tool_variable) +- next() +- } +- +- value = $$eval($$tool) +- isEmpty(value): next() +- +- sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null") +- isEmpty(sysrooted): next() +- +- $$tool = $$sysrooted $$member(value, 1, -1) +- cache($$tool_variable, set stash, $$tool) +-} +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch new file mode 100644 index 00000000000..b780e38fc83 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch @@ -0,0 +1,60 @@ +From 1dbf4dd6dc4cc30a3e705a12117f1764201a8402 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:37:15 -0500 +Subject: [PATCH 02/10] qtbase-mac + +--- + src/corelib/kernel/qcore_mac_p.h | 16 ++++++++++++++-- + src/testlib/qappletestlogger.cpp | 2 +- + 2 files changed, 15 insertions(+), 3 deletions(-) + +diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h +index f96e7358..650946b7 100644 +--- a/src/corelib/kernel/qcore_mac_p.h ++++ b/src/corelib/kernel/qcore_mac_p.h +@@ -212,7 +212,7 @@ private: + + // -------------------------------------------------------------------------- + +-#if !defined(QT_BOOTSTRAPPED) ++#if 0 + + QT_END_NAMESPACE + #include +@@ -290,7 +290,19 @@ QT_MAC_WEAK_IMPORT(_os_activity_current); + + #define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter(); + +-#endif // !defined(QT_BOOTSTRAPPED) ++#else // !defined(QT_BOOTSTRAPPED) ++ ++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...) ++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...) ++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...) ++ ++#define QT_APPLE_LOG_ACTIVITY2(...) ++#define QT_APPLE_LOG_ACTIVITY1(...) ++#define QT_APPLE_LOG_ACTIVITY(...) ++ ++#define QT_APPLE_SCOPED_LOG_ACTIVITY(...) ++ ++#endif + + // ------------------------------------------------------------------------- + +diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp +index dfeadebd..2a74330c 100644 +--- a/src/testlib/qappletestlogger.cpp ++++ b/src/testlib/qappletestlogger.cpp +@@ -43,7 +43,7 @@ + + QT_BEGIN_NAMESPACE + +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + + using namespace QTestPrivate; + +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch new file mode 100644 index 00000000000..41cf801c9c7 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch @@ -0,0 +1,508 @@ +From cfcd1f6e1ac53bfbd7d35f0e1aefbdbaa1726f4d Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:32:35 -0500 +Subject: [PATCH 03/10] qtbase-mkspecs + +--- + mkspecs/features/create_cmake.prf | 53 ++++-------- + .../data/cmake/Qt5BasicConfig.cmake.in | 80 +------------------ + mkspecs/features/qml_module.prf | 2 +- + mkspecs/features/qml_plugin.prf | 2 +- + mkspecs/features/qt_app.prf | 2 +- + mkspecs/features/qt_build_paths.prf | 4 +- + mkspecs/features/qt_common.prf | 31 ------- + mkspecs/features/qt_docs.prf | 10 +-- + mkspecs/features/qt_example_installs.prf | 2 +- + mkspecs/features/qt_functions.prf | 2 +- + mkspecs/features/qt_installs.prf | 22 ++--- + mkspecs/features/qt_plugin.prf | 2 +- + 12 files changed, 39 insertions(+), 173 deletions(-) + +diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf +index c9910dda..e9bc8076 100644 +--- a/mkspecs/features/create_cmake.prf ++++ b/mkspecs/features/create_cmake.prf +@@ -21,7 +21,7 @@ load(cmake_functions) + # at cmake time whether package has been found via a symlink, and correct + # that to an absolute path. This is only done for installations to + # the /usr or / prefix. +-CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS]) ++CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/) + contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR + + CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake +@@ -60,45 +60,20 @@ split_incpath { + $$cmake_extra_source_includes.output + } + +-CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX]) +-contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") { +- CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/ +- CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True +-} ++CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/ ++CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True + +-CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX]) +-contains(CMAKE_LIB_DIR,"^\\.\\./.*") { +- CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/ +- CMAKE_LIB_DIR_IS_ABSOLUTE = True +-} else { +- CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS]) +- # We need to go up another two levels because the CMake files are +- # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME} +- CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../" +-} ++CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/ ++CMAKE_BIN_DIR_IS_ABSOLUTE = True + +-CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX]) +-contains(CMAKE_BIN_DIR, "^\\.\\./.*") { +- CMAKE_BIN_DIR = $$[QT_HOST_BINS]/ +- CMAKE_BIN_DIR_IS_ABSOLUTE = True +-} ++CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/ ++CMAKE_LIB_DIR_IS_ABSOLUTE = True + +-CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX]) +-contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") { +- CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/ +- CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True +-} +- +-win32:!static:!staticlib { +- CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX]) +- contains(CMAKE_DLL_DIR, "^\\.\\./.*") { +- CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/ +- CMAKE_DLL_DIR_IS_ABSOLUTE = True +- } +-} else { +- CMAKE_DLL_DIR = $$CMAKE_LIB_DIR +- CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE +-} ++CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/ ++CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True ++ ++CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/ ++CMAKE_DLL_DIR_IS_ABSOLUTE = True + + static|staticlib:CMAKE_STATIC_TYPE = true + +@@ -178,7 +153,7 @@ contains(CONFIG, plugin) { + cmake_target_file + + cmake_qt5_plugin_file.files = $$cmake_target_file.output +- cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} ++ cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} + INSTALLS += cmake_qt5_plugin_file + + return() +@@ -323,7 +298,7 @@ exists($$cmake_macros_file.input) { + cmake_qt5_module_files.files += $$cmake_macros_file.output + } + +-cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} ++cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} + + # We are generating cmake files. Most developers of Qt are not aware of cmake, + # so we require automatic tests to be available. The only module which should +diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +index c7298928..c60ef16e 100644 +--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +@@ -3,30 +3,6 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) + message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\") + endif() + +-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) +-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +-!!ELSE +-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH) +-# Use original install prefix when loaded through a +-# cross-prefix symbolic link such as /lib -> /usr/lib. +-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH) +-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH) +-if(_realCurr STREQUAL _realOrig) +- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE) +-else() +- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) +-endif() +-unset(_realOrig) +-unset(_realCurr) +-unset(_IMPORT_PREFIX) +-!!ENDIF +-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) +-!!ELSE +-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +-!!ENDIF +- + !!IF !equals(TEMPLATE, aux) + # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. + set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)") +@@ -52,11 +28,7 @@ endmacro() + macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION) + set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + +-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") +-!!ELSE + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") +-!!ENDIF + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) + set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES + \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" +@@ -69,11 +41,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI + ) + + !!IF !isEmpty(CMAKE_WINDOWS_BUILD) +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") +-!!ELSE + set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") +-!!ENDIF + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib}) + if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\") + set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES +@@ -89,24 +57,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + !!IF !no_module_headers + !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\" ++ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\" ++ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\" + ) + !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" +- ) +-!!ELSE +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +-!!ENDIF +-!!ELSE +-!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) +- 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}\") +-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" ++ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" ++ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" + ) + !!ELSE + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +@@ -122,7 +79,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") + !!ENDIF + !!ENDIF +-!!ENDIF + !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) + include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) + !!ENDIF +@@ -272,25 +228,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) + !!IF isEmpty(CMAKE_DEBUG_TYPE) + !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE + if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) + !!ELSE // CMAKE_STATIC_WINDOWS_BUILD + if (EXISTS +-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" +-!!ELSE + \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" +-!!ENDIF + AND EXISTS +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ELSE + \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + endif() +@@ -309,25 +253,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) + !!IF isEmpty(CMAKE_RELEASE_TYPE) + !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE + if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE + _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) + !!ELSE // CMAKE_STATIC_WINDOWS_BUILD + if (EXISTS +-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" +-!!ELSE + \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" +-!!ENDIF + AND EXISTS +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ELSE + \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ENDIF + _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + endif() +@@ -346,11 +278,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) + set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + +-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") +-!!ELSE + set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") +-!!ENDIF + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) + set_target_properties(Qt5::${Plugin} PROPERTIES + \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} +diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf +index 57cfec78..5cbd7c52 100644 +--- a/mkspecs/features/qml_module.prf ++++ b/mkspecs/features/qml_module.prf +@@ -51,7 +51,7 @@ builtin_resources { + # Install rules + qmldir.base = $$qmldir_path + qmldir.files = $$qmldir_file +-qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH ++qmldir.path = $$NIX_OUTPUT_QML/$$TARGETPATH + INSTALLS += qmldir + + qmlfiles.base = $$_PRO_FILE_PWD_ +diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf +index ad8ecdf5..804634b2 100644 +--- a/mkspecs/features/qml_plugin.prf ++++ b/mkspecs/features/qml_plugin.prf +@@ -50,7 +50,7 @@ load(qt_build_paths) + + DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH + +-target.path = $$[QT_INSTALL_QML]/$$TARGETPATH ++target.path = $$NIX_OUTPUT_QML/$$TARGETPATH + INSTALLS += target + + # Some final setup +diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf +index 8354f30e..62028fef 100644 +--- a/mkspecs/features/qt_app.prf ++++ b/mkspecs/features/qt_app.prf +@@ -30,7 +30,7 @@ host_build:force_bootstrap { + target.path = $$[QT_HOST_BINS] + } else { + !build_pass:qtConfig(debug_and_release): CONFIG += release +- target.path = $$[QT_INSTALL_BINS] ++ target.path = $$NIX_OUTPUT_BIN/bin + CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable + } + INSTALLS += target +diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf +index 3bb3823a..655b7b7d 100644 +--- a/mkspecs/features/qt_build_paths.prf ++++ b/mkspecs/features/qt_build_paths.prf +@@ -24,6 +24,6 @@ exists($$MODULE_BASE_INDIR/.git): \ + !force_independent { + # If the module is not built independently, everything ends up in qtbase. + # This is the case in non-prefix builds, except for selected modules. +- MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX] +- MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX] ++ MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT ++ MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT + } +diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf +index caecb68a..dc5c2178 100644 +--- a/mkspecs/features/qt_common.prf ++++ b/mkspecs/features/qt_common.prf +@@ -25,37 +25,6 @@ contains(TEMPLATE, .*lib) { + if(!host_build|!cross_compile):qtConfig(reduce_exports): CONFIG += hide_symbols + unix:qtConfig(reduce_relocations): CONFIG += bsymbolic_functions + qtConfig(separate_debug_info): CONFIG += separate_debug_info +- +- !isEmpty(_QMAKE_SUPER_CACHE_): \ +- rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* +- else: \ +- rplbase = $$MODULE_BASE_OUTDIR +- host_build { +- qqt_libdir = \$\$\$\$[QT_HOST_LIBS] +- qt_libdir = $$[QT_HOST_LIBS] +- } else { +- qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS] +- qt_libdir = $$[QT_INSTALL_LIBS] +- } +- contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { +- lib_replace0.match = $$rplbase/lib/ +- lib_replace0.replace = $$qqt_libdir/ +- lib_replace0.CONFIG = path +- QMAKE_PRL_INSTALL_REPLACE += lib_replace0 +- lib_replace.match = "[^ ']*$$rplbase/lib" +- lib_replace.replace = +- } else { +- lib_replace.match = $$rplbase/lib +- lib_replace.replace = $$qqt_libdir +- } +- lib_replace.CONFIG = path +- QMAKE_PRL_INSTALL_REPLACE += lib_replace +- !equals(qt_libdir, $$rplbase/lib) { +- qtlibdir_replace.match = $$qt_libdir +- qtlibdir_replace.replace = $$qqt_libdir +- qtlibdir_replace.CONFIG = path +- QMAKE_PRL_INSTALL_REPLACE += qtlibdir_replace +- } + } + + # The remainder of this file must not apply to host tools/libraries, +diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf +index 3b74cd4d..6bfbbe6e 100644 +--- a/mkspecs/features/qt_docs.prf ++++ b/mkspecs/features/qt_docs.prf +@@ -45,7 +45,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR + + QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR) + !build_online_docs: \ +- QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS]) ++ QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC) + PREP_DOC_INDEXES = + DOC_INDEXES = + !isEmpty(QTREPOS) { +@@ -64,8 +64,8 @@ DOC_INDEXES = + DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc) + } else { + prepare_docs: \ +- PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) +- DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) ++ PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) ++ DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) + } + + qtattributionsscanner.target = qtattributionsscanner +@@ -88,12 +88,12 @@ prepare_docs { + qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch) + + inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR +- inst_html_docs.path = $$[QT_INSTALL_DOCS] ++ inst_html_docs.path = $$NIX_OUTPUT_DOC + inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build + INSTALLS += inst_html_docs + + inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch +- inst_qch_docs.path = $$[QT_INSTALL_DOCS] ++ inst_qch_docs.path = $$NIX_OUTPUT_DOC + inst_qch_docs.CONFIG += no_check_exist no_default_install no_build + INSTALLS += inst_qch_docs + +diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf +index 43b58817..e635b8f6 100644 +--- a/mkspecs/features/qt_example_installs.prf ++++ b/mkspecs/features/qt_example_installs.prf +@@ -88,7 +88,7 @@ sourcefiles += \ + $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \ + $$DBUS_ADAPTORS $$DBUS_INTERFACES + addInstallFiles(sources.files, $$sourcefiles) +-sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase ++sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase + INSTALLS += sources + + check_examples { +diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf +index 1903e509..ae7b5859 100644 +--- a/mkspecs/features/qt_functions.prf ++++ b/mkspecs/features/qt_functions.prf +@@ -69,7 +69,7 @@ defineTest(qtHaveModule) { + defineTest(qtPrepareTool) { + cmd = $$eval(QT_TOOL.$${2}.binary) + isEmpty(cmd) { +- cmd = $$[QT_HOST_BINS]/$$2 ++ cmd = $$system("command -v $$2") + exists($${cmd}.pl) { + $${1}_EXE = $${cmd}.pl + cmd = perl -w $$system_path($${cmd}.pl) +diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf +index 1ebca173..b784441d 100644 +--- a/mkspecs/features/qt_installs.prf ++++ b/mkspecs/features/qt_installs.prf +@@ -12,16 +12,10 @@ + #library + !qt_no_install_library { + win32 { +- host_build: \ +- dlltarget.path = $$[QT_HOST_BINS] +- else: \ +- dlltarget.path = $$[QT_INSTALL_BINS] ++ dlltarget.path = $$NIX_OUTPUT_BIN/bin + INSTALLS += dlltarget + } +- host_build: \ +- target.path = $$[QT_HOST_LIBS] +- else: \ +- target.path = $$[QT_INSTALL_LIBS] ++ target.path = $$NIX_OUTPUT_OUT/lib + !static: target.CONFIG = no_dll + INSTALLS += target + } +@@ -29,35 +23,35 @@ + #headers + qt_install_headers { + gen_headers.files = $$SYNCQT.GENERATED_HEADER_FILES +- gen_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME ++ gen_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME + INSTALLS += gen_headers + + targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES +- targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME ++ targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME + INSTALLS += targ_headers + + private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES +- private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private ++ private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private + generated_privates: \ + private_headers.CONFIG += no_check_exist + INSTALLS += private_headers + + qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES +- qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa ++ qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa + INSTALLS += qpa_headers + } + + #module + qt_install_module { + !isEmpty(MODULE_PRI) { +- pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules ++ pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules + pritarget.files = $$MODULE_PRI + INSTALLS += pritarget + } else: isEmpty(MODULE_PRIVATE_PRI) { + 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.") + } + !isEmpty(MODULE_PRIVATE_PRI) { +- privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules ++ privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules + privpritarget.files = $$MODULE_PRIVATE_PRI + INSTALLS += privpritarget + } +diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf +index 40528a65..903f7952 100644 +--- a/mkspecs/features/qt_plugin.prf ++++ b/mkspecs/features/qt_plugin.prf +@@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build { + } + } + +-target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE ++target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE + INSTALLS += target + + TARGET = $$qt5LibraryTarget($$TARGET) +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-cmake.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-cmake.patch new file mode 100644 index 00000000000..73459af1649 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-cmake.patch @@ -0,0 +1,194 @@ +From 689670949eac83e1ba76425a1fc17efeb920eff1 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:34:28 -0500 +Subject: [PATCH 04/10] qtbase-cmake + +--- + mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 2 +- + mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in | 4 ++-- + src/corelib/Qt5CoreConfigExtras.cmake.in | 10 +++++----- + src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in | 2 +- + .../Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in | 2 +- + src/dbus/Qt5DBusConfigExtras.cmake.in | 12 ++---------- + src/gui/Qt5GuiConfigExtras.cmake.in | 6 +++--- + src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +- + 8 files changed, 16 insertions(+), 24 deletions(-) + +diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +index c60ef16e..e354ab91 100644 +--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +@@ -278,7 +278,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) + set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + +- set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") ++ set(imported_location \"${PLUGIN_LOCATION}\") + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) + set_target_properties(Qt5::${Plugin} PROPERTIES + \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} +diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in +index 5baf0fdb..3583745a 100644 +--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in +@@ -2,10 +2,10 @@ + add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) + + !!IF !isEmpty(CMAKE_RELEASE_TYPE) +-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") ++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\") + !!ENDIF + !!IF !isEmpty(CMAKE_DEBUG_TYPE) +-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") ++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\") + !!ENDIF + + list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) +diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in +index e0652fdc..450b2a2d 100644 +--- a/src/corelib/Qt5CoreConfigExtras.cmake.in ++++ b/src/corelib/Qt5CoreConfigExtras.cmake.in +@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake) + add_executable(Qt5::qmake IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc) + add_executable(Qt5::moc IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc) + add_executable(Qt5::rcc IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -116,7 +116,7 @@ if (NOT TARGET Qt5::WinMain) + !!IF !isEmpty(CMAKE_RELEASE_TYPE) + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") ++ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") + !!ELSE + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") + !!ENDIF +@@ -130,7 +130,7 @@ if (NOT TARGET Qt5::WinMain) + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") ++ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") + !!ELSE + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") + !!ENDIF +diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in +index c357237d..6f0c75de 100644 +--- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in ++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in +@@ -1,6 +1,6 @@ + + !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE) +-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") ++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") + !!ELSE + set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") + !!ENDIF +diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in +index 706304cf..546420f6 100644 +--- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in ++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in +@@ -1,6 +1,6 @@ + + !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE) +-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") ++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") + !!ELSE + set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") + !!ENDIF +diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in +index 1d947159..b36865fc 100644 +--- a/src/dbus/Qt5DBusConfigExtras.cmake.in ++++ b/src/dbus/Qt5DBusConfigExtras.cmake.in +@@ -2,11 +2,7 @@ + if (NOT TARGET Qt5::qdbuscpp2xml) + add_executable(Qt5::qdbuscpp2xml IMPORTED) + +-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") +-!!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") +-!!ENDIF ++ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") + _qt5_DBus_check_file_exists(${imported_location}) + + set_target_properties(Qt5::qdbuscpp2xml PROPERTIES +@@ -17,11 +13,7 @@ endif() + if (NOT TARGET Qt5::qdbusxml2cpp) + add_executable(Qt5::qdbusxml2cpp IMPORTED) + +-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") +-!!ELSE +- set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") +-!!ENDIF ++ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") + _qt5_DBus_check_file_exists(${imported_location}) + + set_target_properties(Qt5::qdbusxml2cpp PROPERTIES +diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in +index 84dbbfeb..8ad0720c 100644 +--- a/src/gui/Qt5GuiConfigExtras.cmake.in ++++ b/src/gui/Qt5GuiConfigExtras.cmake.in +@@ -2,7 +2,7 @@ + !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) + + !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) +-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\") ++set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\") + !!ELSE + set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") + !!ENDIF +@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO + set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++ set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") + !!ELSE + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") + !!ENDIF + + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") ++ set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") + !!ELSE + set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") + !!ENDIF +diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in +index 99d87e2e..a4eab2aa 100644 +--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in ++++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in +@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic) + add_executable(Qt5::uic IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") + !!ENDIF +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-gtk3.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-gtk3.patch new file mode 100644 index 00000000000..9e82a2eeef9 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-gtk3.patch @@ -0,0 +1,48 @@ +From b4542d244adc118e8a84ee4ae1d737b5205da1e3 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:35:33 -0500 +Subject: [PATCH 05/10] qtbase-gtk3 + +--- + src/plugins/platformthemes/gtk3/main.cpp | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp +index fb1c425d..bb8bab97 100644 +--- a/src/plugins/platformthemes/gtk3/main.cpp ++++ b/src/plugins/platformthemes/gtk3/main.cpp +@@ -39,6 +39,7 @@ + + #include + #include "qgtk3theme.h" ++#include + + QT_BEGIN_NAMESPACE + +@@ -54,8 +55,22 @@ public: + QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList ¶ms) + { + Q_UNUSED(params); +- if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) ++ if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) { ++ ++#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS ++ QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':'); ++ XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS); ++ qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':'))); ++#endif ++ ++#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES ++ QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':'); ++ GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES); ++ qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':'))); ++#endif ++ + return new QGtk3Theme; ++ } + + return 0; + } +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-xcursor.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-xcursor.patch new file mode 100644 index 00000000000..21bb2408a3e --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-xcursor.patch @@ -0,0 +1,29 @@ +From 6dfdf2044bc8a0212b14414c4b9d9c1bfa5c1e6b Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:35:58 -0500 +Subject: [PATCH 06/10] qtbase-xcursor + +--- + src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp +index fbadab4d..c83ce0af 100644 +--- a/src/plugins/platforms/xcb/qxcbcursor.cpp ++++ b/src/plugins/platforms/xcb/qxcbcursor.cpp +@@ -317,10 +317,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen) + #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library) + static bool function_ptrs_not_initialized = true; + if (function_ptrs_not_initialized) { +- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); ++ QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1); + bool xcursorFound = xcursorLib.load(); + if (!xcursorFound) { // try without the version number +- xcursorLib.setFileName(QLatin1String("Xcursor")); ++ xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR)); + xcursorFound = xcursorLib.load(); + } + if (xcursorFound) { +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcompose.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcompose.patch new file mode 100644 index 00000000000..83d11494a01 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcompose.patch @@ -0,0 +1,30 @@ +From 7211024a1d54232f9a6f91f7aac467e0e8893691 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:36:10 -0500 +Subject: [PATCH 07/10] qtbase-xcompose + +--- + .../compose/generator/qtablegenerator.cpp | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp +index b5a0a5bb..6c20305f 100644 +--- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp ++++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp +@@ -265,12 +265,9 @@ void TableGenerator::initPossibleLocations() + m_possibleLocations.reserve(7); + if (qEnvironmentVariableIsSet("QTCOMPOSE")) + m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE"))); +- m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale")); +- m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale")); +- m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale")); +- m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale")); + m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale")); + m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale")); ++ m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE)); + } + + QString TableGenerator::findComposeFile() +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-tzdir.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-tzdir.patch new file mode 100644 index 00000000000..5050ffea90d --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-tzdir.patch @@ -0,0 +1,51 @@ +From f24621e540d5511802013aa8e8972c9e060c953a Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:36:25 -0500 +Subject: [PATCH 08/10] qtbase-tzdir + +--- + src/corelib/tools/qtimezoneprivate_tz.cpp | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp +index 7d85bc07..c13d99b8 100644 +--- a/src/corelib/tools/qtimezoneprivate_tz.cpp ++++ b/src/corelib/tools/qtimezoneprivate_tz.cpp +@@ -71,7 +71,11 @@ typedef QHash QTzTimeZoneHash; + // Parse zone.tab table, assume lists all installed zones, if not will need to read directories + static QTzTimeZoneHash loadTzTimeZones() + { +- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); ++ // Try TZDIR first, in case we're running on NixOS. ++ QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab"); ++ // Fallback to traditional paths in case we are not on NixOS. ++ if (!QFile::exists(path)) ++ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); + if (!QFile::exists(path)) + path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); + +@@ -650,12 +654,16 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId) + if (!tzif.open(QIODevice::ReadOnly)) + return; + } else { +- // Open named tz, try modern path first, if fails try legacy path +- tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ // Try TZDIR first, in case we're running on NixOS ++ tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId)); + if (!tzif.open(QIODevice::ReadOnly)) { +- tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); +- if (!tzif.open(QIODevice::ReadOnly)) +- return; ++ // Open named tz, try modern path first, if fails try legacy path ++ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) { ++ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) ++ return; ++ } + } + } + +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-qtpluginpath.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-qtpluginpath.patch new file mode 100644 index 00000000000..7226617872f --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-qtpluginpath.patch @@ -0,0 +1,32 @@ +From 40616bf4afacadca360083d7d365914f8f8573e5 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:36:41 -0500 +Subject: [PATCH 09/10] qtbase-qtpluginpath + +--- + src/corelib/kernel/qcoreapplication.cpp | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp +index 8652c456..74562272 100644 +--- a/src/corelib/kernel/qcoreapplication.cpp ++++ b/src/corelib/kernel/qcoreapplication.cpp +@@ -2690,6 +2690,15 @@ QStringList QCoreApplication::libraryPaths() + QStringList *app_libpaths = new QStringList; + coreappdata()->app_libpaths.reset(app_libpaths); + ++ // Add library paths derived from PATH ++ const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); ++ const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX); ++ for (const QString &path: paths) { ++ if (!path.isEmpty()) { ++ app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir)); ++ } ++ } ++ + QString libPathEnv = qEnvironmentVariable("QT_PLUGIN_PATH"); + if (!libPathEnv.isEmpty()) { + QStringList paths = libPathEnv.split(QDir::listSeparator(), QString::SkipEmptyParts); +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-assert.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-assert.patch new file mode 100644 index 00000000000..943667b26e0 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-assert.patch @@ -0,0 +1,32 @@ +From 60a2d764708234a06828c76d91db77565e08d872 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 17 Sep 2019 05:37:04 -0500 +Subject: [PATCH 10/10] qtbase-assert + +--- + src/testlib/qtestassert.h | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h +index 6498ea84..d821ced7 100644 +--- a/src/testlib/qtestassert.h ++++ b/src/testlib/qtestassert.h +@@ -44,10 +44,13 @@ + + QT_BEGIN_NAMESPACE + +- ++#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS) ++#define QTEST_ASSERT(cond) do { } while ((false) && (cond)) ++#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond)) ++#else + #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false) +- + #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false) ++#endif + + QT_END_NAMESPACE + +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-1.patch b/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-1.patch deleted file mode 100644 index 2e5a890be05..00000000000 --- a/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-1.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 9aced4f9571e74cc57b853598aa4b3f38d66363d Mon Sep 17 00:00:00 2001 -From: Johan Klokkhammer Helsing -Date: Thu, 1 Nov 2018 13:48:52 +0100 -Subject: [PATCH 1/2] Client: Don't be exposed if we want to create a sub or - shell surface - -Because some shells don't allow attaching buffers before configure, we need to -not be exposed until we know that we don't want a shell surface. - -Change-Id: Ida7101a99f953d02cf6401e4ea8d28cfabd6e102 -Reviewed-by: Giulio Camuffo -Reviewed-by: David Edmundson ---- - src/client/qwaylanddisplay.cpp | 13 ++++++------- - src/client/qwaylanddisplay_p.h | 6 +++--- - src/client/qwaylandwindow.cpp | 18 +++++++++++++++--- - 3 files changed, 24 insertions(+), 13 deletions(-) - -diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp -index a2957e0d..f2bd3160 100644 ---- a/src/client/qwaylanddisplay.cpp -+++ b/src/client/qwaylanddisplay.cpp -@@ -88,13 +88,6 @@ struct wl_surface *QWaylandDisplay::createSurface(void *handle) - return surface; - } - --QWaylandShellSurface *QWaylandDisplay::createShellSurface(QWaylandWindow *window) --{ -- if (!mWaylandIntegration->shellIntegration()) -- return nullptr; -- return mWaylandIntegration->shellIntegration()->createShellSurface(window); --} -- - struct ::wl_region *QWaylandDisplay::createRegion(const QRegion &qregion) - { - struct ::wl_region *region = mCompositor.create_region(); -@@ -108,12 +101,18 @@ struct ::wl_region *QWaylandDisplay::createRegion(const QRegion &qregion) - ::wl_subsurface *QWaylandDisplay::createSubSurface(QWaylandWindow *window, QWaylandWindow *parent) - { - if (!mSubCompositor) { -+ qCWarning(lcQpaWayland) << "Can't create subsurface, not supported by the compositor."; - return nullptr; - } - - return mSubCompositor->get_subsurface(window->object(), parent->object()); - } - -+QWaylandShellIntegration *QWaylandDisplay::shellIntegration() const -+{ -+ return mWaylandIntegration->shellIntegration(); -+} -+ - QWaylandClientBufferIntegration * QWaylandDisplay::clientBufferIntegration() const - { - return mWaylandIntegration->clientBufferIntegration(); -diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h -index 0dd8d7af..cc6a0a72 100644 ---- a/src/client/qwaylanddisplay_p.h -+++ b/src/client/qwaylanddisplay_p.h -@@ -94,7 +94,7 @@ class QWaylandQtKeyExtension; - class QWaylandWindow; - class QWaylandIntegration; - class QWaylandHardwareIntegration; --class QWaylandShellSurface; -+class QWaylandShellIntegration; - class QWaylandCursorTheme; - - typedef void (*RegistryListener)(void *data, -@@ -115,13 +115,13 @@ public: - QWaylandScreen *screenForOutput(struct wl_output *output) const; - - struct wl_surface *createSurface(void *handle); -- QWaylandShellSurface *createShellSurface(QWaylandWindow *window); - struct ::wl_region *createRegion(const QRegion &qregion); - struct ::wl_subsurface *createSubSurface(QWaylandWindow *window, QWaylandWindow *parent); - -+ QWaylandShellIntegration *shellIntegration() const; - QWaylandClientBufferIntegration *clientBufferIntegration() const; -- - QWaylandWindowManagerIntegration *windowManagerIntegration() const; -+ - #if QT_CONFIG(cursor) - void setCursor(struct wl_buffer *buffer, struct wl_cursor_image *image, qreal dpr); - void setCursor(const QSharedPointer &buffer, const QPoint &hotSpot, qreal dpr); -diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index 4ac2ca51..600ea1df 100644 ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -50,6 +50,7 @@ - #include "qwaylandnativeinterface_p.h" - #include "qwaylanddecorationfactory_p.h" - #include "qwaylandshmbackingstore_p.h" -+#include "qwaylandshellintegration_p.h" - - #if QT_CONFIG(wayland_datadevice) - #include "qwaylanddatadevice_p.h" -@@ -138,8 +139,9 @@ void QWaylandWindow::initWindow() - } - } else if (shouldCreateShellSurface()) { - Q_ASSERT(!mShellSurface); -+ Q_ASSERT(mDisplay->shellIntegration()); - -- mShellSurface = mDisplay->createShellSurface(this); -+ mShellSurface = mDisplay->shellIntegration()->createShellSurface(this); - if (mShellSurface) { - // Set initial surface title - setWindowTitle(window()->title()); -@@ -211,6 +213,9 @@ void QWaylandWindow::initializeWlSurface() - - bool QWaylandWindow::shouldCreateShellSurface() const - { -+ if (!mDisplay->shellIntegration()) -+ return false; -+ - if (shouldCreateSubSurface()) - return false; - -@@ -963,9 +968,16 @@ void QWaylandWindow::unfocus() - - bool QWaylandWindow::isExposed() const - { -+ if (!window()->isVisible()) -+ return false; -+ - if (mShellSurface) -- return window()->isVisible() && mShellSurface->isExposed(); -- return QPlatformWindow::isExposed(); -+ return mShellSurface->isExposed(); -+ -+ if (mSubSurfaceWindow) -+ return mSubSurfaceWindow->parent()->isExposed(); -+ -+ return !(shouldCreateShellSurface() || shouldCreateSubSurface()); - } - - bool QWaylandWindow::isActive() const --- -2.22.0 - diff --git a/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-2.patch b/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-2.patch deleted file mode 100644 index b1a8d6c9ae0..00000000000 --- a/pkgs/development/libraries/qt-5/5.12/qtwayland-fix-webengine-freezeups-2.patch +++ /dev/null @@ -1,493 +0,0 @@ -From d85beeb65820d6e5733f88af63b15f77d03aa6ba Mon Sep 17 00:00:00 2001 -From: Johan Klokkhammer Helsing -Date: Mon, 28 Jan 2019 09:48:26 +0100 -Subject: [PATCH 2/2] Client: Full implementation for frame callbacks (second - try) - -The Wayland plugin now takes full control over delivering update request and -implement frame callbacks for both egl and shm. - -[ChangeLog][QPA plugin] The non-blocking version of eglSwapBuffers is now used, if -supported. This fixed a bug where minimized windows would block the event loop. - -[ChangeLog][QPA plugin] Windows that don't get frame callbacks from the -compositor within 100 ms are now set as not exposed. This should stop most -clients from rendering unnecessary frames to minimized or hidden windows. - -Also, when we relied on the QPA version of requestUpdate, we would sometimes -deliver one update request while we were waiting for a frame callback. When we -implement the fallback timer ourselves we can make sure we only deliver the -fallback if there are no pending frame callbacks. - -QtQuick and other applications often depend on blocking swapBuffers to throttle -animations. If the context's surface format has a non-zero swapInterval, try to -emulate a blocking swap. - -Fixes: QTBUG-69077 -Change-Id: I3c6964f31a16e9aff70b8ec3c5340e640a30fef2 -Reviewed-by: Paul Olav Tvete ---- - src/client/qwaylanddisplay.cpp | 38 +++- - src/client/qwaylanddisplay_p.h | 3 + - src/client/qwaylandwindow.cpp | 180 +++++++++++++++--- - src/client/qwaylandwindow_p.h | 17 +- - .../client/wayland-egl/qwaylandglcontext.cpp | 25 ++- - .../qwaylandxcompositeeglcontext.cpp | 2 +- - .../qwaylandxcompositeglxcontext.cpp | 2 +- - 7 files changed, 218 insertions(+), 49 deletions(-) - -diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp -index f2bd3160..82003a30 100644 ---- a/src/client/qwaylanddisplay.cpp -+++ b/src/client/qwaylanddisplay.cpp -@@ -68,6 +68,8 @@ - - #include - -+#include -+ - #include - #include - -@@ -190,7 +192,6 @@ void QWaylandDisplay::flushRequests() - wl_display_flush(mDisplay); - } - -- - void QWaylandDisplay::blockingReadEvents() - { - if (wl_display_dispatch(mDisplay) < 0) { -@@ -204,6 +205,41 @@ void QWaylandDisplay::exitWithError() - ::exit(1); - } - -+wl_event_queue *QWaylandDisplay::createEventQueue() -+{ -+ return wl_display_create_queue(mDisplay); -+} -+ -+void QWaylandDisplay::dispatchQueueWhile(wl_event_queue *queue, std::function condition, int timeout) -+{ -+ if (!condition()) -+ return; -+ -+ QElapsedTimer timer; -+ timer.start(); -+ struct pollfd pFd = qt_make_pollfd(wl_display_get_fd(mDisplay), POLLIN); -+ while (timeout == -1 || timer.elapsed() < timeout) { -+ while (wl_display_prepare_read_queue(mDisplay, queue) != 0) -+ wl_display_dispatch_queue_pending(mDisplay, queue); -+ -+ wl_display_flush(mDisplay); -+ -+ const int remaining = qMax(timeout - timer.elapsed(), 0ll); -+ const int pollTimeout = timeout == -1 ? -1 : remaining; -+ if (qt_poll_msecs(&pFd, 1, pollTimeout) > 0) -+ wl_display_read_events(mDisplay); -+ else -+ wl_display_cancel_read(mDisplay); -+ -+ if (wl_display_dispatch_queue_pending(mDisplay, queue) < 0) { -+ checkError(); -+ exitWithError(); -+ } -+ if (!condition()) -+ break; -+ } -+} -+ - QWaylandScreen *QWaylandDisplay::screenForOutput(struct wl_output *output) const - { - for (int i = 0; i < mScreens.size(); ++i) { -diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h -index cc6a0a72..fa8b4c3f 100644 ---- a/src/client/qwaylanddisplay_p.h -+++ b/src/client/qwaylanddisplay_p.h -@@ -182,6 +182,9 @@ public: - void handleKeyboardFocusChanged(QWaylandInputDevice *inputDevice); - void handleWindowDestroyed(QWaylandWindow *window); - -+ wl_event_queue *createEventQueue(); -+ void dispatchQueueWhile(wl_event_queue *queue, std::function condition, int timeout = -1); -+ - public slots: - void blockingReadEvents(); - void flushRequests(); -diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index 600ea1df..4d399f8f 100644 ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -67,6 +67,7 @@ - #include - - #include -+#include - - #include - -@@ -81,6 +82,7 @@ QWaylandWindow *QWaylandWindow::mMouseGrab = nullptr; - QWaylandWindow::QWaylandWindow(QWindow *window) - : QPlatformWindow(window) - , mDisplay(waylandScreen()->display()) -+ , mFrameQueue(mDisplay->createEventQueue()) - , mResizeAfterSwap(qEnvironmentVariableIsSet("QT_WAYLAND_RESIZE_AFTER_SWAP")) - { - static WId id = 1; -@@ -363,6 +365,8 @@ void QWaylandWindow::sendExposeEvent(const QRect &rect) - { - if (!(mShellSurface && mShellSurface->handleExpose(rect))) - QWindowSystemInterface::handleExposeEvent(window(), rect); -+ else -+ qCDebug(lcQpaWayland) << "sendExposeEvent: intercepted by shell extension, not sending"; - mLastExposeGeometry = rect; - } - -@@ -547,18 +551,11 @@ void QWaylandWindow::handleScreenRemoved(QScreen *qScreen) - void QWaylandWindow::attach(QWaylandBuffer *buffer, int x, int y) - { - Q_ASSERT(!buffer->committed()); -- if (mFrameCallback) { -- wl_callback_destroy(mFrameCallback); -- mFrameCallback = nullptr; -- } -- - if (buffer) { -- mFrameCallback = frame(); -- wl_callback_add_listener(mFrameCallback, &QWaylandWindow::callbackListener, this); -- mWaitingForFrameSync = true; -+ handleUpdate(); - buffer->setBusy(); - -- attach(buffer->buffer(), x, y); -+ QtWayland::wl_surface::attach(buffer->buffer(), x, y); - } else { - QtWayland::wl_surface::attach(nullptr, 0, 0); - } -@@ -614,32 +611,61 @@ void QWaylandWindow::commit(QWaylandBuffer *buffer, const QRegion &damage) - } - - const wl_callback_listener QWaylandWindow::callbackListener = { -- QWaylandWindow::frameCallback -+ [](void *data, wl_callback *callback, uint32_t time) { -+ Q_UNUSED(callback); -+ Q_UNUSED(time); -+ auto *window = static_cast(data); -+ if (window->thread() != QThread::currentThread()) -+ QMetaObject::invokeMethod(window, [=] { window->handleFrameCallback(); }, Qt::QueuedConnection); -+ else -+ window->handleFrameCallback(); -+ } - }; - --void QWaylandWindow::frameCallback(void *data, struct wl_callback *callback, uint32_t time) -+void QWaylandWindow::handleFrameCallback() - { -- Q_UNUSED(time); -- Q_UNUSED(callback); -- QWaylandWindow *self = static_cast(data); -+ bool wasExposed = isExposed(); - -- self->mWaitingForFrameSync = false; -- if (self->mUpdateRequested) { -- self->mUpdateRequested = false; -- self->deliverUpdateRequest(); -+ if (mFrameCallbackTimerId != -1) { -+ killTimer(mFrameCallbackTimerId); -+ mFrameCallbackTimerId = -1; - } -+ -+ mWaitingForFrameCallback = false; -+ mFrameCallbackTimedOut = false; -+ -+ if (!wasExposed && isExposed()) -+ sendExposeEvent(QRect(QPoint(), geometry().size())); -+ if (wasExposed && hasPendingUpdateRequest()) -+ deliverUpdateRequest(); - } - - QMutex QWaylandWindow::mFrameSyncMutex; - --void QWaylandWindow::waitForFrameSync() -+bool QWaylandWindow::waitForFrameSync(int timeout) - { - QMutexLocker locker(&mFrameSyncMutex); -- if (!mWaitingForFrameSync) -- return; -- mDisplay->flushRequests(); -- while (mWaitingForFrameSync) -- mDisplay->blockingReadEvents(); -+ if (!mWaitingForFrameCallback) -+ return true; -+ -+ wl_proxy_set_queue(reinterpret_cast(mFrameCallback), mFrameQueue); -+ mDisplay->dispatchQueueWhile(mFrameQueue, [&]() { return mWaitingForFrameCallback; }, timeout); -+ -+ if (mWaitingForFrameCallback) { -+ qCDebug(lcWaylandBackingstore) << "Didn't receive frame callback in time, window should now be inexposed"; -+ mFrameCallbackTimedOut = true; -+ mWaitingForUpdate = false; -+ sendExposeEvent(QRect()); -+ } -+ -+ // Stop current frame timer if any, can't use killTimer directly, because we might be on a diffent thread -+ if (mFrameCallbackTimerId != -1) { -+ int id = mFrameCallbackTimerId; -+ mFrameCallbackTimerId = -1; -+ QMetaObject::invokeMethod(this, [=] { killTimer(id); }, Qt::QueuedConnection); -+ } -+ -+ return !mWaitingForFrameCallback; - } - - QMargins QWaylandWindow::frameMargins() const -@@ -971,6 +997,9 @@ bool QWaylandWindow::isExposed() const - if (!window()->isVisible()) - return false; - -+ if (mFrameCallbackTimedOut) -+ return false; -+ - if (mShellSurface) - return mShellSurface->isExposed(); - -@@ -1046,12 +1075,107 @@ QVariant QWaylandWindow::property(const QString &name, const QVariant &defaultVa - return m_properties.value(name, defaultValue); - } - -+void QWaylandWindow::timerEvent(QTimerEvent *event) -+{ -+ if (event->timerId() == mFallbackUpdateTimerId) { -+ killTimer(mFallbackUpdateTimerId); -+ mFallbackUpdateTimerId = -1; -+ qCDebug(lcWaylandBackingstore) << "mFallbackUpdateTimer timed out"; -+ -+ if (!isExposed()) { -+ qCDebug(lcWaylandBackingstore) << "Fallback update timer: Window not exposed," -+ << "not delivering update request."; -+ return; -+ } -+ -+ if (mWaitingForUpdate && hasPendingUpdateRequest() && !mWaitingForFrameCallback) { -+ qCWarning(lcWaylandBackingstore) << "Delivering update request through fallback timer," -+ << "may not be in sync with display"; -+ deliverUpdateRequest(); -+ } -+ } -+ -+ if (event->timerId() == mFrameCallbackTimerId) { -+ killTimer(mFrameCallbackTimerId); -+ mFrameCallbackTimerId = -1; -+ qCDebug(lcWaylandBackingstore) << "Didn't receive frame callback in time, window should now be inexposed"; -+ mFrameCallbackTimedOut = true; -+ mWaitingForUpdate = false; -+ sendExposeEvent(QRect()); -+ } -+} -+ - void QWaylandWindow::requestUpdate() - { -- if (!mWaitingForFrameSync) -- QPlatformWindow::requestUpdate(); -- else -- mUpdateRequested = true; -+ Q_ASSERT(hasPendingUpdateRequest()); // should be set by QPA -+ -+ // If we have a frame callback all is good and will be taken care of there -+ if (mWaitingForFrameCallback) -+ return; -+ -+ // If we've already called deliverUpdateRequest(), but haven't seen any attach+commit/swap yet -+ if (mWaitingForUpdate) { -+ // Ideally, we should just have returned here, but we're not guaranteed that the client -+ // will actually update, so start this timer to deliver another request update after a while -+ // *IF* the client doesn't update. -+ int fallbackTimeout = 100; -+ mFallbackUpdateTimerId = startTimer(fallbackTimeout); -+ return; -+ } -+ -+ // Some applications (such as Qt Quick) depend on updates being delivered asynchronously, -+ // so use invokeMethod to delay the delivery a bit. -+ QMetaObject::invokeMethod(this, [this] { -+ // Things might have changed in the meantime -+ if (hasPendingUpdateRequest() && !mWaitingForUpdate && !mWaitingForFrameCallback) -+ deliverUpdateRequest(); -+ }, Qt::QueuedConnection); -+} -+ -+// Should be called whenever we commit a buffer (directly through wl_surface.commit or indirectly -+// with eglSwapBuffers) to know when it's time to commit the next one. -+// Can be called from the render thread (without locking anything) so make sure to not make races in this method. -+void QWaylandWindow::handleUpdate() -+{ -+ // TODO: Should sync subsurfaces avoid requesting frame callbacks? -+ -+ if (mFrameCallback) { -+ wl_callback_destroy(mFrameCallback); -+ mFrameCallback = nullptr; -+ } -+ -+ if (mFallbackUpdateTimerId != -1) { -+ // Ideally, we would stop the fallback timer here, but since we're on another thread, -+ // it's not allowed. Instead we set mFallbackUpdateTimer to -1 here, so we'll just -+ // ignore it if it times out before it's cleaned up by the invokeMethod call. -+ int id = mFallbackUpdateTimerId; -+ mFallbackUpdateTimerId = -1; -+ QMetaObject::invokeMethod(this, [=] { killTimer(id); }, Qt::QueuedConnection); -+ } -+ -+ mFrameCallback = frame(); -+ wl_callback_add_listener(mFrameCallback, &QWaylandWindow::callbackListener, this); -+ mWaitingForFrameCallback = true; -+ mWaitingForUpdate = false; -+ -+ // Stop current frame timer if any, can't use killTimer directly, see comment above. -+ if (mFrameCallbackTimerId != -1) { -+ int id = mFrameCallbackTimerId; -+ mFrameCallbackTimerId = -1; -+ QMetaObject::invokeMethod(this, [=] { killTimer(id); }, Qt::QueuedConnection); -+ } -+ -+ // Start a timer for handling the case when the compositor stops sending frame callbacks. -+ QMetaObject::invokeMethod(this, [=] { // Again; can't do it directly -+ if (mWaitingForFrameCallback) -+ mFrameCallbackTimerId = startTimer(100); -+ }, Qt::QueuedConnection); -+} -+ -+void QWaylandWindow::deliverUpdateRequest() -+{ -+ mWaitingForUpdate = true; -+ QPlatformWindow::deliverUpdateRequest(); - } - - void QWaylandWindow::addAttachOffset(const QPoint point) -diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h -index 56ebd3cc..c47123dc 100644 ---- a/src/client/qwaylandwindow_p.h -+++ b/src/client/qwaylandwindow_p.h -@@ -120,7 +120,7 @@ public: - void handleExpose(const QRegion ®ion); - void commit(QWaylandBuffer *buffer, const QRegion &damage); - -- void waitForFrameSync(); -+ bool waitForFrameSync(int timeout); - - QMargins frameMargins() const override; - -@@ -191,7 +191,10 @@ public: - - bool startSystemMove(const QPoint &pos) override; - -+ void timerEvent(QTimerEvent *event) override; - void requestUpdate() override; -+ void handleUpdate(); -+ void deliverUpdateRequest() override; - - public slots: - void applyConfigure(); -@@ -211,10 +214,17 @@ protected: - Qt::MouseButtons mMousePressedInContentArea = Qt::NoButton; - - WId mWindowId; -- bool mWaitingForFrameSync = false; -+ bool mWaitingForFrameCallback = false; -+ bool mFrameCallbackTimedOut = false; // Whether the frame callback has timed out -+ int mFrameCallbackTimerId = -1; // Started on commit, reset on frame callback - struct ::wl_callback *mFrameCallback = nullptr; -+ struct ::wl_event_queue *mFrameQueue = nullptr; - QWaitCondition mFrameSyncWait; - -+ // True when we have called deliverRequestUpdate, but the client has not yet attached a new buffer -+ bool mWaitingForUpdate = false; -+ int mFallbackUpdateTimerId = -1; // Started when waiting for app to commit -+ - QMutex mResizeLock; - bool mWaitingToApplyConfigure = false; - bool mCanResize = true; -@@ -253,11 +263,10 @@ private: - void handleMouseEventWithDecoration(QWaylandInputDevice *inputDevice, const QWaylandPointerEvent &e); - void handleScreenChanged(); - -- bool mUpdateRequested = false; - QRect mLastExposeGeometry; - - static const wl_callback_listener callbackListener; -- static void frameCallback(void *data, struct wl_callback *wl_callback, uint32_t time); -+ void handleFrameCallback(); - - static QMutex mFrameSyncMutex; - static QWaylandWindow *mMouseGrab; -diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -index e58403ad..30dab408 100644 ---- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -@@ -315,7 +315,9 @@ QWaylandGLContext::QWaylandGLContext(EGLDisplay eglDisplay, QWaylandDisplay *dis - mSupportNonBlockingSwap = false; - } - if (!mSupportNonBlockingSwap) { -- qWarning() << "Non-blocking swap buffers not supported. Subsurface rendering can be affected."; -+ qWarning(lcQpaWayland) << "Non-blocking swap buffers not supported." -+ << "Subsurface rendering can be affected." -+ << "It may also cause the event loop to freeze in some situations"; - } - - updateGLFormat(); -@@ -550,20 +552,15 @@ void QWaylandGLContext::swapBuffers(QPlatformSurface *surface) - m_blitter->blit(window); - } - -- -- QWaylandSubSurface *sub = window->subSurfaceWindow(); -- if (sub) { -- QMutexLocker l(sub->syncMutex()); -- -- int si = (sub->isSync() && mSupportNonBlockingSwap) ? 0 : m_format.swapInterval(); -- -- eglSwapInterval(m_eglDisplay, si); -- eglSwapBuffers(m_eglDisplay, eglSurface); -- } else { -- eglSwapInterval(m_eglDisplay, m_format.swapInterval()); -- eglSwapBuffers(m_eglDisplay, eglSurface); -+ int swapInterval = mSupportNonBlockingSwap ? 0 : m_format.swapInterval(); -+ eglSwapInterval(m_eglDisplay, swapInterval); -+ if (swapInterval == 0 && m_format.swapInterval() > 0) { -+ // Emulating a blocking swap -+ glFlush(); // Flush before waiting so we can swap more quickly when the frame event arrives -+ window->waitForFrameSync(100); - } -- -+ window->handleUpdate(); -+ eglSwapBuffers(m_eglDisplay, eglSurface); - - window->setCanResize(true); - } -diff --git a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp -index c07ad534..a6fead95 100644 ---- a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp -+++ b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp -@@ -65,7 +65,7 @@ void QWaylandXCompositeEGLContext::swapBuffers(QPlatformSurface *surface) - QSize size = w->geometry().size(); - - w->commit(w->buffer(), QRegion(0, 0, size.width(), size.height())); -- w->waitForFrameSync(); -+ w->waitForFrameSync(100); - } - - EGLSurface QWaylandXCompositeEGLContext::eglSurfaceForPlatformSurface(QPlatformSurface *surface) -diff --git a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp -index 33ae2e03..35188741 100644 ---- a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp -+++ b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp -@@ -93,7 +93,7 @@ void QWaylandXCompositeGLXContext::swapBuffers(QPlatformSurface *surface) - glXSwapBuffers(m_display, w->xWindow()); - - w->commit(w->buffer(), QRegion(0, 0, size.width(), size.height())); -- w->waitForFrameSync(); -+ w->waitForFrameSync(100); - } - - QFunctionPointer QWaylandXCompositeGLXContext::getProcAddress(const char *procName) --- -2.22.0 - From 7962f8c78b5793f07c456af5e8c742e34098707e Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 18 Sep 2019 05:40:37 -0500 Subject: [PATCH 082/129] qt512.qtbase: Replace libdir unconditionally --- .../libraries/qt-5/5.12/default.nix | 15 ++-- .../0001-qtbase-mkspecs-mac.patch | 2 +- .../5.12/qtbase.patch.d/0002-qtbase-mac.patch | 2 +- .../qtbase.patch.d/0003-qtbase-mkspecs.patch | 51 ++------------ .../0004-qtbase-replace-libdir.patch | 68 +++++++++++++++++++ ...se-cmake.patch => 0005-qtbase-cmake.patch} | 4 +- ...base-gtk3.patch => 0006-qtbase-gtk3.patch} | 4 +- ...cursor.patch => 0007-qtbase-xcursor.patch} | 4 +- ...mpose.patch => 0008-qtbase-xcompose.patch} | 4 +- ...se-tzdir.patch => 0009-qtbase-tzdir.patch} | 4 +- ...h.patch => 0010-qtbase-qtpluginpath.patch} | 4 +- ...-assert.patch => 0011-qtbase-assert.patch} | 4 +- 12 files changed, 96 insertions(+), 70 deletions(-) create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch rename pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/{0004-qtbase-cmake.patch => 0005-qtbase-cmake.patch} (98%) rename pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/{0005-qtbase-gtk3.patch => 0006-qtbase-gtk3.patch} (93%) rename pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/{0006-qtbase-xcursor.patch => 0007-qtbase-xcursor.patch} (91%) rename pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/{0007-qtbase-xcompose.patch => 0008-qtbase-xcompose.patch} (93%) rename pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/{0008-qtbase-tzdir.patch => 0009-qtbase-tzdir.patch} (95%) rename pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/{0009-qtbase-qtpluginpath.patch => 0010-qtbase-qtpluginpath.patch} (91%) rename pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/{0010-qtbase-assert.patch => 0011-qtbase-assert.patch} (89%) diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index e7cb7c37121..47a3589c2f9 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -57,13 +57,14 @@ let ] ++ [ ./qtbase.patch.d/0003-qtbase-mkspecs.patch - ./qtbase.patch.d/0004-qtbase-cmake.patch - ./qtbase.patch.d/0005-qtbase-gtk3.patch - ./qtbase.patch.d/0006-qtbase-xcursor.patch - ./qtbase.patch.d/0007-qtbase-xcompose.patch - ./qtbase.patch.d/0008-qtbase-tzdir.patch - ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch - ./qtbase.patch.d/0010-qtbase-assert.patch + ./qtbase.patch.d/0004-qtbase-replace-libdir.patch + ./qtbase.patch.d/0005-qtbase-cmake.patch + ./qtbase.patch.d/0006-qtbase-gtk3.patch + ./qtbase.patch.d/0007-qtbase-xcursor.patch + ./qtbase.patch.d/0008-qtbase-xcompose.patch + ./qtbase.patch.d/0009-qtbase-tzdir.patch + ./qtbase.patch.d/0010-qtbase-qtpluginpath.patch + ./qtbase.patch.d/0011-qtbase-assert.patch ]; qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch index 70216a3c636..de3d68357c7 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch @@ -1,7 +1,7 @@ From 58d98b66da5d748d610f053053bd12e42c97d9e6 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:34:00 -0500 -Subject: [PATCH 01/10] qtbase-mkspecs-mac +Subject: [PATCH 01/11] qtbase-mkspecs-mac --- mkspecs/common/mac.conf | 2 +- diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch index b780e38fc83..60696d68813 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch @@ -1,7 +1,7 @@ From 1dbf4dd6dc4cc30a3e705a12117f1764201a8402 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:37:15 -0500 -Subject: [PATCH 02/10] qtbase-mac +Subject: [PATCH 02/11] qtbase-mac --- src/corelib/kernel/qcore_mac_p.h | 16 ++++++++++++++-- diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch index 41cf801c9c7..569cea0a3d5 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch @@ -1,7 +1,7 @@ -From cfcd1f6e1ac53bfbd7d35f0e1aefbdbaa1726f4d Mon Sep 17 00:00:00 2001 +From f02c0371160b5d90df4030fc55921c6acb0e6914 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel -Date: Tue, 17 Sep 2019 05:32:35 -0500 -Subject: [PATCH 03/10] qtbase-mkspecs +Date: Wed, 18 Sep 2019 05:39:39 -0500 +Subject: [PATCH 03/11] qtbase-mkspecs --- mkspecs/features/create_cmake.prf | 53 ++++-------- @@ -10,13 +10,12 @@ Subject: [PATCH 03/10] qtbase-mkspecs mkspecs/features/qml_plugin.prf | 2 +- mkspecs/features/qt_app.prf | 2 +- mkspecs/features/qt_build_paths.prf | 4 +- - mkspecs/features/qt_common.prf | 31 ------- mkspecs/features/qt_docs.prf | 10 +-- mkspecs/features/qt_example_installs.prf | 2 +- mkspecs/features/qt_functions.prf | 2 +- mkspecs/features/qt_installs.prf | 22 ++--- mkspecs/features/qt_plugin.prf | 2 +- - 12 files changed, 39 insertions(+), 173 deletions(-) + 11 files changed, 39 insertions(+), 142 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index c9910dda..e9bc8076 100644 @@ -318,48 +317,6 @@ index 3bb3823a..655b7b7d 100644 + MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT + MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT } -diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf -index caecb68a..dc5c2178 100644 ---- a/mkspecs/features/qt_common.prf -+++ b/mkspecs/features/qt_common.prf -@@ -25,37 +25,6 @@ contains(TEMPLATE, .*lib) { - if(!host_build|!cross_compile):qtConfig(reduce_exports): CONFIG += hide_symbols - unix:qtConfig(reduce_relocations): CONFIG += bsymbolic_functions - qtConfig(separate_debug_info): CONFIG += separate_debug_info -- -- !isEmpty(_QMAKE_SUPER_CACHE_): \ -- rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* -- else: \ -- rplbase = $$MODULE_BASE_OUTDIR -- host_build { -- qqt_libdir = \$\$\$\$[QT_HOST_LIBS] -- qt_libdir = $$[QT_HOST_LIBS] -- } else { -- qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS] -- qt_libdir = $$[QT_INSTALL_LIBS] -- } -- contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { -- lib_replace0.match = $$rplbase/lib/ -- lib_replace0.replace = $$qqt_libdir/ -- lib_replace0.CONFIG = path -- QMAKE_PRL_INSTALL_REPLACE += lib_replace0 -- lib_replace.match = "[^ ']*$$rplbase/lib" -- lib_replace.replace = -- } else { -- lib_replace.match = $$rplbase/lib -- lib_replace.replace = $$qqt_libdir -- } -- lib_replace.CONFIG = path -- QMAKE_PRL_INSTALL_REPLACE += lib_replace -- !equals(qt_libdir, $$rplbase/lib) { -- qtlibdir_replace.match = $$qt_libdir -- qtlibdir_replace.replace = $$qqt_libdir -- qtlibdir_replace.CONFIG = path -- QMAKE_PRL_INSTALL_REPLACE += qtlibdir_replace -- } - } - - # The remainder of this file must not apply to host tools/libraries, diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf index 3b74cd4d..6bfbbe6e 100644 --- a/mkspecs/features/qt_docs.prf diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch new file mode 100644 index 00000000000..0968c7adb20 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch @@ -0,0 +1,68 @@ +From ae6ea1bbc7ce46d0764ef7bc4109a8489102374b Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Wed, 18 Sep 2019 05:39:50 -0500 +Subject: [PATCH 04/11] qtbase-replace-libdir + +--- + mkspecs/features/qt_common.prf | 20 ++------------------ + mkspecs/features/qt_module.prf | 5 +---- + 2 files changed, 3 insertions(+), 22 deletions(-) + +diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf +index caecb68a..d3aa3ba5 100644 +--- a/mkspecs/features/qt_common.prf ++++ b/mkspecs/features/qt_common.prf +@@ -30,32 +30,16 @@ contains(TEMPLATE, .*lib) { + rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* + else: \ + rplbase = $$MODULE_BASE_OUTDIR +- host_build { +- qqt_libdir = \$\$\$\$[QT_HOST_LIBS] +- qt_libdir = $$[QT_HOST_LIBS] +- } else { +- qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS] +- qt_libdir = $$[QT_INSTALL_LIBS] +- } ++ qt_libdir = $$NIX_OUTPUT_OUT/lib + contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { +- lib_replace0.match = $$rplbase/lib/ +- lib_replace0.replace = $$qqt_libdir/ +- lib_replace0.CONFIG = path +- QMAKE_PRL_INSTALL_REPLACE += lib_replace0 + lib_replace.match = "[^ ']*$$rplbase/lib" + lib_replace.replace = + } else { + lib_replace.match = $$rplbase/lib +- lib_replace.replace = $$qqt_libdir ++ lib_replace.replace = $$qt_libdir + } + lib_replace.CONFIG = path + QMAKE_PRL_INSTALL_REPLACE += lib_replace +- !equals(qt_libdir, $$rplbase/lib) { +- qtlibdir_replace.match = $$qt_libdir +- qtlibdir_replace.replace = $$qqt_libdir +- qtlibdir_replace.CONFIG = path +- QMAKE_PRL_INSTALL_REPLACE += qtlibdir_replace +- } + } + + # The remainder of this file must not apply to host tools/libraries, +diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf +index 51b5bde6..82e2907c 100644 +--- a/mkspecs/features/qt_module.prf ++++ b/mkspecs/features/qt_module.prf +@@ -292,10 +292,7 @@ load(qt_targets) + } + !lib_bundle:unix { + CONFIG += create_libtool +- host_build: \ +- QMAKE_LIBTOOL_LIBDIR = $$[QT_HOST_LIBS] +- else: \ +- QMAKE_LIBTOOL_LIBDIR = "=$$[QT_INSTALL_LIBS/raw]" ++ QMAKE_LIBTOOL_LIBDIR = $$NIX_OUTPUT_OUT/lib + ltlib_replace.match = $$lib_replace.match + !isEmpty(lib_replace.replace): \ + ltlib_replace.replace = $$QMAKE_LIBTOOL_LIBDIR +-- +2.22.1 + diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-cmake.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch similarity index 98% rename from pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-cmake.patch rename to pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch index 73459af1649..0f6195cdb3b 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-cmake.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch @@ -1,7 +1,7 @@ -From 689670949eac83e1ba76425a1fc17efeb920eff1 Mon Sep 17 00:00:00 2001 +From d41d33acb53d54aee01c61e61a569687eadd78f8 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:34:28 -0500 -Subject: [PATCH 04/10] qtbase-cmake +Subject: [PATCH 05/11] qtbase-cmake --- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 2 +- diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-gtk3.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch similarity index 93% rename from pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-gtk3.patch rename to pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch index 9e82a2eeef9..3137179a0ec 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-gtk3.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch @@ -1,7 +1,7 @@ -From b4542d244adc118e8a84ee4ae1d737b5205da1e3 Mon Sep 17 00:00:00 2001 +From c3bb0602745fafade007d7d8cf1f3d5065e4ce11 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:35:33 -0500 -Subject: [PATCH 05/10] qtbase-gtk3 +Subject: [PATCH 06/11] qtbase-gtk3 --- src/plugins/platformthemes/gtk3/main.cpp | 17 ++++++++++++++++- diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-xcursor.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch similarity index 91% rename from pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-xcursor.patch rename to pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch index 21bb2408a3e..9f9ed9880af 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-xcursor.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch @@ -1,7 +1,7 @@ -From 6dfdf2044bc8a0212b14414c4b9d9c1bfa5c1e6b Mon Sep 17 00:00:00 2001 +From b8581b324f47f1e8e5b994ab138f2850583a9f6c Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:35:58 -0500 -Subject: [PATCH 06/10] qtbase-xcursor +Subject: [PATCH 07/11] qtbase-xcursor --- src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++-- diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcompose.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch similarity index 93% rename from pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcompose.patch rename to pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch index 83d11494a01..e239cfff187 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcompose.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch @@ -1,7 +1,7 @@ -From 7211024a1d54232f9a6f91f7aac467e0e8893691 Mon Sep 17 00:00:00 2001 +From e94cdbb790beb51babaa61e373f64bac96fcaee2 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:36:10 -0500 -Subject: [PATCH 07/10] qtbase-xcompose +Subject: [PATCH 08/11] qtbase-xcompose --- .../compose/generator/qtablegenerator.cpp | 5 +---- diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-tzdir.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch similarity index 95% rename from pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-tzdir.patch rename to pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch index 5050ffea90d..95aefd9df7b 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-tzdir.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch @@ -1,7 +1,7 @@ -From f24621e540d5511802013aa8e8972c9e060c953a Mon Sep 17 00:00:00 2001 +From 18e87f3de05ffbed6f5d9b4f9a3fc20373f4c06b Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:36:25 -0500 -Subject: [PATCH 08/10] qtbase-tzdir +Subject: [PATCH 09/11] qtbase-tzdir --- src/corelib/tools/qtimezoneprivate_tz.cpp | 20 ++++++++++++++------ diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-qtpluginpath.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch similarity index 91% rename from pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-qtpluginpath.patch rename to pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch index 7226617872f..286daa01027 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-qtpluginpath.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch @@ -1,7 +1,7 @@ -From 40616bf4afacadca360083d7d365914f8f8573e5 Mon Sep 17 00:00:00 2001 +From 48617800cd7e27402126602d9aa90803a5b07dd2 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:36:41 -0500 -Subject: [PATCH 09/10] qtbase-qtpluginpath +Subject: [PATCH 10/11] qtbase-qtpluginpath --- src/corelib/kernel/qcoreapplication.cpp | 9 +++++++++ diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-assert.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch similarity index 89% rename from pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-assert.patch rename to pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch index 943667b26e0..ddffbad8742 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-assert.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch @@ -1,7 +1,7 @@ -From 60a2d764708234a06828c76d91db77565e08d872 Mon Sep 17 00:00:00 2001 +From 4464f24a507b05ff7280f1161f33bbf3b645d17d Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:37:04 -0500 -Subject: [PATCH 10/10] qtbase-assert +Subject: [PATCH 11/11] qtbase-assert --- src/testlib/qtestassert.h | 7 +++++-- From 36a8cfc874aa09323abc4a55983e77b5e1061b1f Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 16 Sep 2019 05:44:56 -0500 Subject: [PATCH 083/129] qtbase: Update qmake cache name for Qt >= 5.12.4 --- .../libraries/qt-5/modules/qtbase.nix | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 8119513618b..362058736b0 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -31,6 +31,8 @@ assert withGtk3 -> gtk3 != null; let compareVersion = v: builtins.compareVersions version v; + qmakeCacheName = + if compareVersion "5.12.4" >= 0 then ".qmake.stash" else ".qmake.cache"; in stdenv.mkDerivation { @@ -171,8 +173,15 @@ stdenv.mkDerivation { -qmldir $out/$qtQmlPrefix \ -docdir $out/$qtDocPrefix" - createQmakeCache() { - cat >>"$1" <>"$cache" < Date: Mon, 16 Sep 2019 05:58:28 -0500 Subject: [PATCH 084/129] qtbase: Create .qmake.stash if missing --- pkgs/development/libraries/qt-5/modules/qtbase.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 362058736b0..b09ceaf056c 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -32,7 +32,7 @@ assert withGtk3 -> gtk3 != null; let compareVersion = v: builtins.compareVersions version v; qmakeCacheName = - if compareVersion "5.12.4" >= 0 then ".qmake.stash" else ".qmake.cache"; + if compareVersion "5.12.4" < 0 then ".qmake.cache" else ".qmake.stash"; in stdenv.mkDerivation { @@ -49,7 +49,7 @@ stdenv.mkDerivation { # Image formats libjpeg libpng libtiff - (if compareVersion "5.9.0" >= 0 then pcre2 else pcre16) + (if compareVersion "5.9.0" < 0 then pcre16 else pcre2) ] ++ ( if stdenv.isDarwin @@ -179,8 +179,10 @@ stdenv.mkDerivation { postConfigure = '' qmakeCacheInjectNixOutputs() { local cache="$1/${qmakeCacheName}" - if ! [ -f "$cache" ]; then return; fi echo "qmakeCacheInjectNixOutputs: $cache" + if ! [ -f "$cache" ]; then + echo >&2 "qmakeCacheInjectNixOutputs: WARNING: $cache does not exist" + fi cat >>"$cache" < Date: Tue, 17 Sep 2019 18:45:13 -0500 Subject: [PATCH 085/129] qmake-hook.sh: qmakeFlags is an array --- .../libraries/qt-5/hooks/qmake-hook.sh | 27 +++++++++++++------ .../qt-5/hooks/qttools-setup-hook.sh | 2 +- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh index eef2c7d24df..f6d332f29ba 100644 --- a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh @@ -1,14 +1,25 @@ +qmakeFlags=( $qmakeFlags ) + +qmakePrePhase() { + qmakeFlags=( \ + "PREFIX=$out" \ + "NIX_OUTPUT_OUT=$out" \ + "NIX_OUTPUT_DEV=${!outputDev}" \ + "NIX_OUTPUT_BIN=${!outputBin}" \ + "NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?}" \ + "NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?}" \ + "NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?}" \ + "${qmakeFlags[@]}" \ + ) +} +prePhases+=" qmakePrePhase" + qmakeConfigurePhase() { runHook preConfigure - qmake PREFIX=$out \ - NIX_OUTPUT_OUT=$out \ - NIX_OUTPUT_DEV=${!outputDev} \ - NIX_OUTPUT_BIN=${!outputBin} \ - NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?} \ - NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?} \ - NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?} \ - $qmakeFlags + echo "QMAKEPATH=$QMAKEPATH" + echo qmake "${qmakeFlags[@]}" + qmake "${qmakeFlags[@]}" if ! [[ -v enableParallelBuilding ]]; then enableParallelBuilding=1 diff --git a/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh index b09cf5f46c9..c320a797447 100644 --- a/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh @@ -1 +1 @@ -qmakeFlags="$qmakeFlags${qmakeFlags:+ }QMAKE_LRELEASE=@dev@/bin/lrelease" +qmakeFlags+=( "QMAKE_LRELEASE=@dev@/bin/lrelease" ) From dd599e20cfa8c01b3a1137e5b98bf1e0a4480012 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 18 Sep 2019 10:22:08 -0500 Subject: [PATCH 086/129] qtbase: Fix formatting --- pkgs/development/libraries/qt-5/modules/qtbase.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index b09ceaf056c..520f30cad0f 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -398,13 +398,11 @@ stdenv.mkDerivation { moveToOutput bin "$dev" '' - + ( - # fixup .pc file (where to find 'moc' etc.) - '' - sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \ - -e "/^host_bins=/ c host_bins=$dev/bin" - '' - ); + # fixup .pc file (where to find 'moc' etc.) + + '' + sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \ + -e "/^host_bins=/ c host_bins=$dev/bin" + ''; setupHook = ../hooks/qtbase-setup-hook.sh; From 756b46a44976eba54cf83d763d5614137fbda477 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 18 Sep 2019 15:19:31 -0500 Subject: [PATCH 087/129] fix-qmake-libtool.sh --- pkgs/development/libraries/qt-5/5.12/default.nix | 4 +--- pkgs/development/libraries/qt-5/5.9/default.nix | 4 +--- .../libraries/qt-5/hooks/fix-qmake-libtool.sh | 14 ++++++++++++++ .../development/libraries/qt-5/hooks/qmake-hook.sh | 2 ++ pkgs/development/libraries/qt-5/modules/qtbase.nix | 1 + 5 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 47a3589c2f9..e8fad6e8381 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -160,9 +160,7 @@ let qmake = makeSetupHook { deps = [ self.qtbase.dev ]; substitutions = { - inherit (stdenv) isDarwin; - qtbase_dev = self.qtbase.dev; - fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; + fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; }; } ../hooks/qmake-hook.sh; diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix index a872f212ff7..721c1b40d59 100644 --- a/pkgs/development/libraries/qt-5/5.9/default.nix +++ b/pkgs/development/libraries/qt-5/5.9/default.nix @@ -154,9 +154,7 @@ let qmake = makeSetupHook { deps = [ self.qtbase.dev ]; substitutions = { - inherit (stdenv) isDarwin; - qtbase_dev = self.qtbase.dev; - fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; + fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; }; } ../hooks/qmake-hook.sh; diff --git a/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh b/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh new file mode 100644 index 00000000000..5acaeb82446 --- /dev/null +++ b/pkgs/development/libraries/qt-5/hooks/fix-qmake-libtool.sh @@ -0,0 +1,14 @@ +# Fix libtool libraries generated by qmake. +# qmake started inserting filenames of shared objects instead of the appropriate +# linker flags. fixQmakeLibtool searches for broken libtool libraries and +# replaces the filenames with the linker flags that should have been there. +fixQmakeLibtool() { + if [ -d "$1" ]; then + find "$1" -name '*.la' | while read la; do + sed -i "$la" \ + -e '/^dependency_libs/ s,\(/[^ ]\+\)/lib\([^/ ]\+\)\.so,-L\1 -l\2,g' + done + fi +} + +fixupOutputHooks+=('fixQmakeLibtool $prefix') diff --git a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh index f6d332f29ba..c3373983e32 100644 --- a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh @@ -1,3 +1,5 @@ +. @fix_qmake_libtool@ + qmakeFlags=( $qmakeFlags ) qmakePrePhase() { diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 520f30cad0f..3a0c9085f54 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -100,6 +100,7 @@ stdenv.mkDerivation { . "$fix_qt_builtin_paths" . "$fix_qt_module_paths" . ${../hooks/move-qt-dev-tools.sh} + . ${../hooks/fix-qmake-libtool.sh} ''; postPatch = From 333ef0d821610d40dc6bc257db79fa40956d8249 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Thu, 19 Sep 2019 10:46:07 -0500 Subject: [PATCH 088/129] qtbase-mac.patch: Re-enable QAppleTestLogger --- .../5.12/qtbase.patch.d/0002-qtbase-mac.patch | 18 ++---------------- .../qtbase.patch.d/0003-qtbase-mkspecs.patch | 2 +- .../0004-qtbase-replace-libdir.patch | 2 +- .../qtbase.patch.d/0005-qtbase-cmake.patch | 2 +- .../5.12/qtbase.patch.d/0006-qtbase-gtk3.patch | 2 +- .../qtbase.patch.d/0007-qtbase-xcursor.patch | 2 +- .../qtbase.patch.d/0008-qtbase-xcompose.patch | 2 +- .../qtbase.patch.d/0009-qtbase-tzdir.patch | 2 +- .../0010-qtbase-qtpluginpath.patch | 2 +- .../qtbase.patch.d/0011-qtbase-assert.patch | 2 +- 10 files changed, 11 insertions(+), 25 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch index 60696d68813..80e1d771f2e 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch @@ -1,12 +1,11 @@ -From 1dbf4dd6dc4cc30a3e705a12117f1764201a8402 Mon Sep 17 00:00:00 2001 +From e32f2e184bf2adce216351b2a1e7390e8d9c31b9 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:37:15 -0500 Subject: [PATCH 02/11] qtbase-mac --- src/corelib/kernel/qcore_mac_p.h | 16 ++++++++++++++-- - src/testlib/qappletestlogger.cpp | 2 +- - 2 files changed, 15 insertions(+), 3 deletions(-) + 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h index f96e7358..650946b7 100644 @@ -42,19 +41,6 @@ index f96e7358..650946b7 100644 // ------------------------------------------------------------------------- -diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp -index dfeadebd..2a74330c 100644 ---- a/src/testlib/qappletestlogger.cpp -+++ b/src/testlib/qappletestlogger.cpp -@@ -43,7 +43,7 @@ - - QT_BEGIN_NAMESPACE - --#if defined(QT_USE_APPLE_UNIFIED_LOGGING) -+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 - - using namespace QTestPrivate; - -- 2.22.1 diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch index 569cea0a3d5..3fabe071836 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0003-qtbase-mkspecs.patch @@ -1,4 +1,4 @@ -From f02c0371160b5d90df4030fc55921c6acb0e6914 Mon Sep 17 00:00:00 2001 +From 5ff996d9028c0f54939ca7c54d358cd7503ab1ae Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 18 Sep 2019 05:39:39 -0500 Subject: [PATCH 03/11] qtbase-mkspecs diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch index 0968c7adb20..93c4748f6fd 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0004-qtbase-replace-libdir.patch @@ -1,4 +1,4 @@ -From ae6ea1bbc7ce46d0764ef7bc4109a8489102374b Mon Sep 17 00:00:00 2001 +From d126db8f5c2c1f6d6738de1a53040c93fdf6ff73 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 18 Sep 2019 05:39:50 -0500 Subject: [PATCH 04/11] qtbase-replace-libdir diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch index 0f6195cdb3b..b93b8f8c832 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0005-qtbase-cmake.patch @@ -1,4 +1,4 @@ -From d41d33acb53d54aee01c61e61a569687eadd78f8 Mon Sep 17 00:00:00 2001 +From 0ea804da2eb1d0cfbbfc15fbc33a3d7dd5de36ed Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:34:28 -0500 Subject: [PATCH 05/11] qtbase-cmake diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch index 3137179a0ec..80f4a4091e6 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0006-qtbase-gtk3.patch @@ -1,4 +1,4 @@ -From c3bb0602745fafade007d7d8cf1f3d5065e4ce11 Mon Sep 17 00:00:00 2001 +From 8fa184fb70a62cbe9ee160bceddaf5d7c21cb85c Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:35:33 -0500 Subject: [PATCH 06/11] qtbase-gtk3 diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch index 9f9ed9880af..33122773598 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0007-qtbase-xcursor.patch @@ -1,4 +1,4 @@ -From b8581b324f47f1e8e5b994ab138f2850583a9f6c Mon Sep 17 00:00:00 2001 +From b4fe78eb31f30ef499970b2ca7e7947c025588af Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:35:58 -0500 Subject: [PATCH 07/11] qtbase-xcursor diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch index e239cfff187..f54ba7f9002 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0008-qtbase-xcompose.patch @@ -1,4 +1,4 @@ -From e94cdbb790beb51babaa61e373f64bac96fcaee2 Mon Sep 17 00:00:00 2001 +From 47b2bed58224bda2267480604707a580dc17dd1f Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:36:10 -0500 Subject: [PATCH 08/11] qtbase-xcompose diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch index 95aefd9df7b..e8a4533cc2d 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0009-qtbase-tzdir.patch @@ -1,4 +1,4 @@ -From 18e87f3de05ffbed6f5d9b4f9a3fc20373f4c06b Mon Sep 17 00:00:00 2001 +From 354713a61005b9a4743b9db0d76c72514c4579f8 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:36:25 -0500 Subject: [PATCH 09/11] qtbase-tzdir diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch index 286daa01027..b53544e0d4e 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0010-qtbase-qtpluginpath.patch @@ -1,4 +1,4 @@ -From 48617800cd7e27402126602d9aa90803a5b07dd2 Mon Sep 17 00:00:00 2001 +From 571060c0e1dca29554cc97cfb33087c9b41114a5 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:36:41 -0500 Subject: [PATCH 10/11] qtbase-qtpluginpath diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch index ddffbad8742..0fd93759c3a 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0011-qtbase-assert.patch @@ -1,4 +1,4 @@ -From 4464f24a507b05ff7280f1161f33bbf3b645d17d Mon Sep 17 00:00:00 2001 +From 545e696e270a3879dd59f71d145e31a7d93ab8f4 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:37:04 -0500 Subject: [PATCH 11/11] qtbase-assert From 6f024f6e6517d052221e6e1d3383ec326f04aeae Mon Sep 17 00:00:00 2001 From: Albert Safin Date: Thu, 19 Sep 2019 09:43:34 +0000 Subject: [PATCH 089/129] setup.sh: avoid subshells: type -t --- pkgs/stdenv/generic/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 326a60676a2..60067a4051d 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -98,7 +98,7 @@ _callImplicitHook() { # hooks exits the hook, not the caller. Also will only pass args if # command can take them _eval() { - if [ "$(type -t "$1")" = function ]; then + if declare -F "$1" > /dev/null 2>&1; then set +u "$@" # including args else From d53920a5beb19541ce61107844ab2f5e27c19b44 Mon Sep 17 00:00:00 2001 From: Albert Safin Date: Thu, 19 Sep 2019 09:48:15 +0000 Subject: [PATCH 090/129] setup.sh: avoid subshells: mapOffset --- pkgs/stdenv/generic/setup.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 60067a4051d..7e7f8739845 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -403,6 +403,7 @@ findInputs() { # The current package's host and target offset together # provide a <=-preserving homomorphism from the relative # offsets to current offset + local -i mapOffsetResult function mapOffset() { local -ri inputOffset="$1" if (( "$inputOffset" <= 0 )); then @@ -410,7 +411,7 @@ findInputs() { else local -ri outputOffset="$inputOffset - 1 + $targetOffset" fi - echo "$outputOffset" + mapOffsetResult="$outputOffset" } # Host offset relative to that of the package whose immediate @@ -422,8 +423,8 @@ findInputs() { # Host offset relative to the package currently being # built---as absolute an offset as will be used. - local -i hostOffsetNext - hostOffsetNext="$(mapOffset relHostOffset)" + mapOffset relHostOffset + local -i hostOffsetNext="$mapOffsetResult" # Ensure we're in bounds relative to the package currently # being built. @@ -441,8 +442,8 @@ findInputs() { # Target offset relative to the package currently being # built. - local -i targetOffsetNext - targetOffsetNext="$(mapOffset relTargetOffset)" + mapOffset relTargetOffset + local -i targetOffsetNext="$mapOffsetResult" # Once again, ensure we're in bounds relative to the # package currently being built. From cf4e4820f629326928a6b8fd179a3aa5dd6d4773 Mon Sep 17 00:00:00 2001 From: Albert Safin Date: Thu, 19 Sep 2019 15:06:48 +0000 Subject: [PATCH 091/129] setup.sh: avoid subshells: type -t in _callImplicitHook --- pkgs/stdenv/generic/setup.sh | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 7e7f8739845..e25ea735a93 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -73,21 +73,18 @@ _callImplicitHook() { set -u local def="$1" local hookName="$2" - case "$(type -t "$hookName")" in - (function|alias|builtin) - set +u - "$hookName";; - (file) - set +u - source "$hookName";; - (keyword) :;; - (*) if [ -z "${!hookName:-}" ]; then - return "$def"; - else - set +u - eval "${!hookName}" - fi;; - esac + if declare -F "$hookName" > /dev/null; then + set +u + "$hookName" + elif type -p "$hookName" > /dev/null; then + set +u + source "$hookName" + elif [ -n "${!hookName:-}" ]; then + set +u + eval "${!hookName}" + else + return "$def" + fi # `_eval` expects hook to need nounset disable and leave it # disabled anyways, so Ok to to delegate. The alternative of a # return trap is no good because it would affect nested returns. From 42482a1d60c53bc82a1fa5e3098ebc8a9884a40a Mon Sep 17 00:00:00 2001 From: Albert Safin Date: Thu, 19 Sep 2019 15:43:35 +0000 Subject: [PATCH 092/129] setup.sh: avoid subshells: iterating a file --- pkgs/stdenv/generic/setup.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index e25ea735a93..ea550a6d534 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -449,7 +449,8 @@ findInputs() { [[ -f "$pkg/nix-support/$file" ]] || continue local pkgNext - for pkgNext in $(< "$pkg/nix-support/$file"); do + read -r -d '' pkgNext < "$pkg/nix-support/$file" || true + for pkgNext in $pkgNext; do findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext" done done From bbc5b22ad82f89d2605ab91073012b12cabe87c3 Mon Sep 17 00:00:00 2001 From: Albert Safin Date: Thu, 19 Sep 2019 14:17:34 +0000 Subject: [PATCH 093/129] bintools-wrapper: avoid subshells: upcase --- pkgs/build-support/bintools-wrapper/setup-hook.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/bintools-wrapper/setup-hook.sh b/pkgs/build-support/bintools-wrapper/setup-hook.sh index f65b792485a..27d3e6ad512 100644 --- a/pkgs/build-support/bintools-wrapper/setup-hook.sh +++ b/pkgs/build-support/bintools-wrapper/setup-hook.sh @@ -61,9 +61,8 @@ do if PATH=$_PATH type -p "@targetPrefix@${cmd}" > /dev/null then - upper_case="$(echo "$cmd" | tr "[:lower:]" "[:upper:]")" - export "${role_pre}${upper_case}=@targetPrefix@${cmd}"; - export "${upper_case}${role_post}=@targetPrefix@${cmd}"; + export "${role_pre}${cmd^^}=@targetPrefix@${cmd}"; + export "${cmd^^}${role_post}=@targetPrefix@${cmd}"; fi done From 26547013a51f32414232dc1a98eeda665583fbf2 Mon Sep 17 00:00:00 2001 From: Albert Safin Date: Fri, 20 Sep 2019 02:45:12 +0000 Subject: [PATCH 094/129] bintools-wrapper: avoid subshells: glob match --- pkgs/build-support/bintools-wrapper/setup-hook.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/bintools-wrapper/setup-hook.sh b/pkgs/build-support/bintools-wrapper/setup-hook.sh index 27d3e6ad512..2e15fa95c79 100644 --- a/pkgs/build-support/bintools-wrapper/setup-hook.sh +++ b/pkgs/build-support/bintools-wrapper/setup-hook.sh @@ -24,7 +24,8 @@ bintoolsWrapper_addLDVars () { # Python and Haskell packages often only have directories like $out/lib/ghc-8.4.3/ or # $out/lib/python3.6/, so having them in LDFLAGS just makes the linker search unnecessary # directories and bloats the size of the environment variable space. - if [[ -n "$(echo $1/lib/lib*)" ]]; then + local -a glob=( $1/lib/lib* ) + if [ "${#glob[*]}" -gt 0 ]; then export NIX_${role_pre}LDFLAGS+=" -L$1/lib" fi fi From b54065a5f6ba62e30cf5cdb974271507d6f600c7 Mon Sep 17 00:00:00 2001 From: John Chadwick Date: Fri, 20 Sep 2019 08:30:30 -0700 Subject: [PATCH 095/129] libwacom: 0.33 -> 1.1 --- pkgs/development/libraries/libwacom/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix index a4f0a44e60b..7d7dd94eff4 100644 --- a/pkgs/development/libraries/libwacom/default.nix +++ b/pkgs/development/libraries/libwacom/default.nix @@ -1,17 +1,22 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, glib, pkgconfig, udev, libgudev }: +{ stdenv, fetchFromGitHub, meson, ninja, glib, pkgconfig, udev, libgudev }: stdenv.mkDerivation rec { pname = "libwacom"; - version = "0.33"; + version = "1.1"; + + outputs = [ "out" "dev" ]; src = fetchFromGitHub { owner = "linuxwacom"; repo = "libwacom"; rev = "libwacom-${version}"; - sha256 = "0np0a7rpnlm9iqw1i8ycz5mprin6bb99p4h522v9vjk4lhzsp34m"; + sha256 = "037vnyfg7nim6h3f4m04w6a9pr6hi04df14qpys580kf5xnf87nz"; }; - nativeBuildInputs = [ pkgconfig autoreconfHook ]; + nativeBuildInputs = [ pkgconfig meson ninja ]; + + mesonFlags = [ "-Dtests=false" ]; + buildInputs = [ glib udev libgudev ]; meta = with stdenv.lib; { From d1f7bb2ad9b0610033641a7148baeb0a7031f26f Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 20 Sep 2019 23:07:30 -0500 Subject: [PATCH 096/129] gdb: 8.3 -> 8.3.1 https://lists.gnu.org/archive/html/info-gnu/2019-09/msg00006.html --- pkgs/development/tools/misc/gdb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index f7dc2874aff..0fc5f01317f 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -13,7 +13,7 @@ let basename = "gdb-${version}"; - version = "8.3"; + version = "8.3.1"; in assert pythonSupport -> python3 != null; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/gdb/${basename}.tar.xz"; - sha256 = "0bnpzz0rl672xg5547q5qck2sxi6cnyixmk8bbb4gifw17ipwbw0"; + sha256 = "1i2pjwaafrlz7wqm40b4znr77ai32rjsxkpl2az38yyarpbv8m8y"; }; postPatch = if stdenv.isDarwin then '' From 5505d2f036342f1efb3cfb36c6cb9332e3358954 Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Sun, 22 Sep 2019 02:36:08 +0200 Subject: [PATCH 097/129] python: Fix invalid pip call in setuptoolsShellHook --- .../interpreters/python/hooks/setuptools-build-hook.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh index db3e4225d29..c99ef313c10 100644 --- a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh +++ b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh @@ -27,9 +27,9 @@ setuptoolsShellHook() { if test -e setup.py; then tmp_path=$(mktemp -d) export PATH="$tmp_path/bin:$PATH" - export PYTHONPATH="@pythonSitePackages@:$PYTHONPATH" + export PYTHONPATH="$tmp_path/@pythonSitePackages@:$PYTHONPATH" mkdir -p "$tmp_path/@pythonSitePackages@" - eval "@pythonInterpreter@ -m pip -e . --prefix $tmp_path >&2" + eval "@pythonInterpreter@ -m pip install -e . --prefix $tmp_path >&2" fi runHook postShellHook From 88c5b206066d48c2038d230f219d69716f119162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 22 Sep 2019 09:00:41 +0100 Subject: [PATCH 098/129] iptables-compat: rename to iptables-nftables-compat Same as debian, more clarity what the package is about. --- pkgs/os-specific/linux/iptables/default.nix | 6 +++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index 6b25342ed4c..882c24057bb 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, pruneLibtoolFiles, flex, bison , libmnl, libnetfilter_conntrack, libnfnetlink, libnftnl, libpcap -, modeCompat ? false +, nftablesCompat ? false }: with stdenv.lib; @@ -28,11 +28,11 @@ stdenv.mkDerivation rec { "--enable-libipq" "--enable-nfsynproxy" "--enable-shared" - ] ++ optional (!modeCompat) "--disable-nftables"; + ] ++ optional (!nftablesCompat) "--disable-nftables"; outputs = [ "out" "dev" ]; - postInstall = optional modeCompat '' + postInstall = optional nftablesCompat '' rm $out/sbin/{iptables,iptables-restore,iptables-save,ip6tables,ip6tables-restore,ip6tables-save} ln -sv xtables-nft-multi $out/bin/iptables ln -sv xtables-nft-multi $out/bin/iptables-restore diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f946f432ae4..51ae18a9c9e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15631,7 +15631,7 @@ in iptables = iptables-legacy; iptables-legacy = callPackage ../os-specific/linux/iptables { }; - iptables-compat = callPackage ../os-specific/linux/iptables { modeCompat = true; }; + iptables-nftables-compat = callPackage ../os-specific/linux/iptables { nftablesCompat = true; }; iptstate = callPackage ../os-specific/linux/iptstate { } ; From ffa80e75b7a95d78173e2c787011eb85d7f9e2c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 22 Sep 2019 09:09:43 +0100 Subject: [PATCH 099/129] nixos/firewall: rename iptables-compat to iptables-nftables-compat --- nixos/modules/services/networking/firewall.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index a1755fd84d4..5919962837a 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -334,7 +334,8 @@ in package = mkOption { type = types.package; default = pkgs.iptables; - example = pkgs.iptables-compat; + defaultText = "pkgs.iptables"; + example = literalExample "pkgs.iptables-nftables-compat"; description = '' The iptables package to use for running the firewall service." From e675e2763eab75ee5064822592f387df9367c121 Mon Sep 17 00:00:00 2001 From: Orivej Desh Date: Sun, 22 Sep 2019 21:34:32 +0000 Subject: [PATCH 100/129] gdb: build with libipt This adds support for "record btrace pt" command. --- pkgs/development/tools/misc/gdb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 0fc5f01317f..e990cb683e7 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -4,7 +4,7 @@ , fetchurl, pkgconfig, perl, texinfo, setupDebugInfoDirs, buildPackages # Run time -, ncurses, readline, gmp, mpfr, expat, zlib, dejagnu +, ncurses, readline, gmp, mpfr, expat, libipt, zlib, dejagnu , pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3 ? null , guile ? null @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig texinfo perl setupDebugInfoDirs ]; - buildInputs = [ ncurses readline gmp mpfr expat zlib guile ] + buildInputs = [ ncurses readline gmp mpfr expat libipt zlib guile ] ++ stdenv.lib.optional pythonSupport python3 ++ stdenv.lib.optional doCheck dejagnu; From eaa9f02f0234833478ff09395dfcdccb7d8348a8 Mon Sep 17 00:00:00 2001 From: Anton-Latukha Date: Wed, 18 Sep 2019 23:17:03 +0300 Subject: [PATCH 101/129] djvulibre: {adopt, clean-up, upd description} --- pkgs/applications/misc/djvulibre/default.nix | 26 ++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/djvulibre/default.nix b/pkgs/applications/misc/djvulibre/default.nix index 0b685e04a6f..182ab51dbc2 100644 --- a/pkgs/applications/misc/djvulibre/default.nix +++ b/pkgs/applications/misc/djvulibre/default.nix @@ -1,22 +1,34 @@ -{ stdenv, fetchurl, libjpeg, libtiff, librsvg, libiconv }: +{ stdenv +, fetchurl +, libjpeg +, libtiff +, librsvg +, libiconv +}: stdenv.mkDerivation rec { - name = "djvulibre-3.5.27"; + pname = "djvulibre"; + version = "3.5.27"; src = fetchurl { - url = "mirror://sourceforge/djvu/${name}.tar.gz"; + url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz"; sha256 = "0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6"; }; outputs = [ "bin" "dev" "out" ]; - buildInputs = [ libjpeg libtiff librsvg libiconv ]; + buildInputs = [ + libjpeg + libtiff + librsvg + libiconv + ]; meta = with stdenv.lib; { - description = "A library and viewer for the DJVU file format for scanned images"; - homepage = http://djvu.sourceforge.net; + description = "The big set of CLI tools to make/modify/optimize/show/export DJVU files"; + homepage = "http://djvu.sourceforge.net"; license = licenses.gpl2; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ Anton-Latukha ]; platforms = platforms.all; }; } From 53fb1c512aa2f56f1791eddfc2f0670089ab5e6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 23 Sep 2019 09:40:03 +0100 Subject: [PATCH 102/129] systemd: make sysinit.target depend on local-fs.target again This change was re-introduced when updating to systemd 243. Also see: https://github.com/NixOS/nixpkgs/pull/67858 --- pkgs/os-specific/linux/systemd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 33f11316f40..ad7a74b0fa7 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -27,8 +27,8 @@ in stdenv.mkDerivation { src = fetchFromGitHub { owner = "NixOS"; repo = "systemd"; - rev = "7019836a26ebdc1ba20c03d06dbb3a613833bd0f"; - sha256 = "0ywaq5jfy177k4q5hwr43v66sz62l1bqhgyxs2vk9m1d5kvrjwk6"; + rev = "ccec67cab6c0fda85a1762eee7aeea422a0dc15e"; + sha256 = "12nq2ah33amhyfma464a4ssf90wh2ai8c7w55j381cks8jliny40"; }; outputs = [ "out" "lib" "man" "dev" ]; From 1e8772375ea33e27cf16956f84ec5acfd03741b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 23 Sep 2019 09:42:46 +0100 Subject: [PATCH 103/129] systemd: add myself as maintainer --- pkgs/os-specific/linux/systemd/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index ad7a74b0fa7..b4e0d64efb6 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -231,6 +231,6 @@ in stdenv.mkDerivation { license = licenses.lgpl21Plus; platforms = platforms.linux; priority = 10; - maintainers = with maintainers; [ eelco andir ]; + maintainers = with maintainers; [ eelco andir mic92 ]; }; } From d22b4859a16a3f3e01cf3e6dfaeefc4424ac00cb Mon Sep 17 00:00:00 2001 From: uHOOCCOOHu Date: Tue, 27 Aug 2019 14:56:54 +0800 Subject: [PATCH 104/129] valgrind: move perl to buildInputs Perl is needed for `callgrind_{annotate,control}'. --- pkgs/development/tools/analysis/valgrind/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index c362ae5734c..b5abff94c79 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -8,15 +8,13 @@ stdenv.mkDerivation rec { sha256 = "1ccawxrni8brcvwhygy12iprkvz409hbr9xkk1bd03gnm2fplz21"; }; - # Perl is needed for `cg_annotate'. - nativeBuildInputs = [ perl ]; - outputs = [ "out" "dev" "man" "doc" ]; hardeningDisable = [ "stackprotector" ]; # GDB is needed to provide a sane default for `--db-command'. - buildInputs = [ gdb ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ]; + # Perl is needed for `callgrind_{annotate,control}'. + buildInputs = [ gdb perl ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ]; enableParallelBuilding = true; separateDebugInfo = stdenv.isLinux; From 86b7a5654e3c5d6f06d62742a2edf5b97cb98e06 Mon Sep 17 00:00:00 2001 From: Orivej Desh Date: Tue, 24 Sep 2019 03:11:49 +0000 Subject: [PATCH 105/129] libheif: 1.5.0 -> 1.5.1 --- pkgs/development/libraries/libheif/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libheif/default.nix b/pkgs/development/libraries/libheif/default.nix index 02c4dd33481..f69241ad552 100644 --- a/pkgs/development/libraries/libheif/default.nix +++ b/pkgs/development/libraries/libheif/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libheif"; - version = "1.5.0"; + version = "1.5.1"; src = fetchFromGitHub { owner = "strukturag"; repo = "libheif"; rev = "v${version}"; - sha256 = "1nvfjmnha06689imm8v24nlc011814gc9xq3x54cnmqvh5gn98ah"; + sha256 = "0x6207hiy15k2696476qx9jcbzs90fq8cfv4jw6hi14w4wzq89kr"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; From a1eacb900e1b705678b2c199cb97baafc9b77f86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 24 Sep 2019 08:15:26 +0200 Subject: [PATCH 106/129] Re-revert "awscli: Get rid of runtime -dev dependencies" This reverts commit afd04a49ed4d03923adf51352ce2bce1fa72455d. Moved from master to staging. --- pkgs/development/python-modules/botocore/default.nix | 2 ++ pkgs/development/python-modules/s3transfer/default.nix | 2 +- pkgs/development/python-modules/urllib3/default.nix | 2 ++ pkgs/tools/admin/awscli/default.nix | 6 +++++- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix index 5c8b00fc6c1..e1465e86b0e 100644 --- a/pkgs/development/python-modules/botocore/default.nix +++ b/pkgs/development/python-modules/botocore/default.nix @@ -19,6 +19,8 @@ buildPythonPackage rec { sha256 = "19ls7hdmcaqrrq8przqy05s8chsy8315ic2zg185k6m64pvr0qhd"; }; + outputs = [ "out" "dev" ]; + propagatedBuildInputs = [ dateutil jmespath diff --git a/pkgs/development/python-modules/s3transfer/default.nix b/pkgs/development/python-modules/s3transfer/default.nix index 7589d0fce73..0c227bc6377 100644 --- a/pkgs/development/python-modules/s3transfer/default.nix +++ b/pkgs/development/python-modules/s3transfer/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { sha256 = "f23d5cb7d862b104401d9021fc82e5fa0e0cf57b7660a1331425aab0c691d021"; }; - foo = 1; + outputs = [ "out" "dev" ]; propagatedBuildInputs = [ botocore diff --git a/pkgs/development/python-modules/urllib3/default.nix b/pkgs/development/python-modules/urllib3/default.nix index d951e436480..e50d90266bf 100644 --- a/pkgs/development/python-modules/urllib3/default.nix +++ b/pkgs/development/python-modules/urllib3/default.nix @@ -11,6 +11,8 @@ buildPythonPackage rec { sha256 = "2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4"; }; + outputs = [ "out" "dev" ]; + NOSE_EXCLUDE = stdenv.lib.concatStringsSep "," [ "test_headers" "test_headerdict" "test_can_validate_ip_san" "test_delayed_body_read_timeout" "test_timeout_errors_cause_retries" "test_select_multiple_interrupts_with_event" diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix index 33526ba11df..7e3e0c9fff0 100644 --- a/pkgs/tools/admin/awscli/default.nix +++ b/pkgs/tools/admin/awscli/default.nix @@ -38,7 +38,7 @@ in py.pkgs.buildPythonApplication rec { # No tests included doCheck = false; - propagatedBuildInputs = with py.pkgs; [ + pythonPath = with py.pkgs; [ botocore bcdoc s3transfer @@ -49,6 +49,10 @@ in py.pkgs.buildPythonApplication rec { pyyaml groff less + urllib3 + dateutil + jmespath + futures ]; postInstall = '' From 97cc421cdd8ed6cd81ed0aa0158d0db670ff14c1 Mon Sep 17 00:00:00 2001 From: Ivan Kozik Date: Tue, 24 Sep 2019 10:55:46 +0000 Subject: [PATCH 107/129] kernel/common-config: enable SCHED_DEBUG --- pkgs/os-specific/linux/kernel/common-config.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 3b409f15aba..25d94f035b1 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -42,6 +42,8 @@ let CRASH_DUMP = option no; # Easier debugging of NFS issues. SUNRPC_DEBUG = yes; + # Provide access to tunables like sched_migration_cost_ns + SCHED_DEBUG = yes; }; power-management = { From 6df3156696f2ddb372f62ab0ab3d4f77018a65c4 Mon Sep 17 00:00:00 2001 From: Ivan Kozik Date: Tue, 24 Sep 2019 19:52:42 +0000 Subject: [PATCH 108/129] kernel/common-config: enable INET_{TCP,UDP,RAW}_DIAG and INET_DIAG_DESTROY --- pkgs/os-specific/linux/kernel/common-config.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 3b409f15aba..5f34ca64049 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -149,6 +149,13 @@ let NF_TABLES_ARP = whenAtLeast "4.17" yes; NF_TABLES_IPV6 = whenAtLeast "4.17" yes; NF_TABLES_BRIDGE = whenBetween "4.17" "5.3" yes; + + # needed for ss + INET_DIAG = yes; + INET_TCP_DIAG = module; + INET_UDP_DIAG = module; + INET_RAW_DIAG = whenAtLeast "4.14" module; + INET_DIAG_DESTROY = whenAtLeast "4.9" yes; }; wireless = { From 5d49ee3e5dcbb6b3716e356838d66739cea1c72c Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 13 Sep 2019 11:20:36 -0500 Subject: [PATCH 109/129] pulseaudio: 12.2 -> 13.0 https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/13.0/ --- pkgs/servers/pulseaudio/default.nix | 39 +++++++++-------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 13b5d4c3c9f..2ce78a048c4 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -1,5 +1,5 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, intltool, autoreconfHook -, libsndfile, libtool, makeWrapper +{ lib, stdenv, fetchurl, pkgconfig, autoreconfHook +, libsndfile, libtool, makeWrapper, perlPackages , xorg, libcap, alsaLib, glib, gnome3 , avahi, libjack2, libasyncns, lirc, dbus , sbc, bluez5, udev, openssl, fftwFloat @@ -31,16 +31,16 @@ stdenv.mkDerivation rec { name = "${if libOnly then "lib" else ""}pulseaudio-${version}"; - version = "12.2"; + version = "13.0"; src = fetchurl { url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${version}.tar.xz"; - sha256 = "0ma0p8iry7fil7qb4pm2nx2pm65kq9hk9xc4r5wkf14nqbzni5l0"; + sha256 = "0mw0ybrqj7hvf8lqs5gjzip464hfnixw453lr0mqzlng3b5266wn"; }; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ pkgconfig intltool autoreconfHook makeWrapper ]; + nativeBuildInputs = [ pkgconfig autoreconfHook makeWrapper perlPackages.perl perlPackages.XMLParser ]; propagatedBuildInputs = lib.optionals stdenv.isLinux [ libcap ]; @@ -61,25 +61,10 @@ stdenv.mkDerivation rec { ++ lib.optional zeroconfSupport avahi ); - patches = [ - # The following two patches fix alsalib headers move, remove after the next release - (fetchpatch { - name = "alsa-asoundlib-include.patch"; - url = "https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/993d3fd89e5611997f1e165bf03edefb0204b0a4.patch"; - sha256 = "17icnf8026947j1dqw4k16f91vy6zyg7q41zv2j6pxh9fncb1s71"; - }) - (fetchpatch { - name = "alsa-use-case-include.patch"; - url = "https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/b89d33bb182c42db5ad3987b0e91b7bf62f421e8.patch"; - sha256 = "0jccpc0dgkb0v4xrkyca2pm2k4i6pvahs9bq4hbg34173p23g5nb"; - }) - ]; - - preConfigure = '' - # Performs and autoreconf - export NOCONFIGURE="yes" + autoreconfPhase = '' + # Performs an autoreconf patchShebangs bootstrap.sh - ./bootstrap.sh + NOCONFIGURE=1 ./bootstrap.sh # Move the udev rules under $(prefix). sed -i "src/Makefile.in" \ @@ -99,11 +84,11 @@ stdenv.mkDerivation rec { [ "--localstatedir=/var" "--sysconfdir=/etc" "--with-access-group=audio" - "--with-bash-completion-dir=\${out}/share/bash-completions/completions" + "--with-bash-completion-dir=${placeholder "out"}/share/bash-completions/completions" ] ++ lib.optional (jackaudioSupport && !libOnly) "--enable-jack" ++ lib.optional stdenv.isDarwin "--with-mac-sysroot=/" - ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=\${out}/lib/systemd/user"; + ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"; enableParallelBuilding = true; @@ -115,8 +100,8 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I/usr/include"; installFlags = - [ "sysconfdir=$(out)/etc" - "pulseconfdir=$(out)/etc/pulse" + [ "sysconfdir=${placeholder "out"}/etc" + "pulseconfdir=${placeholder "out"}/etc/pulse" ]; postInstall = lib.optionalString libOnly '' From dcdee6db60111d95412e653e8e725e451eb60098 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sat, 14 Sep 2019 13:18:48 -0400 Subject: [PATCH 110/129] qtwebengine: fix build with pulseaudio 13.0 --- pkgs/development/libraries/qt-5/5.11/default.nix | 7 +++++++ pkgs/development/libraries/qt-5/5.12/default.nix | 9 ++++++++- pkgs/development/libraries/qt-5/5.9/default.nix | 13 +++++++++++-- pkgs/top-level/all-packages.nix | 2 +- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.11/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix index 296db2eab2d..a2effccd77c 100644 --- a/pkgs/development/libraries/qt-5/5.11/default.nix +++ b/pkgs/development/libraries/qt-5/5.11/default.nix @@ -69,6 +69,13 @@ let qtwebengine = [ ./qtwebengine-no-build-skip.patch ./qtwebengine-darwin-no-platform-check.patch + # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707 + # https://bugreports.qt.io/browse/QTBUG-77037 + (fetchpatch { + name = "fix-build-with-pulseaudio-13.0.patch"; + url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951"; + sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am"; + }) ]; qtwebkit = [ ./qtwebkit.patch ]; }; diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index a2062af65f0..37928ce0453 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -16,7 +16,7 @@ top-level attribute to `top-level/all-packages.nix`. { newScope, - stdenv, fetchurl, fetchFromGitHub, makeSetupHook, makeWrapper, + stdenv, fetchurl, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, gtk3, dconf, llvmPackages_5, @@ -60,6 +60,13 @@ let qtserialport = [ ./qtserialport.patch ]; qtwebengine = [ ./qtwebengine-no-build-skip.patch + # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707 + # https://bugreports.qt.io/browse/QTBUG-77037 + (fetchpatch { + name = "fix-build-with-pulseaudio-13.0.patch"; + url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951"; + sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am"; + }) ] ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch; qtwebkit = [ ./qtwebkit.patch ] diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix index a872f212ff7..f1746425579 100644 --- a/pkgs/development/libraries/qt-5/5.9/default.nix +++ b/pkgs/development/libraries/qt-5/5.9/default.nix @@ -53,9 +53,18 @@ let ]; qtserialport = [ ./qtserialport.patch ]; qttools = [ ./qttools.patch ]; - qtwebengine = [ ./qtwebengine-no-build-skip.patch ] - ++ optional stdenv.cc.isClang ./qtwebengine-clang-fix.patch + qtwebengine = [ + ./qtwebengine-no-build-skip.patch + # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707 + # https://bugreports.qt.io/browse/QTBUG-77037 + (fetchpatch { + name = "fix-build-with-pulseaudio-13.0.patch"; + url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951"; + sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am"; + }) + ] ++ optional stdenv.cc.isClang ./qtwebengine-clang-fix.patch ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch; + qtwebkit = [ ./qtwebkit.patch ]; qtvirtualkeyboard = [ (fetchpatch { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3a2ca42ddf4..8e31974fcee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13207,7 +13207,7 @@ in qt512 = recurseIntoAttrs (makeOverridable (import ../development/libraries/qt-5/5.12) { inherit newScope; - inherit stdenv fetchurl fetchFromGitHub makeSetupHook makeWrapper; + inherit stdenv fetchurl fetchpatch fetchFromGitHub makeSetupHook makeWrapper; bison = bison2; # error: too few arguments to function 'int yylex(... inherit cups; inherit harfbuzz; From 051d0bf54d01719464f64fc89482337e635dd2b5 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 25 Sep 2019 10:58:50 +0200 Subject: [PATCH 111/129] iproute: 5.2.0 -> 5.3.0 "This update includes usual ammount of minor fixes and to tools and documentation. More to the newer tools like devlink and rdma." [0] File changes: +share/man/man8/ip-nexthop.8.gz +share/man/man8/rdma-statistic.8.gz +share/man/man8/rdma-system.8.gz +share/man/man8/tc-ctinfo.8.gz +share/man/man8/tc-mpls.8.gz nix path-info -S: 5.2.0 46554496 5.3.0 46560144 [0]: https://www.spinics.net/lists/netdev/msg600739.html --- pkgs/os-specific/linux/iproute/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 87b7de4736f..709646f3368 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "iproute2"; - version = "5.2.0"; + version = "5.3.0"; src = fetchurl { url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1a2dywa2kam24951byv9pl32mb9z6klh7d4vp8fwfgrm4vn5vfd5"; + sha256 = "0gvv269wjn4279hxr5zzwsk2c5qgswr47za3hm1x4frsk52iw76b"; }; preConfigure = '' From 4edb8ade3d3bf1e4ef7d8284a6a8454a530c14d3 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 23 Sep 2019 10:06:43 -0500 Subject: [PATCH 112/129] konsole: Remove spurious wrapper --- pkgs/applications/kde/konsole.nix | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix index 004fc1c37ae..1be5b0b4a89 100644 --- a/pkgs/applications/kde/konsole.nix +++ b/pkgs/applications/kde/konsole.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, makeWrapper, + mkDerivation, lib, extra-cmake-modules, kdoctools, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons, ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications, @@ -18,12 +18,7 @@ mkDerivation { kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdelibs4support kguiaddons ki18n kiconthemes kinit kio knotifications knotifyconfig kparts kpty kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript knewstuff - makeWrapper ]; - postInstall = '' - wrapProgram $out/bin/konsole --prefix XDG_DATA_DIRS ":" $out/share - ''; - propagatedUserEnvPkgs = [ (lib.getBin kinit) ]; } From 2f623ef52798e6b292f11a0a2955235ea85911a6 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 23 Sep 2019 10:07:09 -0500 Subject: [PATCH 113/129] extra-cmake-modules: Remove doc/ from xdgDataSubdirs --- .../kde-frameworks/extra-cmake-modules/setup-hook.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh index 4df086ddbf2..7b39a78deee 100644 --- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh @@ -53,13 +53,12 @@ ecmPostHook() { } postHooks+=(ecmPostHook) -xdgDataSubdirs=( - "doc" "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \ +xdgDataSubdirs=( \ + "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \ "kxmlgui5" "knotifications5" "icons" "locale" "sounds" "templates" \ "wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \ ) - ecmHostPathSeen=( ) ecmUnseenHostPath() { @@ -104,5 +103,10 @@ ecmHostPathHook() { then qtWrapperArgs+=(--prefix INFOPATH : "$infoDir") fi + + if [ -d "$1/dbus-1" ] + then + propagatedUserEnvPkgs+=" $1" + fi } addEnvHooks "$hostOffset" ecmHostPathHook From 459ea150e8176b9b1b81b4873cf9a77a204d5376 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 23 Sep 2019 10:56:42 -0500 Subject: [PATCH 114/129] extra-cmake-modules: addEnvHooks: Use targetOffset --- .../libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh index 7b39a78deee..35982e86628 100644 --- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh @@ -109,4 +109,4 @@ ecmHostPathHook() { propagatedUserEnvPkgs+=" $1" fi } -addEnvHooks "$hostOffset" ecmHostPathHook +addEnvHooks "$targetOffset" ecmHostPathHook From 338742effd9b04af1a5968b18d10ae9aa27bcbe4 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 05:44:15 -0500 Subject: [PATCH 115/129] tremor: Use multiple outputs to reduce closure size --- pkgs/development/libraries/tremor/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/tremor/default.nix b/pkgs/development/libraries/tremor/default.nix index 29133607689..91b6d2cb167 100644 --- a/pkgs/development/libraries/tremor/default.nix +++ b/pkgs/development/libraries/tremor/default.nix @@ -9,6 +9,8 @@ stdenv.mkDerivation { sha256 = "0m07gq4zfgigsiz8b518xyb19v7qqp76qmp7lb262825vkqzl3zq"; }; + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; propagatedBuildInputs = [ libogg ]; From f012fc8f61bfacd4c04a03511708367c761eb155 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 05:44:52 -0500 Subject: [PATCH 116/129] ibus: Use multiple outputs to reduce closure size --- pkgs/tools/inputmethods/ibus/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix index a6c2404ef34..c2bcc2adfc0 100644 --- a/pkgs/tools/inputmethods/ibus/default.nix +++ b/pkgs/tools/inputmethods/ibus/default.nix @@ -98,6 +98,8 @@ stdenv.mkDerivation rec { }) ]; + outputs = [ "out" "dev" ]; + postPatch = '' echo \#!${runtimeShell} > data/dconf/make-dconf-override-db.sh cp ${buildPackages.gtk-doc}/share/gtk-doc/data/gtk-doc.make . From 0f5769df77e25a5504ec8e0b41608d625315be2a Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:00:38 -0500 Subject: [PATCH 117/129] kate: No propagatedBuildInputs kate does not have a `dev` output, so it should not have `propagatedBuildInputs`, as this propagates other `dev` outputs into the user environment. --- pkgs/applications/kde/kate.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/kde/kate.nix b/pkgs/applications/kde/kate.nix index 95ff6cf198b..f01a57a55d4 100644 --- a/pkgs/applications/kde/kate.nix +++ b/pkgs/applications/kde/kate.nix @@ -15,8 +15,8 @@ mkDerivation { }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ libgit2 ]; - propagatedBuildInputs = [ + buildInputs = [ + libgit2 kactivities ki18n kio ktexteditor kwindowsystem plasma-framework qtscript kconfig kcrash kguiaddons kiconthemes kinit kjobwidgets kparts kxmlgui kdbusaddons kwallet kitemmodels knotifications threadweaver From 6cbf0b4bd22017f11f25d4b44e7cfaa02f3029dc Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:13:12 -0500 Subject: [PATCH 118/129] hdf5: Use multiple outputs to reduce closure size --- pkgs/tools/misc/hdf5/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index 336010718dd..3296c0a4f92 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { inherit mpi; }; + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ removeReferencesTo ]; buildInputs = [] @@ -51,6 +53,7 @@ stdenv.mkDerivation rec { postInstall = '' find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' + + moveToOutput bin/h5cc "''${!outputDev}" ''; meta = { From 9d35ea756e0f3e16adc56d857f32cb42569bde29 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:13:59 -0500 Subject: [PATCH 119/129] spandsp: Use multiple outputs to reduce closure size --- pkgs/development/libraries/spandsp/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix index c2dc20cc392..da73e5ab931 100644 --- a/pkgs/development/libraries/spandsp/default.nix +++ b/pkgs/development/libraries/spandsp/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz"; sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc"; }; - buildInputs = []; + outputs = [ "out" "dev" ]; propagatedBuildInputs = [audiofile libtiff]; meta = { homepage = http://www.creytiv.com/baresip.html; @@ -18,4 +18,3 @@ stdenv.mkDerivation rec { updateWalker = true; }; } - From 315a049f0b96bfc990816fe192de4fe41ac0d5f2 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:57:00 -0500 Subject: [PATCH 120/129] SDL: Do not propagate -dev outputs at runtime --- pkgs/development/libraries/SDL/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index 610f1b768f2..61609a90dd0 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -13,6 +13,16 @@ with stdenv.lib; +let + extraPropagatedBuildInputs = [ ] + ++ optionals x11Support [ libXext libICE libXrandr ] + ++ optionals openglSupport [ libGL libGLU ] + ++ optional alsaSupport alsaLib + ++ optional pulseaudioSupport libpulseaudio + ++ optional stdenv.isDarwin Cocoa; + rpath = makeLibraryPath extraPropagatedBuildInputs; +in + stdenv.mkDerivation rec { pname = "SDL"; version = "1.2.15"; @@ -31,12 +41,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isLinux libcap; - propagatedBuildInputs = [ libiconv ] - ++ optionals x11Support [ libXext libICE libXrandr ] - ++ optionals openglSupport [ libGL libGLU ] - ++ optional alsaSupport alsaLib - ++ optional pulseaudioSupport libpulseaudio - ++ optional stdenv.isDarwin Cocoa; + propagatedBuildInputs = [ libiconv ] ++ extraPropagatedBuildInputs; buildInputs = [ ] ++ optional (!stdenv.hostPlatform.isMinGW && alsaSupport) audiofile @@ -108,7 +113,7 @@ stdenv.mkDerivation rec { postFixup = '' for lib in $out/lib/*.so* ; do if [[ -L "$lib" ]]; then - patchelf --set-rpath "$(patchelf --print-rpath $lib):${makeLibraryPath propagatedBuildInputs}" "$lib" + patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib" fi done ''; From 75ced8ec93fc410062cc14e1a3777ae73fcd7799 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 25 Sep 2019 10:58:30 -0500 Subject: [PATCH 121/129] libsrtp: Use multiple outputs to reduce closure size --- pkgs/development/libraries/srtp/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/srtp/default.nix b/pkgs/development/libraries/srtp/default.nix index 3940faf1d6d..129d57904d1 100644 --- a/pkgs/development/libraries/srtp/default.nix +++ b/pkgs/development/libraries/srtp/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { sha256 = "1ac7xs1djb03j131f1gmqyfmrplblid9qqyxahs0shdy707r5ll6"; }; + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ pkgconfig ]; # libsrtp.pc references -lcrypto -lpcap without -L From 6194787015e319ca639d1ccae4c59aa672a6285e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 26 Sep 2019 10:13:51 -0700 Subject: [PATCH 122/129] fluidsynth: 2.0.5 -> 2.0.6 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/fluidsynth/versions --- pkgs/applications/audio/fluidsynth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix index bb86787a3cf..8e2895bf847 100644 --- a/pkgs/applications/audio/fluidsynth/default.nix +++ b/pkgs/applications/audio/fluidsynth/default.nix @@ -11,8 +11,8 @@ let sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"; }; "2" = { - fluidsynthVersion = "2.0.5"; - sha256 = "0rv0apxbj0cgm8f8sqf5xr6kdi4q58ph92ip6cg716ha0ca5lr8y"; + fluidsynthVersion = "2.0.6"; + sha256 = "0nas9pp9r8rnziznxm65x2yzf1ryg98zr3946g0br3s38sjf8l3a"; }; }; in From 85f97f2d01982cc53f9b4e73cfd59557a53e23ad Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Fri, 27 Sep 2019 17:10:04 -0400 Subject: [PATCH 123/129] libX11: adds upstream patch to fix cross-compilation With this patch applied, cross-compilation of a system image for ARM platforms works as it did previously. See their commit for more explanation: * https://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=0327c427d62f671eced067c6d9b69f4e216a8cac --- pkgs/servers/x11/xorg/overrides.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 7e081b664b3..4dc96ddd91b 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -79,6 +79,13 @@ self: super: libX11 = super.libX11.overrideAttrs (attrs: { outputs = [ "out" "dev" "man" ]; + patches = [ + # Fixes an issue that happens when cross-compiling for us. + (fetchpatch { + url = "https://cgit.freedesktop.org/xorg/lib/libX11/patch/?id=0327c427d62f671eced067c6d9b69f4e216a8cac"; + sha256 = "11k2mx56hjgw886zf1cdf2nhv7052d5rggimfshg6lq20i38vpza"; + }) + ]; configureFlags = attrs.configureFlags or [] ++ malloc0ReturnsNullCrossFlag; depsBuildBuild = [ buildPackages.stdenv.cc ]; From c8f2427c4fde8d319be37ddacdaa05c255782729 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Wed, 25 Sep 2019 16:47:17 -0400 Subject: [PATCH 124/129] dbus: set datadir again Fixes #69404 --- pkgs/development/libraries/dbus/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 616ad869d57..804f0e7fc85 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -60,6 +60,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-user-session" "--libexecdir=${placeholder ''out''}/libexec" + "--datadir=/etc" "--localstatedir=/var" "--runstatedir=/run" "--sysconfdir=/etc" From 6f66afe0692e9fecda0abca8e5e44534d46f6b51 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 1 Oct 2019 05:33:06 -0500 Subject: [PATCH 125/129] qtbase: Disable QAppleTestLogger on Darwin --- .../5.12/qtbase.patch.d/0002-qtbase-mac.patch | 76 ++++++++++++++++++- 1 file changed, 73 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch index 80e1d771f2e..301ac67d8d0 100644 --- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0002-qtbase-mac.patch @@ -1,11 +1,16 @@ -From e32f2e184bf2adce216351b2a1e7390e8d9c31b9 Mon Sep 17 00:00:00 2001 +From 203c9338dc92c2c36007cfe6633387348976637e Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 17 Sep 2019 05:37:15 -0500 Subject: [PATCH 02/11] qtbase-mac --- src/corelib/kernel/qcore_mac_p.h | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) + src/testlib/qappletestlogger.cpp | 2 +- + src/testlib/qappletestlogger_p.h | 2 +- + src/testlib/qtestcase.cpp | 2 +- + src/testlib/qtestlog.cpp | 2 +- + src/testlib/qtestlog_p.h | 2 +- + 6 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h index f96e7358..650946b7 100644 @@ -41,6 +46,71 @@ index f96e7358..650946b7 100644 // ------------------------------------------------------------------------- +diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp +index dfeadebd..2a74330c 100644 +--- a/src/testlib/qappletestlogger.cpp ++++ b/src/testlib/qappletestlogger.cpp +@@ -43,7 +43,7 @@ + + QT_BEGIN_NAMESPACE + +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + + using namespace QTestPrivate; + +diff --git a/src/testlib/qappletestlogger_p.h b/src/testlib/qappletestlogger_p.h +index 62c6d95c..f8e0a3b7 100644 +--- a/src/testlib/qappletestlogger_p.h ++++ b/src/testlib/qappletestlogger_p.h +@@ -57,7 +57,7 @@ + + QT_BEGIN_NAMESPACE + +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + class QAppleTestLogger : public QAbstractTestLogger + { + public: +diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp +index 0c935a1f..22f2d75d 100644 +--- a/src/testlib/qtestcase.cpp ++++ b/src/testlib/qtestcase.cpp +@@ -850,7 +850,7 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, char *argv[], bool qml) + + bool addFallbackLogger = !explicitLoggerRequested; + +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + // Any explicitly requested loggers will be added by now, so we can check if they use stdout + const bool safeToAddAppleLogger = !AppleUnifiedLogger::willMirrorToStderr() || !QTestLog::loggerUsingStdout(); + if (safeToAddAppleLogger && QAppleTestLogger::debugLoggingEnabled()) { +diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp +index 57bb7d95..33fb8162 100644 +--- a/src/testlib/qtestlog.cpp ++++ b/src/testlib/qtestlog.cpp +@@ -460,7 +460,7 @@ void QTestLog::addLogger(LogMode mode, const char *filename) + case QTestLog::TAP: + logger = new QTapTestLogger(filename); + break; +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + case QTestLog::Apple: + logger = new QAppleTestLogger; + break; +diff --git a/src/testlib/qtestlog_p.h b/src/testlib/qtestlog_p.h +index e63e89a7..213b6945 100644 +--- a/src/testlib/qtestlog_p.h ++++ b/src/testlib/qtestlog_p.h +@@ -68,7 +68,7 @@ class Q_TESTLIB_EXPORT QTestLog + public: + enum LogMode { + Plain = 0, XML, LightXML, XunitXML, CSV, TeamCity, TAP +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + , Apple + #endif + #if defined(HAVE_XCTEST) -- -2.22.1 +2.23.0 From 0913e30c859f0071d0f0529c309d4256713acc41 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Fri, 31 Mar 2017 13:34:55 +0800 Subject: [PATCH 126/129] systemd: use pure debug shell Instead of referencing the impure /bin/sh, use a proper bash from the store. --- pkgs/os-specific/linux/systemd/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 8c1dd904c3b..e4c05e361b4 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -3,7 +3,7 @@ , glib, kbd, libxslt, coreutils, libgcrypt, libgpgerror, libidn2, libapparmor , audit, lz4, bzip2, libmicrohttpd, pcre2 , linuxHeaders ? stdenv.cc.libc.linuxHeaders -, iptables, gnu-efi +, iptables, gnu-efi, bashInteractive , gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 , ninja, meson, python3Packages, glibcLocales , patchelf @@ -64,6 +64,7 @@ stdenv.mkDerivation { "-Dloadkeys-path=${kbd}/bin/loadkeys" "-Dsetfont-path=${kbd}/bin/setfont" "-Dtty-gid=3" # tty in NixOS has gid 3 + "-Ddebug-shell=${bashInteractive}/bin/bash" # while we do not run tests we should also not build them. Removes about 600 targets "-Dtests=false" "-Dlz4=true" From aa74d076c973edcfeb4e0953894475cc6f164829 Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Mon, 7 Oct 2019 03:29:38 +0200 Subject: [PATCH 127/129] zziplib: apply patches for CVE-2018-16548 --- pkgs/development/libraries/zziplib/default.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/development/libraries/zziplib/default.nix b/pkgs/development/libraries/zziplib/default.nix index 8b199d3e89a..74bfeb09c0d 100644 --- a/pkgs/development/libraries/zziplib/default.nix +++ b/pkgs/development/libraries/zziplib/default.nix @@ -15,6 +15,22 @@ stdenv.mkDerivation rec { url = "https://github.com/gdraheim/zziplib/commit/f609ae8971f3c0ce6.diff"; sha256 = "0jhiz4fgr93wzh6q03avn95b2nsf6402jaki6hxirxyhs5v9ahry"; }) + + (fetchpatch { + name = "CVE-2018-16548-part1.patch"; + url = "https://github.com/gdraheim/zziplib/commit/9411bde3e4a70a81ff3ffd256b71927b2d90dcbb.patch"; + sha256 = "0cy8i182zbvcqzs5z2j13d5sl7hbh59pkgw4xkyg5yz739q4fp9b"; + }) + (fetchpatch { + name = "CVE-2018-16548-part2.patch"; + url = "https://github.com/gdraheim/zziplib/commit/d2e5d5c53212e54a97ad64b793a4389193fec687.patch"; + sha256 = "153wd4vab8xqj9avcpx8g2zw9qsp9nkaqi7yc65pz3r7xfcxwdla"; + }) + (fetchpatch { + name = "CVE-2018-16548-part3.patch"; + url = "https://github.com/gdraheim/zziplib/commit/0e1dadb05c1473b9df2d7b8f298dab801778ef99.patch"; + sha256 = "0fs6dns8l7dz5a900397g8b7x62z72b0pbpdmwk1hnx6vb7z5rz5"; + }) ]; postPatch = '' sed -i -e s,--export-dynamic,, configure From 5e9bf0f042ab72ded9f868847f6809b0fa16d5a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 13 Oct 2019 13:13:20 +0200 Subject: [PATCH 128/129] tracker: fix build by adding dbus dependency I'm not sure why it broke, possibly some propagation from deps? --- pkgs/development/libraries/tracker/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix index 4add8046de1..ad8fc6fc8d4 100644 --- a/pkgs/development/libraries/tracker/default.nix +++ b/pkgs/development/libraries/tracker/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, gettext, meson, ninja, pkgconfig, gobject-introspection, python3 , gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_43, glibcLocales , libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt, libstemmer -, gnome3, icu, libuuid, networkmanager, libsoup, json-glib, systemd +, gnome3, icu, libuuid, networkmanager, libsoup, json-glib, systemd, dbus , substituteAll }: stdenv.mkDerivation rec { @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - glib libxml2 sqlite upower icu networkmanager libsoup libuuid json-glib libstemmer + glib libxml2 sqlite upower icu networkmanager libsoup libuuid json-glib libstemmer dbus ]; mesonFlags = [ From 26ec15c267d8ddc193dbb05aa8f98928518176d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 13 Oct 2019 13:28:45 +0200 Subject: [PATCH 129/129] qt511.qmake: fix after 756b46a4 5.11 was forgotten by accident, apparently. This fixes build of qt511.qtsvg, for example (and many reverse deps). --- pkgs/development/libraries/qt-5/5.11/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.11/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix index a2effccd77c..e22dc4dbae3 100644 --- a/pkgs/development/libraries/qt-5/5.11/default.nix +++ b/pkgs/development/libraries/qt-5/5.11/default.nix @@ -159,9 +159,7 @@ let qmake = makeSetupHook { deps = [ self.qtbase.dev ]; substitutions = { - inherit (stdenv) isDarwin; - qtbase_dev = self.qtbase.dev; - fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; + fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; }; } ../hooks/qmake-hook.sh;