nixpkgs/pkgs/development/libraries/kyotocabinet/default.nix
2021-01-21 19:11:02 -08:00

42 lines
1.3 KiB
Nix

{ lib, stdenv, fetchurl, zlib }:
stdenv.mkDerivation rec {
name = "kyotocabinet-1.2.76";
src = fetchurl {
url = "http://fallabs.com/kyotocabinet/pkg/${name}.tar.gz";
sha256 = "0g6js20x7vnpq4p8ghbw3mh9wpqksya9vwhzdx6dnlf354zjsal1";
};
prePatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace kccommon.h \
--replace tr1/unordered_map unordered_map \
--replace tr1/unordered_set unordered_set \
--replace tr1::hash std::hash \
--replace tr1::unordered_map std::unordered_map \
--replace tr1::unordered_set std::unordered_set
substituteInPlace lab/kcdict/Makefile --replace stdc++ c++
substituteInPlace configure \
--replace /usr/local/bin:/usr/local/sbin: "" \
--replace /usr/bin:/usr/sbin: "" \
--replace /bin:/sbin: "" \
--replace stdc++ c++
'';
patches = [(fetchurl {
name = "gcc6.patch";
url = "https://src.fedoraproject.org/rpms/kyotocabinet/raw/master/f/kyotocabinet-1.2.76-gcc6.patch";
sha256 = "1h5k38mkiq7lz8nd2gbn7yvimcz49g3z7phn1cr560bzjih8rz23";
})];
buildInputs = [ zlib ];
meta = with lib; {
homepage = "http://fallabs.com/kyotocabinet";
description = "A library of routines for managing a database";
license = licenses.gpl3;
platforms = platforms.all;
};
}