blob: cb2daf21adc79b137f3433b7bff67468cd07f432 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
%global upstream technomancy
%global groupId leiningen
%global artifactId leiningen
%global commit_hash 713a4d9
Name: leiningen
Version: 1.7.1
Release: 3%{?dist}
Summary: Clojure project automation tool
License: EPL
URL: https://github.com/%{upstream}/%{name}
# wget --content-disposition %%{url}/tarball/%%{version}
Source0: %{upstream}-%{name}-%{version}-0-g%{commit_hash}.tar.gz
# Fedora/EPEL-specific patches
# Patch the launcher script to set classpath to the proper JAR names
Patch100: %{name}-1.7.1-jpp.patch
BuildArch: noarch
BuildRequires: jpackage-utils
BuildRequires: clojure-compat
BuildRequires: clojure-contrib
BuildRequires: java-devel
BuildRequires: clucy
BuildRequires: jline
BuildRequires: lancet
BuildRequires: maven-ant-tasks
# this should be a maven-ant-tasks dependency:
# https://bugzilla.redhat.com/show_bug.cgi?id=830786
BuildRequires: maven-error-diagnostics
# needed by lein script
BuildRequires: rlwrap
BuildRequires: robert-hooke
BuildRequires: maven
BuildRequires: maven-artifact
BuildRequires: maven-compiler-plugin
BuildRequires: maven-install-plugin
BuildRequires: maven-jar-plugin
BuildRequires: maven-javadoc-plugin
BuildRequires: maven-release-plugin
BuildRequires: maven-resources-plugin
BuildRequires: maven-settings
BuildRequires: maven-surefire-plugin
Requires: jpackage-utils
%if 0%{?rhel}
Requires(post): jpackage-utils
Requires(postun): jpackage-utils
%endif
Requires: ant
Requires: classworlds
Requires: clojure-compat
Requires: clojure-contrib
Requires: java-devel
Requires: clucy
Requires: jline
Requires: lancet
Requires: maven-ant-tasks
Requires: maven-artifact
# remove once maven-ant-tasks is fixed
Requires: maven-error-diagnostics
# ---
Requires: maven-settings
Requires: rlwrap
Requires: robert-hooke
%description
Working on Clojure projects with tools designed for Java can be an
exercise in frustration. With Leiningen, you describe your build with
Clojure. Leiningen handles fetching dependencies, running tests,
packaging your projects and can be easily extended with a number of
plugins.
%prep
%setup -q -n %{upstream}-%{name}-%{commit_hash}
%patch100 -p1 -b .jpp
%build
LEIN_ROOT=y sh bin/lein-pkg compile :all, jar
%install
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -pm 644 %{name}-%{version}.jar \
$RPM_BUILD_ROOT/%{_javadir}/%{name}.jar
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
install -pm 644 pom.xml \
$RPM_BUILD_ROOT/%{_mavenpomdir}/JPP-%{name}.pom
%if 0%{?add_maven_depmap:1}
%add_maven_depmap JPP-%{name}.pom %{name}.jar
%else
%add_to_maven_depmap %{groupId} %{artifactId} %{version} JPP %{name}.jar
%endif
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
install -pm 755 bin/lein-pkg $RPM_BUILD_ROOT%{_bindir}/lein
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
install -pm 644 bash_completion.bash \
$RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/lein
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/zsh/site-functions
install -pm 644 zsh_completion.zsh \
$RPM_BUILD_ROOT%{_datadir}/zsh/site-functions/_lein
%check
# FIXME
# debug this; even though it fails, the resulting package is functional
# LEIN_ROOT=y sh bin/lein-pkg test
%if 0%{?rhel}
%post
%update_maven_depmap
%postun
%update_maven_depmap
%endif
%files
%doc COPYING README.md NEWS.md TUTORIAL.md
%{_mavendepmapfragdir}/%{name}
%{_mavenpomdir}/JPP-%{name}.pom
%{_javadir}/%{name}.jar
%{_bindir}/lein
%dir %{_sysconfdir}/bash_completion.d
%{_sysconfdir}/bash_completion.d/lein
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_lein
%changelog
* Sun Aug 19 2012 Michel Salim <salimma@fedoraproject.org> - 1.7.1-3
- Use package's own launcher script to build the JAR (from Debian)
* Tue Jun 12 2012 Michel Salim <salimma@fedoraproject.org> - 1.7.1-2
- Package launcher script
- Update dependencies
* Mon Jun 11 2012 Michel Salim <salimma@fedoraproject.org> - 1.7.1-1
- Initial package
|