87 lines
1.9 KiB
Nix
87 lines
1.9 KiB
Nix
{ pkgs, stdenv, fetchFromGitHub
|
|
, gcc7, pkg-config, makeWrapper
|
|
, glib-networking
|
|
, next-gtk-webkit
|
|
, lispPackages
|
|
, sbcl
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "next";
|
|
version = "1.3.4";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "atlas-engineer";
|
|
repo = "next";
|
|
rev = version;
|
|
sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
|
|
};
|
|
|
|
# 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 ] ++ (with lispPackages;
|
|
[ prove-asdf trivial-features ]);
|
|
|
|
buildInputs = with lispPackages; [
|
|
alexandria
|
|
bordeaux-threads
|
|
cl-annot
|
|
cl-ansi-text
|
|
cl-css
|
|
cl-hooks
|
|
cl-json
|
|
cl-markup
|
|
cl-ppcre
|
|
cl-ppcre-unicode
|
|
cl-prevalence
|
|
closer-mop
|
|
dbus
|
|
dexador
|
|
ironclad
|
|
local-time
|
|
log4cl
|
|
lparallel
|
|
mk-string-metrics
|
|
parenscript
|
|
quri
|
|
sqlite
|
|
str
|
|
swank
|
|
trivia
|
|
trivial-clipboard
|
|
unix-opts
|
|
];
|
|
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" ];
|
|
};
|
|
}
|