From 8f45108517ca8f41dbec5c0b47bde8796b949aa3 Mon Sep 17 00:00:00 2001 From: xrelkd <46590321+xrelkd@users.noreply.github.com> Date: Sun, 16 Jun 2019 22:35:40 +0800 Subject: [PATCH 01/60] librime: 1.5.0 -> 1.5.3 --- pkgs/development/libraries/librime/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/librime/default.nix b/pkgs/development/libraries/librime/default.nix index 71362fd7ef7b..e1d0a51a6685 100644 --- a/pkgs/development/libraries/librime/default.nix +++ b/pkgs/development/libraries/librime/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "librime"; - version = "1.5.0"; + version = "1.5.3"; src = fetchFromGitHub { owner = "rime"; repo = "librime"; rev = "${version}"; - sha256 = "10wvh1l4317yzcys4rzlkw42i6cj5p8g62r1xzyjw32ky2d0ndxl"; + sha256 = "0xskhdhk7dgpc71r39pfzxi5vrlzy90aqj1gzv8nnapq91p2awhv"; }; nativeBuildInputs = [ cmake ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - homepage = https://rime.im/; + homepage = "https://rime.im/"; description = "Rime Input Method Engine, the core library"; license = licenses.bsd3; maintainers = with maintainers; [ sifmelcara ]; From f496357585d6110d97cb55ad699a09ca003ed82b Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Fri, 28 Jun 2019 16:25:57 -0400 Subject: [PATCH 02/60] cc-wrapper: use -iframework instead of -F This avoids dumping -Wall warnings when they appear in framework headers. As a result, we are closer to how regular headers are included (via -isystem). Also remove ccIncludeFlag lookup, this was unused & not very useful. --- pkgs/build-support/cc-wrapper/setup-hook.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh index 28060de74118..211b50632914 100644 --- a/pkgs/build-support/cc-wrapper/setup-hook.sh +++ b/pkgs/build-support/cc-wrapper/setup-hook.sh @@ -70,12 +70,12 @@ ccWrapper_addCVars () { local role_post role_pre getHostRoleEnvHook - if [[ -d "$1/include" ]]; then - export NIX_${role_pre}CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include" + if [ -d "$1/include" ]; then + export NIX_${role_pre}CFLAGS_COMPILE+=" -isystem $1/include" fi - if [[ -d "$1/Library/Frameworks" ]]; then - export NIX_${role_pre}CFLAGS_COMPILE+=" -F$1/Library/Frameworks" + if [ -d "$1/Library/Frameworks" ]; then + export NIX_${role_pre}CFLAGS_COMPILE+=" -iframework $1/Library/Frameworks" fi } From 63fcc2a0a928a54a0068e9564bf3fe36005269f8 Mon Sep 17 00:00:00 2001 From: Ding Xiang Fei Date: Sat, 29 Jun 2019 19:17:21 +0800 Subject: [PATCH 03/60] apparmor: make apparmor cross-compile --- pkgs/os-specific/linux/apparmor/cross.patch | 19 +++++++++++++++++++ pkgs/os-specific/linux/apparmor/default.nix | 6 ++++-- 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 pkgs/os-specific/linux/apparmor/cross.patch diff --git a/pkgs/os-specific/linux/apparmor/cross.patch b/pkgs/os-specific/linux/apparmor/cross.patch new file mode 100644 index 000000000000..f7e95ecfb404 --- /dev/null +++ b/pkgs/os-specific/linux/apparmor/cross.patch @@ -0,0 +1,19 @@ +--- a/parser/libapparmor_re/Makefile 2018-10-14 07:38:06.000000000 +0800 ++++ b/parser/libapparmor_re/Makefile 2019-06-28 16:16:33.741916660 +0800 +@@ -10,6 +10,7 @@ + + TARGET=libapparmor_re.a + ++AR ?= ar + CFLAGS ?= -g -Wall -O2 ${EXTRA_CFLAGS} -std=gnu++0x + CXXFLAGS := ${CFLAGS} ${INCLUDE_APPARMOR} + +@@ -22,7 +23,7 @@ + UNITTESTS = tst_parse + + libapparmor_re.a: parse.o expr-tree.o hfa.o chfa.o aare_rules.o +- ar ${ARFLAGS} $@ $^ ++ ${AR} ${ARFLAGS} $@ $^ + + expr-tree.o: expr-tree.cc expr-tree.h + diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index ccad9795301d..06c37d00d5e7 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -49,7 +49,9 @@ let sha256 = "1m4dx901biqgnr4w4wz8a2z9r9dxyw7wv6m6mqglqwf2lxinqmp4"; }) # (alpine patches {1,4,5,6,8} are needed for apparmor 2.11, but not 2.12) - ]; + ] ++ [ + ./cross.patch + ]; # Set to `true` after the next FIXME gets fixed or this gets some # common derivation infra. Too much copy-paste to fix one by one. @@ -185,7 +187,7 @@ let ''; inherit patches; postPatch = "cd ./parser"; - makeFlags = ''LANGS= USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include''; + makeFlags = ''LANGS= USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include AR=${stdenv.cc.bintools.targetPrefix}ar''; installFlags = ''DESTDIR=$(out) DISTRO=unknown''; inherit doCheck; From b9ea613f436588eae942b2986381e9766e682958 Mon Sep 17 00:00:00 2001 From: leo60228 Date: Thu, 10 Jan 2019 14:08:01 -0500 Subject: [PATCH 04/60] pytest: disable tests on pypy Bug in tests. See https://github.com/pytest-dev/pytest/issues/3460 --- pkgs/development/python-modules/pytest/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index c74d59fd9925..96001a2d952e 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -1,6 +1,6 @@ { stdenv, buildPythonPackage, pythonOlder, fetchPypi, attrs, hypothesis, py , setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k, more-itertools -, atomicwrites, mock, writeText, pathlib2, wcwidth, packaging +, atomicwrites, mock, writeText, pathlib2, wcwidth, packaging, isPyPy }: buildPythonPackage rec { version = "4.6.3"; @@ -22,6 +22,7 @@ buildPythonPackage rec { ++ stdenv.lib.optionals (!isPy3k) [ funcsigs ] ++ stdenv.lib.optionals (pythonOlder "3.6") [ pathlib2 ]; + doCheck = !isPyPy; # https://github.com/pytest-dev/pytest/issues/3460 checkPhase = '' runHook preCheck $out/bin/py.test -x testing/ -k "not test_collect_pyargs_with_testpaths" From f38fbf853f7043ba9cb7b25785f3bf3c221be019 Mon Sep 17 00:00:00 2001 From: leo60228 Date: Thu, 10 Jan 2019 14:09:27 -0500 Subject: [PATCH 05/60] numpy: enable on pypy (without tests) Some tests fail according to PyPy docs: http://doc.pypy.org/en/latest/faq.html#should-i-install-numpy-or-numpypy --- pkgs/development/python-modules/numpy/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix index d82adaeea289..a02e7ee4c5f5 100644 --- a/pkgs/development/python-modules/numpy/default.nix +++ b/pkgs/development/python-modules/numpy/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchPypi, python, buildPythonPackage, gfortran, pytest, blas, writeTextFile }: +{ lib, fetchPypi, python, buildPythonPackage, gfortran, pytest, blas, writeTextFile, isPyPy }: let blasImplementation = lib.nameFromURL blas.name "-"; @@ -45,6 +45,8 @@ in buildPythonPackage rec { enableParallelBuilding = true; + doCheck = !isPyPy; # numpy 1.16+ hits a bug in pypy's ctypes, using either numpy or pypy HEAD fixes this (https://github.com/numpy/numpy/issues/13807) + checkPhase = '' runHook preCheck pushd dist From c2b76fa13cf7cacc16f1040f43d379402b518149 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Mon, 17 Jun 2019 23:12:07 +0200 Subject: [PATCH 06/60] darwin-frameworks: remove CF CoreFoundation is included by the stdenv, moving the decision of what version should be used there makes it possible to override it entirely rather then prepending flags like cf-private does which can be unreliable. --- pkgs/os-specific/darwin/apple-sdk/default.nix | 4 +- .../darwin/apple-sdk/frameworks.nix | 76 +++++++++---------- pkgs/top-level/darwin-packages.nix | 4 + 3 files changed, 44 insertions(+), 40 deletions(-) diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 2e3ae22e0b23..908116e0c623 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -156,7 +156,7 @@ in rec { __propagatedImpureHostDeps = [ "/usr/lib/libXplugin.1.dylib" ]; propagatedBuildInputs = with frameworks; [ - OpenGL ApplicationServices Carbon IOKit pkgs.darwin.CF CoreGraphics CoreServices CoreText + OpenGL ApplicationServices Carbon IOKit CoreGraphics CoreServices CoreText ]; installPhase = '' @@ -222,7 +222,7 @@ in rec { bareFrameworks = stdenv.lib.mapAttrs framework (import ./frameworks.nix { inherit frameworks libs; - inherit (pkgs.darwin) CF cf-private libobjc; + inherit (pkgs.darwin) cf-private libobjc; }); frameworks = bareFrameworks // overrides bareFrameworks; diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix index 03c800b8dae5..4ed85f903d6c 100644 --- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix +++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix @@ -2,81 +2,81 @@ # Epic weird knot-tying happening here. # TODO: clean up the process for generating this and include it -{ frameworks, libs, CF, libobjc, cf-private }: +{ frameworks, libs, libobjc, cf-private }: with frameworks; with libs; { AGL = [ Carbon OpenGL ]; AVFoundation = [ ApplicationServices CoreGraphics ]; AVKit = []; Accounts = []; - AddressBook = [ Carbon CF ]; + AddressBook = [ Carbon ]; AppKit = [ AudioToolbox AudioUnit Foundation QuartzCore ]; AppKitScripting = []; AppleScriptKit = []; AppleScriptObjC = []; - AudioToolbox = [ CoreAudio CF CoreMIDI ]; - AudioUnit = [ AudioToolbox Carbon CoreAudio CF ]; + AudioToolbox = [ CoreAudio CoreMIDI ]; + AudioUnit = [ AudioToolbox Carbon CoreAudio ]; AudioVideoBridging = [ Foundation ]; Automator = []; - CFNetwork = [ CF ]; + CFNetwork = []; CalendarStore = []; Cocoa = [ AppKit ]; Collaboration = []; # Impure version of CoreFoundation, this should not be used unless another # framework includes headers that are not available in the pure version. CoreFoundation = []; - CoreAudio = [ CF IOKit ]; + CoreAudio = [ IOKit ]; CoreAudioKit = [ AudioUnit ]; CoreData = []; - CoreGraphics = [ Accelerate CF IOKit IOSurface SystemConfiguration ]; - CoreImage = [ ]; + CoreGraphics = [ Accelerate IOKit IOSurface SystemConfiguration ]; + CoreImage = []; CoreLocation = []; - CoreMIDI = [ CF ]; + CoreMIDI = []; CoreMIDIServer = []; - CoreMedia = [ ApplicationServices AudioToolbox AudioUnit CoreAudio CF CoreGraphics CoreVideo ]; - CoreMediaIO = [ CF CoreMedia ]; - CoreText = [ CF CoreGraphics ]; - CoreVideo = [ ApplicationServices CF CoreGraphics IOSurface OpenGL ]; + CoreMedia = [ ApplicationServices AudioToolbox AudioUnit CoreAudio CoreGraphics CoreVideo ]; + CoreMediaIO = [ CoreMedia ]; + CoreText = [ CoreGraphics ]; + CoreVideo = [ ApplicationServices CoreGraphics IOSurface OpenGL ]; CoreWLAN = [ SecurityFoundation ]; DVDPlayback = []; - DirectoryService = [ CF ]; - DiscRecording = [ CF CoreServices IOKit ]; + DirectoryService = []; + DiscRecording = [ CoreServices IOKit ]; DiscRecordingUI = []; - DiskArbitration = [ CF IOKit ]; + DiskArbitration = [ IOKit ]; EventKit = []; ExceptionHandling = []; FWAUserLib = []; - ForceFeedback = [ CF IOKit ]; + ForceFeedback = [ IOKit ]; Foundation = [ cf-private libobjc Security ApplicationServices SystemConfiguration ]; - GLKit = [ CF ]; + GLKit = [ ]; GLUT = [ OpenGL ]; GSS = []; GameController = []; GameKit = [ Foundation ]; Hypervisor = []; - ICADevices = [ Carbon CF IOBluetooth ]; + ICADevices = [ Carbon IOBluetooth ]; IMServicePlugIn = []; IOBluetoothUI = [ IOBluetooth ]; - IOKit = [ CF ]; - IOSurface = [ CF IOKit xpc ]; + IOKit = []; + IOSurface = [ IOKit xpc ]; ImageCaptureCore = []; - ImageIO = [ CF CoreGraphics ]; + ImageIO = [ CoreGraphics ]; InputMethodKit = [ Carbon ]; InstallerPlugins = []; InstantMessage = []; JavaFrameEmbedding = []; - JavaScriptCore = [ CF ]; + JavaScriptCore = []; Kerberos = []; - Kernel = [ CF IOKit ]; + Kernel = [ IOKit ]; LDAP = []; - LatentSemanticMapping = [ Carbon CF ]; + LatentSemanticMapping = [ Carbon ]; MapKit = []; - MediaAccessibility = [ CF CoreGraphics CoreText QuartzCore ]; - MediaToolbox = [ AudioToolbox AudioUnit CF CoreMedia ]; + MediaAccessibility = [ CoreGraphics CoreText QuartzCore ]; + MediaToolbox = [ AudioToolbox AudioUnit CoreMedia ]; Metal = []; MetalKit = [ ModelIO Metal ]; ModelIO = [ ]; - NetFS = [ CF ]; + NetFS = []; OSAKit = [ Carbon ]; OpenAL = []; OpenCL = [ IOSurface OpenGL ]; @@ -85,37 +85,37 @@ with frameworks; with libs; { PreferencePanes = []; PubSub = []; QTKit = [ CoreMediaIO CoreMedia MediaToolbox QuickTime VideoToolbox ]; - QuickLook = [ ApplicationServices CF ]; + QuickLook = [ ApplicationServices ]; SceneKit = []; ScreenSaver = []; Scripting = []; ScriptingBridge = []; - Security = [ CF IOKit ]; + Security = [ IOKit ]; SecurityFoundation = []; SecurityInterface = [ Security ]; - ServiceManagement = [ CF Security ]; + ServiceManagement = [ Security ]; Social = []; SpriteKit = []; StoreKit = []; SyncServices = []; - SystemConfiguration = [ CF Security ]; + SystemConfiguration = [ Security ]; TWAIN = [ Carbon ]; Tcl = []; - VideoDecodeAcceleration = [ CF CoreVideo ]; - VideoToolbox = [ CF CoreMedia CoreVideo ]; + VideoDecodeAcceleration = [ CoreVideo ]; + VideoToolbox = [ CoreMedia CoreVideo ]; WebKit = [ ApplicationServices Carbon JavaScriptCore OpenGL ]; # Umbrellas Accelerate = [ CoreWLAN IOBluetooth ]; - ApplicationServices = [ CF CoreServices CoreText ImageIO ]; - Carbon = [ ApplicationServices CF CoreServices Foundation IOKit Security QuartzCore ]; + ApplicationServices = [ CoreServices CoreText ImageIO ]; + Carbon = [ ApplicationServices CoreServices Foundation IOKit Security QuartzCore ]; CoreBluetooth = []; - CoreServices = [ CFNetwork CoreAudio CoreData CF DiskArbitration Security NetFS OpenDirectory ServiceManagement ]; + CoreServices = [ CFNetwork CoreAudio CoreData DiskArbitration Security NetFS OpenDirectory ServiceManagement ]; IOBluetooth = [ IOKit ]; JavaVM = []; OpenDirectory = []; Quartz = [ QuickLook QTKit ]; - QuartzCore = [ ApplicationServices CF CoreVideo OpenCL CoreImage Metal ]; + QuartzCore = [ ApplicationServices CoreVideo OpenCL CoreImage Metal ]; QuickTime = [ ApplicationServices AudioUnit Carbon CoreAudio CoreServices OpenGL QuartzCore ]; vmnet = []; diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index 1753ac9dc7a6..cde234370117 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -10,6 +10,10 @@ in callPackage = newScope (darwin.apple_sdk.frameworks // darwin); + stdenvNoCF = stdenv.override { + extraBuildInputs = []; + }; + apple_sdk = callPackage ../os-specific/darwin/apple-sdk { }; binutils-unwrapped = callPackage ../os-specific/darwin/binutils { From 73d9cac3776b705c8d265b0c9c2ddaf18bc48b46 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Mon, 17 Jun 2019 23:09:06 +0200 Subject: [PATCH 07/60] darwin-frameworks: replace cf-private and move it's setup-hook The only remaining use-case for cf-private are symbols that are not available in the opensource build. This generally solved the problem because of it's setup-hook. --- .../cf-setup-hook.sh} | 9 +-- pkgs/os-specific/darwin/apple-sdk/default.nix | 6 +- .../darwin/apple-sdk/frameworks.nix | 6 +- .../os-specific/darwin/cf-private/default.nix | 58 ------------------- pkgs/top-level/darwin-packages.nix | 5 +- 5 files changed, 13 insertions(+), 71 deletions(-) rename pkgs/os-specific/darwin/{cf-private/setup-hook.sh => apple-sdk/cf-setup-hook.sh} (64%) delete mode 100644 pkgs/os-specific/darwin/cf-private/default.nix diff --git a/pkgs/os-specific/darwin/cf-private/setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh similarity index 64% rename from pkgs/os-specific/darwin/cf-private/setup-hook.sh rename to pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh index ae9ed5d15845..66e24fe58770 100644 --- a/pkgs/os-specific/darwin/cf-private/setup-hook.sh +++ b/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh @@ -1,12 +1,9 @@ -prependSearchPath() { - NIX_CFLAGS_COMPILE="-F@out@/Library/Frameworks ${NIX_CFLAGS_COMPILE}" -} - -linkWithRealCF() { +linkSystemCoreFoundationFramework() { + NIX_CFLAGS_COMPILE="-F@out@/Library/Frameworks $NIX_CFLAGS_COMPILE" # gross! many symbols (such as _OBJC_CLASS_$_NSArray) are defined in system CF, but not # in the opensource release # if the package needs private headers, we assume they also want to link with system CF NIX_LDFLAGS+=" /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation" } -preConfigureHooks+=(prependSearchPath linkWithRealCF) +preConfigureHooks+=(linkSystemCoreFoundationFramework) diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 908116e0c623..4d33fc0f3f88 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -187,6 +187,10 @@ in rec { ]; }); + CoreFoundation = stdenv.lib.overrideDerivation super.CoreFoundation (drv: { + setupHook = ./cf-setup-hook.sh; + }); + CoreMedia = stdenv.lib.overrideDerivation super.CoreMedia (drv: { __propagatedImpureHostDeps = drv.__propagatedImpureHostDeps ++ [ "/System/Library/Frameworks/CoreImage.framework" @@ -222,7 +226,7 @@ in rec { bareFrameworks = stdenv.lib.mapAttrs framework (import ./frameworks.nix { inherit frameworks libs; - inherit (pkgs.darwin) cf-private libobjc; + inherit (pkgs.darwin) libobjc; }); frameworks = bareFrameworks // overrides bareFrameworks; diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix index 4ed85f903d6c..28570714b60a 100644 --- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix +++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix @@ -2,7 +2,7 @@ # Epic weird knot-tying happening here. # TODO: clean up the process for generating this and include it -{ frameworks, libs, libobjc, cf-private }: +{ frameworks, libs, libobjc, }: with frameworks; with libs; { AGL = [ Carbon OpenGL ]; @@ -47,8 +47,8 @@ with frameworks; with libs; { ExceptionHandling = []; FWAUserLib = []; ForceFeedback = [ IOKit ]; - Foundation = [ cf-private libobjc Security ApplicationServices SystemConfiguration ]; - GLKit = [ ]; + Foundation = [ libobjc CoreFoundation Security ApplicationServices SystemConfiguration ]; + GLKit = []; GLUT = [ OpenGL ]; GSS = []; GameController = []; diff --git a/pkgs/os-specific/darwin/cf-private/default.nix b/pkgs/os-specific/darwin/cf-private/default.nix deleted file mode 100644 index eb5f651a1a08..000000000000 --- a/pkgs/os-specific/darwin/cf-private/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ CF, apple_sdk }: - -# cf-private is a bit weird, but boils down to CF with a weird setup-hook that -# makes a build link against the system CoreFoundation rather than our pure one. -# The reason it exists is that although our CF headers and build are pretty legit -# now, the underlying runtime is quite different. Apple's in a bit of flux around CF -# right now, and support three different backends for it: swift, "C", and an ObjC -# one. The former two can be built from public sources, but the ObjC one isn't really -# public. Unfortunately, it's also one of the core underpinnings of a lot of Mac- -# specific behavior, and defines a lot of symbols that some Objective C apps depend -# on, even though one might expect those symbols to derive from Foundation. So if -# your app relies on NSArray and several other basic ObjC types, it turns out that -# because of their magic "toll-free bridging" support, the symbols for those types -# live in CoreFoundation with an ObjC runtime. And because that isn't public, we have -# this hack in place to let people link properly anyway. Phew! -# -# This can be revisited if Apple ever decide to release the ObjC backend in a publicly -# buildable form. -# -# This doesn't really need to rebuild CF, but it's cheap, and adding a setup hook to -# an existing package was annoying. We need a buildEnv that knows how to add those -CF.overrideAttrs (orig: { - # PLEASE if you add things to this derivation, explain in reasonable detail why - # you're adding them and when the workaround can go away. This whole derivation is - # a workaround and if you don't explain what you're working around, it makes it - # very hard for people to clean it up later. - - name = "${orig.name}-private"; - setupHook = ./setup-hook.sh; - - # TODO: consider re-adding https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch - # once the missing headers are in and see if that fixes all need for this. - - # This can go away once https://bugs.swift.org/browse/SR-8741 happens, which is - # looking more likely these days with the friendly people at Apple! We only need - # the header because the setup hook takes care of linking us against a version - # of the framework with the functionality built into it. The main user I know of - # this is watchman, who can almost certainly switch to the pure CF once the header - # and functionality is merged in. - installPhase = orig.installPhase + '' - basepath="Library/Frameworks/CoreFoundation.framework/Headers" - - # Append the include at top level or nobody will notice the header we're about to add - sed -i '/CFNotificationCenter.h/a #include ' \ - "$out/$basepath/CoreFoundation.h" - - cp ${apple_sdk.frameworks.CoreFoundation}/$basepath/CFFileDescriptor.h $out/$basepath/CFFileDescriptor.h - '' + - # This one is less likely to go away, but I'll mention it anyway. The issue is at - # https://bugs.swift.org/browse/SR-8744, and the main user I know of is qtbase - '' - path="$basepath/CFURLEnumerator.h" - sed -i '/CFNotificationCenter.h/a #include ' \ - "$out/$basepath/CoreFoundation.h" - - cp ${apple_sdk.frameworks.CoreFoundation}/$path $out/$path - ''; -}) diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index cde234370117..5ef05061e8d5 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -36,9 +36,8 @@ in libcxxabi = pkgs.libcxxabi; }; - cf-private = callPackage ../os-specific/darwin/cf-private { - inherit (darwin) CF apple_sdk; - }; + # TODO: remove alias. + cf-private = darwin.apple_sdk.frameworks.CoreFoundation; DarwinTools = callPackage ../os-specific/darwin/DarwinTools { }; From 8ea702a484b85dcb7bbf20e4d63ff102e55c74c4 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:11:03 +0200 Subject: [PATCH 08/60] darwin-frameworks: add import CoreFoundation to CoreServices --- pkgs/os-specific/darwin/apple-sdk/frameworks.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix index 28570714b60a..c803bf421871 100644 --- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix +++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix @@ -110,7 +110,8 @@ with frameworks; with libs; { ApplicationServices = [ CoreServices CoreText ImageIO ]; Carbon = [ ApplicationServices CoreServices Foundation IOKit Security QuartzCore ]; CoreBluetooth = []; - CoreServices = [ CFNetwork CoreAudio CoreData DiskArbitration Security NetFS OpenDirectory ServiceManagement ]; + # TODO: figure out which part of the umbrella depends on CoreFoundation and move it there. + CoreServices = [ CFNetwork CoreFoundation CoreAudio CoreData DiskArbitration Security NetFS OpenDirectory ServiceManagement ]; IOBluetooth = [ IOKit ]; JavaVM = []; OpenDirectory = []; From 8c6eef6328cc74c00d555c7e7b1ecf64feafd0c2 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:27:41 +0200 Subject: [PATCH 09/60] alacritty: remove cf-private --- pkgs/applications/misc/alacritty/default.nix | 8 +------- pkgs/top-level/all-packages.nix | 3 +-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index 490c83bed078..dddf8d93412d 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -24,9 +24,7 @@ wayland, # Darwin Frameworks - cf-private, AppKit, - CoreFoundation, CoreGraphics, CoreServices, CoreText, @@ -74,11 +72,7 @@ in buildRustPackage rec { ]; buildInputs = rpathLibs - ++ lib.optionals stdenv.isDarwin [ - AppKit CoreFoundation CoreGraphics CoreServices CoreText Foundation OpenGL - # Needed for CFURLResourceIsReachable symbols. - cf-private - ]; + ++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ]; outputs = [ "out" "terminfo" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 09ded301f917..256e33e676cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -522,8 +522,7 @@ in alacritty = callPackage ../applications/misc/alacritty { inherit (xorg) libXcursor libXxf86vm libXi; - inherit (darwin) cf-private; - inherit (darwin.apple_sdk.frameworks) AppKit CoreFoundation CoreGraphics CoreServices CoreText Foundation OpenGL; + inherit (darwin.apple_sdk.frameworks) AppKit CoreGraphics CoreServices CoreText Foundation OpenGL; }; aldo = callPackage ../applications/radio/aldo { }; From f401da6af8e8896e685c62e57932cf807a123e72 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:30:07 +0200 Subject: [PATCH 10/60] atomicparsley: remove cf-private --- pkgs/tools/video/atomicparsley/default.nix | 8 ++------ pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/video/atomicparsley/default.nix b/pkgs/tools/video/atomicparsley/default.nix index f0ad4297c003..711a3c00a122 100644 --- a/pkgs/tools/video/atomicparsley/default.nix +++ b/pkgs/tools/video/atomicparsley/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchhg, autoreconfHook, zlib, cf-private, Cocoa }: +{ stdenv, fetchhg, autoreconfHook, zlib, Cocoa }: stdenv.mkDerivation rec { name = "atomicparsley-${version}"; @@ -12,11 +12,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ zlib ] - ++ stdenv.lib.optionals stdenv.isDarwin [ - Cocoa - # Needed for OBJC_CLASS_$_NSDictionary symbols. - cf-private - ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ]; configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ # AC_FUNC_MALLOC is broken on cross builds. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 256e33e676cc..c992f13a4b33 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -610,7 +610,6 @@ in }; atomicparsley = callPackage ../tools/video/atomicparsley { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa; }; From 6172dd89c86535a713829b73ae5b98fbf6d41d96 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:41:13 +0200 Subject: [PATCH 11/60] contacts: remove cf-private --- pkgs/tools/misc/contacts/default.nix | 9 ++------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/misc/contacts/default.nix b/pkgs/tools/misc/contacts/default.nix index b262626b1363..a7d230d8e898 100644 --- a/pkgs/tools/misc/contacts/default.nix +++ b/pkgs/tools/misc/contacts/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xcbuildHook, cf-private, Foundation, AddressBook }: +{ stdenv, fetchurl, xcbuildHook, Foundation, AddressBook }: stdenv.mkDerivation rec { version = "1.1a-3"; @@ -10,12 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ xcbuildHook ]; - - buildInputs = [ - Foundation AddressBook - # Needed for OBJC_CLASS_$_NSArray symbols. - cf-private - ]; + buildInputs = [ Foundation AddressBook ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c992f13a4b33..bcd1fc0a6b6d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1329,7 +1329,6 @@ in codec2 = callPackage ../development/libraries/codec2 { }; contacts = callPackage ../tools/misc/contacts { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Foundation AddressBook; xcbuildHook = xcbuild6Hook; }; From 11bd54cda3258771f02f8c4263cc47d79b47f1f5 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:49:59 +0200 Subject: [PATCH 12/60] noti: remove cf-private --- pkgs/tools/misc/noti/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/noti/default.nix b/pkgs/tools/misc/noti/default.nix index 43165b4f54bb..23646abe7875 100644 --- a/pkgs/tools/misc/noti/default.nix +++ b/pkgs/tools/misc/noti/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, cf-private, Cocoa }: +{ stdenv, buildGoPackage, fetchFromGitHub, Cocoa }: buildGoPackage rec { name = "noti-${version}"; @@ -11,7 +11,7 @@ buildGoPackage rec { sha256 = "1chsqfqk0pnhx5k2nr4c16cpb8m6zv69l1jvv4v4903zgfzcm823"; }; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Cocoa cf-private /* For OBJC_CLASS_$_NSDate */ ]; + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Cocoa ]; # TODO: Remove this when we update apple_sdk NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.isDarwin [ "-fno-objc-arc" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bcd1fc0a6b6d..af4df503d7ea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1739,7 +1739,6 @@ in noteshrink = callPackage ../tools/misc/noteshrink { }; noti = callPackage ../tools/misc/noti { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa; }; From 956c197ee613d0f6b4bff68d3e45765b5f0f01e1 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:50:52 +0200 Subject: [PATCH 13/60] dolphin-emu: remove cf-private --- pkgs/misc/emulators/dolphin-emu/master.nix | 4 ++-- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix index d44560b4ddf4..6f32e91044c7 100644 --- a/pkgs/misc/emulators/dolphin-emu/master.nix +++ b/pkgs/misc/emulators/dolphin-emu/master.nix @@ -5,7 +5,7 @@ , soundtouch, sfml, vulkan-loader ? null, libpulseaudio ? null # - Inputs used for Darwin -, CoreBluetooth, cf-private, ForceFeedback, IOKit, OpenGL, libpng, hidapi }: +, CoreBluetooth, ForceFeedback, IOKit, OpenGL, libpng, hidapi }: let desktopItem = makeDesktopItem { @@ -41,7 +41,7 @@ in stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals stdenv.isLinux [ bluez udev libevdev alsaLib vulkan-loader ] ++ stdenv.lib.optionals stdenv.isDarwin [ - CoreBluetooth cf-private OpenGL ForceFeedback IOKit + CoreBluetooth OpenGL ForceFeedback IOKit ]; cmakeFlags = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index af4df503d7ea..c5eb41b6a05a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2552,7 +2552,6 @@ in dolphinEmu = callPackage ../misc/emulators/dolphin-emu { }; dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL; - inherit (darwin) cf-private; }; doomseeker = qt5.callPackage ../applications/misc/doomseeker { }; From 41d1294eab95d5e0406ea6bfd9c033b8d564de8c Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:52:00 +0200 Subject: [PATCH 14/60] keybase: remove cf-private --- pkgs/tools/security/keybase/default.nix | 8 ++------ pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix index 02a322a18021..dc95ae706b2a 100644 --- a/pkgs/tools/security/keybase/default.nix +++ b/pkgs/tools/security/keybase/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildGoPackage, fetchurl, cf-private +{ stdenv, lib, buildGoPackage, fetchurl , AVFoundation, AudioToolbox, ImageIO, CoreMedia , Foundation, CoreGraphics, MediaToolbox }: @@ -17,11 +17,7 @@ buildGoPackage rec { sha256 = "14c0876mxz3xa2k4d665kf8j6k3hc6qybkj0gr4pr9c9gs70cgjh"; }; - buildInputs = lib.optionals stdenv.isDarwin [ - AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox - # Needed for OBJC_CLASS_$_NSData symbols. - cf-private - ]; + buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ]; buildFlags = [ "-tags production" ]; meta = with stdenv.lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c5eb41b6a05a..d2aaf869efee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3970,7 +3970,6 @@ in kexpand = callPackage ../development/tools/kexpand { }; keybase = callPackage ../tools/security/keybase { - inherit (darwin) cf-private; # Reasoning for the inherited apple_sdk.frameworks: # 1. specific compiler errors about: AVFoundation, AudioToolbox, MediaToolbox # 2. the rest are added from here: https://github.com/keybase/client/blob/68bb8c893c5214040d86ea36f2f86fbb7fac8d39/go/chat/attachments/preview_darwin.go#L7 From e7765ba8e5ca5731ea8c5d6bb44b5d7d0214f7f1 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:53:18 +0200 Subject: [PATCH 15/60] pinentry-mac: remove cf-private --- pkgs/tools/security/pinentry/mac.nix | 9 ++------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/security/pinentry/mac.nix b/pkgs/tools/security/pinentry/mac.nix index 8168aa94b3d2..1fbb52985fb1 100644 --- a/pkgs/tools/security/pinentry/mac.nix +++ b/pkgs/tools/security/pinentry/mac.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, xcbuildHook, libiconv, Cocoa, ncurses, cf-private }: +{ stdenv, fetchFromGitHub, xcbuildHook, libiconv, ncurses, Cocoa }: stdenv.mkDerivation rec { name = "pinentry-mac-0.9.4"; @@ -11,12 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ xcbuildHook ]; - - buildInputs = [ - libiconv Cocoa ncurses - # Needed for OBJC_CLASS_$_NSArray symbols. - cf-private - ]; + buildInputs = [ libiconv ncurses Cocoa ]; installPhase = '' mkdir -p $out/Applications diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d2aaf869efee..431a0bebf53c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5283,7 +5283,6 @@ in }; pinentry_mac = callPackage ../tools/security/pinentry/mac.nix { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa; xcbuildHook = xcbuild6Hook; }; From c2205238abde57996e4aba1085c4e76bbeb529c3 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:55:22 +0200 Subject: [PATCH 16/60] watchman: remove cf-private --- pkgs/development/tools/watchman/default.nix | 25 ++++++++++----------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix index b349ecf61e13..4a056db6c0c2 100644 --- a/pkgs/development/tools/watchman/default.nix +++ b/pkgs/development/tools/watchman/default.nix @@ -1,12 +1,11 @@ -{ stdenv, lib, config, fetchFromGitHub, autoconf, automake, pcre, - libtool, pkgconfig, openssl, - confFile ? config.watchman.confFile or null, - withApple ? stdenv.isDarwin, CoreServices, CoreFoundation +{ stdenv, lib, config, fetchFromGitHub, autoconf, automake, pcre +, libtool, pkgconfig, openssl +, confFile ? config.watchman.confFile or null +, withApple ? stdenv.isDarwin, CoreServices }: stdenv.mkDerivation rec { name = "watchman-${version}"; - version = "4.9.0"; src = fetchFromGitHub { @@ -16,18 +15,18 @@ stdenv.mkDerivation rec { sha256 = "0fdaj5pmicm6j17d5q7px800m5rmam1a400x3hv1iiifnmhgnkal"; }; - buildInputs = [ pcre openssl ] - ++ lib.optionals withApple [ CoreFoundation CoreServices ]; nativeBuildInputs = [ autoconf automake pkgconfig libtool ]; + buildInputs = [ pcre openssl ] + ++ lib.optionals withApple [ CoreServices ]; configureFlags = [ - "--enable-lenient" - "--enable-conffile=${if confFile == null then "no" else confFile}" - "--with-pcre=yes" + "--enable-lenient" + "--enable-conffile=${if confFile == null then "no" else confFile}" + "--with-pcre=yes" - # For security considerations re: --disable-statedir, see: - # https://github.com/facebook/watchman/issues/178 - "--disable-statedir" + # For security considerations re: --disable-statedir, see: + # https://github.com/facebook/watchman/issues/178 + "--disable-statedir" ]; prePatch = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 431a0bebf53c..0d1eaff6488b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6558,7 +6558,6 @@ in watchman = callPackage ../development/tools/watchman { inherit (darwin.apple_sdk.frameworks) CoreServices; - CoreFoundation = darwin.cf-private; }; wavefunctioncollapse = callPackage ../tools/graphics/wavefunctioncollapse {}; From 4b64dfaee99e042919c2a56892bb76585e799aff Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:56:22 +0200 Subject: [PATCH 17/60] cargo-web: remove cf-private --- pkgs/development/tools/cargo-web/default.nix | 8 ++------ pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/development/tools/cargo-web/default.nix b/pkgs/development/tools/cargo-web/default.nix index 262a3d31742a..fa45ba689dfe 100644 --- a/pkgs/development/tools/cargo-web/default.nix +++ b/pkgs/development/tools/cargo-web/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, openssl, perl, pkgconfig, rustPlatform -, CoreServices, Security, cf-private +, CoreServices, Security }: rustPlatform.buildRustPackage rec { @@ -16,11 +16,7 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "1f4sj260q4rlzbajwimya1yhh90hmmbhr47yfg9i8xcv5cg0cqjn"; nativeBuildInputs = [ openssl perl pkgconfig ]; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ - CoreServices Security - # Needed for CFURLResourceIsReachable symbols. - cf-private - ]; + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ]; meta = with stdenv.lib; { description = "A Cargo subcommand for the client-side Web"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0d1eaff6488b..b9697376d746 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8032,7 +8032,6 @@ in cargo-web = callPackage ../development/tools/cargo-web { inherit (darwin.apple_sdk.frameworks) CoreServices Security; - inherit (darwin) cf-private; }; carnix = (callPackage ../build-support/rust/carnix.nix { }).carnix { }; From 7fffb620ace134e3e56a1b3cea0acadf9eebed85 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 19:56:59 +0200 Subject: [PATCH 18/60] flow: remove cf-private --- pkgs/development/tools/analysis/flow/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix index 62c781e1c9df..80cfd6231bf8 100644 --- a/pkgs/development/tools/analysis/flow/default.nix +++ b/pkgs/development/tools/analysis/flow/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, ocamlPackages, cf-private, CoreServices }: +{ stdenv, fetchFromGitHub, ocamlPackages, CoreServices }: stdenv.mkDerivation rec { pname = "flow"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { ''; buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild dtoa core_kernel sedlex ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ]) - ++ stdenv.lib.optionals stdenv.isDarwin [ cf-private CoreServices ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices ]; meta = with stdenv.lib; { description = "A static type checker for JavaScript"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b9697376d746..650062dc0659 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9233,7 +9233,6 @@ in flow = callPackage ../development/tools/analysis/flow { inherit (darwin.apple_sdk.frameworks) CoreServices; - inherit (darwin) cf-private; }; foreman = callPackage ../tools/system/foreman { }; From 6f16de27d29a128c0e8115618176cded7fb571f2 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:01:18 +0200 Subject: [PATCH 19/60] ffmpeg-full: remove cf-private --- pkgs/development/libraries/ffmpeg-full/default.nix | 12 ++---------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix index db606cc02d63..e16aee9f5ca0 100644 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ b/pkgs/development/libraries/ffmpeg-full/default.nix @@ -139,7 +139,7 @@ * Darwin frameworks */ , Cocoa, CoreAudio, CoreServices, AVFoundation, MediaToolbox -, VideoDecodeAcceleration, cf-private +, VideoDecodeAcceleration }: /* Maintainer notes: @@ -419,7 +419,7 @@ stdenv.mkDerivation rec { ++ optional nvenc nv-codec-headers ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation MediaToolbox VideoDecodeAcceleration - libiconv cf-private /* For _OBJC_EHTYPE_$_NSException */ ]; + libiconv ]; buildFlags = [ "all" ] ++ optional qtFaststartProgram "tools/qt-faststart"; # Build qt-faststart executable @@ -427,14 +427,6 @@ stdenv.mkDerivation rec { # Hacky framework patching technique borrowed from the phantomjs2 package postInstall = optionalString qtFaststartProgram '' cp -a tools/qt-faststart $out/bin/ - '' + optionalString stdenv.isDarwin '' - FILES=($(ls $out/bin/*)) - FILES+=($(ls $out/lib/*.dylib)) - for f in ''${FILES[@]}; do - if [ ! -h "$f" ]; then - install_name_tool -change ${cf-private}/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation "$f" - fi - done ''; enableParallelBuilding = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 650062dc0659..ac138bd858fb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10389,7 +10389,6 @@ in vid-stab = if stdenv.isDarwin then null else vid-stab; x265 = if stdenv.isDarwin then null else x265; xavs = if stdenv.isDarwin then null else xavs; - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa CoreServices CoreAudio AVFoundation MediaToolbox VideoDecodeAcceleration; From 91b595945e6fe98fa3bea50aa07f6e0f217c6c47 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:05:27 +0200 Subject: [PATCH 20/60] fltk: remove cf-private --- pkgs/development/libraries/fltk/1.4.nix | 32 +++++++++------------ pkgs/development/libraries/fltk/default.nix | 31 +++++++++----------- pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 27 insertions(+), 38 deletions(-) diff --git a/pkgs/development/libraries/fltk/1.4.nix b/pkgs/development/libraries/fltk/1.4.nix index 3cdebe184d7e..cad4419a26cc 100644 --- a/pkgs/development/libraries/fltk/1.4.nix +++ b/pkgs/development/libraries/fltk/1.4.nix @@ -1,11 +1,13 @@ { stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi , freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng -, libtiff, freetype, cf-private, Cocoa, AGL, GLUT +, libtiff, freetype, Cocoa, AGL, GLUT }: let version = "1.4.x-r13121"; -in stdenv.mkDerivation { +in + +stdenv.mkDerivation { name = "fltk-${version}"; src = fetchurl { @@ -13,19 +15,16 @@ in stdenv.mkDerivation { sha256 = "1v8wxvxcbk99i82x2v5fpqg5vj8n7g8a38g30ry7nzcjn5sf3r63"; }; - preConfigure = "make clean"; - patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ]; nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ] + ++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ]; - buildInputs = [ - libGLU_combined - libjpeg - zlib - libpng - libXft - ]; + propagatedBuildInputs = [ xorgproto ] + ++ (if stdenv.isDarwin + then [ freetype libtiff ] + else [ xlibsWrapper libXi freeglut ]); configureFlags = [ "--enable-gl" @@ -35,18 +34,15 @@ in stdenv.mkDerivation { "--enable-xft" ]; - propagatedBuildInputs = [ xorgproto ] - ++ (if stdenv.isDarwin - then [ Cocoa AGL GLUT freetype libtiff cf-private /* Needed for NSDefaultRunLoopMode */ ] - else [ xlibsWrapper libXi freeglut ]); + preConfigure = "make clean"; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { description = "A C++ cross-platform lightweight GUI library"; homepage = http://www.fltk.org; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - license = stdenv.lib.licenses.gpl2; + platforms = platforms.linux ++ platforms.darwin; + license = licenses.gpl2; }; } diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix index 60773d29d3d6..bb9f8fe76c9d 100644 --- a/pkgs/development/libraries/fltk/default.nix +++ b/pkgs/development/libraries/fltk/default.nix @@ -1,11 +1,13 @@ { stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi , freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng -, libtiff, freetype, cf-private, Cocoa, AGL, GLUT +, libtiff, freetype, Cocoa, AGL, GLUT }: let version = "1.3.5"; -in stdenv.mkDerivation { +in + +stdenv.mkDerivation { name = "fltk-${version}"; src = fetchurl { @@ -16,14 +18,13 @@ in stdenv.mkDerivation { patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ]; nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ] + ++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ]; - buildInputs = [ - libGLU_combined - libjpeg - zlib - libpng - libXft - ]; + propagatedBuildInputs = [ xorgproto ] + ++ (if stdenv.isDarwin + then [ freetype libtiff ] + else [ xlibsWrapper libXi freeglut ]); configureFlags = [ "--enable-gl" @@ -33,18 +34,12 @@ in stdenv.mkDerivation { "--enable-xft" ]; - propagatedBuildInputs = [ xorgproto ] - ++ (if stdenv.isDarwin - then [ Cocoa AGL GLUT freetype libtiff cf-private /* Needed for NSDefaultRunLoopMode */ ] - else [ xlibsWrapper libXi freeglut ]); - enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { description = "A C++ cross-platform lightweight GUI library"; homepage = http://www.fltk.org; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - license = stdenv.lib.licenses.gpl2; + platforms = platforms.linux ++ platforms.darwin; + license = licenses.gpl2; }; - } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ac138bd858fb..298eb3f38432 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10416,11 +10416,9 @@ in flite = callPackage ../development/libraries/flite { }; fltk13 = callPackage ../development/libraries/fltk { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa AGL GLUT; }; fltk14 = callPackage ../development/libraries/fltk/1.4.nix { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa AGL GLUT; }; fltk = res.fltk13; From c585330a2117f8a77d0ebfd2bf8011ef8a6144d7 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:10:14 +0200 Subject: [PATCH 21/60] glfw: remove cf-private --- pkgs/development/libraries/glfw/3.x.nix | 11 +++-------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix index 668fe436e915..339ce1e5b129 100644 --- a/pkgs/development/libraries/glfw/3.x.nix +++ b/pkgs/development/libraries/glfw/3.x.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, cmake, libGL, libXrandr, libXinerama, libXcursor, libX11 -, cf-private, Cocoa, Kernel, fixDarwinDylibNames +, Cocoa, Kernel, fixDarwinDylibNames }: stdenv.mkDerivation rec { @@ -19,13 +19,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ - libX11 libXrandr libXinerama libXcursor - ] ++ lib.optionals stdenv.isDarwin [ - Cocoa Kernel fixDarwinDylibNames - # Needed for NSDefaultRunLoopMode symbols. - cf-private - ]; + buildInputs = [ libX11 libXrandr libXinerama libXcursor ] + ++ lib.optionals stdenv.isDarwin [ Cocoa Kernel fixDarwinDylibNames ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 298eb3f38432..7172ef4be8c4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10581,7 +10581,6 @@ in glfw = glfw3; glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; glfw3 = callPackage ../development/libraries/glfw/3.x.nix { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa Kernel; }; From ecf667b34acb3dfc84cc8424d330213743785a96 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:11:51 +0200 Subject: [PATCH 22/60] libui: remove cf-private --- pkgs/development/libraries/libui/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libui/default.nix b/pkgs/development/libraries/libui/default.nix index dcc406accbd7..446d30c609ee 100644 --- a/pkgs/development/libraries/libui/default.nix +++ b/pkgs/development/libraries/libui/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, cmake, pkgconfig, gtk3, cf-private, Cocoa }: +{ stdenv, fetchgit, cmake, pkgconfig, gtk3, Cocoa }: let shortName = "libui"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = stdenv.lib.optional stdenv.isLinux gtk3 - ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa cf-private /* For NSDefaultRunLoopMode */ ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ]; preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' sed -i 's/set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8")//' ./CMakeLists.txt diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7172ef4be8c4..81b7754fb036 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12056,7 +12056,6 @@ in libuecc = callPackage ../development/libraries/libuecc { }; libui = callPackage ../development/libraries/libui { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa; }; From 2f9a546b9682f4c729bada6650ff38ae1f2f34d5 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:14:17 +0200 Subject: [PATCH 23/60] opencv: remove cf-private --- pkgs/development/libraries/opencv/3.x.nix | 4 ++-- pkgs/development/libraries/opencv/4.x.nix | 4 ++-- pkgs/development/libraries/opencv/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 3 --- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix index 5e78f9f92ecf..43a68abf8257 100644 --- a/pkgs/development/libraries/opencv/3.x.nix +++ b/pkgs/development/libraries/opencv/3.x.nix @@ -31,7 +31,7 @@ , enableDC1394 ? false, libdc1394 , enableDocs ? false, doxygen, graphviz-nox -, cf-private, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2 +, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2 }: let @@ -206,7 +206,7 @@ stdenv.mkDerivation rec { ++ lib.optionals enableTesseract [ tesseract leptonica ] ++ lib.optional enableTbb tbb ++ lib.optional enableCuda cudatoolkit - ++ lib.optionals stdenv.isDarwin [ cf-private AVFoundation Cocoa VideoDecodeAcceleration bzip2 ] + ++ lib.optionals stdenv.isDarwin [ bzip2 AVFoundation Cocoa VideoDecodeAcceleration ] ++ lib.optionals enableDocs [ doxygen graphviz-nox ]; propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy; diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix index b4ad2bcb8679..f96e6bf94bb0 100644 --- a/pkgs/development/libraries/opencv/4.x.nix +++ b/pkgs/development/libraries/opencv/4.x.nix @@ -31,7 +31,7 @@ , enableDC1394 ? false, libdc1394 , enableDocs ? false, doxygen, graphviz-nox -, cf-private, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2 +, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2 }: let @@ -213,7 +213,7 @@ stdenv.mkDerivation rec { ++ lib.optionals enableTesseract [ tesseract leptonica ] ++ lib.optional enableTbb tbb ++ lib.optional enableCuda cudatoolkit - ++ lib.optionals stdenv.isDarwin [ cf-private AVFoundation Cocoa VideoDecodeAcceleration bzip2 ] + ++ lib.optionals stdenv.isDarwin [ bzip2 AVFoundation Cocoa VideoDecodeAcceleration ] ++ lib.optionals enableDocs [ doxygen graphviz-nox ]; propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy; diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix index 123b8807a74f..784071c6e4d4 100644 --- a/pkgs/development/libraries/opencv/default.nix +++ b/pkgs/development/libraries/opencv/default.nix @@ -10,7 +10,7 @@ , enableFfmpeg ? false, ffmpeg , enableGStreamer ? false, gst_all_1 , enableEigen ? true, eigen -, cf-private, Cocoa, QTKit +, Cocoa, QTKit }: let @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { ++ lib.optional enableFfmpeg ffmpeg ++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ]) ++ lib.optional enableEigen eigen - ++ lib.optionals stdenv.isDarwin [ Cocoa QTKit cf-private /* For NSDefaultRunLoopMode */ ] + ++ lib.optionals stdenv.isDarwin [ Cocoa QTKit ] ; propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 81b7754fb036..ea0ea7c6bb9f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12516,12 +12516,10 @@ in openct = callPackage ../development/libraries/openct { }; opencv = callPackage ../development/libraries/opencv { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa QTKit; }; opencv3 = callPackage ../development/libraries/opencv/3.x.nix { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AVFoundation Cocoa VideoDecodeAcceleration; }; @@ -12530,7 +12528,6 @@ in }; opencv4 = callPackage ../development/libraries/opencv/4.x.nix { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AVFoundation Cocoa VideoDecodeAcceleration; }; From 0fb071fd00b9e043cc72bf74d8a4294ec0db425e Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:23:50 +0200 Subject: [PATCH 24/60] pcl: remove cf-private --- pkgs/development/libraries/pcl/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/pcl/default.nix b/pkgs/development/libraries/pcl/default.nix index fd2b9feff68b..331581294690 100644 --- a/pkgs/development/libraries/pcl/default.nix +++ b/pkgs/development/libraries/pcl/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, cmake , qhull, flann, boost, vtk, eigen, pkgconfig, qtbase -, libusb1, libpcap, libXt, libpng, Cocoa, AGL, cf-private, OpenGL +, libusb1, libpcap, libXt, libpng, Cocoa, AGL, OpenGL }: stdenv.mkDerivation rec { @@ -18,8 +18,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig cmake ]; buildInputs = [ qhull flann boost eigen libusb1 libpcap libpng vtk qtbase libXt ] + ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa AGL ]; - ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa AGL cf-private ]; cmakeFlags = stdenv.lib.optionals stdenv.isDarwin [ "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ea0ea7c6bb9f..d27f2e5a7a84 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12611,7 +12611,6 @@ in pcg_c = callPackage ../development/libraries/pcg-c { }; pcl = libsForQt5.callPackage ../development/libraries/pcl { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa AGL OpenGL; }; From cbfbe9ca1ec40856c9456b11f2ee7f20a7d21f22 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:28:41 +0200 Subject: [PATCH 25/60] qt: remove cf-private --- pkgs/development/libraries/qt-4.x/4.8/default.nix | 4 ++-- pkgs/development/libraries/qt-5/5.11/default.nix | 10 +++------- pkgs/development/libraries/qt-5/5.12/default.nix | 10 +++------- pkgs/development/libraries/qt-5/5.6/default.nix | 5 +---- pkgs/development/libraries/qt-5/5.9/default.nix | 9 ++------- pkgs/development/libraries/qt-5/modules/qtbase.nix | 2 -- .../libraries/qt-5/modules/qtconnectivity.nix | 4 ++-- .../development/libraries/qt-5/modules/qtmacextras.nix | 6 ++---- .../development/libraries/qt-5/modules/qtwebengine.nix | 8 -------- pkgs/development/libraries/qt-5/modules/qtwebkit.nix | 2 +- pkgs/development/libraries/qt-5/modules/qtwebview.nix | 10 ++-------- pkgs/top-level/all-packages.nix | 6 +----- 12 files changed, 19 insertions(+), 57 deletions(-) diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index 34ef7463817d..afd2a01e722b 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -14,7 +14,7 @@ , examples ? false , demos ? false # darwin support -, cf-private, libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx +, libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx }: let @@ -189,7 +189,7 @@ stdenv.mkDerivation rec { postgresql sqlite libjpeg libmng libtiff icu ] ++ lib.optionals (mysql != null) [ mysql.connector-c ] ++ lib.optionals gtkStyle [ gtk2 gdk_pixbuf ] - ++ lib.optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ]; + ++ lib.optionals stdenv.isDarwin [ ApplicationServices OpenGL Cocoa AGL libcxx libobjc ]; nativeBuildInputs = [ perl pkgconfig which ]; diff --git a/pkgs/development/libraries/qt-5/5.11/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix index f43329d35539..fe01b89081f4 100644 --- a/pkgs/development/libraries/qt-5/5.11/default.nix +++ b/pkgs/development/libraries/qt-5/5.11/default.nix @@ -20,7 +20,7 @@ top-level attribute to `top-level/all-packages.nix`. stdenv, fetchurl, fetchFromGitHub, makeSetupHook, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, gtk3, dconf, - cf-private, llvmPackages_5, + llvmPackages_5, # options developerBuild ? false, @@ -92,17 +92,13 @@ let }; qtcharts = callPackage ../modules/qtcharts.nix {}; - qtconnectivity = callPackage ../modules/qtconnectivity.nix { - inherit cf-private; - }; + qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; qtdoc = callPackage ../modules/qtdoc.nix {}; qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; qtimageformats = callPackage ../modules/qtimageformats.nix {}; qtlocation = callPackage ../modules/qtlocation.nix { }; - qtmacextras = callPackage ../modules/qtmacextras.nix { - inherit cf-private; - }; + qtmacextras = callPackage ../modules/qtmacextras.nix {}; qtmultimedia = callPackage ../modules/qtmultimedia.nix { inherit gstreamer gst-plugins-base; }; diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 2aa7d0f71ee0..57b89dd43865 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -20,7 +20,7 @@ top-level attribute to `top-level/all-packages.nix`. stdenv, fetchurl, fetchFromGitHub, makeSetupHook, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, gtk3, dconf, - cf-private, llvmPackages_5, + llvmPackages_5, # options developerBuild ? false, @@ -97,17 +97,13 @@ let }; qtcharts = callPackage ../modules/qtcharts.nix {}; - qtconnectivity = callPackage ../modules/qtconnectivity.nix { - inherit cf-private; - }; + qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; qtdoc = callPackage ../modules/qtdoc.nix {}; qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; qtimageformats = callPackage ../modules/qtimageformats.nix {}; qtlocation = callPackage ../modules/qtlocation.nix {}; - qtmacextras = callPackage ../modules/qtmacextras.nix { - inherit cf-private; - }; + qtmacextras = callPackage ../modules/qtmacextras.nix {}; qtmultimedia = callPackage ../modules/qtmultimedia.nix { inherit gstreamer gst-plugins-base; }; diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix index e493fc169aba..bf0ae42ea1f2 100644 --- a/pkgs/development/libraries/qt-5/5.6/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/default.nix @@ -29,7 +29,6 @@ existing packages here and modify it as necessary. stdenv, fetchurl, fetchpatch, makeSetupHook, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, - cf-private, # options developerBuild ? false, @@ -133,9 +132,7 @@ let /* qtactiveqt = not packaged */ /* qtandroidextras = not packaged */ /* qtcanvas3d = not packaged */ - qtconnectivity = callPackage ../modules/qtconnectivity.nix { - inherit cf-private; - }; + qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; qtdoc = callPackage ../modules/qtdoc.nix {}; qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix index 9baca8124bd7..e59b6b90105b 100644 --- a/pkgs/development/libraries/qt-5/5.9/default.nix +++ b/pkgs/development/libraries/qt-5/5.9/default.nix @@ -20,7 +20,6 @@ top-level attribute to `top-level/all-packages.nix`. stdenv, fetchurl, fetchpatch, makeSetupHook, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, gtk3, dconf, - cf-private, # options developerBuild ? false, @@ -94,17 +93,13 @@ let }; qtcharts = callPackage ../modules/qtcharts.nix {}; - qtconnectivity = callPackage ../modules/qtconnectivity.nix { - inherit cf-private; - }; + qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; qtdoc = callPackage ../modules/qtdoc.nix {}; qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; qtimageformats = callPackage ../modules/qtimageformats.nix {}; qtlocation = callPackage ../modules/qtlocation.nix {}; - qtmacextras = callPackage ../modules/qtmacextras.nix { - inherit cf-private; - }; + qtmacextras = callPackage ../modules/qtmacextras.nix {}; qtmultimedia = callPackage ../modules/qtmultimedia.nix { inherit gstreamer gst-plugins-base; }; diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 2c050a105b85..458946b803d2 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -78,8 +78,6 @@ stdenv.mkDerivation { [ libinput ] ++ lib.optional withGtk3 gtk3 ) - # Needed for OBJC_CLASS_$_NSDate symbols. - ++ lib.optional stdenv.isDarwin darwin.cf-private ++ lib.optional developerBuild gdb ++ lib.optional (cups != null) cups ++ lib.optional (mysql != null) mysql.connector-c diff --git a/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix b/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix index 17e7f0ee7cff..36a736d03dc5 100644 --- a/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix +++ b/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix @@ -1,8 +1,8 @@ -{ qtModule, stdenv, qtbase, qtdeclarative, bluez, cf-private }: +{ qtModule, stdenv, qtbase, qtdeclarative, bluez }: qtModule { name = "qtconnectivity"; qtInputs = [ qtbase qtdeclarative ]; - buildInputs = if stdenv.isDarwin then [ cf-private ] else [ bluez ]; + buildInputs = stdenv.lib.optional stdenv.isLinux bluez; outputs = [ "out" "dev" "bin" ]; } diff --git a/pkgs/development/libraries/qt-5/modules/qtmacextras.nix b/pkgs/development/libraries/qt-5/modules/qtmacextras.nix index 3f254885986e..11964caf17b1 100644 --- a/pkgs/development/libraries/qt-5/modules/qtmacextras.nix +++ b/pkgs/development/libraries/qt-5/modules/qtmacextras.nix @@ -1,10 +1,8 @@ -{ stdenv, qtModule, qtbase, cf-private }: +{ stdenv, qtModule, qtbase }: qtModule { name = "qtmacextras"; - qtInputs = [ qtbase ] - # Needed for _OBJC_CLASS_$_NSData symbols. - ++ stdenv.lib.optional stdenv.isDarwin cf-private; + qtInputs = [ qtbase ]; meta = with stdenv.lib; { maintainers = with maintainers; [ periklis ]; platforms = platforms.darwin; diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index aa9cdb4d5ae7..07fd048d6538 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -200,14 +200,6 @@ EOF (runCommand "MacOS_SDK_sandbox.h" {} '' install -Dm444 "${lib.getDev darwin.apple_sdk.sdk}"/include/sandbox.h "$out"/include/sandbox.h '') - - # For: - # _NSDefaultRunLoopMode - # _OBJC_CLASS_$_NSDate - # _OBJC_CLASS_$_NSDictionary - # _OBJC_CLASS_$_NSRunLoop - # _OBJC_CLASS_$_NSURL - darwin.cf-private ]); __impureHostDeps = optional stdenv.isDarwin "/usr/lib/libsandbox.1.dylib"; diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix index 40f4c56e8091..d65449023b34 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix @@ -28,7 +28,7 @@ qtModule { ++ optional (stdenv.isDarwin && lib.versionAtLeast qtbase.version "5.9.0") qtmultimedia ++ optional usingAnnulenWebkitFork qtwebchannel; buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ] - ++ optionals (stdenv.isDarwin) (with darwin; with apple_sdk.frameworks; [ cf-private ICU OpenGL ]) + ++ optionals (stdenv.isDarwin) (with darwin; with apple_sdk.frameworks; [ ICU OpenGL ]) ++ optional usingAnnulenWebkitFork hyphen; nativeBuildInputs = [ bison2 flex gdb gperf perl pkgconfig python2 ruby diff --git a/pkgs/development/libraries/qt-5/modules/qtwebview.nix b/pkgs/development/libraries/qt-5/modules/qtwebview.nix index 6d5274cbc586..906d750c5d3f 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebview.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebview.nix @@ -1,20 +1,14 @@ { darwin, stdenv, qtModule, qtdeclarative, qtwebengine }: with stdenv.lib; - + qtModule { name = "qtwebview"; qtInputs = [ qtdeclarative qtwebengine ]; buildInputs = optional (stdenv.isDarwin) [ darwin.apple_sdk.frameworks.CoreFoundation darwin.apple_sdk.frameworks.WebKit - - # For: - # _OBJC_CLASS_$_NSArray - # _OBJC_CLASS_$_NSDate - # _OBJC_CLASS_$_NSURL - darwin.cf-private ]; outputs = [ "out" "dev" "bin" ]; NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework CoreFoundation -framework WebKit"; -} \ No newline at end of file +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d27f2e5a7a84..1f0ab6a21816 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12757,7 +12757,7 @@ in # XXX: mariadb doesn't built on fbsd as of nov 2015 mysql = if (!stdenv.isFreeBSD) then mysql else null; - inherit (pkgs.darwin) cf-private libobjc; + inherit (pkgs.darwin) libobjc; inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices OpenGL Cocoa AGL; }; @@ -12783,7 +12783,6 @@ in harfbuzz = harfbuzzFull; inherit libGL; inherit perl; - inherit (darwin) cf-private; inherit (gst_all_1) gstreamer gst-plugins-base; }); @@ -12798,7 +12797,6 @@ in harfbuzz = harfbuzzFull; inherit libGL; inherit perl; - inherit (darwin) cf-private; inherit (gst_all_1) gstreamer gst-plugins-base; inherit gtk3; inherit (gnome3) dconf; @@ -12815,7 +12813,6 @@ in harfbuzz = harfbuzzFull; inherit libGL; inherit perl; - inherit (darwin) cf-private; inherit gtk3; inherit (gnome3) dconf; inherit (gst_all_1) gstreamer gst-plugins-base; @@ -12833,7 +12830,6 @@ in harfbuzz = harfbuzzFull; inherit libGL; inherit perl; - inherit (darwin) cf-private; inherit gtk3; inherit (gnome3) dconf; inherit (gst_all_1) gstreamer gst-plugins-base; From ee85cef108cb5d66e8f5a1ef7a33a87366b5e93e Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:30:21 +0200 Subject: [PATCH 26/60] SDL: remove cf-private --- pkgs/development/libraries/SDL/default.nix | 7 +------ pkgs/development/libraries/SDL2/default.nix | 8 ++------ pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index fd3c6b471453..a8d5d608f895 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -6,7 +6,6 @@ , libXext, libICE, libXrandr , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid, libpulseaudio , OpenGL, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa -, cf-private }: # NOTE: When editing this expression see if the same change applies to @@ -41,11 +40,7 @@ stdenv.mkDerivation rec { buildInputs = [ ] ++ optional (!stdenv.hostPlatform.isMinGW && alsaSupport) audiofile - ++ optionals stdenv.isDarwin [ - AudioUnit CoreAudio CoreServices Kernel OpenGL - # Needed for NSDefaultRunLoopMode symbols. - cf-private - ]; + ++ optionals stdenv.isDarwin [ AudioUnit CoreAudio CoreServices Kernel OpenGL ]; configureFlags = [ "--disable-oss" diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index a2db9c2349d1..94aca192852d 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -14,7 +14,7 @@ , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid , libpulseaudio , AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL -, audiofile, cf-private, libiconv +, audiofile, libiconv }: # NOTE: When editing this expression see if the same change applies to @@ -58,11 +58,7 @@ stdenv.mkDerivation rec { ++ dlopenBuildInputs ++ optional ibusSupport ibus ++ optional fcitxSupport fcitx - ++ optionals stdenv.isDarwin [ - AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL - # Needed for NSDefaultRunLoopMode symbols. - cf-private - ]; + ++ optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ]; enableParallelBuilding = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1f0ab6a21816..12de4ba5eaa5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13087,7 +13087,6 @@ in schroedinger = callPackage ../development/libraries/schroedinger { }; SDL = callPackage ../development/libraries/SDL ({ - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) OpenGL CoreAudio CoreServices AudioUnit Kernel Cocoa; } // lib.optionalAttrs stdenv.hostPlatform.isAndroid { # libGLU doesn’t work with Android’s SDL @@ -13111,7 +13110,6 @@ in SDL_ttf = callPackage ../development/libraries/SDL_ttf { }; SDL2 = callPackage ../development/libraries/SDL2 { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL; }; From 72f2e6dc7b92479ce7bfc116ec0234dd5c5c0e39 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:33:40 +0200 Subject: [PATCH 27/60] sfml: remove cf-private --- pkgs/development/libraries/sfml/default.nix | 7 ++----- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/sfml/default.nix b/pkgs/development/libraries/sfml/default.nix index 8e1b9ae394b5..1b043d33ad6a 100644 --- a/pkgs/development/libraries/sfml/default.nix +++ b/pkgs/development/libraries/sfml/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchzip, cmake, libX11, freetype, libjpeg, openal, flac, libvorbis , glew, libXrandr, libXrender, udev, xcbutilimage -, cf-private, IOKit, Foundation, AppKit, OpenAL +, IOKit, Foundation, AppKit, OpenAL }: let @@ -19,10 +19,7 @@ stdenv.mkDerivation rec { buildInputs = [ freetype libjpeg openal flac libvorbis glew ] ++ stdenv.lib.optional stdenv.isLinux udev ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXrandr libXrender xcbutilimage ] - ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit Foundation AppKit OpenAL - # Needed for _NSDefaultRunLoopMode, _OBJC_CLASS_$_NSArray, _OBJC_CLASS_$_NSDate - cf-private - ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit Foundation AppKit OpenAL ]; cmakeFlags = [ "-DSFML_INSTALL_PKGCONFIG_FILES=yes" "-DSFML_MISC_INSTALL_PREFIX=share/SFML" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 12de4ba5eaa5..cdcdabba803f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13161,7 +13161,6 @@ in sfml = callPackage ../development/libraries/sfml { inherit (darwin.apple_sdk.frameworks) IOKit Foundation AppKit OpenAL; - inherit (darwin) cf-private; }; csfml = callPackage ../development/libraries/csfml { }; From 28f6abd7b3f8f4430db89113868017b60e4e6a40 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 20:41:49 +0200 Subject: [PATCH 28/60] vtk: remove cf-private --- pkgs/development/libraries/vtk/default.nix | 16 ++++++++-------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix index 9843b1289cfc..e2a82b7adcda 100644 --- a/pkgs/development/libraries/vtk/default.nix +++ b/pkgs/development/libraries/vtk/default.nix @@ -2,7 +2,7 @@ , qtLib ? null # Darwin support , Cocoa, CoreServices, DiskArbitration, IOKit, CFNetwork, Security, GLUT, OpenGL -, ApplicationServices, CoreText, IOSurface, cf-private, ImageIO, xpc, libobjc }: +, ApplicationServices, CoreText, IOSurface, ImageIO, xpc, libobjc }: with stdenv.lib; @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { sha256 = "1hrjxkcvs3ap0bdhk90vymz5pgvxmg7q6sz8ab3wsyddbshr1abq"; }; - buildInputs = - if !stdenv.isDarwin - then [ cmake libGLU_combined libX11 xorgproto libXt ] ++ optional (qtLib != null) qtLib - else [ cmake qtLib xpc CoreServices DiskArbitration IOKit cf-private - CFNetwork Security ApplicationServices CoreText IOSurface ImageIO - OpenGL GLUT ]; - propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ Cocoa libobjc ]; + buildInputs = [ cmake ] + ++ optional (qtLib != null) qtLib + ++ optionals stdenv.isLinux [ libGLU_combined libX11 xorgproto libXt ] + ++ optionals stdenv.isDarwin [ xpc Cocoa CoreServices DiskArbitration IOKit + CFNetwork Security ApplicationServices CoreText + IOSurface ImageIO OpenGL GLUT ]; + propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ libobjc ]; preBuild = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cdcdabba803f..a73bf2e454ce 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13605,7 +13605,7 @@ in vte-ng = callPackage ../development/libraries/vte/ng.nix { }; vtk = callPackage ../development/libraries/vtk { - inherit (darwin) cf-private libobjc; + inherit (darwin) libobjc; inherit (darwin.apple_sdk.libs) xpc; inherit (darwin.apple_sdk.frameworks) Cocoa CoreServices DiskArbitration IOKit CFNetwork Security ApplicationServices From c558a74a1bde7eda118b2841b67ea19f5239092d Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 21:38:09 +0200 Subject: [PATCH 29/60] wxmac: fix build --- pkgs/development/libraries/wxwidgets/3.0/mac.nix | 11 ++--------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/wxwidgets/3.0/mac.nix b/pkgs/development/libraries/wxwidgets/3.0/mac.nix index 7a32aba24ff8..cbe8bd8ac5ee 100644 --- a/pkgs/development/libraries/wxwidgets/3.0/mac.nix +++ b/pkgs/development/libraries/wxwidgets/3.0/mac.nix @@ -1,6 +1,6 @@ { stdenv, fetchzip, expat, libiconv, libjpeg, libpng, libtiff, zlib # darwin only attributes -, cf-private, derez, rez, setfile +, derez, rez, setfile , AGL, Cocoa, Kernel }: @@ -16,15 +16,9 @@ stdenv.mkDerivation rec { buildInputs = [ expat libiconv libjpeg libpng libtiff zlib derez rez setfile - Cocoa Kernel - - # Needed for CFURLGetFSRef, etc. which have deen deprecated - # since 10.9 and are not part of swift-corelibs CoreFoundation. - cf-private + AGL Cocoa Kernel ]; - propagatedBuildInputs = [ AGL ]; - postPatch = '' substituteInPlace configure --replace "-framework System" -lSystem ''; @@ -71,6 +65,5 @@ stdenv.mkDerivation rec { homepage = https://www.wxwidgets.org/; description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base"; longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more."; - broken = true; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a73bf2e454ce..9e566cfcc36c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13721,7 +13721,6 @@ in wxmac = callPackage ../development/libraries/wxwidgets/3.0/mac.nix { inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel; inherit (darwin.stubs) setfile rez derez; - inherit (darwin) cf-private; }; wxSVG = callPackage ../development/libraries/wxSVG { From 40d34bb19f58bba2c3615d7e7b971d6b5ba4126d Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 21:44:58 +0200 Subject: [PATCH 30/60] xquartz: remove cf-private --- pkgs/servers/x11/quartz-wm/default.nix | 4 +--- pkgs/servers/x11/xquartz/default.nix | 7 +------ pkgs/top-level/all-packages.nix | 5 +---- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/pkgs/servers/x11/quartz-wm/default.nix b/pkgs/servers/x11/quartz-wm/default.nix index 52cb1e750a64..92350595dd85 100644 --- a/pkgs/servers/x11/quartz-wm/default.nix +++ b/pkgs/servers/x11/quartz-wm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xorg, pixman, pkgconfig, AppKit, Foundation, Xplugin, cf-private }: +{ stdenv, fetchurl, xorg, pixman, pkgconfig, AppKit, Foundation, Xplugin }: let version = "1.3.1"; in stdenv.mkDerivation { @@ -20,8 +20,6 @@ in stdenv.mkDerivation { pixman pkgconfig AppKit Xplugin Foundation - # Needed for CFNotificationCenterAddObserver symbols. - cf-private ]; meta = with stdenv.lib; { license = licenses.apsl20; diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix index 22f6ce456732..f18a50fe7e92 100644 --- a/pkgs/servers/x11/xquartz/default.nix +++ b/pkgs/servers/x11/xquartz/default.nix @@ -1,7 +1,6 @@ { stdenv, buildEnv, makeFontsConf, gnused, writeScript, xorg, bashInteractive, xterm, makeWrapper, ruby , quartz-wm, fontconfig, xlsfonts, xfontsel , ttf_bitstream_vera, freefont_ttf, liberation_ttf -, cf-private , shell ? "${bashInteractive}/bin/bash" }: @@ -98,11 +97,7 @@ let in stdenv.mkDerivation { name = "xquartz-${stdenv.lib.getVersion xorg.xorgserver}"; - buildInputs = [ - ruby makeWrapper - # Needed for NSDefaultRunLoopMode symbols. - cf-private - ]; + nativeBuildInputs = [ ruby makeWrapper ]; unpackPhase = "sourceRoot=."; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9e566cfcc36c..5d658a37b8ce 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14896,13 +14896,10 @@ in xqilla = callPackage ../development/tools/xqilla { }; - xquartz = callPackage ../servers/x11/xquartz { - inherit (darwin) cf-private; - }; + xquartz = callPackage ../servers/x11/xquartz { }; quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AppKit Foundation; inherit (darwin.apple_sdk.libs) Xplugin; }; From 35b7c60c0c6f57bb073840a7529be7c272acf005 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 21:51:16 +0200 Subject: [PATCH 31/60] xorg-xorgserver: remove cf-private --- pkgs/servers/x11/xorg/overrides.nix | 8 ++------ pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 7b6299105b1d..1da5c31c25f6 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -5,7 +5,7 @@ libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm, mesa, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook, mcpp, epoxy, openssl, pkgconfig, llvm_6, - cf-private, ApplicationServices, Carbon, Cocoa, Xplugin + ApplicationServices, Carbon, Cocoa, Xplugin }: let @@ -469,11 +469,7 @@ self: super: sha256 = "1j1i3n5xy1wawhk95kxqdc54h34kg7xp4nnramba2q8xqfr5k117"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ xorgproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ] - ++ stdenv.lib.optionals stdenv.isDarwin [ - # Needed for NSDefaultRunLoopMode symbols. - cf-private - ]; + buildInputs = [ xorgproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ]; postPatch = stdenv.lib.optionalString stdenv.isLinux "sed '1i#include ' -i include/os.h"; meta.platforms = stdenv.lib.platforms.unix; } else throw "unsupported xorg abiCompat ${abiCompat} for ${attrs_passed.name}"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5d658a37b8ce..365f1e240859 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14909,7 +14909,6 @@ in # have created a cycle. xorg = recurseIntoAttrs ((lib.callPackageWith __splicedPackages ../servers/x11/xorg { }).overrideScope' (lib.callPackageWith __splicedPackages ../servers/x11/xorg/overrides.nix { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa; inherit (darwin.apple_sdk.libs) Xplugin; inherit (buildPackages.darwin) bootstrap_cmds; From f2d2381838cb2d45653da0278eb36809b2c35cf0 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 21:55:10 +0200 Subject: [PATCH 32/60] emacs: remove cf-private --- pkgs/applications/editors/emacs/25.nix | 8 ++------ pkgs/applications/editors/emacs/default.nix | 8 ++------ pkgs/applications/editors/emacs/macport.nix | 4 +--- pkgs/top-level/all-packages.nix | 3 --- 4 files changed, 5 insertions(+), 18 deletions(-) diff --git a/pkgs/applications/editors/emacs/25.nix b/pkgs/applications/editors/emacs/25.nix index 852faeb7918b..76009370473b 100644 --- a/pkgs/applications/editors/emacs/25.nix +++ b/pkgs/applications/editors/emacs/25.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d , pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux -, alsaLib, cairo, acl, gpm, cf-private, AppKit, GSS, ImageIO +, alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO , withX ? !stdenv.isDarwin , withGTK2 ? false, gtk2 ? null , withGTK3 ? true, gtk3 ? null, gsettings-desktop-schemas ? null @@ -62,11 +62,7 @@ stdenv.mkDerivation rec { ++ lib.optionals (withX && withGTK3) [ gtk3 gsettings-desktop-schemas ] ++ lib.optional (stdenv.isDarwin && withX) cairo ++ lib.optionals (withX && withXwidgets) [ webkitgtk24x-gtk3 glib-networking ] - ++ lib.optionals stdenv.isDarwin [ - AppKit GSS ImageIO - # Needed for CFNotificationCenterAddObserver symbols. - cf-private - ]; + ++ lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix index c2756eab961a..2de76675c128 100644 --- a/pkgs/applications/editors/emacs/default.nix +++ b/pkgs/applications/editors/emacs/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm , Xaw3d, libXcursor, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux -, alsaLib, cairo, acl, gpm, cf-private, AppKit, GSS, ImageIO, m17n_lib, libotf +, alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO, m17n_lib, libotf , systemd ? null , withX ? !stdenv.isDarwin , withNS ? stdenv.isDarwin @@ -67,11 +67,7 @@ stdenv.mkDerivation rec { ++ lib.optionals (withX && withGTK3) [ gtk3-x11 gsettings-desktop-schemas ] ++ lib.optional (stdenv.isDarwin && withX) cairo ++ lib.optionals (withX && withXwidgets) [ webkitgtk ] - ++ lib.optionals withNS [ - AppKit GSS ImageIO - # Needed for CFNotificationCenterAddObserver symbols. - cf-private - ]; + ++ lib.optionals withNS [ AppKit GSS ImageIO ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/editors/emacs/macport.nix b/pkgs/applications/editors/emacs/macport.nix index 7c21c1cae5e3..d51391595f47 100644 --- a/pkgs/applications/editors/emacs/macport.nix +++ b/pkgs/applications/editors/emacs/macport.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls, gettext, autoconf, automake -, cf-private, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit +, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit , ImageCaptureCore, GSS, ImageIO # These may be optional }: @@ -33,8 +33,6 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses libxml2 gnutls texinfo gettext AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit ImageCaptureCore GSS ImageIO # may be optional - # Needed for CFNotificationCenterAddObserver symbols. - cf-private ]; postUnpack = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 365f1e240859..afe8f6c6119b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17495,7 +17495,6 @@ in imagemagick = null; acl = null; gpm = null; - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AppKit GSS ImageIO; }; @@ -17514,7 +17513,6 @@ in imagemagick = null; acl = null; gpm = null; - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AppKit GSS ImageIO; }; @@ -17525,7 +17523,6 @@ in })); emacsMacport = callPackage ../applications/editors/emacs/macport.nix { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit ImageCaptureCore GSS ImageIO; From bea56ef8ba568d593cd8e8ffd4962c2358732bf4 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 22:19:04 +0200 Subject: [PATCH 33/60] gimp: remove cf-private --- pkgs/applications/graphics/gimp/default.nix | 6 ++---- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index a2a6fe3c14f7..16b520fa7ed3 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -3,7 +3,7 @@ , libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info , python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2 , harfbuzz, mypaint-brushes, libwebp, libheif, libgudev, openexr -, AppKit, Cocoa, gtk-mac-integration-gtk2, cf-private }: +, AppKit, Cocoa, gtk-mac-integration-gtk2 }: let inherit (python2Packages) pygtk wrapPython python; @@ -24,9 +24,7 @@ in stdenv.mkDerivation rec { libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp libheif python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes ] ++ stdenv.lib.optionals stdenv.isDarwin [ - # cf-private is needed to get some things not in swift-corefoundation. - # For instance _OBJC_CLASS_$_NSArray is missing. - AppKit Cocoa gtk-mac-integration-gtk2 cf-private + AppKit Cocoa gtk-mac-integration-gtk2 ] ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ]; pythonPath = [ pygtk ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index afe8f6c6119b..72fa652f17ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18119,7 +18119,6 @@ in gegl = gegl_0_4; lcms = lcms2; inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; - inherit (darwin) cf-private; }; gimp-with-plugins = callPackage ../applications/graphics/gimp/wrapper.nix { From a73bfdf3a77730283345cfdd69d4d719c3cc16d2 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 22:20:47 +0200 Subject: [PATCH 34/60] kitty: remove cf-private --- pkgs/applications/misc/kitty/default.nix | 2 -- pkgs/top-level/all-packages.nix | 5 +---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix index 9b77bdcd2a54..63e77ec0e672 100644 --- a/pkgs/applications/misc/kitty/default.nix +++ b/pkgs/applications/misc/kitty/default.nix @@ -9,7 +9,6 @@ IOKit, Kernel, OpenGL, - cf-private, libicns, libpng, librsvg, @@ -40,7 +39,6 @@ buildPythonApplication rec { IOKit Kernel OpenGL - cf-private libpng python3 zlib diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 72fa652f17ec..1008b2e9f132 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18724,10 +18724,7 @@ in kipi-plugins = libsForQt5.callPackage ../applications/graphics/kipi-plugins { }; kitty = callPackage ../applications/misc/kitty { - harfbuzz = if stdenv.isDarwin then harfbuzz.override { - withCoreText = true; - } else harfbuzz; - inherit (darwin) cf-private; + harfbuzz = harfbuzz.override { withCoreText = stdenv.isDarwin; }; inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation IOKit Kernel OpenGL; }; From 29e68d765bf5d281a301c9295694618545d1f828 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 22:21:48 +0200 Subject: [PATCH 35/60] synergy: fix darwin build --- pkgs/applications/misc/synergy/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 25855c2a6130..5f12bdb4dfcd 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, xlibsWrapper -, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver, cf-private +, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver , libX11, libXi, libXtst, libXrandr, xinput, curl, openssl, unzip }: stdenv.mkDerivation rec { @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { buildInputs = [ cmake curl openssl ] ++ lib.optionals stdenv.isDarwin [ - ApplicationServices Carbon Cocoa CoreServices ScreenSaver cf-private + ApplicationServices Carbon Cocoa CoreServices ScreenSaver ] ++ lib.optionals stdenv.isLinux [ xlibsWrapper libX11 libXi libXtst libXrandr xinput ]; installPhase = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1008b2e9f132..bb3373a247f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20333,7 +20333,7 @@ in syncthing-tray = callPackage ../applications/misc/syncthing-tray { }; synergy = callPackage ../applications/misc/synergy { - inherit (darwin) cf-private; + stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa CoreServices ScreenSaver; }; From 1fc3bbcb0675cea93d9aeccb63b6ed2cc2239f8a Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 23:17:31 +0200 Subject: [PATCH 36/60] aminal: remove cf-private --- pkgs/applications/misc/aminal/default.nix | 8 +------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/pkgs/applications/misc/aminal/default.nix b/pkgs/applications/misc/aminal/default.nix index 1c769e58705a..8cb014bb0214 100644 --- a/pkgs/applications/misc/aminal/default.nix +++ b/pkgs/applications/misc/aminal/default.nix @@ -2,7 +2,6 @@ , Carbon , Cocoa , Kernel -, cf-private , fetchFromGitHub , lib , mesa_glu @@ -25,12 +24,7 @@ buildGoPackage rec { xorg.libXinerama xorg.libXrandr xorg.libXxf86vm - ] ++ lib.optionals stdenv.isDarwin [ - Carbon - Cocoa - Kernel - cf-private /* Needed for NSDefaultRunLoopMode */ - ]; + ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa Kernel ]; src = fetchFromGitHub { owner = "liamg"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bb3373a247f1..513ec3e3dd5c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20407,7 +20407,6 @@ in aminal = callPackage ../applications/misc/aminal { inherit (darwin.apple_sdk.frameworks) Carbon Cocoa Kernel; - inherit (darwin) cf-private; }; termite-unwrapped = callPackage ../applications/misc/termite { }; From b0e201f349985d0357a89c7998352459266f80dd Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 23:18:39 +0200 Subject: [PATCH 37/60] vim: remove cf-private --- pkgs/applications/editors/vim/configurable.nix | 4 ++-- pkgs/applications/editors/vim/default.nix | 8 ++------ pkgs/top-level/all-packages.nix | 3 +-- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix index 5255b04fe5f4..4d37b77f61bf 100644 --- a/pkgs/applications/editors/vim/configurable.nix +++ b/pkgs/applications/editors/vim/configurable.nix @@ -10,7 +10,7 @@ , runtimeShell # apple frameworks -, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private +, CoreServices, CoreData, Cocoa, Foundation, libobjc , features ? "huge" # One of tiny, small, normal, big or huge , wrapPythonDrv ? false @@ -132,7 +132,7 @@ in stdenv.mkDerivation rec { libXmu glib libICE ] ++ stdenv.lib.optional (guiSupport == "gtk2") gtk2-x11 ++ stdenv.lib.optional (guiSupport == "gtk3") gtk3-x11 - ++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc cf-private ] + ++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc ] ++ stdenv.lib.optional luaSupport lua ++ stdenv.lib.optional pythonSupport python ++ stdenv.lib.optional tclSupport tcl diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix index 2f34a6ddeb6b..26cd61d182bd 100644 --- a/pkgs/applications/editors/vim/default.nix +++ b/pkgs/applications/editors/vim/default.nix @@ -6,7 +6,7 @@ sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c"; } # apple frameworks -, cf-private, Carbon, Cocoa +, Carbon, Cocoa }: let @@ -19,11 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gettext pkgconfig ]; buildInputs = [ ncurses ] - ++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ - Carbon Cocoa - # Needed for OBJC_CLASS_$_NSArray symbols. - cf-private - ]; + ++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ Carbon Cocoa ]; configureFlags = [ "--enable-multibyte" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 513ec3e3dd5c..3d2fee37f849 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20603,7 +20603,6 @@ in }; vim = callPackage ../applications/editors/vim { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; }; @@ -20615,7 +20614,7 @@ in vim_configurable = vimUtils.makeCustomizable (callPackage ../applications/editors/vim/configurable.nix { inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa Foundation CoreData; - inherit (darwin) libobjc cf-private; + inherit (darwin) libobjc; gtk2 = if stdenv.isDarwin then gtk2-x11 else gtk2; gtk3 = if stdenv.isDarwin then gtk3-x11 else gtk3; }); From bbf5f7e3dad2123c678bfdae70b3512f8133d3ad Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 23:19:13 +0200 Subject: [PATCH 38/60] zola: remove cf-private --- pkgs/applications/misc/zola/default.nix | 5 +++-- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix index 48f5b216ea1b..7418640e072b 100644 --- a/pkgs/applications/misc/zola/default.nix +++ b/pkgs/applications/misc/zola/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices, cf-private }: +{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices }: rustPlatform.buildRustPackage rec { pname = "zola"; @@ -14,7 +14,8 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "1brmlg6nqyls1v62z0fg0km150q9m7h71wy67lidcnw76icmqr24"; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ]; + buildInputs = [ openssl ] + ++ stdenv.lib.optional stdenv.isDarwin CoreServices; postInstall = '' install -D -m 444 completions/zola.bash \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d2fee37f849..125c89971aa2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21270,7 +21270,6 @@ in zola = callPackage ../applications/misc/zola { inherit (darwin.apple_sdk.frameworks) CoreServices; - inherit (darwin) cf-private; }; zoom-us = libsForQt59.callPackage ../applications/networking/instant-messengers/zoom-us { }; From 56127c23c2ce78f8ae31f6e935716e001dbfc16d Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 23:20:34 +0200 Subject: [PATCH 39/60] gargoyle: remove cf-private --- pkgs/games/gargoyle/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/games/gargoyle/default.nix b/pkgs/games/gargoyle/default.nix index 62ea798e4656..83a567fa5782 100644 --- a/pkgs/games/gargoyle/default.nix +++ b/pkgs/games/gargoyle/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, substituteAll, jam, cctools, pkgconfig -, SDL, SDL_mixer, SDL_sound, cf-private, gtk2, libvorbis, smpeg }: +, SDL, SDL_mixer, SDL_sound, gtk2, libvorbis, smpeg }: let @@ -32,7 +32,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ jam pkgconfig ] ++ stdenv.lib.optional stdenv.isDarwin cctools; buildInputs = [ SDL SDL_mixer SDL_sound gtk2 ] - ++ stdenv.lib.optionals stdenv.isDarwin [ cf-private smpeg libvorbis ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ smpeg libvorbis ]; buildPhase = jamenv + "jam -j$NIX_BUILD_CORES"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 125c89971aa2..6747577c2947 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21541,7 +21541,7 @@ in garden-of-coloured-lights = callPackage ../games/garden-of-coloured-lights { allegro = allegro4; }; gargoyle = callPackage ../games/gargoyle { - inherit (darwin) cctools cf-private; + inherit (darwin) cctools; }; gav = callPackage ../games/gav { }; From da7bcec42f7c9223e36d8ed472f1201552c5d670 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 23:21:10 +0200 Subject: [PATCH 40/60] root: remove cf-private --- pkgs/applications/science/misc/root/5.nix | 4 ++-- pkgs/applications/science/misc/root/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix index 871f5ece9cfe..0199373b082c 100644 --- a/pkgs/applications/science/misc/root/5.nix +++ b/pkgs/applications/science/misc/root/5.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2 , libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1 -, Cocoa, OpenGL, cf-private, noSplash ? false }: +, Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { name = "root-${version}"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ] - ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL cf-private ] + ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ; patches = [ diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 8b9573ce4e8b..2ec1ded68a26 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, cmake, pcre, pkgconfig, python2 , libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lz4, lzma, gsl, xxHash -, Cocoa, OpenGL, cf-private, noSplash ? false }: +, Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { name = "root-${version}"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ] - ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL cf-private ] + ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ; patches = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6747577c2947..44b78298f6b0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23013,13 +23013,11 @@ in ns-3 = callPackage ../development/libraries/science/networking/ns3 { }; root = callPackage ../applications/science/misc/root { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL; stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; }; root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix { - inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL; stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; }); From df23db89563da90e59b56ab1a4b99787c4147d99 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Wed, 19 Jun 2019 23:22:08 +0200 Subject: [PATCH 41/60] jack2: remove cf-private --- pkgs/misc/jackaudio/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix index fb7c26a6d7ae..f246c41d9659 100644 --- a/pkgs/misc/jackaudio/default.nix +++ b/pkgs/misc/jackaudio/default.nix @@ -3,7 +3,7 @@ , bash, libsamplerate, libsndfile, readline, eigen, celt , wafHook # Darwin Dependencies -, aften, AudioUnit, CoreAudio, cf-private, libobjc, Accelerate +, aften, AudioUnit, CoreAudio, libobjc, Accelerate # Optional Dependencies , dbus ? null, libffado ? null, alsaLib ? null @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { buildInputs = [ libsamplerate libsndfile readline eigen celt optDbus optPythonDBus optLibffado optAlsaLib optLibopus ] ++ optionals stdenv.isDarwin [ - aften AudioUnit CoreAudio Accelerate cf-private libobjc + aften AudioUnit CoreAudio Accelerate libobjc ]; prePatch = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 44b78298f6b0..4c07fa2bc1b4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23353,7 +23353,7 @@ in jack2 = callPackage ../misc/jackaudio { libopus = libopus.override { withCustomModes = true; }; inherit (darwin.apple_sdk.frameworks) AudioUnit CoreAudio Accelerate; - inherit (darwin) cf-private libobjc; + inherit (darwin) libobjc; }; libjack2 = jack2.override { prefix = "lib"; }; jack2Full = jack2; # TODO: move to aliases.nix From 4e7695fc69856ddea7b945dbd35698452e89ffea Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 20 Jun 2019 18:33:52 +0200 Subject: [PATCH 42/60] darwin.trash: remove cf-private --- pkgs/os-specific/darwin/trash/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/darwin/trash/default.nix b/pkgs/os-specific/darwin/trash/default.nix index 4044ee4d0ddc..fcbcfe00a3e7 100644 --- a/pkgs/os-specific/darwin/trash/default.nix +++ b/pkgs/os-specific/darwin/trash/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, perl, cf-private, AppKit, Cocoa, ScriptingBridge }: +{ stdenv, fetchFromGitHub, perl, AppKit, Cocoa, ScriptingBridge }: stdenv.mkDerivation rec { version = "0.9.2"; @@ -11,12 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1d3rc03vgz32faj7qi18iiggxvxlqrj9lsk5jkpa9r1mcs5d89my"; }; - buildInputs = [ - perl - Cocoa AppKit ScriptingBridge - # Neded for OBJC_CLASS_$_NSMutableArray symbols. - cf-private - ]; + buildInputs = [ perl Cocoa AppKit ScriptingBridge ]; patches = [ ./trash.diff ]; From 5ecbcc088658385e91c6670ab4b10a928e14e090 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 20 Jun 2019 18:35:02 +0200 Subject: [PATCH 43/60] mdbook: remove cf-private --- pkgs/tools/text/mdbook/default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix index 6e1faa3331f0..52d197759eae 100644 --- a/pkgs/tools/text/mdbook/default.nix +++ b/pkgs/tools/text/mdbook/default.nix @@ -13,11 +13,7 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "1xpsc4qff2lrq15mz1gvmw6n5vl88sfwpjbsnp5ja5k1im156lam"; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ - CoreServices - # This is needed to avoid an undefined symbol error for "_CFURLResourceIsReachable" - darwin.cf-private - ]; + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ]; meta = with stdenv.lib; { description = "Create books from MarkDown"; From ea4f282128bbf6d6dbd874c4d52efbf7cc643429 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 20 Jun 2019 18:36:11 +0200 Subject: [PATCH 44/60] watchexec: remove cf-private --- pkgs/tools/misc/watchexec/default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix index b0471e56c078..d15bfb3887a2 100644 --- a/pkgs/tools/misc/watchexec/default.nix +++ b/pkgs/tools/misc/watchexec/default.nix @@ -13,11 +13,7 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "1sqwplvpg0n9j0h9j94m7a6ylgqi4y4wyx489y09z9gm7aqgrsjc"; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ - CoreServices - # This is needed to avoid an undefined symbol error "_CFURLResourceIsReachable" - darwin.cf-private - ]; + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ]; meta = with stdenv.lib; { description = "Executes commands in response to file modifications"; From b74a025f7ff274920da2a89fe13dd2a090b1bd60 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 20 Jun 2019 18:37:48 +0200 Subject: [PATCH 45/60] glib: remove cf-private --- pkgs/development/libraries/glib/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 4b577d36857a..1de54becb5bd 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -81,9 +81,6 @@ stdenv.mkDerivation rec { utillinuxMinimal # for libmount ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Carbon Cocoa CoreFoundation CoreServices Foundation - # Needed for CFURLCreateFromFSRef, etc. which have deen deprecated - # since 10.9 and are not part of swift-corelibs CoreFoundation. - darwin.cf-private ]); nativeBuildInputs = [ From 3a57f5095f850bcb5bc28d61013a08f8b6d9c82a Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 20 Jun 2019 18:39:41 +0200 Subject: [PATCH 46/60] tk: remove cf-private --- pkgs/development/libraries/tk/generic.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix index be09bb73b3aa..a65c6053f295 100644 --- a/pkgs/development/libraries/tk/generic.nix +++ b/pkgs/development/libraries/tk/generic.nix @@ -32,11 +32,9 @@ stdenv.mkDerivation { ++ stdenv.lib.optional enableAqua "--enable-aqua"; nativeBuildInputs = [ pkgconfig ]; + buildInputs = lib.optional enableAqua (with darwin.apple_sdk.frameworks; [ Cocoa ]); - propagatedBuildInputs = [ tcl libXft ] - ++ lib.optional enableAqua (with darwin; with apple_sdk.frameworks; [ - Cocoa cf-private - ]); + propagatedBuildInputs = [ tcl libXft ]; doCheck = false; # fails. can't find itself From a17c03cb7bb9190acd72bdfe7662334d35e3dc2a Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 20 Jun 2019 18:40:52 +0200 Subject: [PATCH 47/60] python-watchdog: remove cf-private --- pkgs/development/python-modules/watchdog/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix index e785f5efa796..361baea49167 100644 --- a/pkgs/development/python-modules/watchdog/default.nix +++ b/pkgs/development/python-modules/watchdog/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { }; buildInputs = stdenv.lib.optionals stdenv.isDarwin - [ pkgs.darwin.apple_sdk.frameworks.CoreServices pkgs.darwin.cf-private ]; + [ pkgs.darwin.apple_sdk.frameworks.CoreServices ]; propagatedBuildInputs = [ argh pathtools pyyaml ]; doCheck = false; From 42705e70a7ed2bced9593d08fe07a99d81408cdb Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 20 Jun 2019 18:44:26 +0200 Subject: [PATCH 48/60] lldb: fix darwin sandboxed build --- pkgs/development/compilers/llvm/4/lldb.nix | 2 +- pkgs/development/compilers/llvm/5/lldb.nix | 2 +- pkgs/development/compilers/llvm/6/lldb.nix | 2 +- pkgs/development/compilers/llvm/7/lldb.nix | 23 +++++++++++++--------- pkgs/development/compilers/llvm/8/lldb.nix | 2 +- 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/pkgs/development/compilers/llvm/4/lldb.nix b/pkgs/development/compilers/llvm/4/lldb.nix index 0be8a4d41865..325149fc19be 100644 --- a/pkgs/development/compilers/llvm/4/lldb.nix +++ b/pkgs/development/compilers/llvm/4/lldb.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/llvm/5/lldb.nix b/pkgs/development/compilers/llvm/5/lldb.nix index 7be9a7e47b74..5e670d4de159 100644 --- a/pkgs/development/compilers/llvm/5/lldb.nix +++ b/pkgs/development/compilers/llvm/5/lldb.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/llvm/6/lldb.nix b/pkgs/development/compilers/llvm/6/lldb.nix index d33de2488350..9571e7ab5a63 100644 --- a/pkgs/development/compilers/llvm/6/lldb.nix +++ b/pkgs/development/compilers/llvm/6/lldb.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/llvm/7/lldb.nix b/pkgs/development/compilers/llvm/7/lldb.nix index f58871f1d7cd..1b2dff2c76cf 100644 --- a/pkgs/development/compilers/llvm/7/lldb.nix +++ b/pkgs/development/compilers/llvm/7/lldb.nix @@ -9,6 +9,7 @@ , libxml2 , llvm , clang-unwrapped +, perl , python , version , darwin @@ -19,6 +20,11 @@ stdenv.mkDerivation { src = fetch "lldb" "0klsscg1sczc4nw2l53xggi969k361cng2sjjrfp3bv4g5x14s4v"; + nativeBuildInputs = [ cmake perl python which swig ]; + buildInputs = [ ncurses zlib libedit libxml2 llvm ] + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + + postPatch = '' # Fix up various paths that assume llvm and clang are installed in the same place sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \ @@ -30,22 +36,21 @@ stdenv.mkDerivation { sed -i -e 's,message(SEND_ERROR "Cannot find debugserver on system."),,' \ -e 's,string(STRIP ''${XCODE_DEV_DIR} XCODE_DEV_DIR),,' \ tools/debugserver/source/CMakeLists.txt + + # Fix /usr/bin references for sandboxed builds. + patchShebangs scripts ''; - nativeBuildInputs = [ cmake python which swig ]; - buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; - - CXXFLAGS = "-fno-rtti"; - hardeningDisable = [ "format" ]; - - NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2"; - cmakeFlags = [ "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic "-DSKIP_DEBUGSERVER=ON" ]; + CXXFLAGS = "-fno-rtti"; + hardeningDisable = [ "format" ]; + + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2"; + enableParallelBuilding = true; postInstall = '' diff --git a/pkgs/development/compilers/llvm/8/lldb.nix b/pkgs/development/compilers/llvm/8/lldb.nix index ae9198e99d27..861ef1f3510a 100644 --- a/pkgs/development/compilers/llvm/8/lldb.nix +++ b/pkgs/development/compilers/llvm/8/lldb.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; From e3cbf13aa17a208f26a3f21dfb9cea7a3a21979b Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Sun, 30 Jun 2019 23:53:04 -0400 Subject: [PATCH 49/60] libgdata: 0.17.9 -> 0.17.10 * Meson! * intiltool -> gettext * multi-outputs * installed tests https://gitlab.gnome.org/GNOME/libgdata/blob/0.17.10/NEWS --- .../libraries/libgdata/default.nix | 65 +++++++++++-- .../libgdata/installed-tests-path.patch | 94 +++++++++++++++++++ 2 files changed, 151 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/libraries/libgdata/installed-tests-path.patch diff --git a/pkgs/development/libraries/libgdata/default.nix b/pkgs/development/libraries/libgdata/default.nix index 59e19750715f..91994a5cfbae 100644 --- a/pkgs/development/libraries/libgdata/default.nix +++ b/pkgs/development/libraries/libgdata/default.nix @@ -1,20 +1,69 @@ -{ stdenv, fetchurl, pkgconfig, intltool, libxml2, glib, json-glib, gcr -, gobject-introspection, liboauth, gnome3, p11-kit, openssl, uhttpmock }: +{ stdenv +, fetchurl +, pkgconfig +, meson +, ninja +, vala +, gettext +, libxml2 +, glib +, json-glib +, gcr +, gobject-introspection +, liboauth +, gnome3 +, p11-kit +, openssl +, uhttpmock +, libsoup +}: stdenv.mkDerivation rec { pname = "libgdata"; - version = "0.17.9"; + version = "0.17.10"; + + outputs = [ "out" "dev" "installedTests" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"; + sha256 = "04mh2p5x2iidfx0d1cablxbi3hvna8cmlddc1mm4387n0grx3ly1"; }; - nativeBuildInputs = [ pkgconfig intltool gobject-introspection ]; + patches = [ + ./installed-tests-path.patch + ]; - buildInputs = [ gnome3.libsoup libxml2 glib liboauth gcr gnome3.gnome-online-accounts p11-kit openssl uhttpmock ]; + nativeBuildInputs = [ + gettext + gobject-introspection + meson + ninja + pkgconfig + vala + ]; - propagatedBuildInputs = [ json-glib ]; + buildInputs = [ + gcr + glib + gnome3.gnome-online-accounts + liboauth + libsoup + libxml2 + openssl + p11-kit + uhttpmock + ]; + + propagatedBuildInputs = [ + json-glib + ]; + + mesonFlags = [ + "-Dgtk_doc=false" + "-Dinstalled_test_bindir=${placeholder ''installedTests''}/libexec" + "-Dinstalled_test_datadir=${placeholder ''installedTests''}/share" + "-Dinstalled_tests=true" + ]; passthru = { updateScript = gnome3.updateScript { @@ -26,7 +75,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "GData API library"; homepage = https://wiki.gnome.org/Projects/libgdata; - maintainers = with maintainers; [ raskin lethalman ]; + maintainers = with maintainers; [ raskin lethalman ] ++ gnome3.maintainers; platforms = platforms.linux; license = licenses.lgpl21Plus; }; diff --git a/pkgs/development/libraries/libgdata/installed-tests-path.patch b/pkgs/development/libraries/libgdata/installed-tests-path.patch new file mode 100644 index 000000000000..18669817cfed --- /dev/null +++ b/pkgs/development/libraries/libgdata/installed-tests-path.patch @@ -0,0 +1,94 @@ +diff --git a/gdata/tests/meson.build b/gdata/tests/meson.build +index 52154e7a..1a44d1d8 100644 +--- a/gdata/tests/meson.build ++++ b/gdata/tests/meson.build +@@ -1,5 +1,12 @@ +-tests_execdir = gdata_libexecdir / 'installed-tests' / gdata_name +-tests_metadir = gdata_datadir / 'installed-tests' / gdata_name ++tests_bindir = get_option('installed_test_bindir') / 'installed-tests' / gdata_name ++if tests_bindir == '' ++ test_bindir = gdata_libexecdir / 'installed-tests' / gdata_name ++endif ++ ++tests_datadir = get_option('installed_test_datadir') / 'installed-tests' / gdata_name ++if tests_datadir == '' ++ tests_datadir = gdata_datadir / 'installed-tests' / gdata_name ++endif + + tests_sources = files( + 'common.c', +@@ -48,7 +55,7 @@ foreach test_name, extra_args: tests + dependencies: common_deps + extra_args.get('dependencies', []), + sources: tests_sources, + install: install_tests, +- install_dir: tests_execdir, ++ install_dir: tests_bindir, + ) + + test( +@@ -63,7 +70,7 @@ if install_tests + foreach test_name, extra_args: tests + tests_conf = { + 'TEST_TYPE': 'session', +- 'TEST_ABS_PATH': gdata_prefix / tests_execdir / test_name, ++ 'TEST_ABS_PATH': tests_bindir / test_name, + } + + configure_file ( +@@ -71,13 +78,13 @@ if install_tests + output: test_name + '.test', + configuration: tests_conf, + install: true, +- install_dir: tests_metadir, ++ install_dir: tests_datadir, + ) + endforeach + + install_subdir( + 'traces', +- install_dir: tests_execdir, ++ install_dir: tests_bindir, + ) + + test_data = [ +@@ -96,6 +103,6 @@ if install_tests + + install_data( + test_data, +- install_dir: tests_execdir, ++ install_dir: tests_bindir, + ) + endif +diff --git a/meson.build b/meson.build +index 7d2f5254..bed3e189 100644 +--- a/meson.build ++++ b/meson.build +@@ -20,9 +20,9 @@ gdata_api_version_minor = 0 + + # Define the install directories + gdata_prefix = get_option('prefix') +-gdata_datadir = get_option('datadir') +-gdata_libexecdir = get_option('libexecdir') +-gdata_includedir = get_option('includedir') ++gdata_datadir = gdata_prefix / get_option('datadir') ++gdata_libexecdir = gdata_prefix / get_option('libexecdir') ++gdata_includedir = gdata_prefix / get_option('includedir') + + gdata_include_subdir = gdata_name / 'gdata' + +diff --git a/meson_options.txt b/meson_options.txt +index 25cc6b55..6fc2cfa3 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -43,3 +43,11 @@ option('vapi', + type: 'boolean', + value: true, + description: 'Enable creation of vapi files') ++ ++option('installed_test_datadir', type: 'string', ++ value: '', ++ description: 'Installation directory for data files in tests') ++ ++option('installed_test_bindir', type: 'string', ++ value: '', ++ description: 'Installation directory for binary files in tests') From 3f19225e6f872585c051df9de85be1ae2248382f Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Thu, 4 Jul 2019 03:57:43 -0600 Subject: [PATCH 50/60] libyaml: 0.2.1 -> 0.2.2 --- .../development/libraries/libyaml/default.nix | 25 +++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/pkgs/development/libraries/libyaml/default.nix b/pkgs/development/libraries/libyaml/default.nix index c1f34bd33980..7529d69dddee 100644 --- a/pkgs/development/libraries/libyaml/default.nix +++ b/pkgs/development/libraries/libyaml/default.nix @@ -1,31 +1,14 @@ -{ stdenv, fetchurl, fetchpatch }: +{ stdenv, fetchurl }: -let - - version = "0.2.1"; - - # https://github.com/yaml/pyyaml/issues/214 - p1 = fetchpatch { - url = https://github.com/yaml/libyaml/commit/8ee83c0da22fe9aa7dea667be8f899a7e32ffb83.patch; - sha256 = "00jh39zww6s4gyhxfmlxwb6lz90nl3p51k5h1qm6z3ymik5vljmz"; - }; - p2 = fetchpatch { - url = https://github.com/yaml/libyaml/commit/56f4b17221868593d6903ee58d6d679b690cf4df.patch; - sha256 = "0najcay1y4kgfpsidj7dnyafnwjbav5jyawhyv215zl9gg3386n0"; - }; - -in - -stdenv.mkDerivation { - name = "libyaml-${version}"; +stdenv.mkDerivation rec { + pname = "libyaml"; + version = "0.2.2"; src = fetchurl { url = "https://pyyaml.org/download/libyaml/yaml-${version}.tar.gz"; sha256 = "1karpcfgacgppa82wm2drcfn2kb6q2wqfykf5nrhy20sci2i2a3q"; }; - patches = [ p1 p2 ]; # remove when the next release comes out - meta = with stdenv.lib; { homepage = https://pyyaml.org/; description = "A YAML 1.1 parser and emitter written in C"; From 971c341ccbe45d8fe69442d79f515d0cd266cb3e Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Thu, 4 Jul 2019 03:51:56 -0600 Subject: [PATCH 51/60] libxkbcommon: 0.8.0 -> 0.8.4 --- .../libraries/libxkbcommon/default.nix | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix index 3e0a2872c005..074de9b061b8 100644 --- a/pkgs/development/libraries/libxkbcommon/default.nix +++ b/pkgs/development/libraries/libxkbcommon/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, yacc, xkeyboard_config, libxcb, libX11, doxygen }: stdenv.mkDerivation rec { - name = "libxkbcommon-0.8.0"; + pname = "libxkbcommon"; + version = "0.8.4"; src = fetchurl { - url = "https://xkbcommon.org/download/${name}.tar.xz"; - sha256 = "0vgy84vfbig5bqznr137h5arjidnfwrxrdli0pxyn2jfn1fjcag8"; + url = "https://xkbcommon.org/download/${pname}-${version}.tar.xz"; + sha256 = "12vc91ydhphd5sddz15560r41l7k0i7mq6nma8kkbzdp6bwwzpb0"; }; outputs = [ "out" "dev" "doc" ]; @@ -13,14 +14,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkgconfig yacc doxygen ]; buildInputs = [ xkeyboard_config libxcb ]; - patches = [ - # darwin compatibility - (fetchpatch { - url = https://github.com/xkbcommon/libxkbcommon/commit/edb1c662394578a54b7bbed231d918925e5d8150.patch; - sha256 = "0ydjlir32r3xfsbqhnsx1bz6ags2m908yhf9i09i1s7sgcimbcx5"; - }) - ]; - mesonFlags = [ "-Denable-wayland=false" "-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb" From f79fd2e826dd95b3b64839d3e0bec8ae1dfab17e Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 5 Jul 2019 10:41:41 -0500 Subject: [PATCH 52/60] wrapQtAppsHook: wrap Qt applications for runtime dependencies --- .../services/x11/desktop-managers/plasma5.nix | 4 +- pkgs/applications/kde/ark/default.nix | 38 ++++--- pkgs/applications/kde/okular.nix | 12 +- .../plasma-5/plasma-workspace/default.nix | 11 +- .../libraries/kde-frameworks/default.nix | 15 +-- .../extra-cmake-modules/setup-hook.sh | 64 ++++++++++- .../kde-frameworks/kinit/default.nix | 4 +- .../libraries/qt-5/5.11/default.nix | 34 ++++-- .../libraries/qt-5/5.12/default.nix | 34 ++++-- .../libraries/qt-5/5.6/default.nix | 30 +++-- .../libraries/qt-5/5.9/default.nix | 30 +++-- .../libraries/qt-5/hooks/qtbase-setup-hook.sh | 22 ++-- .../libraries/qt-5/hooks/wrap-qt-apps-hook.sh | 106 ++++++++++++++++++ .../libraries/qt-5/mkDerivation.nix | 8 +- .../libraries/qt-5/modules/qtspeech.nix | 2 +- pkgs/top-level/all-packages.nix | 8 +- 16 files changed, 315 insertions(+), 107 deletions(-) create mode 100644 pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index dc8bfc7dc172..4b7773c4c6d0 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -64,8 +64,8 @@ in }; security.wrappers = { - kcheckpass.source = "${lib.getBin plasma5.kscreenlocker}/lib/libexec/kcheckpass"; - "start_kdeinit".source = "${lib.getBin pkgs.kinit}/lib/libexec/kf5/start_kdeinit"; + kcheckpass.source = "${lib.getBin plasma5.kscreenlocker}/libexec/kcheckpass"; + "start_kdeinit".source = "${lib.getBin pkgs.kinit}/libexec/kf5/start_kdeinit"; kwin_wayland = { source = "${lib.getBin plasma5.kwin}/bin/kwin_wayland"; capabilities = "cap_sys_nice+ep"; diff --git a/pkgs/applications/kde/ark/default.nix b/pkgs/applications/kde/ark/default.nix index 598857f2e70d..6015cb69d778 100644 --- a/pkgs/applications/kde/ark/default.nix +++ b/pkgs/applications/kde/ark/default.nix @@ -1,37 +1,39 @@ { - mkDerivation, lib, makeWrapper, + mkDerivation, lib, config, extra-cmake-modules, kdoctools, - karchive, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, kitemmodels, - khtml, kio, kparts, kpty, kservice, kwidgetsaddons, libarchive, + breeze-icons, karchive, kconfig, kcrash, kdbusaddons, ki18n, + kiconthemes, kitemmodels, khtml, kio, kparts, kpty, kservice, kwidgetsaddons, + + libarchive, libzip, # Archive tools - p7zip, unzip, zip, + p7zip, lrzip, # Unfree tools unfreeEnableUnrar ? false, unrar, }: +let + extraTools = [ p7zip lrzip ] ++ lib.optional unfreeEnableUnrar unrar; +in + mkDerivation { name = "ark"; - nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ]; - propagatedBuildInputs = [ - karchive kconfig kcrash kdbusaddons khtml ki18n kiconthemes kio kitemmodels - kparts kpty kservice kwidgetsaddons libarchive - ]; - outputs = [ "out" "dev" ]; - postFixup = - let - PATH = - lib.makeBinPath - ([ p7zip unzip zip ] ++ lib.optional unfreeEnableUnrar unrar); - in '' - wrapProgram "$out/bin/ark" --prefix PATH : "${PATH}" - ''; meta = { license = with lib.licenses; [ gpl2 lgpl3 ] ++ lib.optional unfreeEnableUnrar unfree; maintainers = [ lib.maintainers.ttuegel ]; }; + + outputs = [ "out" "dev" ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ libarchive libzip ] ++ extraTools; + propagatedBuildInputs = [ + breeze-icons karchive kconfig kcrash kdbusaddons khtml ki18n kiconthemes kio + kitemmodels kparts kpty kservice kwidgetsaddons + ]; + + qtWrapperArgs = [ "--prefix" "PATH" ":" (lib.makeBinPath extraTools) ]; } diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix index 39fb232b3421..377fbe3339a7 100644 --- a/pkgs/applications/kde/okular.nix +++ b/pkgs/applications/kde/okular.nix @@ -1,18 +1,18 @@ { stdenv, mkDerivation, lib, extra-cmake-modules, kdoctools, - chmlib ? null, discount, djvulibre, ebook_tools, kactivities, karchive, kbookmarks, - kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, - kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet, - kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler, qca-qt5, - qtdeclarative, qtsvg, threadweaver, kcrash + breeze-icons, chmlib ? null, discount, djvulibre, ebook_tools, kactivities, + karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, + kdbusaddons, kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts, + kpty, kwallet, kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler, + qca-qt5, qtdeclarative, qtsvg, threadweaver, kcrash }: mkDerivation { name = "okular"; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ - discount djvulibre ebook_tools kactivities karchive kbookmarks + breeze-icons discount djvulibre ebook_tools kactivities karchive kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons kdegraphics-mobipocket kiconthemes kjs khtml kio kparts kpty kwallet kwindowsystem libkexiv2 libspectre libzip phonon poppler qca-qt5 diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix index 680021e350b7..1403c9e4c8b7 100644 --- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix +++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix @@ -34,7 +34,8 @@ mkDerivation { qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland qtx11extras ]; - outputs = [ "bin" "dev" "out" ]; + propagatedUserEnvPkgs = [ qtgraphicaleffects ]; + outputs = [ "out" "dev" ]; cmakeFlags = [ "-DNIXPKGS_XMESSAGE=${getBin xmessage}/bin/xmessage" @@ -45,7 +46,7 @@ mkDerivation { "-DNIXPKGS_XPROP=${getBin xprop}/bin/xprop" "-DNIXPKGS_ID=${getBin coreutils}/bin/id" "-DNIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT=${getBin dbus}/bin/dbus-update-activation-environment" - "-DNIXPKGS_START_KDEINIT_WRAPPER=${getLib kinit}/lib/libexec/kf5/start_kdeinit_wrapper" + "-DNIXPKGS_START_KDEINIT_WRAPPER=${getLib kinit}/libexec/kf5/start_kdeinit_wrapper" "-DNIXPKGS_QDBUS=${getBin qttools}/bin/qdbus" "-DNIXPKGS_KWRAPPER5=${getBin kinit}/bin/kwrapper5" "-DNIXPKGS_KREADCONFIG5=${getBin kconfig}/bin/kreadconfig5" @@ -72,10 +73,6 @@ mkDerivation { preConfigure = '' NIX_CFLAGS_COMPILE+=" -DNIXPKGS_KDOSTARTUPCONFIG5=\"''${!outputBin}/bin/kdostartupconfig5\"" - cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/lib/libexec/startplasma" - ''; - - postInstall = '' - moveToOutput lib/libexec/startplasma ''${!outputBin} + cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/libexec/startplasma" ''; } diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index 62ae433ff710..7745d78f8fca 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -45,17 +45,9 @@ let if [ "$hookName" != postHook ]; then postHooks+=("source @dev@/nix-support/setup-hook") else - # Propagate $${out} output - propagatedUserEnvPkgs="$propagatedUserEnvPkgs @${out}@" - - if [ -z "$outputDev" ]; then - echo "error: \$outputDev is unset!" >&2 - exit 1 - fi - # Propagate $dev so that this setup hook is propagated # But only if there is a separate $dev output - if [ "$outputDev" != out ]; then + if [ "''${outputDev:?}" != out ]; then propagatedBuildInputs="$propagatedBuildInputs @dev@" fi fi @@ -75,10 +67,9 @@ let inherit (srcs."${name}") src version; outputs = args.outputs or [ "bin" "dev" "out" ]; - hasBin = lib.elem "bin" outputs; - hasDev = lib.elem "dev" outputs; + hasSeparateDev = lib.elem "dev" outputs; - defaultSetupHook = if hasBin && hasDev then propagateBin else null; + defaultSetupHook = if hasSeparateDev then propagateBin else null; setupHook = args.setupHook or defaultSetupHook; meta = { 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 88091e78a0cd..4df086ddbf21 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 @@ -1,16 +1,16 @@ -_ecmEnvHook() { +ecmEnvHook() { addToSearchPath XDG_DATA_DIRS "$1/share" addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg" } -addEnvHooks "$targetOffset" _ecmEnvHook +addEnvHooks "$targetOffset" ecmEnvHook -_ecmPreConfigureHook() { +ecmPostHook() { # Because we need to use absolute paths here, we must set *all* the paths. cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}" cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin" cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib" - cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec" + cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/libexec" cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var" @@ -51,4 +51,58 @@ _ecmPreConfigureHook() { cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix" fi } -preConfigureHooks+=(_ecmPreConfigureHook) +postHooks+=(ecmPostHook) + +xdgDataSubdirs=( + "doc" "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \ + "kxmlgui5" "knotifications5" "icons" "locale" "sounds" "templates" \ + "wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \ +) + + +ecmHostPathSeen=( ) + +ecmUnseenHostPath() { + for pkg in "${ecmHostPathSeen[@]}" + do + if [ "${pkg:?}" == "$1" ] + then + return 1 + fi + done + + ecmHostPathSeen+=("$1") + return 0 +} + +ecmHostPathHook() { + ecmUnseenHostPath "$1" || return 0 + + local xdgConfigDir="$1/etc/xdg" + if [ -d "$xdgConfigDir" ] + then + qtWrapperArgs+=(--prefix XDG_CONFIG_DIRS : "$xdgConfigDir") + fi + + for xdgDataSubdir in "${xdgDataSubdirs[@]}" + do + if [ -d "$1/share/$xdgDataSubdir" ] + then + qtWrapperArgs+=(--prefix XDG_DATA_DIRS : "$1/share") + break + fi + done + + local manDir="$1/man" + if [ -d "$manDir" ] + then + qtWrapperArgs+=(--prefix MANPATH : "$manDir") + fi + + local infoDir="$1/info" + if [ -d "$infoDir" ] + then + qtWrapperArgs+=(--prefix INFOPATH : "$infoDir") + fi +} +addEnvHooks "$hostOffset" ecmHostPathHook diff --git a/pkgs/development/libraries/kde-frameworks/kinit/default.nix b/pkgs/development/libraries/kde-frameworks/kinit/default.nix index 538078fd7457..42a1e157a917 100644 --- a/pkgs/development/libraries/kde-frameworks/kinit/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kinit/default.nix @@ -9,6 +9,7 @@ let inherit (lib) getLib; in mkDerivation { name = "kinit"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + outputs = [ "out" "dev" ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ kconfig kcrash ki18n kio kservice kwindowsystem @@ -19,9 +20,6 @@ mkDerivation { ''-DNIXPKGS_KF5_PARTS=\"${getLib kparts}/lib/libKF5Parts.so.5\"'' ''-DNIXPKGS_KF5_PLASMA=\"${getLib plasma-framework}/lib/libKF5Plasma.so.5\"'' ]; - postFixup = '' - moveToOutput "lib/libexec/kf5/start_kdeinit" "$bin" - ''; setupHook = writeScript "setup-hook.sh" '' kinitFixupOutputHook() { if [ $prefix != ''${!outputBin} ] && [ -d $prefix/lib ]; then diff --git a/pkgs/development/libraries/qt-5/5.11/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix index f43329d35539..9ef3364cd5c7 100644 --- a/pkgs/development/libraries/qt-5/5.11/default.nix +++ b/pkgs/development/libraries/qt-5/5.11/default.nix @@ -17,7 +17,7 @@ top-level attribute to `top-level/all-packages.nix`. { newScope, - stdenv, fetchurl, fetchFromGitHub, makeSetupHook, + stdenv, fetchurl, fetchFromGitHub, makeSetupHook, makeWrapper, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, gtk3, dconf, cf-private, llvmPackages_5, @@ -34,6 +34,8 @@ let qtCompatVersion = "5.11"; + stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; + mirror = "https://download.qt.io"; srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // { # Community port of the now unmaintained upstream qtwebkit. @@ -64,16 +66,18 @@ let qtwebkit = [ ./qtwebkit.patch ]; }; - mkDerivation = - import ../mkDerivation.nix { - inherit (stdenv) lib; - stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; - } - { inherit debug; }; - qtModule = import ../qtModule.nix - { inherit mkDerivation perl; inherit (stdenv) lib; } + { + inherit perl; + inherit (stdenv) lib; + # Use a variant of mkDerivation that does not include wrapQtApplications + # to avoid cyclic dependencies between Qt modules. + mkDerivation = + import ../mkDerivation.nix + { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; } + stdenvActual.mkDerivation; + } { inherit self srcs patches; }; addPackages = self: with self; @@ -81,7 +85,11 @@ let callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; }; in { - inherit mkDerivation; + mkDerivationWith = + import ../mkDerivation.nix + { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; }; + + mkDerivation = mkDerivationWith stdenvActual.mkDerivation; qtbase = callPackage ../modules/qtbase.nix { inherit (srcs.qtbase) src version; @@ -146,6 +154,12 @@ let fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; }; } ../hooks/qmake-hook.sh; + + wrapQtAppsHook = makeSetupHook { + deps = + [ self.qtbase.dev makeWrapper ] + ++ optional stdenv.isLinux self.qtwayland.dev; + } ../hooks/wrap-qt-apps-hook.sh; }; self = makeScope newScope addPackages; diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 2aa7d0f71ee0..7a85202ced76 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -17,7 +17,7 @@ top-level attribute to `top-level/all-packages.nix`. { newScope, - stdenv, fetchurl, fetchFromGitHub, makeSetupHook, + stdenv, fetchurl, fetchFromGitHub, makeSetupHook, makeWrapper, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, gtk3, dconf, cf-private, llvmPackages_5, @@ -34,6 +34,8 @@ let qtCompatVersion = "5.12"; + stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; + mirror = "https://download.qt.io"; srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // { # Community port of the now unmaintained upstream qtwebkit. @@ -69,16 +71,18 @@ let qttools = [ ./qttools.patch ]; }; - mkDerivation = - import ../mkDerivation.nix { - inherit (stdenv) lib; - stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; - } - { inherit debug; }; - qtModule = import ../qtModule.nix - { inherit mkDerivation perl; inherit (stdenv) lib; } + { + inherit perl; + inherit (stdenv) lib; + # Use a variant of mkDerivation that does not include wrapQtApplications + # to avoid cyclic dependencies between Qt modules. + mkDerivation = + import ../mkDerivation.nix + { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; } + stdenvActual.mkDerivation; + } { inherit self srcs patches; }; addPackages = self: with self; @@ -86,7 +90,11 @@ let callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; }; in { - inherit mkDerivation; + mkDerivationWith = + import ../mkDerivation.nix + { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; }; + + mkDerivation = mkDerivationWith stdenvActual.mkDerivation; qtbase = callPackage ../modules/qtbase.nix { inherit (srcs.qtbase) src version; @@ -151,6 +159,12 @@ let fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; }; } ../hooks/qmake-hook.sh; + + wrapQtAppsHook = makeSetupHook { + deps = + [ self.qtbase.dev makeWrapper ] + ++ optional stdenv.isLinux self.qtwayland.dev; + } ../hooks/wrap-qt-apps-hook.sh; }; self = makeScope newScope addPackages; diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix index e493fc169aba..2018488cee51 100644 --- a/pkgs/development/libraries/qt-5/5.6/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/default.nix @@ -26,7 +26,7 @@ existing packages here and modify it as necessary. { newScope, - stdenv, fetchurl, fetchpatch, makeSetupHook, + stdenv, fetchurl, fetchpatch, makeSetupHook, makeWrapper, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, cf-private, @@ -105,14 +105,18 @@ let ]; }; - mkDerivation = - import ../mkDerivation.nix - { inherit stdenv; inherit (stdenv) lib; } - { inherit debug; }; - qtModule = import ../qtModule.nix - { inherit mkDerivation perl; inherit (stdenv) lib; } + { + inherit perl; + inherit (stdenv) lib; + # Use a variant of mkDerivation that does not include wrapQtApplications + # to avoid cyclic dependencies between Qt modules. + mkDerivation = + import ../mkDerivation.nix + { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; } + stdenv.mkDerivation; + } { inherit self srcs patches; }; addPackages = self: with self; @@ -120,7 +124,11 @@ let callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; }; in { - inherit mkDerivation; + mkDerivationWith = + import ../mkDerivation.nix + { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; }; + + mkDerivation = mkDerivationWith stdenv.mkDerivation; qtbase = callPackage ../modules/qtbase.nix { inherit bison cups harfbuzz libGL; @@ -176,6 +184,12 @@ let deps = [ self.qtbase.dev ]; substitutions = { inherit (stdenv) isDarwin; }; } ../hooks/qmake-hook.sh; + + wrapQtAppsHook = makeSetupHook { + deps = + [ self.qtbase.dev makeWrapper ] + ++ optional stdenv.isLinux self.qtwayland.dev; + } ../hooks/wrap-qt-apps-hook.sh; }; self = makeScope newScope addPackages; diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix index 9baca8124bd7..373c1b7b9ba6 100644 --- a/pkgs/development/libraries/qt-5/5.9/default.nix +++ b/pkgs/development/libraries/qt-5/5.9/default.nix @@ -17,7 +17,7 @@ top-level attribute to `top-level/all-packages.nix`. { newScope, - stdenv, fetchurl, fetchpatch, makeSetupHook, + stdenv, fetchurl, fetchpatch, makeSetupHook, makeWrapper, bison, cups ? null, harfbuzz, libGL, perl, gstreamer, gst-plugins-base, gtk3, dconf, cf-private, @@ -68,14 +68,18 @@ let }; - mkDerivation = - import ../mkDerivation.nix - { inherit stdenv; inherit (stdenv) lib; } - { inherit debug; }; - qtModule = import ../qtModule.nix - { inherit mkDerivation perl; inherit (stdenv) lib; } + { + inherit perl; + inherit (stdenv) lib; + # Use a variant of mkDerivation that does not include wrapQtApplications + # to avoid cyclic dependencies between Qt modules. + mkDerivation = + import ../mkDerivation.nix + { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; } + stdenv.mkDerivation; + } { inherit self srcs patches; }; addPackages = self: with self; @@ -83,7 +87,11 @@ let callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; }; in { - inherit mkDerivation; + mkDerivationWith = + import ../mkDerivation.nix + { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; }; + + mkDerivation = mkDerivationWith stdenv.mkDerivation; qtbase = callPackage ../modules/qtbase.nix { inherit (srcs.qtbase) src version; @@ -145,6 +153,12 @@ let fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh; }; } ../hooks/qmake-hook.sh; + + wrapQtAppsHook = makeSetupHook { + deps = + [ self.qtbase.dev makeWrapper ] + ++ optional stdenv.isLinux self.qtwayland.dev; + } ../hooks/wrap-qt-apps-hook.sh; }; self = makeScope newScope addPackages; diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh index 3a558153988c..436c2e1d032a 100644 --- a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh @@ -19,12 +19,14 @@ export QMAKEPATH QMAKEMODULES= export QMAKEMODULES -addToQMAKEPATH() { - if [ -d "$1/mkspecs" ]; then +qmakePathHook() { + if [ -d "$1/mkspecs" ] + then QMAKEMODULES="${QMAKEMODULES}${QMAKEMODULES:+:}/mkspecs" QMAKEPATH="${QMAKEPATH}${QMAKEPATH:+:}$1" fi } +envBuildHostHooks+=(qmakePathHook) # Propagate any runtime dependency of the building package. # Each dependency is propagated to the user environment and as a build @@ -32,18 +34,18 @@ addToQMAKEPATH() { # package depending on the building package. (This is necessary in case # the building package does not provide runtime dependencies itself and so # would not be propagated to the user environment.) -qtEnvHook() { - addToQMAKEPATH "$1" - if providesQtRuntime "$1"; then - if [ "z${!outputBin}" != "z${!outputDev}" ]; then - propagatedBuildInputs+=" $1" - fi - propagatedUserEnvPkgs+=" $1" +qtEnvHostTargetHook() { + if providesQtRuntime "$1" && [ "z${!outputBin}" != "z${!outputDev}" ] + then + propagatedBuildInputs+=" $1" fi } -envHostTargetHooks+=(qtEnvHook) +envHostTargetHooks+=(qtEnvHostTargetHook) postPatchMkspecs() { + # Prevent this hook from running multiple times + dontPatchMkspecs=1 + local bin="${!outputBin}" local dev="${!outputDev}" local doc="${!outputDoc}" diff --git a/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh new file mode 100644 index 000000000000..83f62e4ec2b8 --- /dev/null +++ b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh @@ -0,0 +1,106 @@ +# Inherit arguments given in mkDerivation +qtWrapperArgs=( $qtWrapperArgs ) + +qtHostPathSeen=() + +qtUnseenHostPath() { + for pkg in "${qtHostPathSeen[@]}" + do + if [ "${pkg:?}" == "$1" ] + then + return 1 + fi + done + + qtHostPathSeen+=("$1") + return 0 +} + +qtHostPathHook() { + qtUnseenHostPath "$1" || return 0 + + local pluginDir="$1/${qtPluginPrefix:?}" + if [ -d "$pluginDir" ] + then + qtWrapperArgs+=(--prefix QT_PLUGIN_PATH : "$pluginDir") + fi + + local qmlDir="$1/${qtQmlPrefix:?}" + if [ -d "$qmlDir" ] + then + qtWrapperArgs+=(--prefix QML2_IMPORT_PATH : "$qmlDir") + fi +} +addEnvHooks "$hostOffset" qtHostPathHook + +makeQtWrapper() { + local original="$1" + local wrapper="$2" + shift 2 + makeWrapper "$original" "$wrapper" "${qtWrapperArgs[@]}" "$@" +} + +wrapQtApp() { + local program="$1" + shift 1 + wrapProgram "$program" "${qtWrapperArgs[@]}" "$@" +} + +qtOwnPathsHook() { + local xdgDataDir="${!outputBin}/share" + if [ -d "$xdgDataDir" ] + then + qtWrapperArgs+=(--prefix XDG_DATA_DIRS : "$xdgDataDir") + fi + + local xdgConfigDir="${!outputBin}/etc/xdg" + if [ -d "$xdgConfigDir" ] + then + qtWrapperArgs+=(--prefix XDG_CONFIG_DIRS : "$xdgConfigDir") + fi + + qtHostPathHook "${!outputBin}" +} + +preFixupPhases+=" qtOwnPathsHook" + +isQtApp () { + readelf -d "$1" 2>/dev/null | grep -q -F 'libQt5Core' +} + +# Note: $qtWrapperArgs still gets defined even if $dontWrapQtApps is set. +wrapQtAppsHook() { + # skip this hook when requested + [ -z "$dontWrapQtApps" ] || return 0 + + # guard against running multiple times (e.g. due to propagation) + [ -z "$wrapQtAppsHookHasRun" ] || return 0 + wrapQtAppsHookHasRun=1 + + local targetDirs=( "$prefix/bin" ) + echo "wrapping Qt applications in ${targetDirs[@]}" + + for targetDir in "${targetDirs[@]}" + do + [ -d "$targetDir" ] || continue + + find "$targetDir" -executable -print0 | while IFS= read -r -d '' file + do + isQtApp "$file" || continue + + if [ -f "$file" ] + then + echo "wrapping $file" + wrapQtApp "$file" + elif [ -h "$file" ] + then + target="$(readlink -e "$file")" + echo "wrapping $file -> $target" + rm "$file" + makeQtWrapper "$target" "$file" + fi + done + done +} + +fixupOutputHooks+=(wrapQtAppsHook) diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix index d4e2143d564b..95357c096dfd 100644 --- a/pkgs/development/libraries/qt-5/mkDerivation.nix +++ b/pkgs/development/libraries/qt-5/mkDerivation.nix @@ -1,8 +1,8 @@ -{ stdenv, lib }: +{ lib, debug, wrapQtAppsHook }: let inherit (lib) optional; in -{ debug }: +mkDerivation: args: @@ -24,7 +24,9 @@ let enableParallelBuilding = args.enableParallelBuilding or true; + nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ wrapQtAppsHook ]; + }; in -stdenv.mkDerivation (args // args_) +mkDerivation (args // args_) diff --git a/pkgs/development/libraries/qt-5/modules/qtspeech.nix b/pkgs/development/libraries/qt-5/modules/qtspeech.nix index 7b4b19ccab5a..ddef01a9482e 100644 --- a/pkgs/development/libraries/qt-5/modules/qtspeech.nix +++ b/pkgs/development/libraries/qt-5/modules/qtspeech.nix @@ -3,5 +3,5 @@ qtModule { name = "qtspeech"; qtInputs = [ ]; - outputs = [ "out" "dev" "bin" ]; + outputs = [ "out" "dev" ]; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8fc073db1d35..38df506de600 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12772,7 +12772,7 @@ in qt56 = recurseIntoAttrs (makeOverridable (import ../development/libraries/qt-5/5.6) { inherit newScope; - inherit stdenv fetchurl fetchpatch makeSetupHook; + inherit stdenv fetchurl fetchpatch makeSetupHook makeWrapper; bison = bison2; # error: too few arguments to function 'int yylex(... inherit cups; harfbuzz = harfbuzzFull; @@ -12787,7 +12787,7 @@ in qt59 = recurseIntoAttrs (makeOverridable (import ../development/libraries/qt-5/5.9) { inherit newScope; - inherit stdenv fetchurl fetchpatch makeSetupHook; + inherit stdenv fetchurl fetchpatch makeSetupHook makeWrapper; bison = bison2; # error: too few arguments to function 'int yylex(... inherit cups; harfbuzz = harfbuzzFull; @@ -12804,7 +12804,7 @@ in qt511 = recurseIntoAttrs (makeOverridable (import ../development/libraries/qt-5/5.11) { inherit newScope; - inherit stdenv fetchurl fetchFromGitHub makeSetupHook; + inherit stdenv fetchurl fetchFromGitHub makeSetupHook makeWrapper; bison = bison2; # error: too few arguments to function 'int yylex(... inherit cups; harfbuzz = harfbuzzFull; @@ -12822,7 +12822,7 @@ in qt512 = recurseIntoAttrs (makeOverridable (import ../development/libraries/qt-5/5.12) { inherit newScope; - inherit stdenv fetchurl fetchFromGitHub makeSetupHook; + inherit stdenv fetchurl fetchFromGitHub makeSetupHook makeWrapper; bison = bison2; # error: too few arguments to function 'int yylex(... inherit cups; harfbuzz = harfbuzzFull; From 51d78034a1db78f8ce0ea3ba6fa20be590ed0ca2 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 5 Jul 2019 10:42:08 -0500 Subject: [PATCH 53/60] wrapQtAppsHook: Remove ad hoc Qt wrappers --- pkgs/applications/altcoins/bitcoin.nix | 15 ++++---- .../altcoins/monero-gui/default.nix | 11 ++---- pkgs/applications/audio/carla/default.nix | 13 ++++--- pkgs/applications/audio/kid3/default.nix | 9 ++--- .../editors/kdevelop5/kdevelop.nix | 5 +-- .../gis/openorienteering-mapper/default.nix | 8 ++--- pkgs/applications/graphics/ktikz/default.nix | 10 ++---- pkgs/applications/misc/albert/default.nix | 5 --- .../misc/electron-cash/default.nix | 8 ++--- pkgs/applications/misc/keepassx/community.nix | 9 +++-- .../misc/masterpdfeditor/default.nix | 9 ++--- pkgs/applications/misc/subsurface/default.nix | 9 ++--- pkgs/applications/misc/xpdf/default.nix | 11 +++--- .../networking/browsers/qtchan/default.nix | 7 +--- .../telegram/tdesktop/generic.nix | 7 ++-- .../networking/linssid/default.nix | 11 +++--- .../networking/mumble/default.nix | 9 ++--- .../newsreaders/quiterss/default.nix | 9 ++--- .../networking/nextcloud-client/default.nix | 12 +++---- .../networking/protonmail-bridge/default.nix | 13 ++----- .../networking/sniffers/wireshark/default.nix | 7 ++-- pkgs/applications/office/kmymoney/default.nix | 12 +++---- pkgs/applications/office/scribus/unstable.nix | 12 +++---- .../science/astronomy/stellarium/default.nix | 15 +++----- .../science/electronics/dsview/default.nix | 9 ++--- .../version-management/p4v/default.nix | 10 +++--- pkgs/applications/video/avidemux/default.nix | 15 +++++--- pkgs/applications/video/minitube/default.nix | 9 ++--- .../development/compilers/nextpnr/default.nix | 15 +++----- .../libraries/cutelyst/default.nix | 10 ++---- .../libraries/gsettings-qt/default.nix | 6 +++- .../development/r-modules/wrapper-rstudio.nix | 9 ++--- .../tools/analysis/hopper/default.nix | 26 +++++++------- pkgs/development/tools/qtcreator/default.nix | 16 ++++----- pkgs/development/tools/tora/default.nix | 7 ++-- pkgs/games/chessx/default.nix | 3 -- pkgs/games/flightgear/default.nix | 9 +++-- pkgs/games/nethack/default.nix | 13 ++++--- pkgs/misc/emulators/mgba/default.nix | 6 ++-- pkgs/tools/graphics/nifskope/default.nix | 12 +++---- pkgs/tools/misc/partition-manager/default.nix | 10 ++---- .../tools/misc/yubikey-manager-qt/default.nix | 35 +++++++------------ pkgs/tools/security/nitrokey-app/default.nix | 11 ++---- 43 files changed, 179 insertions(+), 288 deletions(-) diff --git a/pkgs/applications/altcoins/bitcoin.nix b/pkgs/applications/altcoins/bitcoin.nix index d1802f774f28..ce0a31dfe68b 100644 --- a/pkgs/applications/altcoins/bitcoin.nix +++ b/pkgs/applications/altcoins/bitcoin.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq, rapidcheck -, zlib, miniupnpc, qtbase ? null, qttools ? null, utillinux, protobuf, python3, qrencode, libevent +, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, protobuf, python3, qrencode, libevent , withGui }: with stdenv.lib; @@ -14,7 +14,9 @@ stdenv.mkDerivation rec{ sha256 = "5e4e6890e07b620a93fdb24605dae2bb53e8435b2a93d37558e1db1913df405f"; }; - nativeBuildInputs = [ pkgconfig autoreconfHook ]; + nativeBuildInputs = + [ pkgconfig autoreconfHook ] + ++ optional withGui wrapQtAppsHook; buildInputs = [ openssl db48 boost zlib zeromq miniupnpc protobuf libevent] ++ optionals stdenv.isLinux [ utillinux ] @@ -34,10 +36,11 @@ stdenv.mkDerivation rec{ doCheck = true; - # QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI. - # See also https://github.com/NixOS/nixpkgs/issues/24256 - checkFlags = optionals withGui [ "QT_PLUGIN_PATH=${qtbase}/lib/qt-5.${versions.minor qtbase.version}/plugins" ] - ++ [ "LC_ALL=C.UTF-8" ]; + checkFlags = + [ "LC_ALL=C.UTF-8" ] + # QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI. + # See also https://github.com/NixOS/nixpkgs/issues/24256 + ++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}"; enableParallelBuilding = true; diff --git a/pkgs/applications/altcoins/monero-gui/default.nix b/pkgs/applications/altcoins/monero-gui/default.nix index f597d6b6527c..986dd2b9e5d7 100644 --- a/pkgs/applications/altcoins/monero-gui/default.nix +++ b/pkgs/applications/altcoins/monero-gui/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub -, makeWrapper, makeDesktopItem +, wrapQtAppsHook, makeDesktopItem , qtbase, qmake, qtmultimedia, qttools , qtgraphicaleffects, qtdeclarative , qtlocation, qtquickcontrols, qtquickcontrols2 @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { sha256 = "1l4kx2vidr7bpds43jdbwyaz0q1dy7sricpz061ff1fkappbxdh8"; }; - nativeBuildInputs = [ qmake pkgconfig ]; + nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ]; buildInputs = [ qtbase qtmultimedia qtgraphicaleffects @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { qtwebchannel qtwebengine qtx11extras qtxmlpatterns monero unbound readline boost libunwind libsodium pcsclite zeromq - cppzmq makeWrapper hidapi + cppzmq hidapi ]; patches = [ @@ -94,11 +94,6 @@ stdenv.mkDerivation rec { cp $src/images/appicons/$size.png \ $out/share/icons/hicolor/$size/apps/monero.png done; - - # wrap runtime dependencies - wrapProgram $out/bin/monero-wallet-gui \ - --set QML2_IMPORT_PATH "${qml2ImportPath}" \ - --set QT_PLUGIN_PATH "${qtbase.bin}/${qtbase.qtPluginPrefix}" ''; meta = { diff --git a/pkgs/applications/audio/carla/default.nix b/pkgs/applications/audio/carla/default.nix index 6e623a69919d..98a4ddd29d6e 100644 --- a/pkgs/applications/audio/carla/default.nix +++ b/pkgs/applications/audio/carla/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, alsaLib, file, fluidsynth, ffmpeg, jack2, liblo, libpulseaudio, libsndfile, pkgconfig, python3Packages, which, withFrontend ? true, - withQt ? true, qtbase ? null, + withQt ? true, qtbase ? null, wrapQtAppsHook ? null, withGtk2 ? true, gtk2 ? null, withGtk3 ? true, gtk3 ? null }: @@ -9,6 +9,7 @@ with stdenv.lib; assert withFrontend -> python3Packages ? pyqt5; assert withQt -> qtbase != null; +assert withQt -> wrapQtAppsHook != null; assert withGtk2 -> gtk2 != null; assert withGtk3 -> gtk3 != null; @@ -23,7 +24,9 @@ stdenv.mkDerivation rec { sha256 = "0fqgncqlr86n38yy7pa118mswfacmfczj7w9xx6c6k0jav3wk29k"; }; - nativeBuildInputs = [ python3Packages.wrapPython pkgconfig which ]; + nativeBuildInputs = [ + python3Packages.wrapPython pkgconfig which wrapQtAppsHook + ]; pythonPath = with python3Packages; [ rdflib pyliblo @@ -38,6 +41,7 @@ stdenv.mkDerivation rec { installFlags = [ "PREFIX=$(out)" ]; + dontWrapQtApps = true; postFixup = '' # Also sets program_PYTHONPATH and program_PATH variables wrapPythonPrograms @@ -48,10 +52,9 @@ stdenv.mkDerivation rec { patchPythonScript "$out/share/carla/carla_settings.py" for program in $out/bin/*; do - wrapProgram "$program" \ + wrapQtApp "$program" \ --prefix PATH : "$program_PATH:${which}/bin" \ - --set PYTHONNOUSERSITE true \ - --prefix QT_PLUGIN_PATH : "${qtbase.bin}/${qtbase.qtPluginPrefix}" + --set PYTHONNOUSERSITE true done ''; diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix index b4406dab70eb..04d0349c88f6 100644 --- a/pkgs/applications/audio/kid3/default.nix +++ b/pkgs/applications/audio/kid3/default.nix @@ -3,7 +3,7 @@ , chromaprint, docbook_xml_dtd_45, docbook_xsl, libxslt , id3lib, taglib, mp4v2, flac, libogg, libvorbis , zlib, readline , qtbase, qttools, qtmultimedia, qtquickcontrols -, makeWrapper +, wrapQtAppsHook }: stdenv.mkDerivation rec { @@ -16,11 +16,12 @@ stdenv.mkDerivation rec { sha256 = "0xkrsjrbr3z8cn8hjf623l28r3b755gr11i0clv8d8i3s10vhbd8"; }; + nativeBuildInputs = [ wrapQtAppsHook ]; buildInputs = with stdenv.lib; [ pkgconfig cmake python ffmpeg phonon automoc4 chromaprint docbook_xml_dtd_45 docbook_xsl libxslt id3lib taglib mp4v2 flac libogg libvorbis zlib readline - qtbase qttools qtmultimedia qtquickcontrols makeWrapper ]; + qtbase qttools qtmultimedia qtquickcontrols ]; cmakeFlags = [ "-DWITH_APPS=Qt;CLI" ]; NIX_LDFLAGS = "-lm -lpthread"; @@ -29,10 +30,6 @@ stdenv.mkDerivation rec { export DOCBOOKDIR="${docbook_xsl}/xml/xsl/docbook/" ''; - postInstall = '' - wrapProgram $out/bin/kid3-qt --prefix QT_PLUGIN_PATH : $out/lib/qt5/plugins - ''; - enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix index 23ec887ad621..c17239d4fd91 100644 --- a/pkgs/applications/editors/kdevelop5/kdevelop.nix +++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix @@ -43,6 +43,8 @@ mkDerivation rec { "-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${(builtins.parseDrvName llvmPackages.clang.name).version}/include" ]; + dontWrapQtApps = true; + postPatch = '' # FIXME: temporary until https://invent.kde.org/kde/kdevelop/merge_requests/8 is merged substituteInPlace kdevplatform/language/backgroundparser/parsejob.cpp --replace \ @@ -55,8 +57,7 @@ mkDerivation rec { wrapProgram "$out/bin/kdevelop!" \ --prefix PATH ":" "${lib.makeBinPath [ qttools kde-cli-tools ]}" - wrapProgram "$out/bin/kdevelop" \ - --prefix QT_PLUGIN_PATH : $out/lib/qt-${qtVersion}/plugins + wrapQtApp "$out/bin/kdevelop" # Fix the (now wrapped) kdevelop! to find things in right places: # - Fixup the one use where KDEV_BASEDIR is assumed to contain kdevelop. diff --git a/pkgs/applications/gis/openorienteering-mapper/default.nix b/pkgs/applications/gis/openorienteering-mapper/default.nix index a5a0492ab876..063e997fec19 100644 --- a/pkgs/applications/gis/openorienteering-mapper/default.nix +++ b/pkgs/applications/gis/openorienteering-mapper/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, gdal, cmake, ninja, proj, clipper, zlib, qtbase, qttools - , qtlocation, qtsensors, doxygen, cups, makeWrapper, qtimageformats +, qtlocation, qtsensors, doxygen, cups, wrapQtAppsHook, qtimageformats }: stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { buildInputs = [ gdal qtbase qttools qtlocation qtimageformats qtsensors clipper zlib proj doxygen cups]; - nativeBuildInputs = [ cmake makeWrapper ninja ]; + nativeBuildInputs = [ cmake wrapQtAppsHook ninja ]; src = fetchFromGitHub { owner = "OpenOrienteering"; @@ -48,9 +48,7 @@ stdenv.mkDerivation rec { stdenv.lib.optionalString stdenv.isDarwin '' # Fixes "This application failed to start because it could not find or load the Qt # platform plugin "cocoa"." - wrapProgram $out/Mapper.app/Contents/MacOS/Mapper \ - --set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-*/plugins/platforms \ - --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtimageformats}/${qtbase.qtPluginPrefix} + wrapQtApp $out/Mapper.app/Contents/MacOS/Mapper mkdir -p $out/bin ln -s $out/Mapper.app/Contents/MacOS/Mapper $out/bin/mapper ''; diff --git a/pkgs/applications/graphics/ktikz/default.nix b/pkgs/applications/graphics/ktikz/default.nix index c53c70888b2c..4ddc2074f2f4 100644 --- a/pkgs/applications/graphics/ktikz/default.nix +++ b/pkgs/applications/graphics/ktikz/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, fetchpatch -, pkgconfig, makeWrapper +, pkgconfig, wrapQtAppsHook , poppler, qt5, gnuplot }: @@ -36,9 +36,9 @@ stdenv.mkDerivation rec { }) ]; + nativeBuildInputs = [ pkgconfig qt5.qttools qt5.qmake wrapQtAppsHook ]; QT_PLUGIN_PATH = "${qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}"; - nativeBuildInputs = [ pkgconfig qt5.qttools qt5.qmake makeWrapper ]; buildInputs = [ qt5.qtbase poppler ]; enableParallelBuilding = true; @@ -50,9 +50,5 @@ stdenv.mkDerivation rec { "QCOLLECTIONGENERATORCOMMAND=qhelpgenerator" ]; - postFixup = '' - wrapProgram "$out/bin/qtikz" \ - --prefix QT_PLUGIN_PATH : "${qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}" \ - --prefix PATH : "${gnuplot}/bin" - ''; + qtWrapperArgs = [ ''--prefix PATH : "${gnuplot}/bin"'' ]; } diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix index 2dda615081c0..6fc5f9514651 100644 --- a/pkgs/applications/misc/albert/default.nix +++ b/pkgs/applications/misc/albert/default.nix @@ -37,11 +37,6 @@ mkDerivation rec { rm "$out/lib" ''; - postInstall = '' - wrapProgram $out/bin/albert \ - --prefix XDG_DATA_DIRS : $out/share - ''; - meta = with lib; { homepage = https://albertlauncher.github.io/; description = "Desktop agnostic launcher"; diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix index 788ff9b638b9..8f5069152028 100644 --- a/pkgs/applications/misc/electron-cash/default.nix +++ b/pkgs/applications/misc/electron-cash/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, python3Packages, qtbase, makeWrapper }: +{ lib, fetchurl, python3Packages, qtbase, wrapQtAppsHook }: python3Packages.buildPythonApplication rec { pname = "electron-cash"; @@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec { btchip ]; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ wrapQtAppsHook ]; postPatch = '' substituteInPlace contrib/requirements/requirements.txt \ @@ -54,10 +54,6 @@ python3Packages.buildPythonApplication rec { postInstall = '' substituteInPlace $out/share/applications/electron-cash.desktop \ --replace "Exec=electron-cash" "Exec=$out/bin/electron-cash" - - # Please remove this when #44047 is fixed - wrapProgram $out/bin/electron-cash \ - --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins ''; doInstallCheck = true; diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix index b52cff784e5f..7a154e85a6e7 100644 --- a/pkgs/applications/misc/keepassx/community.nix +++ b/pkgs/applications/misc/keepassx/community.nix @@ -17,6 +17,7 @@ , qtsvg , qtx11extras , quazip +, wrapQtAppsHook , yubikey-personalization , zlib @@ -73,12 +74,11 @@ stdenv.mkDerivation rec { doCheck = true; checkPhase = '' export LC_ALL="en_US.UTF-8" - export QT_PLUGIN_PATH="${qtbase.bin}/${qtbase.qtPluginPrefix}" export QT_QPA_PLATFORM=offscreen make test ARGS+="-E testgui --output-on-failure" ''; - nativeBuildInputs = [ cmake makeWrapper qttools ]; + nativeBuildInputs = [ cmake wrapQtAppsHook qttools ]; buildInputs = [ curl @@ -102,10 +102,9 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional withKeePassKeeShareSecure quazip ++ stdenv.lib.optional stdenv.isDarwin qtmacextras; - postInstall = optionalString stdenv.isDarwin '' + preFixup = optionalString stdenv.isDarwin '' # Make it work without Qt in PATH. - wrapProgram $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC \ - --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix} + wrapQtApp $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC ''; meta = { diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix index 7acebfad488b..eb0e61ba6d73 100644 --- a/pkgs/applications/misc/masterpdfeditor/default.nix +++ b/pkgs/applications/misc/masterpdfeditor/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, makeWrapper }: +{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, wrapQtAppsHook }: let version = "5.4.10"; @@ -11,17 +11,12 @@ in stdenv.mkDerivation { sha256 = "1902ahb2g9xanrip1n0ihr31az8sv9fsvzddnzf70kbwlfclnqf7"; }; - nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; + nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ]; buildInputs = [ nss qtbase qtsvg sane-backends stdenv.cc.cc ]; dontStrip = true; - # Please remove this when #44047 is fixed - postInstall = '' - wrapProgram $out/bin/masterpdfeditor5 --prefix QT_PLUGIN_PATH : ${lib.getBin qtbase}/${qtbase.qtPluginPrefix} - ''; - installPhase = '' runHook preInstall diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix index 50bb1df2eef2..7bac1db813f4 100644 --- a/pkgs/applications/misc/subsurface/default.nix +++ b/pkgs/applications/misc/subsurface/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, makeWrapper, pkgconfig, qmake +{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, wrapQtAppsHook, pkgconfig, qmake , curl, grantlee, libgit2, libusb, libssh2, libxml2, libxslt, libzip, zlib , qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit, libXcomposite }: @@ -79,18 +79,13 @@ in stdenv.mkDerivation rec { qtbase qtconnectivity qtsvg qttools qtwebkit ]; - nativeBuildInputs = [ cmake makeWrapper pkgconfig ]; + nativeBuildInputs = [ cmake wrapQtAppsHook pkgconfig ]; cmakeFlags = [ "-DLIBDC_FROM_PKGCONFIG=ON" "-DNO_PRINTING=OFF" ]; - postInstall = '' - wrapProgram $out/bin/subsurface \ - --prefix QT_PLUGIN_PATH : "${googlemaps}/${googlemaps.pluginsSubdir}" - ''; - enableParallelBuilding = true; passthru = { inherit version libdc googlemaps; }; diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix index eb76448391e3..d524482dee70 100644 --- a/pkgs/applications/misc/xpdf/default.nix +++ b/pkgs/applications/misc/xpdf/default.nix @@ -1,6 +1,6 @@ { enableGUI ? true, enablePDFtoPPM ? true, useT1Lib ? false , stdenv, fetchurl, zlib, libpng, freetype ? null, t1lib ? null -, cmake, qtbase ? null, qtsvg ? null, makeWrapper +, cmake, qtbase ? null, qtsvg ? null, wrapQtAppsHook }: assert enableGUI -> qtbase != null && qtsvg != null && freetype != null; @@ -22,7 +22,9 @@ stdenv.mkDerivation { # https://cmake.org/cmake/help/v3.10/command/cmake_minimum_required.html patches = stdenv.lib.optional stdenv.isDarwin ./cmake_version.patch; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs = + [ cmake ] + ++ stdenv.lib.optional enableGUI wrapQtAppsHook; cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON"]; @@ -36,11 +38,6 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; - postInstall = stdenv.lib.optionalString (stdenv.isDarwin && enableGUI) '' - wrapProgram $out/bin/xpdf \ - --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtsvg.bin}/${qtbase.qtPluginPrefix} - ''; - meta = with stdenv.lib; { homepage = https://www.xpdfreader.com; description = "Viewer for Portable Document Format (PDF) files"; diff --git a/pkgs/applications/networking/browsers/qtchan/default.nix b/pkgs/applications/networking/browsers/qtchan/default.nix index df956addf5cc..1519c382ebb5 100644 --- a/pkgs/applications/networking/browsers/qtchan/default.nix +++ b/pkgs/applications/networking/browsers/qtchan/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ]; enableParallelBuilding = true; - nativeBuildInputs = [ qt.qmake makeWrapper ]; + nativeBuildInputs = [ qt.qmake qt.wrapQtAppsHook ]; buildInputs = [ qt.qtbase ]; qmakeFlags = [ "CONFIG-=app_bundle" ]; @@ -29,11 +29,6 @@ stdenv.mkDerivation rec { cp qtchan $out/bin ''; - preFixup = '' - wrapProgram $out/bin/qtchan \ - --suffix QT_PLUGIN_PATH : ${qt.qtbase.bin}/${qt.qtbase.qtPluginPrefix} - ''; - meta = with stdenv.lib; { description = "4chan browser in qt5"; homepage = "https://github.com/siavash119/qtchan"; diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix index 8276e839940f..0ae8d0bd3d68 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix @@ -1,7 +1,7 @@ { stable, version, sha256Hash, archPatchesRevision, archPatchesHash }: { mkDerivation, lib, fetchFromGitHub, fetchsvn -, pkgconfig, pythonPackages, cmake, wrapGAppsHook, gcc8 +, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc8 , qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils , dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3 }: @@ -39,7 +39,7 @@ mkDerivation rec { --replace '"notify"' '"${libnotify}/lib/libnotify.so"' ''; - nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook gcc8 ]; + nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook wrapQtAppsHook gcc8 ]; # We want to run wrapProgram manually (with additional parameters) dontWrapGApps = true; @@ -129,12 +129,13 @@ mkDerivation rec { done ''; + dontWrapQtApps = true; postFixup = '' # This is necessary to run Telegram in a pure environment. # We also use gappsWrapperArgs from wrapGAppsHook. wrapProgram $out/bin/telegram-desktop \ "''${gappsWrapperArgs[@]}" \ - --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" \ + "''${qtWrapperArgs[@]}" \ --prefix PATH : ${xdg_utils}/bin \ --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR" sed -i $out/bin/telegram-desktop \ diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix index be010c471790..14ee8095247e 100644 --- a/pkgs/applications/networking/linssid/default.nix +++ b/pkgs/applications/networking/linssid/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, qtbase, qtsvg, qmake, pkgconfig, boost, wirelesstools, iw, qwt, makeWrapper }: +{ stdenv, fetchurl, qtbase, qtsvg, qmake, pkgconfig, boost, wirelesstools, iw, qwt, wrapQtAppsHook }: stdenv.mkDerivation rec { name = "linssid-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl"; }; - nativeBuildInputs = [ pkgconfig qmake makeWrapper ]; + nativeBuildInputs = [ pkgconfig qmake wrapQtAppsHook ]; buildInputs = [ qtbase qtsvg boost qwt ]; patches = [ ./0001-unbundled-qwt.patch ]; @@ -26,11 +26,8 @@ stdenv.mkDerivation rec { rm -fr qwt-lib ''; - postInstall = '' - wrapProgram $out/bin/linssid \ - --prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix} \ - --prefix PATH : ${stdenv.lib.makeBinPath [ wirelesstools iw ]} - ''; + qtWrapperArgs = + [ ''--prefix PATH : ${stdenv.lib.makeBinPath [ wirelesstools iw ]}'' ]; meta = with stdenv.lib; { description = "Graphical wireless scanning for Linux"; diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix index 321493682302..56e98e880f7a 100644 --- a/pkgs/applications/networking/mumble/default.nix +++ b/pkgs/applications/networking/mumble/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeWrapper, pkgconfig +{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig , qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf3_6, speex, libcap , alsaLib, python , jackSupport ? false, libjack2 ? null @@ -158,11 +158,6 @@ in { murmur_git = (server gitSource).overrideAttrs (old: { meta = old.meta // { broken = iceSupport; }; - nativeBuildInputs = old.nativeBuildInputs or [] ++ [ makeWrapper ]; - - installPhase = old.installPhase or "" + '' - wrapProgram $out/bin/murmurd --suffix QT_PLUGIN_PATH : \ - ${getBin qt5.qtbase}/${qt5.qtbase.qtPluginPrefix} - ''; + nativeBuildInputs = old.nativeBuildInputs or [] ++ [ qt5.wrapQtAppsHook ]; }); } diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix index b0bc5edba844..898b7706bd61 100644 --- a/pkgs/applications/networking/newsreaders/quiterss/default.nix +++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, qmake, pkgconfig, makeWrapper +{ stdenv, fetchFromGitHub, qmake, pkgconfig, wrapQtAppsHook , qtbase, qttools, qtwebkit, sqlite }: @@ -13,14 +13,9 @@ stdenv.mkDerivation rec { sha256 = "0xav9qr8n6310636nfbgx4iix65fs3ya5rz2isxsf38bkjm7r3pa"; }; - nativeBuildInputs = [ qmake pkgconfig makeWrapper ]; + nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ]; buildInputs = [ qtbase qttools qtwebkit sqlite.dev ]; - postFixup = '' - wrapProgram $out/bin/quiterss \ - --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" - ''; - meta = with stdenv.lib; { description = "A Qt-based RSS/Atom news feed reader"; longDescription = '' diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix index 7aa7d88149fe..37eb248fb486 100644 --- a/pkgs/applications/networking/nextcloud-client/default.nix +++ b/pkgs/applications/networking/nextcloud-client/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchgit, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, qttools, sqlite -, inotify-tools, makeWrapper, openssl_1_1, pcre, qtwebengine, libsecret +, inotify-tools, wrapQtAppsHook, openssl_1_1, pcre, qtwebengine, libsecret , libcloudproviders }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ pkgconfig cmake makeWrapper ]; + nativeBuildInputs = [ pkgconfig cmake wrapQtAppsHook ]; buildInputs = [ qtbase qtwebkit qtkeychain qttools qtwebengine sqlite openssl_1_1.out pcre inotify-tools libcloudproviders ]; @@ -31,13 +31,13 @@ stdenv.mkDerivation rec { "-DINOTIFY_INCLUDE_DIR=${inotify-tools}/include" ]; + qtWrapperArgs = [ + ''--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]}'' + ]; + postInstall = '' sed -i 's/\(Icon.*\)=nextcloud/\1=Nextcloud/g' \ $out/share/applications/nextcloud.desktop - - wrapProgram "$out/bin/nextcloud" \ - --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]} \ - --prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix} ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix index 2870f3158fb6..807b8116b46f 100644 --- a/pkgs/applications/networking/protonmail-bridge/default.nix +++ b/pkgs/applications/networking/protonmail-bridge/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtsvg, qtdeclarative, qttools, full, - libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }: +{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtsvg, qtdeclarative, qttools, full +, libsecret, libGL, libpulseaudio, glib, wrapQtAppsHook, makeDesktopItem }: let version = "1.1.5-1"; @@ -28,7 +28,7 @@ in stdenv.mkDerivation rec { sha256 = "1y5mphrs60zd6km9z64vskk70q9zzw4g6js7qvgl572wv81w2l75"; }; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ wrapQtAppsHook ]; sourceRoot = "."; @@ -60,18 +60,11 @@ in stdenv.mkDerivation rec { libpulseaudio glib ]; - - qtPath = prefix: "${full}/${prefix}"; in '' patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${rpath}" \ $out/lib/protonmail-bridge - - wrapProgram $out/lib/protonmail-bridge \ - --set QT_PLUGIN_PATH "${qtPath qtbase.qtPluginPrefix}" \ - --set QML_IMPORT_PATH "${qtPath qtbase.qtQmlPrefix}" \ - --set QML2_IMPORT_PATH "${qtPath qtbase.qtQmlPrefix}" \ ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 401e49648013..ac9fa8f4ce88 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -30,7 +30,7 @@ in stdenv.mkDerivation { nativeBuildInputs = [ bison cmake extra-cmake-modules flex pkgconfig - ]; + ] ++ optional withQt qt5.wrapQtAppsHook; buildInputs = [ gettext pcre perl libpcap lua5 libssh nghttp2 openssl libgcrypt @@ -70,12 +70,9 @@ in stdenv.mkDerivation { done done - wrapProgram $out/Applications/Wireshark.app/Contents/MacOS/Wireshark \ - --set QT_PLUGIN_PATH ${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix} + wrapQtApp $out/Applications/Wireshark.app/Contents/MacOS/Wireshark '' else optionalString withQt '' install -Dm644 -t $out/share/applications ../wireshark.desktop - wrapProgram $out/bin/wireshark \ - --set QT_PLUGIN_PATH ${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix} substituteInPlace $out/share/applications/*.desktop \ --replace "Exec=wireshark" "Exec=$out/bin/wireshark" diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix index a29e256675f8..d3a216fb71a5 100644 --- a/pkgs/applications/office/kmymoney/default.nix +++ b/pkgs/applications/office/kmymoney/default.nix @@ -1,4 +1,5 @@ { stdenv, lib, fetchurl, doxygen, extra-cmake-modules, graphviz, kdoctools +, wrapQtAppsHook , akonadi, alkimia, aqbanking, gmp, gwenhywfar, kactivities, karchive , kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement @@ -29,6 +30,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ doxygen extra-cmake-modules graphviz kdoctools python2Packages.wrapPython + wrapQtAppsHook ]; buildInputs = [ @@ -57,13 +59,11 @@ stdenv.mkDerivation rec { doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform; installCheckInputs = [ xvfb_run ]; - installCheckPhase = let - pluginPath = "${qtbase.bin}/${qtbase.qtPluginPrefix}"; - in lib.optionalString doInstallCheck '' - QT_PLUGIN_PATH=${lib.escapeShellArg pluginPath} \ + installCheckPhase = + lib.optionalString doInstallCheck '' xvfb-run -s '-screen 0 1024x768x24' make test \ - ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now. - ''; + ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now. + ''; meta = { description = "Personal finance manager for KDE"; diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix index 32758b462f75..eb2bebb39934 100644 --- a/pkgs/applications/office/scribus/unstable.nix +++ b/pkgs/applications/office/scribus/unstable.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchsvn, makeWrapper, pkgconfig, cmake, qtbase, cairo, pixman, +{ stdenv, fetchsvn, wrapQtAppsHook, pkgconfig, cmake, qtbase, cairo, pixman, boost, cups, fontconfig, freetype, hunspell, libjpeg, libtiff, libxml2, lcms2, podofo, poppler, poppler_data, python2, harfbuzz, qtimageformats, qttools }: let pythonEnv = python2.withPackages(ps: [ps.tkinter ps.pillow]); revision = "22806"; -in +in stdenv.mkDerivation rec { name = "scribus-unstable-${version}"; version = "2019-01-16"; @@ -18,17 +18,13 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + nativeBuildInputs = [ wrapQtAppsHook ]; buildInputs = [ - makeWrapper pkgconfig cmake qtbase cairo pixman boost cups fontconfig + pkgconfig cmake qtbase cairo pixman boost cups fontconfig freetype hunspell libjpeg libtiff libxml2 lcms2 podofo poppler poppler_data pythonEnv harfbuzz qtimageformats qttools ]; - postFixup = '' - wrapProgram $out/bin/scribus \ - --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" - ''; - meta = { maintainers = [ stdenv.lib.maintainers.erictapen ]; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix index fb7963416167..e3c66199f11c 100644 --- a/pkgs/applications/science/astronomy/stellarium/default.nix +++ b/pkgs/applications/science/astronomy/stellarium/default.nix @@ -1,32 +1,27 @@ { mkDerivation, lib, fetchFromGitHub , cmake, freetype, libpng, libGLU_combined, openssl, perl, libiconv , qtscript, qtserialport, qttools -, qtmultimedia, qtlocation, makeWrapper, qtbase +, qtmultimedia, qtlocation, qtbase, wrapQtAppsHook }: mkDerivation rec { name = "stellarium-${version}"; - version = "0.19.0"; + version = "0.19.1"; src = fetchFromGitHub { owner = "Stellarium"; repo = "stellarium"; rev = "v${version}"; - sha256 = "1x9s9v9ann93nyqd8n8adwhx66xgq5vp0liyzl1h1ji6qk8jla3c"; + sha256 = "0hf1wv2bb5j7ny2xh29mj9m4hjblhn02zylay8gl85w7xlqs7s5r"; }; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ cmake perl wrapQtAppsHook ]; buildInputs = [ freetype libpng libGLU_combined openssl libiconv qtscript qtserialport qttools - qtmultimedia qtlocation qtbase makeWrapper + qtmultimedia qtlocation qtbase ]; - postInstall = '' - wrapProgram $out/bin/stellarium \ - --prefix QT_PLUGIN_PATH : "${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins" - ''; - meta = with lib; { description = "Free open-source planetarium"; homepage = http://stellarium.org/; diff --git a/pkgs/applications/science/electronics/dsview/default.nix b/pkgs/applications/science/electronics/dsview/default.nix index ecbbeff108d2..55e8a7b4ffe9 100644 --- a/pkgs/applications/science/electronics/dsview/default.nix +++ b/pkgs/applications/science/electronics/dsview/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, pkgconfig, cmake, libzip, boost, fftw, qtbase, -libusb, makeWrapper, libsigrok4dsl, libsigrokdecode4dsl +libusb, wrapQtAppsHook, libsigrok4dsl, libsigrokdecode4dsl }: stdenv.mkDerivation rec { @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ./install.patch ]; - nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; + nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ]; buildInputs = [ boost fftw qtbase libusb libzip libsigrokdecode4dsl libsigrok4dsl @@ -32,11 +32,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - postFixup = '' - wrapProgram $out/bin/DSView --suffix QT_PLUGIN_PATH : \ - ${qtbase.bin}/${qtbase.qtPluginPrefix} - ''; - meta = with stdenv.lib; { description = "A GUI program for supporting various instruments from DreamSourceLab, including logic analyzer, oscilloscope, etc"; homepage = https://www.dreamsourcelab.com/; diff --git a/pkgs/applications/version-management/p4v/default.nix b/pkgs/applications/version-management/p4v/default.nix index f82b80067bf2..314c379c4e6d 100644 --- a/pkgs/applications/version-management/p4v/default.nix +++ b/pkgs/applications/version-management/p4v/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl, xkeyboard_config, makeWrapper }: +{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl, xkeyboard_config, wrapQtAppsHook }: stdenv.mkDerivation rec { name = "p4v-${version}"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; dontBuild = true; - nativeBuildInputs = [makeWrapper]; + nativeBuildInputs = [ wrapQtAppsHook ]; ldLibraryPath = lib.makeLibraryPath [ stdenv.cc.cc.lib @@ -22,6 +22,7 @@ stdenv.mkDerivation rec { openssl ]; + dontWrapQtApps = true; installPhase = '' mkdir $out cp -r bin $out @@ -31,10 +32,9 @@ stdenv.mkDerivation rec { for f in $out/bin/*.bin ; do patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f - wrapProgram $f \ + wrapQtApp $f \ --suffix LD_LIBRARY_PATH : ${ldLibraryPath} \ - --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb \ - --suffix QT_PLUGIN_PATH : ${qtbase.bin}/${qtbase.qtPluginPrefix} + --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb done ''; diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix index 7912fe60bbc8..8e87a0589c59 100644 --- a/pkgs/applications/video/avidemux/default.nix +++ b/pkgs/applications/video/avidemux/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, cmake, pkgconfig , zlib, gettext, libvdpau, libva, libXv, sqlite , yasm, freetype, fontconfig, fribidi -, makeWrapper, libXext, libGLU, qttools, qtbase +, makeWrapper, libXext, libGLU, qttools, qtbase, wrapQtAppsHook , alsaLib , withX265 ? true, x265 , withX264 ? true, x264 @@ -37,7 +37,9 @@ stdenv.mkDerivation rec { ./bootstrap_logging.patch ]; - nativeBuildInputs = [ yasm cmake pkgconfig ]; + nativeBuildInputs = + [ yasm cmake pkgconfig ] + ++ lib.optional withQT wrapQtAppsHook; buildInputs = [ zlib gettext libvdpau libva libXv sqlite fribidi fontconfig freetype alsaLib libXext libGLU makeWrapper @@ -55,7 +57,10 @@ stdenv.mkDerivation rec { buildCommand = let qtVersion = "5.${stdenv.lib.versions.minor qtbase.version}"; - wrapProgram = f: "wrapProgram ${f} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib"; + wrapWith = makeWrapper: filename: + "${makeWrapper} ${filename} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib"; + wrapQtApp = wrapWith "wrapQtApp"; + wrapProgram = wrapWith "wrapProgram"; in '' unpackPhase cd "$sourceRoot" @@ -74,8 +79,8 @@ stdenv.mkDerivation rec { ${wrapProgram "$out/bin/avidemux3_cli"} ${stdenv.lib.optionalString withQT '' - ${wrapProgram "$out/bin/avidemux3_qt5"} --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtVersion}/plugins - ${wrapProgram "$out/bin/avidemux3_jobs_qt5"} --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtVersion}/plugins + ${wrapQtApp "$out/bin/avidemux3_qt5"} + ${wrapQtApp "$out/bin/avidemux3_jobs_qt5"} ''} ln -s "$out/bin/avidemux3_${default}" "$out/bin/avidemux" diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix index 3b8dce90243b..5ee437a19be5 100644 --- a/pkgs/applications/video/minitube/default.nix +++ b/pkgs/applications/video/minitube/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, makeWrapper, phonon, phonon-backend-vlc, qtbase, qmake +{ stdenv, fetchFromGitHub, wrapQtAppsHook, phonon, phonon-backend-vlc, qtbase, qmake , qtdeclarative, qttools # "Free" key generated by nckx . I no longer have a Google @@ -17,17 +17,12 @@ stdenv.mkDerivation rec { }; buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qttools ]; - nativeBuildInputs = [ makeWrapper qmake ]; + nativeBuildInputs = [ wrapQtAppsHook qmake ]; qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ]; enableParallelBuilding = true; - postInstall = '' - wrapProgram $out/bin/minitube \ - --prefix QT_PLUGIN_PATH : "${phonon-backend-vlc}/lib/qt-5.${stdenv.lib.versions.minor qtbase.version}/plugins" - ''; - meta = with stdenv.lib; { description = "Stand-alone YouTube video player"; longDescription = '' diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix index ec5deb4e22aa..d1c0db25351c 100644 --- a/pkgs/development/compilers/nextpnr/default.nix +++ b/pkgs/development/compilers/nextpnr/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, makeWrapper +{ stdenv, fetchFromGitHub, cmake , boost, python3, eigen , icestorm, trellis @@ -6,7 +6,7 @@ # laptop (and over a remote X server on my server...), so mark it broken for # now, with intent to fix later. , enableGui ? false -, qtbase +, qtbase, wrapQtAppsHook }: let @@ -36,7 +36,9 @@ stdenv.mkDerivation rec { sha256 = "1y14jpa948cwk0i19bsfqh7yxsxkgskm4xym4z179sjcvcdvrn3a"; }; - nativeBuildInputs = [ cmake makeWrapper ]; + nativeBuildInputs + = [ cmake ] + ++ (stdenv.lib.optional enableGui wrapQtAppsHook); buildInputs = [ boostPython python3 eigen ] ++ (stdenv.lib.optional enableGui qtbase); @@ -56,13 +58,6 @@ stdenv.mkDerivation rec { --replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}' ''; - postInstall = stdenv.lib.optionalString enableGui '' - for x in generic ice40 ecp5; do - wrapProgram $out/bin/nextpnr-$x \ - --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" - done - ''; - meta = with stdenv.lib; { description = "Place and route tool for FPGAs"; homepage = https://github.com/yosyshq/nextpnr; diff --git a/pkgs/development/libraries/cutelyst/default.nix b/pkgs/development/libraries/cutelyst/default.nix index 784a282f6b24..c4778e5b0301 100644 --- a/pkgs/development/libraries/cutelyst/default.nix +++ b/pkgs/development/libraries/cutelyst/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, makeWrapper +{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook , qtbase, libuuid, libcap, uwsgi, grantlee, pcre }: @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "09cgfpr2k1jp98h1ahxqm5lmv3qbk0bcxpqpill6n5wmq2c8kl8b"; }; - nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; + nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ]; buildInputs = [ qtbase libuuid libcap uwsgi grantlee pcre ]; cmakeFlags = [ @@ -31,12 +31,6 @@ stdenv.mkDerivation rec { unset LD_LIBRARY_PATH ''; - postInstall = '' - for prog in $out/bin/*; do - wrapProgram "$prog" --set QT_PLUGIN_PATH '${qtbase}/${qtbase.qtPluginPrefix}' - done - ''; - meta = with lib; { description = "C++ Web Framework built on top of Qt"; homepage = https://cutelyst.org/; diff --git a/pkgs/development/libraries/gsettings-qt/default.nix b/pkgs/development/libraries/gsettings-qt/default.nix index 3f9cd8120d89..744d9eb6de90 100644 --- a/pkgs/development/libraries/gsettings-qt/default.nix +++ b/pkgs/development/libraries/gsettings-qt/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchbzr, pkgconfig, qmake, qtbase, qtdeclarative, glib, gobject-introspection }: +{ stdenv, fetchbzr, pkgconfig +, qmake, qtbase, qtdeclarative, wrapQtAppsHook +, glib, gobject-introspection +}: stdenv.mkDerivation rec { name = "gsettings-qt-${version}"; @@ -14,6 +17,7 @@ stdenv.mkDerivation rec { pkgconfig qmake gobject-introspection + wrapQtAppsHook ]; buildInputs = [ diff --git a/pkgs/development/r-modules/wrapper-rstudio.nix b/pkgs/development/r-modules/wrapper-rstudio.nix index c89773c2dd55..5eeac8fed30e 100644 --- a/pkgs/development/r-modules/wrapper-rstudio.nix +++ b/pkgs/development/r-modules/wrapper-rstudio.nix @@ -1,4 +1,4 @@ -{ lib, runCommand, R, rstudio, makeWrapper, recommendedPackages, packages, qtbase }: +{ lib, runCommand, R, rstudio, wrapQtAppsHook, recommendedPackages, packages, qtbase }: let qtVersion = with lib.versions; "${major qtbase.version}.${minor qtbase.version}"; @@ -7,7 +7,8 @@ runCommand (rstudio.name + "-wrapper") { preferLocalBuild = true; allowSubstitutes = false; - nativeBuildInputs = [makeWrapper]; + nativeBuildInputs = [wrapQtAppsHook]; + dontWrapQtApps = true; buildInputs = [R rstudio] ++ recommendedPackages ++ packages; @@ -29,6 +30,6 @@ echo -n ".libPaths(c(.libPaths(), \"" >> $out/$fixLibsR echo -n $R_LIBS_SITE | sed -e 's/:/", "/g' >> $out/$fixLibsR echo -n "\"))" >> $out/$fixLibsR echo >> $out/$fixLibsR -makeWrapper ${rstudio}/bin/rstudio $out/bin/rstudio --set R_PROFILE_USER $out/$fixLibsR \ - --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtVersion}/plugins +makeQtWrapper ${rstudio}/bin/rstudio $out/bin/rstudio \ + --set R_PROFILE_USER $out/$fixLibsR '' diff --git a/pkgs/development/tools/analysis/hopper/default.nix b/pkgs/development/tools/analysis/hopper/default.nix index 7158ea38c04d..c9214ae7e35d 100644 --- a/pkgs/development/tools/analysis/hopper/default.nix +++ b/pkgs/development/tools/analysis/hopper/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgs, makeWrapper, lib }: +{ stdenv, fetchurl, pkgs, lib }: stdenv.mkDerivation rec { pname = "hopper"; @@ -16,22 +16,20 @@ stdenv.mkDerivation rec { libbsd.out libffi.out gmpxx.out python27Full.out python27Packages.libxml2 qt5.qtbase zlib xlibs.libX11.out xorg_sys_opengl.out xlibs.libXrender.out gcc-unwrapped.lib ]; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ pkgs.qt5.wrapQtAppsHook ]; + + qtWrapperArgs = [ ''--suffix LD_LIBRARY_PATH : ${ldLibraryPath}'' ]; installPhase = '' - mkdir -p $out/bin - mkdir -p $out/lib - mkdir -p $out/share - cp $sourceRoot/opt/hopper-${rev}/bin/Hopper $out/bin/hopper - cp -r $sourceRoot/opt/hopper-${rev}/lib $out - cp -r $sourceRoot/usr/share $out/share + mkdir -p $out/bin + mkdir -p $out/lib + mkdir -p $out/share + cp $sourceRoot/opt/hopper-${rev}/bin/Hopper $out/bin/hopper + cp -r $sourceRoot/opt/hopper-${rev}/lib $out + cp -r $sourceRoot/usr/share $out/share patchelf \ - --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \ - $out/bin/hopper - # Details: https://nixos.wiki/wiki/Qt - wrapProgram $out/bin/hopper \ - --suffix LD_LIBRARY_PATH : ${ldLibraryPath} \ - --suffix QT_PLUGIN_PATH : ${pkgs.qt5.qtbase}/lib/qt-${pkgs.qt5.qtbase.qtCompatVersion}/plugins + --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \ + $out/bin/hopper ''; meta = { diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix index 03b758cbdc6d..1b3bc7a21626 100644 --- a/pkgs/development/tools/qtcreator/default.nix +++ b/pkgs/development/tools/qtcreator/default.nix @@ -10,7 +10,7 @@ let revision = "1"; # Fetch clang from qt vendor, this contains submodules like this: - # clang<-clang-tools-extra<-clazy. + # clang<-clang-tools-extra<-clazy. clang_qt_vendor = llvmPackages_8.clang-unwrapped.overrideAttrs (oldAttrs: rec { src = fetchgit { url = "https://code.qt.io/clang/clang.git"; @@ -32,15 +32,15 @@ stdenv.mkDerivation rec { buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative llvmPackages_8.libclang clang_qt_vendor llvmPackages_8.llvm ]; - nativeBuildInputs = [ qmake makeWrapper ]; + nativeBuildInputs = [ qmake ]; - # 0001-Fix-clang-libcpp-regexp.patch is for fixing regexp that is used to + # 0001-Fix-clang-libcpp-regexp.patch is for fixing regexp that is used to # find clang libc++ library include paths. By default it's not covering paths # like libc++-version, which is default name for libc++ folder in nixos. - patches = [ ./0001-Fix-clang-libcpp-regexp.patch + patches = [ ./0001-Fix-clang-libcpp-regexp.patch - # Fix clazy plugin name. This plugin was renamed with clang8 - # release, and patch didn't make it into 4.9.1 release. Should be removed + # Fix clazy plugin name. This plugin was renamed with clang8 + # release, and patch didn't make it into 4.9.1 release. Should be removed # on qtcreator update, if this problem is fixed. (fetchpatch { url = "https://code.qt.io/cgit/qt-creator/qt-creator.git/patch/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp?id=53c407bc0c87e0b65b537bf26836ddd8e00ead82"; @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { url = "https://code.qt.io/cgit/qt-creator/qt-creator.git/patch/src/plugins/clangtools/clangtidyclazyrunner.cpp?id=53c407bc0c87e0b65b537bf26836ddd8e00ead82"; sha256 = "1rl0rc2l297lpfhhawvkkmj77zb081hhp0bbi7nnykf3q9ch0clh"; }) - ]; + ]; doCheck = true; @@ -70,7 +70,7 @@ stdenv.mkDerivation rec { --replace '$$clean_path($${LLVM_LIBDIR}/clang/$${LLVM_VERSION}/include)' '${clang_qt_vendor}/lib/clang/8.0.0/include' \ --replace '$$clean_path($${LLVM_BINDIR})' '${clang_qt_vendor}/bin' - # Fix include path to find clang and clang-c include directories. + # Fix include path to find clang and clang-c include directories. substituteInPlace src/plugins/clangtools/clangtools.pro \ --replace 'INCLUDEPATH += $$LLVM_INCLUDEPATH' 'INCLUDEPATH += $$LLVM_INCLUDEPATH ${clang_qt_vendor}' diff --git a/pkgs/development/tools/tora/default.nix b/pkgs/development/tools/tora/default.nix index 5b46b975cf7f..2bbe2cfe16df 100644 --- a/pkgs/development/tools/tora/default.nix +++ b/pkgs/development/tools/tora/default.nix @@ -53,10 +53,9 @@ in mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-L${mysql.connector-c}/lib/mysql" "-I${mysql.connector-c}/include/mysql" ]; - postFixup = '' - wrapProgram $out/bin/tora \ - --prefix PATH : ${lib.getBin graphviz}/bin - ''; + qtWrapperArgs = [ + ''--prefix PATH : ${lib.getBin graphviz}/bin'' + ]; meta = with lib; { description = "Tora SQL tool"; diff --git a/pkgs/games/chessx/default.nix b/pkgs/games/chessx/default.nix index 5800f8026ac4..47432bca1633 100644 --- a/pkgs/games/chessx/default.nix +++ b/pkgs/games/chessx/default.nix @@ -32,9 +32,6 @@ stdenv.mkDerivation rec { cp -pr release/chessx "$out/bin" cp -pr unix/chessx.desktop "$out/share/applications" - wrapProgram $out/bin/chessx \ - --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins - runHook postInstall ''; diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix index 728709a12f62..9765a9c06ee1 100644 --- a/pkgs/games/flightgear/default.nix +++ b/pkgs/games/flightgear/default.nix @@ -62,13 +62,12 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p "$out/share/applications/" cp "${desktopItem}"/share/applications/* "$out/share/applications/" #*/ - - for f in $out/bin/* #*/ - do - wrapProgram $f --set FG_ROOT "${data}/share/FlightGear" - done ''; + qtWrapperArgs = [ + ''--set FG_ROOT "${data}/share/FlightGear"'' + ]; + enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/games/nethack/default.nix b/pkgs/games/nethack/default.nix index 5e476cdc7e98..24cc64ac9aff 100644 --- a/pkgs/games/nethack/default.nix +++ b/pkgs/games/nethack/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, coreutils, ncurses, gzip, flex, bison -, less, makeWrapper +, less , buildPackages , x11Mode ? false, qtMode ? false, libXaw, libXext, libXpm, bdftopcf, mkfontdir, pkgconfig, qt5 }: @@ -37,7 +37,7 @@ in stdenv.mkDerivation rec { ++ lib.optionals x11Mode [ mkfontdir bdftopcf ] ++ lib.optionals qtMode [ pkgconfig mkfontdir qt5.qtbase.dev - qt5.qtmultimedia.dev makeWrapper + qt5.qtmultimedia.dev qt5.wrapQtAppsHook bdftopcf ]; @@ -97,6 +97,10 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; + preFixup = '' + wrapQtApp "$out/games/nethack" + ''; + postInstall = '' mkdir -p $out/games/lib/nethackuserdir for i in xlogfile logfile perm record save; do @@ -137,11 +141,6 @@ in stdenv.mkDerivation rec { ${lib.optionalString (!(x11Mode || qtMode)) "install -Dm 555 util/dlb -t $out/libexec/nethack/"} ''; - postFixup = lib.optionalString qtMode '' - wrapProgram $out/bin/nethack-qt \ - --prefix QT_PLUGIN_PATH : "${qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}" - ''; - meta = with stdenv.lib; { description = "Rogue-like game"; homepage = http://nethack.org/; diff --git a/pkgs/misc/emulators/mgba/default.nix b/pkgs/misc/emulators/mgba/default.nix index 7a5ed31a5803..039bc57e6031 100644 --- a/pkgs/misc/emulators/mgba/default.nix +++ b/pkgs/misc/emulators/mgba/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, pkgconfig +{ stdenv, fetchFromGitHub, makeDesktopItem, wrapQtAppsHook, pkgconfig , cmake, epoxy, libzip, ffmpeg, imagemagick, SDL2, qtbase, qtmultimedia, libedit , qttools, minizip }: @@ -25,7 +25,7 @@ in stdenv.mkDerivation rec { }; enableParallelBuilding = true; - nativeBuildInputs = [ makeWrapper pkgconfig cmake ]; + nativeBuildInputs = [ wrapQtAppsHook pkgconfig cmake ]; buildInputs = [ libzip epoxy ffmpeg imagemagick SDL2 qtbase qtmultimedia libedit minizip @@ -34,8 +34,6 @@ in stdenv.mkDerivation rec { postInstall = '' cp -r ${desktopItem}/share/applications $out/share - wrapProgram $out/bin/mgba-qt --suffix QT_PLUGIN_PATH : \ - ${qtbase.bin}/${qtbase.qtPluginPrefix} ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix index c5651d0418e4..42da24e32399 100644 --- a/pkgs/tools/graphics/nifskope/default.nix +++ b/pkgs/tools/graphics/nifskope/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, makeWrapper }: +{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook }: stdenv.mkDerivation rec { name = "nifskope-${version}"; @@ -20,8 +20,8 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ qtbase qttools libGLU.dev makeWrapper ]; - nativeBuildInputs = [ qmake ]; + buildInputs = [ qtbase qttools libGLU.dev ]; + nativeBuildInputs = [ qmake wrapQtAppsHook ]; preConfigure = '' shopt -s globstar @@ -33,9 +33,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # Inspired by install/linux-install/nifskope.spec.in. - installPhase = let - qtVersion = "5.${stdenv.lib.versions.minor qtbase.version}"; - in '' + installPhase = '' runHook preInstall d=$out/share/nifskope @@ -53,8 +51,6 @@ stdenv.mkDerivation rec { find $out/share -type f -exec chmod -x {} \; - wrapProgram $out/bin/NifSkope --prefix QT_PLUGIN_PATH : "${qtbase}/lib/qt-${qtVersion}/plugins" - runHook postInstall ''; diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix index 4599309b2384..1c094c291d89 100644 --- a/pkgs/tools/misc/partition-manager/default.nix +++ b/pkgs/tools/misc/partition-manager/default.nix @@ -1,7 +1,7 @@ { mkDerivation, fetchurl, lib -, extra-cmake-modules, kdoctools, wrapGAppsHook +, extra-cmake-modules, kdoctools, wrapGAppsHook, wrapQtAppsHook , kconfig, kcrash, kinit, kpmcore -, eject, libatasmart , utillinux, makeWrapper, qtbase +, eject, libatasmart , utillinux, qtbase }: let @@ -17,16 +17,12 @@ in mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook makeWrapper ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook wrapQtAppsHook ]; # refer to kpmcore for the use of eject buildInputs = [ eject libatasmart utillinux ]; propagatedBuildInputs = [ kconfig kcrash kinit kpmcore ]; - postInstall = '' - wrapProgram "$out/bin/partitionmanager" --prefix QT_PLUGIN_PATH : "${kpmcore}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins" - ''; - meta = with lib; { description = "KDE Partition Manager"; license = licenses.gpl2; diff --git a/pkgs/tools/misc/yubikey-manager-qt/default.nix b/pkgs/tools/misc/yubikey-manager-qt/default.nix index 6eda3e6e436a..391b989322ed 100644 --- a/pkgs/tools/misc/yubikey-manager-qt/default.nix +++ b/pkgs/tools/misc/yubikey-manager-qt/default.nix @@ -1,6 +1,6 @@ { stdenv , fetchurl -, makeWrapper +, wrapQtAppsHook , pcsclite , pyotherside , pythonPackages @@ -16,16 +16,9 @@ , yubikey-personalization }: -let - qmlPath = qmlLib: "${qmlLib}/${qtbase.qtQmlPrefix}"; +let inherit (stdenv) lib; in - inherit (stdenv) lib; - - qml2ImportPath = lib.concatMapStringsSep ":" qmlPath [ - qtbase.bin qtdeclarative.bin pyotherside qtquickcontrols qtquickcontrols2.bin qtgraphicaleffects - ]; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "yubikey-manager-qt"; version = "1.1.1"; @@ -34,7 +27,7 @@ in stdenv.mkDerivation rec { sha256 = "0hcfl0mh4gqy9c8ghmi58asqr8v009n6li0mgcy3r8fyjr7qryvy"; }; - nativeBuildInputs = [ makeWrapper python3.pkgs.wrapPython qmake ]; + nativeBuildInputs = [ wrapQtAppsHook python3.pkgs.wrapPython qmake ]; postPatch = '' substituteInPlace ykman-gui/deployment.pri --replace '/usr/bin' "$out/bin" @@ -46,22 +39,20 @@ in stdenv.mkDerivation rec { pythonPath = [ yubikey-manager ]; + dontWrapQtApps = true; postInstall = '' buildPythonPath "$pythonPath" - wrapProgram $out/bin/ykman-gui \ + wrapQtApp $out/bin/ykman-gui \ --prefix LD_LIBRARY_PATH : "${stdenv.lib.getLib pcsclite}/lib:${yubikey-personalization}/lib" \ - --prefix PYTHONPATH : "$program_PYTHONPATH" \ - --set QML2_IMPORT_PATH "${qml2ImportPath}" \ - --set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-*/plugins/platforms \ - --prefix QT_PLUGIN_PATH : "${qtsvg.bin}/${qtbase.qtPluginPrefix}" + --prefix PYTHONPATH : "$program_PYTHONPATH" - mkdir -p $out/share/applications - cp resources/ykman-gui.desktop $out/share/applications/ykman-gui.desktop - mkdir -p $out/share/ykman-gui/icons - cp resources/icons/*.{icns,ico,png,xpm} $out/share/ykman-gui/icons - substituteInPlace $out/share/applications/ykman-gui.desktop \ - --replace 'Exec=ykman-gui' "Exec=$out/bin/ykman-gui" \ + mkdir -p $out/share/applications + cp resources/ykman-gui.desktop $out/share/applications/ykman-gui.desktop + mkdir -p $out/share/ykman-gui/icons + cp resources/icons/*.{icns,ico,png,xpm} $out/share/ykman-gui/icons + substituteInPlace $out/share/applications/ykman-gui.desktop \ + --replace 'Exec=ykman-gui' "Exec=$out/bin/ykman-gui" \ ''; meta = with lib; { diff --git a/pkgs/tools/security/nitrokey-app/default.nix b/pkgs/tools/security/nitrokey-app/default.nix index e7f7547e4ad9..1b18f0e1e11a 100644 --- a/pkgs/tools/security/nitrokey-app/default.nix +++ b/pkgs/tools/security/nitrokey-app/default.nix @@ -1,5 +1,5 @@ -{ stdenv, makeWrapper, bash-completion, cmake, fetchFromGitHub, hidapi, libusb1, pkgconfig -, qtbase, qttranslations, qtsvg }: +{ stdenv, bash-completion, cmake, fetchFromGitHub, hidapi, libusb1, pkgconfig +, qtbase, qttranslations, qtsvg, wrapQtAppsHook }: stdenv.mkDerivation rec { name = "nitrokey-app-${version}"; @@ -29,15 +29,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig - makeWrapper + wrapQtAppsHook ]; cmakeFlags = "-DCMAKE_BUILD_TYPE=Release"; - postFixup = '' - wrapProgram $out/bin/nitrokey-app \ - --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" - ''; - meta = with stdenv.lib; { description = "Provides extra functionality for the Nitrokey Pro and Storage"; longDescription = '' From 3adc9d04870605ca20969a98fe820535fc7a88a5 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 5 Jul 2019 10:42:24 -0500 Subject: [PATCH 54/60] doc/languages-frameworks/qt.xml: Update for wrapQtAppsHook --- doc/languages-frameworks/qt.xml | 220 +++++++++++++++++++++++--------- 1 file changed, 161 insertions(+), 59 deletions(-) diff --git a/doc/languages-frameworks/qt.xml b/doc/languages-frameworks/qt.xml index b9b605b81da1..032cdd9945b3 100644 --- a/doc/languages-frameworks/qt.xml +++ b/doc/languages-frameworks/qt.xml @@ -4,71 +4,173 @@ Qt - Qt is a comprehensive desktop and mobile application development toolkit for - C++. Legacy support is available for Qt 3 and Qt 4, but all current - development uses Qt 5. The Qt 5 packages in Nixpkgs are updated frequently to - take advantage of new features, but older versions are typically retained - until their support window ends. The most important consideration in - packaging Qt-based software is ensuring that each package and all its - dependencies use the same version of Qt 5; this consideration motivates most - of the tools described below. + This section describes the differences between Nix expressions for Qt + libraries and applications and Nix expressions for other C++ software. Some + knowledge of the latter is assumed. There are primarily two problems which + the Qt infrastructure is designed to address: ensuring consistent versioning + of all dependencies and finding dependencies at runtime. -
- Packaging Libraries for Nixpkgs + + Nix expression for a Qt package (<filename>default.nix</filename>) + +{ mkDerivation, lib, qtbase }: - - Whenever possible, libraries that use Qt 5 should be built with each - available version. Packages providing libraries should be added to the - top-level function mkLibsForQt5, which is used to build a - set of libraries for every Qt 5 version. A special - callPackage function is used in this scope to ensure that - the entire dependency tree uses the same Qt 5 version. Import dependencies - unqualified, i.e., qtbase not - qt5.qtbase. Do not import a package - set such as qt5 or libsForQt5. - +mkDerivation { + pname = "myapp"; + version = "1.0"; - - If a library does not support a particular version of Qt 5, it is best to - mark it as broken by setting its meta.broken attribute. A - package may be marked broken for certain versions by testing the - qtbase.version attribute, which will always give the - current Qt 5 version. - -
+ buildInputs = [ qtbase ]; +} + + -
- Packaging Applications for Nixpkgs + + + + Import mkDerivation and Qt (such as + qtbase modules directly. Do not + import Qt package sets; the Qt versions of dependencies may not be + coherent, causing build and runtime failures. + + + + + Use mkDerivation instead of + stdenv.mkDerivation. mkDerivation + is a wrapper around stdenv.mkDerivation which + applies some Qt-specific settings. + This deriver accepts the same arguments as + stdenv.mkDerivation; refer to + for details. + + + To use another deriver instead of + stdenv.mkDerivation, use + mkDerivationWith: + +mkDerivationWith myDeriver { + # ... +} + + If you cannot use mkDerivationWith, please refer to + . + + + + + mkDerivation accepts the same arguments as + stdenv.mkDerivation, such as + buildInputs. + + + - - Call your application expression using - libsForQt5.callPackage instead of - callPackage. Import dependencies unqualified, i.e., - qtbase not qt5.qtbase. Do - not import a package set such as qt5 or - libsForQt5. - + + Locating runtime dependencies + + Qt applications need to be wrapped to find runtime dependencies. If you + cannot use mkDerivation or + mkDerivationWith above, include + wrapQtAppsHook in nativeBuildInputs: + +stdenv.mkDerivation { + # ... - - Qt 5 maintains strict backward compatibility, so it is generally best to - build an application package against the latest version using the - libsForQt5 library set. In case a package does not build - with the latest Qt version, it is possible to pick a set pinned to a - particular version, e.g. libsForQt55 for Qt 5.5, if that - is the latest version the package supports. If a package must be pinned to - an older Qt version, be sure to file a bug upstream; because Qt is strictly - backwards-compatible, any incompatibility is by definition a bug in the - application. - + nativeBuildInputs = [ wrapQtAppsHook ]; +} + + + + + + Entries added to qtWrapperArgs are used to modify the + wrappers created by wrapQtAppsHook. The entries are + passed as arguments to . + +mkDerivation { + # ... + + qtWrapperArgs = [ ''--prefix PATH : /path/to/bin'' ]; +} + + + + + Set dontWrapQtApps to stop applications from being + wrapped automatically. It is required to wrap applications manually with + wrapQtApp, using the syntax of + : + +mkDerivation { + # ... + + dontWrapQtApps = true; + preFixup = '' + wrapQtApp "$out/bin/myapp" --prefix PATH : /path/to/bin + ''; +} + + + + + Libraries are built with every available version of Qt. Use the meta.broken + attribute to disable the package for unsupported Qt versions: + +mkDerivation { + # ... + + # Disable this library with Qt < 5.9.0 + meta.broken = builtins.compareVersions qtbase.version "5.9.0" < 0; +} + + + + + Adding a library to Nixpkgs + + Add a Qt library to all-packages.nix by adding it to the + collection inside mkLibsForQt5. This ensures that the + library is built with every available version of Qt as needed. + + Adding a Qt library to <filename>all-packages.nix</filename> + +{ + # ... + + mkLibsForQt5 = self: with self; { + # ... + + mylib = callPackage ../path/to/mylib {}; + }; + + # ... +} + + + + + + + Adding an application to Nixpkgs + + Add a Qt application to all-packages.nix using + libsForQt5.callPackage instead of the usual + callPackage. The former ensures that all dependencies + are built with the same version of Qt. + + Adding a Qt application to <filename>all-packages.nix</filename> + +{ + # ... + + myapp = libsForQt5.callPackage ../path/to/myapp/ {}; + + # ... +} + + + + - - When testing applications in Nixpkgs, it is a common practice to build the - package with nix-build and run it using the created - symbolic link. This will not work with Qt applications, however, because - they have many hard runtime requirements that can only be guaranteed if the - package is actually installed. To test a Qt application, install it with - nix-env or run it inside nix-shell. - -
From a88e319591f072afd109239237e5f3927654dc74 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 9 Jul 2019 10:02:26 +0200 Subject: [PATCH 55/60] python36: 3.6.8 -> 3.6.9 --- pkgs/development/interpreters/python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 119c0a2728b4..5dbf934b7c72 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -77,10 +77,10 @@ in { sourceVersion = { major = "3"; minor = "6"; - patch = "8"; + patch = "9"; suffix = ""; }; - sha256 = "14qi6n5gpcjnwy165wi9hkfcmbadc95ny6bxxldknxwmx50n4i1m"; + sha256 = "1nkh70azbv866aw5a9bbxsxarsf40233vrzpjq17z3rz9ramybsy"; inherit (darwin) CF configd; inherit passthruFun; }; From 46d91410afc74d2c5ddf08921a6befb3da18784a Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 9 Jul 2019 10:02:38 +0200 Subject: [PATCH 56/60] python37: 3.7.3 -> 3.7.4 --- pkgs/development/interpreters/python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 5dbf934b7c72..cb18f99abb4d 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -90,10 +90,10 @@ in { sourceVersion = { major = "3"; minor = "7"; - patch = "3"; + patch = "4"; suffix = ""; }; - sha256 = "066ka8csjwkycqpgyv424d8hhqhfd7r6svsp4sfcvkylci0baq6s"; + sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv"; inherit (darwin) CF configd; inherit passthruFun; }; From 6049c39bdb3d8bfc01e2a86d2fc6ef6e46f9b0be Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Wed, 10 Jul 2019 10:30:43 +0200 Subject: [PATCH 57/60] keybase: fix eval after merge mistake --- pkgs/tools/security/keybase/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix index e94289f048e9..18e3836c99d9 100644 --- a/pkgs/tools/security/keybase/default.nix +++ b/pkgs/tools/security/keybase/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildGoPackage, fetchFromGitHubtchurl +{ stdenv, lib, buildGoPackage, fetchFromGitHub , AVFoundation, AudioToolbox, ImageIO, CoreMedia , Foundation, CoreGraphics, MediaToolbox }: From 7094a1af0c528b7c519a38253e5a4fab7dcf056e Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 14 Jul 2019 22:05:06 -0500 Subject: [PATCH 58/60] python37: fix distutils C++ patch (PR #64758) Update distutils patch to the upstream changes. See: https://github.com/python/cpython/commit/6c0e0d141a07cc3fd2441d9df8d762f56bf7edf2 --- .../python/cpython/3.7/python-3.x-distutils-C++.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/python/cpython/3.7/python-3.x-distutils-C++.patch b/pkgs/development/interpreters/python/cpython/3.7/python-3.x-distutils-C++.patch index ceb6047d31dd..243313f76548 100644 --- a/pkgs/development/interpreters/python/cpython/3.7/python-3.x-distutils-C++.patch +++ b/pkgs/development/interpreters/python/cpython/3.7/python-3.x-distutils-C++.patch @@ -83,8 +83,8 @@ _osx_support.customize_compiler(_config_vars) _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True' -- (cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \ -- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', +- (cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \ +- get_config_vars('CC', 'CXX', 'CFLAGS', - 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS') + (cc, cxx, cflags, ccshared, ldshared, ldcxxshared, shlib_suffix, ar, ar_flags) = \ + get_config_vars('CC', 'CXX', 'CFLAGS', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED', @@ -108,7 +108,7 @@ ldshared = ldshared + ' ' + os.environ['LDFLAGS'] + ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS'] if 'CFLAGS' in os.environ: -- cflags = opt + ' ' + os.environ['CFLAGS'] +- cflags = cflags + ' ' + os.environ['CFLAGS'] + cflags = os.environ['CFLAGS'] ldshared = ldshared + ' ' + os.environ['CFLAGS'] + if 'CXXFLAGS' in os.environ: From 442fd85db6848444c51ad498f49ca2c563ebf3aa Mon Sep 17 00:00:00 2001 From: taku0 Date: Sun, 14 Jul 2019 14:52:19 +0900 Subject: [PATCH 59/60] nss: 3.44 -> 3.44.1 --- pkgs/development/libraries/nss/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix index f3fc4caf3154..b410686865f2 100644 --- a/pkgs/development/libraries/nss/default.nix +++ b/pkgs/development/libraries/nss/default.nix @@ -5,7 +5,7 @@ let url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz; sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw"; }; - version = "3.44"; + version = "3.44.1"; underscoreVersion = builtins.replaceStrings ["."] ["_"] version; in stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${name}.tar.gz"; - sha256 = "1zvabgxlyvz3fnv4w89y4a5qkscjmm88naf929dgvvgfnrchwqm5"; + sha256 = "1y0jvva4s3j7cjz22kqw2lsml0an1295bgpc2raf7kc9r60cpr7w"; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; From e29cf290867c6781896bb191df057a6065fdf57b Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 16 Jul 2019 11:14:15 +0200 Subject: [PATCH 60/60] libyaml: actually use 0.2.2 The archive that was used turned out to be incorrect. https://github.com/yaml/pyyaml/issues/320 By now a correct tarball has been uploaded but in order to prevent issues like these we fetch now instead from GitHub. --- pkgs/development/libraries/libyaml/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/libyaml/default.nix b/pkgs/development/libraries/libyaml/default.nix index 7529d69dddee..143555137d72 100644 --- a/pkgs/development/libraries/libyaml/default.nix +++ b/pkgs/development/libraries/libyaml/default.nix @@ -1,14 +1,21 @@ -{ stdenv, fetchurl }: +{ stdenv +, fetchFromGitHub +, autoreconfHook +}: stdenv.mkDerivation rec { pname = "libyaml"; version = "0.2.2"; - src = fetchurl { - url = "https://pyyaml.org/download/libyaml/yaml-${version}.tar.gz"; - sha256 = "1karpcfgacgppa82wm2drcfn2kb6q2wqfykf5nrhy20sci2i2a3q"; + src = fetchFromGitHub { + owner = "yaml"; + repo = "libyaml"; + rev = version; + sha256 = "0839nqcmxjzfgjn39j7740pnlsgmvngpkamiw1lfy1qlcqyc3r4v"; }; + nativeBuildInputs = [ autoreconfHook ]; + meta = with stdenv.lib; { homepage = https://pyyaml.org/; description = "A YAML 1.1 parser and emitter written in C";