diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5e78a3f8d4b..e74a09490ff 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3084,6 +3084,12 @@ fingerprint = "85F3 72DF 4AF3 EF13 ED34 72A3 0AAF 2901 E804 0715"; }]; }; + drzoidberg = { + email = "jakob@mast3rsoft.com"; + github = "jakobneufeld"; + githubId = 24791219; + name = "Jakob Neufeld"; + }; dschrempf = { name = "Dominik Schrempf"; email = "dominik.schrempf@gmail.com"; diff --git a/pkgs/applications/science/electronics/picoscope/default.nix b/pkgs/applications/science/electronics/picoscope/default.nix index 344d54d10a6..83c8e2c6dd3 100644 --- a/pkgs/applications/science/electronics/picoscope/default.nix +++ b/pkgs/applications/science/electronics/picoscope/default.nix @@ -104,7 +104,8 @@ in stdenv.mkDerivation rec { makeWrapper "$(command -v mono)" $out/bin/picoscope \ --add-flags $out/lib/PicoScope.GTK.exe \ --prefix MONO_PATH : "$MONO_PATH" \ - --prefix LD_LIBRARY_PATH : "$MONO_PATH" + --prefix LD_LIBRARY_PATH : "$MONO_PATH" \ + --set LANG C runHook postInstall ''; diff --git a/pkgs/applications/science/electronics/picoscope/sources.json b/pkgs/applications/science/electronics/picoscope/sources.json index 7404259b231..aca5f8f4a0f 100644 --- a/pkgs/applications/science/electronics/picoscope/sources.json +++ b/pkgs/applications/science/electronics/picoscope/sources.json @@ -6,64 +6,64 @@ "version": "1.1.27-1r153" }, "libpicoipp": { - "sha256": "87ae49cd5e8dda4a73a835b95ea13e4c3fc4d1c4c9d6495c9affdf6fa6b1b4aa", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libpicoipp/libpicoipp_1.3.0-4r121_amd64.deb", - "version": "1.3.0-4r121" + "sha256": "0e414ad547f506a39ff11a64772baec923e54f8ca98b81fc9b9cbd19ed573b22", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libpicoipp/libpicoipp_1.3.0-4r130_amd64.deb", + "version": "1.3.0-4r130" }, "libps2000": { - "sha256": "792e506c08cebbd617e833e1547d3e5a13a186f93cea3f84608b7ed9451fb077", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000/libps2000_3.0.75-3r2957_amd64.deb", - "version": "3.0.75-3r2957" + "sha256": "d1e94148719a03b70f233cea9a686ed48be03224f2931c9cd282571819a780c7", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000/libps2000_3.0.76-3r2981_amd64.deb", + "version": "3.0.76-3r2981" }, "libps2000a": { - "sha256": "f31b3a8e9c6af14a59e348e4b302f12f582cdb08a47a3c04d8a6a612b4630305", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000a/libps2000a_2.1.75-5r2957_amd64.deb", - "version": "2.1.75-5r2957" + "sha256": "c665b70c04203c98bb1b509830ec522f58906b2f393f35c1b4f9c27217ac3572", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000a/libps2000a_2.1.76-5r2981_amd64.deb", + "version": "2.1.76-5r2981" }, "libps3000": { - "sha256": "27dce3c924bb0169768a4964ce567b4a18ce74079537ca1fcba61e9234691580", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000/libps3000_4.0.75-3r2957_amd64.deb", - "version": "4.0.75-3r2957" + "sha256": "dbb9f9afdc694c4451e652f22a4c4c67ef609407f45229d26330ce7cfbb02b1c", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000/libps3000_4.0.76-3r2981_amd64.deb", + "version": "4.0.76-3r2981" }, "libps3000a": { - "sha256": "31cf00ce136526af6e8b211a44a56b221d137de6eaec4d6fd7f31593b4245d62", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000a/libps3000a_2.1.75-6r2957_amd64.deb", - "version": "2.1.75-6r2957" + "sha256": "5ab3daadc5d804b224215d138ca94abecc3c311bb91624638e2758ac2a490d25", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000a/libps3000a_2.1.76-6r2981_amd64.deb", + "version": "2.1.76-6r2981" }, "libps4000": { - "sha256": "c976f09647f1fd2c980aafd1efe7f557bfc7c283fb9c135725c38dd59cc297e9", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000/libps4000_2.1.75-2r2957_amd64.deb", - "version": "2.1.75-2r2957" + "sha256": "13504936207f1a7410f726c93358bb21c0c0cd1bd8b473332308a345ff6692c7", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000/libps4000_2.1.76-2r2981_amd64.deb", + "version": "2.1.76-2r2981" }, "libps4000a": { - "sha256": "727f24fa74759385902d41d52a26a4636b3e3f08a8743901d15cc49622207b97", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000a/libps4000a_2.1.75-2r2957_amd64.deb", - "version": "2.1.75-2r2957" + "sha256": "196ccce96e8cf29f5168cda83748857172ae43dc2b990adbacb3327511784492", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000a/libps4000a_2.1.76-2r2981_amd64.deb", + "version": "2.1.76-2r2981" }, "libps5000": { - "sha256": "3237c1dfdb384079b7039d2b4a8e0b0126e804830b29d60e89ae018182667edb", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000/libps5000_2.1.75-3r2957_amd64.deb", - "version": "2.1.75-3r2957" + "sha256": "1793180d4067df12080ba7b01cbdf38397c2931a7f4915f13dbdb9295cc77cb3", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000/libps5000_2.1.76-3r2981_amd64.deb", + "version": "2.1.76-3r2981" }, "libps5000a": { - "sha256": "27947f8461a16cf59d64cd23d7a78ddd27826e38dfe9fca3902e3b553591fb19", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000a/libps5000a_2.1.75-5r2957_amd64.deb", - "version": "2.1.75-5r2957" + "sha256": "b08a73f43bdcfa2bc02d01f398147da9b8cf2599477144b5a2b2af924d0bf0e9", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000a/libps5000a_2.1.76-5r2981_amd64.deb", + "version": "2.1.76-5r2981" }, "libps6000": { - "sha256": "d65e923db969e306fb9f3f3892229a297d6187574d901dde44375270cc1e1404", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000/libps6000_2.1.75-6r2957_amd64.deb", - "version": "2.1.75-6r2957" + "sha256": "dda0fcb8b346f77a715053b52ad9e26b323991f8336001de7ff1bb6d04c716b4", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000/libps6000_2.1.76-6r2981_amd64.deb", + "version": "2.1.76-6r2981" }, "libps6000a": { - "sha256": "eff8644ad44f9cc1cf9052e27786a1480a4ab599766c1c01e370fef40a76b224", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000a/libps6000a_1.0.75-0r2957_amd64.deb", - "version": "1.0.75-0r2957" + "sha256": "786e5772055500e2e445ddfd5402fed359a9afa54177bd731912d24522729004", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000a/libps6000a_1.0.76-0r2981_amd64.deb", + "version": "1.0.76-0r2981" }, "picoscope": { - "sha256": "3d2a0e360c8143fc03c29b394c16bfc2387164e33099a46b6905af992cfab440", - "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/p/picoscope/picoscope_7.0.83-1r9320_amd64.deb", - "version": "7.0.83-1r9320" + "sha256": "12afae7992b9d60c93e5e39c7fe3f93955be3bdff554b52894064d5f320347f4", + "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/p/picoscope/picoscope_7.0.86-1r9656_amd64.deb", + "version": "7.0.86-1r9656" } } } diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix index 77e0d2068fa..ca02b638584 100644 --- a/pkgs/applications/version-management/git-and-tools/delta/default.nix +++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix @@ -3,26 +3,28 @@ , fetchFromGitHub , rustPlatform , installShellFiles +, DiskArbitration +, Foundation , libiconv , Security }: rustPlatform.buildRustPackage rec { pname = "delta"; - version = "0.10.0"; + version = "0.10.1"; src = fetchFromGitHub { owner = "dandavison"; repo = pname; rev = version; - sha256 = "sha256-PkVZag/h1KzOWsE6+61HIixs+DldrGk9khlZy7DEbC8="; + sha256 = "sha256-aiWVaqwJGjLyv/ZJU4g1KuBC9zbnBEc/vdNADGPKgxo="; }; - cargoSha256 = "sha256-o1HyPJ81g9fLA7CKQNKg1EctoIh3W0uGzKF2YNE+Ado="; + cargoSha256 = "sha256-lp9XzZQZJpjhsanZMky3RwkjM7ICq7dSb4PHdstwMxQ="; nativeBuildInputs = [ installShellFiles ]; - buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ]; + buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation libiconv Security ]; postInstall = '' installShellCompletion --bash --name delta.bash etc/completion/completion.bash 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 new file mode 100644 index 00000000000..068d7c09b68 --- /dev/null +++ b/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch @@ -0,0 +1,31 @@ +From da8a4b9c1094a568f443c525ca1ce11f686be1bc Mon Sep 17 00:00:00 2001 +From: timor +Date: Thu, 8 Aug 2019 14:13:09 +0200 +Subject: [PATCH] adjust unit test for finding executables in path for NixOS + +--- + basis/io/standard-paths/unix/unix-tests.factor | 4 ++-- + 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 +--- 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 ; + + { 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 +- { "/bin/ps" "/sbin/ps" "/usr/bin/ps" } member? ++ not not + ] with-os-env + ] unit-test +-- +2.19.2 + diff --git a/pkgs/development/compilers/factor-lang/default.nix b/pkgs/development/compilers/factor-lang/default.nix deleted file mode 100644 index 4ce55b5ca25..00000000000 --- a/pkgs/development/compilers/factor-lang/default.nix +++ /dev/null @@ -1,105 +0,0 @@ -{ lib, stdenv, fetchurl, glib, git, - rlwrap, curl, pkg-config, perl, makeWrapper, tzdata, ncurses, - pango, cairo, gtk2, gdk-pixbuf, gtkglext, - mesa, xorg, openssl, unzip }: - -stdenv.mkDerivation rec { - pname = "factor-lang"; - version = "0.98"; - rev = "7999e72aecc3c5bc4019d43dc4697f49678cc3b4"; - - src = fetchurl { - url = "https://downloads.factorcode.org/releases/0.98/factor-src-0.98.zip"; - sha256 = "01ip9mbnar4sv60d2wcwfz62qaamdvbykxw3gbhzqa25z36vi3ri"; - }; - - patches = [ - ./staging-command-line-0.98-pre.patch - ./workdir-0.98-pre.patch - ./fuel-dir.patch - ]; - - nativeBuildInputs = [ makeWrapper unzip ]; - buildInputs = with xorg; [ git rlwrap curl pkg-config perl - libX11 pango cairo gtk2 gdk-pixbuf gtkglext - mesa libXmu libXt libICE libSM openssl ]; - - buildPhase = '' - sed -ie '4i GIT_LABEL = heads/master-${rev}' GNUmakefile - make linux-x86-64 - # De-memoize xdg-* functions, otherwise they break the image. - sed -ie 's/^MEMO:/:/' basis/xdg/xdg.factor - ''; - - installPhase = '' - mkdir -p $out/bin $out/lib/factor - # The released image has library path info embedded, so we - # first have to recreate the boot image with Nix paths, and - # then use it to build the Nix release image. - cp boot.unix-x86.64.image $out/lib/factor/factor.image - - cp -r basis core extra $out/lib/factor - - # 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 (with xorg; [ - glib libX11 pango cairo gtk2 gdk-pixbuf gtkglext - mesa libXmu libXt libICE libSM ])} | 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 - - sed -ie "s#/sbin/ldconfig -p#cat $out/lib/factor/ld.so.cache#g" \ - $out/lib/factor/basis/alien/libraries/finder/linux/linux.factor - - sed -ie 's#/usr/share/zoneinfo/#${tzdata}/share/zoneinfo/#g' \ - $out/lib/factor/extra/tzinfo/tzinfo.factor - - sed -ie 's#/usr/share/terminfo#${ncurses.out}/share/terminfo#g' \ - $out/lib/factor/extra/terminfo/terminfo.factor - - cp ./factor $out/bin - wrapProgram $out/bin/factor --prefix LD_LIBRARY_PATH : \ - "${lib.makeLibraryPath (with xorg; [ glib - libX11 pango cairo gtk2 gdk-pixbuf gtkglext - mesa libXmu libXt libICE libSM openssl])}" - - sed -ie 's#/bin/.factor-wrapped#/lib/factor/factor#g' $out/bin/factor - mv $out/bin/.factor-wrapped $out/lib/factor/factor - - # build full factor image from boot image - (cd $out/bin && ./factor -script -e='"unix-x86.64" USING: system bootstrap.image memory ; make-image save 0 exit' ) - - # make a new bootstrap image - (cd $out/bin && ./factor -script -e='"unix-x86.64" USING: system tools.deploy.backend ; make-boot-image 0 exit' ) - - # rebuild final full factor image to include all patched sources - (cd $out/lib/factor && ./factor -i=boot.unix-x86.64.image) - - # install fuel mode for emacs - mkdir -p $out/share/emacs/site-lisp - # update default paths in factor-listener.el for fuel mode - substituteInPlace misc/fuel/fuel-listener.el \ - --subst-var-by fuel_factor_root_dir $out/lib/factor \ - --subst-var-by fuel_listener_factor_binary $out/bin/factor - cp misc/fuel/*.el $out/share/emacs/site-lisp/ - ''; - - meta = with lib; { - homepage = "https://factorcode.org"; - license = licenses.bsd2; - description = "A concatenative, stack-based programming language"; - - maintainers = [ maintainers.vrthra maintainers.spacefrogg ]; - platforms = [ "x86_64-linux" ]; - }; -} diff --git a/pkgs/development/compilers/factor-lang/factor98.nix b/pkgs/development/compilers/factor-lang/factor98.nix new file mode 100644 index 00000000000..c4a9a075fdf --- /dev/null +++ b/pkgs/development/compilers/factor-lang/factor98.nix @@ -0,0 +1,205 @@ +{ stdenv +, lib +, git +, curl +, makeWrapper +, runtimeShell +, fetchurl +, unzip +, runCommand +, writeScriptBin +, interpreter +, glib +, pango +, cairo +, gtk2-x11 +, gdk-pixbuf +, gnome2 +, pcre +, libGL +, libGLU +, freealut +, openssl +, udis86 +, openal +, libogg +, libvorbis +, graphviz +, librsvg +, zlib +, tzdata +, ncurses +}: +let + runtimeLibs = [ + glib + pango + cairo + gtk2-x11 + gdk-pixbuf + gnome2.gtkglext + pcre + libGL + libGLU + freealut + openssl + udis86 + openal + libogg + libvorbis + graphviz + 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 + ./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 = http://factorcode.org; + license = licenses.bsd2; + description = "A concatenative, stack-based programming language"; + maintainers = with maintainers; [ vrthra spacefrogg ]; + platforms = lib.intersectLists platforms.x86_64 platforms.linux; + }; +} diff --git a/pkgs/development/compilers/factor-lang/fuel-dir.patch b/pkgs/development/compilers/factor-lang/fuel-dir.patch deleted file mode 100644 index 8f45b037246..00000000000 --- a/pkgs/development/compilers/factor-lang/fuel-dir.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/misc/fuel/fuel-listener.el b/misc/fuel/fuel-listener.el -index 2d1b182a75..bf2e573425 100644 ---- a/misc/fuel/fuel-listener.el -+++ b/misc/fuel/fuel-listener.el -@@ -30,13 +30,13 @@ - "Interacting with a Factor listener inside Emacs." - :group 'fuel) - --(defcustom fuel-factor-root-dir nil -+(defcustom fuel-factor-root-dir "@fuel_factor_root_dir@" - "Full path to the factor root directory when starting a listener." - :type 'directory - :group 'fuel-listener) - - ;;; Is factor.com still valid on Windows...? --(defcustom fuel-listener-factor-binary nil -+(defcustom fuel-listener-factor-binary "@fuel_listener_factor_binary@" - "Full path to the factor executable to use when starting a listener." - :type '(file :must-match t) - :group 'fuel-listener) diff --git a/pkgs/development/compilers/factor-lang/scope.nix b/pkgs/development/compilers/factor-lang/scope.nix new file mode 100644 index 00000000000..02f0f889634 --- /dev/null +++ b/pkgs/development/compilers/factor-lang/scope.nix @@ -0,0 +1,16 @@ +{ lib, pkgs +, overrides ? (self: super: {})}: + +let + inside = (self: + let callPackage = pkgs.newScope self; + in rec { + interpreter = callPackage ./factor98.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 + # argument. + inherit (self.interpreter) withLibs; + }); + extensible-self = lib.makeExtensible (lib.extends overrides inside); +in extensible-self diff --git a/pkgs/tools/misc/nux/default.nix b/pkgs/tools/misc/nux/default.nix new file mode 100644 index 00000000000..d3f26d850e5 --- /dev/null +++ b/pkgs/tools/misc/nux/default.nix @@ -0,0 +1,35 @@ +{ lib +, fetchFromGitHub +, rustPlatform +, asciidoctor +, installShellFiles +}: + +rustPlatform.buildRustPackage rec { + pname = "nux"; + version = "0.1.4"; + + src = fetchFromGitHub { + owner = "NuxPackage"; + repo = pname; + rev = version; + sha256 = "sha256-k3HRaWN8/MTZRGWBxI8RRK0tcSYBbSLs3vHkUdLGTc8"; + }; + + cargoSha256 = "sha256-wfUr3dcdALMEgJ6CaXhK4Gqk6xflCnov9tELA63drV4="; + + preFixup = '' + installManPage $releaseDir/build/nux-*/out/nux.1 + installShellCompletion $releaseDir/build/nux-*/out/nux.{bash,fish} + installShellCompletion $releaseDir/build/nux-*/out/_nux + + ''; + nativeBuildInputs = [ asciidoctor installShellFiles ]; + + meta = with lib; { + description = "A wrapper over the nix cli"; + homepage = "https://github.com/NuxPackage/nux"; + license = with licenses; [ gpl3 ]; + maintainers = with maintainers; [ drzoidberg ]; + }; +} diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix index aac38ef1b1f..63e4adc291c 100644 --- a/pkgs/tools/security/exploitdb/default.nix +++ b/pkgs/tools/security/exploitdb/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "exploitdb"; - version = "2021-11-24"; + version = "2021-11-25"; src = fetchFromGitHub { owner = "offensive-security"; repo = pname; rev = version; - sha256 = "sha256-pe4SQRVE4e6tNy5eF5uthI6AZ8BwaX72EpNxAU0+UmY="; + sha256 = "sha256-kvkbWsdWMxDwMehOUoqccrVMzerPV5F6S0cNm6xrX2E"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 209cef2b641..61947e89b62 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4457,7 +4457,7 @@ with pkgs; deer = callPackage ../shells/zsh/zsh-deer { }; delta = callPackage ../applications/version-management/git-and-tools/delta { - inherit (darwin.apple_sdk.frameworks) Security; + inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation Security; }; deno = callPackage ../development/web/deno { @@ -16145,9 +16145,8 @@ with pkgs; faad2 = callPackage ../development/libraries/faad2 { }; - factor-lang = callPackage ../development/compilers/factor-lang { - inherit (gnome2) gtkglext; - }; + factor-lang-scope = callPackage ../development/compilers/factor-lang/scope.nix { }; + factor-lang = factor-lang-scope.interpreter; far2l = callPackage ../applications/misc/far2l { stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv; @@ -30364,6 +30363,8 @@ with pkgs; nexuiz = callPackage ../games/nexuiz { }; + nux = callPackage ../tools/misc/nux { }; + ninvaders = callPackage ../games/ninvaders { }; njam = callPackage ../games/njam { };