uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
71
pkgs/desktops/xfce/core/thunar/default.nix
Normal file
71
pkgs/desktops/xfce/core/thunar/default.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{ mkXfceDerivation
|
||||
, lib
|
||||
, docbook_xsl
|
||||
, exo
|
||||
, gdk-pixbuf
|
||||
, gtk3
|
||||
, libgudev
|
||||
, libnotify
|
||||
, libX11
|
||||
, libxfce4ui
|
||||
, libxfce4util
|
||||
, libxslt
|
||||
, pcre
|
||||
, xfconf
|
||||
, gobject-introspection
|
||||
, makeWrapper
|
||||
, symlinkJoin
|
||||
, thunarPlugins ? []
|
||||
}:
|
||||
|
||||
let unwrapped = mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "thunar";
|
||||
version = "4.16.11";
|
||||
|
||||
sha256 = "sha256-xan0HuHYLVArx3dGzzxsCjQ8eWsXNk0LtZGAejA2iGI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
docbook_xsl
|
||||
gobject-introspection
|
||||
libxslt
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
exo
|
||||
gdk-pixbuf
|
||||
gtk3
|
||||
libX11
|
||||
libgudev
|
||||
libnotify
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
pcre
|
||||
xfconf
|
||||
];
|
||||
|
||||
patches = [
|
||||
./thunarx_plugins_directory.patch
|
||||
];
|
||||
|
||||
# the desktop file … is in an insecure location»
|
||||
# which pops up when invoking desktop files that are
|
||||
# symlinks to the /nix/store
|
||||
#
|
||||
# this error was added by this commit:
|
||||
# https://github.com/xfce-mirror/thunar/commit/1ec8ff89ec5a3314fcd6a57f1475654ddecc9875
|
||||
postPatch = ''
|
||||
sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Xfce file manager";
|
||||
maintainers = with maintainers; [ ] ++ teams.xfce.members;
|
||||
};
|
||||
};
|
||||
|
||||
in if thunarPlugins == [] then unwrapped
|
||||
else import ./wrapper.nix {
|
||||
inherit makeWrapper symlinkJoin thunarPlugins lib;
|
||||
thunar = unwrapped;
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
diff --git a/thunarx/thunarx-provider-factory.c b/thunarx/thunarx-provider-factory.c
|
||||
index 94b11545..1f66c982 100644
|
||||
--- a/thunarx/thunarx-provider-factory.c
|
||||
+++ b/thunarx/thunarx-provider-factory.c
|
||||
@@ -150,12 +150,19 @@ static GList*
|
||||
thunarx_provider_factory_load_modules (ThunarxProviderFactory *factory)
|
||||
{
|
||||
ThunarxProviderModule *module;
|
||||
+ const gchar *thunar_dir;
|
||||
const gchar *name;
|
||||
GList *modules = NULL;
|
||||
GList *lp;
|
||||
GDir *dp;
|
||||
|
||||
- dp = g_dir_open (THUNARX_DIRECTORY, 0, NULL);
|
||||
+ thunar_dir = g_getenv("THUNARX_MODULE_DIR");
|
||||
+ if (NULL == thunar_dir)
|
||||
+ {
|
||||
+ thunar_dir = THUNARX_DIRECTORY;
|
||||
+ }
|
||||
+
|
||||
+ dp = g_dir_open (thunar_dir, 0, NULL);
|
||||
if (G_LIKELY (dp != NULL))
|
||||
{
|
||||
/* determine the types for all existing plugins */
|
||||
diff --git a/thunarx/thunarx-provider-module.c b/thunarx/thunarx-provider-module.c
|
||||
index 023ad2ae..b1d1be8f 100644
|
||||
--- a/thunarx/thunarx-provider-module.c
|
||||
+++ b/thunarx/thunarx-provider-module.c
|
||||
@@ -174,10 +174,17 @@ static gboolean
|
||||
thunarx_provider_module_load (GTypeModule *type_module)
|
||||
{
|
||||
ThunarxProviderModule *module = THUNARX_PROVIDER_MODULE (type_module);
|
||||
+ const gchar *thunar_dir;
|
||||
gchar *path;
|
||||
|
||||
+ thunar_dir = g_getenv("THUNARX_MODULE_DIR");
|
||||
+ if (NULL == thunar_dir)
|
||||
+ {
|
||||
+ thunar_dir = THUNARX_DIRECTORY;
|
||||
+ }
|
||||
+
|
||||
/* load the module using the runtime link editor */
|
||||
- path = g_build_filename (THUNARX_DIRECTORY, type_module->name, NULL);
|
||||
+ path = g_build_filename (thunar_dir, type_module->name, NULL);
|
||||
module->library = g_module_open (path, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL);
|
||||
g_free (path);
|
||||
|
||||
41
pkgs/desktops/xfce/core/thunar/wrapper.nix
Normal file
41
pkgs/desktops/xfce/core/thunar/wrapper.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, makeWrapper, symlinkJoin, thunar, thunarPlugins }:
|
||||
|
||||
symlinkJoin {
|
||||
name = "thunar-with-plugins-${thunar.version}";
|
||||
|
||||
paths = [ thunar ] ++ thunarPlugins;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram "$out/bin/thunar" \
|
||||
--set "THUNARX_MODULE_DIR" "$out/lib/thunarx-3"
|
||||
|
||||
wrapProgram "$out/bin/thunar-settings" \
|
||||
--set "THUNARX_MODULE_DIR" "$out/lib/thunarx-3"
|
||||
|
||||
# NOTE: we need to remove the folder symlink itself and create
|
||||
# a new folder before trying to substitute any file below.
|
||||
rm -f "$out/lib/systemd/user"
|
||||
mkdir -p "$out/lib/systemd/user"
|
||||
|
||||
# point to wrapped binary in all service files
|
||||
for file in "lib/systemd/user/thunar.service" \
|
||||
"share/dbus-1/services/org.xfce.FileManager.service" \
|
||||
"share/dbus-1/services/org.xfce.Thunar.FileManager1.service" \
|
||||
"share/dbus-1/services/org.xfce.Thunar.service"
|
||||
do
|
||||
rm -f "$out/$file"
|
||||
substitute "${thunar}/$file" "$out/$file" \
|
||||
--replace "${thunar}" "$out"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
inherit (thunar.meta) homepage license platforms maintainers;
|
||||
|
||||
description = thunar.meta.description + optionalString
|
||||
(0 != length thunarPlugins)
|
||||
" (with plugins: ${concatStringsSep ", " (map (x: x.name) thunarPlugins)})";
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue