From e8d6ceaf397959250b56fc5600144f9e25840b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Tue, 31 Jul 2018 23:52:04 +0200 Subject: [PATCH] liblinear: init at 2.20 (#44178) Since building liblinear is very similar to libsvm, this expression is largely based on libsvm. --- .../libraries/liblinear/default.nix | 39 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 41 insertions(+) create mode 100644 pkgs/development/libraries/liblinear/default.nix diff --git a/pkgs/development/libraries/liblinear/default.nix b/pkgs/development/libraries/liblinear/default.nix new file mode 100644 index 00000000000..ea05df45169 --- /dev/null +++ b/pkgs/development/libraries/liblinear/default.nix @@ -0,0 +1,39 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "liblinear-${version}"; + version = "2.20"; + + src = fetchurl { + url = "https://www.csie.ntu.edu.tw/~cjlin/liblinear/liblinear-${version}.tar.gz"; + sha256 = "13q48azqy9pd8jyhk0c2hzj5xav1snbdrj8pp38vwrv2wwhfz7rz"; + }; + + buildPhase = '' + make + make lib + ''; + + installPhase = let + libSuff = stdenv.hostPlatform.extensions.sharedLibrary; + in '' + mkdir -p $out/lib $out/bin $out/include + cp liblinear.so.3 $out/lib/liblinear.3${libSuff} + ln -s $out/lib/liblinear.3${libSuff} $out/lib/liblinear${libSuff} + cp train $out/bin/liblinear-train + cp predict $out/bin/liblinear-predict + cp linear.h $out/include + ''; + + postFixup = stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -id liblinear.3.dylib $out/lib/liblinear.3.dylib + ''; + + meta = with stdenv.lib; { + description = "A library for large linear classification"; + homepage = https://www.csie.ntu.edu.tw/~cjlin/liblinear/; + license = licenses.bsd3; + maintainers = [ maintainers.danieldk ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4ca722cd312..941b3c6310c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10499,6 +10499,8 @@ with pkgs; libksi = callPackage ../development/libraries/libksi { }; + liblinear = callPackage ../development/libraries/liblinear { }; + libmad = callPackage ../development/libraries/libmad { }; libmatchbox = callPackage ../development/libraries/libmatchbox { };