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:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View 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;
}

View file

@ -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);

View 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)})";
};
}