Coder Social home page Coder Social logo

scoop-clojure's Introduction

scoop-clojure Build status

This is a new and convenient way to install Clojure on Windows.

  • WSL2 is not required
  • Administrator privileges are not required
  • High chance it works on your corporate Windows system

First install Scoop installer. Installation steps for scoop and additional information can be found here. Don't worry installation is easy.

Buy Me A Coffee

if you like this project.


Clojure

To install Clojure with Scoop you have to add two important buckets first:

# if you don't have git version control system installed
# it is required for adding new external buckets to your scoop installer
# you can skip this step otherwise
scoop install git

# add scoop bucket for Java
scoop bucket add java

# add scoop bucket with extras, here there is a dependency on visual studio redistributable 'extras/vcredist2022'
scoop bucket add extras

# add scoop bucket for clojure build
scoop bucket add scoop-clojure https://github.com/littleli/scoop-clojure

Now we are ready to install Java and Clojure by issuing following commands:

# install TCK certified Java runtime and compiler if you need to (optional)
scoop install temurin-lts-jdk

# install official clojure tools
scoop install clj-deps

# update to the newest version
scoop update clj-deps

After successfully running steps above, you should be able to run Clojure with following:

clj

Emacs users should now issue clj and clojure commands without hassle.

Other tools available in this bucket

  • babashka: A port of the clojure bash script to Clojure
  • bb-http-server: Babashka to serve static assets
  • bb-web: A babashka fork for small web-apps
  • bibcal: Calculate dates based on the Bible and the 1st Book of Enoch
  • bootleg: Simple template processing command line tool to help build static websites
  • carve: Carve will search through your code for unused vars and will remove them
  • clj-kondo: A linter for Clojure code that sparks joy
  • clojure-lsp: Language server for Clojure
  • cq: Clojure Command-line Data Processor for JSON, YAML, EDN, XML and more
  • datalevin: A simple, fast and durable Datalog database
  • grasp: Grep Clojure code using clojure.spec regexes
  • hiccup-cli: CLI to convert HTML to Hiccup syntax
  • jet: CLI to transform between JSON, EDN and Transit, powered with a minimal query language
  • joker: A small interpreted dialect of Clojure written in Go. It is also a Clojure(Script) linter
  • lmgrep: A Grep-like utility based on Lucene Monitor
  • pathom-viz: Visualization tools for Pathom
  • pgmig: Standalone PostgreSQL migration runner
  • puget: A CLI version of puget
  • shh: A CLI password manager designed for efficiency
  • trenchman: A standalone nREPL/prepl client written in Go and heavily inspired by Grenchman

Babashka based utilities

  • bbin: Babashka script or project installer
  • eql-cli: A CLI for executing EQL queries on EDN data
  • neil: A CLI to add common aliases and features to deps.edn-based projects

Tools installation

Install extras

First add extras bucket to unlock required dependencies:

scoop bucket add extras

Tools

Now pick from the following tools:

scoop install babashka
scoop install bb-http-server
scoop install bb-web
scoop install bibcal
scoop install bootleg
scoop install carve
scoop install clj-kondo
scoop install clojure-lsp
scoop install cq
scoop install datalevin
scoop install hiccup-cli
scoop install grasp
scoop install jet
scoop install joker
scoop install lmgrep
scoop install pathom-viz
scoop install pgmig
scoop install puget
scoop install shh
scoop install trenchman

or babashka based utilities:

scoop install bbin
scoop install eql-cli
scoop install neil

Updates

These tools are updated quite often, don't forget to update regularly with:

scoop update *

Uninstall

If you had enough of Clojure for some reason. It's easy to uninstall it using scoop:

scoop uninstall clj-deps

Also applies to every tool above.

Scoop directory

This scoop bucket is also listed in Scoop directory where to check other useful buckets with tons of packaged software.

Contributor Code of Conduct

This project adheres to No Code of Conduct. We are all adults. I accept anyone's contributions. Nothing else matters.

For more information please visit the No Code of Conduct homepage.

scoop-clojure's People

Contributors

dainiusjocas avatar github-actions[bot] avatar littleli avatar rads avatar seancorfield avatar wilt00 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

scoop-clojure's Issues

Shim without `cmd-` prefix?

After successfully running steps above, you should be able to run Clojure with following:

clj

To launch clojure from cmd.exe or tools like Emacs, you can use prepared shims:

cmd-clj
cmd-clojure

Thanks for the project, it's useful.
However I don't understand the above?

Under what context can I just run clj without the cmd- prefix?
Why aren't the shims written so that they work in the same way as osx and linux with clj being used from the command line?
Is it possible to add this as an option? Or is there a problem that this is averting?

Thank you.

[Bug]: Command "scoop install clj-deps" returns with message "Couldn't find manifest for 'vcredist2015'."

Prerequisites

  • I have written a descriptive issue title.
  • I have searched all issues/PRs to ensure it has not already been reported or fixed.
  • I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name

scoop-clojure

Expected/Current Behaviour

Expected command scoop install clj-deps to successfully install Clojure. Instead the command returned with the message Couldn't find manifest for 'vcredist2015'.

Steps to Reproduce

scoop install clj-deps

Possible Solution

If it is documentation issue then please update documentation otherwise I do not understand what is going on as I have limited understanding of programming.

Scoop and Buckets Version

Current Scoop version:
v0.3.1 - Released at 2022-11-15

'java' bucket:
53e72ae1 (HEAD -> master, origin/master, origin/HEAD) openjdk21: Update to version 21-6-ea

'main' bucket:
1cc9e55f0 (HEAD -> master, origin/master, origin/HEAD) jdtls: Update to version 1.20.0-202301192225

