Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nyxt: 2.2.4 -> 3.1.0 #235095

Merged
merged 6 commits into from
Jun 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3554,6 +3554,12 @@
fingerprint = "4779 D1D5 3C97 2EAE 34A5 ED3D D8AF C4BF 0567 0F9D";
}];
};
dariof4 = {
name = "dariof4";
email = "[email protected]";
github = "dariof4";
githubId = 9992814;
};
darkonion0 = {
name = "Alexandre Peruggia";
email = "[email protected]";
Expand Down
9 changes: 7 additions & 2 deletions pkgs/applications/networking/browsers/nyxt/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,14 @@ stdenv.mkDerivation rec {
glib gdk-pixbuf cairo
mailcap pango gtk3
glib-networking gsettings-desktop-schemas
xclip notify-osd enchant
notify-osd enchant
] ++ gstBuildInputs;

GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" gstBuildInputs;

# The executable is already built in sbclPackages.nyxt, buildPhase tries to build using the makefile which we ignore
dontBuild = true;

dontWrapGApps = true;
installPhase = ''
mkdir -p $out/share/applications/
Expand All @@ -38,7 +41,9 @@ stdenv.mkDerivation rec {
cp -f $src/assets/nyxt_''${i}x''${i}.png "$out/share/icons/hicolor/''${i}x''${i}/apps/nyxt.png"
done

# Need to suffix PATH with xclip to be able to copy/paste in Nyxt even if xclip/xsel/wl-clipboard are not in the user's PATH
mkdir -p $out/bin && makeWrapper $src/bin/nyxt $out/bin/nyxt \
--suffix PATH : ${lib.makeBinPath [ xclip ]} \
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "${GST_PLUGIN_SYSTEM_PATH_1_0}" \
--argv0 nyxt "''${gappsWrapperArgs[@]}"
'';
Expand All @@ -51,7 +56,7 @@ stdenv.mkDerivation rec {
description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
homepage = "https://nyxt.atlas.engineer";
license = licenses.bsd3;
maintainers = with maintainers; [ lewo payas ];
maintainers = with maintainers; [ lewo dariof4 ];
platforms = platforms.all;
};
}
224 changes: 209 additions & 15 deletions pkgs/development/lisp-modules/packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -261,17 +261,211 @@ let
lispLibs = super.mathkit.lispLibs ++ [ super.sb-cga ];
};

quri_7_0 = build-asdf-system {
inherit (super.quri) pname systems lispLibs;
version = "0.7.0";

src = pkgs.fetchFromGitHub {
owner = "fukamachi";
repo = "quri";
rev = "0.7.0";
sha256 = "sha256-/9p67rfbkdrx5nn4kXEUAM9MzV7NYUsRcKsrP/e2MlA=";
};
};

cl-colors2_0_5_3 = build-asdf-system {
inherit (super.cl-colors2) pname systems lispLibs;
version = "0.5.3";

src = pkgs.fetchgit {
url = "https://notabug.org/cage/cl-colors2";
rev = "refs/tags/v0.5.3";
sha256 = "sha256-anYkLJoNOVBQoXzWVBgbEusQDdud0RA8nZzedl8V93w=";
};
};

cl-webkit2_3_5_8 = build-asdf-system {
inherit (super.cl-webkit2) pname systems nativeLibs lispLibs;
version = "3.5.8";

src = pkgs.fetchFromGitHub {
owner = "joachifm";
repo = "cl-webkit";
rev = "3.5.8";
sha256 = "sha256-wZ/zRRJlTiOIny4BsU+wsFtxtS5YKx3WalwpCVQPFSY=";
};
};

prompter = build-asdf-system {
pname = "prompter";
version = "0.1.0";

src = pkgs.fetchFromGitHub {
owner = "atlas-engineer";
repo = "prompter";
rev = "0.1.0";
sha256 = "sha256-Duv7L2lMjr3VXsoujQDOMNHCbdUDX4RWoncVm9LDCZE=";
};

lispLibs = [
self.cl-containers
self.nclasses_0_5_0
super.alexandria
super.calispel
super.closer-mop
super.lparallel
super.moptilities
super.serapeum
super.str
super.trivial-package-local-nicknames
];

};

nasdf-unstable = build-asdf-system {
inherit (super.nasdf) pname systems;
version = "20230524-git";
src = pkgs.fetchFromGitHub {
owner = "atlas-engineer";
repo = "ntemplate";
rev = "51a884f388ec526c32914093fcad6bb2434e3c14";
sha256 = "sha256-bjQPkiHAxhjsHCnWpCGMsmQlGDJFGtQEdevnhK2k+kY=";
};
};

njson_1_0_0 = build-asdf-system {
inherit (super.njson) pname;
version = "1.0.0";
src = pkgs.fetchFromGitHub {
owner = "atlas-engineer";
repo = "njson";
rev = "1.0.0";
sha256 = "sha256-zeOxkoi5cPl1sw1oEOaMsKhhs3Pb8EzzKTjvuDNj/Ko=";
};
lispLibs = [ self.nasdf-unstable super.cl-json ];
systems = [ "njson" "njson/cl-json" ];
};

