taoup: init at 1.1.14
This commit is contained in:
parent
d050e7dfc3
commit
6c64350905
35
pkgs/tools/misc/taoup/cachefile.patch
Normal file
35
pkgs/tools/misc/taoup/cachefile.patch
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
--- a/taoup-fortune 2021-09-05 12:16:23.408295791 +0800
|
||||||
|
+++ b/taoup-fortune 2021-09-05 13:02:52.286440200 +0800
|
||||||
|
@@ -5,31 +5,9 @@
|
||||||
|
# - https://github.com/matheuss/parrotsay
|
||||||
|
# - https://github.com/busyloop/lolcat
|
||||||
|
# - https://github.com/sckott/cowsay (enhanced version)
|
||||||
|
-dir=`dirname "${BASH_SOURCE[0]}"`
|
||||||
|
-
|
||||||
|
-# USER ALERT!!! @ronjouch complained about execution speed at https://github.com/globalcitizen/taoup/issues/11
|
||||||
|
-# ... therefore we add caching ... therefore first ensure we have an up to date cache via one of ...
|
||||||
|
-# md5sum
|
||||||
|
-if [ `which md5sum 2>/dev/null` ]; then
|
||||||
|
- MD5SUM=`md5sum ${dir}/taoup | cut -d ' ' -f1`
|
||||||
|
-# md5
|
||||||
|
-elif [ `which md5 2>/dev/null` ]; then
|
||||||
|
- MD5SUM=`md5 -q ${dir}/taoup | cut -d ' ' -f1`
|
||||||
|
-# openssl
|
||||||
|
-elif [ `which openssl 2>/dev/null` ]; then
|
||||||
|
- MD5SUM=`cat ${dir}/taoup | openssl md5 | grep -o '[[:xdigit:]][[:xdigit:]]*$' |cut -d '=' -f2- |cut -c 2-`
|
||||||
|
-# ruby
|
||||||
|
-elif [ `which ruby 2>/dev/null` ]; then
|
||||||
|
- MD5SUM=`ruby -rdigest/md5 -e"puts Digest::MD5.file'${dir}/taoup'"`
|
||||||
|
-fi
|
||||||
|
|
||||||
|
# determine cachefile name
|
||||||
|
-cachefile=${dir}/.taoup-fortune.cache.${MD5SUM}
|
||||||
|
-
|
||||||
|
-# create if necessary
|
||||||
|
-if [ ! -r $cachefile ]; then
|
||||||
|
- ${dir}/taoup $@ >${cachefile}
|
||||||
|
-fi
|
||||||
|
+cachefile=@out@/lib/taoup/cache
|
||||||
|
|
||||||
|
# handle all classes of society
|
||||||
|
if [ `which cowsay 2>/dev/null` ]; then
|
62
pkgs/tools/misc/taoup/default.nix
Normal file
62
pkgs/tools/misc/taoup/default.nix
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
{ lib, stdenv, fetchFromGitHub, ruby, bash, ncurses }:
|
||||||
|
let
|
||||||
|
rubyEnv = ruby.withPackages (ps: with ps; [ ansi ]);
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "taoup";
|
||||||
|
version = "1.1.14";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "globalcitizen";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1gs6f66fg1l504riw481nvyw7cchbr3qjks4mkj2qb3s9147ad8j";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ rubyEnv bash ncurses ];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Pre-create a cache within this derivation
|
||||||
|
./cachefile.patch
|
||||||
|
# Remove the need to test for `tput`, depend on ncurses directly
|
||||||
|
./tput.patch
|
||||||
|
# Fix the script name in `taoup --help` output
|
||||||
|
./help.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace taoup \
|
||||||
|
--subst-var-by ncurses ${ncurses} \
|
||||||
|
--subst-var-by pname ${pname}
|
||||||
|
substituteInPlace taoup-fortune \
|
||||||
|
--subst-var-by out $out \
|
||||||
|
--replace "/bin/bash" "${bash}/bin/bash"
|
||||||
|
'';
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/{bin,lib/taoup}
|
||||||
|
|
||||||
|
cp taoup $out/lib/taoup
|
||||||
|
cat > $out/bin/taoup <<EOF
|
||||||
|
#!${bash}/bin/bash
|
||||||
|
exec ${rubyEnv}/bin/ruby "$out/lib/taoup/taoup" "\$@"
|
||||||
|
EOF
|
||||||
|
chmod +x $out/bin/taoup
|
||||||
|
|
||||||
|
# Populate the cache created by cachedir.patch above
|
||||||
|
$out/bin/taoup > $out/lib/taoup/cache
|
||||||
|
|
||||||
|
cp taoup-fortune $out/bin
|
||||||
|
chmod +x $out/bin/taoup-fortune
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "The Tao of Unix Programming (Ruby-powered ANSI colored fortunes)";
|
||||||
|
homepage = "https://github.com/globalcitizen/taoup";
|
||||||
|
license = lib.licenses.gpl3Only;
|
||||||
|
maintainers = [ lib.maintainers.zakame ];
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/tools/misc/taoup/help.patch
Normal file
21
pkgs/tools/misc/taoup/help.patch
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
--- a/taoup 2021-09-07 16:45:00.000000000 +0800
|
||||||
|
+++ b/taoup 2021-09-07 16:46:00.000000000 +0800
|
||||||
|
@@ -7,12 +7,12 @@
|
||||||
|
|
||||||
|
# show help if requested
|
||||||
|
if ARGV[0] == '--help' or ARGV[0] == '-h' then
|
||||||
|
- puts "usage: " + $0 + " [arguments]"
|
||||||
|
- puts " " + $0 + " Display all fortunes and sections."
|
||||||
|
- puts " " + $0 + " < --help | -h > This help."
|
||||||
|
- puts " " + $0 + " --whitetrash Convert ANSI colors for light/white terminals."
|
||||||
|
- puts " " + $0 + " --machine Remove ANSI colors."
|
||||||
|
- puts " " + $0 + " --fortune Convert output to fortune format (and lose colors)."
|
||||||
|
+ puts "usage: " + "@pname@" + " [arguments]"
|
||||||
|
+ puts " " + "@pname@" + " Display all fortunes and sections."
|
||||||
|
+ puts " " + "@pname@" + " < --help | -h > This help."
|
||||||
|
+ puts " " + "@pname@" + " --whitetrash Convert ANSI colors for light/white terminals."
|
||||||
|
+ puts " " + "@pname@" + " --machine Remove ANSI colors."
|
||||||
|
+ puts " " + "@pname@" + " --fortune Convert output to fortune format (and lose colors)."
|
||||||
|
exit(0)
|
||||||
|
end
|
||||||
|
# ... but optionally make sure ANSI escape sequences are filtered out
|
17
pkgs/tools/misc/taoup/tput.patch
Normal file
17
pkgs/tools/misc/taoup/tput.patch
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
--- a/taoup 2021-09-05 12:43:48.334615538 +0800
|
||||||
|
+++ b/taoup 2021-09-05 12:55:07.631617799 +0800
|
||||||
|
@@ -26,11 +26,9 @@
|
||||||
|
zero_colors = true
|
||||||
|
fortunify = true
|
||||||
|
else
|
||||||
|
- if `which tput` then
|
||||||
|
- colors = `tput colors`
|
||||||
|
- if colors.chop == "-1" then
|
||||||
|
- zero_colors = true
|
||||||
|
- end
|
||||||
|
+ colors = `@ncurses@/bin/tput colors`
|
||||||
|
+ if colors.chop == "-1" then
|
||||||
|
+ zero_colors = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if ARGV[0] == '--whitetrash' then
|
|
@ -14770,6 +14770,8 @@ with pkgs;
|
||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
taoup = callPackage ../tools/misc/taoup { };
|
||||||
|
|
||||||
tcptrack = callPackage ../development/tools/misc/tcptrack { };
|
tcptrack = callPackage ../development/tools/misc/tcptrack { };
|
||||||
|
|
||||||
teensyduino = arduino-core.override { withGui = true; withTeensyduino = true; };
|
teensyduino = arduino-core.override { withGui = true; withTeensyduino = true; };
|
||||||
|
|
Loading…
Reference in a new issue