Group :: Desenvolvimento/Outros
RPM: jogl2
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
%add_findreq_skiplist %_libdir/jogl2/libnativewindow_awt.so
Group: Development/Other
# BEGIN SourceDeps(oneline):
BuildRequires(pre): rpm-macros-java
BuildRequires: gcc-c++ rpm-build-java
# END SourceDeps(oneline)
BuildRequires: /proc
BuildRequires: jpackage-default
BuildRequires: java-1.8.0-openjdk-devel
# see https://bugzilla.altlinux.org/show_bug.cgi?id=10382
%define _localstatedir %{_var}
Name: jogl2
Version: 2.3.2
Release: alt8_9jpp8
%global src_name jogl-v%{version}
Summary: Java bindings for the OpenGL API
# For a breakdown of the licensing, see LICENSE.txt
License: BSD and MIT and Apache-2.0 and Apache-1.1
URL: http://jogamp.org/
Source0: http://jogamp.org/deployment/v%{version}/archive/Sources/%{src_name}.tar.xz
Source1: %{name}-pom.xml
Patch2: %{name}-0002-deactivate-debug-printf.patch
Patch3: %{name}-0003-delete-not-supported-API.patch
Patch4: %{name}-0004-disable-some-tests.patch
Patch5: %{name}-add-secarchs.patch
Patch6: %{name}-mesa-profile-detection.patch
Patch7: jogl2-disable-build-native-broadcom.patch
BuildRequires: gcc
BuildRequires: jpackage-utils
BuildRequires: gluegen2-devel = %{version}
BuildRequires: eclipse-swt
BuildRequires: libXt-devel
BuildRequires: libXrender-devel
BuildRequires: libXxf86vm-devel
BuildRequires: libXrandr-devel
BuildRequires: libXcursor-devel
BuildRequires: maven-local
Requires: jpackage-utils
Requires: gluegen2 = %{version}
Source44: import.info
%description
The JOGL project hosts the development version of the Java Binding for
the OpenGL API (JSR-231), and is designed to provide hardware-supported 3D
graphics to applications written in Java. JOGL provides full access to the
APIs in the OpenGL 2.0 specification as well as nearly all vendor extensions,
and integrates with the AWT and Swing widget sets. It is part of a suite of
open-source technologies initiated by the Game Technology Group at
Sun Microsystems.
%package doc
Group: Development/Java
Summary: User manual for jogl2
BuildArch: noarch
%description doc
User manual for jogl2.
%prep
%setup -n %{src_name}
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p2
# Remove bundled dependencies
find -name "*.jar" -type f -exec rm {} \;
find -name "*.apk" -type f -exec rm {} \;
rm -fr make/lib
# Restore the gluegen2 source code from gluegen2-devel
rm -fr ../gluegen
cp -rdf %{_datadir}/gluegen2 ../gluegen
# Fix file-not-utf8
for file in README.txt; do
iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \
touch -r $file $file.new && \
mv $file.new $file
done
# git executable should not be used, use true (to avoid checkout) instead
sed -i 's/executable="git"/executable="true"/' make/build-common.xml
# install in _javadir
%mvn_file org.jogamp.jogl:jogl %{name}
%mvn_alias org.jogamp.jogl:jogl "org.jogamp.jogl:jogl-all"
%build
# zerg's girar armh hack:
(while true; do date; sleep 7m; done) &
# end armh hack, kill it when girar will be fixed
cd make
# As we never cross-compile this package, the SDK root is always /
export TARGET_PLATFORM_ROOT=/
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
xargs -t ant <<EOF
-verbose
-Dc.compiler.debug=true
-Djavacdebug=true
-Djavac.memorymax=512m
-Dcommon.gluegen.build.done=true
-Dantlr.jar=%{_javadir}/antlr.jar
-Djunit.jar=%{_javadir}/junit.jar
-Dant.jar=%{_javadir}/ant.jar
-Dant-junit.jar=%{_javadir}/ant/ant-junit.jar
-Dgluegen.jar=%{_javadir}/gluegen2.jar
-Dgluegen-rt.jar=%{_jnidir}/gluegen2-rt.jar
-Dswt.jar=%{_jnidir}/swt.jar
-Djava.excludes.all='com/jogamp/newt/util/applet*/**/*.java com/jogamp/audio/**/*.java jogamp/opengl/gl2/fixme/**/*.java com/jogamp/opengl/test/**/*.java'
-Djavadoc.link=%{_javadocdir}/java
-Dgluegen.link=%{_javadocdir}/gluegen2
build.nativewindow build.jogl build.newt one.dir javadoc.public
EOF
cd ..
export JAVA_HOME=/usr/lib/jvm/java
%mvn_artifact %{SOURCE1} build/jar/jogl-all.jar
%install
%mvn_install
mkdir -p %{buildroot}%{_javadir}/%{name} \
%{buildroot}%{_libdir}/%{name} \
%{buildroot}%{_javadir}
ln -s ../../..%{_jnidir}/%{name}.jar %{buildroot}%{_libdir}/%{name}/
install -t %{buildroot}%{_libdir}/%{name}/ build/lib/*.so
# Make the doc package
mkdir -p %{buildroot}%{_docdir}/%{name}
cp -rdf doc/* %{buildroot}%{_docdir}/%{name}
cp -t %{buildroot}%{_docdir}/%{name}/ README.txt LICENSE.txt CHANGELOG.txt
%files -f .mfiles
%doc README.txt LICENSE.txt CHANGELOG.txt
%{_libdir}/%{name}
%files doc
%{_docdir}/%{name}
%changelog
…
Todas as alterações você pod ver aqui
Group: Development/Other
# BEGIN SourceDeps(oneline):
BuildRequires(pre): rpm-macros-java
BuildRequires: gcc-c++ rpm-build-java
# END SourceDeps(oneline)
BuildRequires: /proc
BuildRequires: jpackage-default
BuildRequires: java-1.8.0-openjdk-devel
# see https://bugzilla.altlinux.org/show_bug.cgi?id=10382
%define _localstatedir %{_var}
Name: jogl2
Version: 2.3.2
Release: alt8_9jpp8
%global src_name jogl-v%{version}
Summary: Java bindings for the OpenGL API
# For a breakdown of the licensing, see LICENSE.txt
License: BSD and MIT and Apache-2.0 and Apache-1.1
URL: http://jogamp.org/
Source0: http://jogamp.org/deployment/v%{version}/archive/Sources/%{src_name}.tar.xz
Source1: %{name}-pom.xml
Patch2: %{name}-0002-deactivate-debug-printf.patch
Patch3: %{name}-0003-delete-not-supported-API.patch
Patch4: %{name}-0004-disable-some-tests.patch
Patch5: %{name}-add-secarchs.patch
Patch6: %{name}-mesa-profile-detection.patch
Patch7: jogl2-disable-build-native-broadcom.patch
BuildRequires: gcc
BuildRequires: jpackage-utils
BuildRequires: gluegen2-devel = %{version}
BuildRequires: eclipse-swt
BuildRequires: libXt-devel
BuildRequires: libXrender-devel
BuildRequires: libXxf86vm-devel
BuildRequires: libXrandr-devel
BuildRequires: libXcursor-devel
BuildRequires: maven-local
Requires: jpackage-utils
Requires: gluegen2 = %{version}
Source44: import.info
%description
The JOGL project hosts the development version of the Java Binding for
the OpenGL API (JSR-231), and is designed to provide hardware-supported 3D
graphics to applications written in Java. JOGL provides full access to the
APIs in the OpenGL 2.0 specification as well as nearly all vendor extensions,
and integrates with the AWT and Swing widget sets. It is part of a suite of
open-source technologies initiated by the Game Technology Group at
Sun Microsystems.
%package doc
Group: Development/Java
Summary: User manual for jogl2
BuildArch: noarch
%description doc
User manual for jogl2.
%prep
%setup -n %{src_name}
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p2
# Remove bundled dependencies
find -name "*.jar" -type f -exec rm {} \;
find -name "*.apk" -type f -exec rm {} \;
rm -fr make/lib
# Restore the gluegen2 source code from gluegen2-devel
rm -fr ../gluegen
cp -rdf %{_datadir}/gluegen2 ../gluegen
# Fix file-not-utf8
for file in README.txt; do
iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \
touch -r $file $file.new && \
mv $file.new $file
done
# git executable should not be used, use true (to avoid checkout) instead
sed -i 's/executable="git"/executable="true"/' make/build-common.xml
# install in _javadir
%mvn_file org.jogamp.jogl:jogl %{name}
%mvn_alias org.jogamp.jogl:jogl "org.jogamp.jogl:jogl-all"
%build
# zerg's girar armh hack:
(while true; do date; sleep 7m; done) &
# end armh hack, kill it when girar will be fixed
cd make
# As we never cross-compile this package, the SDK root is always /
export TARGET_PLATFORM_ROOT=/
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
xargs -t ant <<EOF
-verbose
-Dc.compiler.debug=true
-Djavacdebug=true
-Djavac.memorymax=512m
-Dcommon.gluegen.build.done=true
-Dantlr.jar=%{_javadir}/antlr.jar
-Djunit.jar=%{_javadir}/junit.jar
-Dant.jar=%{_javadir}/ant.jar
-Dant-junit.jar=%{_javadir}/ant/ant-junit.jar
-Dgluegen.jar=%{_javadir}/gluegen2.jar
-Dgluegen-rt.jar=%{_jnidir}/gluegen2-rt.jar
-Dswt.jar=%{_jnidir}/swt.jar
-Djava.excludes.all='com/jogamp/newt/util/applet*/**/*.java com/jogamp/audio/**/*.java jogamp/opengl/gl2/fixme/**/*.java com/jogamp/opengl/test/**/*.java'
-Djavadoc.link=%{_javadocdir}/java
-Dgluegen.link=%{_javadocdir}/gluegen2
build.nativewindow build.jogl build.newt one.dir javadoc.public
EOF
cd ..
export JAVA_HOME=/usr/lib/jvm/java
%mvn_artifact %{SOURCE1} build/jar/jogl-all.jar
%install
%mvn_install
mkdir -p %{buildroot}%{_javadir}/%{name} \
%{buildroot}%{_libdir}/%{name} \
%{buildroot}%{_javadir}
ln -s ../../..%{_jnidir}/%{name}.jar %{buildroot}%{_libdir}/%{name}/
install -t %{buildroot}%{_libdir}/%{name}/ build/lib/*.so
# Make the doc package
mkdir -p %{buildroot}%{_docdir}/%{name}
cp -rdf doc/* %{buildroot}%{_docdir}/%{name}
cp -t %{buildroot}%{_docdir}/%{name}/ README.txt LICENSE.txt CHANGELOG.txt
%files -f .mfiles
%doc README.txt LICENSE.txt CHANGELOG.txt
%{_libdir}/%{name}
%files doc
%{_docdir}/%{name}
%changelog
…
Todas as alterações você pod ver aqui