libsvm: 3.25 -> 3.31

LeixB ee71bbc2 3d57138b

Changed files
+49 -20
pkgs
development
libraries
+36 -20
pkgs/development/libraries/libsvm/default.nix
··· 1 - {lib, stdenv, fetchurl}: 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , fixDarwinDylibNames 5 + , llvmPackages 6 + , withOpenMP ? true 7 + }: 2 8 3 9 stdenv.mkDerivation rec { 4 10 pname = "libsvm"; 5 - version = "3.25"; 11 + version = "3.31"; 6 12 7 13 src = fetchurl { 8 14 url = "https://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-${version}.tar.gz"; 9 - sha256 = "sha256-UjUOiqdAsXbh13Pp3AjxNAIYw34BvsN6uQ2wEn5LteU="; 15 + sha256 = "sha256-AKtWH0jfX8kqhCCa2P5Rmery5Rmzwnm6z8k1l4p1zx8="; 10 16 }; 11 17 12 - buildPhase = '' 13 - make 14 - make lib 15 - ''; 18 + patches = lib.optionals withOpenMP [ ./openmp.patch ]; 16 19 17 - installPhase = let 18 - libSuff = stdenv.hostPlatform.extensions.sharedLibrary; 19 - in '' 20 - install -D libsvm.so.2 $out/lib/libsvm.2${libSuff} 21 - ln -s $out/lib/libsvm.2${libSuff} $out/lib/libsvm${libSuff} 22 - install -Dt $out/bin/ svm-scale svm-train svm-predict 23 - install -Dm644 -t $out/include svm.h 24 - mkdir $out/include/libsvm 25 - ln -s $out/include/svm.h $out/include/libsvm/svm.h 26 - ''; 20 + buildInputs = lib.optionals (stdenv.cc.isClang && withOpenMP) [ llvmPackages.openmp ]; 27 21 28 - postFixup = lib.optionalString stdenv.isDarwin '' 29 - install_name_tool -id libsvm.2.dylib $out/lib/libsvm.2.dylib; 30 - ''; 22 + buildFlags = [ "lib" "all" ]; 23 + 24 + outputs = [ "out" "bin" "dev" ]; 25 + 26 + nativeBuildInputs = lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ]; 27 + 28 + installPhase = 29 + let 30 + libSuff = stdenv.hostPlatform.extensions.sharedLibrary; 31 + soVersion = "3"; 32 + in 33 + '' 34 + runHook preInstall 35 + 36 + install -D libsvm.so.${soVersion} $out/lib/libsvm.${soVersion}${libSuff} 37 + ln -s $out/lib/libsvm.${soVersion}${libSuff} $out/lib/libsvm${libSuff} 38 + 39 + install -Dt $bin/bin/ svm-scale svm-train svm-predict 40 + 41 + install -Dm644 -t $dev/include svm.h 42 + mkdir $dev/include/libsvm 43 + ln -s $dev/include/svm.h $dev/include/libsvm/svm.h 44 + 45 + runHook postInstall 46 + ''; 31 47 32 48 meta = with lib; { 33 49 description = "A library for support vector machines";
+13
pkgs/development/libraries/libsvm/openmp.patch
··· 1 + --- /Makefile 1970-01-01 01:00:01.000000000 +0100 2 + +++ /Makefile 1970-01-01 01:00:01.000000000 +0100 3 + @@ -9,8 +9,8 @@ 4 + endif 5 + 6 + # Uncomment the following lines to enable parallelization with OpenMP 7 + -# CFLAGS += -fopenmp 8 + -# SHARED_LIB_FLAG += -fopenmp 9 + +CFLAGS += -fopenmp 10 + +SHARED_LIB_FLAG += -fopenmp 11 + 12 + all: svm-train svm-predict svm-scale 13 +