Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { stdenv, lib, fetchFromGitHub, lispPackages, sbcl, pkgs }:
- let
- cluffer = pkgs.lispPackages.buildLispPackage rec {
- baseName = "cluffer";
- version = lib.substring 0 8 src.rev;
- buildSystems = [ "cluffer-base" "cluffer-simple-buffer" "cluffer-simple-line" "cluffer-standard-buffer" "cluffer-standard-line" "cluffer" ];
- parasites = [ "cluffer-test" ];
- description = "General purpose text-editor buffer";
- deps = with pkgs.lispPackages; [
- acclimation clump
- ];
- src = fetchFromGitHub {
- owner = "robert-strandh";
- repo = "cluffer";
- rev = "4aad29c276a58a593064e79972ee4d77cae0af4a";
- sha256 = "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj";
- # date = 2018-09-24T04:45:36+02:00;
- };
- packageName = "cluffer";
- asdFilesToKeep = [ "cluffer.asd" "cluffer-base.asd" "cluffer-simple-buffer.asd" "cluffer-simple-line.asd" "cluffer-standard-buffer.asd" "cluffer-standard-line.asd" ];
- };
- nyxt = pkgs.lispPackages.buildLispPackage rec {
- baseName = "nyxt";
- version = lib.substring 0 8 src.rev;
- buildSystems = [ "nyxt" "nyxt-ext" ];
- description = "Browser";
- deps = with pkgs.lispPackages; [
- alexandria
- bordeaux-threads
- chanl
- cl-annot
- cl-ansi-text
- cl-containers
- cl-css
- cl-json
- cl-markup
- cl-ppcre
- cl-ppcre-unicode
- cl-prevalence
- cl-webkit2
- closer-mop
- cluffer
- dbus
- dexador
- enchant
- fset
- ironclad
- local-time
- log4cl
- lparallel
- mk-string-metrics
- osicat
- parenscript
- plump
- prove-asdf
- quri
- serapeum
- sqlite
- str
- swank
- trivia
- trivial-clipboard
- trivial-features
- trivial-package-local-nicknames
- trivial-types
- unix-opts
- ];
- src = fetchFromGitHub {
- owner = "atlas-engineer";
- repo = "nyxt";
- rev = "f744af5233b3636460ce71650de2b0c7dcb9fa8e";
- sha256 = "1m4jic7nbm2jmxlm8k0zqg62z91g2f2s86by086brgfw056idjmz";
- # date = 2020-10-23T19:06:04+02:00;
- };
- packageName = "nyxt";
- asdFilesToKeep = [ "nyxt.asd" ];
- propagatedBuildInputs = [
- pkgs.libressl.out
- pkgs.webkitgtk
- pkgs.sbcl
- ];
- };
- nyxt-gtk = stdenv.mkDerivation {
- name = "nyxt";
- version = "2.0.0-nixos";
- src = fetchFromGitHub {
- owner = "atlas-engineer";
- repo = "nyxt";
- rev = "f744af5233b3636460ce71650de2b0c7dcb9fa8e";
- sha256 = "1m4jic7nbm2jmxlm8k0zqg62z91g2f2s86by086brgfw056idjmz";
- # date = 2020-10-23T19:06:04+02:00;
- };
- nativeBuildInputs = [
- pkgs.libressl.out
- pkgs.webkitgtk
- pkgs.sbcl
- pkgs.asdf
- ] ++ (with pkgs.lispPackages; [
- alexandria
- bordeaux-threads
- chanl
- cl-annot
- cl-ansi-text
- cl-containers
- cl-css
- cl-json
- cl-markup
- cl-ppcre
- cl-ppcre-unicode
- cl-prevalence
- cl-webkit2
- closer-mop
- cluffer
- dbus
- dexador
- enchant
- ironclad
- local-time
- log4cl
- lparallel
- mk-string-metrics
- osicat
- parenscript
- plump
- prove-asdf
- quri
- serapeum
- sqlite
- str
- swank
- trivia
- trivial-clipboard
- trivial-features
- trivial-package-local-nicknames
- trivial-types
- unix-opts
- ]);
- buildInputs = [
- pkgs.enchant.out
- pkgs.gsettings-desktop-schemas.out
- pkgs.glib-networking.out
- pkgs.pango.out
- pkgs.cairo.out
- pkgs.gtkd.out
- pkgs.gdk-pixbuf.out
- pkgs.gtk3.out
- pkgs.glib.out
- pkgs.libfixposix.out
- pkgs.webkitgtk
- ] ++ (with pkgs.gst_all_1; [
- gst-plugins-base
- gst-plugins-good
- gst-plugins-bad
- gst-plugins-ugly
- gst-libav
- ]);
- propogatedBuildInputs = [
- pkgs.enchant.out
- pkgs.gsettings-desktop-schemas.out
- pkgs.glib-networking.out
- pkgs.pango.out
- pkgs.cairo.out
- pkgs.gtkd.out
- pkgs.gdk-pixbuf.out
- pkgs.gtk3.out
- pkgs.glib.out
- pkgs.libfixposix.out
- pkgs.webkitgtk
- ];
- LD_LIBRARY_PATH = with stdenv.lib; "${makeLibraryPath [
- pkgs.gsettings-desktop-schemas.out
- pkgs.enchant.out
- pkgs.glib-networking.out
- pkgs.webkitgtk
- pkgs.gtk3
- pkgs.pango.out
- pkgs.cairo.out
- pkgs.gdk-pixbuf.out
- pkgs.gtkd.out
- pkgs.glib.out
- pkgs.libfixposix.out
- pkgs.libressl.out
- ]};";
- GIO_MODULE_DIR = "${pkgs.glib-networking.out}/lib/gio/modules/";
- GIO_EXTRA_MODULES = "${pkgs.glib-networking.out}/lib/gio/modules/";
- buildPhase = ''
- common-lisp.sh --eval "(require :asdf)" \
- --eval "(asdf:load-asd (truename \"nyxt.asd\") :name \"nyxt\")" \
- --eval '(asdf:make :nyxt/gtk-application)' \
- --quit
- '';
- installPhase = ''
- install -D -m0755 nyxt $out/bin/nyxt
- '';
- # Stripping destroys the generated SBCL image
- dontStrip = true;
- meta = with stdenv.lib; {
- description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
- homepage = "https://nyxt.atlas.engineer";
- license = licenses.bsd3;
- maintainers = [ maintainers.lewo ];
- platforms = [ "x86_64-linux" ];
- };
- };
- in nyxt
Add Comment
Please, Sign In to add comment