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
|
|
@ -0,0 +1,73 @@
|
|||
From 737452159d521aef2041a2767f3ebf9f68f4b6a9 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Kampka <christian@kampka.net>
|
||||
Date: Tue, 1 Sep 2020 13:54:35 +0200
|
||||
Subject: [PATCH] Pin abstract namespace sockets to host_os
|
||||
|
||||
Running programs with AC_RUN_IFELSE fails when cross-compiling.
|
||||
Since abstract namespace sockets are linux feature, we can easily
|
||||
assume it is available for linux and not for darwin.
|
||||
---
|
||||
configure.in | 47 ++++++-----------------------------------------
|
||||
1 file changed, 6 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index eb129db..0ed82ba 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -387,47 +387,12 @@ fi
|
||||
|
||||
#### Abstract sockets
|
||||
|
||||
-AC_MSG_CHECKING(abstract socket namespace)
|
||||
-AC_LANG_PUSH(C)
|
||||
-AC_RUN_IFELSE([AC_LANG_PROGRAM(
|
||||
-[[
|
||||
-#include <sys/types.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <string.h>
|
||||
-#include <stdio.h>
|
||||
-#include <sys/socket.h>
|
||||
-#include <sys/un.h>
|
||||
-#include <errno.h>
|
||||
-]],
|
||||
-[[
|
||||
- int listen_fd;
|
||||
- struct sockaddr_un addr;
|
||||
-
|
||||
- listen_fd = socket (PF_UNIX, SOCK_STREAM, 0);
|
||||
-
|
||||
- if (listen_fd < 0)
|
||||
- {
|
||||
- fprintf (stderr, "socket() failed: %s\n", strerror (errno));
|
||||
- exit (1);
|
||||
- }
|
||||
-
|
||||
- memset (&addr, '\0', sizeof (addr));
|
||||
- addr.sun_family = AF_UNIX;
|
||||
- strcpy (addr.sun_path, "X/tmp/dbus-fake-socket-path-used-in-configure-test");
|
||||
- addr.sun_path[0] = '\0'; /* this is what makes it abstract */
|
||||
-
|
||||
- if (bind (listen_fd, (struct sockaddr*) &addr, SUN_LEN (&addr)) < 0)
|
||||
- {
|
||||
- fprintf (stderr, "Abstract socket namespace bind() failed: %s\n",
|
||||
- strerror (errno));
|
||||
- exit (1);
|
||||
- }
|
||||
- else
|
||||
- exit (0);
|
||||
-]])],
|
||||
- [have_abstract_sockets=yes],
|
||||
- [have_abstract_sockets=no])
|
||||
-AC_LANG_POP(C)
|
||||
+AC_MSG_CHECKING([whether target os has abstract socket namespace])
|
||||
+if test x$target_os = xlinux-gnu ; then
|
||||
+ have_abstract_sockets=yes
|
||||
+else
|
||||
+ have_abstract_sockets=no
|
||||
+fi
|
||||
AC_MSG_RESULT($have_abstract_sockets)
|
||||
|
||||
if test x$enable_abstract_sockets = xyes; then
|
||||
--
|
||||
2.25.4
|
||||
|
||||
68
pkgs/development/libraries/gamin/deadlock.patch
Normal file
68
pkgs/development/libraries/gamin/deadlock.patch
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
Fix for a deadlock:
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=667230
|
||||
|
||||
From cc14440eface093548cb3bc7814da11d9a99d283 Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi@mageia.org>
|
||||
Date: Wed, 4 Jan 2012 00:23:55 +0200
|
||||
Subject: [PATCH] fix possible server deadlock in ih_sub_cancel
|
||||
|
||||
ih_sub_foreach() calls ih_sub_cancel() while inotify_lock is locked.
|
||||
However, ih_sub_cancel() locks it again, and locking GMutex recursively
|
||||
causes undefined behaviour.
|
||||
|
||||
Fix that by removing locking from ih_sub_cancel() as ih_sub_foreach()
|
||||
is its only user. Also make the function static so that it won't
|
||||
accidentally get used by other files without locking (inotify-helper.h
|
||||
is an internal server header).
|
||||
|
||||
This should fix the intermittent deadlocks I've been experiencing
|
||||
causing KDE applications to no longer start, and probably also
|
||||
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542361
|
||||
---
|
||||
server/inotify-helper.c | 7 ++-----
|
||||
server/inotify-helper.h | 1 -
|
||||
2 files changed, 2 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/server/inotify-helper.c b/server/inotify-helper.c
|
||||
index d77203e..0789fa4 100644
|
||||
--- a/server/inotify-helper.c
|
||||
+++ b/server/inotify-helper.c
|
||||
@@ -123,13 +123,11 @@ ih_sub_add (ih_sub_t * sub)
|
||||
|
||||
/**
|
||||
* Cancels a subscription which was being monitored.
|
||||
+ * inotify_lock must be held when calling.
|
||||
*/
|
||||
-gboolean
|
||||
+static gboolean
|
||||
ih_sub_cancel (ih_sub_t * sub)
|
||||
{
|
||||
- G_LOCK(inotify_lock);
|
||||
-
|
||||
-
|
||||
if (!sub->cancelled)
|
||||
{
|
||||
IH_W("cancelling %s\n", sub->pathname);
|
||||
@@ -140,7 +138,6 @@ ih_sub_cancel (ih_sub_t * sub)
|
||||
sub_list = g_list_remove (sub_list, sub);
|
||||
}
|
||||
|
||||
- G_UNLOCK(inotify_lock);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
diff --git a/server/inotify-helper.h b/server/inotify-helper.h
|
||||
index 5d3b6d0..d36b5fd 100644
|
||||
--- a/server/inotify-helper.h
|
||||
+++ b/server/inotify-helper.h
|
||||
@@ -34,7 +34,6 @@ gboolean ih_startup (event_callback_t ecb,
|
||||
found_callback_t fcb);
|
||||
gboolean ih_running (void);
|
||||
gboolean ih_sub_add (ih_sub_t *sub);
|
||||
-gboolean ih_sub_cancel (ih_sub_t *sub);
|
||||
|
||||
/* Return FALSE from 'f' if the subscription should be cancelled */
|
||||
void ih_sub_foreach (void *callerdata, gboolean (*f)(ih_sub_t *sub, void *callerdata));
|
||||
--
|
||||
1.7.7.2
|
||||
|
||||
10
pkgs/development/libraries/gamin/debian-patches.nix
Normal file
10
pkgs/development/libraries/gamin/debian-patches.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# Generated by debian-patches.sh from debian-patches.txt
|
||||
let
|
||||
prefix = "https://sources.debian.org/data/main/g/gamin/0.1.10-4.1/debian/patches";
|
||||
in
|
||||
[
|
||||
{
|
||||
url = "${prefix}/17_deprecated_const_return.patch";
|
||||
sha256 = "0bssrqcmyivlpk2g0q71d1yavd4wv1lw34l8qipm0ndljjd6rbrk";
|
||||
}
|
||||
]
|
||||
2
pkgs/development/libraries/gamin/debian-patches.txt
Normal file
2
pkgs/development/libraries/gamin/debian-patches.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
gamin/0.1.10-4.1
|
||||
17_deprecated_const_return.patch
|
||||
46
pkgs/development/libraries/gamin/default.nix
Normal file
46
pkgs/development/libraries/gamin/default.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, glib, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gamin";
|
||||
version = "0.1.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.gnome.org/~veillard/gamin/sources/gamin-${version}.tar.gz";
|
||||
sha256 = "18cr51y5qacvs2fc2p1bqv32rs8bzgs6l67zhasyl45yx055y218";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
|
||||
buildInputs = [ glib ];
|
||||
|
||||
# `_GNU_SOURCE' is needed, e.g., to get `struct ucred' from
|
||||
# <sys/socket.h> with Glibc 2.9.
|
||||
configureFlags = [
|
||||
"--disable-debug"
|
||||
"--without-python" # python3 not supported
|
||||
"CPPFLAGS=-D_GNU_SOURCE"
|
||||
];
|
||||
|
||||
preBuild = lib.optionalString stdenv.isDarwin ''
|
||||
sed -i 's/,--version-script=.*$/\\/' libgamin/Makefile
|
||||
'';
|
||||
|
||||
patches = [ ./deadlock.patch ]
|
||||
++ map fetchurl (import ./debian-patches.nix)
|
||||
++ lib.optional stdenv.cc.isClang ./returnval.patch
|
||||
++ lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
|
||||
name = "fix-pthread-mutex.patch";
|
||||
url = "https://git.alpinelinux.org/aports/plain/main/gamin/fix-pthread-mutex.patch?h=3.4-stable&id=a1a836b089573752c1b0da7d144c0948b04e8ea8";
|
||||
sha256 = "13igdbqsxb3sz0h417k6ifmq2n4siwqspj6slhc7fdl5wd1fxmdz";
|
||||
}) ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./abstract-socket-namespace.patch;
|
||||
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://people.gnome.org/~veillard/gamin/";
|
||||
description = "A file and directory monitoring system";
|
||||
maintainers = with maintainers; [ lovek323 ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
12
pkgs/development/libraries/gamin/returnval.patch
Normal file
12
pkgs/development/libraries/gamin/returnval.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
diff -rupN gamin-0.1.10-orig/server/gam_eq.c gamin-0.1.10/server/gam_eq.c
|
||||
--- gamin-0.1.10-orig/server/gam_eq.c 2015-04-05 19:25:54.000000000 -0400
|
||||
+++ gamin-0.1.10/server/gam_eq.c 2015-04-05 19:26:00.000000000 -0400
|
||||
@@ -124,7 +124,7 @@ gam_eq_flush (gam_eq_t *eq, GamConnDataP
|
||||
{
|
||||
gboolean done_work = FALSE;
|
||||
if (!eq)
|
||||
- return;
|
||||
+ return done_work;
|
||||
|
||||
#ifdef GAM_EQ_VERBOSE
|
||||
GAM_DEBUG(DEBUG_INFO, "gam_eq: Flushing event queue for %s\n", gam_connection_get_pidname (conn));
|
||||
Loading…
Add table
Add a link
Reference in a new issue