biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / science / math / nasc / default.nix
blobcd96b1d669a10ebd6ab79cd0f5082ed15a7276f5
1 { lib, stdenv
2 , fetchFromGitHub
3 , pkg-config
4 , python3
5 , meson
6 , ninja
7 , vala
8 , gtk3
9 , glib
10 , pantheon
11 , gtksourceview
12 , libgee
13 , nix-update-script
14 , webkitgtk_4_0
15 , libqalculate
16 , intltool
17 , gnuplot
18 , wrapGAppsHook3
21 stdenv.mkDerivation rec {
22   pname = "nasc";
23   version = "0.8.0";
25   src = fetchFromGitHub {
26     owner = "parnold-x";
27     repo = pname;
28     rev = version;
29     sha256 = "02b9a59a9fzsb6nn3ycwwbcbv04qfzm6x7csq2addpzx5wak6dd8";
30     fetchSubmodules = true;
31   };
33   nativeBuildInputs = [
34     glib # post_install.py
35     gtk3 # post_install.py
36     intltool # for libqalculate
37     meson
38     ninja
39     pkg-config
40     python3
41     vala
42     wrapGAppsHook3
43   ];
45   buildInputs = [
46     glib
47     gtk3
48     gtksourceview
49     libgee
50     pantheon.granite
51     webkitgtk_4_0
52     # We add libqalculate's runtime dependencies because nasc has it as a modified subproject.
53   ] ++ libqalculate.buildInputs ++ libqalculate.propagatedBuildInputs;
55   postPatch = ''
56     chmod +x meson/post_install.py
57     patchShebangs meson/post_install.py
59     # patch subproject. same code in libqalculate expression
60     substituteInPlace subprojects/libqalculate/libqalculate/Calculator-plot.cc \
61       --replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \
62       --replace '"gnuplot - ' '"${gnuplot}/bin/gnuplot - '
63     substituteInPlace subprojects/libqalculate/libqalculate/meson.build \
64       --replace "link_with: 'libqalculate_lib_static'" "link_with: libqalculate_lib_static"
65   '';
67   passthru = {
68     updateScript = nix-update-script { };
69   };
71   meta = with lib; {
72     description = "Do maths like a normal person, designed for elementary OS";
73     longDescription = ''
74       It’s an app where you do maths like a normal person. It lets you
75       type whatever you want and smartly figures out what is math and
76       spits out an answer on the right pane. Then you can plug those
77       answers in to future equations and if that answer changes, so does
78       the equations it’s used in.
79     '';
80     homepage = "https://github.com/parnold-x/nasc";
81     maintainers = teams.pantheon.members;
82     platforms = platforms.linux;
83     license = licenses.gpl3Plus;
84     mainProgram = "com.github.parnold_x.nasc";
85   };