From b5eab8f94334aa01086a42704565b5e610e4b302 Mon Sep 17 00:00:00 2001 From: romildo Date: Fri, 18 Aug 2017 00:19:58 -0300 Subject: cajaWithExtensions: init at 1.18.3 --- pkgs/desktops/mate/caja/caja-extension-dirs.patch | 30 +++++++++++++++++++++++ pkgs/desktops/mate/caja/cajaWithExtensions.nix | 11 +++++++++ pkgs/desktops/mate/caja/default.nix | 4 +++ pkgs/desktops/mate/default.nix | 3 +++ 4 files changed, 48 insertions(+) create mode 100644 pkgs/desktops/mate/caja/caja-extension-dirs.patch create mode 100644 pkgs/desktops/mate/caja/cajaWithExtensions.nix (limited to 'pkgs/desktops') 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 00000000000..7490a368efd --- /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 00000000000..cb315d7f09a --- /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 07c7d0662a9..8f38a5ef7e6 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 5131af9a685..58b4f405cc8 100644 --- a/pkgs/desktops/mate/default.nix +++ b/pkgs/desktops/mate/default.nix @@ -3,6 +3,9 @@ rec { atril = callPackage ./atril { }; caja = callPackage ./caja { }; caja-extensions = callPackage ./caja-extensions { }; + cajaWithExtensions = callPackage ./caja/cajaWithExtensions.nix { + extensions = [ caja-extensions ]; + }; eom = callPackage ./eom { }; pluma = callPackage ./pluma { }; mate-common = callPackage ./mate-common { }; -- cgit 1.4.1