summaryrefslogtreecommitdiff
path: root/dev-libs/libgamin
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/libgamin
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/libgamin')
-rw-r--r--dev-libs/libgamin/Manifest13
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-G_CONST_RETURN-removal.patch67
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-armel-features.patch47
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-compilewarnings.patch22
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch38
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-deadlock.patch65
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch13
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-noinst-lib.patch76
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r5.ebuild141
-rw-r--r--dev-libs/libgamin/metadata.xml7
10 files changed, 489 insertions, 0 deletions
diff --git a/dev-libs/libgamin/Manifest b/dev-libs/libgamin/Manifest
new file mode 100644
index 000000000000..9aaa623c6774
--- /dev/null
+++ b/dev-libs/libgamin/Manifest
@@ -0,0 +1,13 @@
+AUX libgamin-0.1.10-G_CONST_RETURN-removal.patch 2470 BLAKE2B d4676b57dc28efba8be335a50a0e8d27c65da0998f6a533cbe89f7cc166eb4a6aee2375b181fdc7596ce60677b675a8597cf177cab0b3655d425a7282f7db849 SHA512 56cf8439d64c3856cc768a0d6aa67e00e82579b0db60b1f25b195024eec1628f61013718f3139910735eafa15e05f4fabe4373ebac053778abb1c89201c6cf0c
+AUX libgamin-0.1.10-armel-features.patch 1490 BLAKE2B 5fa50ed67cd357e5108db27e298f76f0b864f390a4b25d58c968697b67a46e6ad54ef4b799a448e86e44fddd61c90239745f7cbf56deb60e05371e85191fd5b1 SHA512 fe6365489428ca9206a36b8dea495d5c4beb381fe43dd49aa2fa022f8ea34d8068275ce42f41211ef7ce8bb2c1dce952673d4b2e72eec5be00161fa8f8bcb2a5
+AUX libgamin-0.1.10-compilewarnings.patch 526 BLAKE2B d070507a937b3d94e7cf276983134b2b4822bf7cfc62176d69f5075bd78602802839326c6e7b22a95232ab18783ffd00ef3531ad834319e1f2ecaf3fe605f91b SHA512 f413fbd5db1e0412d1fabe6b46e049d347735cf6db7a7ca1eecc9ede1b299a7e622be3c508df40990159e05470d285069a0fa4e2cfcf6fd80378d0aa2b69fd0f
+AUX libgamin-0.1.10-crosscompile-fix.patch 764 BLAKE2B 7302b238724927ace5753b5103434533e60563e1d74d9ee9762b961d8e36ace465cb081639585dc7124be5bb0fb5c9f80832d1bfc09a3bb61869acec5abdbfca SHA512 11aca975f98d9364bfdd8e28162f922a96493012fb3c6c704115d33155b2a2e9bbd20aba64354db922f16c3589b88a07091590a5bd6aa806582b9b7875ba8e23
+AUX libgamin-0.1.10-deadlock.patch 2090 BLAKE2B 252b7551ca9ec48af631765ac0413c81c280c478cb9ed5b23efafc07f8c1dccd26305f4688842eed3e587c6bdc19b57c045922158026335e9c6af4abafc57287 SHA512 c0a4a318eb78b9666930e9d1a6fac5e7762f38796e5892d849c893df524310408020ea75fb02a4d79000be3440435ae640340cf2a3dd43fa031df5787762f8de
+AUX libgamin-0.1.10-disable_python_static_library.patch 340 BLAKE2B ee1f0fc3ff33594a13603a0912d3b931eaa1d80957751ed60c94db66ef689ca6d75d64c62427371342938d3fdda00c2b7605966fe329a8bf97d4d79f1f021a8f SHA512 8d11f4b891bfc9e1aa6ba99aa485279b29c0a0f154742349035032c5122ae6ef29da5e5f0482791a7b1f7bceebd2bc871f14c3eb96f1947ad791b8036e488b00
+AUX libgamin-0.1.10-noinst-lib.patch 2207 BLAKE2B 28ebca731a16fb10c0f186c3eb75d731a18fd72c239a380a7bf97afacab65792003b433c9030e06c8d7748c0dabe84a92bbad8221d40c9fa9d33c6c00b0dd40d SHA512 ba7ce391f4da1a6b4c75941b8440a72f483b6f2597592f64ddca720bf46b1269e64a20a27da9c35b134100a121990d84e28ac737cffef48e90974a017ba3a4cb
+DIST gamin-0.1.10.tar.bz2 452194 BLAKE2B 75537862c2b90734b616630b80103499f549fbab69f2417cc089b050a7e245d89701b0703a0916d6dc08a706785ee509ee4feed0375107f777fdf4248ff5f93b SHA512 ccdbc06eeb958ed2d888aee3fcadbadf00e9e6566802adee82035e0762ac3351ed2a2983eabe07503ddde2ddf035185c6cd98cbece2feadaaa36e8f656a38306
+DIST gamin-0.1.9-freebsd.patch.bz2 4635 BLAKE2B ea27afc7b978e15e9e957cbc1129b5bc8f0dfea7571e7bbfda981bc319929f8702d6a823bababb97af2b1da95c8403e9189c5ecaf599275e063f71d370526b89 SHA512 a9d9a8e4d85b289df6f87bf2b966ff262281db0d7e6094deb4f2c179f12c6cc3e387c1e1c28306a9fb54f2eb2837f9bdd3a34b2bb68db8abfdbecc7492e9730b
+DIST libgamin-0.1.10-opensolaris.patch.bz2 16955 BLAKE2B a7c8466fbe9f6613108a6a1b450c47c69018f9f252c17647b07591cf9fba2ba3a08cc344ca54f4647a9c809cecaa18b42bf9f2eff9e253749518b68565024b48 SHA512 fd1cfc5a6b5ba429622f8d426cfba0e3c1c05c3677fb58c53af39b4030ae56f3f71caf63eb5ecb16169c2f7e8c79a32d7d440857c2c7fd3a259cf8312a9b2004
+DIST pkg-config-0.28.tar.gz 1931203 BLAKE2B bafdd4e838623965c6bd454421ddd9051fc43fc29948e1615b49fef463c3c3a18807aabe6416f96cfdf58d6b1c9e114d77f97bd985facee7c14284a8a64a768b SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320
+EBUILD libgamin-0.1.10-r5.ebuild 4042 BLAKE2B 7422d4f2111861a4f023da426deb968c1d62dc9fb56ce2ffe4f013ef55c0cd69faa53d30be0401285f65fb6734819d63576445c37f63d18f212d5f293f3fc4e8 SHA512 baf40876d9af784cd793a14ab496057051d6e620af1d72d274b22dac4ed710e71297d0cbbd44ee88bc9e897df71a975782cb7950e9751a4f8c38bb75de405265
+MISC metadata.xml 224 BLAKE2B 50a08713f8b792454787823dd56f1dcc1a1970ded78fa6ddffc6fb7301e0de75018e1e7a8c7ed890b4910f2716d2588ad21c7ae88ad8013b51cab7ba401c46c9 SHA512 12da46d8052565f62c482e6bcc714d8c00cac256f85dc1602579c8d61e0b61af95da149d1a446e56b2eba918ab9d78b556f77c6fe034a2e578f57a9dbe62fc44
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-G_CONST_RETURN-removal.patch b/dev-libs/libgamin/files/libgamin-0.1.10-G_CONST_RETURN-removal.patch
new file mode 100644
index 000000000000..087312f5baae
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-G_CONST_RETURN-removal.patch
@@ -0,0 +1,67 @@
+From 2a9d32734a2e5125ae77de6c75789e1c6ee24dbe Mon Sep 17 00:00:00 2001
+From: Maciej Piechotka <uzytkownik2@gmail.com>
+Date: Tue, 13 Sep 2011 09:47:05 +0200
+Subject: [PATCH] Fix compilation of recent glib removing G_CONST_RETURN
+
+---
+ server/gam_node.c | 2 +-
+ server/gam_node.h | 2 +-
+ server/gam_subscription.c | 2 +-
+ server/gam_subscription.h | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/server/gam_node.c b/server/gam_node.c
+index 02358ba..d0302d2 100644
+--- a/server/gam_node.c
++++ b/server/gam_node.c
+@@ -122,7 +122,7 @@ gam_node_set_is_dir(GamNode * node, gboolean is_dir)
+ * it has finished with the string. If it must keep it longer, it
+ * should makes its own copy. The returned string must not be freed.
+ */
+-G_CONST_RETURN char *
++const char *
+ gam_node_get_path(GamNode * node)
+ {
+ g_assert(node);
+diff --git a/server/gam_node.h b/server/gam_node.h
+index 02c8692..83349a8 100644
+--- a/server/gam_node.h
++++ b/server/gam_node.h
+@@ -58,7 +58,7 @@ gboolean gam_node_is_dir (GamNode *node);
+ void gam_node_set_is_dir (GamNode *node,
+ gboolean is_dir);
+
+-G_CONST_RETURN char *gam_node_get_path (GamNode *node);
++const char *gam_node_get_path (GamNode *node);
+
+ GList *gam_node_get_subscriptions (GamNode *node);
+
+diff --git a/server/gam_subscription.c b/server/gam_subscription.c
+index dfa3273..4675b34 100644
+--- a/server/gam_subscription.c
++++ b/server/gam_subscription.c
+@@ -141,7 +141,7 @@ gam_subscription_pathlen(GamSubscription * sub)
+ * @param sub the GamSubscription
+ * @returns The path being monitored. It should not be freed.
+ */
+-G_CONST_RETURN char *
++const char *
+ gam_subscription_get_path(GamSubscription * sub)
+ {
+ if (sub == NULL)
+diff --git a/server/gam_subscription.h b/server/gam_subscription.h
+index d894fbe..e6b4e15 100644
+--- a/server/gam_subscription.h
++++ b/server/gam_subscription.h
+@@ -21,7 +21,7 @@ int gam_subscription_pathlen (GamSubscription *sub);
+
+ int gam_subscription_get_reqno (GamSubscription *sub);
+
+-G_CONST_RETURN char *gam_subscription_get_path (GamSubscription *sub);
++const char *gam_subscription_get_path (GamSubscription *sub);
+
+ GamListener *gam_subscription_get_listener (GamSubscription *sub);
+
+--
+1.7.6.1
+
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-armel-features.patch b/dev-libs/libgamin/files/libgamin-0.1.10-armel-features.patch
new file mode 100644
index 000000000000..fdfcbd7e6db6
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-armel-features.patch
@@ -0,0 +1,47 @@
+From 05dcfcd69848e119c6a30d363bc41e896029f8af Mon Sep 17 00:00:00 2001
+From: Sebastian Dröge <slomo@debian.org>
+Date: Tue, 15 Dec 2009 12:24:25 +0000
+Subject: Bug 588338 - Enable linux specific features on armel
+
+---
+diff --git a/configure.in b/configure.in
+index b0bbaec..e4b684e 100644
+--- a/configure.in
++++ b/configure.in
+@@ -176,7 +176,7 @@ fi
+
+ dnl check what OS we're on
+ #AM_CONDITIONAL(HAVE_LINUX, test x$target_os = xlinux-gnu)
+-if test x$target_os = xlinux-gnu; then
++if test x$target_os = xlinux-gnu -o x$target_os = xlinux-gnueabi; then
+ AC_DEFINE([HAVE_LINUX],[],[Whether we are using linux or not])
+ fi
+
+@@ -223,7 +223,7 @@ fi
+ dnl check if inotify backend is enabled
+ AM_CONDITIONAL(ENABLE_INOTIFY, test x$inotify = xtrue)
+
+-if test x$os = xlinux-gnu; then
++if test x$os = xlinux-gnu -o x$os = xlinux-gnueabi; then
+ AC_ARG_ENABLE(dnotify,
+ AC_HELP_STRING([--disable-dnotify], [Disable the DNotify backend]),
+ [dnotify="${enableval}"], [dnotify=true])
+@@ -297,10 +297,12 @@ else
+ fi
+
+ dnl Use weak symbols on linux/gcc to avoid imposing libpthreads to apps
+-if test x$os = xlinux-gnu -a x$WITH_THREADS = x1 ; then
+- if test "${CC}" = "gcc" ; then
+- echo Use weak symbols !
+- THREAD_LIBS=
++if test x$os = xlinux-gnu -o x$os = xlinux-gnueabi ; then
++ if test x$WITH_THREADS = x1 ; then
++ if test "${CC}" = "gcc" ; then
++ echo Use weak symbols !
++ THREAD_LIBS=
++ fi
+ fi
+ fi
+ AC_SUBST(THREAD_LIBS)
+--
+cgit v0.9.0.2
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-compilewarnings.patch b/dev-libs/libgamin/files/libgamin-0.1.10-compilewarnings.patch
new file mode 100644
index 000000000000..d3e0931391a7
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-compilewarnings.patch
@@ -0,0 +1,22 @@
+--- gamin-0.1.9/lib/gam_error.h.1 2007-08-15 01:09:13.000000000 +0200
++++ gamin-0.1.9/lib/gam_error.h 2007-08-15 01:09:27.000000000 +0200
+@@ -47,6 +47,9 @@
+
+ int gam_errno(void);
+
++void gam_error_init(void);
++void gam_error_check(void);
++
+ #ifdef GAM_DEBUG_ENABLED
+
+ #ifdef GAMIN_DEBUG_API
+@@ -70,9 +73,6 @@
+ const char* format, ...);
+ #define GAM_DEBUG if (gam_debug_active) gam_debug
+
+-void gam_error_init(void);
+-void gam_error_check(void);
+-
+ #else
+ /*
+ * no debug, redefine the macro empty content
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch b/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
new file mode 100644
index 000000000000..ce3a15b5e160
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
@@ -0,0 +1,38 @@
+--- configure.in.orig 2009-04-26 23:00:43.445135823 +0300
++++ configure.in 2009-04-26 23:25:04.042489243 +0300
+@@ -389,8 +389,7 @@
+
+ AC_MSG_CHECKING(abstract socket namespace)
+ AC_LANG_PUSH(C)
+-AC_RUN_IFELSE([AC_LANG_PROGRAM(
+-[[
++AC_TRY_RUN([
+ #include <sys/types.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -398,8 +397,8 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <errno.h>
+-]],
+-[[
++
++int main() {
+ int listen_fd;
+ struct sockaddr_un addr;
+
+@@ -424,9 +423,11 @@
+ }
+ else
+ exit (0);
+-]])],
+- [have_abstract_sockets=yes],
+- [have_abstract_sockets=no])
++}
++],
++have_abstract_sockets=yes,
++have_abstract_sockets=no,
++have_abstract_sockets=no)
+ AC_LANG_POP(C)
+ AC_MSG_RESULT($have_abstract_sockets)
+
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-deadlock.patch b/dev-libs/libgamin/files/libgamin-0.1.10-deadlock.patch
new file mode 100644
index 000000000000..9f2b2a5150bd
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-deadlock.patch
@@ -0,0 +1,65 @@
+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
+
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch b/dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch
new file mode 100644
index 000000000000..562fc071eac7
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch
@@ -0,0 +1,13 @@
+--- python/Makefile.am
++++ python/Makefile.am
+@@ -10,8 +10,9 @@
+ python_LTLIBRARIES = _gamin.la
+
+ _gamin_la_SOURCES = gamin.c
++_gamin_la_CFLAGS = -shared
+ _gamin_la_LIBADD = $(top_builddir)/libgamin/libgamin-1.la
+-_gamin_la_LDFLAGS = -module -avoid-version
++_gamin_la_LDFLAGS = -module -avoid-version -shared
+
+ python_PYTHON = gamin.py
+
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-noinst-lib.patch b/dev-libs/libgamin/files/libgamin-0.1.10-noinst-lib.patch
new file mode 100644
index 000000000000..1f2fcff6f5b4
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-noinst-lib.patch
@@ -0,0 +1,76 @@
+From e68aacc084d65fd0780991265444061b24422bd0 Mon Sep 17 00:00:00 2001
+From: Remi Cardona <remi@gentoo.org>
+Date: Mon, 20 Oct 2008 19:17:36 +0200
+Subject: [PATCH] make libgamin_shared a "noinst" libtool helper lib
+
+---
+ lib/Makefile.am | 4 ++--
+ libgamin/Makefile.am | 15 ++-------------
+ server/Makefile.am | 2 +-
+ 3 files changed, 5 insertions(+), 16 deletions(-)
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 3e2289c..af2152a 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -7,9 +7,9 @@ if GAMIN_DEBUG
+ INCLUDES += -DGAM_DEBUG_ENABLED
+ endif
+
+-lib_LIBRARIES = libgamin_shared.a
++noinst_LTLIBRARIES = libgamin_shared.la
+
+-libgamin_shared_a_SOURCES = \
++libgamin_shared_la_SOURCES = \
+ gam_event.c \
+ gam_event.h \
+ gam_error.c \
+diff --git a/libgamin/Makefile.am b/libgamin/Makefile.am
+index 35aa740..14fc06b 100644
+--- a/libgamin/Makefile.am
++++ b/libgamin/Makefile.am
+@@ -25,19 +25,9 @@ libgamin_1_la_SOURCES = \
+ gam_data.h \
+ gam_fork.c \
+ gam_fork.h \
+- gam_protocol.h \
+- gam_error.c \
+- gam_event.c
++ gam_protocol.h
+
+-gam_error.c: $(top_srcdir)/lib/gam_error.c
+- @(cp $(top_srcdir)/lib/gam_error.c gam_error.c)
+-
+-gam_event.c: $(top_srcdir)/lib/gam_event.c
+- @(cp $(top_srcdir)/lib/gam_event.c gam_event.c)
+-
+-CLEANFILES=gam_error.c gam_event.c
+-
+-libgamin_1_la_LIBADD =
++libgamin_1_la_LIBADD = $(top_builddir)/lib/libgamin_shared.la
+
+ libgamin_1_la_LDFLAGS = -Wl,--version-script=$(srcdir)/gamin_sym.version \
+ -version-info @GAMIN_VERSION_INFO@ @THREAD_LIBS@
+@@ -54,6 +44,5 @@ noinst_PROGRAMS= gamin
+
+ gamin_SOURCES = gamin.c
+ gamin_LDFLAGS =
+-gamin_DEPENDENCIES = $(DEPS) libgamin-1.la
+ gamin_LDADD= $(LDADDS) libgamin-1.la
+
+diff --git a/server/Makefile.am b/server/Makefile.am
+index 37aed8b..6aa5e02 100644
+--- a/server/Makefile.am
++++ b/server/Makefile.am
+@@ -80,7 +80,7 @@ endif
+
+ gam_server_LDFLAGS =
+ gam_server_DEPENDENCIES = $(DEPS)
+-gam_server_LDADD= $(top_builddir)/lib/libgamin_shared.a $(LDADDS) $(DAEMON_LIBS)
++gam_server_LDADD= $(top_builddir)/lib/libgamin_shared.la $(LDADDS) $(DAEMON_LIBS)
+
+ if ENABLE_HURD_MACH_NOTIFY
+ gam_server_LDADD += -lports -lthreads
+--
+1.6.0.2
+
diff --git a/dev-libs/libgamin/libgamin-0.1.10-r5.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r5.ebuild
new file mode 100644
index 000000000000..47206c41151e
--- /dev/null
+++ b/dev-libs/libgamin/libgamin-0.1.10-r5.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+GNOME_ORG_MODULE="gamin"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit autotools eutils flag-o-matic libtool python-r1 gnome.org multilib-minimal
+
+DESCRIPTION="Library providing the FAM File Alteration Monitor API"
+HOMEPAGE="https://www.gnome.org/~veillard/gamin/"
+SRC_URI="${SRC_URI}
+ mirror://gentoo/gamin-0.1.9-freebsd.patch.bz2
+ https://dev.gentoo.org/~grobian/patches/libgamin-0.1.10-opensolaris.patch.bz2
+ https://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="debug kernel_linux python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="test" # needs gam-server
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+ !app-admin/fam
+ !<app-admin/gamin-0.1.10"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ mv "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
+
+ # Fix QA warnings, bug #257281, upstream #466791
+ epatch "${FILESDIR}"/${PN}-0.1.10-compilewarnings.patch
+
+ if [[ ${CHOST} != *-solaris* ]] ; then
+ # Fix compile warnings; bug #188923
+ epatch "${DISTDIR}"/gamin-0.1.9-freebsd.patch.bz2
+ else
+ # (Open)Solaris necessary patches (changes configure.in), unfortunately
+ # conflicts with freebsd patch and breaks some linux installs so it must
+ # only be applied if on solaris.
+ epatch "${DISTDIR}"/${P}-opensolaris.patch.bz2
+ fi
+
+ # Fix collision problem due to intermediate library, upstream bug #530635
+ epatch "${FILESDIR}"/${PN}-0.1.10-noinst-lib.patch
+
+ # Fix compilation with latest glib, bug #382783
+ epatch "${FILESDIR}/${PN}-0.1.10-G_CONST_RETURN-removal.patch"
+
+ # Fix crosscompilation issues, bug #267604
+ epatch "${FILESDIR}/${PN}-0.1.10-crosscompile-fix.patch"
+
+ # Enable linux specific features on armel, upstream bug #588338
+ epatch "${FILESDIR}/${P}-armel-features.patch"
+
+ # Fix possible server deadlock in ih_sub_cancel, upstream bug #667230
+ epatch "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
+
+ # Drop DEPRECATED flags
+ sed -i -e 's:-DG_DISABLE_DEPRECATED:$(NULL):g' server/Makefile.am || die
+
+ # Build only shared version of Python module.
+ epatch "${FILESDIR}"/${PN}-0.1.10-disable_python_static_library.patch
+
+ sed -i \
+ -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
+ -e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
+ configure.in || die #466962
+
+ # autoconf is required as the user-cflags patch modifies configure.in
+ # however, elibtoolize is also required, so when the above patch is
+ # removed, replace the following call with a call to elibtoolize
+ AT_M4DIR="${WORKDIR}" eautoreconf
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable static-libs static)
+ --disable-debug
+ --disable-server
+ $(use_enable kernel_linux inotify)
+ $(use_enable debug debug-api)
+ --without-python
+ )
+ local ECONF_SOURCE=${S}
+
+ econf "${myconf[@]}"
+ if multilib_is_native_abi && use python; then
+ python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ econf "${myconf[@]}" --with-python
+ }
+
+ python_foreach_impl python_configure
+ fi
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python; then
+ local native_builddir=${BUILD_DIR}
+
+ python_compile() {
+ emake -C "${BUILD_DIR}"/python \
+ VPATH="${native_builddir}/python:${S}/python" \
+ _gamin_la_LIBADD="${native_builddir}/libgamin/libgamin-1.la"
+ }
+
+ python_foreach_impl python_compile
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ local native_builddir=${BUILD_DIR}
+
+ python_install() {
+ emake -C "${BUILD_DIR}"/python \
+ DESTDIR="${D}" install \
+ VPATH="${native_builddir}/python:${S}/python"
+ }
+
+ python_foreach_impl python_install
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS ChangeLog README TODO NEWS doc/*txt
+ dohtml doc/*
+
+ prune_libtool_files --all
+}
diff --git a/dev-libs/libgamin/metadata.xml b/dev-libs/libgamin/metadata.xml
new file mode 100644
index 000000000000..fb76b944f2da
--- /dev/null
+++ b/dev-libs/libgamin/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+<email>freedesktop-bugs@gentoo.org</email>
+</maintainer>
+</pkgmetadata>