209 lines
6.0 KiB
RPMSpec
209 lines
6.0 KiB
RPMSpec
%define javahome /usr/lib/jvm/jdk-openjdk
|
|
%define javadoc_bin %{javahome}/bin/javadoc
|
|
%define majver %(echo %version | cut -d. -f 1-2)
|
|
Name: java-proguard
|
|
Version: 4.5.1
|
|
Release: 1mamba
|
|
Summary: ProGuard Java Optimizer and Obfuscator
|
|
Group: Development/Libraries/Java
|
|
Vendor: openmamba
|
|
Distribution: openmamba
|
|
Packager: gil <puntogil@libero.it>
|
|
URL: http://proguard.sourceforge.net/
|
|
Source0: http://downloads.sourceforge.net/project/proguard/proguard/%{majver}/proguard%{version}.tar.gz
|
|
Source1: proguard.png
|
|
Source2: proguardgui.png
|
|
Source3: retrace.png
|
|
Source4: proguard-script
|
|
Source5: proguard-gui-script
|
|
Source6: proguard-retrace-script
|
|
Patch0: java-proguard-4.3-nowtkplugin.patch
|
|
Patch1: java-proguard-4.3-homedir.patch
|
|
License: GPL
|
|
BuildRequires: apache-ant
|
|
BuildRequires: desktop-file-utils
|
|
BuildRequires: ImageMagick
|
|
BuildRequires: jpackage-utils
|
|
BuildRequires: java-openjdk
|
|
Requires: jpackage-utils
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
|
|
%description
|
|
ProGuard is a free Java class file shrinker, optimizer, and obfuscator. It removes unused
|
|
classes, fields, methods, and attributes. It then optimizes the bytecode. It then renames
|
|
the remaining classes, fields, and methods using short meaningless names.
|
|
|
|
%package gui
|
|
Group: Development/Tools
|
|
Summary: GUI for ProGuard
|
|
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
|
Requires: jpackage-utils
|
|
|
|
%description gui
|
|
ProGuard, Java class file shrinker, optimizer, obfuscator, and preverifier.
|
|
|
|
This package contains a GUI for ProGuard.
|
|
|
|
%package javadoc
|
|
Group: Documentation
|
|
Summary: Javadoc for %{name}
|
|
|
|
%description javadoc
|
|
ProGuard, Java class file shrinker, optimizer, obfuscator, and preverifier.
|
|
|
|
This package contains javadoc for %{name}.
|
|
|
|
%package manual
|
|
Group: Documentation
|
|
Summary: Manual for %{name}
|
|
|
|
%description manual
|
|
ProGuard, Java class file shrinker, optimizer, obfuscator, and preverifier.
|
|
|
|
This package contains documentation for %{name}.
|
|
|
|
%prep
|
|
|
|
%setup -q -n proguard%{version}
|
|
|
|
for j in $(find . -name "*.jar"); do
|
|
rm -rf $j
|
|
done
|
|
|
|
for c in $(find . -name "*.class"); do
|
|
rm -rf $c
|
|
done
|
|
|
|
sed -i '/class-path/I d' src/proguard/gui/MANIFEST.MF
|
|
sed -i '/class-path/I d' src/proguard/retrace/MANIFEST.MF
|
|
|
|
%build
|
|
pushd build
|
|
unset JAVA_HOME
|
|
export JAVA_HOME=%{javahome}
|
|
export ANT_HOME=%{_datadir}/ant
|
|
ant -Dant.jar=%{_javadir}/ant.jar basic anttask
|
|
|
|
# target all require Sun Java Wireless Toolkit
|
|
popd
|
|
|
|
%{javadoc_bin} -d apidocs \
|
|
-source 1.5 \
|
|
-classpath classes \
|
|
-encoding iso-8859-1 \
|
|
$(find src -name '*.java')
|
|
|
|
%install
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
|
|
mkdir -p %{buildroot}%{_javadir}/proguard
|
|
|
|
install -p -m 644 lib/proguard.jar \
|
|
%{buildroot}%{_javadir}/proguard/proguard-%{version}.jar
|
|
install -p -m 644 lib/proguardgui.jar \
|
|
%{buildroot}%{_javadir}/proguard/proguardgui-%{version}.jar
|
|
install -p -m 644 lib/retrace.jar \
|
|
%{buildroot}%{_javadir}/proguard/retrace-%{version}.jar
|
|
|
|
(
|
|
cd %{buildroot}%{_javadir}/proguard
|
|
for jar in *-%{version}*; do
|
|
ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`
|
|
done
|
|
)
|
|
|
|
mkdir -p %{buildroot}%{_bindir}
|
|
install -m 755 %{SOURCE4} %{buildroot}%{_bindir}/proguard
|
|
install -m 755 %{SOURCE5} %{buildroot}%{_bindir}/proguard-gui
|
|
install -m 755 %{SOURCE6} %{buildroot}%{_bindir}/retrace
|
|
|
|
mkdir -p %{buildroot}%{_javadocdir}/proguard-%{version}
|
|
cp -pr apidocs/* %{buildroot}%{_javadocdir}/proguard-%{version}
|
|
ln -sf proguard-%{version} %{buildroot}%{_javadocdir}/proguard
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/applications
|
|
|
|
cat > proguard-gui.desktop << _GIL
|
|
[Desktop Entry]
|
|
Name=ProGuard
|
|
Comment=Java class file shrinker, optimizer, obfuscator and preverifier
|
|
Exec=proguard-gui
|
|
Terminal=false
|
|
Type=Application
|
|
Icon=proguard
|
|
Categories=Development;Java;
|
|
_GIL
|
|
|
|
desktop-file-install --mode=644 --dir=%{buildroot}%{_datadir}/applications proguard-gui.desktop
|
|
|
|
convert docs/favicon.ico proguard.png
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
|
|
install -pm 644 proguard-0.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/proguard.png
|
|
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps
|
|
install -pm 644 proguard-1.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/proguard.png
|
|
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/16x16/apps
|
|
install -pm 644 proguard-2.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/proguard.png
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/pixmaps
|
|
|
|
ln -sf ../icons/hicolor/32x32/apps/proguard.png \
|
|
%{buildroot}%{_datadir}/pixmaps/proguard.png
|
|
|
|
%clean
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_bindir}/proguard
|
|
%{_bindir}/retrace
|
|
%dir %{_javadir}/proguard
|
|
%{_javadir}/proguard/proguard-%{version}.jar
|
|
%{_javadir}/proguard/proguard.jar
|
|
%{_javadir}/proguard/retrace-%{version}.jar
|
|
%{_javadir}/proguard/retrace.jar
|
|
%doc README docs/license.html
|
|
|
|
%post gui
|
|
touch --no-create %{_datadir}/icons/hicolor
|
|
if [ -x /usr/bin/gtk-update-icon-cache ]; then
|
|
gtk-update-icon-cache -q %{_datadir}/icons/hicolor
|
|
fi
|
|
|
|
%postun gui
|
|
touch --no-create %{_datadir}/icons/hicolor
|
|
if [ -x /usr/bin/gtk-update-icon-cache ]; then
|
|
gtk-update-icon-cache -q %{_datadir}/icons/hicolor
|
|
fi
|
|
|
|
%files gui
|
|
%defattr(-,root,root)
|
|
%{_bindir}/proguard-gui
|
|
%{_javadir}/proguard/proguardgui-%{version}.jar
|
|
%{_javadir}/proguard/proguardgui.jar
|
|
%{_datadir}/applications/proguard-gui.desktop
|
|
%{_datadir}/icons/hicolor/*x*/apps/proguard.png
|
|
%{_datadir}/pixmaps/proguard.png
|
|
|
|
%files javadoc
|
|
%defattr(-,root,root)
|
|
%{_javadocdir}/proguard-%{version}
|
|
%{_javadocdir}/proguard
|
|
|
|
%files manual
|
|
%defattr(-,root,root)
|
|
%doc docs examples
|
|
|
|
%changelog
|
|
* Mon Jan 17 2011 gil <puntogil@libero.it> 4.5.1-1mamba
|
|
- update to 4.5.1
|
|
|
|
* Wed Jun 02 2010 gil <puntogil@libero.it> 4.4-2mamba
|
|
- rebuilt with sun-java 6u20
|
|
|
|
* Wed Dec 16 2009 gil <puntogil@libero.it> 4.4-1mamba
|
|
- update to 4.4
|
|
|
|
* Wed Apr 15 2009 gil <puntogil@libero.it> 4.3-1mamba
|
|
- package created by autospec
|