I try to update nyxt to the prereleased version by modifying the one in nixpkgs.
However, I got a build error as following
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking sources
unpacking source archive /nix/store/mrh4yw54wm96yl0d2dwk5z54zn332y38-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
patching sources
@nix { "action": "setPhase", "phase": "configurePhase" }
configuring
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
building
This is SBCL 2.3.2.nixos, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* T
* WARNING: System definition file #P"/nix/store/l3h3lc1li1pl6zmv8n6fkw3aspkvclrc-calispel-20170830-git/calispel.asd" contains definition for system "calispel-test". Please only define "calispel" and secondary systems with a name starting with "calispel/" (e.g. "calispel/test") in that file.
WARNING: System definition file #P"/nix/store/chkzkz2zxszhiqk2pc8n7l3ags8a84kc-s-xml-20150608-git/s-xml.asd" contains definition for system "s-xml.test". Please only define "s-xml" and secondary systems with a name starting with "s-xml/" (e.g. "s-xml/test") in that file.
WARNING: System definition file #P"/nix/store/chkzkz2zxszhiqk2pc8n7l3ags8a84kc-s-xml-20150608-git/s-xml.asd" contains definition for system "s-xml.examples". Please only define "s-xml" and secondary systems with a name starting with "s-xml/" (e.g. "s-xml/test") in that file.
WARNING: System definition file #P"/nix/store/sq1mspakwqwmw2g84grbna2c0a2s4wjc-montezuma-20180228-git/montezuma.asd" contains definition for system "montezuma-tests". Please only define "montezuma" and secondary systems with a name starting with "montezuma/" (e.g. "montezuma/test") in that file.
WARNING: UIOP/VERSION:PARSE-VERSION: "1.1-dev" doesn't follow asdf version numbering convention
WARNING: Invalid :version specifier "1.1-dev" for component "py-configparser" from file #P"/nix/store/mv6frz3pn0k7z6mw674ml2i7j2zibq1x-py-configparser-20170830-svn/py-configparser.asd", using NIL instead
WARNING: Invalid :version specifier "1.1-dev" for component "py-configparser" from file #P"/nix/store/mv6frz3pn0k7z6mw674ml2i7j2zibq1x-py-configparser-20170830-svn/py-configparser.asd", using NIL instead
;;; Computing Hangul syllable namesWARNING: redefining S-SERIALIZATION::SERIALIZE-SEXP-INTERNAL in DEFGENERIC
WARNING: redefining CL-PREVALENCE:GET-ID in DEFGENERIC
WARNING: redefining CL-PREVALENCE:GET-NAME in DEFGENERIC
WARNING: redefining (COMMON-LISP:SETF CL-PREVALENCE:GET-NAME) in DEFGENERIC
WARNING: redefining CL-PREVALENCE:GET-SIZE in DEFGENERIC
WARNING: redefining CL-PREVALENCE:GET-MIME-TYPE in DEFGENERIC
WARNING: redefining (COMMON-LISP:SETF CL-PREVALENCE:GET-MIME-TYPE) in DEFGENERIC
WARNING: redefining CL-PREVALENCE:GET-KEYWORDS in DEFGENERIC
WARNING: redefining (COMMON-LISP:SETF CL-PREVALENCE:GET-KEYWORDS) in DEFGENERIC
WARNING: No definition for LFP-SPAWN-SETUID
WARNING: No definition for LFP-SPAWN-SETGID
WARNING:
redefining CONSUME-ITEM (#<BUILT-IN-CLASS COMMON-LISP:SYMBOL>
#<SB-PCL:SYSTEM-CLASS COMMON-LISP:T>) in DEFMETHOD
WARNING: redefining LOG4CL-IMPL:APPENDER-ADDED in DEFGENERIC
WARNING: redefining LOG4CL-IMPL:APPENDER-REMOVED in DEFGENERIC
WARNING: redefining LOG4CL-IMPL::PROPERTY-ALIST in DEFGENERIC
debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD "main thread" RUNNING {1001118113}>:
Error opening #P"/nix/store/3qz06zjc898y884svd218ypdq29zwbp2-njson-20230214-git/backend/cl-json-tmpAAURSO1.fasl":
Permission denied
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE ] Retry opening.
1: [USE-VALUE ] Try opening a different file.
2: [RETRY ] Retry
compiling #<CL-SOURCE-FILE "njson/cl-json" "backend/cl-json">.
3: [ACCEPT ] Continue, treating
compiling #<CL-SOURCE-FILE "njson/cl-json" "backend/cl-json">
as having been successful.
4: Retry ASDF operation.
5: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
configuration.
6: [ABORT ] Exit debugger, returning to top level.
(SB-IMPL::FILE-PERROR #P"/nix/store/3qz06zjc898y884svd218ypdq29zwbp2-njson-20230214-git/backend/cl-json-tmpAAURSO1.fasl" 13 "Error opening ~S" #P"/nix/store/3qz06zjc898y884svd218ypdq29zwbp2-njson-20230214-git/backend/cl-json-tmpAAURSO1.fasl")
0]
;
; compilation unit aborted
; caught 1 fatal ERROR condition
* @nix { "action": "setPhase", "phase": "glibPreInstallPhase" }
glibPreInstallPhase
@nix { "action": "setPhase", "phase": "installPhase" }
installing
mkdir: created directory '/nix/store/na1x8han1zg56wjrsc7qysa0fjbm9bj4-nyxt-3-pre-release-6'
removed '/nix/store/na1x8han1zg56wjrsc7qysa0fjbm9bj4-nyxt-3-pre-release-6/libraries/nasdf/nasdf.asd'
rm: cannot remove '/nix/store/na1x8han1zg56wjrsc7qysa0fjbm9bj4-nyxt-3-pre-release-6/nyxt': No such file or directory
Why does it try to load cl-json with a tmp name?
The modification in lisp-modules/packages.nix is here:
nyxt-gtk = build-asdf-system rec {
inherit (super.nyxt) pname;
version = "3-pre-release-6";
lispLibs = super.nyxt.lispLibs ++ (with super; [
cl-colors2 cl-cffi-gtk cl-webkit2 mk-string-metrics cl-css
]);
src = pkgs.fetchFromGitHub {
owner = "atlas-engineer";
repo = "nyxt";
rev = version;
sha256 = "sha256-LueD7K1sLZUuRyTdaiXucNoAV7H5TT1jBHjXKTc+kpw=";
};
nativeBuildInputs = [ pkgs.makeWrapper ];
buildInputs = [
# needed for GSETTINGS_SCHEMAS_PATH
pkgs.gsettings-desktop-schemas pkgs.glib pkgs.gtk3
# needed for XDG_ICON_DIRS
pkgs.gnome.adwaita-icon-theme
];
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)
'';
# 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 GIO_EXTRA_MODULES ":" ${pkgs.dconf.lib}/lib/gio/modules/ \
--prefix GIO_EXTRA_MODULES ":" ${pkgs.glib-networking}/lib/gio/modules/
'';
};