82 lines
1.5 KiB
Nix
82 lines
1.5 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, intltool
|
|
, pkg-config
|
|
, doxygen
|
|
, autoreconfHook
|
|
, buildPackages
|
|
, curl
|
|
, gettext
|
|
, libiconv
|
|
, readline
|
|
, libxml2
|
|
, mpfr
|
|
, icu
|
|
, gnuplot
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "libqalculate";
|
|
version = "5.1.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "qalculate";
|
|
repo = "libqalculate";
|
|
rev = "v${finalAttrs.version}";
|
|
hash = "sha256-cmH92gdQ+fmtOLgx5ibKqLZaQFzx2z+GuXhR62dtftk=";
|
|
};
|
|
|
|
outputs = [ "out" "dev" "doc" ];
|
|
|
|
nativeBuildInputs = [
|
|
intltool
|
|
pkg-config
|
|
autoreconfHook
|
|
doxygen
|
|
];
|
|
depsBuildBuild = [
|
|
buildPackages.stdenv.cc
|
|
];
|
|
|
|
buildInputs = [
|
|
curl
|
|
gettext
|
|
libiconv
|
|
readline
|
|
];
|
|
propagatedBuildInputs = [
|
|
libxml2
|
|
mpfr
|
|
icu
|
|
];
|
|
enableParallelBuilding = true;
|
|
|
|
preConfigure = ''
|
|
intltoolize -f
|
|
'';
|
|
|
|
patchPhase = ''
|
|
substituteInPlace libqalculate/Calculator-plot.cc \
|
|
--replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \
|
|
--replace '"gnuplot - ' '"${gnuplot}/bin/gnuplot - '
|
|
'' + lib.optionalString stdenv.cc.isClang ''
|
|
substituteInPlace src/qalc.cc \
|
|
--replace 'printf(_("aborted"))' 'printf("%s", _("aborted"))'
|
|
'';
|
|
|
|
preBuild = ''
|
|
pushd docs/reference
|
|
doxygen Doxyfile
|
|
popd
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "An advanced calculator library";
|
|
homepage = "http://qalculate.github.io";
|
|
license = licenses.gpl2Plus;
|
|
maintainers = with maintainers; [ gebner doronbehar alyaeanyx ];
|
|
mainProgram = "qalc";
|
|
platforms = platforms.all;
|
|
};
|
|
})
|