'scoop-clojure' bucket:
569adcd (HEAD -> master, origin/master, origin/HEAD) datalevin: Update to version 0.8.1

Scoop Config

last_update           scoop_repo                              scoop_branch
-----------           ----------                              ------------
20/01/2023 4:54:43 pm https://github.com/ScoopInstaller/Scoop master

PowerShell Version

Name                           Value
----                           -----
PSVersion                      7.3.1
PSEdition                      Core
GitCommitId                    7.3.1
OS                             Microsoft Windows 10.0.19045
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Additional Softwares

No response

Clojure On Main Bucket

I know it's not related to this repo but I think it's a good place to ask, why Clojure need extra bucket and can't we add it to main bucket for simplicity?

Suggestion: Automate bumps

Hello, I just found that it seems you manually update the project with bumps, for example for clojure-lsp. First, thank you for being so fast! Second, maybe we can automate the bumps on the projects itself, WDYT?

clojure-lsp for example has a clojure-lsp-bot which bump the homebrew formula automatically after a new release was done, we could add a new job here bumping this project, we would only need to give write permission to the bot, WDYT?

[Bug]: Changing to new download location for Clojure CLI artifacts

Prerequisites

  • I have written a descriptive issue title.
  • I have searched all issues/PRs to ensure it has not already been reported or fixed.
  • I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name

clojure

Expected/Current Behaviour

Download location zip is moving to a new location

Steps to Reproduce

by inspection

Possible Solution

As of version 1.11.1.1386, we are moving to using Github Releases on https://github.com/clojure/brew-install to distribute CLI artifacts. Please update the 1386 link to refer its new primary download location:

https://github.com/clojure/brew-install/releases/download/1.11.1.1386/clojure-tools.zip

Thanks!

Scoop and Buckets Version

any

Scoop Config

any

PowerShell Version

any

Additional Softwares

No response

Add suggestion to extras/vcredist2010

Binaries created with native-image have dependency on MSVCR100.dll which should be part of Microsoft Visual C++ Redistributable for Visual Studio 2010

This redistributable package sits in the extras scoop and should be added to manifest as a suggestion.

References:

  1. Manifest: https://github.com/lukesampson/scoop-extras/blob/master/bucket/vcredist2010.json
  2. Example manifest with a similar (but not the same) suggestion: https://github.com/ScoopInstaller/Main/blob/master/bucket/erlang.json

Adhere to manifest schema

Checker sections that contain regexes under "re" key do not update properly. Changing this to "regex" should make it work again.

Edit: Cause of the update was a newly protected master branch, which prevent manifests to update.

[email protected]: hash check failed

I'm getting an error trying to install babashka


❯ scoop update babashka
babashka: 0.8.2 -> 0.8.156
Updating one outdated app:
Updating 'babashka' (0.8.2 -> 0.8.156)
Downloading new version
babashka-0.8.156-windows-amd64.zip (21.7 MB) [================================================================] 100%
Checking hash of babashka-0.8.156-windows-amd64.zip ... Get-FileHash: C:\Users\tucker\scoop\apps\scoop\current\lib\install.ps1:693
Line |
 693 |  …          return (Get-FileHash -Path $file -Algorithm $algname).Hash.T …
     |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Operation did not complete successfully because the file contains a virus or potentially unwanted
     | software. :
     | 'C:\Users\tucker\scoop\cache\babashka#0.8.156#https_github.com_borkdude_babashka_releases_download_v0.8.156_babashka-0.8.156-windows-amd64.zip'

ERROR You cannot call a method on a null-valued expression.
Get-Content: C:\Users\tucker\scoop\apps\scoop\current\lib\core.ps1:1102
Line |
1102 |          return Get-Content $file -AsByteStream -TotalCount 8
     |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Operation did not complete successfully because the file contains a virus or potentially unwanted
     | software. :
     | 'C:\Users\tucker\scoop\cache\babashka#0.8.156#https_github.com_borkdude_babashka_releases_download_v0.8.156_babashka-0.8.156-windows-amd64.zip'

Looks like a hash comparison error.

clojure stuck at version 1.10.3.1040 -- can't upgrade, can't uninstall

PS C:\Users\tryan> scoop status
Scoop is up to date
Update is available for:
clojure: 1.10.3.1040 -> 1.10.3.1087

PS C:\Users\tryan> scoop update clojure
clojure: 1.10.3.1040 -> 1.10.3.1087
Updating 1 outdated app:
Updating 'clojure' (1.10.3.1040 -> 1.10.3.1087) [64bit]
Downloading new version
Loading clojure-tools-1.10.3.1087.zip from cache
Checking hash of clojure-tools-1.10.3.1087.zip ... ok.
Uninstalling 'clojure' (1.10.3.1040)
WARN Shim for 'cmd-clojure' is missing. Skipping.
WARN Shim for 'cmd-clj' is missing. Skipping.
Uninstalling PowerShell module 'ClojureTools'.
Removing ~\scoop\modules\ClojureTools
ERROR Cannot bind argument to parameter 'LinkName' because it is an empty string.
ERROR This application failed to update: clojure

PS C:\Users\tryan> scoop uninstall clojure
Uninstalling 'clojure' (1.10.3.1040)
WARN Shim for 'cmd-clojure' is missing. Skipping.
WARN Shim for 'cmd-clj' is missing. Skipping.
Uninstalling PowerShell module 'ClojureTools'.
Removing ~\scoop\modules\ClojureTools
ERROR Cannot bind argument to parameter 'LinkName' because it is an empty string.

PS C:\Users\tryan> scoop checkup
No problems identified!
PS C:\Users\tryan> scoop status
Scoop is up to date
Update is available for:
clojure: 1.10.3.1040 -> 1.10.3.1087

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.