1 |
Name: java-1.8.0-openjfx |
2 |
Version: 1.8.0.102 |
3 |
Release: %mkrel 1.b14.3 |
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 8u102-b14 |
12 |
%global openjdk8_short_version 1.8.0.102-%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 |
Patch5: %{name}-1.8.0.101-generic-qmake-spec.patch |
23 |
Patch6: %{name}-1.8.0.101-fix-arm64-build.patch |
24 |
Patch7: %{name}-1.8.0.101-fix-arm32-build.patch |
25 |
Patch8: %{name}-1.8.0.102-build-flags.patch |
26 |
Patch9: %{name}-1.8.0.102-use-system-libs-for-sqlite-and-icu.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 |
Requires: java-1.8.0-openjdk = %{epoch}:%{openjdk8_short_version} |
59 |
|
60 |
%description |
61 |
OpenJFX is an open source, next generation client application platform for |
62 |
desktop and embedded systems based on JavaSE. It is a collaborative effort |
63 |
by many individuals and companies with the goal of producing a modern, |
64 |
efficient, and fully featured toolkit for developing rich client applications. |
65 |
This is the open source project where we develop JavaFX. |
66 |
|
67 |
%global openjdk8_version java-1.8.0-openjdk-%{openjdk8_short_version}.%{_arch} |
68 |
%global openjdk8_install_dir %{buildroot}/usr/lib/jvm/%{openjdk8_version} |
69 |
%global openjfx_srcdir %{_builddir}/%{name}-%{version} |
70 |
|
71 |
# There is no need for a debug package (for now) |
72 |
%global debug_package %{nil} |
73 |
|
74 |
%ifarch %{ix86} |
75 |
%global archinstall i386 |
76 |
%endif |
77 |
%ifarch x86_64 |
78 |
%global archinstall amd64 |
79 |
%endif |
80 |
%ifarch %{arm} |
81 |
%global archinstall arm |
82 |
%endif |
83 |
|
84 |
%prep |
85 |
rpm -q %{name} && echo "You need to uninstall the previously built openjfx package before proceeding (this sounds stupid, but it actually makes sense!)" |
86 |
chmod -R +x %{_builddir} |
87 |
%setup -T -q -n gradle-1.8 -b 1 |
88 |
%setup -q |
89 |
|
90 |
%define gradle_properties %{openjfx_srcdir}/gradle.properties |
91 |
echo "COMPILE_WEBKIT = true" >> %{gradle_properties} |
92 |
echo "COMPILE_MEDIA = true" >> %{gradle_properties} |
93 |
echo "BUILD_JAVADOC = true" >> %{gradle_properties} |
94 |
echo "BUILD_SRC_ZIP = true" >> %{gradle_properties} |
95 |
|
96 |
%patch0 -p1 |
97 |
%patch1 -p1 |
98 |
%patch2 -p1 |
99 |
%patch3 -p1 |
100 |
%ifarch %{arm} |
101 |
%patch4 -p1 |
102 |
%endif |
103 |
%patch5 -p1 |
104 |
%patch6 -p1 |
105 |
%patch7 -p1 |
106 |
%patch8 -p1 |
107 |
%patch9 -p1 |
108 |
|
109 |
%build |
110 |
%define qmake_symlink %{_builddir}/bin/qmake |
111 |
mkdir -p %{_builddir}/bin |
112 |
[[ -f %{qmake_symlink} ]] || ln -s /usr/lib64/qt4/bin/qmake %{qmake_symlink} |
113 |
PATH=%{_builddir}/bin:$PATH %{_builddir}/gradle-1.8/bin/gradle |
114 |
|
115 |
chmod a-x build/javadoc/javafx/scene/layout/doc-files/borderpane.png |
116 |
chmod a-x build/javadoc/javafx/scene/paint/doc-files/ImagePattern.png |
117 |
chmod a-x build/javadoc/javafx/scene/media/doc-files/mediaplayerstatus.png |
118 |
|
119 |
%install |
120 |
%global sdkdir build/sdk |
121 |
mkdir -p build/sdk |
122 |
chmod -R +x %{sdkdir} |
123 |
mkdir -p %{openjdk8_install_dir}/{lib,bin,jre/lib/ext} |
124 |
mkdir -p %{buildroot}/%{_mandir}/man1 |
125 |
mkdir -p %{openjdk8_install_dir}/jre/lib/%{archinstall} |
126 |
|
127 |
# JDK libraries |
128 |
install -m644 %{sdkdir}/lib/* %{openjdk8_install_dir}/lib/ |
129 |
install -m755 %{sdkdir}/bin/* %{openjdk8_install_dir}/bin/ |
130 |
install -m644 %{sdkdir}/man/man1/* %{buildroot}/%{_mandir}/man1/ |
131 |
|
132 |
# JRE libraries |
133 |
install -m644 %{sdkdir}/rt/lib/*.* %{openjdk8_install_dir}/jre/lib/ |
134 |
install -m644 %{sdkdir}/rt/lib/ext/* %{openjdk8_install_dir}/jre/lib/ext/ |
135 |
install -m755 %{sdkdir}/rt/lib/%{archinstall}/* %{openjdk8_install_dir}/jre/lib/%{archinstall}/ |
136 |
|
137 |
xz %{buildroot}/%{_mandir}/man1/* |
138 |
|
139 |
strip %{openjdk8_install_dir}/jre/lib/%{archinstall}/*.so |
140 |
|
141 |
%files |
142 |
%doc build/javadoc |
143 |
/usr/lib/jvm/%{openjdk8_version}/lib/* |
144 |
/usr/lib/jvm/%{openjdk8_version}/bin/* |
145 |
%{_mandir}/man1/* |
146 |
/usr/lib/jvm/%{openjdk8_version}/jre/lib/* |