Gentoo Archives: gentoo-commits

From: Jonathan Callen <jcallen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/libudev-compat/files/, sys-libs/libudev-compat/
Date: Fri, 28 Aug 2015 03:49:35
Message-Id: 1440733732.6cd5bf391e8e5a5c1ff028394339107479db8abf.jcallen@gentoo
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>