about summary refs log tree commit diff
path: root/pkgs/desktops/xfce
diff options
context:
space:
mode:
authorRaymond Gauthier <jraygauthier@gmail.com>2015-09-23 22:08:05 -0400
committerVladimír Čunát <vcunat@gmail.com>2015-09-26 08:18:06 +0200
commiteebe362911f5e41e7d2e47d16808eeb05b2895d9 (patch)
tree7d75b5e6262ec16adff5ec29b1d876d1370c1529 /pkgs/desktops/xfce
parent4f798100d82d346c6983c68969cb449ad1c53bac (diff)
downloadnixlib-eebe362911f5e41e7d2e47d16808eeb05b2895d9.tar
nixlib-eebe362911f5e41e7d2e47d16808eeb05b2895d9.tar.gz
nixlib-eebe362911f5e41e7d2e47d16808eeb05b2895d9.tar.bz2
nixlib-eebe362911f5e41e7d2e47d16808eeb05b2895d9.tar.lz
nixlib-eebe362911f5e41e7d2e47d16808eeb05b2895d9.tar.xz
nixlib-eebe362911f5e41e7d2e47d16808eeb05b2895d9.tar.zst
nixlib-eebe362911f5e41e7d2e47d16808eeb05b2895d9.zip
xfce.thunar-archive-plugin: init at 0.3.1 (close #10029)
A `thunar` plugin that adds archive manipulation features to
right click on file/directory menu. It can use either gnome or
kde archive managers. Detection of backend based on
`*.desktop` files mime types.

Should supercede non-functional pre-existing
`xfce.thunar_archive_plugin` (which for some
unknown reason is building the volume manager
plugin).

Also removed `xfce.thunar_archive_plugin` because
superceded.

Tests:

 -  When plugin package is installed, the supplementary
    menu entries appear in thunar.
 -  Succesfully extracted an archive using backend
    `file-roller` through thunar menu entry.

+ minor changes from vcunat, mainly meta.
Diffstat (limited to 'pkgs/desktops/xfce')
-rw-r--r--pkgs/desktops/xfce/core/thunar-archive-plugin.nix25
-rw-r--r--pkgs/desktops/xfce/default.nix6
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/archive/default.nix58
3 files changed, 62 insertions, 27 deletions
diff --git a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix b/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
deleted file mode 100644
index 62a90578bd30..000000000000
--- a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, thunar, intltool, exo, gtk, udev, libxfce4ui, libxfce4util, xfconf }:
-
-stdenv.mkDerivation rec {
-  name  = "thunar-archive-plugin-${version}";
-  maj_ver = "0.3";
-  version = "${maj_ver}.1";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/thunar-plugins/${name}/${maj_ver}/${name}.tar.bz2";
-    sha256 = "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z";
-  };
-
-  buildInputs = [ pkgconfig thunar intltool exo gtk udev libxfce4ui libxfce4util xfconf ];
-  enableParallelBuilding = true;
-
-  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
-
-  meta = {
-    homepage = http://foo-projects.org/~benny/projects/thunar-archive-plugin/;
-    description = "The Thunar Archive Plugin allows you to create and extract archive files using the file context menus in the Thunar file manager";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.iElectric ];
-  };
-}
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index a9903c941bfe..5fdab2ab81e6 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -26,8 +26,10 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   libxfcegui4     = callPackage ./core/libxfcegui4.nix { };
   thunar          = callPackage ./core/thunar.nix { };
   thunar_volman   = callPackage ./core/thunar-volman.nix { }; # ToDo: probably inside Thunar now
-  thunar_archive_plugin = callPackage ./core/thunar-archive-plugin.nix { };
-  thunar-dropbox-plugin = callPackage ./thunar-plugins/dropbox { };
+  thunar-archive-plugin 
+                  = callPackage ./thunar-plugins/archive { };
+  thunar-dropbox-plugin 
+                  = callPackage ./thunar-plugins/dropbox { };
   tumbler         = callPackage ./core/tumbler.nix { };
   xfce4panel      = callPackage ./core/xfce4-panel.nix { }; # ToDo: impure plugins from /run/current-system/sw/lib/xfce4
   xfce4session    = callPackage ./core/xfce4-session.nix { };
diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
new file mode 100644
index 000000000000..78e5f5002cd4
--- /dev/null
+++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub, pkgconfig, xfce4_dev_tools
+, gtk
+, thunar
+, exo, libxfce4util, libxfce4ui
+, xfconf, udev, libnotify
+}:
+
+stdenv.mkDerivation rec {
+  p_name  = "thunar-archive-plugin";
+  ver_maj = "0.3";
+  ver_min = "1";
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  src = fetchFromGitHub {
+    owner = "xfce-mirror";
+    repo = p_name;
+    rev = "72b23eefc348bee31e06a04f968e430bc7dfa51e";
+    sha256 = "0l8715x23qmk0jkywiza3qx0xxmafxi4grp7p82kkc5df5ccs8kx";
+  };
+
+  buildInputs = [
+    pkgconfig
+    xfce4_dev_tools
+    thunar
+    exo gtk libxfce4util libxfce4ui
+    xfconf udev libnotify
+  ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  /*
+    File roller `*.desktop` situation
+    ---------------------------------
+
+    For some odd reason, in nix os, gnome file-roller's desktop file has the non-standard name
+    `org.gnome.FileRoller.desktop`. In order to be compatible with this odd context, create
+    a `*.tap` file of the same name.
+
+    IMPORTANT: Adapt or remove the symbolic link if the situation changes.
+  */
+  preFixup = ''
+    pushd $out/libexec/thunar-archive-plugin > /dev/null
+    ln -s ./file-roller.tap org.gnome.FileRoller.tap
+    popd > /dev/null
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://foo-projects.org/~benny/projects/thunar-archive-plugin/;
+    description = "Thunar plugin providing file context menus for archives";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}