mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 00:43:20 +00:00
3a83109945
* aescrypt: change `${pname}` to string literal * bandwidth: change `${pname}` to string literal * bc: change `${pname}` to string literal * bdfresize: change `${pname}` to string literal * birdfont: change `${pname}` to string literal * brltty: change `${pname}` to string literal * calamares: change `${pname}` to string literal * ccal: change `${pname}` to string literal * clac: change `${pname}` to string literal * colord-gtk4: change `${pname}` to string literal * colord: change `${pname}` to string literal * colorless: change `${pname}` to string literal * cunit: change `${pname}` to string literal * datamash: change `${pname}` to string literal * dateutils: change `${pname}` to string literal * desktop-file-utils: change `${pname}` to string literal * digitemp: change `${pname}` to string literal * ding-libs: change `${pname}` to string literal * docbook2mdoc: change `${pname}` to string literal * dtach: change `${pname}` to string literal * empty: change `${pname}` to string literal * entr: change `${pname}` to string literal * envsubst: change `${pname}` to string literal * ethtool: change `${pname}` to string literal * fdtools: change `${pname}` to string literal * filebench: change `${pname}` to string literal * findutils: change `${pname}` to string literal * fortune: change `${pname}` to string literal * fpart: change `${pname}` to string literal * fxlinuxprintutil: change `${pname}` to string literal * gbdfed: change `${pname}` to string literal * getopt: change `${pname}` to string literal * github-copilot-cli: change `${pname}` to string literal * gparted: change `${pname}` to string literal * hddtemp: change `${pname}` to string literal * hdfview: change `${pname}` to string literal * hpcg: change `${pname}` to string literal * hpl: change `${pname}` to string literal * ink: change `${pname}` to string literal * ised: change `${pname}` to string literal * isoimagewriter: change `${pname}` to string literal * kronometer: change `${pname}` to string literal * libsForQt5.qt5ct: change `${pname}` to string literal * lilo: change `${pname}` to string literal * lockfileProgs: change `${pname}` to string literal * map-cmd: change `${pname}` to string literal * mcrypt: change `${pname}` to string literal * most: change `${pname}` to string literal * mrtg: change `${pname}` to string literal * ms-sys: change `${pname}` to string literal * multitime: change `${pname}` to string literal * nbench: change `${pname}` to string literal * osinfo-db-tools: change `${pname}` to string literal * parallel-full: change `${pname}` to string literal * phoronix-test-suite: change `${pname}` to string literal * pod2mdoc: change `${pname}` to string literal * powerline-rs: change `${pname}` to string literal * recoverjpeg: change `${pname}` to string literal * recutils: change `${pname}` to string literal * routino: change `${pname}` to string literal * rpm-ostree: change `${pname}` to string literal * screen: change `${pname}` to string literal * sharedown: change `${pname}` to string literal * statserial: change `${pname}` to string literal * taoup: change `${pname}` to string literal * texi2mdoc: change `${pname}` to string literal * tmpwatch: change `${pname}` to string literal * toilet: change `${pname}` to string literal * triehash: change `${pname}` to string literal * ttfautohint: change `${pname}` to string literal * txt2man: change `${pname}` to string literal * urjtag: change `${pname}` to string literal * uudeview: change `${pname}` to string literal * uutils-coreutils: change `${pname}` to string literal * vttest: change `${pname}` to string literal * wacomtablet: change `${pname}` to string literal * xcd: change `${pname}` to string literal * xdaliclock: change `${pname}` to string literal * xjobs: change `${pname}` to string literal * feishin: change `${pname}` to string literal * gifsicle: change `${pname}` to string literal * nzbhydra2: change `${pname}` to string literal * vatprism: change `${pname}` to string literal * webfs: change `${pname}` to string literal * yggstack: change `${pname}` to string literal
67 lines
1.6 KiB
Nix
67 lines
1.6 KiB
Nix
{ lib, stdenv, fetchFromGitHub, ruby, bash, ncurses }:
|
|
let
|
|
rubyEnv = ruby.withPackages (ps: with ps; [ ansi ]);
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "taoup";
|
|
version = "1.21";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "globalcitizen";
|
|
repo = "taoup";
|
|
rev = "v${version}";
|
|
hash = "sha256-UHo3c+DQn77CJONy/QXM55rpIdhVkJbhR82tqmUltPQ=";
|
|
};
|
|
|
|
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 taoup
|
|
substituteInPlace taoup-fortune \
|
|
--subst-var-by out $out \
|
|
--replace "/bin/bash" "${bash}/bin/bash"
|
|
'';
|
|
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
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
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = {
|
|
description = "Tao of Unix Programming (Ruby-powered ANSI colored fortunes)";
|
|
homepage = "https://github.com/globalcitizen/taoup";
|
|
license = lib.licenses.gpl3Only;
|
|
maintainers = [ lib.maintainers.zakame ];
|
|
};
|
|
}
|