1 |
commit: 7354726a8775617b6f82431f7f46aae7e5c84a8c |
2 |
Author: Viorel Munteanu <ceamac.paragon <AT> gmail <DOT> com> |
3 |
AuthorDate: Sat Apr 2 06:46:43 2022 +0000 |
4 |
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Apr 3 09:56:22 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7354726a |
7 |
|
8 |
net-misc/tigervnc: Install vncserver in $PATH |
9 |
|
10 |
Closes: https://bugs.gentoo.org/836620 |
11 |
Signed-off-by: Viorel Munteanu <ceamac.paragon <AT> gmail.com> |
12 |
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org> |
13 |
|
14 |
net-misc/tigervnc/tigervnc-1.12.0-r5.ebuild | 207 ++++++++++++++++++++++++++++ |
15 |
1 file changed, 207 insertions(+) |
16 |
|
17 |
diff --git a/net-misc/tigervnc/tigervnc-1.12.0-r5.ebuild b/net-misc/tigervnc/tigervnc-1.12.0-r5.ebuild |
18 |
new file mode 100644 |
19 |
index 000000000000..9665552943b5 |
20 |
--- /dev/null |
21 |
+++ b/net-misc/tigervnc/tigervnc-1.12.0-r5.ebuild |
22 |
@@ -0,0 +1,207 @@ |
23 |
+# Copyright 1999-2022 Gentoo Authors |
24 |
+# Distributed under the terms of the GNU General Public License v2 |
25 |
+ |
26 |
+EAPI=7 |
27 |
+ |
28 |
+CMAKE_IN_SOURCE_BUILD=1 |
29 |
+inherit autotools cmake flag-o-matic java-pkg-opt-2 optfeature systemd xdg |
30 |
+ |
31 |
+XSERVER_VERSION="21.1.1" |
32 |
+ |
33 |
+DESCRIPTION="Remote desktop viewer display system" |
34 |
+HOMEPAGE="http://www.tigervnc.org" |
35 |
+SRC_URI="https://github.com/TigerVNC/tigervnc/archive/v${PV}.tar.gz -> ${P}.tar.gz |
36 |
+ server? ( |
37 |
+ ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${XSERVER_VERSION}.tar.xz |
38 |
+ https://github.com/TigerVNC/tigervnc/commit/0c5a2b2e7759c2829c07186cfce4d24aa9b5274e.patch -> ${P}-xserver-21.patch |
39 |
+ )" |
40 |
+ |
41 |
+LICENSE="GPL-2" |
42 |
+SLOT="0" |
43 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" |
44 |
+IUSE="dri3 +drm gnutls java nls +opengl server xinerama +xorgmodule" |
45 |
+REQUIRED_USE="dri3? ( drm )" |
46 |
+ |
47 |
+CDEPEND=" |
48 |
+ virtual/jpeg:0 |
49 |
+ sys-libs/zlib:= |
50 |
+ x11-libs/fltk:1 |
51 |
+ x11-libs/libX11 |
52 |
+ x11-libs/libXext |
53 |
+ x11-libs/libXi |
54 |
+ x11-libs/libXrandr |
55 |
+ x11-libs/libXrender |
56 |
+ x11-libs/pixman |
57 |
+ gnutls? ( net-libs/gnutls:= ) |
58 |
+ nls? ( virtual/libiconv ) |
59 |
+ server? ( |
60 |
+ dev-libs/libbsd |
61 |
+ dev-libs/openssl:0= |
62 |
+ sys-libs/pam |
63 |
+ x11-libs/libXau |
64 |
+ x11-libs/libXdamage |
65 |
+ x11-libs/libXdmcp |
66 |
+ x11-libs/libXfixes |
67 |
+ x11-libs/libXfont2 |
68 |
+ x11-libs/libXtst |
69 |
+ x11-libs/pixman |
70 |
+ x11-libs/xtrans |
71 |
+ x11-apps/xauth |
72 |
+ x11-apps/xinit |
73 |
+ x11-apps/xkbcomp |
74 |
+ x11-apps/xsetroot |
75 |
+ x11-misc/xkeyboard-config |
76 |
+ opengl? ( media-libs/libglvnd[X] ) |
77 |
+ xorgmodule? ( =x11-base/xorg-server-${XSERVER_VERSION%.*}* ) |
78 |
+ ) |
79 |
+ " |
80 |
+ |
81 |
+RDEPEND="${CDEPEND} |
82 |
+ java? ( virtual/jre:1.8 ) |
83 |
+ server? ( |
84 |
+ dev-lang/perl |
85 |
+ sys-process/psmisc |
86 |
+ )" |
87 |
+ |
88 |
+DEPEND="${CDEPEND} |
89 |
+ drm? ( x11-libs/libdrm ) |
90 |
+ server? ( |
91 |
+ media-fonts/font-util |
92 |
+ x11-base/xorg-proto |
93 |
+ x11-libs/libxcvt |
94 |
+ x11-libs/libxkbfile |
95 |
+ x11-misc/util-macros |
96 |
+ opengl? ( media-libs/mesa ) |
97 |
+ )" |
98 |
+ |
99 |
+BDEPEND=" |
100 |
+ virtual/pkgconfig |
101 |
+ nls? ( sys-devel/gettext ) |
102 |
+ " |
103 |
+ |
104 |
+PATCHES=( |
105 |
+ # Restore Java viewer |
106 |
+ "${FILESDIR}"/${PN}-1.11.0-install-java-viewer.patch |
107 |
+ "${FILESDIR}"/${PN}-1.12.0-xsession-path.patch |
108 |
+) |
109 |
+ |
110 |
+src_prepare() { |
111 |
+ if use server; then |
112 |
+ cp -r "${WORKDIR}"/xorg-server-${XSERVER_VERSION}/. unix/xserver || die |
113 |
+ eapply "${FILESDIR}"/${P}-xorg-1.21.patch |
114 |
+ eapply "${DISTDIR}"/${P}-xserver-21.patch |
115 |
+ fi |
116 |
+ |
117 |
+ cmake_src_prepare |
118 |
+ |
119 |
+ if use server; then |
120 |
+ cd unix/xserver || die |
121 |
+ eapply ../xserver${XSERVER_VERSION}.patch |
122 |
+ eautoreconf |
123 |
+ sed -i 's:\(present.h\):../present/\1:' os/utils.c || die |
124 |
+ sed -i '/strcmp.*-fakescreenfps/,/^ \}/d' os/utils.c || die |
125 |
+ fi |
126 |
+} |
127 |
+ |
128 |
+src_configure() { |
129 |
+ if use arm || use hppa; then |
130 |
+ append-flags "-fPIC" |
131 |
+ fi |
132 |
+ |
133 |
+ local mycmakeargs=( |
134 |
+ -DENABLE_GNUTLS=$(usex gnutls) |
135 |
+ -DENABLE_NLS=$(usex nls) |
136 |
+ -DBUILD_JAVA=$(usex java) |
137 |
+ ) |
138 |
+ |
139 |
+ cmake_src_configure |
140 |
+ |
141 |
+ if use server; then |
142 |
+ cd unix/xserver || die |
143 |
+ econf \ |
144 |
+ $(use_enable opengl glx) \ |
145 |
+ $(use_enable drm libdrm) \ |
146 |
+ --disable-config-hal \ |
147 |
+ --disable-config-udev \ |
148 |
+ --disable-devel-docs \ |
149 |
+ --disable-dri \ |
150 |
+ $(use_enable dri3) \ |
151 |
+ --disable-glamor \ |
152 |
+ --disable-kdrive \ |
153 |
+ --disable-libunwind \ |
154 |
+ --disable-linux-acpi \ |
155 |
+ --disable-record \ |
156 |
+ --disable-selective-werror \ |
157 |
+ --disable-static \ |
158 |
+ --disable-unit-tests \ |
159 |
+ --disable-xephyr \ |
160 |
+ $(use_enable xinerama) \ |
161 |
+ --disable-xnest \ |
162 |
+ --disable-xorg \ |
163 |
+ --disable-xvfb \ |
164 |
+ --disable-xwin \ |
165 |
+ --enable-dri2 \ |
166 |
+ --with-pic \ |
167 |
+ --without-dtrace \ |
168 |
+ --disable-present \ |
169 |
+ --with-sha1=libcrypto |
170 |
+ fi |
171 |
+} |
172 |
+ |
173 |
+src_compile() { |
174 |
+ cmake_src_compile |
175 |
+ |
176 |
+ if use server; then |
177 |
+ # deps of the vnc module and the module itself |
178 |
+ local d subdirs=( |
179 |
+ fb xfixes Xext dbe $(usex opengl glx "") $(usev dri3) randr render |
180 |
+ damageext miext Xi xkb composite dix mi os hw/vnc |
181 |
+ ) |
182 |
+ for d in "${subdirs[@]}"; do |
183 |
+ emake -C unix/xserver/"${d}" |
184 |
+ done |
185 |
+ fi |
186 |
+} |
187 |
+ |
188 |
+src_install() { |
189 |
+ cmake_src_install |
190 |
+ |
191 |
+ if use server; then |
192 |
+ emake -C unix/xserver/hw/vnc DESTDIR="${D}" install |
193 |
+ if ! use xorgmodule; then |
194 |
+ rm -rv "${ED}"/usr/$(get_libdir)/xorg || die |
195 |
+ else |
196 |
+ rm -v "${ED}"/usr/$(get_libdir)/xorg/modules/extensions/libvnc.la || die |
197 |
+ fi |
198 |
+ |
199 |
+ newconfd "${FILESDIR}"/${PN}-${PV}.confd ${PN} |
200 |
+ newinitd "${FILESDIR}"/${PN}-${PV}.initd ${PN} |
201 |
+ |
202 |
+ systemd_douserunit unix/vncserver/vncserver@.service |
203 |
+ |
204 |
+ # comment out pam_selinux.so, the server does not start if missing |
205 |
+ # part of bug #746227 |
206 |
+ sed -i -e '/pam_selinux/s/^/#/' "${ED}"/etc/pam.d/tigervnc || die |
207 |
+ |
208 |
+ # install vncserver to /usr/bin too, see bug #836620 |
209 |
+ dosym -r /usr/libexec/vncserver /usr/bin/vncserver |
210 |
+ else |
211 |
+ local f |
212 |
+ for f in x0vncserver vncconfig; do |
213 |
+ rm "${ED}"/usr/bin/${f} || die |
214 |
+ rm "${ED}"/usr/share/man/man1/${f}.1 || die |
215 |
+ done |
216 |
+ rm -r "${ED}"/usr/{sbin,libexec} || die |
217 |
+ rm -r "${ED}"/usr/share/man/man8 || die |
218 |
+ rm -r "${ED}"/etc || die |
219 |
+ fi |
220 |
+} |
221 |
+ |
222 |
+pkg_postinst() { |
223 |
+ xdg_pkg_postinst |
224 |
+ |
225 |
+ local OPTIONAL_DM="gnome-base/gdm x11-misc/lightdm x11-misc/sddm x11-misc/slim" |
226 |
+ use server && \ |
227 |
+ optfeature_header "Install any additional display manager package:" && \ |
228 |
+ optfeature "proper session support" ${OPTIONAL_DM} |
229 |
+} |