summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/science/chemistry/gwyddion/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science/chemistry/gwyddion/default.nix')
-rw-r--r--pkgs/applications/science/chemistry/gwyddion/default.nix71
1 files changed, 62 insertions, 9 deletions
diff --git a/pkgs/applications/science/chemistry/gwyddion/default.nix b/pkgs/applications/science/chemistry/gwyddion/default.nix
index 12007c940b3d..cd8b93c9aac7 100644
--- a/pkgs/applications/science/chemistry/gwyddion/default.nix
+++ b/pkgs/applications/science/chemistry/gwyddion/default.nix
@@ -1,17 +1,69 @@
-{ stdenv, fetchurl, gtk2, pkgconfig }:
+{ stdenv, fetchurl, gtk2, pkg-config, fftw, file,
+ pythonSupport ? false, pythonPackages ? null,
+ gnome2 ? null,
+ openexrSupport ? true, openexr ? null,
+ libzipSupport ? true, libzip ? null,
+ libxml2Support ? true, libxml2 ? null,
+ libwebpSupport ? true, libwebp ? null,
+ # libXmu is not used if libunique is.
+ libXmuSupport ? false, xorg ? null,
+ libxsltSupport ? true, libxslt ? null,
+ fitsSupport ? true, cfitsio ? null,
+ zlibSupport ? true, zlib ? null,
+ libuniqueSupport ? true, libunique ? null,
+ libpngSupport ? true, libpng ? null,
+ openglSupport ? true
+}:
-with stdenv.lib;
+assert openexrSupport -> openexr != null;
+assert libzipSupport -> libzip != null;
+assert libxml2Support -> libxml2 != null;
+assert libwebpSupport -> libwebp != null;
+assert libXmuSupport -> xorg != null;
+assert libxsltSupport -> libxslt != null;
+assert fitsSupport -> cfitsio != null;
+assert zlibSupport -> zlib != null;
+assert libuniqueSupport -> libunique != null;
+assert libpngSupport -> libpng != null;
+assert openglSupport -> gnome2 != null;
+assert pythonSupport -> (pythonPackages != null && gnome2 != null);
-let version = "2.48"; in
-stdenv.mkDerivation {
+let
+ inherit (pythonPackages) pygtk pygobject2 python;
+
+in
+
+stdenv.mkDerivation rec {
pname = "gwyddion";
- inherit version;
+ version = "2.55";
src = fetchurl {
- url = "mirror://sourceforge/gwyddion/files/gwyddion/${version}/gwyddion-${version}.tar.xz";
- sha256 = "119iw58ac2wn4cas6js8m7r1n4gmmkga6b1y711xzcyjp9hshgwx";
+ url = "mirror://sourceforge/gwyddion/gwyddion-${version}.tar.xz";
+ sha256 = "0l00zszvginpriv12idc0y1x28qmicdmrwkqa007srkxvrdgxwdi";
};
- nativeBuildInputs = [ pkgconfig ];
- buildInputs = [ gtk2 ];
+
+ nativeBuildInputs = [ pkg-config file ];
+
+ buildInputs = with stdenv.lib;
+ [ gtk2 fftw ] ++
+ optionals openglSupport [gnome2.gtkglext] ++
+ optional openexrSupport openexr ++
+ optional libXmuSupport xorg.libXmu ++
+ optional fitsSupport cfitsio ++
+ optional libpngSupport libpng ++
+ optional libxsltSupport libxslt ++
+ optional libxml2Support libxml2 ++
+ optional libwebpSupport libwebp ++
+ optional zlibSupport zlib ++
+ optional libuniqueSupport libunique ++
+ optional libzipSupport libzip;
+
+ propagatedBuildInputs = with stdenv.lib;
+ optionals pythonSupport [ pygtk pygobject2 python gnome2.gtksourceview ];
+
+ # This patch corrects problems with python support, but should apply cleanly
+ # regardless of whether python support is enabled, and have no effects if
+ # it is disabled.
+ patches = [ ./codegen.patch ];
meta = {
homepage = http://gwyddion.net/;
@@ -29,5 +81,6 @@ stdenv.mkDerivation {
'';
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
+ maintainers = [ stdenv.lib.maintainers.cge ];
};
}