nsymbols_0_3_1 = build-asdf-system {
inherit (super.nsymbols) pname;
version = "0.3.1";
src = pkgs.fetchFromGitHub {
owner = "atlas-engineer";
repo = "nsymbols";
rev = "0.3.1";
sha256 = "sha256-KcrE06bG5Khp5/807wb/TbPG3nWTlNWHrDpmK6bm7ZM=";
};
lispLibs = [ super.closer-mop ];
systems = [ "nsymbols" "nsymbols/star" ];

};

nclasses_0_5_0 = build-asdf-system {
inherit (super.nclasses) pname systems;
version = "0.5.0";
src = pkgs.fetchFromGitHub {
owner = "atlas-engineer";
repo = "nclasses";
rev = "0.5.0";
sha256 = "sha256-UcavZ0fCA2hkVU/CqUZfyCqJ8gXKPpXTCP0WLUIF1Ss=";
};
lispLibs = [ self.nasdf-unstable super.moptilities ];
};

nfiles_1_1_2 = build-asdf-system {
inherit (super.nfiles) pname systems;
version = "1.1.2";
src = pkgs.fetchFromGitHub {
owner = "atlas-engineer";
repo = "nfiles";
rev = "1.1.2";
sha256 = "sha256-YsVcCFrJIFL9Z4wQNAv6chiz6wB/eB8v/EUMXPLs3fw=";
};
lispLibs = [
self.nasdf-unstable
self.nclasses_0_5_0
self.quri_7_0
super.alexandria
super.iolib
super.serapeum
super.trivial-garbage
super.trivial-package-local-nicknames
super.trivial-types
];
};

nyxt-gtk = build-asdf-system {
inherit (super.nyxt) pname;
version = "2.2.4";
version = "3.1.0";

lispLibs = super.nyxt.lispLibs ++ (with super; [
cl-cffi-gtk cl-webkit2 mk-string-metrics cl-css
]);
lispLibs = with super; [
self.nasdf-unstable
self.prompter
self.cl-colors2_0_5_3
self.njson_1_0_0
self.nsymbols_0_3_1
self.nclasses_0_5_0
self.nfiles_1_1_2
self.quri_7_0
self.cl-webkit2_3_5_8
self.swank
alexandria
bordeaux-threads
calispel
cl-base64
cl-gopher
cl-html-diff
cl-json
cl-ppcre
cl-ppcre-unicode
cl-prevalence
cl-qrencode
cl-tld
closer-mop
cl-containers
dissect
moptilities
dexador
enchant
flexi-streams
history-tree
idna
iolib
lass
local-time
lparallel
log4cl
montezuma
ndebug
nhooks
nkeymaps
osicat
parenscript
py-configparser
serapeum
str
phos
plump
clss
spinneret
slynk
trivia
trivial-clipboard
trivial-features
trivial-garbage
trivial-package-local-nicknames
trivial-types
unix-opts
cluffer
cl-cffi-gtk
cl-gobject-introspection
];

src = pkgs.fetchzip {
url = "https://github.com/atlas-engineer/nyxt/archive/2.2.4.tar.gz";
sha256 = "12l7ir3q29v06jx0zng5cvlbmap7p709ka3ik6x29lw334qshm9b";
src = pkgs.fetchFromGitHub {
owner = "atlas-engineer";
repo = "nyxt";
rev = "3.1.0";
sha256 = "sha256-H3AlslECb/VvIC6zAGkLNTaGJ/nb97J6RXAN8sEgAgY=";
};

nativeBuildInputs = [ pkgs.makeWrapper ];
Expand All @@ -284,27 +478,27 @@ let
pkgs.gnome.adwaita-icon-theme
];

# This is needed since asdf:make tries to write in the directory of the .asd file of the system it's compiling
postConfigure = ''
export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$(pwd)//
'';

buildScript = pkgs.writeText "build-nyxt.lisp" ''
(load "${super.nyxt.asdfFasl}/asdf.${super.nyxt.faslExt}")
(asdf:load-system :nyxt/gtk-application)
(sb-ext:save-lisp-and-die "nyxt" :executable t
#+sb-core-compression :compression
#+sb-core-compression t
:toplevel #'nyxt:entry-point)
;; There's a weird error while copy/pasting in Nyxt that manifests with sb-ext:save-lisp-and-die, so we use asdf:make instead
(asdf:make :nyxt/gi-gtk-application)
'';

# Run with WEBKIT_FORCE_SANDBOX=0 if getting a runtime error
# See https://github.com/atlas-engineer/nyxt/issues/1781
# TODO(kasper): use wrapGAppsHook
installPhase = super.nyxt.installPhase + ''
rm -v $out/nyxt
mkdir -p $out/bin
cp -v nyxt $out/bin
wrapProgram $out/bin/nyxt \
--set WEBKIT_FORCE_SANDBOX 0 \
--prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH \
--prefix XDG_DATA_DIRS : $XDG_ICON_DIRS \
--prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
--prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
--prefix GIO_EXTRA_MODULES ":" ${pkgs.dconf.lib}/lib/gio/modules/ \
--prefix GIO_EXTRA_MODULES ":" ${pkgs.glib-networking}/lib/gio/modules/
'';
Expand Down
2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25120,10 +25120,12 @@ with pkgs;
sbcl_2_3_4 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.4"; };
faslExt = "fasl";
flags = [ "--dynamic-space-size" "3000" ];
};
sbcl_2_3_5 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.5"; };
faslExt = "fasl";
flags = [ "--dynamic-space-size" "3000" ];
};
sbcl = sbcl_2_3_5;

Expand Down