forked from pool/cglib
This commit is contained in:
315
cglib.spec
Normal file
315
cglib.spec
Normal file
@@ -0,0 +1,315 @@
|
||||
#
|
||||
# spec file for package cglib (Version 2.1.3)
|
||||
#
|
||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define _with_repolib 1
|
||||
%define _without_hook 1
|
||||
%define with_repolib %{?_with_repolib:1}%{!?_with_repolib:0}
|
||||
%define without_repolib %{!?_with_repolib:1}%{?_with_repolib:0}
|
||||
%define repodir %{_javadir}/repository.jboss.com/cglib/%{version}-brew
|
||||
%define repodirlib %{repodir}/lib
|
||||
%define repodirsrc %{repodir}/src
|
||||
# If you don't want to build the aspectwerkz hook,
|
||||
# while aspectwerkz isn't available yet,
|
||||
# give rpmbuild option '--without hook'
|
||||
# A cglib without net.sf.cglib.transform.hook.* is useful to
|
||||
# build jmock which is an indirect dependency of cglib itself (through
|
||||
# aspectwerkz).
|
||||
%define with_hook %{!?_without_hook:1}%{?_without_hook:0}
|
||||
%define without_hook %{?_without_hook:1}%{!?_without_hook:0}
|
||||
%define section free
|
||||
%define uscver 2.1_3
|
||||
Summary: Code Generation Library
|
||||
|
||||
Name: cglib
|
||||
Version: 2.1.3
|
||||
Release: 2
|
||||
License: The Apache Software License
|
||||
Url: http://cglib.sourceforge.net/
|
||||
Group: Development/Libraries/Java
|
||||
Source0: cglib-src-2.1_3.jar
|
||||
Source1: cglib-missing-words.txt
|
||||
Patch0: cglib-2.1.3-build_xml.patch
|
||||
Patch1: cglib-ExamplePreProcessor.patch
|
||||
# FIXME
|
||||
# Testcase "testFailOnMemoryLeak" fails with java-1.4.2-bea-1.4.2.08-2jpp
|
||||
# producing a LinkageError.
|
||||
# Testcase "testRegisterCallbacks" also fails.
|
||||
# java-1.4.2-sun-1.4.2.10-1jpp and # java-1.4.2-ibm-1.4.2.3-1jpp don't
|
||||
Patch2: cglib-2.1.3-TestEnhancer.patch
|
||||
#Patch3: cglib-2.1.3-TestAll.patch
|
||||
Source2: cglib-component-info.xml
|
||||
BuildRequires: jpackage-utils >= 1.6
|
||||
BuildRequires: ant >= 1.6
|
||||
BuildRequires: ant-junit >= 1.6
|
||||
BuildRequires: jarjar
|
||||
BuildRequires: junit
|
||||
BuildRequires: asm >= 1.5.3
|
||||
BuildRequires: asm2
|
||||
%if %{with_hook}
|
||||
BuildRequires: aspectwerkz >= 1.0
|
||||
%endif
|
||||
BuildRequires: unzip
|
||||
BuildRequires: java-devel
|
||||
Requires: asm >= 1.5.3
|
||||
%if %{with_hook}
|
||||
#Optional: aspectwerkz >= 0:1.0
|
||||
%endif
|
||||
Provides: %{name}-nohook = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
cglib is a powerful, high performance and quality Code Generation
|
||||
Library, It is used to extend JAVA classes and implements interfaces at
|
||||
runtime.
|
||||
|
||||
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
||||
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
||||
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
||||
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
||||
classes already.
|
||||
|
||||
|
||||
|
||||
%if %{with_repolib}
|
||||
|
||||
%package repolib
|
||||
License: The Apache Software License
|
||||
Summary: Code Generation Library
|
||||
Group: Development/Libraries/Java
|
||||
|
||||
%description repolib
|
||||
cglib is a powerful, high performance and quality Code Generation
|
||||
Library, It is used to extend JAVA classes and implements interfaces at
|
||||
runtime.
|
||||
|
||||
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
||||
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
||||
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
||||
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
||||
classes already.
|
||||
|
||||
|
||||
|
||||
%endif
|
||||
|
||||
%package nohook
|
||||
License: The Apache Software License
|
||||
Summary: Code Generation Library
|
||||
Group: Development/Libraries/Java
|
||||
Requires: asm >= 1.5.3
|
||||
%if ! %{with_hook}
|
||||
Provides: %{name} = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description nohook
|
||||
cglib is a powerful, high performance and quality Code Generation
|
||||
Library, It is used to extend JAVA classes and implements interfaces at
|
||||
runtime.
|
||||
|
||||
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
||||
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
||||
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
||||
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
||||
classes already.
|
||||
|
||||
|
||||
|
||||
%package javadoc
|
||||
License: The Apache Software License
|
||||
Summary: Code Generation Library
|
||||
Group: Development/Libraries/Java
|
||||
|
||||
%description javadoc
|
||||
cglib is a powerful, high performance and quality Code Generation
|
||||
Library, It is used to extend JAVA classes and implements interfaces at
|
||||
runtime.
|
||||
|
||||
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
||||
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
||||
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
||||
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
||||
classes already.
|
||||
|
||||
|
||||
|
||||
%package demo
|
||||
License: The Apache Software License
|
||||
Summary: Code Generation Library
|
||||
Group: Development/Libraries/Java
|
||||
|
||||
%description demo
|
||||
cglib is a powerful, high performance and quality Code Generation
|
||||
Library, It is used to extend JAVA classes and implements interfaces at
|
||||
runtime.
|
||||
|
||||
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
||||
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
||||
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
||||
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
||||
classes already.
|
||||
|
||||
|
||||
|
||||
%prep
|
||||
cat <<EOT
|
||||
If you don't want to build the aspectwerkz hook,
|
||||
while aspectwerkz isn't available yet,
|
||||
give rpmbuild option '--without hook'
|
||||
A cglib without net.sf.cglib.transform.hook.* is useful to
|
||||
build jmock which is an indirect dependency of cglib itself (through
|
||||
aspectwerkz).
|
||||
EOT
|
||||
%setup -T -c -n %{name}
|
||||
unzip -q %{SOURCE0}
|
||||
# remove all binary libs
|
||||
for f in $(find . -name "*.jar"); do mv $f $f.no; done
|
||||
( cat << EO_JP
|
||||
grant codeBase "file:/-"{
|
||||
permission java.security.AllPermission;
|
||||
};
|
||||
EO_JP
|
||||
) > java.policy
|
||||
# add missing test input file
|
||||
cp %{SOURCE1} src/test/net/sf/cglib/util/words.txt
|
||||
%if %{without_hook}
|
||||
rm src/proxy/net/sf/cglib/transform/hook/*
|
||||
rm src/test/net/sf/cglib/transform/hook/*
|
||||
%endif
|
||||
%patch0 -b .sav
|
||||
#test
|
||||
%if %{with_hook}
|
||||
%patch1 -b .sav
|
||||
%endif
|
||||
%patch2 -b .sav
|
||||
#%patch3 -p1
|
||||
|
||||
%build
|
||||
build-jar-repository -s -p lib \
|
||||
ant \
|
||||
asm/asm-attrs \
|
||||
asm/asm \
|
||||
asm2/asm2 \
|
||||
asm/asm-util \
|
||||
jarjar \
|
||||
junit
|
||||
%if %{with_hook}
|
||||
build-jar-repository -s -p lib aspectwerkz-core
|
||||
%endif
|
||||
export CLASSPATH=
|
||||
export OPT_JAR_LIST=:
|
||||
ant jar javadoc test
|
||||
%if %{with_hook}
|
||||
mkdir _tmp
|
||||
pushd _tmp
|
||||
jar xf ../dist/%{name}-%{uscver}.jar
|
||||
rm -rf net/sf/cglib/transform/hook
|
||||
jar cmf META-INF/MANIFEST.MF ../dist/%{name}-nohook-%{uscver}.jar net
|
||||
popd
|
||||
rm -rf _tmp
|
||||
%else
|
||||
cp dist/%{name}-%{uscver}.jar dist/%{name}-nohook-%{uscver}.jar
|
||||
%endif
|
||||
|
||||
%install
|
||||
# jars
|
||||
mkdir -p $RPM_BUILD_ROOT%{_javadir}
|
||||
cp -p dist/%{name}-nohook-%{uscver}.jar \
|
||||
$RPM_BUILD_ROOT%{_javadir}/%{name}-nohook-%{version}.jar
|
||||
%if %{with_hook}
|
||||
cp -p dist/%{name}-%{uscver}.jar \
|
||||
$RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
|
||||
cp -p dist/%{name}-nodep-%{uscver}.jar \
|
||||
$RPM_BUILD_ROOT%{_javadir}/%{name}-nodep-%{version}.jar
|
||||
%else
|
||||
# avoid conflicts between cglib and cglib-nohook
|
||||
cp -p dist/%{name}-nodep-%{uscver}.jar \
|
||||
$RPM_BUILD_ROOT%{_javadir}/%{name}-nohook-nodep-%{version}.jar
|
||||
%endif
|
||||
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
|
||||
# javadoc
|
||||
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
|
||||
rmdir docs/api
|
||||
cp -pr docs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
|
||||
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
|
||||
#demo
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
|
||||
cp -pr src/proxy/samples $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
|
||||
%if %{with_repolib}
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{repodir}
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{repodirlib}
|
||||
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{repodir}/component-info.xml
|
||||
sed -i "s/@VERSION@/%{version}-brew/g" $RPM_BUILD_ROOT%{repodir}/component-info.xml
|
||||
tag=`echo %{name}-%{version}-%{release} | sed 's|\.|_|g'`
|
||||
sed -i "s/@TAG@/$tag/g" $RPM_BUILD_ROOT%{repodir}/component-info.xml
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{repodirsrc}
|
||||
install -p -m 644 %{PATCH0} $RPM_BUILD_ROOT%{repodirsrc}
|
||||
install -p -m 644 %{PATCH1} $RPM_BUILD_ROOT%{repodirsrc}
|
||||
install -p -m 644 %{SOURCE0} $RPM_BUILD_ROOT%{repodirsrc}
|
||||
install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{repodirsrc}
|
||||
install -p -m 644 %{PATCH2} $RPM_BUILD_ROOT%{repodirsrc}
|
||||
# Deploy cglib-nodeps.jar as cglib.jar to conform to the existing usage in JBoss
|
||||
%if %{with_hook}
|
||||
cp -p $RPM_BUILD_ROOT%{_javadir}/cglib-nodep.jar $RPM_BUILD_ROOT%{repodirlib}/cglib.jar
|
||||
%else
|
||||
cp -p $RPM_BUILD_ROOT%{_javadir}/cglib-nohook.jar $RPM_BUILD_ROOT%{repodirlib}/cglib.jar
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
%if %{with_hook}
|
||||
|
||||
%files
|
||||
%defattr(0644,root,root,0755)
|
||||
%doc LICENSE
|
||||
%{_javadir}/%{name}-%{version}.jar
|
||||
%{_javadir}/%{name}.jar
|
||||
%{_javadir}/%{name}-nodep-%{version}.jar
|
||||
%{_javadir}/%{name}-nodep.jar
|
||||
%endif
|
||||
|
||||
%files nohook
|
||||
%defattr(0644,root,root,0755)
|
||||
%doc LICENSE
|
||||
%{_javadir}/%{name}-nohook-%{version}.jar
|
||||
%{_javadir}/%{name}-nohook.jar
|
||||
%if ! %{with_hook}
|
||||
%{_javadir}/%{name}-nohook-nodep*.jar
|
||||
%endif
|
||||
|
||||
%files javadoc
|
||||
%defattr(0644,root,root,0755)
|
||||
%{_javadocdir}/%{name}-%{version}
|
||||
%{_javadocdir}/%{name}
|
||||
|
||||
%files demo
|
||||
%defattr(0644,root,root,0755)
|
||||
%{_datadir}/%{name}-%{version}
|
||||
%if %{with_repolib}
|
||||
|
||||
%files repolib
|
||||
%defattr(0644,root,root,0755)
|
||||
%{_javadir}/repository.jboss.com
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Apr 28 2009 mvyskocil@suse.cz
|
||||
- Fixed package descriptions
|
||||
* Thu Apr 23 2009 mvyskocil@suse.cz
|
||||
- Initial packaging of cglib-nohooks in SUSE (2.1.3 from jpp5)
|
Reference in New Issue
Block a user