From 50062cc371db96987cf94749553f22fab2064d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Mancilla?= Date: Fri, 13 Aug 2021 20:40:00 -0400 Subject: [PATCH] colpack: refactor builder and build on darwin - Use autoreconfHook and set flags with configureFlags. - Only enable OpenMP on Linux, so it can be built on Darwin. - Do not install .la file. Other distros also remove them. - Do not build examples. - Install example sources into a proper location. - Fixed license. --- .../science/math/colpack/default.nix | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/science/math/colpack/default.nix b/pkgs/applications/science/math/colpack/default.nix index f203852c9657..3cc9290a7626 100644 --- a/pkgs/applications/science/math/colpack/default.nix +++ b/pkgs/applications/science/math/colpack/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook }: stdenv.mkDerivation rec { @@ -12,20 +12,32 @@ stdenv.mkDerivation rec { sha256 = "1p05vry940mrjp6236c0z83yizmw9pk6ly2lb7d8rpb7j9h03glr"; }; - buildInputs = [ autoconf automake gettext libtool ]; + nativeBuildInputs = [ autoreconfHook ]; - configurePhase = '' - autoreconf -vif - ./configure --prefix=$out --enable-openmp + configureFlags = [ + "--enable-openmp=${if stdenv.isLinux then "yes" else "no"}" + "--enable-examples=no" + ]; + + postInstall = '' + # Remove libtool archive + rm $out/lib/*.la + + # Remove compiled examples (Basic examples get compiled anyway) + rm -r $out/examples + + # Copy the example sources (Basic tree contains scripts and object files) + mkdir -p $out/share/ColPack/examples/Basic + cp SampleDrivers/Basic/*.cpp $out/share/ColPack/examples/Basic + cp -r SampleDrivers/Matrix* $out/share/ColPack/examples ''; meta = with lib; { description = "A package comprising of implementations of algorithms for vertex coloring and derivative computation"; homepage = "http://cscapes.cs.purdue.edu/coloringpage/software.htm#functionalities"; - license = licenses.lgpl3; - platforms = platforms.linux; + license = licenses.lgpl3Plus; + platforms = platforms.unix; maintainers = with maintainers; [ edwtjo ]; }; - }