diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index c8ce12c..0000000
--- a/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-clojure-1.1.0.zip
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..51ac2f2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,28 @@
+/clojure-clojure-clojure-1.4.0-0-g0ba3ff1.tar.gz
+/clojure-1.5.0-RC1.zip
+/clojure-clojure-1.5.0-RC1.zip
+/clojure-1.5.0.zip
+/clojure-1.5.1.zip
+/clojure-1.6.0-beta2.zip
+/clojure-1.6.0-RC1.zip
+/clojure-1.6.0-RC3.zip
+/clojure-1.6.0.zip
+/clojure-1.7.0-beta1.zip
+/clojure-1.7.0-beta2.zip
+/clojure-1.7.0-RC1.zip
+/clojure-1.7.0-RC2.zip
+/clojure-1.7.0.zip
+/clojure-1.8.0-beta1.zip
+/clojure-1.8.0.zip
+/clojure-1.9.0-alpha15.zip
+/clojure-1.9.0-beta3.zip
+/clojure-1.9.0.zip
+/clojure-1.10.1.zip
+/clojure-1.10.2.zip
+/clojure-1.10.3.zip
+/clojure-1.11.1.zip
+/clojure-1.11.2.zip
+/clojure-1.11.3.zip
+/clojure-1.12.0.zip
+/clojure-1.12.3.zip
+/clojure-1.12.4.zip
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 7c3fc07..0000000
--- a/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile for source rpm: clojure
-# $Id: Makefile,v 1.1 2008/10/16 17:04:32 kevin Exp $
-NAME := clojure
-SPECFILE = $(firstword $(wildcard *.spec))
-
-define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
-endef
-
-MAKEFILE_COMMON := $(shell $(find-makefile-common))
-
-ifeq ($(MAKEFILE_COMMON),)
-# attept a checkout
-define checkout-makefile-common
-test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
-endef
-
-MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
-endif
-
-include $(MAKEFILE_COMMON)
diff --git a/clojure-1.1.0-no_classpath.patch b/clojure-1.1.0-no_classpath.patch
deleted file mode 100644
index 34e4ac0..0000000
--- a/clojure-1.1.0-no_classpath.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -up clojure-1.1.0/build.xml.nc clojure-1.1.0/build.xml
---- clojure-1.1.0/build.xml.nc 2010-01-20 21:11:34.418625288 +0100
-+++ clojure-1.1.0/build.xml 2010-01-20 21:12:47.706636716 +0100
-@@ -114,8 +114,7 @@
-
-
-
--
--
-+
-
-
-
-@@ -145,8 +144,7 @@
-
-
-
--
--
-+
-
-
-
diff --git a/clojure.sh b/clojure.sh
index 4ef2bc6..74a7106 100644
--- a/clojure.sh
+++ b/clojure.sh
@@ -1,2 +1,6 @@
#!/bin/bash
-exec java ${JAVA_OPTS} -jar /usr/share/java/clojure.jar "$@"
+CLOJUREJAR=/usr/share/java/clojure/clojure.jar
+CORESPECSJAR=/usr/share/java/clojure-core-specs-alpha/core.specs.alpha.jar
+SPECALPHAJAR=/usr/share/java/clojure-spec-alpha/spec.alpha.jar
+CLASSPATH=$CLASSPATH:$CLOJUREJAR:$SPECALPHAJAR:$CORESPECSALPHA
+exec java ${JAVA_OPTS} -cp $CLASSPATH clojure.main "$@"
diff --git a/clojure.spec b/clojure.spec
index 81d139f..550b009 100644
--- a/clojure.spec
+++ b/clojure.spec
@@ -1,28 +1,30 @@
+%global project clojure
+%global groupId org.clojure
+%global artifactId clojure
+%global archivename %{project}-%{artifactId}
+%define add_determinism_options --handler=-jar
Name: clojure
-Epoch: 1
-Version: 1.1.0
+Epoch: 1
+Version: 1.12.4
Release: 1%{?dist}
Summary: A dynamic programming language that targets the Java Virtual Machine
-Group: Development/Languages
-License: EPL
+License: EPL-1.0
URL: http://clojure.org/
-Source0: http://clojure.googlecode.com/files/clojure-%{version}.zip
-Source1: clojure.sh
+Source0: https://github.com/%{name}/%{name}/archive/%{name}-%{version}.zip
-Patch1: clojure-1.1.0-no_classpath.patch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
+ExclusiveArch: %{java_arches} noarch
-BuildRequires: ant >= 1.6
-BuildRequires: jpackage-utils >= 1.5
-BuildRequires: objectweb-asm
-BuildRequires: java-devel >= 1:1.6.0
-
-Requires: java >= 1:1.6
-Requires: objectweb-asm
+BuildRequires: maven-local-openjdk25
+BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
+BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin)
+BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
+BuildRequires: mvn(org.clojure:core.specs.alpha)
+BuildRequires: mvn(org.clojure:spec.alpha)
+BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
+Requires: javapackages-tools
%description
Clojure is a dynamic programming language that targets the Java
@@ -37,54 +39,251 @@ optional type hints and type inference, to ensure that calls to Java
can avoid reflection.
%prep
-%setup -q
-rm -f *.jar
-%patch1 -p1
+%setup -q -n %{archivename}-%{version}
+
+%pom_remove_plugin :maven-release-plugin
+%pom_remove_plugin :central-publishing-maven-plugin
+%pom_remove_plugin :maven-javadoc-plugin
+
%build
-ant jar
+%mvn_build -f -j
%install
-rm -rf %{buildroot}
-# prefix install
-install -p -d -m 755 %{buildroot}%{_datadir}/%{name}
-cp -ar src/clj/clojure/* %{buildroot}%{_datadir}/%{name}/
-rm -f %{buildroot}%{_datadir}/%{name}/xml/\#*
-
-# jar - link to prefix'd jar so that java stuff knows where to look
-install -d -m 755 %{buildroot}%{_javadir}
-cp clojure.jar %{buildroot}%{_javadir}/%{name}.jar
+%mvn_install
# startup script
-install -d -m 755 %{buildroot}%{_bindir}
-cp %{SOURCE1} %{buildroot}%{_bindir}/clojure
+%jpackage_script clojure.main "" "" clojure:clojure-spec-alpha:clojure-core-specs-alpha clojure false
-install -d %{buildroot}%{_datadir}/maven2/poms
-%add_to_maven_depmap clojure clojur-lang %{version} JPP/%{name} clojure-lang
-install -m 644 pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP.%{name}-clojure-lang.pom
-
-%clean
-rm -rf %{buildroot}
-
-%post
-%update_maven_depmap
-
-%postun
-%update_maven_depmap
-
-%files
-%defattr(-,root,root,-)
-%doc readme.txt epl-v10.html
-
-%attr(0755,root,root) %{_bindir}/clojure
-%{_javadir}/%{name}.jar
-%{_datadir}/%{name}
-%{_bindir}/clojure
-%{_datadir}/maven2/poms
-%{_mavendepmapfragdir}/*
+%files -f .mfiles
+%license epl-v10.html
+%doc changes.md readme.txt
+%{_bindir}/%{name}
%changelog
+* Thu Jan 15 2026 Markku Korkeala - 1:1.12.4-1
+- Update to upstream release 1.12.4, closes rhbz#2369851
+
+* Tue Dec 09 2025 Markku Korkeala - 1:1.12.3-2
+- Remove timestamp modifications from jar, closes to rhbz#2355949
+
+* Sun Nov 23 2025 Markku Korkeala - 1:1.12.3-1
+- Update to upstream release 1.12.3, closes rhbz#2186974
+- Remove central-publishing-maven-plugin from pom
+- Remove maven-javadoc-plugin from pom
+
+* Tue Jul 29 2025 jiri vanek - 1:1.12.0-4
+- Rebuilt for java-25-openjdk as preffered jdk
+
+* Wed Jul 23 2025 Fedora Release Engineering - 1:1.12.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
+
+* Thu Jan 16 2025 Fedora Release Engineering - 1:1.12.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
+
+* Fri Oct 11 2024 Markku Korkeala - 1:1.12.0-1
+- Update to upstream release 1.12.0, closes rhbz#2186974
+
+* Tue Oct 8 2024 Markku Korkeala - 1:1.11.3-1
+- Update to upstream release 1.11.3
+
+* Wed Jul 17 2024 Fedora Release Engineering - 1:1.11.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Fri Mar 15 2024 Markku Korkeala - 1:1.11.2-1
+- Update to upstream release 1.11.2
+
+* Wed Jan 24 2024 Fedora Release Engineering - 1:1.11.1-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Fri Jan 19 2024 Fedora Release Engineering - 1:1.11.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Wed Jul 19 2023 Fedora Release Engineering - 1:1.11.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Thu Jan 19 2023 Fedora Release Engineering - 1:1.11.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Wed Jul 20 2022 Fedora Release Engineering - 1:1.11.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jul 08 2022 Jiri Vanek - 1:1.11.1-2
+- Rebuilt for Drop i686 JDKs
+
+* Sun Apr 10 2022 Markku Korkeala - 1:1.11.1-1
+- Update to upstream release 1.11.1
+
+* Sat Feb 05 2022 Jiri Vanek - 1:1.10.3-4
+- Rebuilt for java-17-openjdk as system jdk
+
+* Wed Jan 19 2022 Fedora Release Engineering - 1:1.10.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Wed Jul 21 2021 Fedora Release Engineering - 1:1.10.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Sat Mar 06 2021 Markku Korkeala - 1:1.10.3-1
+- Update to upstream release 1.10.3
+
+* Sat Jan 30 2021 Markku Korkeala - 1:1.10.2-1
+- Update to upstream release 1.10.2
+
+* Tue Jan 26 2021 Fedora Release Engineering - 1:1.10.1-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Sun Jan 17 2021 Markku Korkeala - 1:1.10.1-6
+- Add javapackages-tools dependency to fix wrapper script.
+
+* Mon Jul 27 2020 Fedora Release Engineering - 1:1.10.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jul 10 2020 Jiri Vanek - 1:1.10.1-4
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Sat May 02 2020 Markku Korkeala - 1:1.10.1-3
+- Use jpackage_script to generate clojure application shell script.
+
+* Fri May 01 2020 Fabio Valentini - 1:1.10.1-2
+- Remove unnecessary maven-release-plugin and drop redundant Requires.
+
+* Wed Apr 15 2020 Markku Korkeala - 1:1.10.1-1
+- Update to upstream release 1.10.1
+- Update clojure-spec-alpha and clojure-core-specs-alpha dependency
+- Remove jsr166y pom_remove_dep
+
+* Tue Apr 14 2020 Markku Korkeala - 1:1.9.0-1
+- Update to upstream release 1.9.0, update clojure-spec-alpha dependency
+
+* Sat Apr 11 2020 Markku Korkeala - 1:1.9.0-0.beta3.1
+- Update to upstream release 1.9.0-beta3
+- Switch to use maven building
+- Remove plugin org.sonatype.plugins:nexus-staging-maven-plugin
+- Remove jsr166 dependency from pom
+
+* Sat Apr 04 2020 Markku Korkeala - 1:1.9.0-0.alpha15.1
+- Update to upstream release 1.9.0-alpha15
+- Update to require JDK 1.8
+
+* Tue Jan 28 2020 Fedora Release Engineering - 1:1.8.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Wed Sep 04 2019 Markku Korkeala - 1:1.8.0-1
+- Update to upstream release 1.8.0
+- Add sonatype-oss-parent as a build requirement
+- Add license macro and fix license short name
+
+* Wed Jul 24 2019 Fedora Release Engineering - 1:1.8.0-0.beta1.7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Thu Jan 31 2019 Fedora Release Engineering - 1:1.8.0-0.beta1.6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Thu Jul 12 2018 Fedora Release Engineering - 1:1.8.0-0.beta1.5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Wed Feb 07 2018 Fedora Release Engineering - 1:1.8.0-0.beta1.4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering - 1:1.8.0-0.beta1.3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering - 1:1.8.0-0.beta1.2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Wed Feb 03 2016 Fedora Release Engineering - 1:1.8.0-0.beta1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Thu Oct 15 2015 Jochen Schmitt - 1:1.8.0-0.beta1
+- New prerelease of Clojure 1.8.0
+
+* Wed Jun 17 2015 Jochen Schmitt - 1:1.7.0-0.5
+- New upstream release (clojure-1.7.0-RC2)
+
+* Wed Jun 17 2015 Fedora Release Engineering - 1:1.7.0-0.4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Fri Jun 5 2015 Jochen Schmitt - 1:1.7.0-0.3
+- New upstream release
+
+* Fri May 1 2015 Jochen Schmitt - 1:1.7.0-0.2
+- New upstream release
+
+* Tue Apr 14 2015 Jochen Schmitt - 1:1.7.0-0.1
+- New upstream release
+
+* Thu Jul 24 2014 Jochen Schmitt - 1:1.6.0-3
+- Migrating to the new JAVA packaging guidelines
+
+* Sat Jun 07 2014 Fedora Release Engineering - 1:1.6.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Tue Mar 25 2014 Jochen Schmitt - 1:1.6.0-1
+- New upstream release
+
+* Mon Mar 24 2014 Jochen Schmitt - 1:1.6.0-0.5
+- New release candidate of clujure 1.6.0
+
+* Tue Mar 18 2014 Jochen Schmitt - 1:1.6.0-0.3
+- Relöease candidate of clojure 1.6.0
+
+* Wed Mar 5 2014 Jochen Schmitt - 1:1.6.0-0.2
+- New upstream pre-release
+- Add support for headless java (#1068005)
+
+* Sat Aug 03 2013 Fedora Release Engineering - 1:1.5.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Tue Apr 30 2013 Jochen Schmitt - 1:1.5.1-1
+- New upstream release.
+
+* Sat Mar 2 2013 Jochen Schmitt - 1:1.5.0-1
+- New upstream release
+
+* Wed Feb 13 2013 Fedora Release Engineering - 1:1.5.0-0.RC1.1.2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Wed Feb 06 2013 Java SIG - 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 - 1:1.5.0-0.RC1.1
+- Use -Dmaven.test.skip=1 to sip test run
+
+* Sun Dec 23 2012 Jochen Schmitt - 1:1.5.0-0.RC1
+- New upstream release
+
+* Wed Jul 18 2012 Fedora Release Engineering - 1:1.4.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Wed Jun 6 2012 Michel Salim - 1:1.4.0-2
+- Update to better follow packaging guidelines
+
+* Tue Apr 17 2012 Jochen Schmitt 1:1.4.0-1
+- New upstream release
+
+* Thu Jan 12 2012 Fedora Release Engineering - 1:1.3.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Sun Sep 25 2011 Jochen Schmitt 1:1.3.0-1
+- New upstream release
+- Remove temp. patch to resolve JDK-1.7 issue
+
+* Wed Sep 21 2011 Jochen Schmitt 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 1:1.2.1-1
+- New minor bug fixing release from upstream
+
+* Tue Feb 08 2011 Fedora Release Engineering - 1:1.2.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Fri Aug 20 2010 Jochen Schmitt 1:1.2.0-1
+- New upstream release
+
* Wed Jan 20 2010 Jochen Schmitt 1:1.1.0-1
- New upstream release
diff --git a/import.log b/import.log
deleted file mode 100644
index a5afd3b..0000000
--- a/import.log
+++ /dev/null
@@ -1 +0,0 @@
-clojure-20080916-1_fc10:HEAD:clojure-20080916-1.fc10.src.rpm:1224772058
diff --git a/sources b/sources
index ed5a44d..4a227e6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-9c9e92f85351721b76f40578f5c1a94a clojure-1.1.0.zip
+SHA512 (clojure-1.12.4.zip) = e1629a330426f694ec9da11957a17fce1504175a0e801402ddc053a695e7f95c0fdc1af746897c80a37f5d2084a571034027e869a683dfebfef92b7af3598320