about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorJoachim F <joachifm@users.noreply.github.com>2017-08-20 20:16:22 +0000
committerGitHub <noreply@github.com>2017-08-20 20:16:22 +0000
commitbc98d1fe9711cf29ca3dfa469130007ece0cb820 (patch)
treefa7a4c40bf0a3abdfd089d0aae7b1018fea02101 /pkgs/desktops
parentaeb733c8d5b54d52eb59d7410df21248c065e229 (diff)
parente04c4d0fbb83423cb05f54d300d0c1070a11a514 (diff)
Merge pull request #28362 from romildo/mate
mate: caja-extensions: init at 1.18.1, engrampa: init at 1.18.2
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/mate/caja-extensions/default.nix43
-rw-r--r--pkgs/desktops/mate/caja/caja-extension-dirs.patch30
-rw-r--r--pkgs/desktops/mate/caja/cajaWithExtensions.nix11
-rw-r--r--pkgs/desktops/mate/caja/default.nix4
-rw-r--r--pkgs/desktops/mate/default.nix5
-rw-r--r--pkgs/desktops/mate/engrampa/default.nix37
6 files changed, 130 insertions, 0 deletions
diff --git a/pkgs/desktops/mate/caja-extensions/default.nix b/pkgs/desktops/mate/caja-extensions/default.nix
new file mode 100644
index 0000000000000..ab2831159f90f
--- /dev/null
+++ b/pkgs/desktops/mate/caja-extensions/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk3, dbus_glib, gupnp, mate, imagemagick }:
+
+stdenv.mkDerivation rec {
+  name = "caja-extensions-${version}";
+  version = "${major-ver}.${minor-ver}";
+  major-ver = "1.18";
+  minor-ver = "1";
+
+  src = fetchurl {
+    url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
+    sha256 = "0hgala7zkfsa60jflq3s4n9yd11dhfdcla40l83cmgc3r1az7cmw";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+  ];
+
+  buildInputs = [
+    gtk3
+    dbus_glib
+    gupnp
+    mate.caja
+    mate.mate-desktop
+    imagemagick
+  ];
+
+  postPatch = ''
+    for f in image-converter/caja-image-{resizer,rotator}.c; do
+      substituteInPlace $f --replace "/usr/bin/convert" "${imagemagick}/bin/convert"
+    done
+  '';
+  
+  configureFlags = [ "--with-cajadir=$$out/lib/caja/extensions-2.0" ];
+
+  meta = with stdenv.lib; {
+    description = "Set of extensions for Caja file manager";
+    homepage = http://mate-desktop.org;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/desktops/mate/caja/caja-extension-dirs.patch b/pkgs/desktops/mate/caja/caja-extension-dirs.patch
new file mode 100644
index 0000000000000..7490a368efd9d
--- /dev/null
+++ b/pkgs/desktops/mate/caja/caja-extension-dirs.patch
@@ -0,0 +1,30 @@
+diff --git a/libcaja-private/caja-module.c b/libcaja-private/caja-module.c
+index 023c22e..414913b 100644
+--- a/libcaja-private/caja-module.c
++++ b/libcaja-private/caja-module.c
+@@ -258,11 +258,25 @@ caja_module_setup (void)
+ {
+     static gboolean initialized = FALSE;
+     GList *res;
++    gchar *caja_extension_dirs;
++    gchar **dir_vector;
+ 
+     if (!initialized)
+     {
+         initialized = TRUE;
+ 
++        caja_extension_dirs = (gchar *) g_getenv ("CAJA_EXTENSION_DIRS");
++
++        if (caja_extension_dirs)
++        {
++            dir_vector = g_strsplit (caja_extension_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
++
++            for (gchar **dir = dir_vector; *dir != NULL; ++ dir)
++                load_module_dir (*dir);
++
++            g_strfreev(dir_vector);
++        }
++
+         load_module_dir (CAJA_EXTENSIONDIR);
+ 
+         eel_debug_call_at_shutdown (free_module_objects);
diff --git a/pkgs/desktops/mate/caja/cajaWithExtensions.nix b/pkgs/desktops/mate/caja/cajaWithExtensions.nix
new file mode 100644
index 0000000000000..cb315d7f09a23
--- /dev/null
+++ b/pkgs/desktops/mate/caja/cajaWithExtensions.nix
@@ -0,0 +1,11 @@
+{ buildEnv, makeWrapper, caja, extensions ? [] }:
+
+buildEnv {
+  name = "cajaWithExtensions-${caja.version}";
+  meta = caja.meta // { description = "File manager (including extensions) for the MATE desktop"; };
+  paths = [ caja ] ++ extensions;
+  buildInputs = [ makeWrapper ];
+  postBuild = ''
+    wrapProgram "$out/bin/caja" --set CAJA_EXTENSION_DIRS "$out/lib/caja/extensions-2.0"
+  '';
+}
diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index 07c7d0662a97c..8f38a5ef7e69a 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -26,6 +26,10 @@ stdenv.mkDerivation rec {
     mate.mate-desktop
   ];
 
+  patches = [
+    ./caja-extension-dirs.patch
+  ];
+  
   configureFlags = [ "--disable-update-mimedb" ];
   
   meta = {
diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix
index 81839930664a8..fd326b6bbbbbd 100644
--- a/pkgs/desktops/mate/default.nix
+++ b/pkgs/desktops/mate/default.nix
@@ -2,6 +2,11 @@
 rec {
   atril = callPackage ./atril { };
   caja = callPackage ./caja { };
+  caja-extensions = callPackage ./caja-extensions { };
+  cajaWithExtensions = callPackage ./caja/cajaWithExtensions.nix {
+    extensions = [ caja-extensions ];
+  };
+  engrampa = callPackage ./engrampa { };
   eom = callPackage ./eom { };
   pluma = callPackage ./pluma { };
   mate-common = callPackage ./mate-common { };
diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix
new file mode 100644
index 0000000000000..dea2bea5ee9b7
--- /dev/null
+++ b/pkgs/desktops/mate/engrampa/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gnome3, mate, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  name = "engrampa-${version}";
+  version = "${major-ver}.${minor-ver}";
+  major-ver = "1.18";
+  minor-ver = "2";
+
+  src = fetchurl {
+    url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
+    sha256 = "0d98zhqqc7qdnxcf0195kd04xmhijc0w2qrn6q61zd0daiswnv98";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    itstool
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    libxml2
+    gnome3.gtk
+    mate.caja
+    mate.mate-desktop
+  ];
+
+  configureFlags = [ "--with-cajadir=$$out/lib/caja/extensions-2.0" ];
+
+  meta = {
+    description = "Archive Manager for MATE";
+    homepage = http://mate-desktop.org;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+  };
+}