Skip to content

Commit bbd6f85

Browse files
committed
Vendor clojure.org tools, from brew
1 parent cf88fc9 commit bbd6f85

1 file changed

Lines changed: 30 additions & 39 deletions

File tree

projects/clojure.org/package.yml

Lines changed: 30 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,44 @@
1-
distributable:
2-
url: https://github.com/clojure/clojure/archive/refs/tags/clojure-{{version}}.tar.gz
3-
strip-components: 1
1+
distributable: ~
2+
3+
warnings:
4+
- vendored
45

56
versions:
6-
github: clojure/clojure/releases/tags
7-
strip: /^clojure-/
7+
github: clojure/brew-install/releases/tags
88

9-
dependencies:
10-
openjdk.org: ">=11"
11-
maven.apache.org: "^3.8"
9+
provides:
10+
- bin/clj
11+
- bin/clojure
1212

1313
build:
1414
dependencies:
15-
openjdk.org: ">=11"
16-
maven.apache.org: "^3.8"
17-
15+
curl.se: "*"
16+
working-directory: ${{prefix}}
1817
script: |
19-
# Ensure we're using the correct Java version
20-
export JAVA_HOME=$(pkgx which java | xargs dirname | xargs dirname)
18+
curl -LsSO https://github.com/clojure/brew-install/releases/download/{{version}}/clojure-tools-{{version}}.tar.gz
19+
tar xzf clojure-tools-{{version}}.tar.gz
2120
22-
# Build the Clojure JAR
23-
mvn clean package -DskipTests -Dproject.build.sourceEncoding=UTF-8
21+
mkdir -p {{prefix}}/bin \
22+
{{prefix}}/lib/clojure/libexec \
23+
{{prefix}}/share/man/man1
2424
25-
# Create the clojure CLI script wrapper
26-
mkdir -p $PKGX_INSTALL_DIR/bin
25+
cp clojure-tools/deps.edn {{prefix}}/lib/clojure/
26+
cp clojure-tools/example-deps.edn {{prefix}}/lib/clojure/
27+
cp clojure-tools/tools.edn {{prefix}}/lib/clojure/
28+
cp clojure-tools/exec.jar {{prefix}}/lib/clojure/libexec/
29+
cp clojure-tools/clojure-tools-{{version}}.jar {{prefix}}/lib/clojure/libexec/
2730
28-
# Copy the built JAR
29-
cp target/clojure-*.jar $PKGX_INSTALL_DIR/lib/clojure.jar
31+
# Strip +brewing to get the final installed path
32+
brewing_prefix="{{prefix}}"
33+
final_prefix="${brewing_prefix%+brewing}"
3034
31-
# Create the clj wrapper script
32-
cat > $PKGX_INSTALL_DIR/bin/clj << 'EOF'
33-
#!/bin/bash
34-
# Clojure REPL wrapper
35-
exec java -cp "{{PKGX_INSTALL_DIR}}/lib/clojure.jar" clojure.main "$@"
36-
EOF
37-
chmod +x $PKGX_INSTALL_DIR/bin/clj
35+
sed -e "s@PREFIX@${final_prefix}/lib/clojure@g" clojure-tools/clojure > {{prefix}}/bin/clojure
36+
sed -e "s@BINDIR@${final_prefix}/bin@g" clojure-tools/clj > {{prefix}}/bin/clj
37+
chmod 755 {{prefix}}/bin/clojure {{prefix}}/bin/clj
3838
39-
# Create clojure alias
40-
cat > $PKGX_INSTALL_DIR/bin/clojure << 'EOF'
41-
#!/bin/bash
42-
exec java -cp "{{PKGX_INSTALL_DIR}}/lib/clojure.jar" clojure.main "$@"
43-
EOF
44-
chmod +x $PKGX_INSTALL_DIR/bin/clojure
39+
cp clojure-tools/clojure.1 {{prefix}}/share/man/man1/
40+
cp clojure-tools/clj.1 {{prefix}}/share/man/man1/
4541
46-
provides:
47-
- bin/clj
48-
- bin/clojure
42+
rm -rf clojure-tools clojure-tools-{{version}}.tar.gz
4943
50-
test:
51-
script: |
52-
clj --version 2>&1 | grep -q "Clojure"
53-
clojure -e "(println (+ 1 2))" | grep -q "3"
44+
test: clojure --version

0 commit comments

Comments
 (0)