aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libgamin')
-rw-r--r--dev-libs/libgamin/Manifest14
-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-fix-pthread-mutex.patch11
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-noinst-lib.patch76
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r99.ebuild142
-rw-r--r--dev-libs/libgamin/metadata.xml8
11 files changed, 503 insertions, 0 deletions
diff --git a/dev-libs/libgamin/Manifest b/dev-libs/libgamin/Manifest
new file mode 100644
index 00000000..3e28cef4
--- /dev/null
+++ b/dev-libs/libgamin/Manifest
@@ -0,0 +1,14 @@
+AUX libgamin-0.1.10-G_CONST_RETURN-removal.patch 2470 SHA256 adddd1f54bb33669d9163398308ebb732f33b6c12b1363a0dcf765ff28fc30ad SHA512 56cf8439d64c3856cc768a0d6aa67e00e82579b0db60b1f25b195024eec1628f61013718f3139910735eafa15e05f4fabe4373ebac053778abb1c89201c6cf0c WHIRLPOOL 425495ec6bb9cc5993631b9c5ef24d33261f71e9a039120a373235bae3cb386b8a938cd06714a6fba57a2378f868d372b063efc325bc98faa43b3c136c4d00b1
+AUX libgamin-0.1.10-armel-features.patch 1490 SHA256 6b6faf3084ca2ddf577575395172901d637a96e5db8dd42bc5268d58a767d30e SHA512 fe6365489428ca9206a36b8dea495d5c4beb381fe43dd49aa2fa022f8ea34d8068275ce42f41211ef7ce8bb2c1dce952673d4b2e72eec5be00161fa8f8bcb2a5 WHIRLPOOL 935fde8a3683a1cb9f7f44307fe136a7f8251982501e54209625bee681d8ef23cfbf27d5f8b127da200a800c778b91013124ddd8caf970810c018d7f44dc356a
+AUX libgamin-0.1.10-compilewarnings.patch 526 SHA256 dfca2bee08ba14c873a6bcd732359dd7e3a9372d6d9fb82378194d7a73a30e68 SHA512 f413fbd5db1e0412d1fabe6b46e049d347735cf6db7a7ca1eecc9ede1b299a7e622be3c508df40990159e05470d285069a0fa4e2cfcf6fd80378d0aa2b69fd0f WHIRLPOOL ae2277d225551e1b7bbaa897b675b51e561b8e3f71a2456dafea4d7cf697437534aedf286ae9399e8445aca83c02dedd5ce2ac3d9c085293210e3c0bf9af2dea
+AUX libgamin-0.1.10-crosscompile-fix.patch 764 SHA256 27e92227c19a6ae61336f66cefe7d44fca43fe7e0c8122fe32c313b4d848f28c SHA512 11aca975f98d9364bfdd8e28162f922a96493012fb3c6c704115d33155b2a2e9bbd20aba64354db922f16c3589b88a07091590a5bd6aa806582b9b7875ba8e23 WHIRLPOOL 61c2c95cd7874eb106fcb1e474a10e21ce79d0c10220520810d904e4dac106ccfe12a09782d0ea7cb42c7369a1226fca9b7f4d826e5f62140713ea6a8ac967c2
+AUX libgamin-0.1.10-deadlock.patch 2090 SHA256 75cee6cb0210cec02be1e042454f561da20724c55810f968b0a5f4972f9cbfd5 SHA512 c0a4a318eb78b9666930e9d1a6fac5e7762f38796e5892d849c893df524310408020ea75fb02a4d79000be3440435ae640340cf2a3dd43fa031df5787762f8de WHIRLPOOL 9d5b26134ccd1e13c25f5bfe3295bdec7c1a8cdd73f21b1cb65ff50dc910e533c3ac5b28508cb7f93a15096e365aa25cdaf9f32d8d76cadf435215b8aebdb090
+AUX libgamin-0.1.10-disable_python_static_library.patch 340 SHA256 460306119bc6be6fd19d173eadfa28493fc72e90fceaf3ee49b50fee50a4f5d1 SHA512 8d11f4b891bfc9e1aa6ba99aa485279b29c0a0f154742349035032c5122ae6ef29da5e5f0482791a7b1f7bceebd2bc871f14c3eb96f1947ad791b8036e488b00 WHIRLPOOL 59fb95c4acb5f14897f274d1ad72bf0ddd67a0e905f4098894e2d56767c3930a99b4a459c0bcab607917b0305dab1ca516c8158ce9700c6de88648995e688be1
+AUX libgamin-0.1.10-fix-pthread-mutex.patch 417 SHA256 bfd5ee42e385367718a4dac8ab318f9a5881ab8b669e4020f87aacaef16a2f8e SHA512 70628fc39521ea8bc4a40b009d0881f6ee540334a31b2f0cb67dde0f75808c69feb78088ad24c3c4a0dec9fa59e87960fd81d1a2e56963ce9268d0a5e14f88e8 WHIRLPOOL e2268fe0e7ee84d4b5656ff392717c1888e6438a24132ccc701a9a3b19ad1717409df7ccc2945cdd350ce79630e3debc4b28da5d857323a128f8ad0892d8f4bb
+AUX libgamin-0.1.10-noinst-lib.patch 2207 SHA256 e19ede71d259fbe5888c06635441365a48687034b24c5f15edd808a7cbd9cdc7 SHA512 ba7ce391f4da1a6b4c75941b8440a72f483b6f2597592f64ddca720bf46b1269e64a20a27da9c35b134100a121990d84e28ac737cffef48e90974a017ba3a4cb WHIRLPOOL d3605973df5f148d03d65a6660925dd2c1bca5bda9574714fb3259f630341cdeb3d5d7c73986fa0a6eacb0f34c584eb25c8f6ed431d1b95df21a974241678124
+DIST gamin-0.1.10.tar.bz2 452194 SHA256 a59948b20ce2f14136c013f155abb8c8d51db2ea167c063ff33461e453fec10a SHA512 ccdbc06eeb958ed2d888aee3fcadbadf00e9e6566802adee82035e0762ac3351ed2a2983eabe07503ddde2ddf035185c6cd98cbece2feadaaa36e8f656a38306 WHIRLPOOL 49ca0e192d8f5e28d6ffbb201b98b0f2c736554447b37c50eaa6e76e499ab77d696cf585c96c6a38f94c2589c634e694daf2e4969ffddbbb245b07b8a6e7b2d8
+DIST gamin-0.1.9-freebsd.patch.bz2 4635 SHA256 fcd1a6655d1c7cd86db6102931a4da1c22bc85f1c4692959c1a966fec5231723 SHA512 a9d9a8e4d85b289df6f87bf2b966ff262281db0d7e6094deb4f2c179f12c6cc3e387c1e1c28306a9fb54f2eb2837f9bdd3a34b2bb68db8abfdbecc7492e9730b WHIRLPOOL 462173a33e8f804b71c6991aa5925a5c9a6ee83f80b13967369c5c45721069e629c052e5daebfc3fb03bbad4d3054b523afb6e430db997581f3ff942f7da3180
+DIST libgamin-0.1.10-opensolaris.patch.bz2 16955 SHA256 9cb1bde5a34888ce4de4c4894c7d31dbfdbfb3279007b9eddf2da35510f6a9b5 SHA512 fd1cfc5a6b5ba429622f8d426cfba0e3c1c05c3677fb58c53af39b4030ae56f3f71caf63eb5ecb16169c2f7e8c79a32d7d440857c2c7fd3a259cf8312a9b2004 WHIRLPOOL 3efbf3781a55f44f383e573db4a3b3df731e9f77608d73db4ff3027eae0bda6abb6eae022c094735c0d8d2a85e224a980436d8557f9350bb1558b40d99280701
+DIST pkg-config-0.28.tar.gz 1931203 SHA256 6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845 SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320 WHIRLPOOL db4ddb4ce61724e629931c5ffccb4d7a551b4dc0f4efed5a966822307e4b5a786adee5705dd80ec0a9aa32cb1af9ad9615e307360e131fc34688207216161486
+EBUILD libgamin-0.1.10-r99.ebuild 4061 SHA256 4a309ff64993ee78ef757487a6c2eeb9b23201744b1db70906eaf7279889b4c4 SHA512 34fea1f9327fd1b75e6d0c123d75801d6d0f0963c7ddfc057c780fc4e9682c5ba5aee5ee80c71cecd1504d6c1cd76e1bf1efb5e8244d267e00289aea7e37d4ad WHIRLPOOL caf86538b138ae0ab10f71969f05694fed401e45956144b8e5f13153f29f364395b6be2a7ae6d1d50a1a91e87f4df720fbd931898f80f9af01f02771a9f790d7
+MISC metadata.xml 234 SHA256 3018e3b31ed690a57bfc14e35699dd20ea3b352fc28b918f699e6955b57a2d97 SHA512 eed880663c66280f6688f896bd6b82d600cac0063eb79da7b1be0fe3bf866e7289edb389a505dfbf45bd9c7e5282748dadd7bf3477759788c1024300796545c3 WHIRLPOOL 79028c7efb93b6255351aebe7f35d1587d07ec1405e8fbee4fd874e42e57e6d10368b0f4ab60c89e115493a094f36af8be1bc2fe79fc2d34daae83dc0f8d7b16
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 00000000..087312f5
--- /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 00000000..fdfcbd7e
--- /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 00000000..d3e09313
--- /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 00000000..ce3a15b5
--- /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 00000000..9f2b2a51
--- /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 00000000..562fc071
--- /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-fix-pthread-mutex.patch b/dev-libs/libgamin/files/libgamin-0.1.10-fix-pthread-mutex.patch
new file mode 100644
index 00000000..c8c5b000
--- /dev/null
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-fix-pthread-mutex.patch
@@ -0,0 +1,11 @@
+--- gamin-0.1.10.orig/libgamin/gam_data.c
++++ gamin-0.1.10/libgamin/gam_data.c
+@@ -470,7 +470,7 @@
+ }
+ if (is_threaded > 0) {
+ pthread_mutexattr_init(&attr);
+-#if defined(linux) || defined(PTHREAD_MUTEX_RECURSIVE_NP)
++#if defined(linux) && defined(PTHREAD_MUTEX_RECURSIVE_NP)
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
+ #else
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
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 00000000..1f2fcff6
--- /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-r99.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r99.ebuild
new file mode 100644
index 00000000..176ddde5
--- /dev/null
+++ b/dev-libs/libgamin/libgamin-0.1.10-r99.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libgamin/libgamin-0.1.10-r5.ebuild,v 1.12 2014/12/06 16:40:07 ago Exp $
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_6,2_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="http://www.gnome.org/~veillard/gamin/"
+SRC_URI="${SRC_URI}
+ mirror://gentoo/gamin-0.1.9-freebsd.patch.bz2
+ http://dev.gentoo.org/~grobian/patches/libgamin-0.1.10-opensolaris.patch.bz2
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ~mips ppc x86"
+IUSE="debug kernel_linux python static-libs"
+
+RESTRICT="test" # needs gam-server
+
+RDEPEND="!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
+
+ # Fix build on musl
+ epatch "${FILESDIR}"/${PN}-0.1.10-fix-pthread-mutex.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_parallel_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 00000000..8c868061
--- /dev/null
+++ b/dev-libs/libgamin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>freedesktop</herd>
+<maintainer>
+<email>freedesktop-bugs@gentoo.org</email>
+</maintainer>
+</pkgmetadata>