1 |
Name: java-1.8.0-openjfx |
2 |
Version: 1.8.0.121 |
3 |
Release: %mkrel 1.b13.1 |
4 |
Summary: OpenJFX runtime libraries and documentation |
5 |
Group: Development/Java |
6 |
License: GPLv2 with exceptions |
7 |
URL: https://wiki.openjdk.java.net/dashboard.action |
8 |
|
9 |
Epoch: 1 |
10 |
|
11 |
%global openjfx_version 8u121-b13 |
12 |
%global openjdk8_short_version 1.8.0.121-%mkrel 1.b14.1 |
13 |
# hg clone http://hg.openjdk.java.net/openjfx/8u-dev/rt %{name}-%{version} -r %{openjfx_version} |
14 |
# tar --exclude ".hg*" -cJf %{name}-%{version}.tar.xz %{name}-%{version} |
15 |
Source0: %{name}-%{version}.tar.xz |
16 |
Source1: http://services.gradle.org/distributions/gradle-1.8-bin.zip |
17 |
Patch0: %{name}-1.8.0.72-mga-correct-copy-file.patch |
18 |
Patch1: %{name}-1.8.0.101-set-antlr-timeout.patch |
19 |
Patch2: %{name}-1.8.0.101-disable-architecture-verification.patch |
20 |
Patch3: %{name}-1.8.0.101-disable-assembler-on-unsupported-archs.patch |
21 |
Patch4: %{name}-1.8.0.101-disable-sse2-for-arm.patch |
22 |
Patch6: %{name}-1.8.0.121-fix-arm64-build.patch |
23 |
Patch7: %{name}-1.8.0.121-fix-arm32-build.patch |
24 |
Patch8: %{name}-1.8.0.102-build-flags.patch |
25 |
Patch9: %{name}-1.8.0.121-use-system-libs-for-sqlite-and-icu.patch |
26 |
Patch10: %{name}-1.8.0.102-use-system-jars.patch |
27 |
|
28 |
BuildRequires: java-1.8.0-openjdk-devel |
29 |
BuildRequires: bison |
30 |
BuildRequires: flex |
31 |
BuildRequires: gperf |
32 |
BuildRequires: pkgconfig |
33 |
BuildRequires: pkgconfig(libpng12) |
34 |
BuildRequires: libjpeg-devel |
35 |
BuildRequires: libxml2-devel |
36 |
BuildRequires: libxslt-devel |
37 |
BuildRequires: systemd-devel |
38 |
BuildRequires: glib2-devel |
39 |
BuildRequires: gtk2-devel |
40 |
BuildRequires: pkgconfig(xtst) |
41 |
BuildRequires: pango-devel |
42 |
BuildRequires: freetype-devel |
43 |
BuildRequires: alsa-lib-devel |
44 |
BuildRequires: qt4-devel |
45 |
BuildRequires: pkgconfig(gstreamer-0.10) |
46 |
BuildRequires: ffmpeg-devel |
47 |
BuildRequires: perl |
48 |
BuildRequires: perl-version |
49 |
BuildRequires: perl-Digest |
50 |
BuildRequires: perl-Digest-MD5 |
51 |
BuildRequires: coreutils |
52 |
BuildRequires: xz |
53 |
BuildRequires: binutils |
54 |
BuildRequires: libstdc++-static-devel |
55 |
BuildRequires: ruby |
56 |
BuildRequires: pkgconfig(sqlite3) |
57 |
BuildRequires: icu-devel |
58 |
BuildRequires: antlr |
59 |
BuildRequires: hamcrest |
60 |
BuildRequires: junit |
61 |
BuildRequires: antlr3 |
62 |
BuildRequires: stringtemplate |
63 |
BuildRequires: eclipse-swt |
64 |
BuildRequires: cmake |
65 |
Requires: java-1.8.0-openjdk = %{epoch}:%{openjdk8_short_version} |
66 |
|
67 |
%description |
68 |
OpenJFX is an open source, next generation client application platform for |
69 |
desktop and embedded systems based on JavaSE. It is a collaborative effort |
70 |
by many individuals and companies with the goal of producing a modern, |
71 |
efficient, and fully featured toolkit for developing rich client applications. |
72 |
This is the open source project where we develop JavaFX. |
73 |
|
74 |
%global openjdk8_version java-1.8.0-openjdk-%{openjdk8_short_version}.%{_arch} |
75 |
%global openjdk8_install_dir %{buildroot}/usr/lib/jvm/%{openjdk8_version} |
76 |
%global openjfx_srcdir %{_builddir}/%{name}-%{version} |
77 |
|
78 |
# There is no need for a debug package (for now) |
79 |
%global debug_package %{nil} |
80 |
|
81 |
%ifarch %{ix86} |
82 |
%global archinstall i386 |
83 |
%endif |
84 |
%ifarch x86_64 |
85 |
%global archinstall amd64 |
86 |
%endif |
87 |
%ifarch %{arm} |
88 |
%global archinstall arm |
89 |
%endif |
90 |
|
91 |
%prep |
92 |
rpm -q %{name} && echo "You need to uninstall the previously built openjfx package before proceeding (this sounds stupid, but it actually makes sense!)" && exit 1 |
93 |
%setup -T -q -n gradle-1.8 -b 1 |
94 |
%setup -q |
95 |
|
96 |
%define gradle_properties %{openjfx_srcdir}/gradle.properties |
97 |
echo "COMPILE_WEBKIT = true" >> %{gradle_properties} |
98 |
echo "COMPILE_MEDIA = true" >> %{gradle_properties} |
99 |
echo "BUILD_JAVADOC = true" >> %{gradle_properties} |
100 |
echo "BUILD_SRC_ZIP = true" >> %{gradle_properties} |
101 |
|
102 |
%patch0 -p1 |
103 |
%patch1 -p1 |
104 |
%patch2 -p1 |
105 |
%patch3 -p1 |
106 |
%ifarch %{arm} |
107 |
%patch4 -p1 |
108 |
%endif |
109 |
%patch6 -p1 |
110 |
%patch7 -p1 |
111 |
%patch8 -p1 |
112 |
%patch9 -p1 |
113 |
%patch10 -p1 |
114 |
|
115 |
%build |
116 |
# Copy the ICU and sqlite libraries required by JavaScriptCore |
117 |
mkdir -p modules/web/build/linux/import/lib/ |
118 |
cp %{_libdir}/libicui18n.so modules/web/build/linux/import/lib/libicui18n.a |
119 |
cp %{_libdir}/libicuuc.so modules/web/build/linux/import/lib/libicuuc.a |
120 |
cp %{_libdir}/libicudata.so modules/web/build/linux/import/lib/libicudata.a |
121 |
cp %{_libdir}/libsqlite3.so modules/web/build/linux/import/lib/libsqlite3.a |
122 |
|
123 |
%{_builddir}/gradle-1.8/bin/gradle |
124 |
|
125 |
chmod a-x build/javadoc/javafx/scene/layout/doc-files/borderpane.png |
126 |
chmod a-x build/javadoc/javafx/scene/paint/doc-files/ImagePattern.png |
127 |
chmod a-x build/javadoc/javafx/scene/media/doc-files/mediaplayerstatus.png |
128 |
|
129 |
%install |
130 |
%global sdkdir build/sdk |
131 |
mkdir -p build/sdk |
132 |
chmod -R +x %{sdkdir} |
133 |
mkdir -p %{openjdk8_install_dir}/{lib,bin,jre/lib/ext} |
134 |
mkdir -p %{buildroot}/%{_mandir}/man1 |
135 |
mkdir -p %{openjdk8_install_dir}/jre/lib/%{archinstall} |
136 |
|
137 |
# JDK libraries |
138 |
install -m644 %{sdkdir}/lib/* %{openjdk8_install_dir}/lib/ |
139 |
install -m755 %{sdkdir}/bin/* %{openjdk8_install_dir}/bin/ |
140 |
install -m644 %{sdkdir}/man/man1/* %{buildroot}/%{_mandir}/man1/ |
141 |
|
142 |
# JRE libraries |
143 |
install -m644 %{sdkdir}/rt/lib/*.* %{openjdk8_install_dir}/jre/lib/ |
144 |
install -m644 %{sdkdir}/rt/lib/ext/* %{openjdk8_install_dir}/jre/lib/ext/ |
145 |
install -m755 %{sdkdir}/rt/lib/%{archinstall}/* %{openjdk8_install_dir}/jre/lib/%{archinstall}/ |
146 |
|
147 |
xz %{buildroot}/%{_mandir}/man1/* |
148 |
|
149 |
strip %{openjdk8_install_dir}/jre/lib/%{archinstall}/*.so |
150 |
|
151 |
%files |
152 |
%doc build/javadoc |
153 |
/usr/lib/jvm/%{openjdk8_version}/lib/* |
154 |
/usr/lib/jvm/%{openjdk8_version}/bin/* |
155 |
%{_mandir}/man1/* |
156 |
/usr/lib/jvm/%{openjdk8_version}/jre/lib/* |