diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix new file mode 100644 index 000000000000..fdf50cceafe9 --- /dev/null +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -0,0 +1,56 @@ +{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite, webkit +, pkgconfig, gnome3, gst_all_1, which, udev, libraw, glib, json_glib, gettext, desktop_file_utils +, lcms2, gdk_pixbuf, librsvg, makeWrapper }: + +# for dependencies see http://www.yorba.org/projects/shotwell/install/ + +let + rest = stdenv.mkDerivation rec { + name = "rest-0.7.12"; + + src = fetchurl { + url = "mirror://gnome/sources/rest/0.7/${name}.tar.xz"; + sha256 = "0fmg7fq5fx0jg3ryk71kwdkspsvj42acxy9imk7vznkqj29a9zqn"; + }; + + configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt"; + + buildInputs = [ pkgconfig glib libsoup ]; + }; +in stdenv.mkDerivation rec { + version = "0.15.1"; + name = "shotwell-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/shotwell/0.15/${name}.tar.xz"; + sha256 = "12qbqba226q9wb0m31xx8w0m968sr1n18qa4mbz75wblhwws0j7b"; + }; + + NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include"; + + configureFlags = [ "--disable-gsettings-convert-install" ]; + + preConfigure = '' + patchShebangs . + ''; + + postInstall = '' + wrapProgram "$out/bin/shotwell" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:$out/share" + ''; + + + buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkit pkgconfig + gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee which udev gnome3.gexiv2 + libraw rest json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg + makeWrapper ]; + + meta = with stdenv.lib; { + description = "Popular photo organizer for the GNOME desktop"; + homepage = http://www.yorba.org/projects/shotwell/; + license = licenses.lgpl; + maintainers = with maintainers; [iElectric]; + platforms = platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 15544eff9220..61dfe2b17959 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -128,5 +128,6 @@ rec { gitg = callPackage ./misc/gitg { }; libgit2-glib = callPackage ./misc/libgit2-glib { }; - + + gexiv2 = callPackage ./misc/gexiv2 { }; } diff --git a/pkgs/desktops/gnome-3/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix new file mode 100644 index 000000000000..86942c13f34f --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4 }: + + +stdenv.mkDerivation rec { + name = "gexiv2-${version}"; + version = "0.7.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gexiv2/0.7/${name}.tar.xz"; + sha256 = "12pfc5a57dhlf0c3yg5x3jissxi7jy2b6ir6y99cn510801gwcdn"; + }; + + preConfigure = '' + patchShebangs . + ''; + + buildInputs = [ pkgconfig glib libtool m4 ]; + propagatedBuildInputs = [ exiv2 ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/gexiv2; + description = "GObject wrapper around the Exiv2 photo metadata library"; + platforms = platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7db8633ee98..359e03056792 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1878,6 +1878,8 @@ let sg3_utils = callPackage ../tools/system/sg3_utils { }; sharutils = callPackage ../tools/archivers/sharutils { }; + + shotwell = callPackage ../applications/graphics/shotwell { }; shebangfix = callPackage ../tools/misc/shebangfix { };