diff options
Diffstat (limited to 'pkgs/applications/science/chemistry/gwyddion/default.nix')
-rw-r--r-- | pkgs/applications/science/chemistry/gwyddion/default.nix | 75 |
1 files changed, 64 insertions, 11 deletions
diff --git a/pkgs/applications/science/chemistry/gwyddion/default.nix b/pkgs/applications/science/chemistry/gwyddion/default.nix index 12007c940b3..dec63910f70 100644 --- a/pkgs/applications/science/chemistry/gwyddion/default.nix +++ b/pkgs/applications/science/chemistry/gwyddion/default.nix @@ -1,19 +1,71 @@ -{ 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 ? !stdenv.isDarwin +}: -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 ] ++ + optional 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/; + homepage = "http://gwyddion.net/"; description = "Scanning probe microscopy data visualization and analysis"; @@ -28,6 +80,7 @@ stdenv.mkDerivation { spectrophotometry. ''; license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; + platforms = with stdenv.lib.platforms; linux ++ darwin; + maintainers = [ stdenv.lib.maintainers.cge ]; }; } |