Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 21.05 48 lines 1.5 kB view raw
1{ lib, stdenv, fetchFromGitHub, fixDarwinDylibNames }: 2 3let 4 soVersion = "4"; 5in stdenv.mkDerivation rec { 6 pname = "liblinear"; 7 version = "2.43"; 8 9 src = fetchFromGitHub { 10 owner = "cjlin1"; 11 repo = "liblinear"; 12 rev = "v${builtins.replaceStrings ["."] [""] version}"; 13 sha256 = "sha256-qcSMuWHJgsapWs1xgxv3fKSXcx18q8cwyIn3E4RCGKA="; 14 }; 15 16 postPatch = '' 17 substituteInPlace blas/Makefile \ 18 --replace "ar rcv" "${stdenv.cc.targetPrefix}ar rcv" \ 19 --replace "ranlib" "${stdenv.cc.targetPrefix}ranlib" 20 ''; 21 22 outputs = [ "bin" "dev" "out" ]; 23 24 nativeBuildInputs = lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ]; 25 26 buildFlags = [ "lib" "predict" "train" ]; 27 28 installPhase = '' 29 ${if stdenv.isDarwin then '' 30 install -D liblinear.so.${soVersion} $out/lib/liblinear.${soVersion}.dylib 31 ln -s $out/lib/liblinear.${soVersion}.dylib $out/lib/liblinear.dylib 32 '' else '' 33 install -Dt $out/lib liblinear.so.${soVersion} 34 ln -s $out/lib/liblinear.so.${soVersion} $out/lib/liblinear.so 35 ''} 36 install -D train $bin/bin/liblinear-train 37 install -D predict $bin/bin/liblinear-predict 38 install -Dm444 -t $dev/include linear.h 39 ''; 40 41 meta = with lib; { 42 description = "A library for large linear classification"; 43 homepage = "https://www.csie.ntu.edu.tw/~cjlin/liblinear/"; 44 license = licenses.bsd3; 45 maintainers = [ maintainers.danieldk ]; 46 platforms = platforms.unix; 47 }; 48}