diff options
author | Jörg Thalheim <joerg@higgsboson.tk> | 2016-09-29 08:35:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-29 08:35:40 +0200 |
commit | f7371ce3b539c8a5956868ab6af45856addede76 (patch) | |
tree | e45c52a24e52d248bb0d6fbd1a20ba865482e356 | |
parent | 88a1ca397726dc241d8dd1e37a0d6e5074d5c55b (diff) | |
parent | 7ab671c209fa94772e8ae636b5ca34d83ebc177a (diff) | |
download | nixlib-f7371ce3b539c8a5956868ab6af45856addede76.tar nixlib-f7371ce3b539c8a5956868ab6af45856addede76.tar.gz nixlib-f7371ce3b539c8a5956868ab6af45856addede76.tar.bz2 nixlib-f7371ce3b539c8a5956868ab6af45856addede76.tar.lz nixlib-f7371ce3b539c8a5956868ab6af45856addede76.tar.xz nixlib-f7371ce3b539c8a5956868ab6af45856addede76.tar.zst nixlib-f7371ce3b539c8a5956868ab6af45856addede76.zip |
Merge pull request #19028 from acowley/libui-darwin
libui: darwin compatibility
-rw-r--r-- | pkgs/development/libraries/libui/default.nix | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/pkgs/development/libraries/libui/default.nix b/pkgs/development/libraries/libui/default.nix index 50c42f4f10b2..4db641868508 100644 --- a/pkgs/development/libraries/libui/default.nix +++ b/pkgs/development/libraries/libui/default.nix @@ -1,8 +1,9 @@ -{ stdenv, fetchgit, cmake, pkgconfig, gtk3 }: +{ stdenv, fetchgit, cmake, pkgconfig, gtk3, darwin }: let shortName = "libui"; version = "3.1a"; + backend = if stdenv.isDarwin then "darwin" else "unix"; in stdenv.mkDerivation rec { name = "${shortName}-${version}"; @@ -12,27 +13,42 @@ in sha256 = "1lpbfa298c61aarlzgp7vghrmxg1274pzxh1j9isv8x758gk6mfn"; }; - buildInputs = [ cmake pkgconfig gtk3 ]; + buildInputs = [ cmake pkgconfig ] ++ + (if stdenv.isDarwin then [darwin.apple_sdk.frameworks.Cocoa] else [gtk3]); + + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' + sed -i 's/set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8")//' ./CMakeLists.txt + ''; + cmakeFlags = stdenv.lib.optionals stdenv.isDarwin [ + "-DCMAKE_OSX_SYSROOT=" + "-DCMAKE_OSX_DEPLOYMENT_TARGET=" + ]; installPhase = '' mkdir -p $out/{include,lib} mkdir -p $out/lib/pkgconfig - + '' + stdenv.lib.optionalString stdenv.isLinux '' mv ./out/${shortName}.so.0 $out/lib/ ln -s $out/lib/${shortName}.so.0 $out/lib/${shortName}.so - + '' + stdenv.lib.optionalString stdenv.isDarwin '' + mv ./out/${shortName}.A.dylib $out/lib/ + ln -s $out/lib/${shortName}.A.dylib $out/lib/${shortName}.dylib + '' + '' cp $src/ui.h $out/include - cp $src/ui_unix.h $out/include + cp $src/ui_${backend}.h $out/include cp ${./libui.pc} $out/lib/pkgconfig/${shortName}.pc substituteInPlace $out/lib/pkgconfig/${shortName}.pc \ --subst-var-by out $out \ --subst-var-by version "${version}" ''; + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -id $out/lib/${shortName}.A.dylib $out/lib/${shortName}.A.dylib + ''; meta = { homepage = https://github.com/andlabs/libui; description = "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports."; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } |