From 044b0ec94da88fe6ecac313808459844fcb7163c Mon Sep 17 00:00:00 2001 From: olus2000 Date: Sun, 29 Oct 2023 08:04:22 +0100 Subject: factor-lang: 0.98 -> 0.99 changelog: https://re.factorcode.org/2023/08/factor-0-99-now-available.html --- .../factor-lang/adjust-paths-in-unit-tests.patch | 11 +- .../development/compilers/factor-lang/factor98.nix | 224 --------------------- .../development/compilers/factor-lang/factor99.nix | 218 ++++++++++++++++++++ pkgs/development/compilers/factor-lang/scope.nix | 2 +- .../staging-command-line-0.98-pre.patch | 13 -- .../staging-command-line-0.99-pre.patch | 13 ++ .../compilers/factor-lang/workdir-0.98-pre.patch | 24 --- .../compilers/factor-lang/workdir-0.99-pre.patch | 13 ++ 8 files changed, 249 insertions(+), 269 deletions(-) delete mode 100644 pkgs/development/compilers/factor-lang/factor98.nix create mode 100644 pkgs/development/compilers/factor-lang/factor99.nix delete mode 100644 pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch create mode 100644 pkgs/development/compilers/factor-lang/staging-command-line-0.99-pre.patch delete mode 100644 pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch create mode 100644 pkgs/development/compilers/factor-lang/workdir-0.99-pre.patch (limited to 'pkgs/development') diff --git a/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch b/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch index 068d7c09b68..10f812e3814 100644 --- a/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch +++ b/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch @@ -8,17 +8,17 @@ Subject: [PATCH] adjust unit test for finding executables in path for NixOS 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/basis/io/standard-paths/unix/unix-tests.factor b/basis/io/standard-paths/unix/unix-tests.factor -index 986c0564d2..f0772fdcc9 100644 +index acd5029..870537f 100644 --- a/basis/io/standard-paths/unix/unix-tests.factor +++ b/basis/io/standard-paths/unix/unix-tests.factor -@@ -5,12 +5,12 @@ sequences tools.test ; - +@@ -5,13 +5,13 @@ sequences tools.test ; + { f } [ "" find-in-path ] unit-test { t } [ - "ls" find-in-path { "/bin/ls" "/usr/bin/ls" } member? + "ls" find-in-path not not ] unit-test - + { t } [ "/sbin:" "PATH" os-env append "PATH" [ "ps" find-in-path @@ -26,6 +26,3 @@ index 986c0564d2..f0772fdcc9 100644 + not not ] with-os-env ] unit-test --- -2.19.2 - diff --git a/pkgs/development/compilers/factor-lang/factor98.nix b/pkgs/development/compilers/factor-lang/factor98.nix deleted file mode 100644 index 104290684a5..00000000000 --- a/pkgs/development/compilers/factor-lang/factor98.nix +++ /dev/null @@ -1,224 +0,0 @@ -{ lib -, stdenv -, cairo -, curl -, fetchurl -, freealut -, gdk-pixbuf -, git -, glib -, gnome2 -, graphviz -, gtk2-x11 -, interpreter -, libGL -, libGLU -, libogg -, librsvg -, libvorbis -, makeWrapper -, ncurses -, openal -, openssl -, pango -, pcre -, runCommand -, runtimeShell -, tzdata -, udis86 -, unzip -, writeScriptBin -, zlib -}: -let - runtimeLibs = [ - cairo - freealut - gdk-pixbuf - glib - gnome2.gtkglext - graphviz - gtk2-x11 - libGL - libGLU - libogg - libvorbis - openal - openssl - pango - pcre - udis86 - zlib - ]; - - wrapFactorScript = { from, to ? false, runtimeLibs }: '' - # Set Gdk pixbuf loaders file to the one from the build dependencies here - unset GDK_PIXBUF_MODULE_FILE - # Defined in gdk-pixbuf setup hook - findGdkPixbufLoaders "${librsvg}" - - ${if to then "makeWrapper ${from} ${to}" else "wrapProgram ${from}"} \ - --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --argv0 factor \ - --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:${lib.makeLibraryPath runtimeLibs} \ - --prefix PATH : ${lib.makeBinPath [ graphviz ]} - ''; - - wrapFactor = runtimeLibs: - runCommand (lib.appendToName "with-libs" interpreter).name - { - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ gdk-pixbuf ]; - passthru.runtimeLibs = runtimeLibs ++ interpreter.runtimeLibs; - } - (wrapFactorScript { - from = "${interpreter}/lib/factor/.factor.wrapped"; - to = "$out/bin/factor"; - runtimeLibs = (runtimeLibs ++ interpreter.runtimeLibs); - }); - - # Development helper for use in nix shell - wrapLocalFactor = writeScriptBin "wrapFactor" '' - #!${runtimeShell} - ${wrapFactorScript { from = "./factor"; inherit runtimeLibs; }} - ln -sf factor.image .factor-wrapped.image - ''; - rev = "7999e72aecc3c5bc4019d43dc4697f49678cc3b4"; - version = "0.98"; - -in -stdenv.mkDerivation { - pname = "factor-lang"; - inherit version; - - src = fetchurl { - url = "https://downloads.factorcode.org/releases/${version}/factor-src-${version}.zip"; - sha256 = "01ip9mbnar4sv60d2wcwfz62qaamdvbykxw3gbhzqa25z36vi3ri"; - }; - - patches = [ - ./staging-command-line-0.98-pre.patch - ./workdir-0.98-pre.patch - ./adjust-paths-in-unit-tests.patch - ]; - - nativeBuildInputs = [ git makeWrapper curl unzip wrapLocalFactor ]; - buildInputs = runtimeLibs; - - postPatch = '' - sed -ie '4i GIT_LABEL = heads/master-${rev}' GNUmakefile - - # There is no ld.so.cache in NixOS so we patch out calls to that completely. - # This should work as long as no application code relies on `find-library*` - # to return a match, which currently is the case and also a justified assumption. - - sed -ie "s#/sbin/ldconfig -p#cat $out/lib/factor/ld.so.cache#g" \ - basis/alien/libraries/finder/linux/linux.factor - - # Some other hard-coded paths to fix: - sed -i 's#/usr/share/zoneinfo/#${tzdata}/share/zoneinfo/#g' \ - extra/tzinfo/tzinfo.factor - - sed -i 's#/usr/share/terminfo#${ncurses.out}/share/terminfo#g' \ - extra/terminfo/terminfo.factor - - # De-memoize xdg-* functions, otherwise they break the image. - sed -ie 's/^MEMO:/:/' basis/xdg/xdg.factor - - # update default paths in factor-listener.el for fuel mode - substituteInPlace misc/fuel/fuel-listener.el \ - --replace '(defcustom fuel-factor-root-dir nil' "(defcustom fuel-factor-root-dir \"$out/lib/factor\"" - ''; - - buildPhase = '' - runHook preBuild - # Necessary here, because ld.so.cache is needed in its final location during rebuild. - mkdir -p $out/bin $out/lib/factor - patchShebangs ./build.sh - # Factor uses XDG_CACHE_HOME for cache during compilation. - # We can't have that. So, set it to $TMPDIR/.cache - export XDG_CACHE_HOME=$TMPDIR/.cache && mkdir -p $XDG_CACHE_HOME - - # There is no ld.so.cache in NixOS so we construct one - # out of known libraries. The side effect is that find-lib - # will work only on the known libraries. There does not seem - # to be a generic solution here. - find $(echo ${lib.makeLibraryPath runtimeLibs} | sed -e 's#:# #g') -name \*.so.\* > $TMPDIR/so.lst - (echo $(cat $TMPDIR/so.lst | wc -l) "libs found in cache \`/etc/ld.so.cache'"; - for l in $(<$TMPDIR/so.lst); do - echo " $(basename $l) (libc6,x86-64) => $l"; - done)> $out/lib/factor/ld.so.cache - - make -j$NIX_BUILD_CORES linux-x86-64 - printf "First build from upstream boot image\n" >&2 - ./build.sh bootstrap - printf "Rebuild boot image\n" >&2 - ./factor -script -e='"unix-x86.64" USING: system bootstrap.image memory ; make-image save 0 exit' - printf "Second build from local boot image\n" >&2 - ./build.sh bootstrap - runHook postBuild - ''; - - # For now, the check phase runs, but should always return 0. This way the logs - # contain the test failures until all unit tests are fixed. Then, it should - # return 1 if any test failures have occured. - doCheck = false; - checkPhase = '' - runHook preCheck - set +e - ./factor -e='USING: tools.test zealot.factor sequences namespaces formatting ; - zealot-core-vocabs "compiler" suffix [ test ] each :test-failures - test-failures get length "Number of failed Tests: %d\n" printf' - [ $? -eq 0 ] || { - mkdir -p "$out/nix-support" - touch "$out/nix-support/failed" - } - set -e - runHook postCheck - ''; - - installPhase = '' - runHook preInstall - cp -r factor factor.image LICENSE.txt README.md basis core extra misc $out/lib/factor - - # Create a wrapper in bin/ and lib/factor/ - ${wrapFactorScript { from = "$out/lib/factor/factor"; inherit runtimeLibs; }} - mv $out/lib/factor/factor.image $out/lib/factor/.factor-wrapped.image - cp $out/lib/factor/factor $out/bin/ - - # Emacs fuel expects the image being named `factor.image` in the factor base dir - ln -s $out/lib/factor/.factor-wrapped.image $out/lib/factor/factor.image - - # install fuel mode for emacs - mkdir -p $out/share/emacs/site-lisp - ln -s $out/lib/factor/misc/fuel/*.el $out/share/emacs/site-lisp/ - runHook postInstall - ''; - - passthru = { - inherit runtimeLibs wrapFactorScript; - withLibs = wrapFactor; - }; - - meta = with lib; { - homepage = "https://factorcode.org/"; - description = "A concatenative, stack-based programming language"; - longDescription = '' - The Factor programming language is a concatenative, stack-based - programming language with high-level features including dynamic types, - extensible syntax, macros, and garbage collection. On a practical side, - Factor has a full-featured library, supports many different platforms, and - has been extensively documented. - - The implementation is fully compiled for performance, while still - supporting interactive development. Factor applications are portable - between all common platforms. Factor can deploy stand-alone applications - on all platforms. Full source code for the Factor project is available - under a BSD license. - ''; - license = licenses.bsd2; - maintainers = with maintainers; [ vrthra spacefrogg ]; - platforms = lib.intersectLists platforms.x86_64 platforms.linux; - mainProgram = "factor"; - }; -} diff --git a/pkgs/development/compilers/factor-lang/factor99.nix b/pkgs/development/compilers/factor-lang/factor99.nix new file mode 100644 index 00000000000..5d60f1d5156 --- /dev/null +++ b/pkgs/development/compilers/factor-lang/factor99.nix @@ -0,0 +1,218 @@ +{ lib +, stdenv +, cairo +, curl +, fetchurl +, freealut +, gdk-pixbuf +, git +, glib +, gnome2 +, graphviz +, gtk2-x11 +, interpreter +, libGL +, libGLU +, libogg +, librsvg +, libvorbis +, makeWrapper +, ncurses +, openal +, openssl +, pango +, pcre +, runCommand +, runtimeShell +, tzdata +, udis86 +, unzip +, writeScriptBin +, zlib +}: +let + runtimeLibs = [ + cairo + freealut + gdk-pixbuf + glib + gnome2.gtkglext + graphviz + gtk2-x11 + libGL + libGLU + libogg + libvorbis + openal + openssl + pango + pcre + udis86 + zlib + ]; + + wrapFactorScript = { from, to ? false, runtimeLibs }: '' + # Set Gdk pixbuf loaders file to the one from the build dependencies here + unset GDK_PIXBUF_MODULE_FILE + # Defined in gdk-pixbuf setup hook + findGdkPixbufLoaders "${librsvg}" + + ${if to then "makeWrapper ${from} ${to}" else "wrapProgram ${from}"} \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --argv0 factor \ + --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:${lib.makeLibraryPath runtimeLibs} \ + --prefix PATH : ${lib.makeBinPath [ graphviz ]} + ''; + + wrapFactor = runtimeLibs: + runCommand (lib.appendToName "with-libs" interpreter).name + { + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ gdk-pixbuf ]; + passthru.runtimeLibs = runtimeLibs ++ interpreter.runtimeLibs; + } + (wrapFactorScript { + from = "${interpreter}/lib/factor/.factor.wrapped"; + to = "$out/bin/factor"; + runtimeLibs = (runtimeLibs ++ interpreter.runtimeLibs); + }); + + # Development helper for use in nix shell + wrapLocalFactor = writeScriptBin "wrapFactor" '' + #!${runtimeShell} + ${wrapFactorScript { from = "./factor"; inherit runtimeLibs; }} + ln -sf factor.image .factor-wrapped.image + ''; + rev = "e10b64dbc53a8583098e73580a1eb9ff4ce0c709"; + version = "0.99"; + +in +stdenv.mkDerivation { + pname = "factor-lang"; + inherit version; + + src = fetchurl { + url = "https://downloads.factorcode.org/releases/${version}/factor-src-${version}.zip"; + sha256 = "f5626bb3119bd77de9ac3392fdbe188bffc26557fab3ea34f7ca21e372a8443e"; + }; + + patches = [ + ./staging-command-line-0.99-pre.patch + ./workdir-0.99-pre.patch + ./adjust-paths-in-unit-tests.patch + ]; + + nativeBuildInputs = [ git makeWrapper curl unzip wrapLocalFactor ]; + buildInputs = runtimeLibs; + + postPatch = '' + sed -ie '4i GIT_LABEL = heads/master-${rev}' GNUmakefile + + # There is no ld.so.cache in NixOS so we patch out calls to that completely. + # This should work as long as no application code relies on `find-library*` + # to return a match, which currently is the case and also a justified assumption. + + sed -ie "s#/sbin/ldconfig -p#cat $out/lib/factor/ld.so.cache#g" \ + basis/alien/libraries/finder/linux/linux.factor + + # Some other hard-coded paths to fix: + sed -i 's#/usr/share/zoneinfo/#${tzdata}/share/zoneinfo/#g' \ + extra/tzinfo/tzinfo.factor + + sed -i 's#/usr/share/terminfo#${ncurses.out}/share/terminfo#g' \ + extra/terminfo/terminfo.factor + + # De-memoize xdg-* functions, otherwise they break the image. + sed -ie 's/^MEMO:/:/' basis/xdg/xdg.factor + + # update default paths in factor-listener.el for fuel mode + substituteInPlace misc/fuel/fuel-listener.el \ + --replace '(defcustom fuel-factor-root-dir nil' "(defcustom fuel-factor-root-dir \"$out/lib/factor\"" + ''; + + buildPhase = '' + runHook preBuild + # Necessary here, because ld.so.cache is needed in its final location during rebuild. + mkdir -p $out/bin $out/lib/factor + patchShebangs ./build.sh + # Factor uses XDG_CACHE_HOME for cache during compilation. + # We can't have that. So, set it to $TMPDIR/.cache + export XDG_CACHE_HOME=$TMPDIR/.cache && mkdir -p $XDG_CACHE_HOME + + # There is no ld.so.cache in NixOS so we construct one + # out of known libraries. The side effect is that find-lib + # will work only on the known libraries. There does not seem + # to be a generic solution here. + find $(echo ${lib.makeLibraryPath runtimeLibs} | sed -e 's#:# #g') -name \*.so.\* > $TMPDIR/so.lst + (echo $(cat $TMPDIR/so.lst | wc -l) "libs found in cache \`/etc/ld.so.cache'"; + for l in $(<$TMPDIR/so.lst); do + echo " $(basename $l) (libc6,x86-64) => $l"; + done)> $out/lib/factor/ld.so.cache + + make -j$NIX_BUILD_CORES linux-x86-64 + ./build.sh bootstrap + runHook postBuild + ''; + + # For now, the check phase runs, but should always return 0. This way the logs + # contain the test failures until all unit tests are fixed. Then, it should + # return 1 if any test failures have occured. + doCheck = false; + checkPhase = '' + runHook preCheck + set +e + ./factor -e='USING: tools.test zealot.factor sequences namespaces formatting ; + zealot-core-vocabs "compiler" suffix [ test ] each :test-failures + test-failures get length "Number of failed Tests: %d\n" printf' + [ $? -eq 0 ] || { + mkdir -p "$out/nix-support" + touch "$out/nix-support/failed" + } + set -e + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + cp -r factor factor.image LICENSE.txt README.md basis core extra misc $out/lib/factor + + # Create a wrapper in bin/ and lib/factor/ + ${wrapFactorScript { from = "$out/lib/factor/factor"; inherit runtimeLibs; }} + mv $out/lib/factor/factor.image $out/lib/factor/.factor-wrapped.image + cp $out/lib/factor/factor $out/bin/ + + # Emacs fuel expects the image being named `factor.image` in the factor base dir + ln -s $out/lib/factor/.factor-wrapped.image $out/lib/factor/factor.image + + # install fuel mode for emacs + mkdir -p $out/share/emacs/site-lisp + ln -s $out/lib/factor/misc/fuel/*.el $out/share/emacs/site-lisp/ + runHook postInstall + ''; + + passthru = { + inherit runtimeLibs wrapFactorScript; + withLibs = wrapFactor; + }; + + meta = with lib; { + homepage = "https://factorcode.org/"; + description = "A concatenative, stack-based programming language"; + longDescription = '' + The Factor programming language is a concatenative, stack-based + programming language with high-level features including dynamic types, + extensible syntax, macros, and garbage collection. On a practical side, + Factor has a full-featured library, supports many different platforms, and + has been extensively documented. + + The implementation is fully compiled for performance, while still + supporting interactive development. Factor applications are portable + between all common platforms. Factor can deploy stand-alone applications + on all platforms. Full source code for the Factor project is available + under a BSD license. + ''; + license = licenses.bsd2; + maintainers = with maintainers; [ vrthra spacefrogg ]; + platforms = lib.intersectLists platforms.x86_64 platforms.linux; + }; +} diff --git a/pkgs/development/compilers/factor-lang/scope.nix b/pkgs/development/compilers/factor-lang/scope.nix index 02f0f889634..af0d7af1293 100644 --- a/pkgs/development/compilers/factor-lang/scope.nix +++ b/pkgs/development/compilers/factor-lang/scope.nix @@ -5,7 +5,7 @@ let inside = (self: let callPackage = pkgs.newScope self; in rec { - interpreter = callPackage ./factor98.nix { inherit (pkgs) stdenv; }; + interpreter = callPackage ./factor99.nix { inherit (pkgs) stdenv; }; # Convenience access for using the returned attribute the same way as the # interpreter derivation. Takes a list of runtime libraries as its only diff --git a/pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch b/pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch deleted file mode 100644 index 57fc657ddcf..00000000000 --- a/pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/basis/tools/deploy/backend/backend.factor b/basis/tools/deploy/backend/backend.factor -index ec86089dbe..b146168ec9 100644 ---- a/basis/tools/deploy/backend/backend.factor -+++ b/basis/tools/deploy/backend/backend.factor -@@ -69,7 +69,7 @@ ERROR: can't-deploy-library-file library ; - [ staging-image-name "-output-image=" prepend , ] - [ " " join "-include=" prepend , ] bi - ] [ -- input-image-name "-i=" prepend , -+ input-image-name resource-path "-i=" prepend , - "-resource-path=" "" resource-path append , - "-run=tools.deploy.restage" , - ] bi diff --git a/pkgs/development/compilers/factor-lang/staging-command-line-0.99-pre.patch b/pkgs/development/compilers/factor-lang/staging-command-line-0.99-pre.patch new file mode 100644 index 00000000000..a9631664a35 --- /dev/null +++ b/pkgs/development/compilers/factor-lang/staging-command-line-0.99-pre.patch @@ -0,0 +1,13 @@ +diff --git a/basis/tools/deploy/backend/backend.factor b/basis/tools/deploy/backend/backend.factor +index cfcca0d..87a2b01 100644 +--- a/basis/tools/deploy/backend/backend.factor ++++ b/basis/tools/deploy/backend/backend.factor +@@ -72,7 +72,7 @@ ERROR: can't-deploy-library-file library ; + [ staging-image-name "-output-image=" prepend , ] + [ join-words "-include=" prepend , ] bi + ] [ +- input-image-name "-i=" prepend , ++ input-image-name resource-path "-i=" prepend , + "-resource-path=" "" resource-path append , + "-run=tools.deploy.restage" , + ] bi diff --git a/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch b/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch deleted file mode 100644 index f1498743dd6..00000000000 --- a/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/core/io/pathnames/pathnames.factor b/core/io/pathnames/pathnames.factor -index 2d382e49d1..d4d9228d6c 100644 ---- a/core/io/pathnames/pathnames.factor -+++ b/core/io/pathnames/pathnames.factor -@@ -144,7 +144,10 @@ GENERIC: vocab-path ( path -- newpath ) - GENERIC: absolute-path ( path -- path' ) - - M: string absolute-path -- "resource:" ?head [ -+ "resource:work" ?head [ -+ trim-head-separators "/var/lib/factor" prepend-path -+ absolute-path ] -+ [ "resource:" ?head [ - trim-head-separators resource-path - absolute-path - ] [ -@@ -158,6 +161,7 @@ M: string absolute-path - ] [ - current-directory get prepend-path - ] if ] if -+ ] if - ] if ; - - M: object normalize-path ( path -- path' ) diff --git a/pkgs/development/compilers/factor-lang/workdir-0.99-pre.patch b/pkgs/development/compilers/factor-lang/workdir-0.99-pre.patch new file mode 100644 index 00000000000..f1e7a592062 --- /dev/null +++ b/pkgs/development/compilers/factor-lang/workdir-0.99-pre.patch @@ -0,0 +1,13 @@ +diff --git a/core/io/pathnames/pathnames.factor b/core/io/pathnames/pathnames.factor +index a172fe4..40858bc 100644 +--- a/core/io/pathnames/pathnames.factor ++++ b/core/io/pathnames/pathnames.factor +@@ -166,6 +166,8 @@ GENERIC: absolute-path ( path -- path' ) + + M: string absolute-path + { ++ { [ "resource:work" ?head ] ++ [ trim-head-separators "/var/lib/factor" prepend-path absolute-path ] } + { [ "resource:" ?head ] [ trim-head-separators resource-path absolute-path ] } + { [ "vocab:" ?head ] [ trim-head-separators vocab-path absolute-path ] } + { [ "~" ?head ] [ trim-head-separators home prepend-path absolute-path ] } -- cgit 1.4.1 From 85d04f272abfca4a2dc5bd91ca128bf1fe1a49e8 Mon Sep 17 00:00:00 2001 From: olus2000 Date: Mon, 6 Nov 2023 09:09:32 +0100 Subject: factor-lang: fix upgrade to include changes from 8d999d4 --- pkgs/development/compilers/factor-lang/factor99.nix | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'pkgs/development') diff --git a/pkgs/development/compilers/factor-lang/factor99.nix b/pkgs/development/compilers/factor-lang/factor99.nix index 5d60f1d5156..85ff98a28ba 100644 --- a/pkgs/development/compilers/factor-lang/factor99.nix +++ b/pkgs/development/compilers/factor-lang/factor99.nix @@ -150,6 +150,11 @@ stdenv.mkDerivation { done)> $out/lib/factor/ld.so.cache make -j$NIX_BUILD_CORES linux-x86-64 + printf "First build from upstream boot image\n" >&2 + ./build.sh bootstrap + printf "Rebuild boot image\n" >&2 + ./factor -script -e='"unix-x86.64" USING: system bootstrap.image memory ; make-image save 0 exit' + printf "Second build from local boot image\n" >&2 ./build.sh bootstrap runHook postBuild ''; @@ -214,5 +219,6 @@ stdenv.mkDerivation { license = licenses.bsd2; maintainers = with maintainers; [ vrthra spacefrogg ]; platforms = lib.intersectLists platforms.x86_64 platforms.linux; + mainProgram = "factor"; }; } -- cgit 1.4.1