diff options
Diffstat (limited to 'pkgs/applications/networking/browsers/next/default.nix')
-rw-r--r-- | pkgs/applications/networking/browsers/next/default.nix | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/next/default.nix b/pkgs/applications/networking/browsers/next/default.nix new file mode 100644 index 00000000000..2b2e173342c --- /dev/null +++ b/pkgs/applications/networking/browsers/next/default.nix @@ -0,0 +1,80 @@ +{ pkgs, stdenv, fetchFromGitHub +, gcc7, pkg-config, makeWrapper +, glib-networking +, next-gtk-webkit +, lispPackages +, sbcl +}: + +stdenv.mkDerivation rec { + pname = "next"; + version = "1.3.1"; + + src = fetchFromGitHub { + owner = "atlas-engineer"; + repo = "next"; + rev = version; + sha256 = "01fn1f080ydk0wj1bwkyakqz93bdq9xb5x8qz820jpl9id17bqgj"; + }; + + # Stripping destroys the generated SBCL image + dontStrip = true; + + prePatch = '' + substituteInPlace source/ports/gtk-webkit.lisp \ + --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit" + ''; + + nativeBuildInputs = [ sbcl makeWrapper ]; + buildInputs = with lispPackages; [ + trivial-features + trivial-garbage + alexandria + bordeaux-threads + cl-json + cl-markup + cl-ppcre + cl-ppcre-unicode + closer-mop + dexador + ironclad + lparallel + parenscript + quri + cl-css + log4cl + mk-string-metrics + sqlite + str + swank + trivia + trivial-clipboard + unix-opts + dbus + ]; + propagatedBuildInputs = [ next-gtk-webkit ]; + + buildPhase = '' + common-lisp.sh --eval "(require :asdf)" \ + --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \ + --eval '(asdf:make :next)' \ + --quit + ''; + + installPhase = '' + install -D -m0755 next $out/bin/next + ''; + + preFixup = '' + wrapProgram $out/bin/next \ + --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" + ''; + + meta = with stdenv.lib; { + description = "Infinitely extensible web-browser (with Lisp development files)"; + homepage = https://next.atlas.engineer; + license = licenses.bsd3; + maintainers = [ maintainers.lewo ]; + platforms = [ "x86_64-linux" ]; + }; + } |