summaryrefslogtreecommitdiff
path: root/media-plugins/gkrellmpc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-plugins/gkrellmpc
reinit the tree, so we can have metadata
Diffstat (limited to 'media-plugins/gkrellmpc')
-rw-r--r--media-plugins/gkrellmpc/Manifest9
-rw-r--r--media-plugins/gkrellmpc/files/gkrellmpc-0.1_beta10-mt.patch154
-rw-r--r--media-plugins/gkrellmpc/files/gkrellmpc-0.1_beta9-mt.patch152
-rw-r--r--media-plugins/gkrellmpc/gkrellmpc-0.1_beta10.ebuild38
-rw-r--r--media-plugins/gkrellmpc/gkrellmpc-0.1_beta9-r1.ebuild38
-rw-r--r--media-plugins/gkrellmpc/metadata.xml11
6 files changed, 402 insertions, 0 deletions
diff --git a/media-plugins/gkrellmpc/Manifest b/media-plugins/gkrellmpc/Manifest
new file mode 100644
index 000000000000..7a05c393f01a
--- /dev/null
+++ b/media-plugins/gkrellmpc/Manifest
@@ -0,0 +1,9 @@
+AUX gkrellmpc-0.1_beta10-mt.patch 4392 SHA256 5f5160543bf6f176a5bdd0d58abbda481441b3881e4c241a53e03c6c45cf87b4 SHA512 5928192cde4513470f9af952d6aa8a3b5044a6bdcc8aead26420a2cc7e9ed21dd3ac0043a5d481559c6eaad770de54c44b6d5395efb1baa2de80bc26d2536cdb WHIRLPOOL 868f007f05abf2191ebfbba60d7996404d827b44c263111183c94ed3272327774047ccd0f6ab7bcd1a0978d5adf81ee8fd69ba0f5fb54c7f9b18e93599f62cf1
+AUX gkrellmpc-0.1_beta9-mt.patch 4427 SHA256 7d4489d8980048fba81604b312ee5db3806296e2d249d318643d75fffd9741bd SHA512 0bf96cba88e6b2596b86318f72a87842d0641068a18bb3a07a9b5654296322bb12e58f281e8ab412e2f9a4c6fc5e0aef9714e91b97ec41d41c39cf5ec720b09b WHIRLPOOL 696511824ef6742fe77c838503890e4a54c72bea5b97e3d04b9a9c878ee640f597d6dd6c71681ef30183464dca33f1d9bc65a9794f9bad47324911e8e49e6386
+DIST gkrellmpc-0.1_beta10.tar.gz 25388 SHA256 320c04cce9530d12e4cc20d58710c29a25154e3450f3e3cdee2aa3c9433312b6 SHA512 f5d687264f08146bf1eb54aee6d42a200fb97008a355d26a68be91b04e4bd622fc222725bf498c0837eacb8b94d6aede5aa1a05ed504fe5f9b790a9cd08d3973 WHIRLPOOL 4e4fc8772fb6c8a1caf405e6d045c973b37b7d03df2ded65c611268883f98a963de84a1f51cbc382dad9e39c3e0e8ba3607a5990559869817289e22b69a90f00
+DIST gkrellmpc-0.1_beta9.tar.gz 22029 SHA256 b4fed5b55afdeefe978d1ab7f82a0e2f79b15ea2158110775cf6e05616ded9e2 SHA512 8ea5b2964e8f430ec391d1dc475f00c6b3b7843952884c62c0fa76131f05a4e61f0dcbf4d1da38c3686e261027c409af28c1d36b87d383468abd4329313fb2db WHIRLPOOL 54793918d38a726b7d3eebde0f2733622a0037d28887e81f83e6a98d07e6ec01ee817dac071ae9f8c3b1f33f212b69fd83b92356b7e079f8b6144ca8a5ab6644
+EBUILD gkrellmpc-0.1_beta10.ebuild 864 SHA256 f37246dc8e88cc01630c4e5bf8aacf96ce0720b18659dfd8d6fc7845d39f62a9 SHA512 b18d38d7e92a29d2acd0d64bd05d08a64da7cd493b54e2a9b58f8db7399ceec6c7f42446f91bbc8ff073e81245f105b90d6d1f3c9cc57e45b811e4feec557533 WHIRLPOOL b6073f6d1fc8ce87256eaf68a02fc9acea14d59ae70c1641c4157837f30e04c662eefe56db52ef63fede8e7dd40ca7fec191002c92bcf387dc9050f2f10c2545
+EBUILD gkrellmpc-0.1_beta9-r1.ebuild 867 SHA256 b27311f54123b608786ffc0278d2567d166e37019f64cb7b4bb0d1f866d063b6 SHA512 fca79f66eaf151ac367ea293f071d4bc562beb4214f58d1d094233bc9150c19ca98a48fd7877e8e6867f3fd78b8fba566524046bd67a1f299002c22bd594bb76 WHIRLPOOL dd458ebcdc2714bc2dddb2cf84dc22d52084f0ce8aa435ccd45a3a6ce7c14048c6fa06028bf1f1a3abb9387d4a8a4a18e1e7c81114c9c342c758f6c79fdfb7b1
+MISC ChangeLog 2862 SHA256 f41e44e30fd0aae47584396a5b481bf758ab9c7bbeb90befde3cdd71a87420e4 SHA512 e46adcd149237f73e10e074641fe36472cf8beb098161059669ee66c2d5c41d9368682ea0d9b33276591cef27938be1c7c898596c64f24bd870f5cfe72c61862 WHIRLPOOL 12253ae8f338633f8ac26279c6282a06ee5aea6a8368019efd38d5f492d84a2310a433c6425bfadf89d8bc35fee67ddc1598204faae32d961dabb4d530eddffd
+MISC ChangeLog-2015 2614 SHA256 358e024ca56c6b2cdb09c35a9b1928aa93d085ae6f5c04bed255afc4844b3889 SHA512 138536aa7c5416234cc4d218c6435ab26c72860dd62dc79f7dbde74af202c9e9a8cb605ff83364d7694fb3d0cb7fc6f27e01cdb39f00601a245c49546c81c7df WHIRLPOOL a38cbb9e00a33f06c096356e6ff83682129a2a251155bd302f7318e4312e85919bddb881506c7287be22ad856516204a7eb7d4917cb8433e331e2e7a922e8c74
+MISC metadata.xml 346 SHA256 6ba0c3779d5720a24d47434a5deaab9f35bb4bd78435ba838310b41d721b101d SHA512 119190e5845f3d61be09d34f525870e139c566f3ec4838c23425b764dd1c53507286c55d437e620d4e9958e195dfd58bc778cca58afc97cb4b52c76ba05f56c0 WHIRLPOOL 05445fe329e8442231c497c85588e034153b1dcedb07cd2f24e4d7b0d24addbddd8b4e603033aea0757b9d7e536d5477eb2c8fd8ab3412014faf06c408734ab6
diff --git a/media-plugins/gkrellmpc/files/gkrellmpc-0.1_beta10-mt.patch b/media-plugins/gkrellmpc/files/gkrellmpc-0.1_beta10-mt.patch
new file mode 100644
index 000000000000..42a5848a44cb
--- /dev/null
+++ b/media-plugins/gkrellmpc/files/gkrellmpc-0.1_beta10-mt.patch
@@ -0,0 +1,154 @@
+diff --git a/gkrellmpc.c b/gkrellmpc.c
+index eb28982..08a3fb3 100644
+--- a/gkrellmpc.c
++++ b/gkrellmpc.c
+@@ -140,7 +140,7 @@ void mpc_create_plugin (GtkWidget *vbox, gint first_create) {
+ /* Create the status decal */
+ mpc_status_decal = gkrellm_create_decal_pixmap(mpc_panel, gkrellm_decal_misc_pixmap(), gkrellm_decal_misc_mask(), N_MISC_DECALS, style, 0, t);
+ mpc_status_decal->x = w - mpc_status_decal->w;
+- gkrellm_draw_decal_pixmap(mpc_panel, mpc_status_decal, (mpc_mpd ? D_MISC_LED1 : D_MISC_LED0));
++ gkrellm_draw_decal_pixmap(mpc_panel, mpc_status_decal, (mpc_mpd_connected() ? D_MISC_LED1 : D_MISC_LED0));
+
+ /* Update t */
+ t += mpc_label_decal->h > mpc_status_decal->h ? mpc_label_decal->h : mpc_status_decal->h;
+@@ -279,7 +279,7 @@ void mpc_update_plugin () {
+ static gint x_scroll;
+
+ /* Try to connect to mpd */
+- if (!mpc_mpd && mpc_ticker->ten_second_tick) {
++ if (!mpc_mpd_connected() && mpc_ticker->ten_second_tick) {
+ mpc_mpd_connect();
+ }
+
+@@ -457,7 +457,7 @@ void mpc_sync_with_mpd() {
+ status = mpc_mpd_get("status\n");
+ currentsong = mpc_mpd_get("currentsong\n");
+
+- if (!mpc_mpd) {
++ if (!mpc_mpd_connected()) {
+ mpc_update_label(_("NO MPD"));
+ mpc_update_songname("");
+ gtk_tooltips_set_tip(mpc_tooltip, mpc_panel->drawing_area, _("MPD is not running"), NULL);
+diff --git a/mpd.c b/mpd.c
+index 5918416..1d9ea6a 100644
+--- a/mpd.c
++++ b/mpd.c
+@@ -12,18 +12,32 @@
+ #include <sys/socket.h>
+ #include <netdb.h>
+
++#include <errno.h>
++#include <pthread.h>
++
+ GIOChannel * mpc_mpd = NULL;
++pthread_mutex_t mpc_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } }; //PTHREAD_MUTEX_INITIALIZER;
++
++gboolean mpc_mpd_connected() {
++ if(pthread_mutex_trylock(&mpc_mutex)){
++ return (FALSE);
++ }
++ pthread_mutex_unlock(&mpc_mutex);
++ return (gboolean)mpc_mpd;
++}
+
+ /*
+ * Connects to the MPD server, sets up the mpd object, sets the status decal to ON
+ */
+-gboolean mpc_mpd_connect() {
++void* mpc_mpd_connect_worker(void* arg) {
+ int sockfd;
+ struct hostent *server;
+ struct sockaddr_in serv_addr;
+ gchar * line;
+ gchar ** parts;
+ gboolean retval;
++
++ pthread_mutex_lock(&mpc_mutex);
+
+ if (mpc_mpd) {
+ /*
+@@ -33,11 +47,11 @@ gboolean mpc_mpd_connect() {
+ }
+
+ if (!mpc_conf_hostname || !mpc_conf_port) {
+- return (FALSE);
++ goto err;
+ }
+
+- if ((sockfd = socket(PF_INET, SOCK_STREAM, 0)) == -1) return(FALSE);
+- if (!(server = gethostbyname(mpc_conf_hostname))) return(FALSE);
++ if ((sockfd = socket(PF_INET, SOCK_STREAM, 0)) == -1) goto err;
++ if (!(server = gethostbyname(mpc_conf_hostname))) goto err;
+
+ bzero((char *) &serv_addr, sizeof(serv_addr));
+ serv_addr.sin_family = AF_INET;
+@@ -46,7 +60,7 @@ gboolean mpc_mpd_connect() {
+ server->h_length);
+ serv_addr.sin_port = htons(mpc_conf_port);
+
+- if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) return(FALSE);
++ if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) goto err;
+
+ /* Getup the mpd object */
+ mpc_mpd = g_io_channel_unix_new(sockfd);
+@@ -72,29 +86,39 @@ gboolean mpc_mpd_connect() {
+ retval = FALSE;
+ }
+
+- if (retval) {
+- gkrellm_draw_decal_pixmap(mpc_panel, mpc_status_decal, D_MISC_LED1);
+- mpc_update_label(_("MPD"));
+- mpc_update_songname("");
+- }
++err:
++ pthread_mutex_unlock(&mpc_mutex);
++ return NULL;
++}
+
+- return(retval);
++gboolean mpc_mpd_connect() {
++ pthread_attr_t attr;
++ pthread_t thread_id;
++
++ if(pthread_mutex_trylock(&mpc_mutex)){
++ return (FALSE);
++ }
++
++ pthread_attr_init(&attr);
++ pthread_create(&thread_id, &attr, mpc_mpd_connect_worker, NULL);
++
++ pthread_mutex_unlock(&mpc_mutex);
++
++ return (FALSE);
+ }
+
+ /*
+ * Disconnects from MPD, destroys the mpd object, sets the status decal to off
+ */
+ gboolean mpc_mpd_disconnect() {
+-
++ pthread_mutex_lock(&mpc_mutex);
+ if (mpc_mpd) {
+ g_io_channel_shutdown(mpc_mpd, FALSE, NULL);
+ free(mpc_mpd);
+ mpc_mpd = NULL;
+ }
+
+- gkrellm_draw_decal_pixmap(mpc_panel, mpc_status_decal, D_MISC_LED0);
+- mpc_update_label(_("NO MPD"));
+- mpc_update_songname("");
++ pthread_mutex_lock(&mpc_mutex);
+ return (TRUE);
+ }
+
+diff --git a/mpd.h b/mpd.h
+index efcb9f6..c6942c4 100644
+--- a/mpd.h
++++ b/mpd.h
+@@ -10,5 +10,6 @@ gboolean mpc_mpd_disconnect();
+ gboolean mpc_mpd_do(gchar *);
+ GHashTable * mpc_mpd_get(gchar *);
+ GPtrArray * mpc_mpd_get_clumps(gchar *, gboolean);
++gboolean mpc_mpd_connected();
+
+ #endif
diff --git a/media-plugins/gkrellmpc/files/gkrellmpc-0.1_beta9-mt.patch b/media-plugins/gkrellmpc/files/gkrellmpc-0.1_beta9-mt.patch
new file mode 100644
index 000000000000..4de5688a2b5e
--- /dev/null
+++ b/media-plugins/gkrellmpc/files/gkrellmpc-0.1_beta9-mt.patch
@@ -0,0 +1,152 @@
+diff -uNr gkrellmpc-0.1_beta9/gkrellmpc.c gkrellmpc-0.1_beta9.mine/gkrellmpc.c
+--- gkrellmpc-0.1_beta9/gkrellmpc.c 2005-01-05 22:33:16.000000000 +0300
++++ gkrellmpc-0.1_beta9.mine/gkrellmpc.c 2009-04-05 19:51:12.000000000 +0400
+@@ -132,7 +132,7 @@
+ /* Create the status decal */
+ mpc_status_decal = gkrellm_create_decal_pixmap(mpc_panel, gkrellm_decal_misc_pixmap(), gkrellm_decal_misc_mask(), N_MISC_DECALS, style, 0, t);
+ mpc_status_decal->x = w - mpc_status_decal->w;
+- gkrellm_draw_decal_pixmap(mpc_panel, mpc_status_decal, (mpc_mpd ? D_MISC_LED1 : D_MISC_LED0));
++ gkrellm_draw_decal_pixmap(mpc_panel, mpc_status_decal, (mpc_mpd_connected() ? D_MISC_LED1 : D_MISC_LED0));
+
+ /* Update t */
+ t += mpc_label_decal->h > mpc_status_decal->h ? mpc_label_decal->h : mpc_status_decal->h;
+@@ -254,7 +254,7 @@
+ static gint x_scroll;
+
+ /* Try to connect to mpd */
+- if (!mpc_mpd && mpc_ticker->ten_second_tick) {
++ if (!mpc_mpd_connected() && mpc_ticker->ten_second_tick) {
+ mpc_mpd_connect();
+ }
+
+@@ -428,7 +428,7 @@
+ status = mpc_mpd_get("status\n");
+ currentsong = mpc_mpd_get("currentsong\n");
+
+- if (!mpc_mpd) {
++ if (!mpc_mpd_connected()) {
+ mpc_update_label("NO MPD");
+ mpc_update_songname("");
+ }
+diff -uNr gkrellmpc-0.1_beta9/mpd.c gkrellmpc-0.1_beta9.mine/mpd.c
+--- gkrellmpc-0.1_beta9/mpd.c 2005-01-05 22:33:16.000000000 +0300
++++ gkrellmpc-0.1_beta9.mine/mpd.c 2009-04-05 20:30:38.000000000 +0400
+@@ -12,18 +12,32 @@
+ #include <sys/socket.h>
+ #include <netdb.h>
+
++#include <errno.h>
++#include <pthread.h>
++
+ GIOChannel * mpc_mpd = NULL;
++pthread_mutex_t mpc_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } }; //PTHREAD_MUTEX_INITIALIZER;
++
++gboolean mpc_mpd_connected() {
++ if(pthread_mutex_trylock(&mpc_mutex)){
++ return (FALSE);
++ }
++ pthread_mutex_unlock(&mpc_mutex);
++ return (gboolean)mpc_mpd;
++}
+
+ /*
+ * Connects to the MPD server, sets up the mpd object, sets the status decal to ON
+ */
+-gboolean mpc_mpd_connect() {
++void* mpc_mpd_connect_worker(void* arg) {
+ int sockfd;
+ struct hostent *server;
+ struct sockaddr_in serv_addr;
+ gchar * line;
+ gchar ** parts;
+ gboolean retval;
++
++ pthread_mutex_lock(&mpc_mutex);
+
+ if (mpc_mpd) {
+ /*
+@@ -33,11 +47,11 @@
+ }
+
+ if (!mpc_conf_hostname || !mpc_conf_port) {
+- return (FALSE);
++ goto err;
+ }
+
+- if ((sockfd = socket(PF_INET, SOCK_STREAM, 0)) == -1) return(FALSE);
+- if (!(server = gethostbyname(mpc_conf_hostname))) return(FALSE);
++ if ((sockfd = socket(PF_INET, SOCK_STREAM, 0)) == -1) goto err;
++ if (!(server = gethostbyname(mpc_conf_hostname))) goto err;
+
+ bzero((char *) &serv_addr, sizeof(serv_addr));
+ serv_addr.sin_family = AF_INET;
+@@ -46,7 +60,7 @@
+ server->h_length);
+ serv_addr.sin_port = htons(mpc_conf_port);
+
+- if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) return(FALSE);
++ if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) goto err;
+
+ /* Getup the mpd object */
+ mpc_mpd = g_io_channel_unix_new(sockfd);
+@@ -72,29 +86,40 @@
+ retval = FALSE;
+ }
+
+- if (retval) {
+- gkrellm_draw_decal_pixmap(mpc_panel, mpc_status_decal, D_MISC_LED1);
+- mpc_update_label("MPD");
+- mpc_update_songname("");
+- }
+
+- return(retval);
++err:
++ pthread_mutex_unlock(&mpc_mutex);
++ return NULL;
++}
++
++gboolean mpc_mpd_connect() {
++ pthread_attr_t attr;
++ pthread_t thread_id;
++
++ if(pthread_mutex_trylock(&mpc_mutex)){
++ return (FALSE);
++ }
++
++ pthread_attr_init(&attr);
++ pthread_create(&thread_id, &attr, mpc_mpd_connect_worker, NULL);
++
++ pthread_mutex_unlock(&mpc_mutex);
++
++ return (FALSE);
+ }
+
+ /*
+ * Disconnects from MPD, destroys the mpd object, sets the status decal to off
+ */
+ gboolean mpc_mpd_disconnect() {
+-
++ pthread_mutex_lock(&mpc_mutex);
+ if (mpc_mpd) {
+ g_io_channel_shutdown(mpc_mpd, FALSE, NULL);
+ free(mpc_mpd);
+ mpc_mpd = NULL;
+ }
+
+- gkrellm_draw_decal_pixmap(mpc_panel, mpc_status_decal, D_MISC_LED0);
+- mpc_update_label("NO MPD");
+- mpc_update_songname("");
++ pthread_mutex_unlock(&mpc_mutex);
+ return (TRUE);
+ }
+
+diff -uNr gkrellmpc-0.1_beta9/mpd.h gkrellmpc-0.1_beta9.mine/mpd.h
+--- gkrellmpc-0.1_beta9/mpd.h 2005-01-05 22:33:16.000000000 +0300
++++ gkrellmpc-0.1_beta9.mine/mpd.h 2009-04-05 19:51:25.000000000 +0400
+@@ -10,5 +10,6 @@
+ gboolean mpc_mpd_do(gchar *);
+ GHashTable * mpc_mpd_get(gchar *);
+ GPtrArray * mpc_mpd_get_clumps(gchar *, gboolean);
++gboolean mpc_mpd_connected();
+
+ #endif
diff --git a/media-plugins/gkrellmpc/gkrellmpc-0.1_beta10.ebuild b/media-plugins/gkrellmpc/gkrellmpc-0.1_beta10.ebuild
new file mode 100644
index 000000000000..5aeac2206570
--- /dev/null
+++ b/media-plugins/gkrellmpc/gkrellmpc-0.1_beta10.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+inherit eutils gkrellm-plugin toolchain-funcs
+
+DESCRIPTION="A gkrellm plugin to control the MPD (Music Player Daemon)"
+HOMEPAGE="http://mpd.wikia.com/wiki/Client:GKrellMPC"
+SRC_URI="http://mina.naguib.ca/dist/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="threads"
+
+RDEPEND=">=app-admin/gkrellm-2[X]
+ net-misc/curl"
+DEPEND="${RDEPEND}"
+
+# Will open gkrellm in X11 display
+RESTRICT="test"
+
+src_prepare() {
+ sed -i -e 's:gkrellm2 -p:gkrellm -p:' Makefile || die
+ use threads && epatch "${FILESDIR}"/${P}-mt.patch
+}
+
+src_compile() {
+ tc-export CC
+ emake || die
+}
+
+pkg_postinst() {
+ if use threads; then
+ elog "If you can't connect MPD, please unset USE threads."
+ elog "See, https://bugs.gentoo.org/276970 for information."
+ fi
+}
diff --git a/media-plugins/gkrellmpc/gkrellmpc-0.1_beta9-r1.ebuild b/media-plugins/gkrellmpc/gkrellmpc-0.1_beta9-r1.ebuild
new file mode 100644
index 000000000000..54940aa5bf07
--- /dev/null
+++ b/media-plugins/gkrellmpc/gkrellmpc-0.1_beta9-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+inherit eutils gkrellm-plugin toolchain-funcs
+
+DESCRIPTION="A gkrellm plugin to control the MPD (Music Player Daemon)"
+HOMEPAGE="http://mpd.wikicities.com/wiki/Client:GKrellMPC"
+SRC_URI="http://www.topfx.com/dist/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="threads"
+
+RDEPEND=">=app-admin/gkrellm-2[X]
+ net-misc/curl"
+DEPEND="${RDEPEND}"
+
+# Will open gkrellm in X11 display
+RESTRICT="test"
+
+src_prepare() {
+ sed -i -e 's:gkrellm2 -p:gkrellm -p:' Makefile || die
+ use threads && epatch "${FILESDIR}"/${P}-mt.patch
+}
+
+src_compile() {
+ tc-export CC
+ emake || die
+}
+
+pkg_postinst() {
+ if use threads; then
+ elog "If you can't connect MPD, please unset USE threads."
+ elog "See, https://bugs.gentoo.org/276970 for information."
+ fi
+}
diff --git a/media-plugins/gkrellmpc/metadata.xml b/media-plugins/gkrellmpc/metadata.xml
new file mode 100644
index 000000000000..79cf4d61ce72
--- /dev/null
+++ b/media-plugins/gkrellmpc/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+ </maintainer>
+ <use>
+ <flag name="threads">Use separate thread to init connection (unsafe)</flag>
+ </use>
+</pkgmetadata>