From 0a271c00bebd1c004d61a1aabc3daa1b8bbbd777 Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 17 Nov 2014 01:22:27 +0100 Subject: [PATCH] lucenepp: Add new package, version 3.0.6. Required as a dependency of the Tomahawk music player. The latest upstream release needs to be patched quite a bit in order to build and to correctly install the header files. Other distributions seem to largely use the latest Git master version, because all those build problems have been fixed there already. In order to ensure we have version 3.0.6, we just cherry-pick the relevant patches, so as soon as the next upstream version is released we just need to drop the patches/postPatch attributes. The postPatch is needed in order to get rid of the subversion dependency, which the upstream build process tries to use for fetching gtest. We don't have networking support inside the Nix build process, so let's pass that dependency directly. Signed-off-by: aszlig --- .../libraries/lucene++/default.nix | 46 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/libraries/lucene++/default.nix diff --git a/pkgs/development/libraries/lucene++/default.nix b/pkgs/development/libraries/lucene++/default.nix new file mode 100644 index 000000000000..74c7b5e72613 --- /dev/null +++ b/pkgs/development/libraries/lucene++/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, fetchpatch, cmake, boost, gtest }: + +stdenv.mkDerivation rec { + name = "lucene++-${version}"; + version = "3.0.6"; + + src = fetchurl { + url = "https://github.com/luceneplusplus/LucenePlusPlus/" + + "archive/rel_${version}.tar.gz"; + sha256 = "068msvh05gsbfj1wwdqj698kxxfjdqy8zb6pqvail3ayjfj94w1y"; + }; + + patches = let + baseurl = "https://github.com/luceneplusplus/LucenePlusPlus"; + in [ + (fetchpatch { + url = "${baseurl}/pull/62.diff"; + sha256 = "0v314877mjb0hljg4mcqi317m1p1v27rgsgf5wdr9swix43vmhgw"; + }) + (fetchpatch { + url = "${baseurl}/commit/994f03cf736229044a168835ae7387696041658f.diff"; + sha256 = "0fcm5b87nxw062wjd7b4qrfcwsyblmcw19s64004pklj9grk30zz"; + }) + ]; + + postPatch = '' + sed -i -e '/Subversion *REQUIRED/d' \ + -e '/include.*CMakeExternal/d' \ + CMakeLists.txt + # not using -f because we want it to fail for the next release + rm CMakeExternal.txt + ''; + + cmakeFlags = [ "-DGTEST_INCLUDE_DIR=${gtest}/include" ]; + buildInputs = [ cmake boost gtest ]; + + enableParallelBuilding = true; + doCheck = true; + checkTarget = "test"; + + meta = { + description = "C++ port of the popular Java Lucene search engine"; + homepage = "https://github.com/luceneplusplus/LucenePlusPlus"; + license = with stdenv.lib.licenses; [ asl20 lgpl3Plus ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90bc51933e0e..18e7455eb10b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7198,6 +7198,8 @@ let lucene = callPackage ../development/libraries/java/lucene { }; + lucenepp = callPackage ../development/libraries/lucene++ { }; + mockobjects = callPackage ../development/libraries/java/mockobjects { }; saxon = callPackage ../development/libraries/java/saxon { };