summaryrefslogtreecommitdiff
path: root/dev-lang/clojure/clojure-1.10.3.ebuild
diff options
context:
space:
mode:
authorFlorian Schmaus <flo@geekplace.eu>2021-06-17 17:54:16 +0200
committerGöktürk Yüksek <gokturk@gentoo.org>2021-06-21 10:26:38 -0400
commitcc57f9f25d40bff2e2b0e3179eac82e467f5952e (patch)
treef7687616fd1b627936563258367ad2bb613f2011 /dev-lang/clojure/clojure-1.10.3.ebuild
parentc5d1dbb1b57e1016b8ce28aeffcc0c87edcf6c16 (diff)
downloadgentoo-cc57f9f25d40bff2e2b0e3179eac82e467f5952e.tar.gz
gentoo-cc57f9f25d40bff2e2b0e3179eac82e467f5952e.tar.bz2
gentoo-cc57f9f25d40bff2e2b0e3179eac82e467f5952e.zip
dev-lang/clojure: add 1.10.3
This is a "new kind" of clojure ebuilds, which does not longer depend on dev-java/spec-alpha and dev-java/core-specs-alpha, but instead is able to bootstrap itself. Major thanks to Göktürk Yüksek for coming up with a way to bootstrap clojure (see add-compile-spec-ant-build-target.patch). Closes: https://bugs.gentoo.org/661442 Closes: https://bugs.gentoo.org/737064 Closes: https://github.com/gentoo/gentoo/pull/21285 Signed-off-by: Florian Schmaus <flo@geekplace.eu> Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Diffstat (limited to 'dev-lang/clojure/clojure-1.10.3.ebuild')
-rw-r--r--dev-lang/clojure/clojure-1.10.3.ebuild97
1 files changed, 97 insertions, 0 deletions
diff --git a/dev-lang/clojure/clojure-1.10.3.ebuild b/dev-lang/clojure/clojure-1.10.3.ebuild
new file mode 100644
index 000000000000..49ac956f05cc
--- /dev/null
+++ b/dev-lang/clojure/clojure-1.10.3.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="test"
+
+inherit java-pkg-2 java-ant-2
+
+SPEC_ALPHA_VER="0.2.194"
+CORE_SPECS_ALPHA_VER="0.2.56"
+
+TOOLS_NAMESPACE_VER="1.1.0"
+JAVA_CLASSPATH_VER="1.0.0"
+TOOLS_READER_VER="1.3.4"
+TEST_GENERATIVE_VER="1.0.0"
+DATA_GENERATORS_VER="1.0.0"
+TEST_CHECK_VER="1.1.0"
+
+DESCRIPTION="General-purpose programming language with an emphasis on functional programming"
+HOMEPAGE="https://clojure.org/"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/${P}.tar.gz
+ https://github.com/clojure/spec.alpha/archive/spec.alpha-${SPEC_ALPHA_VER}.tar.gz
+ https://github.com/clojure/core.specs.alpha/archive/core.specs.alpha-${CORE_SPECS_ALPHA_VER}.tar.gz
+ test? (
+ https://github.com/clojure/tools.namespace/archive/refs/tags/tools.namespace-${TOOLS_NAMESPACE_VER}.tar.gz
+ https://github.com/clojure/java.classpath/archive/refs/tags/java.classpath-${JAVA_CLASSPATH_VER}.tar.gz
+ https://github.com/clojure/tools.reader/archive/refs/tags/tools.reader-${TOOLS_READER_VER}.tar.gz
+ https://github.com/clojure/test.generative/archive/refs/tags/test.generative-${TEST_GENERATIVE_VER}.tar.gz
+ https://github.com/clojure/data.generators/archive/refs/tags/data.generators-${DATA_GENERATORS_VER}.tar.gz
+ https://github.com/clojure/test.check/archive/refs/tags/test.check-${TEST_CHECK_VER}.tar.gz
+ )
+"
+
+LICENSE="EPL-1.0 Apache-2.0 BSD"
+SLOT="$(ver_cut 1-2)"
+
+KEYWORDS="~amd64 ~x86 ~x86-linux"
+
+PATCHES=(
+ "${FILESDIR}/add-compile-spec-ant-build-target.patch"
+)
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=virtual/jre-1.8"
+DEPEND=">=virtual/jdk-1.8"
+
+S="${WORKDIR}/${PN}-${P}"
+
+DOCS=( changes.md CONTRIBUTING.md readme.txt )
+
+src_prepare() {
+ default
+ java-utils-2_src_prepare
+
+ ln -rs \
+ "../spec.alpha-spec.alpha-${SPEC_ALPHA_VER}/src/main/clojure/clojure/spec" \
+ "src/clj/clojure/spec" || die "Could not create symbolic link for spec-alpha"
+ ln -rs \
+ "../core.specs.alpha-core.specs.alpha-${CORE_SPECS_ALPHA_VER}/src/main/clojure/clojure/core/specs" \
+ "src/clj/clojure/core/specs" || die "Could not create symbolic link for core-specs-alpha"
+}
+
+src_compile() {
+ eant -f build.xml jar
+}
+
+src_test() {
+ ln -rs \
+ "../tools.namespace-tools.namespace-${TOOLS_NAMESPACE_VER}/src/main/clojure/clojure/tools" \
+ "src/clj/clojure/tools" || die "Could not create symbolic link for tools-namespace"
+ mv \
+ "../java.classpath-java.classpath-${JAVA_CLASSPATH_VER}/src/main/clojure/clojure/java/"* \
+ "src/clj/clojure/java" || die "Could not move java-classpath"
+ mv \
+ "../tools.reader-tools.reader-${TOOLS_READER_VER}/src/main/clojure/clojure/tools/"* \
+ "src/clj/clojure/tools" || die "Could not move tools-reader"
+ mv \
+ "../test.generative-test.generative-${TEST_GENERATIVE_VER}/src/main/clojure/clojure/test/"* \
+ "src/clj/clojure/test" || die "Could not move test-generative"
+ ln -rs \
+ "../data.generators-data.generators-${DATA_GENERATORS_VER}/src/main/clojure/clojure/data/" \
+ "src/clj/clojure/data" || die "Could not create symbolic link for data-generators"
+ mv \
+ "../test.check-test.check-${TEST_CHECK_VER}/src/main/clojure/clojure/test/"* \
+ "src/clj/clojure/test" || die "Could not move test-check"
+
+ eant -f build.xml test
+}
+
+src_install() {
+ java-pkg_newjar "${PN}.jar"
+ java-pkg_dolauncher ${PN}-${SLOT} --main clojure.main
+ einstalldocs
+}