summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/mac.nix56
-rw-r--r--pkgs/os-specific/darwin/cf-private/default.nix16
-rw-r--r--pkgs/top-level/all-packages.nix1
-rw-r--r--pkgs/top-level/darwin-packages.nix6
4 files changed, 25 insertions, 54 deletions
diff --git a/pkgs/development/libraries/wxwidgets/3.0/mac.nix b/pkgs/development/libraries/wxwidgets/3.0/mac.nix
index 9c307b2d15ae..040273e28b99 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/mac.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/mac.nix
@@ -1,60 +1,26 @@
-{ stdenv, fetchurl, fetchpatch, expat, libiconv, libjpeg, libpng, libtiff, zlib
+{ stdenv, fetchzip, fetchpatch, expat, libiconv, libjpeg, libpng, libtiff, zlib
 # darwin only attributes
-, derez, rez, setfile
+, cf-private, derez, rez, setfile
 , AGL, Cocoa, Kernel
 }:
 
-with stdenv.lib;
-
 stdenv.mkDerivation rec {
-  version = "3.0.2";
+  version = "3.0.4";
   name = "wxmac-${version}";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2";
-    sha256 = "346879dc554f3ab8d6da2704f651ecb504a22e9d31c17ef5449b129ed711585d";
+  src = fetchzip {
+    url = "https://github.com/wxWidgets/wxWidgets/archive/v${version}.tar.gz";
+    sha256 = "19mqglghjjqjgz4rbybn3qdgn2cz9xc511nq1pvvli9wx2k8syl1";
   };
 
-  patches =
-    [ # Use std::abs() from <cmath> instead of abs() from <math.h> to avoid problems
-      # with abiguous overloads for clang-3.8 and gcc6.
-      (fetchpatch {
-        name = "patch-stc-abs.diff";
-        url = https://github.com/wxWidgets/wxWidgets/commit/73e9e18ea09ffffcaac50237def0d9728a213c02.patch;
-        sha256 = "0w5whmfzm8waw62jmippming0zffa9064m5b3aw5nixph21rlcvq";
-      })
-
-      # Various fixes related to Yosemite. Revisit in next stable release.
-      # Please keep an eye on http://trac.wxwidgets.org/ticket/16329 as well
-      # Theoretically the above linked patch should still be needed, but it isn't.
-      # Try to find out why.
-      (fetchpatch {
-        name = "patch-yosemite.diff";
-        url = https://raw.githubusercontent.com/Homebrew/formula-patches/bbf4995/wxmac/patch-yosemite.diff;
-        sha256 = "0ss66z2a79v976mvlrskyj1zmkyaz8hbwm98p29bscfvcx5845jb";
-      })
-
-      # Remove uncenessary <QuickTime/QuickTime.h> includes
-      # http://trac.wxwidgets.org/changeset/f6a2d1caef5c6d412c84aa900cb0d3990b350938/git-wxWidgets
-      (fetchpatch {
-        name = "patch-quicktime-removal.diff";
-        url = https://raw.githubusercontent.com/Homebrew/formula-patches/bbf4995/wxmac/patch-quicktime-removal.diff;
-        sha256 = "0mzvdk8r70p9s1wj7qzdsqmdrlxlf2dalh9gqs8xjkqq2666yp0y";
-      })
-
-      # Patch for wxOSXPrintData, custom paper not applied
-      # http://trac.wxwidgets.org/ticket/16959
-      (fetchpatch {
-        name = "wxPaperCustomPatch.patch";
-        url = http://trac.wxwidgets.org/raw-attachment/ticket/16959/wxPaperCustomPatch.patch;
-        sha256 = "0xgscv86f8dhggn9n8bhlq9wlj3ydsicgy9v35sraxyma18cbjvl";
-      })
-    ];
-
   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
   ];
 
   propagatedBuildInputs = [ AGL ];
@@ -98,7 +64,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     platforms = platforms.darwin;
     license = licenses.wxWindows;
     maintainers = [ maintainers.lnl7 ];
diff --git a/pkgs/os-specific/darwin/cf-private/default.nix b/pkgs/os-specific/darwin/cf-private/default.nix
index 3fac20d23c78..dc1b0112a219 100644
--- a/pkgs/os-specific/darwin/cf-private/default.nix
+++ b/pkgs/os-specific/darwin/cf-private/default.nix
@@ -1,4 +1,4 @@
-{ CF, apple_sdk }:
+{ CF, apple_sdk, osx_private_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.
@@ -13,10 +13,10 @@
 # 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: {
@@ -38,22 +38,24 @@ CF.overrideAttrs (orig: {
   # this is watchman, who can almost certainly switch to the pure CF once the header
   # and functionality is merged in.
   installPhase = orig.installPhase + ''
+    # Copy or overwrite private headers, some of these might already
+    # exist in CF but the private versions have more information.
     basepath="Library/Frameworks/CoreFoundation.framework/Headers"
-    path="$basepath/CFFileDescriptor.h"
+    cp -Lfv --no-preserve mode ${osx_private_sdk}/include/CoreFoundationPrivateHeaders/* "$out/$basepath"
 
     # Append the include at top level or nobody will notice the header we're about to add
     sed -i '/CFNotificationCenter.h/a #include <CoreFoundation/CFFileDescriptor.h>' \
       "$out/$basepath/CoreFoundation.h"
 
-    cp ${apple_sdk.frameworks.CoreFoundation}/$path $out/$path
+    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"    
+    path="$basepath/CFURLEnumerator.h"
     sed -i '/CFNotificationCenter.h/a #include <CoreFoundation/CFURLEnumerator.h>' \
       "$out/$basepath/CoreFoundation.h"
 
     cp ${apple_sdk.frameworks.CoreFoundation}/$path $out/$path
   '';
-})
\ No newline at end of file
+})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 895162792437..782fb6d8dd89 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12714,6 +12714,7 @@ with pkgs;
   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 {
diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix
index 3bf7c31b7008..78ca0d20908d 100644
--- a/pkgs/top-level/darwin-packages.nix
+++ b/pkgs/top-level/darwin-packages.nix
@@ -31,7 +31,9 @@ in
     libcxxabi = pkgs.libcxxabi;
   };
 
-  cf-private = callPackage ../os-specific/darwin/cf-private { inherit (darwin) CF apple_sdk; };
+  cf-private = callPackage ../os-specific/darwin/cf-private {
+    inherit (darwin) CF apple_sdk osx_private_sdk;
+  };
 
   DarwinTools = callPackage ../os-specific/darwin/DarwinTools { };
 
@@ -74,7 +76,7 @@ in
   CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication { };
 
   CF = callPackage ../os-specific/darwin/swift-corelibs/corefoundation.nix { inherit (darwin) objc4 ICU; };
-  
+
   # As the name says, this is broken, but I don't want to lose it since it's a direction we want to go in
   # libdispatch-broken = callPackage ../os-specific/darwin/swift-corelibs/libdispatch.nix { inherit (darwin) apple_sdk_sierra xnu; };