From 0cde365745fc9dfbffeb414ec9fb70c272f8f418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Fri, 3 Feb 2017 12:51:59 +0100 Subject: [PATCH 1/3] jsoncpp: 1.7.2->1.8.0 I also re-added some stuff lost in previous update (83fd63995af), like darwin support and maintainers info. --- .../development/libraries/jsoncpp/default.nix | 45 ++++++++++++------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix index 5c4c4a693df..62e5e7133b4 100644 --- a/pkgs/development/libraries/jsoncpp/default.nix +++ b/pkgs/development/libraries/jsoncpp/default.nix @@ -1,34 +1,47 @@ { stdenv -, fetchgit +, fetchFromGitHub , cmake , python }: stdenv.mkDerivation rec { name = "jsoncpp-${version}"; - version = "1.7.2"; + version = "1.8.0"; - src = fetchgit { - url = https://github.com/open-source-parsers/jsoncpp.git; - sha256 = "04w4cfmvyv52rpqhc370ln8rhlsrr515778bixhgafqbp3p4x34k"; - rev = "c8054483f82afc3b4db7efe4e5dc034721649ec8"; + src = fetchFromGitHub { + owner = "open-source-parsers"; + repo = "jsoncpp"; + rev = version; + sha256 = "1lg22zrjnl10x1bw0wfz72xd2kfbzynyggk8vdwd89mp1g8xjl9d"; }; - configurePhase = '' - mkdir -p Build - pushd Build + /* During darwin bootstrap, we have a cp that doesn't understand the + * --reflink=auto flag, which is used in the default unpackPhase for dirs + */ + unpackPhase = '' + cp -a ${src} ${src.name} + chmod -R +w ${src.name} + export sourceRoot=${src.name} + ''; - mkdir -p $out - cmake .. -DCMAKE_INSTALL_PREFIX=$out \ - -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_BUILD_TYPE=Release - ''; + # Hack to be able to run the test, broken because we use + # CMAKE_SKIP_BUILD_RPATH to avoid cmake resetting rpath on install + preBuild = '' + export LD_LIBRARY_PATH="`pwd`/src/lib_json:$LD_LIBRARY_PATH" + ''; - buildInputs = [ cmake python ]; + nativeBuildInputs = [ cmake python ]; + + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_STATIC_LIBS=OFF" + ]; meta = with stdenv.lib; { + inherit version; homepage = https://github.com/open-source-parsers/jsoncpp; description = "A C++ library for interacting with JSON."; + maintainers = with maintainers; [ ttuegel page ]; license = licenses.mit; - platforms = platforms.linux; + platforms = platforms.all; }; } From ba596c9ce93691edc0e2e31924c75138ed671506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Fri, 3 Feb 2017 12:58:10 +0100 Subject: [PATCH 2/3] jsoncpp: remove unused 1.6 version --- .../libraries/jsoncpp/1.6.5/default.nix | 48 ------------------- pkgs/top-level/all-packages.nix | 2 - 2 files changed, 50 deletions(-) delete mode 100644 pkgs/development/libraries/jsoncpp/1.6.5/default.nix diff --git a/pkgs/development/libraries/jsoncpp/1.6.5/default.nix b/pkgs/development/libraries/jsoncpp/1.6.5/default.nix deleted file mode 100644 index 00dffdbc3ce..00000000000 --- a/pkgs/development/libraries/jsoncpp/1.6.5/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, python }: - -stdenv.mkDerivation rec { - name = "jsoncpp-${version}"; - version = "1.6.5"; - - src = fetchFromGitHub { - owner = "open-source-parsers"; - repo = "jsoncpp"; - rev = version; - sha256 = "08y54n4v3q18ik8iv8zyziava3x130ilzf1l3qli3vjwf6l42fm0"; - }; - - /* During darwin bootstrap, we have a cp that doesn't understand the - * --reflink=auto flag, which is used in the default unpackPhase for dirs - */ - unpackPhase = '' - cp -a ${src} ${src.name} - chmod -R +w ${src.name} - export sourceRoot=${src.name} - ''; - - # Hack to be able to run the test, broken because we use - # CMAKE_SKIP_BUILD_RPATH to avoid cmake resetting rpath on install - preBuild = '' - export LD_LIBRARY_PATH="`pwd`/src/lib_json:$LD_LIBRARY_PATH" - ''; - - nativeBuildInputs = [ cmake python ]; - - CXXFLAGS = "-Wno-shift-negative-value"; - - cmakeFlags = [ - "-DJSONCPP_LIB_BUILD_SHARED=ON" - "-DJSONCPP_LIB_BUILD_STATIC=OFF" - "-DJSONCPP_WITH_CMAKE_PACKAGE=ON" - ]; - - meta = { - inherit version; - homepage = https://github.com/open-source-parsers/jsoncpp; - description = "A simple API to manipulate JSON data in C++"; - maintainers = with stdenv.lib.maintainers; [ ttuegel cpages ]; - platforms = stdenv.lib.platforms.all; - license = stdenv.lib.licenses.mit; - branch = "1.6"; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cfbd552a3aa..8e4169c575c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7746,8 +7746,6 @@ with pkgs; jsoncpp = callPackage ../development/libraries/jsoncpp { }; - jsoncpp_1_6_5 = callPackage ../development/libraries/jsoncpp/1.6.5 { }; - jsonnet = callPackage ../development/compilers/jsonnet { }; libjson = callPackage ../development/libraries/libjson { }; From 67dcb6aa4c7dae60462444c2d69747570ffa948e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Fri, 3 Feb 2017 17:32:33 +0100 Subject: [PATCH 3/3] jsoncpp: fix build on darwin Also, fixed maintainer attrib --- pkgs/development/libraries/jsoncpp/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix index 62e5e7133b4..18ea6370634 100644 --- a/pkgs/development/libraries/jsoncpp/default.nix +++ b/pkgs/development/libraries/jsoncpp/default.nix @@ -25,7 +25,9 @@ stdenv.mkDerivation rec { # Hack to be able to run the test, broken because we use # CMAKE_SKIP_BUILD_RPATH to avoid cmake resetting rpath on install - preBuild = '' + preBuild = if stdenv.isDarwin then '' + export DYLD_LIBRARY_PATH="`pwd`/src/lib_json:$DYLD_LIBRARY_PATH" + '' else '' export LD_LIBRARY_PATH="`pwd`/src/lib_json:$LD_LIBRARY_PATH" ''; @@ -40,7 +42,7 @@ stdenv.mkDerivation rec { inherit version; homepage = https://github.com/open-source-parsers/jsoncpp; description = "A C++ library for interacting with JSON."; - maintainers = with maintainers; [ ttuegel page ]; + maintainers = with maintainers; [ ttuegel cpages ]; license = licenses.mit; platforms = platforms.all; };