Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/swt/
Date: Wed, 29 Dec 2021 08:48:38
Message-Id: 1640767711.b5fe26f75dbcba9737d475414acaee2861cf990f.fordfrog@gentoo
1 commit: b5fe26f75dbcba9737d475414acaee2861cf990f
2 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
3 AuthorDate: Tue Dec 28 10:23:15 2021 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 29 08:48:31 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5fe26f7
7
8 dev-java/swt: EAPI 8
9
10 Bug: https://bugs.gentoo.org/593416
11
12 Package-Manager: Portage-3.0.28, Repoman-3.0.3
13 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
14 Closes: https://github.com/gentoo/gentoo/pull/23548
15 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
16
17 dev-java/swt/swt-3.8.2-r4.ebuild | 158 +++++++++++++++++++++++++++++++++++++++
18 1 file changed, 158 insertions(+)
19
20 diff --git a/dev-java/swt/swt-3.8.2-r4.ebuild b/dev-java/swt/swt-3.8.2-r4.ebuild
21 new file mode 100644
22 index 000000000000..3b53140c037d
23 --- /dev/null
24 +++ b/dev-java/swt/swt-3.8.2-r4.ebuild
25 @@ -0,0 +1,158 @@
26 +# Copyright 1999-2021 Gentoo Authors
27 +# Distributed under the terms of the GNU General Public License v2
28 +
29 +EAPI=8
30 +
31 +inherit java-pkg-2 java-ant-2 toolchain-funcs java-osgi
32 +
33 +MY_PV="${PV/_rc/RC}"
34 +MY_DMF="http://archive.eclipse.org/eclipse/downloads/drops/R-${MY_PV}-201301310800"
35 +MY_P="${PN}-${MY_PV}"
36 +
37 +DESCRIPTION="GTK based SWT Library"
38 +HOMEPAGE="http://www.eclipse.org/"
39 +SRC_URI="
40 + amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip )
41 + ppc? ( ${MY_DMF}/${MY_P}-gtk-linux-x86.zip )
42 + ppc64? ( ${MY_DMF}/${MY_P}-gtk-linux-ppc64.zip )
43 + x86? ( ${MY_DMF}/${MY_P}-gtk-linux-x86.zip )
44 + x86-fbsd? ( ${MY_DMF}/${MY_P}-gtk-linux-x86.zip )"
45 +
46 +LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1"
47 +SLOT="3.8"
48 +KEYWORDS="~amd64 ~ppc64 ~x86"
49 +IUSE="cairo opengl"
50 +
51 +COMMON_DEPEND="
52 + >=dev-libs/atk-1.10.2
53 + >=dev-libs/glib-2.6
54 + >=x11-libs/gtk+-2.6.8:2
55 + x11-libs/libXtst
56 + cairo? ( >=x11-libs/cairo-1.4.14 )
57 + opengl? (
58 + virtual/glu
59 + virtual/opengl
60 + )"
61 +DEPEND="${COMMON_DEPEND}
62 + app-arch/unzip
63 + virtual/jdk:1.8
64 + virtual/pkgconfig
65 + x11-base/xorg-proto
66 + x11-libs/libX11
67 + x11-libs/libXrender
68 + x11-libs/libXt
69 + >=x11-libs/libXtst-1.1.0"
70 +RDEPEND="${COMMON_DEPEND}
71 + >=virtual/jre-1.4"
72 +
73 +S="${WORKDIR}"
74 +
75 +# JNI libraries don't need SONAME, bug #253756
76 +QA_SONAME="usr/lib.*/libswt-.*.so"
77 +
78 +PATCHES=(
79 + "${FILESDIR}"/swt-3.8-as-needed-and-flag-fixes.patch
80 + "${FILESDIR}"/swt-3.8.2-gthread.patch
81 +)
82 +
83 +src_unpack() {
84 + local DISTFILE=${A}
85 + unzip -jq "${DISTDIR}"/${DISTFILE} "*src.zip" || die "Unable to extract distfile"
86 + unpack "./src.zip"
87 +
88 + # Cleanup the redirtied directory structure
89 + rm -rf about_files/ || die
90 +}
91 +
92 +src_prepare() {
93 + default
94 + # Replace the build.xml to allow compilation without Eclipse tasks
95 + cp "${FILESDIR}/build.xml" "${S}/build.xml" || die "Unable to update build.xml"
96 +
97 + mkdir -p "${S}/src"
98 + mv "${S}/org" "${S}/src" || die "Unable to restructure SWT sources"
99 +}
100 +
101 +src_compile() {
102 + # Drop jikes support as it seems to be unfriendly with SWT
103 + java-pkg_filter-compiler jikes
104 +
105 + local AWT_ARCH
106 + local JAWTSO="libjawt.so"
107 + if [[ $(tc-arch) == 'x86' ]] ; then
108 + AWT_ARCH="i386"
109 + elif [[ $(tc-arch) == 'ppc' ]] ; then
110 + AWT_ARCH="ppc"
111 + elif [[ $(tc-arch) == 'ppc64' ]] ; then
112 + AWT_ARCH="ppc64"
113 + else
114 + AWT_ARCH="amd64"
115 + fi
116 + if [[ -f "${JAVA_HOME}/jre/lib/${AWT_ARCH}/${JAWTSO}" ]]; then
117 + export AWT_LIB_PATH="${JAVA_HOME}/jre/lib/${AWT_ARCH}"
118 + elif [[ -f "${JAVA_HOME}/jre/bin/${JAWTSO}" ]]; then
119 + export AWT_LIB_PATH="${JAVA_HOME}/jre/bin"
120 + elif [[ -f "${JAVA_HOME}/$(get_libdir)/${JAWTSO}" ]] ; then
121 + export AWT_LIB_PATH="${JAVA_HOME}/$(get_libdir)"
122 + else
123 + eerror "${JAWTSO} not found in the JDK being used for compilation!"
124 + die "cannot build AWT library"
125 + fi
126 +
127 + # Fix the pointer size for AMD64
128 + [[ ${ARCH} == "amd64" || ${ARCH} == "ppc64" ]] && export SWT_PTR_CFLAGS=-DJNI64
129 +
130 + local platform="linux"
131 +
132 + use elibc_FreeBSD && platform="freebsd"
133 +
134 + local make="emake -f make_${platform}.mak NO_STRIP=y CC=$(tc-getCC) CXX=$(tc-getCXX)"
135 +
136 + einfo "Building AWT library"
137 + ${make} make_awt
138 +
139 + einfo "Building SWT library"
140 + ${make} make_swt
141 +
142 + einfo "Building JAVA-AT-SPI bridge"
143 + ${make} make_atk
144 +
145 + if use cairo ; then
146 + einfo "Building CAIRO support"
147 + ${make} make_cairo
148 + fi
149 +
150 + if use opengl ; then
151 + einfo "Building OpenGL component"
152 + ${make} make_glx
153 + fi
154 +
155 + einfo "Building JNI libraries"
156 + eant compile
157 +
158 + einfo "Copying missing files"
159 + cp -i "${S}/version.txt" "${S}/build/version.txt" || die
160 + cp -i "${S}/src/org/eclipse/swt/internal/SWTMessages.properties" \
161 + "${S}/build/org/eclipse/swt/internal/" || die
162 +
163 + einfo "Packing JNI libraries"
164 + eant jar
165 +}
166 +
167 +src_install() {
168 + swtArch=${ARCH}
169 + use amd64 && swtArch=x86_64
170 + use x86-fbsd && swtArch=x86
171 +
172 + sed "s/SWT_ARCH/${swtArch}/" "${FILESDIR}/${PN}-${SLOT}-manifest" > "MANIFEST_TMP.MF" || die
173 + use cairo || sed -i -e "/ org.eclipse.swt.internal.cairo; x-internal:=true,/d" "MANIFEST_TMP.MF"
174 + sed -i -e "/ org.eclipse.swt.internal.gnome; x-internal:=true,/d" "MANIFEST_TMP.MF"
175 + use opengl || sed -i -e "/ org.eclipse.swt.internal.opengl.glx; x-internal:=true,/d" "MANIFEST_TMP.MF"
176 + sed -i -e "/ org.eclipse.swt.internal.webkit; x-internal:=true,/d" "MANIFEST_TMP.MF"
177 + java-osgi_newjar-fromfile "swt.jar" "MANIFEST_TMP.MF" "Standard Widget Toolkit for GTK 2.0"
178 +
179 + java-pkg_sointo /usr/$(get_libdir)
180 + java-pkg_doso *.so
181 +
182 + dodoc about.html
183 +}