on master help sign in
Add nix build files

This PR adds the files from https://github.com/replit/nixpkgs-replit/tree/main/pkgs/prybar directly to prybar to reduce the number of repositories we have to update to push changes.

commitae45733ccb0126fbb74efefadc5bf22c33b854f9 authorguillaume <guillaume@repl.it> dateWed 16 Jun 2021, 10:24 (5 years ago) parent98148ff
2 files changed+71
build-prybar.nix+31 default.nix+40
build-prybar.nixnew file+31
@@ -0,0 +1,31 @@
1+{ language, buildInputs ? [] }:
2+
3+{ lib, buildGoModule, fetchFromGitHub, bash, pkg-config }:
4+
5+buildGoModule rec {
6+ name = "prybar-${language}";
7+ version = "98148ff";
8+
9+ src = fetchFromGitHub{
10+ owner = "replit";
11+ repo = "prybar";
12+ rev = "${version}";
13+ sha256 = "14l4bhdlssp22wdxx1ycz9wl64z7bf3qwpqqp3npcva969191c48";
14+ };
15+
16+ inherit buildInputs;
17+ nativeBuildInputs = [ pkg-config ];
18+
19+ subPackages = [ "languages/${language}" ];
20+
21+ vendorSha256 = null;
22+
23+ preBuild = ''
24+ ${bash}/bin/bash ./scripts/inject.sh ${language}
25+ go generate ./languages/${language}/main.go
26+ '';
27+
28+ postInstall = ''
29+ mv $out/bin/${language} $out/bin/prybar-${language}
30+ '';
31+}
default.nixnew file+40
@@ -0,0 +1,40 @@
1+{ callPackage, python3, python2, lua5_1, readline, clojure, tcl }:
2+let
3+ buildPrybar = attrs: callPackage(import ./build-prybar.nix attrs) {};
4+in
5+{
6+ # TODO: These don't quite work yet
7+
8+ # Won't build
9+ # prybar-R = buildPrybar { language = "R"; buildInputs = [ pkgs.R ]; };
10+
11+ # Julia 1.1 doesn't seem to be on nix
12+ # prybar-julia = buildPrybar { language = "julia"; buildInputs = [ julia_13 ]; };
13+
14+ # Has problem reading from prybar_assets. Seems like a bug with the impl.
15+ # prybar-nodejs = buildPrybar { language = "nodejs"; buildInputs = [ ]; };
16+
17+ # Ruby 2.5 is deprecated!
18+ # prybar-ruby = buildPrybar { language = "ruby"; buildInputs = [ ruby_2_5 ]; };
19+
20+ # Untested, spidermonkey not supported on darwin. Feel free to test on linux.
21+ # prybar-spidermonkey = buildPrybar { language = "spidermonkey"; buildInputs = [ spidermonkey ]; };
22+
23+ prybar-python2 = buildPrybar { language = "python2"; buildInputs = [ python2 ]; };
24+
25+ prybar-python3 = buildPrybar { language = "python3"; buildInputs = [ python3 ]; };
26+
27+ prybar-lua = buildPrybar { language = "lua"; buildInputs = [ lua5_1 readline ]; };
28+
29+ prybar-clojure = buildPrybar { language = "clojure"; buildInputs = [ clojure ]; };
30+
31+ prybar-elisp = buildPrybar { language = "elisp"; };
32+
33+ prybar-ocaml = buildPrybar { language = "ocaml"; };
34+
35+ prybar-scala = buildPrybar { language = "scala"; };
36+
37+ prybar-sqlite = buildPrybar { language = "sqlite"; };
38+
39+ prybar-tcl = buildPrybar { language = "tcl"; buildInputs = [ tcl ]; };
40+}