Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / libqalculate / default.nix
blob87e3049c6c85262dd1a7e2a5f12821bccf05b648
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , intltool
5 , pkg-config
6 , doxygen
7 , autoreconfHook
8 , buildPackages
9 , curl
10 , gettext
11 , libiconv
12 , readline
13 , libxml2
14 , mpfr
15 , icu
16 , gnuplot
19 stdenv.mkDerivation (finalAttrs: {
20   pname = "libqalculate";
21   version = "4.8.1";
23   src = fetchFromGitHub {
24     owner = "qalculate";
25     repo = "libqalculate";
26     rev = "v${finalAttrs.version}";
27     sha256 = "sha256-4WqKlwVf4/ixVr98lPFVfNL6EOIfHHfL55xLsYqxkhY=";
28   };
30   outputs = [ "out" "dev" "doc" ];
32   nativeBuildInputs = [
33     intltool
34     pkg-config
35     autoreconfHook
36     doxygen
37   ];
38   depsBuildBuild = [
39     buildPackages.stdenv.cc
40   ];
42   buildInputs = [
43     curl
44     gettext
45     libiconv
46     readline
47   ];
48   propagatedBuildInputs = [
49     libxml2
50     mpfr
51     icu
52   ];
53   enableParallelBuilding = true;
55   preConfigure = ''
56     intltoolize -f
57   '';
59   patchPhase = ''
60     substituteInPlace libqalculate/Calculator-plot.cc \
61       --replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \
62       --replace '"gnuplot - ' '"${gnuplot}/bin/gnuplot - '
63   '' + lib.optionalString stdenv.cc.isClang ''
64     substituteInPlace src/qalc.cc \
65       --replace 'printf(_("aborted"))' 'printf("%s", _("aborted"))'
66   '';
68   preBuild = ''
69     pushd docs/reference
70     doxygen Doxyfile
71     popd
72   '';
74   meta = with lib; {
75     description = "An advanced calculator library";
76     homepage = "http://qalculate.github.io";
77     license = licenses.gpl2Plus;
78     maintainers = with maintainers; [ gebner doronbehar alyaeanyx ];
79     mainProgram = "qalc";
80     platforms = platforms.all;
81   };