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 { };