Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / interpreters / clojure / obb.nix
blobd6717c4ec701c238b56d95c8932e15e633694387
1 { lib
2 , stdenv
3 , babashka
4 , cacert
5 , clojure
6 , git
7 , jdk
8 , obb
9 , fetchFromGitHub
10 , makeWrapper
11 , runCommand }:
13 stdenv.mkDerivation rec {
14   pname = "obb";
15   version = "0.0.2";
17   src = fetchFromGitHub {
18     owner = "babashka";
19     repo = pname;
20     rev = "v${version}";
21     sha256 = "1Gxh4IMtytQCuPS+BWOc5AgjEBxa43ebYfDsxLSPeY0=";
22   };
24   nativeBuildInputs = [ makeWrapper ];
26   buildInputs = [ babashka cacert git jdk ];
28   configurePhase = ''
29     runHook preConfigure
31     mkdir -p .m2
32     substituteInPlace deps.edn --replace ':paths' ':mvn/local-repo "./.m2" :paths'
33     substituteInPlace bb.edn --replace ':paths' ':mvn/local-repo "./.m2" :paths'
34     echo deps.edn
36     runHook postConfigure
37   '';
39   buildPhase = ''
40     runHook preBuild
42     export DEPS_CLJ_TOOLS_DIR=${clojure}
43     export DEPS_CLJ_TOOLS_VERSION=${clojure.version}
44     mkdir -p .gitlibs
45     mkdir -p .cpcache
46     export GITLIBS=.gitlibs
47     export CLJ_CACHE=.cpcache
49     bb build
51     runHook postBuild
52   '';
54   installPhase = ''
55     runHook preInstall
57     mkdir -p $out/bin
58     ln -s /usr/bin/osascript $out/bin/osascript
60     install -Dm755 "out/bin/obb" "$out/bin/obb"
61     wrapProgram $out/bin/obb --prefix PATH : $out/bin
63     runHook postInstall
64   '';
66   passthru.tests = {
67     simple = runCommand "${pname}-test" {} ''
68       [ $(${obb}/bin/obb -e '(+ 1 2)') = '3' ]
69       touch $out
70     '';
71   };
73   meta = with lib; {
74     description = "Ad-hoc ClojureScript scripting of Mac applications via Apple's Open Scripting Architecture";
75     homepage = "https://github.com/babashka/obb";
76     license = licenses.epl10;
77     maintainers = with maintainers; [
78       willcohen
79     ];
80     platforms = platforms.darwin;
82     # https://hydra.nixos.org/job/nixpkgs/trunk/obb.aarch64-darwin/all
83     broken = true;
84   };