Blob Blame History Raw
%global project     clojure
%global groupId     org.clojure
%global artifactId  clojure
%global archivename %{project}-%{artifactId}

Name:           clojure
Epoch:          1
Version:        1.8.0
Release:        3%{?dist}
Summary:        A dynamic programming language that targets the Java Virtual Machine

Group:          Development/Languages
License:        EPL-1.0
URL:            http://clojure.org/
Source0:        https://github.com/%{name}/%{name}/archive/%{name}-%{version}.zip

Source1:        clojure.sh

# Backport clj-2204, https://clojure.atlassian.net/browse/CLJ-2204
Patch1:         clj-2204-disable-proxy-serialization.patch
Patch2:         clj-2204.patch
# Backport clj-2839 https://clojure.atlassian.net/browse/CLJ-2839
Patch3:         0001-Backport-patch-CLJ-2839-Infinite-seq-class-hashCode-.patch

BuildArch:      noarch

BuildRequires:  maven-local
BuildRequires:  ant >= 1.6
BuildRequires:  jpackage-utils >= 1.5
BuildRequires:  objectweb-asm
BuildRequires:  java-devel >= 1:1.6.0
BuildRequires:  sonatype-oss-parent

Requires:       jpackage-utils
Requires:       java >= 1:1.6
Requires:       objectweb-asm

%description 
Clojure is a dynamic programming language that targets the Java
Virtual Machine. It is designed to be a general-purpose language,
combining the approachability and interactive development of a
scripting language with an efficient and robust infrastructure for
multithreaded programming. Clojure is a compiled language - it
compiles directly to JVM bytecode, yet remains completely
dynamic. Every feature supported by Clojure is supported at
runtime. Clojure provides easy access to the Java frameworks, with
optional type hints and type inference, to ensure that calls to Java
can avoid reflection.

%prep
%setup -q -n %{archivename}-%{version}
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1


%build
ant -Dmaven.test.skip=1

%mvn_artifact pom.xml %{name}.jar

%install
# jar - link to prefix'd jar so that java stuff knows where to look
install -d -m 755 %{buildroot}%{_javadir}
install -d -m 755 %{buildroot}%{_mavenpomdir}
install -pm 644 %{name}.jar %{buildroot}%{_javadir}/%{name}.jar
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom

# startup script
install -d -m 755 %{buildroot}%{_bindir}
install -pm 755 %{SOURCE1} %{buildroot}%{_bindir}/%{name}

%mvn_install

%clean
rm -rf %{buildroot}

%files -f .mfiles
%doc epl-v10.html changes.md readme.txt 
%{_mavenpomdir}/*
%{_javadir}/%{name}.jar
%{_bindir}/%{name}

%changelog
* Wed Apr 3 2024 Markku Korkeala <Markku Korkeala iki fi> - 1:1.8.0-3
- Backport patch for clj-2839 to mitigate CVE-2024-22871.

* Sat Jan 27 2024 Markku Korkeala <Markku Korkeala iki fi> - 1:1.8.0-2
- Add patch clj-2204 to mitigate CVE-2017-20189.

* Thu Apr 2 2020 Markku Korkeala <Markku Korkeala iki fi> - 1:1.8.0-1
- New upstream release.
- Replace add_maven_depmap macros with mvn_artifact and mvn_install

* Tue Apr 30 2013 Jochen Schmitt <Jochen herr-schmitt de> - 1:1.5.1-1
- New upstream release.

* Sat Mar  2 2013 Jochen Schmitt <Jochen herr-schmitt de> - 1:1.5.0-1
- New upstream release

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.5.0-0.RC1.1.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 1:1.5.0-0.RC1.1.1
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
- Replace maven BuildRequires with maven-local

* Mon Dec 24 2012 Jochen Schmitt <Jochen herr-schmitt de> - 1:1.5.0-0.RC1.1
- Use -Dmaven.test.skip=1 to sip test run

* Sun Dec 23 2012 Jochen Schmitt <Jochen herr-schmitt de> - 1:1.5.0-0.RC1
- New upstream release

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.4.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Wed Jun  6 2012 Michel Salim <salimma@fedoraproject.org> - 1:1.4.0-2
- Update to better follow packaging guidelines

* Tue Apr 17 2012 Jochen Schmitt <Jochen herr-schmitt de> 1:1.4.0-1
- New upstream release

* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Sun Sep 25 2011 Jochen Schmitt <Jochen herr-schmitt de> 1:1.3.0-1
- New upstream release
- Remove temp. patch to resolve JDK-1.7 issue

* Wed Sep 21 2011 Jochen Schmitt <Jochen herr-schmitt de> 1:1.3.0-0.1
- New upstrem release
- Remove no-classpath patch (#684060)
- Add patch to resolve JDK-1.7 related issues with test suite

* Tue Jul 12 2011 Jochen Schmitt <Jochen herr-schmitt de> 1:1.2.1-1
- New minor bug fixing release from upstream

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Aug 20 2010 Jochen Schmitt <Jochen herr-schmitt de> 1:1.2.0-1
- New upstream release

* Wed Jan 20 2010 Jochen Schmitt <Jochen herr-schmitt de> 1:1.1.0-1
- New upstream release

* Wed Dec  2 2009 Jochen Schmitt <Jochen herr-schmitt de> 1:1.0.0-5
- Installing maven pom file

* Wed Dec  2 2009 Jochen Schmitt <Jochen herr-schmitt de> 1:1.0.0-3
- Add Epoch to get proper EVR path

* Tue Dec  1 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.0.0-2
- Forgot uploading soruces

* Tue Dec  1 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.0.0-1
- New upstream release
- change license tag to EPL

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20090320-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri Mar 20 2009 Colin Walters <walters@verbum.org> - 20090320
- New upstream

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20081217-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Thu Dec 18 2008 Colin Walters <walters@verbum.org> - 20081217-1
- New upstream

* Fri Oct 24 2008 Colin Walters <walters@verbum.org> - 20080916-2
- BR OpenJDK, we need 1.6

* Tue Sep 30 2008 Colin Walters <walters@verbum.org> - 20080916-1
- initial version