1 |
commit: 6cd5bf391e8e5a5c1ff028394339107479db8abf |
2 |
Author: Jonathan Callen <jcallen <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Aug 28 03:46:46 2015 +0000 |
4 |
Commit: Jonathan Callen <jcallen <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Aug 28 03:48:52 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cd5bf39 |
7 |
|
8 |
sys-libs/libudev-compat: New package |
9 |
|
10 |
This installs a libudev.so.0 that wraps libudev.so.1 and provides the |
11 |
few functions that were removed with the SONAME bump. This is only |
12 |
needed for some older binary-only software, including Steam. |
13 |
|
14 |
Package-Manager: portage-2.2.20.1 |
15 |
|
16 |
sys-libs/libudev-compat/files/udev_old.c | 37 +++++++++++++++++ |
17 |
sys-libs/libudev-compat/libudev-compat-186.ebuild | 48 +++++++++++++++++++++++ |
18 |
sys-libs/libudev-compat/metadata.xml | 8 ++++ |
19 |
3 files changed, 93 insertions(+) |
20 |
|
21 |
diff --git a/sys-libs/libudev-compat/files/udev_old.c b/sys-libs/libudev-compat/files/udev_old.c |
22 |
new file mode 100644 |
23 |
index 0000000..584644a |
24 |
--- /dev/null |
25 |
+++ b/sys-libs/libudev-compat/files/udev_old.c |
26 |
@@ -0,0 +1,37 @@ |
27 |
+/* |
28 |
+ * Copyright (C) 2015 Jonathan Callen <jcallen@g.o> |
29 |
+ * Copyright (C) 2008-2010 Kay Sievers <kay.sievers@××××.org> |
30 |
+ * |
31 |
+ * This library is free software; you can redistribute it and/or |
32 |
+ * modify it under the terms of the GNU Lesser General Public |
33 |
+ * License as published by the Free Software Foundation; either |
34 |
+ * version 2.1 of the License, or (at your option) any later version. |
35 |
+ */ |
36 |
+ |
37 |
+#include <errno.h> |
38 |
+#include <stddef.h> |
39 |
+ |
40 |
+void *udev_monitor_new_from_socket(void *udev, const void *path) { |
41 |
+ errno = ENOSYS; |
42 |
+ return NULL; |
43 |
+} |
44 |
+ |
45 |
+void *udev_queue_get_failed_list_entry(void *udev_queue) { |
46 |
+ errno = ENOSYS; |
47 |
+ return NULL; |
48 |
+} |
49 |
+ |
50 |
+const char *udev_get_sys_path(void *udev) { |
51 |
+ if (!udev) return NULL; |
52 |
+ return "/sys"; |
53 |
+} |
54 |
+ |
55 |
+const char *udev_get_dev_path(void *udev) { |
56 |
+ if (!udev) return NULL; |
57 |
+ return "/dev"; |
58 |
+} |
59 |
+ |
60 |
+const char *udev_get_run_path(void *udev) { |
61 |
+ if (!udev) return NULL; |
62 |
+ return "/run/udev"; |
63 |
+} |
64 |
|
65 |
diff --git a/sys-libs/libudev-compat/libudev-compat-186.ebuild b/sys-libs/libudev-compat/libudev-compat-186.ebuild |
66 |
new file mode 100644 |
67 |
index 0000000..3a725c6 |
68 |
--- /dev/null |
69 |
+++ b/sys-libs/libudev-compat/libudev-compat-186.ebuild |
70 |
@@ -0,0 +1,48 @@ |
71 |
+# Copyright 1999-2015 Gentoo Foundation |
72 |
+# Distributed under the terms of the GNU General Public License v2 |
73 |
+# $Id$ |
74 |
+ |
75 |
+EAPI=5 |
76 |
+ |
77 |
+inherit multilib multilib-minimal toolchain-funcs |
78 |
+ |
79 |
+DESCRIPTION="Wrapper around libudev.so.1 for packages needing the old libudev.so.0" |
80 |
+HOMEPAGE="http://gentoo.org/" |
81 |
+SRC_URI="" |
82 |
+ |
83 |
+LICENSE="LGPL-2.1+" |
84 |
+SLOT="0" |
85 |
+KEYWORDS="~amd64" |
86 |
+IUSE="" |
87 |
+ |
88 |
+DEPEND="virtual/libudev:0/1[${MULTILIB_USEDEP}]" |
89 |
+RDEPEND="${DEPEND}" |
90 |
+ |
91 |
+src_unpack() { |
92 |
+ mkdir "${S}" || die |
93 |
+ cp "${FILESDIR}"/udev_old.c "${S}" || die |
94 |
+} |
95 |
+ |
96 |
+multilib_src_configure() { :; } |
97 |
+ |
98 |
+echo_and_run() { |
99 |
+ echo "$@" |
100 |
+ "$@" |
101 |
+} |
102 |
+ |
103 |
+multilib_src_compile() { |
104 |
+ # Note: --no-as-needed is used explictly here to ensure that libudev.so.1 |
105 |
+ # is pulled in, even though nothing in udev_old.c otherwise requires it |
106 |
+ echo_and_run $(tc-getCC) \ |
107 |
+ ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} \ |
108 |
+ -fpic -shared \ |
109 |
+ -Wl,-soname,libudev.so.0 \ |
110 |
+ -o libudev.so.0 \ |
111 |
+ "${S}"/udev_old.c \ |
112 |
+ -Wl,--no-as-needed \ |
113 |
+ -ludev || die |
114 |
+} |
115 |
+ |
116 |
+multilib_src_install() { |
117 |
+ dolib.so libudev.so.0 |
118 |
+} |
119 |
|
120 |
diff --git a/sys-libs/libudev-compat/metadata.xml b/sys-libs/libudev-compat/metadata.xml |
121 |
new file mode 100644 |
122 |
index 0000000..311eca7 |
123 |
--- /dev/null |
124 |
+++ b/sys-libs/libudev-compat/metadata.xml |
125 |
@@ -0,0 +1,8 @@ |
126 |
+<?xml version="1.0" encoding="UTF-8"?> |
127 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
128 |
+<pkgmetadata> |
129 |
+ <maintainer> |
130 |
+ <email>jcallen@g.o</email> |
131 |
+ <name>Jonathan Callen</name> |
132 |
+ </maintainer> |
133 |
+</pkgmetadata> |