mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-11 15:27:20 +03:00
Merge master into staging-next
This commit is contained in:
commit
618b03f562
@ -3084,6 +3084,12 @@
|
|||||||
fingerprint = "85F3 72DF 4AF3 EF13 ED34 72A3 0AAF 2901 E804 0715";
|
fingerprint = "85F3 72DF 4AF3 EF13 ED34 72A3 0AAF 2901 E804 0715";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
drzoidberg = {
|
||||||
|
email = "jakob@mast3rsoft.com";
|
||||||
|
github = "jakobneufeld";
|
||||||
|
githubId = 24791219;
|
||||||
|
name = "Jakob Neufeld";
|
||||||
|
};
|
||||||
dschrempf = {
|
dschrempf = {
|
||||||
name = "Dominik Schrempf";
|
name = "Dominik Schrempf";
|
||||||
email = "dominik.schrempf@gmail.com";
|
email = "dominik.schrempf@gmail.com";
|
||||||
|
@ -104,7 +104,8 @@ in stdenv.mkDerivation rec {
|
|||||||
makeWrapper "$(command -v mono)" $out/bin/picoscope \
|
makeWrapper "$(command -v mono)" $out/bin/picoscope \
|
||||||
--add-flags $out/lib/PicoScope.GTK.exe \
|
--add-flags $out/lib/PicoScope.GTK.exe \
|
||||||
--prefix MONO_PATH : "$MONO_PATH" \
|
--prefix MONO_PATH : "$MONO_PATH" \
|
||||||
--prefix LD_LIBRARY_PATH : "$MONO_PATH"
|
--prefix LD_LIBRARY_PATH : "$MONO_PATH" \
|
||||||
|
--set LANG C
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -6,64 +6,64 @@
|
|||||||
"version": "1.1.27-1r153"
|
"version": "1.1.27-1r153"
|
||||||
},
|
},
|
||||||
"libpicoipp": {
|
"libpicoipp": {
|
||||||
"sha256": "87ae49cd5e8dda4a73a835b95ea13e4c3fc4d1c4c9d6495c9affdf6fa6b1b4aa",
|
"sha256": "0e414ad547f506a39ff11a64772baec923e54f8ca98b81fc9b9cbd19ed573b22",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libpicoipp/libpicoipp_1.3.0-4r121_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libpicoipp/libpicoipp_1.3.0-4r130_amd64.deb",
|
||||||
"version": "1.3.0-4r121"
|
"version": "1.3.0-4r130"
|
||||||
},
|
},
|
||||||
"libps2000": {
|
"libps2000": {
|
||||||
"sha256": "792e506c08cebbd617e833e1547d3e5a13a186f93cea3f84608b7ed9451fb077",
|
"sha256": "d1e94148719a03b70f233cea9a686ed48be03224f2931c9cd282571819a780c7",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000/libps2000_3.0.75-3r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000/libps2000_3.0.76-3r2981_amd64.deb",
|
||||||
"version": "3.0.75-3r2957"
|
"version": "3.0.76-3r2981"
|
||||||
},
|
},
|
||||||
"libps2000a": {
|
"libps2000a": {
|
||||||
"sha256": "f31b3a8e9c6af14a59e348e4b302f12f582cdb08a47a3c04d8a6a612b4630305",
|
"sha256": "c665b70c04203c98bb1b509830ec522f58906b2f393f35c1b4f9c27217ac3572",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000a/libps2000a_2.1.75-5r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000a/libps2000a_2.1.76-5r2981_amd64.deb",
|
||||||
"version": "2.1.75-5r2957"
|
"version": "2.1.76-5r2981"
|
||||||
},
|
},
|
||||||
"libps3000": {
|
"libps3000": {
|
||||||
"sha256": "27dce3c924bb0169768a4964ce567b4a18ce74079537ca1fcba61e9234691580",
|
"sha256": "dbb9f9afdc694c4451e652f22a4c4c67ef609407f45229d26330ce7cfbb02b1c",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000/libps3000_4.0.75-3r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000/libps3000_4.0.76-3r2981_amd64.deb",
|
||||||
"version": "4.0.75-3r2957"
|
"version": "4.0.76-3r2981"
|
||||||
},
|
},
|
||||||
"libps3000a": {
|
"libps3000a": {
|
||||||
"sha256": "31cf00ce136526af6e8b211a44a56b221d137de6eaec4d6fd7f31593b4245d62",
|
"sha256": "5ab3daadc5d804b224215d138ca94abecc3c311bb91624638e2758ac2a490d25",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000a/libps3000a_2.1.75-6r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000a/libps3000a_2.1.76-6r2981_amd64.deb",
|
||||||
"version": "2.1.75-6r2957"
|
"version": "2.1.76-6r2981"
|
||||||
},
|
},
|
||||||
"libps4000": {
|
"libps4000": {
|
||||||
"sha256": "c976f09647f1fd2c980aafd1efe7f557bfc7c283fb9c135725c38dd59cc297e9",
|
"sha256": "13504936207f1a7410f726c93358bb21c0c0cd1bd8b473332308a345ff6692c7",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000/libps4000_2.1.75-2r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000/libps4000_2.1.76-2r2981_amd64.deb",
|
||||||
"version": "2.1.75-2r2957"
|
"version": "2.1.76-2r2981"
|
||||||
},
|
},
|
||||||
"libps4000a": {
|
"libps4000a": {
|
||||||
"sha256": "727f24fa74759385902d41d52a26a4636b3e3f08a8743901d15cc49622207b97",
|
"sha256": "196ccce96e8cf29f5168cda83748857172ae43dc2b990adbacb3327511784492",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000a/libps4000a_2.1.75-2r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000a/libps4000a_2.1.76-2r2981_amd64.deb",
|
||||||
"version": "2.1.75-2r2957"
|
"version": "2.1.76-2r2981"
|
||||||
},
|
},
|
||||||
"libps5000": {
|
"libps5000": {
|
||||||
"sha256": "3237c1dfdb384079b7039d2b4a8e0b0126e804830b29d60e89ae018182667edb",
|
"sha256": "1793180d4067df12080ba7b01cbdf38397c2931a7f4915f13dbdb9295cc77cb3",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000/libps5000_2.1.75-3r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000/libps5000_2.1.76-3r2981_amd64.deb",
|
||||||
"version": "2.1.75-3r2957"
|
"version": "2.1.76-3r2981"
|
||||||
},
|
},
|
||||||
"libps5000a": {
|
"libps5000a": {
|
||||||
"sha256": "27947f8461a16cf59d64cd23d7a78ddd27826e38dfe9fca3902e3b553591fb19",
|
"sha256": "b08a73f43bdcfa2bc02d01f398147da9b8cf2599477144b5a2b2af924d0bf0e9",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000a/libps5000a_2.1.75-5r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000a/libps5000a_2.1.76-5r2981_amd64.deb",
|
||||||
"version": "2.1.75-5r2957"
|
"version": "2.1.76-5r2981"
|
||||||
},
|
},
|
||||||
"libps6000": {
|
"libps6000": {
|
||||||
"sha256": "d65e923db969e306fb9f3f3892229a297d6187574d901dde44375270cc1e1404",
|
"sha256": "dda0fcb8b346f77a715053b52ad9e26b323991f8336001de7ff1bb6d04c716b4",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000/libps6000_2.1.75-6r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000/libps6000_2.1.76-6r2981_amd64.deb",
|
||||||
"version": "2.1.75-6r2957"
|
"version": "2.1.76-6r2981"
|
||||||
},
|
},
|
||||||
"libps6000a": {
|
"libps6000a": {
|
||||||
"sha256": "eff8644ad44f9cc1cf9052e27786a1480a4ab599766c1c01e370fef40a76b224",
|
"sha256": "786e5772055500e2e445ddfd5402fed359a9afa54177bd731912d24522729004",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000a/libps6000a_1.0.75-0r2957_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000a/libps6000a_1.0.76-0r2981_amd64.deb",
|
||||||
"version": "1.0.75-0r2957"
|
"version": "1.0.76-0r2981"
|
||||||
},
|
},
|
||||||
"picoscope": {
|
"picoscope": {
|
||||||
"sha256": "3d2a0e360c8143fc03c29b394c16bfc2387164e33099a46b6905af992cfab440",
|
"sha256": "12afae7992b9d60c93e5e39c7fe3f93955be3bdff554b52894064d5f320347f4",
|
||||||
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/p/picoscope/picoscope_7.0.83-1r9320_amd64.deb",
|
"url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/p/picoscope/picoscope_7.0.86-1r9656_amd64.deb",
|
||||||
"version": "7.0.83-1r9320"
|
"version": "7.0.86-1r9656"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,26 +3,28 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
, installShellFiles
|
, installShellFiles
|
||||||
|
, DiskArbitration
|
||||||
|
, Foundation
|
||||||
, libiconv
|
, libiconv
|
||||||
, Security
|
, Security
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "delta";
|
pname = "delta";
|
||||||
version = "0.10.0";
|
version = "0.10.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dandavison";
|
owner = "dandavison";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-PkVZag/h1KzOWsE6+61HIixs+DldrGk9khlZy7DEbC8=";
|
sha256 = "sha256-aiWVaqwJGjLyv/ZJU4g1KuBC9zbnBEc/vdNADGPKgxo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-o1HyPJ81g9fLA7CKQNKg1EctoIh3W0uGzKF2YNE+Ado=";
|
cargoSha256 = "sha256-lp9XzZQZJpjhsanZMky3RwkjM7ICq7dSb4PHdstwMxQ=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation libiconv Security ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
installShellCompletion --bash --name delta.bash etc/completion/completion.bash
|
installShellCompletion --bash --name delta.bash etc/completion/completion.bash
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
From da8a4b9c1094a568f443c525ca1ce11f686be1bc Mon Sep 17 00:00:00 2001
|
||||||
|
From: timor <timor.dd@googlemail.com>
|
||||||
|
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
|
||||||
|
|
@ -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" ];
|
|
||||||
};
|
|
||||||
}
|
|
205
pkgs/development/compilers/factor-lang/factor98.nix
Normal file
205
pkgs/development/compilers/factor-lang/factor98.nix
Normal file
@ -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;
|
||||||
|
};
|
||||||
|
}
|
@ -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)
|
|
16
pkgs/development/compilers/factor-lang/scope.nix
Normal file
16
pkgs/development/compilers/factor-lang/scope.nix
Normal file
@ -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
|
35
pkgs/tools/misc/nux/default.nix
Normal file
35
pkgs/tools/misc/nux/default.nix
Normal file
@ -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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "exploitdb";
|
pname = "exploitdb";
|
||||||
version = "2021-11-24";
|
version = "2021-11-25";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "offensive-security";
|
owner = "offensive-security";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-pe4SQRVE4e6tNy5eF5uthI6AZ8BwaX72EpNxAU0+UmY=";
|
sha256 = "sha256-kvkbWsdWMxDwMehOUoqccrVMzerPV5F6S0cNm6xrX2E";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -4457,7 +4457,7 @@ with pkgs;
|
|||||||
deer = callPackage ../shells/zsh/zsh-deer { };
|
deer = callPackage ../shells/zsh/zsh-deer { };
|
||||||
|
|
||||||
delta = callPackage ../applications/version-management/git-and-tools/delta {
|
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 {
|
deno = callPackage ../development/web/deno {
|
||||||
@ -16145,9 +16145,8 @@ with pkgs;
|
|||||||
|
|
||||||
faad2 = callPackage ../development/libraries/faad2 { };
|
faad2 = callPackage ../development/libraries/faad2 { };
|
||||||
|
|
||||||
factor-lang = callPackage ../development/compilers/factor-lang {
|
factor-lang-scope = callPackage ../development/compilers/factor-lang/scope.nix { };
|
||||||
inherit (gnome2) gtkglext;
|
factor-lang = factor-lang-scope.interpreter;
|
||||||
};
|
|
||||||
|
|
||||||
far2l = callPackage ../applications/misc/far2l {
|
far2l = callPackage ../applications/misc/far2l {
|
||||||
stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
|
stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
|
||||||
@ -30364,6 +30363,8 @@ with pkgs;
|
|||||||
|
|
||||||
nexuiz = callPackage ../games/nexuiz { };
|
nexuiz = callPackage ../games/nexuiz { };
|
||||||
|
|
||||||
|
nux = callPackage ../tools/misc/nux { };
|
||||||
|
|
||||||
ninvaders = callPackage ../games/ninvaders { };
|
ninvaders = callPackage ../games/ninvaders { };
|
||||||
|
|
||||||
njam = callPackage ../games/njam { };
|
njam = callPackage ../games/njam { };
|
||||||
|
Loading…
Reference in New Issue
Block a user