]> git.pld-linux.org Git - SPECS.git/blob - java-ivy.spec
SPECS updated Sun 1 Aug 20:28:02 CEST 2021
[SPECS.git] / java-ivy.spec
1 #
2 # Conditional build:
3 %bcond_without  javadoc         # don't build javadoc
4 %bcond_without  tests           # don't build and run tests
5
6 %define         srcname         ivy
7 Summary:        Java-based dependency manager
8 Name:           java-%{srcname}
9 Version:        2.1.0
10 Release:        2
11 License:        ASL 2.0
12 Group:          Development/Tools
13 URL:            http://ant.apache.org/ivy/
14 Source0:        http://www.apache.org/dist/ant/ivy/%{version}/apache-%{srcname}-%{version}-src.tar.gz
15 # Source0-md5:  49130a0c8beb74d77653e5443dacecd5
16 BuildRequires:  ant
17 BuildRequires:  ant-nodeps
18 BuildRequires:  java-commons-httpclient
19 BuildRequires:  java-jsch
20 BuildRequires:  java-oro
21 BuildRequires:  jdk >= 1.5
22 BuildRequires:  jpackage-utils
23 BuildRequires:  rpmbuild(macros) >= 1.300
24 BuildRequires:  sed >= 4.0
25 Requires:       jpackage-utils
26 Provides:       ivy = %{version}-%{release}
27 BuildArch:      noarch
28 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29
30 %description
31 Apache Ivy is a tool for managing (recording, tracking, resolving and
32 reporting) project dependencies. It is designed as process agnostic
33 and is not tied to any methodology or structure. while available as a
34 standalone tool, Apache Ivy works particularly well with Apache Ant
35 providing a number of powerful Ant tasks ranging from dependency
36 resolution to dependency reporting and publication.
37
38 %package javadoc
39 Summary:        API Documentation for ivy
40 Group:          Development/Tools
41 Requires:       %{name} = %{version}-%{release}
42
43 %description javadoc
44 JavaDoc documentation for %{name}
45
46 %prep
47 %setup -q -n apache-%{srcname}-%{version}
48
49 # Fix messed-up encodings
50 for F in RELEASE_NOTES README LICENSE NOTICE CHANGES.txt; do
51         sed 's/\r//' $F | iconv -f iso8859-1 -t utf8 > $F.utf8
52         touch -r $F $F.utf8
53         mv $F.utf8 $F
54 done
55
56 # Remove prebuilt documentation
57 rm -rf doc build/doc
58
59 # How to properly disable a plugin?
60 # we disable vfs plugin since commons-vfs is not available
61 rm -rf src/java/org/apache/ivy/plugins/repository/vfs \
62                 src/java/org/apache/ivy/plugins/resolver/VfsResolver.java
63 sed '/vfs.*=.*org.apache.ivy.plugins.resolver.VfsResolver/d' -i \
64                 src/java/org/apache/ivy/core/settings/typedef.properties
65
66 %build
67 # Craft class path
68 mkdir -p lib
69 build-jar-repository lib ant ant/ant-nodeps commons-httpclient oro jsch
70
71 # Build
72 %ant /localivy /offline jar %{?with_javadoc:javadoc}
73
74 %install
75 rm -rf $RPM_BUILD_ROOT
76
77 # Code
78 install -d $RPM_BUILD_ROOT%{_javadir}
79 install -p build/artifact/jars/%{srcname}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}-%{version}.jar
80 ln -sf %{srcname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}.jar
81
82 install -d $RPM_BUILD_ROOT%{_sysconfdir}/ant.d
83 echo "ivy" > $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/%{srcname}
84
85 # API Documentation
86 %if %{with javadoc}
87 install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
88 cp -a build/doc/reports/api/. $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
89 ln -s %{srcname}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{srcname} # ghost symlink
90 %endif
91
92 %clean
93 rm -rf $RPM_BUILD_ROOT
94
95 %post javadoc
96 ln -nfs %{srcname}-%{version} %{_javadocdir}/%{srcname}
97
98 %files
99 %defattr(644,root,root,755)
100 %doc RELEASE_NOTES CHANGES.txt LICENSE NOTICE README
101 %{_javadir}/*.jar
102
103 # %files -n ant-ivy
104 %{_sysconfdir}/ant.d/%{srcname}
105
106 %if %{with javadoc}
107 %files javadoc
108 %defattr(644,root,root,755)
109 %{_javadocdir}/%{srcname}-%{version}
110 %ghost %{_javadocdir}/%{srcname}
111 %endif
This page took 0.318238 seconds and 3 git commands to generate.