push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
{
lib,
buildGoModule,
fetchFromGitea,
installShellFiles,
stdenv,
}:
buildGoModule rec {
pname = "tea";
version = "0.11.0";
src = fetchFromGitea {
domain = "gitea.com";
owner = "gitea";
repo = "tea";
rev = "v${version}";
sha256 = "sha256-jM/TR3bApWv0ci98Vb/0YPjlmLuO91WPY9eMHBInIQI=";
};
vendorHash = "sha256-Y9YDwfubT+RR1v6BTFD+A8GP2ArQaIIoMJmak+Vcx88=";
ldflags = [
"-X code.gitea.io/tea/cmd.Version=${version}"
];
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd tea \
--bash <($out/bin/tea completion bash) \
--fish <($out/bin/tea completion fish) \
--zsh <($out/bin/tea completion zsh)
mkdir $out/share/powershell/ -p
$out/bin/tea completion pwsh > $out/share/powershell/tea.Completion.ps1
$out/bin/tea man --out $out/share/man/man1/tea.1
'';
meta = with lib; {
description = "Gitea official CLI client";
homepage = "https://gitea.com/gitea/tea";
license = licenses.mit;
maintainers = with maintainers; [
j4m3s
techknowlogick
];
mainProgram = "tea";
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
rustPlatform,
fetchFromGitHub,
installShellFiles,
}:
rustPlatform.buildRustPackage rec {
pname = "tealdeer";
version = "1.7.2";
src = fetchFromGitHub {
owner = "dbrgn";
repo = "tealdeer";
rev = "v${version}";
hash = "sha256-GZN7WE12f3MEoBfswag0O04UOCmZeYwt5CbYwddmwHs=";
};
cargoHash = "sha256-Zk2L4cq7j9CkSc+cnZRWwhtfWP6y5faiMVGFFNkBwwA=";
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd tldr \
--bash completion/bash_tealdeer \
--fish completion/fish_tealdeer \
--zsh completion/zsh_tealdeer
'';
# Disable tests that require Internet access:
checkFlags = [
"--skip test_autoupdate_cache"
"--skip test_create_cache_directory_path"
"--skip test_pager_flag_enable"
"--skip test_quiet_cache"
"--skip test_quiet_failures"
"--skip test_quiet_old_cache"
"--skip test_spaces_find_command"
"--skip test_update_cache"
];
meta = with lib; {
description = "Very fast implementation of tldr in Rust";
homepage = "https://github.com/dbrgn/tealdeer";
maintainers = with maintainers; [
davidak
newam
mfrw
ryan4yin
];
license = with licenses; [
asl20
mit
];
mainProgram = "tldr";
};
}

View File

@@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'teamocil'

View File

@@ -0,0 +1,13 @@
GEM
remote: https://rubygems.org/
specs:
teamocil (1.4.2)
PLATFORMS
ruby
DEPENDENCIES
teamocil
BUNDLED WITH
2.1.4

View File

@@ -0,0 +1,10 @@
{
teamocil = {
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1l5f33faipb45xx7ds67s7dqgvjlljlcxgpgig4pg8p002vg06r2";
type = "gem";
};
version = "1.4.2";
};
}

View File

@@ -0,0 +1,26 @@
{
lib,
bundlerEnv,
ruby,
bundlerUpdateScript,
}:
bundlerEnv {
inherit ruby;
pname = "teamocil";
gemdir = ./.;
passthru.updateScript = bundlerUpdateScript "teamocil";
meta = with lib; {
description = "Simple tool used to automatically create windows and panes in tmux with YAML files";
homepage = "https://github.com/remiprev/teamocil";
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [
zachcoyle
nicknovitski
];
mainProgram = "teamocil";
};
}

View File

@@ -0,0 +1,138 @@
{
lib,
stdenv,
buildNpmPackage,
fetchFromGitHub,
alsa-utils,
copyDesktopItems,
electron_37,
makeDesktopItem,
makeWrapper,
nix-update-script,
versionCheckHook,
vulkan-loader,
which,
}:
buildNpmPackage rec {
pname = "teams-for-linux";
version = "2.5.10";
src = fetchFromGitHub {
owner = "IsmaelMartinez";
repo = "teams-for-linux";
tag = "v${version}";
hash = "sha256-AUvsH1ul+pkWQq2GKJTjsds7IPLQoDhWBcu4LN0HRg0=";
};
npmDepsHash = "sha256-zicJ9orYgnusTHrMX5rSrnsXA1ENjZZJKXvkqn8XLC4=";
nativeBuildInputs = [
makeWrapper
versionCheckHook
]
++ lib.optionals (stdenv.hostPlatform.isLinux) [ copyDesktopItems ];
doInstallCheck = stdenv.hostPlatform.isLinux;
env = {
# disable code signing on Darwin
CSC_IDENTITY_AUTO_DISCOVERY = "false";
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
};
makeCacheWritable = true;
buildPhase = ''
runHook preBuild
cp -r ${electron_37.dist} electron-dist
chmod -R u+w electron-dist
''
# Electron builder complains about symlink in electron-dist
+ lib.optionalString stdenv.hostPlatform.isLinux ''
rm electron-dist/libvulkan.so.1
cp ${lib.getLib vulkan-loader}/lib/libvulkan.so.1 electron-dist
''
+ ''
npm exec electron-builder -- \
--dir \
-c.npmRebuild=true \
-c.asarUnpack="**/*.node" \
-c.electronDist=electron-dist \
-c.electronVersion=${electron_37.version} \
-c.mac.identity=null
runHook postBuild
'';
installPhase = ''
runHook preInstall
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
mkdir -p $out/share/{applications,teams-for-linux}
cp dist/*-unpacked/resources/app.asar $out/share/teams-for-linux/
pushd build/icons
for image in *png; do
mkdir -p $out/share/icons/hicolor/''${image%.png}/apps
cp -r $image $out/share/icons/hicolor/''${image%.png}/apps/teams-for-linux.png
done
popd
# Linux needs 'aplay' for notification sounds
makeWrapper '${lib.getExe electron_37}' "$out/bin/teams-for-linux" \
--prefix PATH : ${
lib.makeBinPath [
alsa-utils
which
]
} \
--add-flags "$out/share/teams-for-linux/app.asar" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/Applications
cp -r dist/mac*/teams-for-linux.app $out/Applications
makeWrapper $out/Applications/teams-for-linux.app/Contents/MacOS/teams-for-linux $out/bin/teams-for-linux
''
+ ''
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "teams-for-linux";
exec = "teams-for-linux";
icon = "teams-for-linux";
desktopName = "Microsoft Teams for Linux";
comment = meta.description;
categories = [
"Network"
"InstantMessaging"
"Chat"
];
})
];
passthru.updateScript = nix-update-script { };
versionCheckProgramArg = "--version";
meta = {
description = "Unofficial Microsoft Teams client for Linux";
mainProgram = "teams-for-linux";
homepage = "https://github.com/IsmaelMartinez/teams-for-linux";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
muscaln
qjoly
chvp
khaneliman
];
platforms = with lib.platforms; darwin ++ linux;
};
}

View File

@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchurl,
xar,
cpio,
makeWrapper,
}:
let
pname = "teams";
versions = {
darwin = "1.6.00.4464";
};
hashes = {
darwin = "sha256-DvXMrXotKWUqFCb7rZj8wU7mmZJKuTLGyx8qOB/aQtg=";
};
meta = with lib; {
description = "Microsoft Teams";
homepage = "https://teams.microsoft.com";
downloadPage = "https://teams.microsoft.com/downloads";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ tricktron ];
platforms = [
"x86_64-darwin"
"aarch64-darwin"
];
mainProgram = "teams";
};
appName = "Teams.app";
in
stdenv.mkDerivation {
inherit pname meta;
version = versions.darwin;
src = fetchurl {
url = "https://statics.teams.cdn.office.net/production-osx/${versions.darwin}/Teams_osx.pkg";
hash = hashes.darwin;
};
nativeBuildInputs = [
xar
cpio
makeWrapper
];
unpackPhase = ''
xar -xf $src
zcat < Teams_osx_app.pkg/Payload | cpio -i
'';
sourceRoot = "Microsoft Teams.app";
dontPatch = true;
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{Applications/${appName},bin}
cp -R . $out/Applications/${appName}
makeWrapper $out/Applications/${appName}/Contents/MacOS/Teams $out/bin/teams
runHook postInstall
'';
}

View File

@@ -0,0 +1,137 @@
{
lib,
stdenv,
fetchurl,
fetchzip,
makeDesktopItem,
glib,
qt5,
libsForQt5,
perl,
libcxx,
autoPatchelfHook,
copyDesktopItems,
}:
let
pluginsdk = fetchzip {
url = "https://files.teamspeak-services.com/releases/sdk/3.3.1/ts_sdk_3.3.1.zip";
hash = "sha256-wx4pBZHpFPoNvEe4xYE80KnXGVda9XcX35ho4R8QxrQ=";
};
in
stdenv.mkDerivation rec {
pname = "teamspeak3";
version = "3.6.2";
src = fetchurl {
url = "https://files.teamspeak-services.com/releases/client/${version}/TeamSpeak3-Client-linux_amd64-${version}.run";
hash = "sha256-WfEQQ4lxoj+QSnAOfdCoEc+Z1Oa5dbo6pFli1DsAZCI=";
};
nativeBuildInputs = [
perl # Installer script needs `shasum`
qt5.wrapQtAppsHook
autoPatchelfHook
copyDesktopItems
];
buildInputs = [
libsForQt5.quazip
glib
libcxx
]
++ (with qt5; [
qtbase
qtwebengine
qtwebchannel
qtwebsockets
qtsvg
]);
# This runs the installer script. If it gets stuck, run it with -x.
# If it then gets stuck at something like:
#
# ++ exec
# + PAGER_PATH=
#
# it's looking for a dependency and didn't find it. Check the script and make
# sure the dep is in nativeBuildInputs.
unpackPhase = ''
runHook preUnpack
# Run the installer script non-interactively
echo -e '\ny' | PAGER=cat sh -e $src
cd TeamSpeak3-Client-linux_amd64
runHook postUnpack
'';
patchPhase = ''
runHook prePatch
# Delete unecessary libraries - these are provided by nixos.
find . -\( -name '*.so' -or -name '*.so.*' -\) -print0 | xargs -0 rm # I hate find.
rm QtWebEngineProcess
rm qt.conf
mv ts3client_linux_amd64 ts3client
# Our libquazip's so name has this suffix and there is no symlink
patchelf --replace-needed libquazip.so libquazip1-qt5.so ts3client error_report
runHook postPatch
'';
dontConfigure = true;
dontBuild = true;
desktopItems = [
(makeDesktopItem {
name = "teamspeak";
exec = "ts3client";
icon = "teamspeak";
comment = "The TeamSpeak voice communication tool";
desktopName = "TeamSpeak";
genericName = "TeamSpeak";
categories = [ "Network" ];
})
];
qtWrapperArgs = [
# wayland is currently broken, remove when TS3 fixes that
"--set QT_QPA_PLATFORM xcb"
];
installPhase = ''
runHook preInstall
mkdir -p $out/opt/teamspeak
mv * $out/opt/teamspeak/
# Grab the desktop icon from the plugin sdk
install ${pluginsdk}/doc/_static/logo.png -D $out/share/icons/hicolor/64x64/apps/teamspeak.png
mkdir -p $out/bin/
ln -s $out/opt/teamspeak/ts3client $out/bin/ts3client
runHook postInstall
'';
meta = {
description = "TeamSpeak voice communication tool";
homepage = "https://teamspeak.com/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.teamspeak;
maintainers = with lib.maintainers; [
lhvwb
lukegb
atemu
];
mainProgram = "ts3client";
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,124 @@
{
lib,
stdenvNoCC,
fetchurl,
autoPatchelfHook,
copyDesktopItems,
makeDesktopItem,
makeWrapper,
alsa-lib,
at-spi2-atk,
atk,
cairo,
cups,
dbus,
gcc-unwrapped,
gdk-pixbuf,
glib,
gtk3,
libdrm,
libnotify,
libpulseaudio,
libxkbcommon,
libgbm,
nss,
udev,
libGL,
xorg,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "teamspeak6-client";
version = "6.0.0-beta2";
src = fetchurl {
url = "https://files.teamspeak-services.com/pre_releases/client/${finalAttrs.version}/teamspeak-client.tar.gz";
hash = "sha256-3jNPv3uQ2RztR1p4XQNLUg5IVrvW/dcdtqXdiGJKVSs=";
};
sourceRoot = ".";
propagatedBuildInputs = [
alsa-lib
at-spi2-atk
atk
cairo
cups.lib
dbus
gcc-unwrapped.lib
gdk-pixbuf
glib
gtk3
libdrm
libnotify
libpulseaudio
libxkbcommon
libgbm
nss
xorg.libX11
xorg.libXScrnSaver
xorg.libXdamage
xorg.libXfixes
xorg.libxshmfence
xorg.libXtst
];
nativeBuildInputs = [
autoPatchelfHook
copyDesktopItems
makeWrapper
];
desktopItems = [
(makeDesktopItem {
name = "TeamSpeak";
exec = "TeamSpeak";
icon = "teamspeak6-client";
desktopName = "TeamSpeak";
comment = "TeamSpeak Voice Communication Client";
categories = [
"Audio"
"AudioVideo"
"Chat"
"Network"
];
})
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/teamspeak6-client $out/share/icons/hicolor/64x64/apps/
cp -a * $out/share/teamspeak6-client
cp logo-256.png $out/share/icons/hicolor/64x64/apps/teamspeak6-client.png
makeWrapper $out/share/teamspeak6-client/TeamSpeak $out/bin/TeamSpeak \
--prefix LD_LIBRARY_PATH : "${
lib.makeLibraryPath [
udev
libGL
libpulseaudio
]
}"
runHook postInstall
'';
updateScript = ./update.sh;
meta = {
description = "TeamSpeak voice communication tool (beta version)";
homepage = "https://teamspeak.com/";
license = lib.licenses.teamspeak;
mainProgram = "TeamSpeak";
maintainers = with lib.maintainers; [
gepbird
jojosch
];
platforms = [ "x86_64-linux" ];
};
})

View File

@@ -0,0 +1,21 @@
#!/usr/bin/env nix-shell
#!nix-shell --pure -i bash -p bash curl cacert ripgrep nix nix-update
set -euo pipefail
latest_version=$(
curl https://teamspeak.com/en/downloads/#ts6client | \
rg -o 'https://files.teamspeak-services.com/pre_releases/client/.*/teamspeak-client.tar.gz' | \
head -n1 | \
sed -n 's|.*/client/\(.*\)/teamspeak-client.tar.gz|\1|p'
)
current_version=$(nix eval --raw .#teamspeak6-client.version)
echo "latest version: $latest_version"
echo "current version: $current_version"
if [[ "$latest_version" == "$current_version" ]]; then
echo "package is up-to-date"
exit 0
fi
nix-update teamspeak6-client --version $latest_version

View File

@@ -0,0 +1,82 @@
{
lib,
stdenv,
fetchurl,
libpq,
autoPatchelfHook,
writeScript,
}:
let
arch = if stdenv.hostPlatform.is64bit then "amd64" else "x86";
in
stdenv.mkDerivation rec {
pname = "teamspeak-server";
version = "3.13.7";
src = fetchurl {
url = "https://files.teamspeak-services.com/releases/server/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2";
sha256 =
if stdenv.hostPlatform.is64bit then
"sha256-d1pXMamAmAHkyPkGbNm8ViobNoVTE5wSSfKgdA1QBB4="
else
"sha256-aMEDOnvBeKfzG8lDFhU8I5DYgG53IsCDBMV2MUyJi2g=";
};
buildInputs = [
stdenv.cc.cc
libpq
];
nativeBuildInputs = [ autoPatchelfHook ];
installPhase = ''
runHook preInstall
# Install files.
mkdir -p $out/lib/teamspeak
mv * $out/lib/teamspeak/
# Make symlinks to the binaries from bin.
mkdir -p $out/bin/
ln -s $out/lib/teamspeak/ts3server $out/bin/ts3server
ln -s $out/lib/teamspeak/tsdns/tsdnsserver $out/bin/tsdnsserver
runHook postInstall
'';
passthru.updateScript = writeScript "update-teampeak-server" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts curl gnugrep gnused jq pup
set -eu -o pipefail
version=$( \
curl https://www.teamspeak.com/en/downloads/ \
| pup "#server .linux .version json{}" \
| jq -r ".[0].text"
)
versionOld=$(nix-instantiate --eval --strict -A "teamspeak_server.version")
nixFile=pkgs/applications/networking/instant-messengers/teamspeak/server.nix
update-source-version teamspeak_server "$version" --system=i686-linux
sed -i -e "s/version = \"$version\";/version = $versionOld;/" "$nixFile"
update-source-version teamspeak_server "$version" --system=x86_64-linux
'';
meta = with lib; {
description = "TeamSpeak voice communication server";
homepage = "https://teamspeak.com/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.teamspeak;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [
arobyn
gerschtli
];
};
}

View File

@@ -0,0 +1,11 @@
diff -Naur teapot-2.3.0-old/scanner.c teapot-2.3.0-new/scanner.c
--- teapot-2.3.0-old/scanner.c 1969-12-31 21:00:01.000000000 -0300
+++ teapot-2.3.0-new/scanner.c 2021-11-25 17:46:49.936673391 -0300
@@ -25,6 +25,7 @@
#include "main.h"
#include "misc.h"
#include "scanner.h"
+#include "utf8.h"
/*}}}*/
/* identcode -- return number of identifier */ /*{{{*/

View File

@@ -0,0 +1,49 @@
diff -Naur teapot-2.3.0-old/CMakeLists.txt teapot-2.3.0-new/CMakeLists.txt
--- teapot-2.3.0-old/CMakeLists.txt 1969-12-31 21:00:01.000000000 -0300
+++ teapot-2.3.0-new/CMakeLists.txt 2021-11-25 18:16:06.594423660 -0300
@@ -64,46 +64,6 @@
install(TARGETS fteapot DESTINATION bin)
endif ()
-if (ENABLE_HELP)
- add_custom_command(
- OUTPUT teapot.tex teapot.lyx
- MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/doc/teapot.lyx
- VERBATIM
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/teapot.lyx teapot.lyx
- COMMAND lyx -e pdflatex -f main teapot.lyx
- )
- add_custom_command(
- OUTPUT teapot.pdf teapot.aux.old teapot.log teapot.toc
- MAIN_DEPENDENCY teapot.tex
- VERBATIM
- COMMAND pdflatex teapot.tex; diff -q teapot.aux.old teapot.aux && cp teapot.aux teapot.aux.old
- COMMAND pdflatex teapot.tex; diff -q teapot.aux.old teapot.aux && cp teapot.aux teapot.aux.old
- )
- add_custom_command(OUTPUT teapot.pdf teapot.out MAIN_DEPENDENCY teapot.tex teapot.aux.old VERBATIM COMMAND pdflatex teapot.tex; diff -q teapot.aux.old teapot.aux && cp teapot.aux teapot.aux.old)
- add_custom_command(
- OUTPUT html/ html/index.html .latex2html-init
- MAIN_DEPENDENCY teapot.tex
- DEPENDS teapot.tex teapot.pdf ${CMAKE_CURRENT_SOURCE_DIR}/doc/.latex2html-init
- VERBATIM
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/.latex2html-init .latex2html-init
- COMMAND ${CMAKE_COMMAND} -E make_directory html
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/contents.png html/
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/next.png html/
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/next_g.png html/
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/prev.png html/
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/prev_g.png html/
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/up.png html/
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/doc/up_g.png html/
- COMMAND latex2html teapot.tex
- )
- add_custom_target(pdf DEPENDS teapot.pdf)
- add_custom_target(html DEPENDS html/index.html)
- add_custom_target(doc ALL DEPENDS teapot.pdf html/index.html)
- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc/teapot FILES_MATCHING PATTERN *.html PATTERN *.png)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/teapot.pdf DESTINATION share/doc/teapot)
- set(HELPFILE "${CMAKE_INSTALL_PREFIX}/share/doc/teapot/index.html")
-endif ()
-
install(FILES COPYING README DESTINATION share/doc/teapot)
install(FILES teapot.1 DESTINATION share/man/man1)

View File

@@ -0,0 +1,81 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
libtirpc,
ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "teapot";
version = "2.3.0";
src = fetchFromGitHub {
owner = "museoa";
repo = "teapot";
tag = finalAttrs.version;
hash = "sha256-38XFjRzOGasr030f+mRYT+ptlabpnVJfa+1s7ZAjS+k=";
};
prePatch = ''
cd src
'';
patches = [
# include a local file in order to make cc happy
./001-fix-warning.patch
# remove the ENABLE_HELP target entirely - lyx and latex are huge!
./002-remove-help.patch
];
nativeBuildInputs = [
cmake
];
buildInputs = [
libtirpc
ncurses
];
# By no known reason libtirpc is not detected
env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ];
NIX_LDFLAGS = [ "-ltirpc" ];
cmakeConfigureFlags = [
"-DENABLE_HELP=OFF"
];
meta = {
description = "Table Editor And Planner, Or: Teapot";
longDescription = ''
Teapot is a compact spreadsheet software originally written by Michael
Haardt. It features a (n)curses-based text terminal interface, and
recently also a FLTK-based GUI.
These days, it may seem pointless having yet another spreadsheet program
(and one that doesn't even know how to load Microsoft Excel files). Its
compact size (130k for the ncurses executable, 140k for the GUI
executable, 300k for the self-contained Windows EXE) and the fact that it
can run across serial lines and SSH sessions make it an interesting choice
for embedded applications and as system administration utility, even more
so since it has a batch processing mode and comes with example code for
creating graphs from data sets.
Another interesting feature is its modern approach to spread sheet theory:
It sports true three-dimensional tables and iterative expressions. And
since it breaks compatibility with the usual notions of big spreadsheet
packages, it can also throw old syntactic cruft over board which many
spreadsheets still inherit from the days of VisiCalc on ancient CP/M
systems.
'';
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.unix;
mainProgram = "teapot";
homepage = "https://github.com/museoa/teapot";
changelog = "https://github.com/museoa/teapot/releases/tag/${finalAttrs.version}";
};
})
# TODO: patch/fix FLTK building
# TODO: add documentation

View File

@@ -0,0 +1,14 @@
diff --git a/src/teavpn2/net/linux/iface.c b/src/teavpn2/net/linux/iface.c
index a77c1c8..e59c901 100644
--- a/src/teavpn2/net/linux/iface.c
+++ b/src/teavpn2/net/linux/iface.c
@@ -327,7 +327,8 @@ static __cold __always_inline const char *find_ip_cmd(void)
"/usr/sbin/ip",
"/usr/local/bin/ip",
"/usr/local/sbin/ip",
- "/data/data/com.termux/files/usr/bin/ip"
+ "/data/data/com.termux/files/usr/bin/ip",
+ "@iproute2@/bin/ip"
};
for (size_t i = 0; i < (sizeof(ip_bin) / sizeof(*ip_bin)); i++) {

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchFromGitHub,
replaceVars,
iproute2,
}:
stdenv.mkDerivation {
pname = "teavpn2";
version = "unstable-2023-07-25";
src = fetchFromGitHub {
owner = "TeaInside";
repo = "teavpn2";
rev = "b21898d001a2e7b821e045162dd18f13561cb04b";
hash = "sha256-0/eHK2/+pn6NfawL1xLJv4jDBFvLwELSXNWLUvff1gs=";
};
patches = [
(replaceVars ./nix.patch {
inherit iproute2;
})
];
installPhase = ''
runHook preInstall
install -Dm 0755 teavpn2 $out/bin/teavpn2
runHook postInstall
'';
meta = with lib; {
description = "Open source VPN Software";
homepage = "https://github.com/TeaInside/teavpn2";
license = licenses.gpl2Plus;
mainProgram = "teavpn2";
maintainers = with maintainers; [ ludovicopiero ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,66 @@
{
lib,
fetchFromGitHub,
last,
exonerate,
minia,
python3,
bwa,
samtools,
}:
python3.pkgs.buildPythonApplication rec {
pname = "tebreak";
version = "1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "adamewing";
repo = "tebreak";
rev = version;
sha256 = "13mgh775d8hkl340923lfwwm4r5ps70girn8d6wgfxzwzxylz8iz";
};
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
pysam
scipy
bx-python
scikit-bio
];
preConfigure = ''
# patch the paths to all required software
for f in $(find . -type f) ; do
sed -i "s|'bwa'|'${bwa}/bin/bwa'|" $f
sed -i "s|'minia'|'${minia}/bin/minia'|" $f
sed -i "s|'exonerate'|'${exonerate}/bin/exonerate'|" $f
sed -i "s|'samtools'|'${samtools}/bin/samtools'|" $f
sed -i "s|'lastal'|'${last}/bin/lastal'|" $f
sed -i "s|'lastdb'|'${last}/bin/lastdb'|" $f
done
'';
checkPhase = ''
$out/bin/tebreak -b test/data/example.ins.bam -r test/data/Homo_sapiens_chr4_50000000-60000000_assembly19.fasta -p 4 --pickle test/example.pickle --detail_out test/example.tebreak.detail.out -i lib/teref.human.fa
pushd test
${python3.interpreter} checktest.py
'';
pythonImportsCheck = [ "tebreak" ];
meta = {
description = "Find and characterise transposable element insertions";
mainProgram = "tebreak";
homepage = "https://github.com/adamewing/tebreak";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jbedo ];
platforms = lib.platforms.x86_64;
# Several tests are failing:
# - AttributeError: module 'skbio.alignment' has no attribute 'local_pairwise_align_ssw'.
# Did you mean: 'local_pairwise_align'?
# - AssertionError: 6 != 0
broken = true;
};
}

897
pkgs/by-name/te/techmino/Cargo.lock generated Normal file
View File

@@ -0,0 +1,897 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "Inflector"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
[[package]]
name = "aliasable"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
[[package]]
name = "array-macro"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06e97b4e522f9e55523001238ac59d13a8603af57f69980de5d8de4bbbe8ada6"
[[package]]
name = "arrayvec"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
dependencies = [
"serde",
]
[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "bincode"
version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
dependencies = [
"serde",
]
[[package]]
name = "bumpalo"
version = "3.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
[[package]]
name = "byteorder"
version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "c-api"
version = "0.1.0"
dependencies = [
"cold-clear",
"enumset",
"libtetris",
]
[[package]]
name = "cc"
version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
dependencies = [
"jobserver",
]
[[package]]
name = "cfg-if"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "cold-clear"
version = "0.1.0"
dependencies = [
"arrayvec",
"bumpalo",
"console_error_panic_hook",
"crossbeam-channel 0.4.4",
"enum-map",
"enumset",
"futures-util",
"getrandom",
"libtetris",
"odds",
"opening-book",
"ouroboros",
"pcf",
"rand",
"rayon",
"serde",
"serde-big-array",
"smallvec",
"webutil",
]
[[package]]
name = "console_error_panic_hook"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
dependencies = [
"cfg-if 1.0.0",
"wasm-bindgen",
]
[[package]]
name = "crossbeam-channel"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
dependencies = [
"crossbeam-utils 0.7.2",
"maybe-uninit",
]
[[package]]
name = "crossbeam-channel"
version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils 0.8.15",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-epoch",
"crossbeam-utils 0.8.15",
]
[[package]]
name = "crossbeam-epoch"
version = "0.9.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
dependencies = [
"autocfg",
"cfg-if 1.0.0",
"crossbeam-utils 0.8.15",
"memoffset",
"scopeguard",
]
[[package]]
name = "crossbeam-utils"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
dependencies = [
"autocfg",
"cfg-if 0.1.10",
"lazy_static",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "darling"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
dependencies = [
"darling_core",
"darling_macro",
]
[[package]]
name = "darling_core"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "darling_macro"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
dependencies = [
"darling_core",
"quote",
"syn 1.0.109",
]
[[package]]
name = "either"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
[[package]]
name = "enum-map"
version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23595c55d463536d70a0cc71a521d4c1040a2e03816e455c38e8bb1f0981de98"
dependencies = [
"array-macro",
"enum-map-derive",
"serde",
]
[[package]]
name = "enum-map-derive"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5c450cf304c9e18d45db562025a14fb1ca0f5c769b6f609309f81d4c31de455"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "enumset"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19be8061a06ab6f3a6cf21106c873578bf01bd42ad15e0311a9c76161cb1c753"
dependencies = [
"enumset_derive",
"serde",
]
[[package]]
name = "enumset_derive"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03e7b551eba279bf0fa88b83a46330168c1560a52a94f5126f892f0b364ab3e0"
dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "fnv"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "futures-core"
version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
[[package]]
name = "futures-macro"
version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.13",
]
[[package]]
name = "futures-task"
version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
[[package]]
name = "futures-util"
version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
dependencies = [
"futures-core",
"futures-macro",
"futures-task",
"pin-project-lite",
"pin-utils",
"slab",
]
[[package]]
name = "getrandom"
version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
dependencies = [
"cfg-if 1.0.0",
"js-sys",
"libc",
"wasi",
"wasm-bindgen",
]
[[package]]
name = "hermit-abi"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
dependencies = [
"libc",
]
[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "itoa"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
[[package]]
name = "jobserver"
version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
dependencies = [
"libc",
]
[[package]]
name = "js-sys"
version = "0.3.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
dependencies = [
"wasm-bindgen",
]
[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.141"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
[[package]]
name = "libtetris"
version = "0.1.0"
dependencies = [
"arrayvec",
"enum-map",
"enumset",
"pcf",
"rand",
"serde",
]
[[package]]
name = "log"
version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "maybe-uninit"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
[[package]]
name = "memoffset"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
dependencies = [
"autocfg",
]
[[package]]
name = "num_cpus"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
dependencies = [
"hermit-abi",
"libc",
]
[[package]]
name = "odds"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9a18d7081eb052145753e982d7b8de495f15f74636d0d963f09116581eab665"
dependencies = [
"rawpointer 0.1.0",
"rawslice",
"unchecked-index",
]
[[package]]
name = "once_cell"
version = "1.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
[[package]]
name = "opening-book"
version = "0.1.0"
dependencies = [
"arrayvec",
"bincode",
"enumset",
"lazy_static",
"libtetris",
"num_cpus",
"ruzstd",
"serde",
"zstd",
]
[[package]]
name = "ouroboros"
version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71643f290d126e18ac2598876d01e1d57aed164afc78fdb6e2a0c6589a1f6662"
dependencies = [
"aliasable",
"ouroboros_macro",
"stable_deref_trait",
]
[[package]]
name = "ouroboros_macro"
version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed9a247206016d424fe8497bc611e510887af5c261fbbf977877c4bb55ca4d82"
dependencies = [
"Inflector",
"proc-macro-error",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "pcf"
version = "0.1.0"
dependencies = [
"arrayvec",
"rayon",
]
[[package]]
name = "pin-project-lite"
version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
[[package]]
name = "pin-utils"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "ppv-lite86"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "proc-macro-error"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
"syn 1.0.109",
"version_check",
]
[[package]]
name = "proc-macro-error-attr"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
"proc-macro2",
"quote",
"version_check",
]
[[package]]
name = "proc-macro2"
version = "1.0.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
dependencies = [
"proc-macro2",
]
[[package]]
name = "rand"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
dependencies = [
"getrandom",
"libc",
"rand_chacha",
"rand_core",
"rand_hc",
]
[[package]]
name = "rand_chacha"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
dependencies = [
"ppv-lite86",
"rand_core",
]
[[package]]
name = "rand_core"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
dependencies = [
"getrandom",
]
[[package]]
name = "rand_hc"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
dependencies = [
"rand_core",
]
[[package]]
name = "rawpointer"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebac11a9d2e11f2af219b8b8d833b76b1ea0e054aa0e8d8e9e4cbde353bdf019"
[[package]]
name = "rawpointer"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
[[package]]
name = "rawslice"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e23c908b26a742e5e3768ea42f19225ef809d3c9e3071bfe3e01c7e9b6fd1cd"
dependencies = [
"rawpointer 0.2.1",
]
[[package]]
name = "rayon"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
dependencies = [
"either",
"rayon-core",
]
[[package]]
name = "rayon-core"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
dependencies = [
"crossbeam-channel 0.5.8",
"crossbeam-deque",
"crossbeam-utils 0.8.15",
"num_cpus",
]
[[package]]
name = "ruzstd"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8cada0ef59efa6a5f4dc5e491f93d9f31e3fc7758df421ff1de8a706338e1100"
dependencies = [
"byteorder",
"twox-hash",
]
[[package]]
name = "ryu"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
[[package]]
name = "scopeguard"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "serde"
version = "1.0.159"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde-big-array"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "883eee5198ea51720eab8be52a36cf6c0164ac90eea0ed95b649d5e35382404e"
dependencies = [
"serde",
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.159"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.13",
]
[[package]]
name = "serde_json"
version = "1.0.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744"
dependencies = [
"itoa",
"ryu",
"serde",
]
[[package]]
name = "slab"
version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
dependencies = [
"autocfg",
]
[[package]]
name = "smallvec"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
[[package]]
name = "stable_deref_trait"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "syn"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn"
version = "2.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "twox-hash"
version = "1.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
dependencies = [
"cfg-if 1.0.0",
"static_assertions",
]
[[package]]
name = "unchecked-index"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eeba86d422ce181a719445e51872fa30f1f7413b62becb52e95ec91aa262d85c"
[[package]]
name = "unicode-ident"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "wasi"
version = "0.9.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
[[package]]
name = "wasm-bindgen"
version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
dependencies = [
"cfg-if 1.0.0",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
"syn 1.0.109",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
dependencies = [
"cfg-if 1.0.0",
"js-sys",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
[[package]]
name = "web-sys"
version = "0.3.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
dependencies = [
"js-sys",
"wasm-bindgen",
]
[[package]]
name = "webutil"
version = "0.1.0"
source = "git+https://github.com/MinusKelvin/webutil?rev=5a54126#5a54126f6c4931df016511f605bbf4aa43c422e5"
dependencies = [
"bincode",
"console_error_panic_hook",
"js-sys",
"serde",
"serde_json",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
]
[[package]]
name = "zstd"
version = "0.7.0+zstd.1.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9428752481d8372e15b1bf779ea518a179ad6c771cca2d2c60e4fbff3cc2cd52"
dependencies = [
"zstd-safe",
]
[[package]]
name = "zstd-safe"
version = "3.1.0+zstd.1.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aa1926623ad7fe406e090555387daf73db555b948134b4d73eac5eb08fb666d"
dependencies = [
"libc",
"zstd-sys",
]
[[package]]
name = "zstd-sys"
version = "1.5.0+zstd.1.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e6c094340240369025fc6b731b054ee2a834328fa584310ac96aa4baebdc465"
dependencies = [
"cc",
"libc",
]

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitHub,
libcoldclear,
luajit,
}:
stdenv.mkDerivation rec {
pname = "ccloader";
version = "11.4.2";
src = fetchFromGitHub {
owner = "26F-Studio";
repo = "cold_clear_ai_love2d_wrapper";
rev = version;
fetchSubmodules = true;
hash = "sha256-sguV+Dw+etZH43tXZYL46NAdsI/qvyvGWCPUiTEjhy4=";
};
buildInputs = [
libcoldclear
luajit
];
buildPhase = ''
runHook preBuild
gcc -shared cold_clear_wrapper.c -lcold_clear -lluajit-${luajit.luaversion} -o CCLoader.so
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib/lua/${luajit.luaversion}
mv CCLoader.so $out/lib/lua/${luajit.luaversion}
runHook postInstall
'';
meta = with lib; {
description = "Luajit wrapper for Cold Clear, a Tetris AI";
homepage = "https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper";
license = licenses.mpl20;
maintainers = with maintainers; [ chayleaf ];
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
rustPlatform,
fetchFromGitHub,
ccloader,
}:
let
# for whatever reason, rustPlatform fetches it the wrong way, so do it manually
pcf = fetchFromGitHub {
owner = "MinusKelvin";
repo = "pcf";
rev = "64cd95557f3cf56e11e4c91a963fce9700d85325";
hash = "sha256-2/Y5thDN5fwthk+I/D7pORe7yQ1H0UpNjVvAeSYpD5Q=";
};
in
rustPlatform.buildRustPackage {
pname = "libcoldclear";
version = "0.1.0";
src = "${ccloader.src}/cold-clear";
# remove workspace cargo.toml so we don't load all of workspace's deps
postPatch = ''
rm Cargo.toml
sed -i 's%git = "https://github.com/MinusKelvin/pcf", rev = "64cd955"%path = "../pcf"%g' */Cargo.toml
ln -s ${pcf} pcf
cd c-api
ln -s ${./Cargo.lock} Cargo.lock
'';
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"webutil-0.1.0" = "sha256-Zg98VmCUd/ZTlRTfTfkPJh4xX0QrepGxICbszebQw0I=";
};
};
postInstall = ''
mkdir -p $out/include
cp coldclear.h $out/include
'';
meta = with lib; {
description = "Tetris AI";
homepage = "https://github.com/26F-Studio/cold-clear";
license = licenses.mpl20;
maintainers = with maintainers; [ chayleaf ];
};
}

View File

@@ -0,0 +1,82 @@
{
lib,
stdenv,
fetchurl,
callPackage,
makeWrapper,
makeDesktopItem,
love,
luajit,
writeShellScript,
nix-update,
libcoldclear ? callPackage ./libcoldclear.nix { inherit ccloader; },
ccloader ? callPackage ./ccloader.nix { inherit libcoldclear luajit; },
}:
let
pname = "techmino";
description = "Modern Tetris clone with many features";
desktopItem = makeDesktopItem {
name = pname;
exec = "techmino";
icon = fetchurl {
name = "techmino.png";
url = "https://github.com/26F-Studio/Techmino/assets/9590981/95981af1-f39a-47d9-bd99-a78ab767c08f";
hash = "sha256-+j+8m2vwaWgHYSFL6urvTcB0vA+PCZ+FYJ22CNXfcSc=";
};
comment = description;
desktopName = "Techmino";
genericName = "Tetris Clone";
categories = [ "Game" ];
};
in
stdenv.mkDerivation rec {
inherit pname;
version = "0.17.21";
src = fetchurl {
url = "https://github.com/26F-Studio/Techmino/releases/download/v${version}/Techmino_Bare.love";
hash = "sha256-8gMIyNP1FS52LnbpQ+G9XNtK3rQruzkMDRz7Gk9LZcQ=";
};
nativeBuildInputs = [ makeWrapper ];
dontUnpack = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/games/lovegames
cp $src $out/share/games/lovegames/techmino.love
mkdir -p $out/bin
makeWrapper ${love}/bin/love $out/bin/techmino \
--add-flags $out/share/games/lovegames/techmino.love \
--suffix LUA_CPATH : ${ccloader}/lib/lua/${luajit.luaversion}/CCLoader.so
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications/
runHook postInstall
'';
passthru = {
inherit ccloader libcoldclear;
updateScript = writeShellScript "update-script.sh" ''
if ${lib.getExe nix-update} techmino | grep "Packages updated"; then
${lib.getExe nix-update} techmino.ccloader
fi
'';
};
meta = with lib; {
inherit description;
downloadPage = "https://github.com/26F-Studio/Techmino/releases";
homepage = "https://github.com/26F-Studio/Techmino/";
license = licenses.lgpl3;
mainProgram = "techmino";
maintainers = with maintainers; [ chayleaf ];
};
}

View File

@@ -0,0 +1,7 @@
[
{
"pname": "BouncyCastle.Cryptography",
"version": "2.5.1",
"hash": "sha256-ISDd8fS6/cIJIXBFDd7F3FQ0wzWkAo4r8dvycb8iT6c="
}
]

View File

@@ -0,0 +1,40 @@
{
lib,
buildDotnetModule,
fetchFromGitHub,
dotnetCorePackages,
nix-update-script,
}:
buildDotnetModule rec {
pname = "technitium-dns-server-library";
version = "dns-server-v13.6.0";
src = fetchFromGitHub {
owner = "TechnitiumSoftware";
repo = "TechnitiumLibrary";
tag = version;
hash = "sha256-P1LVn//4xL/MZoy7thw+zYlAZVTfjSivyAiuhixAoHs=";
name = "${pname}-${version}";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;
nugetDeps = ./nuget-deps.json;
projectFile = [
"TechnitiumLibrary.ByteTree/TechnitiumLibrary.ByteTree.csproj"
"TechnitiumLibrary.Net/TechnitiumLibrary.Net.csproj"
];
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/TechnitiumSoftware/DnsServer/blob/master/CHANGELOG.md";
description = "Library for Authorative and Recursive DNS server for Privacy and Security";
homepage = "https://github.com/TechnitiumSoftware/DnsServer";
license = lib.licenses.gpl3Only;
mainProgram = "technitium-dns-server-library";
maintainers = with lib.maintainers; [ fabianrig ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,7 @@
[
{
"pname": "BouncyCastle.Cryptography",
"version": "2.5.1",
"hash": "sha256-ISDd8fS6/cIJIXBFDd7F3FQ0wzWkAo4r8dvycb8iT6c="
}
]

View File

@@ -0,0 +1,59 @@
{
lib,
buildDotnetModule,
fetchFromGitHub,
dotnetCorePackages,
technitium-dns-server-library,
libmsquic,
nixosTests,
nix-update-script,
}:
buildDotnetModule rec {
pname = "technitium-dns-server";
version = "13.6.0";
src = fetchFromGitHub {
owner = "TechnitiumSoftware";
repo = "DnsServer";
tag = "v${version}";
hash = "sha256-2OSuLGWdaiiPxyW0Uvq736wHKa7S3CHv79cmZZ86GRE=";
name = "${pname}-${version}";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
nugetDeps = ./nuget-deps.json;
projectFile = [ "DnsServerApp/DnsServerApp.csproj" ];
# move dependencies from TechnitiumLibrary to the expected directory
preBuild = ''
mkdir -p ../TechnitiumLibrary/bin
cp -r ${technitium-dns-server-library}/lib/${technitium-dns-server-library.pname}/* ../TechnitiumLibrary/bin/
'';
postFixup = ''
mv $out/bin/DnsServerApp $out/bin/technitium-dns-server
'';
runtimeDeps = [
libmsquic
];
passthru.tests = {
inherit (nixosTests) technitium-dns-server;
};
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/TechnitiumSoftware/DnsServer/blob/master/CHANGELOG.md";
description = "Authorative and Recursive DNS server for Privacy and Security";
homepage = "https://github.com/TechnitiumSoftware/DnsServer";
license = lib.licenses.gpl3Only;
mainProgram = "technitium-dns-server";
maintainers = with lib.maintainers; [ fabianrig ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tecla";
version = "1.6.3";
src = fetchurl {
url = "https://www.astro.caltech.edu/~mcs/tecla/libtecla-${finalAttrs.version}.tar.gz";
hash = "sha256-8nV8xVBAhZ/Pj1mgt7JuAYSiK+zkTtlWikU0pHjB7ho=";
};
outputs = [
"out"
"man"
];
postPatch = ''
substituteInPlace install-sh \
--replace "stripprog=" "stripprog=\$STRIP # "
'';
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
};
meta = {
homepage = "https://www.astro.caltech.edu/~mcs/tecla/";
description = "Command-line editing library";
longDescription = ''
The tecla library provides UNIX and LINUX programs with interactive
command line editing facilities, similar to those of the UNIX tcsh
shell. In addition to simple command-line editing, it supports recall of
previously entered command lines, TAB completion of file names or other
tokens, and in-line wild-card expansion of filenames. The internal
functions which perform file-name completion and wild-card expansion are
also available externally for optional use by programs.
In addition, the library includes a path-searching module. This allows an
application to provide completion and lookup of files located in UNIX
style paths. Although not built into the line editor by default, it can
easily be called from custom tab-completion callback functions. This was
originally conceived for completing the names of executables and
providing a way to look up their locations in the user's PATH environment
variable, but it can easily be asked to look up and complete other types
of files in any list of directories.
Note that special care has been taken to allow the use of this library in
threaded programs. The option to enable this is discussed in the
Makefile, and specific discussions of thread safety are presented in the
included man pages.
'';
changelog = "https://sites.astro.caltech.edu/~mcs/tecla/release.html";
license = with lib.licenses; [ mit ];
mainProgram = "enhance";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,71 @@
{
lib,
stdenv,
fetchurl,
autoconf,
automake,
SDL,
SDL_mixer,
SDL_image,
libmikmod,
tinyxml,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tecnoballz";
version = "0.93.1";
src = fetchurl {
url = "https://linux.tlk.fr/games/TecnoballZ/download/tecnoballz-${finalAttrs.version}.tgz";
sha256 = "sha256-WRW76e+/eXE/KwuyOjzTPFQnKwNznbIrUrz14fnvgug=";
};
nativeBuildInputs = [
autoconf
automake
];
buildInputs = [
SDL
SDL_mixer
SDL_image
libmikmod
tinyxml
];
# Newer compilers introduced warnings
postPatch = ''
substituteInPlace configure.ac \
--replace "-Werror" ""
'';
preConfigure = ''
./bootstrap
'';
installFlags = [
# Default is $(out)/games
"gamesdir=$(out)/bin"
# We set the scoredir to $TMPDIR at install time.
# Otherwise it will try to write in /var/games at install time
"scoredir=$(TMPDIR)"
];
meta = with lib; {
homepage = "https://linux.tlk.fr/games/TecnoballZ/";
downloadPage = "https://linux.tlk.fr/games/TecnoballZ/download/";
description = "Brick breaker game with a sophisticated system of weapons and bonuses";
mainProgram = "tecnoballz";
longDescription = ''
A exciting Brick Breaker with 50 levels of game and 11 special levels,
distributed on the 2 modes of game to give the player a sophisticated
system of attack weapons with an enormous power of fire that can be build
by gaining bonuses. Numerous decors, musics and sounds complete this great
game. This game was ported from the Commodore Amiga.
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [ fgaz ];
platforms = platforms.all;
broken = stdenv.hostPlatform.isDarwin;
};
})

View File

@@ -0,0 +1,86 @@
{
stdenv,
lib,
fetchFromGitHub,
ncurses,
unstableGitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tecoc";
version = "0-unstable-2023-06-21";
src = fetchFromGitHub {
owner = "blakemcbride";
repo = "TECOC";
rev = "b4a96395a18c7e64ccaef0e25fdde3b7ef33ac4b";
hash = "sha256-KTOGsTtxJh2sneU2VoDNUHcL3m8zt+3rBZTDvK1n02A=";
};
buildInputs = [ ncurses ];
makefile =
if stdenv.hostPlatform.isDarwin then
"makefile.osx"
else if stdenv.hostPlatform.isFreeBSD then
"makefile.bsd"
else if stdenv.hostPlatform.isOpenBSD then
"makefile.bsd"
else if stdenv.hostPlatform.isWindows then
"makefile.win"
else
"makefile.linux"; # I think Linux is a safe default...
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
"-C src/"
];
installPhase = ''
runHook preInstall
install -d $out/bin $out/share/doc/tecoc $out/lib/teco/macros
install -m755 src/tecoc $out/bin
install -m644 src/aaout.txt doc/* $out/share/doc/tecoc
install -m644 lib/* lib2/* $out/lib/teco/macros
runHook postInstall
'';
postFixup = ''
pushd $out/bin
ln -s tecoc Make
ln -s tecoc mung
ln -s tecoc teco
ln -s tecoc Inspect
popd
'';
passthru.updateScript = unstableGitUpdater {
url = finalAttrs.meta.homepage;
};
meta = {
homepage = "https://github.com/blakemcbride/TECOC";
description = "Clone of the good old TECO editor";
longDescription = ''
For those who don't know: TECO is the acronym of Tape Editor and COrrector
(because it was a paper tape edition tool in its debut days). Now the
acronym follows after Text Editor and Corrector, or Text Editor
Character-Oriented.
TECO is a character-oriented text editor, originally developed by Dan
Murphy at MIT circa 1962. It is also a Turing-complete imperative
interpreted programming language for text manipulation, done via
user-loaded sets of macros. In fact, the venerable Emacs was born as a set
of Editor MACroS for TECO.
TECOC is a portable C implementation of TECO-11.
'';
license = {
url = "https://github.com/blakemcbride/TECOC/blob/${finalAttrs.src.rev}/doc/readme-1st.txt";
};
maintainers = [ ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,100 @@
/*
This file provides the `tectonic-unwrapped` package. On the other hand,
the `tectonic` package is defined in `../tectonic/package.nix`, by wrapping
- [`tectonic-unwrapped`](./package.nix) i.e. this package, and
- [`biber-for-tectonic`](../../bi/biber-for-tectonic/package.nix),
which provides a compatible version of `biber`.
*/
{
lib,
clangStdenv,
fetchFromGitHub,
rustPlatform,
fontconfig,
harfbuzzFull,
openssl,
pkg-config,
icu,
fetchpatch2,
}:
let
buildRustPackage = rustPlatform.buildRustPackage.override {
# use clang to work around build failure with GCC 14
# see: https://github.com/tectonic-typesetting/tectonic/issues/1263
stdenv = clangStdenv;
};
in
buildRustPackage rec {
pname = "tectonic";
version = "0.15.0";
src = fetchFromGitHub {
owner = "tectonic-typesetting";
repo = "tectonic";
rev = "tectonic@${version}";
sha256 = "sha256-dZnUu0g86WJIIvwMgdmwb6oYqItxoYrGQTFNX7I61Bs=";
};
patches = [
(fetchpatch2 {
# https://github.com/tectonic-typesetting/tectonic/pull/1155
name = "1155-fix-endless-reruns-when-generating-bbl";
url = "https://github.com/tectonic-typesetting/tectonic/commit/fbb145cd079497b8c88197276f92cb89685b4d54.patch";
hash = "sha256-6FW5MFkOWnqzYX8Eg5DfmLaEhVWKYVZwodE4SGXHKV0=";
})
./tectonic-0.15-fix-dangerous_implicit_autorefs.patch
];
cargoPatches = [
(fetchpatch2 {
# cherry-picked from https://github.com/tectonic-typesetting/tectonic/pull/1202
name = "1202-fix-build-with-rust-1_80-and-icu-75";
url = "https://github.com/tectonic-typesetting/tectonic/compare/19654bf152d602995da970f6164713953cffc2e6...6b49ca8db40aaca29cb375ce75add3e575558375.patch?full_index=1";
hash = "sha256-CgQBCFvfYKKXELnR9fMDqmdq97n514CzGJ7EBGpghJc=";
})
];
cargoHash = "sha256-OMa89riyopKMQf9E9Fr7Qs4hFfEfjnDFzaSWFtkYUXE=";
nativeBuildInputs = [ pkg-config ];
buildFeatures = [ "external-harfbuzz" ];
buildInputs = [
icu
fontconfig
harfbuzzFull
openssl
];
postInstall = ''
# Makes it possible to automatically use the V2 CLI API
ln -s $out/bin/tectonic $out/bin/nextonic
''
+ lib.optionalString clangStdenv.hostPlatform.isLinux ''
substituteInPlace dist/appimage/tectonic.desktop \
--replace Exec=tectonic Exec=$out/bin/tectonic
install -D dist/appimage/tectonic.desktop -t $out/share/applications/
install -D dist/appimage/tectonic.svg -t $out/share/icons/hicolor/scalable/apps/
'';
doCheck = true;
meta = {
description = "Modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive";
homepage = "https://tectonic-typesetting.github.io/";
changelog = "https://github.com/tectonic-typesetting/tectonic/blob/tectonic@${version}/CHANGELOG.md";
license = with lib.licenses; [ mit ];
mainProgram = "tectonic";
maintainers = with lib.maintainers; [
lluchs
doronbehar
bryango
];
};
}

View File

@@ -0,0 +1,13 @@
diff --git a/crates/engine_bibtex/src/xbuf.rs b/crates/engine_bibtex/src/xbuf.rs
index 8f3949e7..c216eb4d 100644
--- a/crates/engine_bibtex/src/xbuf.rs
+++ b/crates/engine_bibtex/src/xbuf.rs
@@ -52,7 +52,7 @@ pub unsafe fn xrealloc_zeroed<T: SafelyZero>(
old: *mut [T],
new_len: usize,
) -> Option<&'static mut [T]> {
- let old_len = (*old).len();
+ let old_len = (&(*old)).len();
let new_size = new_len * mem::size_of::<T>();
// SAFETY: realloc can be called with any size, even 0, that will just deallocate and return null
let ptr = unsafe { xrealloc(old.cast(), new_size) }.cast::<T>();

View File

@@ -0,0 +1,62 @@
{
lib,
symlinkJoin,
tectonic,
tectonic-unwrapped,
biber-for-tectonic,
makeBinaryWrapper,
callPackage,
}:
symlinkJoin {
name = "${tectonic-unwrapped.pname}-wrapped-${tectonic-unwrapped.version}";
paths = [ tectonic-unwrapped ];
nativeBuildInputs = [ makeBinaryWrapper ];
passthru = {
unwrapped = tectonic-unwrapped;
biber = biber-for-tectonic;
tests = callPackage ./tests.nix { };
# The version locked tectonic web bundle, redirected from:
# https://relay.fullyjustified.net/default_bundle_v33.tar
# To check for updates, see:
# https://github.com/tectonic-typesetting/tectonic/blob/master/crates/bundles/src/lib.rs
# ... and look up `get_fallback_bundle_url`.
bundleUrl = "https://data1.fullyjustified.net/tlextras-2022.0r0.tar";
};
# Replace the unwrapped tectonic with the one wrapping it with biber
postBuild = ''
rm $out/bin/{tectonic,nextonic}
''
# Pin the version of the online TeX bundle that Tectonic's developer
# distribute, so that the `biber` version and the `biblatex` version
# distributed from there are compatible.
#
# Upstream is updating it's online TeX bundle slower then
# https://github.com/plk/biber. That's why we match here the `bundleURL`
# version with that of `biber-for-tectonic`. See also upstream discussion:
#
# https://github.com/tectonic-typesetting/tectonic/discussions/1122
#
# Hence, we can be rather confident that for the near future, the online
# TeX bundle won't be updated and hence the biblatex distributed there
# won't require a higher version of biber.
+ ''
makeWrapper ${lib.getBin tectonic-unwrapped}/bin/tectonic $out/bin/tectonic \
--prefix PATH : "${lib.getBin biber-for-tectonic}/bin" \
--add-flags "--web-bundle ${tectonic.passthru.bundleUrl}" \
--inherit-argv0 ## make sure binary name e.g. `nextonic` is passed along
ln -s $out/bin/tectonic $out/bin/nextonic
'';
meta = tectonic-unwrapped.meta // {
description = "TeX/LaTeX engine, wrapped with a compatible biber";
maintainers = with lib.maintainers; [
doronbehar
bryango
];
};
}

View File

@@ -0,0 +1,107 @@
# This package provides `tectonic.passthru.tests`.
# It requires internet access to fetch tectonic's resource bundle on demand.
{
lib,
fetchFromGitHub,
writeText,
runCommand,
tectonic,
curl,
cacert,
emptyFile,
}:
let
/*
Currently, the test files are only fully available from the `dev` branch of
`biber`. When https://github.com/plk/biber/pull/467 is eventually released,
we can obtain the test files from `texlive.pkgs.biber.texsource`. For now,
i.e. biber<=2.19, we fetch the test files directly from GitHub.
*/
biber-dev-source = fetchFromGitHub {
owner = "plk";
repo = "biber";
# curl https://api.github.com/repos/plk/biber/pulls/467 | jq .merge_commit_sha
rev = "d43e352586f5c9f98f0331978ca9d0b908986e09";
hash = "sha256-Z5BdMteBouiDQasF6GZXkS//YzrZkcX1eLvKIQIBkBs=";
};
testfiles = "${biber-dev-source}/testfiles";
noNetNotice = writeText "tectonic-offline-notice" ''
# To fetch tectonic's web bundle, the tests require internet access,
# which is not available in the current environment.
'';
# `cacert` is required for tls connections
nativeBuildInputs = [
curl
cacert
tectonic
];
checkInternet = ''
if curl --head "bing.com"; then
set -e # continue to the tests defined below, fail on error
else
cat "${noNetNotice}"
cp "${emptyFile}" "$out"
exit # bail out gracefully when there is no internet, do not panic
fi
'';
networkRequiringTestPkg =
name: script:
runCommand
/*
Introduce dependence on `tectonic` in the test package name. Note that
adding `tectonic` to `nativeBuildInputs` is not enough to trigger
rebuilds for a fixed-output derivation. One must update its name or
output hash to induce a rebuild. This behavior is exactly the same as a
standard nixpkgs "fetcher" such as `fetchurl`.
*/
"test-${lib.removePrefix "${builtins.storeDir}/" tectonic.outPath}-${name}"
{
/*
Make a fixed-output derivation, return an `emptyFile` with fixed hash.
These derivations are allowed to access the internet from within a
sandbox, which allows us to test the automatic download of resource
files in tectonic, as a side effect. The `tectonic.outPath` is included
in `name` to induce rebuild of this fixed-output derivation whenever
the `tectonic` derivation is updated.
*/
inherit (emptyFile)
outputHashMode
outputHash
;
allowSubstitutes = false;
inherit nativeBuildInputs;
}
''
${checkInternet}
${script}
cp "${emptyFile}" "$out"
'';
in
lib.mapAttrs networkRequiringTestPkg {
biber-compatibility = ''
# import the test files
cp "${testfiles}"/* .
# tectonic caches in the $HOME directory, so set it to $PWD
export HOME=$PWD
tectonic -X compile ./test.tex
'';
workspace = ''
tectonic -X new
cat Tectonic.toml | grep "${tectonic.bundleUrl}"
'';
/**
test that the `nextonic -> tectonic` symlink is working as intended
*/
nextonic = ''
nextonic new 2>&1 \
| grep '"version 2" Tectonic command-line interface activated'
'';
}

View File

@@ -0,0 +1,118 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
zlib,
pcre,
xorg,
libjpeg,
libtiff,
libpng,
gtk2,
libpaper,
makeWrapper,
ghostscript,
}:
stdenv.mkDerivation rec {
pname = "ted";
version = "2.23";
src = fetchurl {
url = "http://ftp.nluug.nl/pub/editors/${pname}/${pname}-${version}.src.tar.gz";
sha256 = "0v1ipynyjklb3chd1vq26a21sjjg66sir57gi2kkrbwnpk195a9z";
};
preConfigure = ''
mkdir pkgconfig-append
pushd pkgconfig-append
# ted looks for libtiff, not libtiff-4 in its pkg-config invokations
cp ${libtiff.dev}/lib/pkgconfig/libtiff-4.pc libtiff.pc
# ted needs a libpaper pkg-config file
cat > libpaper.pc << EOF
prefix=${libpaper}
libdir=${libpaper}/lib
includedir=${libpaper}/include
exec_prefix=\''${prefix}
Name: libpaper
Version: ${libpaper.version}
Description: ${libpaper.meta.description}
Libs: -L\''${libdir} -lpaper
Cflags: -I\''${includedir}
EOF
export PKG_CONFIG_PATH="$PWD:$PKG_CONFIG_PATH"
popd
'';
makeFlags = [
"CONFIGURE_OPTIONS=--with-GTK"
"CONFIGURE_OPTIONS+=--prefix=$(out)"
"compile.shared"
];
installPhase = ''
runHook preInstall
make tedPackage/makefile
pushd tedPackage
substituteInPlace makefile --replace /usr ""
make PKGDESTDIR=$out datadir
popd
pushd $out/share/Ted/examples
for f in rtf2*.sh
do
makeWrapper "$PWD/$f" "$out/bin/$f" --prefix PATH : $out/bin:${lib.makeBinPath [ ghostscript ]}
done
popd
cp -v Ted/Ted $out/bin
runHook postInstall
'';
nativeBuildInputs = [
pkg-config
makeWrapper
];
buildInputs = [
zlib
pcre
xorg.libX11
xorg.libICE
xorg.libSM
xorg.libXpm
libjpeg
libtiff
libpng
gtk2
libpaper
];
meta = with lib; {
description = "Easy rich text processor";
longDescription = ''
Ted is a text processor running under X Windows on Unix/Linux systems.
Ted was developed as a standard easy light weight word processor, having
the role of Wordpad on MS-Windows. Since then, Ted has evolved to a real
word processor. It still has the same easy appearance and the same speed
as the original. The possibility to type a letter, a note or a report
with a simple light weight program on a Unix/Linux machine is clearly
missing. Ted was made to make it possible to edit rich text documents on
Unix/Linux in a wysiwyg way. RTF files from Ted are fully compatible with
MS-Word. Additionally, Ted also is an RTF to PostScript and an RTF to
Acrobat PDF converter.
'';
homepage = "https://nllgg.nl/Ted/";
license = licenses.gpl2Only;
platforms = platforms.all;
broken = stdenv.hostPlatform.isDarwin;
maintainers = with maintainers; [ obadz ];
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "teehee";
version = "0.2.8";
src = fetchFromGitHub {
owner = "Gskartwii";
repo = "teehee";
rev = "v${version}";
hash = "sha256-yTterXAev6eOnUe1/MJV8s8dUYJcXHDKVJ6T0G/JHzI=";
};
cargoHash = "sha256-PebwLIFBA6NdEXCQoEZzPFsSTMz8o2s+yOMyElrR4TM=";
meta = with lib; {
description = "Modal terminal hex editor";
homepage = "https://github.com/Gskartwii/teehee";
changelog = "https://github.com/Gskartwii/teehee/releases/tag/${src.rev}";
license = licenses.asl20;
maintainers = with maintainers; [ figsoda ];
mainProgram = "teehee";
};
}

View File

@@ -0,0 +1,17 @@
{
makeSetupHook,
teensy-cmake-macros,
}:
makeSetupHook {
name = "teensy-cmake-macros-hook";
propagatedBuildInputs = [ teensy-cmake-macros ];
passthru = { inherit teensy-cmake-macros; };
meta = {
description = "Setup hook for teensy-cmake-macros";
inherit (teensy-cmake-macros.meta) maintainers platforms broken;
};
} ./setup-hook.sh

View File

@@ -0,0 +1,39 @@
{
stdenv,
lib,
fetchFromGitHub,
cmake,
pkg-config,
callPackage,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "teensy-cmake-macros";
version = "0-unstable-2023-04-15";
src = fetchFromGitHub {
owner = "newdigate";
repo = "teensy-cmake-macros";
rev = "dc401ed23e6e13a9db3cd2a65f611a4738df3b0e";
hash = "sha256-E+BOlsCJtOScr3B5GSv1WM6rFv6cFYvm/iJ893fsmXM=";
};
propagatedBuildInputs = [
cmake
pkg-config
];
passthru = {
hook = callPackage ./hook.nix {
teensy-cmake-macros = finalAttrs.finalPackage;
};
};
meta = with lib; {
description = "CMake macros for building teensy projects";
platforms = platforms.all;
homepage = "https://github.com/newdigate/teensy-cmake-macros";
license = licenses.mit;
maintainers = [ maintainers.michaeldonovan ];
};
})

View File

@@ -0,0 +1,5 @@
teensyCMakeMacrosEnvHook() {
cmakeFlagsArray+=(-DCMAKE_MODULE_PATH=@out@/lib/cmake)
}
addEnvHooks "$targetOffset" teensyCMakeMacrosEnvHook

View File

@@ -0,0 +1,48 @@
{
stdenv,
lib,
fetchFromGitHub,
go-md2man,
installShellFiles,
libusb-compat-0_1,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "teensy-loader-cli";
version = "2.3";
src = fetchFromGitHub {
owner = "PaulStoffregen";
repo = "teensy_loader_cli";
rev = finalAttrs.version;
sha256 = "sha256-NYqCNWO/nHEuNc9eOzsUqJEHJtZ3XaNz1VYNbeuqEk8=";
};
nativeBuildInputs = [
go-md2man
installShellFiles
];
buildInputs = [
libusb-compat-0_1
];
installPhase = ''
runHook preInstall
install -Dm555 teensy_loader_cli $out/bin/teensy-loader-cli
install -Dm444 -t $out/share/doc/teensy-loader-cli *.md *.txt
go-md2man -in README.md -out teensy-loader-cli.1
installManPage *.1
runHook postInstall
'';
meta = with lib; {
description = "Firmware uploader for the Teensy microcontroller boards";
mainProgram = "teensy-loader-cli";
homepage = "https://www.pjrc.com/teensy/";
license = licenses.gpl3Only;
platforms = platforms.unix;
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
coreutils,
}:
stdenv.mkDerivation {
pname = "teensy-udev-rules";
version = "2022-05-15";
# Source: https://www.pjrc.com/teensy/00-teensy.rules
src = ./teensy.rules;
dontUnpack = true;
runtimeDeps = [ coreutils ];
installPhase = ''
install -D $src $out/etc/udev/rules.d/70-teensy.rules
substituteInPlace $out/etc/udev/rules.d/70-teensy.rules \
--replace "/bin/stty" "${coreutils}/bin/stty"
'';
meta = with lib; {
homepage = "https://www.pjrc.com/teensy/00-teensy.rules";
description = "udev rules for the Teensy microcontrollers";
longDescription = ''
udev rules that give non-root users permission to communicate with the
Teensy family of microcontrolers.
ModemManager (part of NetworkManager) can interfere with USB Serial
devices, which includes the Teensy. See comments in the .rules file (or
this package's homepage) for possible workarounds.
'';
platforms = platforms.linux;
license = licenses.unfree; # No license specified.
maintainers = with maintainers; [ aidalgol ];
};
}

View File

@@ -0,0 +1,39 @@
# UDEV Rules for Teensy boards, http://www.pjrc.com/teensy/
#
# The latest version of this file may be found at:
# http://www.pjrc.com/teensy/00-teensy.rules
#
# This file must be placed at:
#
# /etc/udev/rules.d/00-teensy.rules (preferred location)
# or
# /lib/udev/rules.d/00-teensy.rules (req'd on some broken systems)
#
# To install, type this command in a terminal:
# sudo cp 00-teensy.rules /etc/udev/rules.d/00-teensy.rules
#
# After this file is installed, physically unplug and reconnect Teensy.
#
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04*", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789a]*", ENV{MTP_NO_PROBE}="1"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04*", MODE:="0666", RUN:="/bin/stty -F /dev/%k raw -echo"
KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04*", MODE:="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04*", MODE:="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="013*", MODE:="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="013*", MODE:="0666"
#
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.
#
# ModemManager tends to interfere with USB Serial devices like Teensy.
# Problems manifest as the Arduino Serial Monitor missing some incoming
# data, and "Unable to open /dev/ttyACM0 for reboot request" when
# uploading. If you experience these problems, disable or remove
# ModemManager from your system. If you must use a modem, perhaps
# try disabling the "MM_FILTER_RULE_TTY_ACM_INTERFACE" ModemManager
# rule. Changing ModemManager's filter policy from "strict" to "default"
# may also help. But if you don't use a modem, completely removing
# the troublesome ModemManager is the most effective solution.

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchurl,
SDL,
SDL_image,
SDL_mixer,
}:
stdenv.mkDerivation rec {
pname = "teeter-torture";
version = "2005-10-18";
src = fetchurl {
url = "ftp://ftp.tuxpaint.org/unix/x/teetertorture/source/teetertorture-${version}.tar.gz";
sha256 = "175gdbkx3m82icyzvwpyzs4v2fd69c695k5n8ca0lnjv81wnw2hr";
};
buildInputs = [
SDL
SDL_image
SDL_mixer
];
configurePhase = ''
runHook preConfigure
sed -i s,data/,$out/share/teetertorture/, src/teetertorture.c
runHook postConfigure
'';
patchPhase = ''
sed -i '/free(home)/d' src/teetertorture.c
'';
installPhase = ''
mkdir -p $out/bin $out/share/teetertorture
cp teetertorture $out/bin
cp -R data/* $out/share/teetertorture
'';
meta = {
homepage = "http://www.newbreedsoftware.com/teetertorture/";
description = "Simple shooting game with your cannon is sitting atop a teeter totter";
license = lib.licenses.gpl2Plus;
inherit (SDL.meta) platforms;
mainProgram = "teetertorture";
};
}

View File

@@ -0,0 +1,147 @@
{
fetchFromGitHub,
fetchpatch,
lib,
stdenv,
cmake,
pkg-config,
python3,
alsa-lib,
libX11,
libGLU,
SDL2,
lua5_3,
zlib,
freetype,
wavpack,
icoutils,
nixosTests,
buildClient ? true,
}:
stdenv.mkDerivation rec {
pname = "teeworlds";
version = "0.7.5";
src = fetchFromGitHub {
owner = "teeworlds";
repo = "teeworlds";
rev = version;
sha256 = "1l19ksmimg6b8zzjy0skyhh7z11ql7n5gvilkv7ay5x2b9ndbqwz";
fetchSubmodules = true;
};
patches = [
# Can't use fetchpatch or fetchpatch2 because of https://github.com/NixOS/nixpkgs/issues/32084
# Using fetchurl instead is also not a good idea, see https://github.com/NixOS/nixpkgs/issues/32084#issuecomment-727223713
./rename-VERSION-to-VERSION.txt.patch
(fetchpatch {
name = "CVE-2021-43518.patch";
url = "https://salsa.debian.org/games-team/teeworlds/-/raw/a6c4b23c1ce73466e6d89bccbede70e61e8c9cba/debian/patches/CVE-2021-43518.patch";
hash = "sha256-2MmsucaaYjqLgMww1492gNmHmvBJm/NED+VV5pZDnBY=";
})
];
postPatch = ''
# set compiled-in DATA_DIR so resources can be found
substituteInPlace src/engine/shared/storage.cpp \
--replace '#define DATA_DIR "data"' \
'#define DATA_DIR "${placeholder "out"}/share/teeworlds/data"'
# Quote nonsense is a workaround for https://github.com/NixOS/nix/issues/661
substituteInPlace 'other/bundle/client/Info.plist.in' \
--replace ${"'"}''${TARGET_CLIENT}' 'teeworlds' \
--replace ${"'"}''${PROJECT_VERSION}' '${version}'
# Make sure some bundled dependencies are actually unbundled.
# This will fail compilation if one of these dependencies could not
# be found, instead of falling back to the bundled version.
rm -rf 'src/engine/external/wavpack/'
rm -rf 'src/engine/external/zlib/'
# md5, pnglite and json-parser (https://github.com/udp/json-parser)
# don't seem to be packaged in Nixpkgs, so don't unbundle them.
'';
nativeBuildInputs = [
cmake
pkg-config
]
++ lib.optionals (buildClient && stdenv.hostPlatform.isLinux) [
icoutils
];
buildInputs = [
python3
lua5_3
zlib
wavpack
]
++ lib.optionals buildClient (
[
SDL2
freetype
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libGLU
alsa-lib
libX11
]
);
cmakeFlags = [
"-DCLIENT=${if buildClient then "ON" else "OFF"}"
];
postInstall = lib.optionalString buildClient (
lib.optionalString stdenv.hostPlatform.isLinux ''
# Convert and install desktop icon
mkdir -p $out/share/pixmaps
icotool --extract --index 1 --output $out/share/pixmaps/teeworlds.png $src/other/icons/teeworlds.ico
# Install menu item
install -D $src/other/teeworlds.desktop $out/share/applications/teeworlds.desktop
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p "$out/Applications/teeworlds.app/Contents/MacOS"
mkdir -p "$out/Applications/teeworlds.app/Contents/Resources"
cp '../other/icons/teeworlds.icns' "$out/Applications/teeworlds.app/Contents/Resources/"
cp '../other/bundle/client/Info.plist.in' "$out/Applications/teeworlds.app/Contents/Info.plist"
cp '../other/bundle/client/PkgInfo' "$out/Applications/teeworlds.app/Contents/"
ln -s "$out/bin/teeworlds" "$out/Applications/teeworlds.app/Contents/MacOS/"
ln -s "$out/share/teeworlds/data" "$out/Applications/teeworlds.app/Contents/Resources/data"
''
);
passthru.tests.teeworlds = nixosTests.teeworlds;
meta = {
description = "Retro multiplayer shooter game";
mainProgram = "teeworlds_srv";
longDescription = ''
Teeworlds is a free online multiplayer game, available for all
major operating systems. Battle with up to 12 players in a
variety of game modes, including Team Deathmatch and Capture The
Flag. You can even design your own maps!
'';
homepage = "https://teeworlds.com/";
license = with lib.licenses; [
# See https://github.com/teeworlds/teeworlds/blob/master/license.txt
lib.licenses.zlib # Main license
cc-by-sa-30 # All content under 'datasrc' except the fonts
ofl # datasrc/fonts/SourceHanSans.ttc
free # datasrc/fonts/DejaVuSans.ttf
bsd2 # src/engine/external/json-parser/
bsd3 # src/engine/external/wavpack
# zlib src/engine/external/md5/
# zlib src/engine/external/pnglite/
# zlib src/engine/external/zlib/
];
maintainers = with lib.maintainers; [
Luflosi
];
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,33 @@
From 86d6687ef07f7f05457a7f67537b650656b13820 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Robert=20M=C3=BCller?= <robert.mueller@uni-siegen.de>
Date: Fri, 15 Oct 2021 23:45:50 +0200
Subject: [PATCH] rename VERSION to VERSION.txt:
Fixes compilation on systems with case insensitive file names where the standard library includes the version file source code.
---
src/engine/external/json-parser/{VERSION => VERSION.txt} | 0
src/engine/external/pnglite/{VERSION => VERSION.txt} | 0
src/engine/external/wavpack/{VERSION => VERSION.txt} | 0
src/engine/external/zlib/{VERSION => VERSION.txt} | 0
4 files changed, 0 insertions(+), 0 deletions(-)
rename src/engine/external/json-parser/{VERSION => VERSION.txt} (100%)
rename src/engine/external/pnglite/{VERSION => VERSION.txt} (100%)
rename src/engine/external/wavpack/{VERSION => VERSION.txt} (100%)
rename src/engine/external/zlib/{VERSION => VERSION.txt} (100%)
diff --git a/src/engine/external/json-parser/VERSION b/src/engine/external/json-parser/VERSION.txt
similarity index 100%
rename from src/engine/external/json-parser/VERSION
rename to src/engine/external/json-parser/VERSION.txt
diff --git a/src/engine/external/pnglite/VERSION b/src/engine/external/pnglite/VERSION.txt
similarity index 100%
rename from src/engine/external/pnglite/VERSION
rename to src/engine/external/pnglite/VERSION.txt
diff --git a/src/engine/external/wavpack/VERSION b/src/engine/external/wavpack/VERSION.txt
similarity index 100%
rename from src/engine/external/wavpack/VERSION
rename to src/engine/external/wavpack/VERSION.txt
diff --git a/src/engine/external/zlib/VERSION b/src/engine/external/zlib/VERSION.txt
similarity index 100%
rename from src/engine/external/zlib/VERSION
rename to src/engine/external/zlib/VERSION.txt

View File

@@ -0,0 +1,58 @@
{
lib,
buildGoModule,
buildNpmPackage,
fetchFromGitHub,
}:
let
version = "0.21.2";
src = fetchFromGitHub {
owner = "go-spatial";
repo = "tegola";
tag = "v${version}";
hash = "sha256-aJCxxeewOm7DOHmehnsDKoQPwPnUMsjVit41ccY6tLg=";
};
frontend = buildNpmPackage {
pname = "tegola-ui";
inherit version;
src = "${src}/ui";
npmDepsHash = "sha256-DHJ+l3ceLieGG97kH1ri+7yZAv7R2lVYRdBhjXCy/iM=";
installPhase = ''
cp -r dist $out
'';
};
in
buildGoModule {
pname = "tegola";
inherit version src;
vendorHash = null;
subPackages = [ "cmd/tegola" ];
ldflags = [
"-s"
"-w"
"-X github.com/go-spatial/tegola/internal/build.Version=${version}"
];
preBuild = ''
rm -rf ui/dist
cp -r ${frontend} ui/dist
go generate ./server
'';
meta = {
homepage = "https://www.tegola.io/";
description = "Mapbox Vector Tile server";
mainProgram = "tegola";
maintainers = with lib.maintainers; [ ingenieroariel ];
teams = [ lib.teams.geospatial ];
license = lib.licenses.mit;
};
}

View File

@@ -0,0 +1,48 @@
{
lib,
rustPlatform,
fetchFromGitHub,
installShellFiles,
perl,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "teip";
version = "2.3.2";
src = fetchFromGitHub {
owner = "greymd";
repo = "teip";
rev = "v${version}";
hash = "sha256-Lr4nlAM2mEKwF3HXso/6FQEKoQK43xxLMgOU7j7orYg=";
};
cargoHash = "sha256-FFv/Msx6fXRJuRH8hjhBgc7XCg5EKWantNKQHwXpa4o=";
nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [ perl ];
# tests are locale sensitive
preCheck = ''
export LANG=${if stdenv.hostPlatform.isDarwin then "en_US.UTF-8" else "C.UTF-8"}
'';
postInstall = ''
installManPage man/teip.1
installShellCompletion \
--bash completion/bash/teip \
--fish completion/fish/teip.fish \
--zsh completion/zsh/_teip
'';
meta = {
description = "Tool to bypass a partial range of standard input to any command";
mainProgram = "teip";
homepage = "https://github.com/greymd/teip";
changelog = "https://github.com/greymd/teip/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ figsoda ];
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
stdenv,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "tektoncd-cli-pac";
version = "0.38.0";
src = fetchFromGitHub {
owner = "openshift-pipelines";
repo = "pipelines-as-code";
tag = "v${finalAttrs.version}";
hash = "sha256-ti2IVI6ECXOhSxeeW7ufD1XjsOtr1R2J5Beq/ADRHaA=";
};
vendorHash = null;
ldflags = [
"-s"
"-w"
"-X github.com/openshift-pipelines/pipelines-as-code/pkg/params/version.Version=${finalAttrs.version}"
];
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/tkn-pac" ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd tkn-pac \
--bash <($out/bin/tkn-pac completion bash) \
--fish <($out/bin/tkn-pac completion fish) \
--zsh <($out/bin/tkn-pac completion zsh)
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://pipelinesascode.com";
changelog = "https://github.com/openshift-pipelines/pipelines-as-code/releases/tag/v${finalAttrs.version}";
description = "CLI for interacting with Tekton Pipelines as Code";
longDescription = ''
tkn-pac CLI Plugin Easily manage Pipelines-as-Code repositories.
'';
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
netbrain
vdemeester
chmouel
];
mainProgram = "tkn-pac";
};
})

View File

@@ -0,0 +1,80 @@
{
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
buildGoModule rec {
pname = "tektoncd-cli";
version = "0.42.0";
src = fetchFromGitHub {
owner = "tektoncd";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-WB3XsXT8bXo2GpHC6hGKilRwloy31y18JD09cQklsV0=";
};
vendorHash = null;
ldflags = [
"-s"
"-w"
"-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}"
];
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/tkn" ];
preCheck = ''
# some tests try to write to the home dir
export HOME="$TMPDIR"
# run all tests
unset subPackages
# the tests expect the clientVersion ldflag not to be set
unset ldflags
# remove tests with networking
rm pkg/cmd/version/version_test.go
'';
postInstall = ''
installManPage docs/man/man1/*
installShellCompletion --cmd tkn \
--bash <($out/bin/tkn completion bash) \
--fish <($out/bin/tkn completion fish) \
--zsh <($out/bin/tkn completion zsh)
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/tkn --help
$out/bin/tkn version | grep "Client version: ${version}"
runHook postInstallCheck
'';
meta = {
homepage = "https://tekton.dev";
changelog = "https://github.com/tektoncd/cli/releases/tag/v${version}";
description = "Provides a CLI for interacting with Tekton - tkn";
longDescription = ''
The Tekton Pipelines cli project provides a CLI for interacting with
Tekton! For your convenience, it is recommended that you install the
Tekton CLI, tkn, together with the core component of Tekton, Tekton
Pipelines.
'';
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
jk
mstrangfeld
vdemeester
];
mainProgram = "tkn";
};
}

View File

@@ -0,0 +1,91 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
adwaita-icon-theme,
libsForQt5,
gtk3,
hicolor-icon-theme,
jdupes,
gitUpdater,
allColorVariants ? false,
circularFolder ? false,
colorVariants ? [ ], # default is standard
}:
lib.checkListOfEnum "tela-circle-icon-theme: color variants"
[
"standard"
"black"
"blue"
"brown"
"green"
"grey"
"orange"
"pink"
"purple"
"red"
"yellow"
"manjaro"
"ubuntu"
"dracula"
"nord"
]
colorVariants
stdenvNoCC.mkDerivation
rec {
pname = "tela-circle-icon-theme";
version = "2025-02-10";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = "tela-circle-icon-theme";
tag = version;
hash = "sha256-5Kqf6QNM+/JGGp2H3Vcl69Vh1iZYPq3HJxhvSH6k+eQ=";
};
nativeBuildInputs = [
gtk3
jdupes
];
propagatedBuildInputs = [
adwaita-icon-theme
libsForQt5.breeze-icons
hicolor-icon-theme
];
dontDropIconThemeCache = true;
# These fixup steps are slow and unnecessary for this package.
# Package may install almost 400 000 small files.
dontPatchELF = true;
dontRewriteSymlinks = true;
postPatch = ''
patchShebangs install.sh
'';
installPhase = ''
runHook preInstall
./install.sh -d $out/share/icons \
${lib.optionalString circularFolder "-c"} \
${if allColorVariants then "-a" else toString colorVariants}
jdupes --quiet --link-soft --recurse $out/share
runHook postInstall
'';
passthru.updateScript = gitUpdater { };
meta = {
description = "Flat and colorful personality icon theme";
homepage = "https://github.com/vinceliuice/Tela-circle-icon-theme";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.linux; # darwin use case-insensitive filesystems that cause hash mismatches
maintainers = with lib.maintainers; [ romildo ];
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
gtk3,
jdupes,
adwaita-icon-theme,
libsForQt5,
hicolor-icon-theme,
}:
stdenvNoCC.mkDerivation rec {
pname = "tela-icon-theme";
version = "2025-02-10";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = "tela-icon-theme";
rev = version;
hash = "sha256-ufjKFlKJnmNwD2m1w+7JSBQij6ltxXWCpUEvVxECS98=";
};
nativeBuildInputs = [
gtk3
jdupes
];
propagatedBuildInputs = [
adwaita-icon-theme
libsForQt5.breeze-icons
hicolor-icon-theme
];
dontDropIconThemeCache = true;
# These fixup steps are slow and unnecessary.
dontPatchELF = true;
dontRewriteSymlinks = true;
dontCheckForBrokenSymlinks = true;
installPhase = ''
runHook preInstall
patchShebangs install.sh
mkdir -p $out/share/icons
./install.sh -a -d $out/share/icons
jdupes -l -r $out/share/icons
runHook postInstall
'';
meta = with lib; {
description = "Flat colorful Design icon theme";
homepage = "https://github.com/vinceliuice/tela-icon-theme";
changelog = "https://github.com/vinceliuice/Tela-icon-theme/releases/tag/${src.rev}";
license = licenses.gpl3Only;
# darwin systems use case-insensitive filesystems that cause hash mismatches
platforms = subtractLists platforms.darwin platforms.unix;
maintainers = with maintainers; [ figsoda ];
};
}

View File

@@ -0,0 +1,56 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nixosTests,
stdenv,
testers,
telegraf,
}:
buildGoModule rec {
pname = "telegraf";
version = "1.36.2";
subPackages = [ "cmd/telegraf" ];
src = fetchFromGitHub {
owner = "influxdata";
repo = "telegraf";
rev = "v${version}";
hash = "sha256-nIYAGsGYZUK5o1KqcH4bI3wPRRXCynN6N5T6f2oy2bo=";
};
vendorHash = "sha256-k4hI/qIQgV1qChOWDCqWcMboaVoDe3k/DP/wNa0Aqg4=";
proxyVendor = true;
ldflags = [
"-s"
"-w"
"-X=github.com/influxdata/telegraf/internal.Commit=${src.rev}"
"-X=github.com/influxdata/telegraf/internal.Version=${version}"
];
passthru.tests = {
version = testers.testVersion {
package = telegraf;
};
}
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
inherit (nixosTests) telegraf;
};
meta = with lib; {
description = "Plugin-driven server agent for collecting & reporting metrics";
mainProgram = "telegraf";
homepage = "https://www.influxdata.com/time-series-platform/telegraf/";
changelog = "https://github.com/influxdata/telegraf/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [
mic92
roblabla
timstott
zowoq
];
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
gperf,
openssl,
zlib,
versionCheckHook,
}:
stdenv.mkDerivation {
pname = "telegram-bot-api";
version = "8.2";
src = fetchFromGitHub {
owner = "tdlib";
repo = "telegram-bot-api";
rev = "fa6706fc8f6e22b3c25b512ede6474613f32b32b";
hash = "sha256-0ra1sL121ksUIhpV738tL3y1gu1csMf0rK95G8ElMuo=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
gperf
];
buildInputs = [
openssl
zlib
];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
versionCheckProgramArg = "--version";
meta = {
description = "Telegram Bot API server";
homepage = "https://github.com/tdlib/telegram-bot-api";
license = lib.licenses.boost;
maintainers = with lib.maintainers; [
Anillc
Forden
nartsiss
];
platforms = lib.platforms.all;
mainProgram = "telegram-bot-api";
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
desktop-file-utils,
fetchFromGitHub,
gobject-introspection,
gtk4,
libadwaita,
meson,
ninja,
pkg-config,
python3,
stdenv,
wrapGAppsHook4,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "telegraph";
version = "0.1.8";
src = fetchFromGitHub {
owner = "fkinoshita";
repo = "Telegraph";
rev = "v${finalAttrs.version}";
hash = "sha256-m36YHIo1PaDunnC12feSAbwwG1+E7s90fzOKskHtIag=";
};
nativeBuildInputs = [
desktop-file-utils
gobject-introspection
meson
ninja
pkg-config
wrapGAppsHook4
];
buildInputs = [
gtk4
libadwaita
(python3.withPackages (
ps: with ps; [
pygobject3
]
))
];
meta = with lib; {
changelog = "https://github.com/fkinoshita/Telegraph/releases/v${finalAttrs.version}";
description = "Write and decode Morse";
homepage = "https://github.com/fkinoshita/Telegraph";
license = licenses.gpl3Only;
mainProgram = "telegraph";
maintainers = with maintainers; [ michaelgrahamevans ];
platforms = platforms.linux;
};
})

View File

@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
telepathy-glib,
farstream,
dbus-glib,
}:
stdenv.mkDerivation rec {
pname = "telepathy-farstream";
version = "0.6.2";
src = fetchurl {
url = "https://telepathy.freedesktop.org/releases/${pname}/${pname}-${version}.tar.gz";
sha256 = "02ky12bb92prr5f6xmvmfq4yz2lj33li6nj4829a98hk5pr9k83g";
};
nativeBuildInputs = [ pkg-config ];
propagatedBuildInputs = [
dbus-glib
telepathy-glib
farstream
];
meta = with lib; {
description = "GObject-based C library that uses Telepathy GLib, Farstream and GStreamer to handle the media streaming part of channels of type Call";
homepage = "https://telepathy.freedesktop.org/wiki/Components/Telepathy-Farstream/";
platforms = platforms.unix;
license = licenses.lgpl21Only;
};
}

View File

@@ -0,0 +1,78 @@
{
lib,
stdenv,
fetchurl,
dbus-glib,
glib,
python3,
pkg-config,
libxslt,
gobject-introspection,
vala,
glibcLocales,
fetchpatch,
}:
stdenv.mkDerivation rec {
pname = "telepathy-glib";
version = "0.24.2";
outputs = [
"out"
"dev"
];
src = fetchurl {
url = "${meta.homepage}/releases/telepathy-glib/${pname}-${version}.tar.gz";
sha256 = "sKN013HN0IESXzjDq9B5ZXZCMBxxpUPVVeK/IZGSc/A=";
};
strictDeps = true;
nativeBuildInputs = [
pkg-config
libxslt
gobject-introspection
vala
python3
];
buildInputs = [
glibcLocales
];
propagatedBuildInputs = [
dbus-glib
glib
];
configureFlags = [
"--enable-vala-bindings"
];
LC_ALL = "en_US.UTF-8";
enableParallelBuilding = true;
preConfigure = ''
substituteInPlace telepathy-glib/telepathy-glib.pc.in --replace Requires.private Requires
'';
patches = [
# Upstream unreleased patch for gcc14 error
(fetchpatch {
name = "fix-incompatible-pointer-types.patch";
url = "https://github.com/TelepathyIM/telepathy-glib/commit/72412c944b771f3214ddc40fa9dea82cea3a5651.patch";
hash = "sha256-NXQel0eS7zK6FRbJcPsPXCQxos0xT8EN102vX94M5Vo=";
})
];
meta = with lib; {
homepage = "https://telepathy.freedesktop.org";
platforms = platforms.unix;
license = with licenses; [
bsd2
bsd3
lgpl21Plus
];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchurl,
pidgin,
telepathy-glib,
python3,
glib,
dbus-glib,
pkg-config,
libxslt,
}:
stdenv.mkDerivation rec {
pname = "telepathy-haze";
version = "0.8.1";
src = fetchurl {
url = "https://telepathy.freedesktop.org/releases/telepathy-haze/telepathy-haze-${version}.tar.gz";
hash = "sha256-cEvvpC7sIXPspLrAH/0AQBRmXyutRtyJSOVCM2TN4wo=";
};
buildInputs = [
glib
telepathy-glib
dbus-glib
pidgin
];
nativeBuildInputs = [
pkg-config
libxslt
python3
];
meta = {
description = "Telepathy connection manager based on libpurple";
homepage = "https://telepathy.freedesktop.org/components/telepathy-haze/";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchurl,
glib,
dconf,
pkg-config,
dbus-glib,
telepathy-glib,
python3,
libxslt,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "telepathy-idle";
version = "0.2.2";
src = fetchurl {
url = "http://telepathy.freedesktop.org/releases/${pname}/${pname}-${version}.tar.gz";
hash = "sha256-g4fiXl+wtMvnAeXcCS1mbWUQuDP9Pn5GLpFw027DwV8=";
};
nativeBuildInputs = [
pkg-config
python3
makeWrapper
];
buildInputs = [
glib
telepathy-glib
dbus-glib
libxslt
(lib.getLib dconf)
];
preFixup = ''
wrapProgram "$out/libexec/telepathy-idle" \
--prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
'';
meta = {
description = "IRC connection manager for the Telepathy framework";
homepage = "https://telepathy.freedesktop.org/components/telepathy-idle/";
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,65 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
dconf,
telepathy-glib,
python3,
libxslt,
makeWrapper,
autoreconfHook,
gtk-doc,
}:
stdenv.mkDerivation rec {
pname = "telepathy-mission-control";
version = "5.16.6";
outputs = [
"out"
"lib"
"dev"
];
src = fetchurl {
url = "https://telepathy.freedesktop.org/releases/${pname}/${pname}-${version}.tar.gz";
sha256 = "0ibs575pfr0wmhfcw6ln6iz7gw2y45l3bah11rksf6g9jlwsxy1d";
};
# TODO: optional build inputs missing
nativeBuildInputs = [
telepathy-glib # glib-genmarshal
pkg-config
python3
libxslt
makeWrapper
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
autoreconfHook
gtk-doc
];
propagatedBuildInputs = [
telepathy-glib
];
doCheck = true;
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$lib/libexec/mission-control-5" \
--prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
'';
meta = with lib; {
description = "Account manager and channel dispatcher for the Telepathy framework";
homepage = "https://telepathy.freedesktop.org/components/telepathy-mission-control/";
license = licenses.lgpl21Only;
maintainers = [ ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,5 @@
{
teleport_17,
}:
teleport_17

View File

@@ -0,0 +1,17 @@
{
buildTeleport,
buildGoModule,
wasm-bindgen-cli_0_2_95,
withRdpClient ? true,
extPatches ? [ ],
}:
buildTeleport {
version = "16.5.15";
hash = "sha256-DqNG6gl+KdjSbkE9Bwum8az8cLCSOmZwo9xpuWafHCA=";
vendorHash = "sha256-sZvRKLF2iZ3UpgGNUPuWMT7VTpnDa2uU0d1XjDKSmdo=";
pnpmHash = "sha256-8xnH9PkKz77whtq/LVYUjyG1Z1reRtW03Gv8sZ/1vww=";
cargoHash = "sha256-04zykCcVTptEPGy35MIWG+tROKFzEepLBmn04mSbt7I=";
wasm-bindgen-cli = wasm-bindgen-cli_0_2_95;
inherit buildGoModule withRdpClient extPatches;
}

View File

@@ -0,0 +1,18 @@
{
buildTeleport,
buildGoModule,
wasm-bindgen-cli_0_2_95,
withRdpClient ? true,
extPatches ? [ ],
}:
buildTeleport {
version = "17.7.3";
hash = "sha256-YSYkJRAeu7iPOs/gFnozZbks0Fx5srNH0VjrKvFmHZo=";
vendorHash = "sha256-7Rb94ERtp3H1Jwyh9d7AFT06d4xXdnfe5tpdvJQrbUQ=";
cargoHash = "sha256-qz8gkooQTuBlPWC4lHtvBQpKkd+nEZ0Hl7AVg9JkPqs=";
pnpmHash = "sha256-ZONs8z8mgBBQBmqaDGJKqhmtUKBrxE8BGYppbAqpQmg=";
wasm-bindgen-cli = wasm-bindgen-cli_0_2_95;
inherit buildGoModule withRdpClient extPatches;
}

View File

@@ -0,0 +1,19 @@
{
buildTeleport,
buildGo124Module,
wasm-bindgen-cli_0_2_99,
withRdpClient ? true,
extPatches ? [ ],
}:
buildTeleport {
version = "18.2.0";
hash = "sha256-JWgGRv9pK76u7IxwqnBcuAI93XIKfIVvme7l+a/3J7c=";
vendorHash = "sha256-oPi/rIuwze2ZlyHfZ2MdDHHvdIaF2IZ2aklEVNRgoLo=";
pnpmHash = "sha256-wW4RT1uqOTpy8wKIsAOfIlxoOamTzPqEbFQRAub+sn4=";
cargoHash = "sha256-ia4We4IfIkqz82aFMVvXdzjDXw0w+OJSPVdutfau6PA=";
wasm-bindgen-cli = wasm-bindgen-cli_0_2_99;
buildGoModule = buildGo124Module;
inherit withRdpClient extPatches;
}

View File

@@ -0,0 +1,75 @@
{
lib,
fetchFromGitHub,
buildGoModule,
fuse,
}:
let
fuseftp = buildGoModule rec {
pname = "go-fuseftp";
version = "0.6.6";
src = fetchFromGitHub {
owner = "datawire";
repo = "go-fuseftp";
rev = "v${version}";
hash = "sha256-70VmT8F+RNiDk6fnrzDktdfNhZk20sXF+b3TBTAkNHo=";
};
vendorHash = "sha256-wp4jOmeVdfuRwdclCzBonNCkhgsNUBOBL6gxlrznC1A=";
buildInputs = [ fuse ];
ldflags = [
"-s"
"-w"
];
subPackages = [ "pkg/main" ];
};
in
buildGoModule rec {
pname = "telepresence2";
version = "2.24.1";
src = fetchFromGitHub {
owner = "telepresenceio";
repo = "telepresence";
rev = "v${version}";
hash = "sha256-f9KlDKLRLmYAGMWdlKb4PbGZ+hn8J55EAmQ19oJ5+q4=";
};
propagatedBuildInputs = [
fuseftp
];
# telepresence depends on fuseftp existing as a built binary, as it gets embedded
# CGO gets disabled to match their build process as that is how it's done upstream
preBuild = ''
cp ${fuseftp}/bin/main ./pkg/client/remotefs/fuseftp.bits
export CGO_ENABLED=0
'';
vendorHash = "sha256-I2FyoOKSU1h6a2LwmAdFKGIcqVGbtxujjarqdSX7HFI=";
ldflags = [
"-s"
"-w"
"-X=github.com/telepresenceio/telepresence/v2/pkg/version.Version=${src.rev}"
];
subPackages = [ "cmd/telepresence" ];
meta = with lib; {
description = "Local development against a remote Kubernetes or OpenShift cluster";
homepage = "https://telepresence.io";
license = licenses.asl20;
maintainers = with maintainers; [
mausch
vilsol
wrbbz
];
mainProgram = "telepresence";
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
python3Packages,
fetchFromGitHub,
meson,
ninja,
pkg-config,
wrapGAppsHook4,
gettext,
glib,
desktop-file-utils,
appstream-glib,
gobject-introspection,
libadwaita,
nix-update-script,
}:
let
version = "1.0.1";
in
python3Packages.buildPythonApplication {
pname = "teleprompter";
inherit version;
pyproject = false;
src = fetchFromGitHub {
owner = "Nokse22";
repo = "teleprompter";
tag = "v${version}";
hash = "sha256-KnjZJbTM5EH/0aitqCtohE3Xy4ixOsDMthUn8kWjHq8=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
wrapGAppsHook4
gettext
glib
desktop-file-utils
appstream-glib
gobject-introspection
];
pythonPath = [ python3Packages.pygobject3 ];
buildInputs = [ libadwaita ];
dontWrapGApps = true;
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Stay on track during speeches";
homepage = "https://github.com/Nokse22/teleprompter";
changelog = "https://github.com/Nokse22/teleprompter/releases/tag/v${version}";
license = lib.licenses.gpl3Plus;
mainProgram = "teleprompter";
maintainers = [ lib.maintainers.awwpotato ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "teler";
version = "2.0.0";
src = fetchFromGitHub {
owner = "kitabisa";
repo = "teler";
tag = "v${version}";
hash = "sha256-3+A1QloZQlH31snWfwYa6rprpKUf3fQc/HQgmKQgV9c=";
};
vendorHash = "sha256-gV/PJFcANeYTYUJG3PYNsApYaeBLx76+vVBvcuKDYO4=";
ldflags = [
"-s"
"-w"
"-X=ktbs.dev/teler/common.Version=${version}"
];
# test require internet access
doCheck = false;
meta = {
description = "Real-time HTTP Intrusion Detection";
longDescription = ''
teler is an real-time intrusion detection and threat alert
based on web log that runs in a terminal with resources that
we collect and provide by the community.
'';
homepage = "https://github.com/kitabisa/teler";
changelog = "https://github.com/kitabisa/teler/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "teler.app";
};
}

View File

@@ -0,0 +1,55 @@
{
stdenv,
lib,
fetchFromGitHub,
pkg-config,
bison,
libevent,
libgrapheme,
libressl,
ncurses,
autoreconfHook,
buildPackages,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "telescope";
version = "0.11";
src = fetchFromGitHub {
owner = "omar-polo";
repo = "telescope";
tag = finalAttrs.version;
hash = "sha256-GKeUXa4RKYkoywrCrpenfLt10Rdj9L0xYI3tf2hFAbk=";
};
postPatch = ''
# Remove bundled libraries
rm -r libgrapheme
'';
nativeBuildInputs = [
autoreconfHook
pkg-config
bison
];
buildInputs = [
libevent
libgrapheme
libressl
ncurses
];
configureFlags = [
"HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"
];
meta = {
description = "w3m-like browser for Gemini";
homepage = "https://telescope-browser.org/";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ heph2 ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
pkg-config,
rustPlatform,
rustc,
cargo,
wrapGAppsHook4,
blueprint-compiler,
libadwaita,
desktop-file-utils,
openssl,
gst_all_1,
clapper-unwrapped,
}:
stdenv.mkDerivation rec {
pname = "televido";
version = "0.5.0";
src = fetchFromGitHub {
owner = "d-k-bo";
repo = "televido";
tag = "v${version}";
hash = "sha256-9hoKX1fGjMOlvU3kNx4aLMV++k+nynDIK1UQRrw242k=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-D9gchFS5zrD1cttq/gveT7wY2Y/5hfiUrwBa7qHD9cs=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
rustPlatform.cargoSetupHook
rustc
cargo
wrapGAppsHook4
blueprint-compiler
openssl
];
buildInputs = [
libadwaita
desktop-file-utils
clapper-unwrapped
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-libav
gst_all_1.gst-plugins-bad
];
meta = {
description = "Viewer for German-language public broadcasting live streams and archives";
homepage = "https://github.com/d-k-bo/televido";
license = lib.licenses.gpl3;
mainProgram = "televido";
maintainers = with lib.maintainers; [ seineeloquenz ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,60 @@
{
lib,
rustPlatform,
fetchFromGitHub,
makeWrapper,
testers,
television,
nix-update-script,
extraPackages ? [ ],
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "television";
version = "0.13.5";
src = fetchFromGitHub {
owner = "alexpasmantier";
repo = "television";
tag = finalAttrs.version;
hash = "sha256-IlFOYnZ9xPQaRheielKqAckyVlSVQMhnO4wCtVixlNQ=";
};
cargoHash = "sha256-QKUspbC1bmSeZP0n/O5roEqQkrja+fVKLhAvgzqNS9E=";
nativeBuildInputs = [ makeWrapper ];
postInstall = lib.optionalString (extraPackages != [ ]) ''
wrapProgram $out/bin/tv \
--prefix PATH : ${lib.makeBinPath extraPackages}
'';
# TODO(@getchoo): Investigate selectively disabling some tests, or fixing them
# https://github.com/NixOS/nixpkgs/pull/423662#issuecomment-3156362941
doCheck = false;
passthru = {
tests.version = testers.testVersion {
package = television;
command = "XDG_DATA_HOME=$TMPDIR tv --version";
};
updateScript = nix-update-script { };
};
meta = {
description = "Blazingly fast general purpose fuzzy finder TUI";
longDescription = ''
Television is a fast and versatile fuzzy finder TUI.
It lets you quickly search through any kind of data source (files, git
repositories, environment variables, docker images, you name it) using a
fuzzy matching algorithm and is designed to be easily extensible.
'';
homepage = "https://github.com/alexpasmantier/television";
changelog = "https://github.com/alexpasmantier/television/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
mainProgram = "tv";
maintainers = with lib.maintainers; [
louis-thevenet
getchoo
];
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication rec {
pname = "tell-me-your-secrets";
version = "2.4.2";
pyproject = true;
src = fetchFromGitHub {
owner = "valayDave";
repo = "tell-me-your-secrets";
tag = "v${version}";
hash = "sha256-3ZJyL/V1dsW6F+PiEhnWpv/Pz2H9/UKSJWDgw68M/Z8=";
};
pythonRelaxDeps = [
"pandas"
"single-source"
];
build-system = with python3Packages; [ poetry-core ];
dependencies = with python3Packages; [
gitignore-parser
pandas
pyyaml
single-source
];
nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
pythonImportsCheck = [ "tell_me_your_secrets" ];
meta = {
description = "Tools to find secrets from various signatures";
mainProgram = "tell-me-your-secrets";
homepage = "https://github.com/valayDave/tell-me-your-secrets";
changelog = "https://github.com/valayDave/tell-me-your-secrets/blob/${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
protobuf,
pkg-config,
openssl,
}:
let
pname = "teller";
version = "2.0.7";
date = "2024-05-19";
in
rustPlatform.buildRustPackage {
inherit pname version;
src = fetchFromGitHub {
owner = "tellerops";
repo = "teller";
rev = "v${version}";
hash = "sha256-CI74nMMTIPwjJfy7ASR19V6EbYZ62NoAOxlP3Xt2BuI=";
};
cargoHash = "sha256-PSa4EEDEFdFpfYPG5M5wMwfq3WSqMw5d8a+mKgBzCFw=";
nativeBuildInputs = [
protobuf
pkg-config
];
buildInputs = [
openssl
];
doCheck = false;
doInstallCheck = true;
installCheckPhase = ''
$out/bin/teller --version 2>&1 | grep ${version};
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
homepage = "https://github.com/tellerops/teller/";
description = "Cloud native secrets management for developers";
mainProgram = "teller";
license = licenses.asl20;
maintainers = with maintainers; [
cameronraysmith
wahtique
];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "templ";
version = "0.3.943";
src = fetchFromGitHub {
owner = "a-h";
repo = "templ";
rev = "v${version}";
hash = "sha256-7owKjFrIHi5+RhWXzUTWwwxFLu9RNmq2g3SUf9RuDDc=";
};
vendorHash = "sha256-pVZjZCXT/xhBCMyZdR7kEmB9jqhTwRISFp63bQf6w5A=";
subPackages = [ "cmd/templ" ];
env.CGO_ENABLED = 0;
ldflags = [
"-s"
"-w"
"-extldflags -static"
];
meta = {
description = "Language for writing HTML user interfaces in Go";
homepage = "https://github.com/a-h/templ";
license = lib.licenses.mit;
mainProgram = "templ";
maintainers = with lib.maintainers; [ luleyleo ];
};
}

View File

@@ -0,0 +1,74 @@
{
stdenv,
lib,
fetchurl,
meson,
ninja,
pkg-config,
glib,
gobject-introspection,
flex,
bison,
vala,
gettext,
gnome,
gtk-doc,
docbook_xsl,
docbook_xml_dtd_43,
}:
stdenv.mkDerivation rec {
pname = "template-glib";
version = "3.36.3";
outputs = [
"out"
"dev"
"devdoc"
];
src = fetchurl {
url = "mirror://gnome/sources/template-glib/${lib.versions.majorMinor version}/template-glib-${version}.tar.xz";
hash = "sha256-1SizWyz5Dgfa5Q4l4S+62w6wSPV/1RUc+fbpjM4d8g4=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
gettext
flex
bison
vala
glib
gtk-doc
docbook_xsl
docbook_xml_dtd_43
gobject-introspection
];
buildInputs = [
glib
];
mesonFlags = [
"-Dgtk_doc=true"
];
doCheck = true;
passthru = {
updateScript = gnome.updateScript {
packageName = "template-glib";
versionPolicy = "odd-unstable";
};
};
meta = with lib; {
description = "Library for template expansion which supports calling into GObject Introspection from templates";
homepage = "https://gitlab.gnome.org/GNOME/template-glib";
license = licenses.lgpl21Plus;
teams = [ teams.gnome ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "tempo";
version = "2.8.2";
src = fetchFromGitHub {
owner = "grafana";
repo = "tempo";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-mROhsqbCwPulxtg3pHVZi8FmW9PrYzGPdE0ajVvzRBY=";
};
vendorHash = null;
subPackages = [
"cmd/tempo-cli"
"cmd/tempo-query"
"cmd/tempo-vulture"
"cmd/tempo"
];
ldflags = [
"-s"
"-w"
"-X=main.Version=${finalAttrs.version}"
"-X=main.Branch=<release>"
"-X=main.Revision=${finalAttrs.version}"
];
# tests use docker
doCheck = false;
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "High volume, minimal dependency trace storage";
changelog = "https://github.com/grafana/tempo/releases/tag/v${finalAttrs.version}";
license = licenses.asl20;
homepage = "https://grafana.com/oss/tempo/";
maintainers = [ ];
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchurl,
}:
let
srcs = [
(fetchurl {
url = "http://www.ttfotf.com/download-font/tempora-lgc-unicode-bold-italic.otf";
sha256 = "1yfbi62j6gjmzglxz29m6x6lxqpxghcqjjh916qn8in74ba5v0gq";
})
(fetchurl {
url = "http://www.ttfotf.com/download-font/tempora-lgc-unicode-bold.otf";
sha256 = "0bfbl1h9h1022km2rg1zwl9lpabhnwdsvzdp0bwmf0wbm62550cp";
})
(fetchurl {
url = "http://www.ttfotf.com/download-font/tempora-lgc-unicode-italic.otf";
sha256 = "10m9j4bvr6c4zp691wxm4hvzhph2zlfsxk1nmbsb9vn1i6vfgz04";
})
(fetchurl {
url = "http://www.ttfotf.com/download-font/tempora-lgc-unicode.otf";
sha256 = "0iwa8wyydcpjss6d1jy4jibqxpvzph4vmaxwwmndpsqy1fz64y9i";
})
];
nativeBuildInputs = [
];
in
stdenv.mkDerivation {
name = "tempora-lgc";
inherit nativeBuildInputs;
inherit srcs;
installPhase = ''
mkdir -p "$out/share/fonts/opentype/public"
cp ${toString srcs} "$out/share/fonts/opentype/public"
'';
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "1kwj31cjgdirqvh6bxs4fnvvr1ppaz6z8w40kvhkivgs69jglmzw";
meta = {
description = "Tempora font";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.raskin ];
};
}

View File

@@ -0,0 +1,20 @@
--- vendor/modernc.org/libc/honnef.co/go/netdb/netdb.go
+++ vendor/modernc.org/libc/honnef.co/go/netdb/netdb.go
@@ -696,7 +696,7 @@ func init() {
// Load protocols
data, err := ioutil.ReadFile("/etc/protocols")
if err != nil {
- if !os.IsNotExist(err) {
+ if !os.IsNotExist(err) && !os.IsPermission(err) {
panic(err)
}
@@ -732,7 +732,7 @@ func init() {
// Load services
data, err = ioutil.ReadFile("/etc/services")
if err != nil {
- if !os.IsNotExist(err) {
+ if !os.IsNotExist(err) && !os.IsPermission(err) {
panic(err)
}

View File

@@ -0,0 +1,73 @@
{
lib,
fetchFromGitHub,
buildGoModule,
installShellFiles,
stdenv,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "temporal-cli";
version = "1.4.1";
src = fetchFromGitHub {
owner = "temporalio";
repo = "cli";
tag = "v${finalAttrs.version}";
hash = "sha256-fbaqRjYFDeGuCheg3EIUVh/QMhFzLNUb6MUoc/J51Ko=";
};
vendorHash = "sha256-dWcf4X8/Wy/TULdT6PbiMaOd1d+haBlnII+6VKazrD4=";
overrideModAttrs = old: {
# https://gitlab.com/cznic/libc/-/merge_requests/10
postBuild = ''
patch -p0 < ${./darwin-sandbox-fix.patch}
'';
};
nativeBuildInputs = [ installShellFiles ];
excludedPackages = [
"./cmd/docgen"
"./tests"
];
ldflags = [
"-s"
"-w"
"-X github.com/temporalio/cli/temporalcli.Version=${finalAttrs.version}"
];
# Tests fail with x86 on macOS Rosetta 2
doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64);
preCheck = ''
export HOME="$(mktemp -d)"
'';
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd temporal \
--bash <($out/bin/temporal completion bash) \
--fish <($out/bin/temporal completion fish) \
--zsh <($out/bin/temporal completion zsh)
'';
__darwinAllowLocalNetworking = true;
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"^v(\\d+\\.\\d+\\.\\d+)$"
];
};
meta = {
description = "Command-line interface for running Temporal Server and interacting with Workflows, Activities, Namespaces, and other parts of Temporal";
homepage = "https://docs.temporal.io/cli";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aaronjheng ];
mainProgram = "temporal";
};
})

View File

@@ -0,0 +1,65 @@
{
lib,
fetchFromGitHub,
buildGoModule,
nixosTests,
testers,
temporal,
}:
buildGoModule rec {
pname = "temporal";
version = "1.29.0";
src = fetchFromGitHub {
owner = "temporalio";
repo = "temporal";
rev = "v${version}";
hash = "sha256-oxn/78nQCvlEkSqabVV47siWSSnz32tpDOweqScPYvY=";
};
vendorHash = "sha256-HW2j8swbaWwU1i3udqlT8VyFreML6ZH14zWxF8L5NTQ=";
excludedPackages = [ "./build" ];
env.CGO_ENABLED = 0;
tags = [ "test_dep" ];
ldflags = [
"-s"
"-w"
];
# There too many integration tests.
doCheck = false;
installPhase = ''
runHook preInstall
mkdir -p $out/share
cp -r ./schema $out/share/
install -Dm755 "$GOPATH/bin/server" -T $out/bin/temporal-server
install -Dm755 "$GOPATH/bin/cassandra" -T $out/bin/temporal-cassandra-tool
install -Dm755 "$GOPATH/bin/sql" -T $out/bin/temporal-sql-tool
install -Dm755 "$GOPATH/bin/tdbg" -T $out/bin/tdbg
runHook postInstall
'';
passthru.tests = {
inherit (nixosTests) temporal;
version = testers.testVersion {
package = temporal;
};
};
meta = {
description = "Microservice orchestration platform which enables developers to build scalable applications without sacrificing productivity or reliability";
homepage = "https://temporal.io";
changelog = "https://github.com/temporalio/temporal/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jpds ];
mainProgram = "temporal-server";
};
}

View File

@@ -0,0 +1,192 @@
{
stdenv,
lib,
fetchFromGitea,
cmake,
ninja,
wxGTK32,
gtk3,
pkg-config,
python3,
gettext,
glib,
file,
lame,
libvorbis,
libmad,
libjack2,
lv2,
lilv,
makeWrapper,
serd,
sord,
sqlite,
sratom,
suil,
alsa-lib,
libsndfile,
soxr,
flac,
twolame,
expat,
libid3tag,
libopus,
ffmpeg,
soundtouch,
pcre,
portaudio,
linuxHeaders,
at-spi2-core,
dbus,
libepoxy,
libXdmcp,
libXtst,
libpthreadstubs,
libselinux,
libsepol,
libxkbcommon,
util-linux,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tenacity";
version = "1.3.4";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "tenacityteam";
repo = "tenacity";
fetchSubmodules = true;
rev = "v${finalAttrs.version}";
hash = "sha256-2gndOwgEJK2zDSbjcZigbhEpGv301/ygrf+EQhKp8PI=";
};
postPatch = ''
# GIT_DESCRIBE is used for the version string and can't be passed in
# as an option, so we substitute it instead.
substituteInPlace CMakeLists.txt \
--replace-fail 'set( GIT_DESCRIBE "unknown" )' 'set( GIT_DESCRIBE "${finalAttrs.version}" )'
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace libraries/lib-files/FileNames.cpp \
--replace-fail /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
# Tenacity has special handling for ffmpeg library search on darwin,
# looking only in a few specific directories.
# Make sure it searches for our version of ffmpeg in the nix store.
substituteInPlace libraries/lib-ffmpeg-support/FFmpegFunctions.cpp \
--replace-fail /usr/local/lib/tenacity ${lib.getLib ffmpeg}/lib
'';
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir $out/{bin,Applications}
mv $out/{,Applications/}Tenacity.app
# Symlinking the binary is insufficient as it would be unable to
# find the bundle resources
cat << EOF > "$out/bin/tenacity"
#!${stdenv.shell}
open -na "$out/Applications/Tenacity.app" --args "\$@"
EOF
chmod +x "$out/bin/tenacity"
# Only contains a static library that is already linked into the tenacity binary
rm -r $out/lib
'';
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
wrapProgram "$out/bin/tenacity" \
--suffix AUDACITY_PATH : "$out/share/tenacity" \
--suffix AUDACITY_MODULES_PATH : "$out/lib/tenacity/modules" \
--prefix LD_LIBRARY_PATH : "$out/lib/tenacity" \
--prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
# Tenacity only looks for ffmpeg at runtime, so we need to link it in manually.
# On darwin, these are ignored by the ffmpeg search even when linked.
NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLinux (toString [
"-lavcodec"
"-lavdevice"
"-lavfilter"
"-lavformat"
"-lavutil"
"-lpostproc"
"-lswresample"
"-lswscale"
]);
nativeBuildInputs = [
cmake
ninja
gettext
pkg-config
python3
]
++ lib.optionals stdenv.hostPlatform.isLinux [
makeWrapper
linuxHeaders
];
buildInputs = [
expat
ffmpeg
file
flac
glib
lame
libid3tag
libjack2
libmad
libopus
libsndfile
libvorbis
lilv
lv2
pcre
portaudio
serd
sord
soundtouch
soxr
sqlite
sratom
suil
twolame
wxGTK32
gtk3
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
at-spi2-core
dbus
libepoxy
libXdmcp
libXtst
libpthreadstubs
libxkbcommon
libselinux
libsepol
util-linux
];
cmakeFlags = [
# RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/
"-DCMAKE_SKIP_BUILD_RPATH=ON"
# Disabled by default on Linux but enabled on Darwin, so we disable it explicitly for all platforms,
# as we provide dependencies from nixpkgs regardless of the target platform.
"-DVCPKG=OFF"
];
meta = {
description = "Sound editor with graphical UI";
mainProgram = "tenacity";
homepage = "https://tenacityaudio.org/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
irenes
niklaskorz
];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,36 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule rec {
pname = "tendermint";
version = "0.35.9";
src = fetchFromGitHub {
owner = "tendermint";
repo = "tendermint";
rev = "v${version}";
sha256 = "sha256-3tggW+M3vZChDT1g77W5M3hchEN6pTSVvkrZda6ZTCY=";
};
vendorHash = "sha256-/enY0qERFzAIJNcuw1djRGoAcmtz7R5Ikvlts0f7rLc=";
subPackages = [ "cmd/tendermint" ];
preBuild = ''
makeFlagsArray+=(
"-ldflags=-s -w -X github.com/tendermint/tendermint/version.GitCommit=${src.rev}"
)
'';
meta = with lib; {
description = "Byzantine-Fault Tolerant State Machines. Or Blockchain, for short";
homepage = "https://tendermint.com/";
license = licenses.asl20;
maintainers = with maintainers; [ alexfmpe ];
platforms = platforms.linux ++ platforms.darwin;
mainProgram = "tendermint";
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
let
majorVersion = "0";
minorVersion = "601";
in
stdenvNoCC.mkDerivation {
pname = "tenderness";
version = "${majorVersion}.${minorVersion}";
src = fetchzip {
url = "https://dotcolon.net/download/fonts/tenderness_${majorVersion}${minorVersion}.zip";
hash = "sha256-bwJKW+rY7/r2pBCSA6HYlaRMsI/U8UdW2vV4tmYuJww=";
stripRoot = false;
};
installPhase = ''
runHook preInstall
install -D -m444 -t $out/share/fonts/opentype $src/*.otf
runHook postInstall
'';
meta = with lib; {
homepage = "http://dotcolon.net/font/tenderness/";
description = "Serif font designed by Sora Sagano with old-style figures";
platforms = platforms.all;
maintainers = with maintainers; [
leenaars
minijackson
];
license = licenses.ofl;
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tenere";
version = "0.11.3";
src = fetchFromGitHub {
owner = "pythops";
repo = "tenere";
tag = "v${finalAttrs.version}";
hash = "sha256-iuGsDSdlNL3xc9qtMOdte1mzjmWZHieKGLHDi3XLg2g=";
};
cargoHash = "sha256-okIn32IA6ZizfS2XjHxq8cPRIZzvZ4kIz1NI0X72Tfs=";
requiredSystemFeatures = [ "big-parallel" ]; # for fat LTO from upstream
meta = {
description = "Terminal interface for large language models (LLMs)";
homepage = "https://github.com/pythops/tenere";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ ob7 ];
mainProgram = "tenere";
};
})

View File

@@ -0,0 +1,26 @@
{
lib,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "tenki";
version = "1.11.0";
src = fetchFromGitHub {
owner = "ckaznable";
repo = "tenki";
rev = "v${version}";
hash = "sha256-jd7D0iC3+s3w6uG0WqlvL9F4xQL+cQzsUvAIOc7ORgw=";
};
cargoHash = "sha256-jV+KHHAPpsFxNnBaMPE5XYDG4Fhn3a89NBUpZg++YUE=";
meta = with lib; {
description = "tty-clock with weather effect";
homepage = "https://github.com/ckaznable/tenki";
license = licenses.mit;
maintainers = with maintainers; [ iynaix ];
mainProgram = "tenki";
};
}

View File

@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchgit,
which,
SDL2,
SDL2_gfx,
SDL2_mixer,
SDL2_image,
SDL2_ttf,
SDL2_net,
python3,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tennix";
version = "1.3.4";
src = fetchgit {
url = "git://repo.or.cz/tennix.git";
tag = "tennix-${finalAttrs.version}";
hash = "sha256-siGfnpZPMYMTgYzaPVhNXEuA/OSWmEl891cLhvgGr7o=";
};
nativeBuildInputs = [ which ];
buildInputs = [
python3
SDL2
SDL2_gfx
SDL2_mixer
SDL2_image
SDL2_ttf
SDL2_net
];
configurePhase = ''
runHook preConfigure
./configure --prefix $out
runHook postConfigure
'';
passthru.updateScript = gitUpdater { rev-prefix = "tennix-"; };
meta = {
homepage = "https://icculus.org/tennix/";
description = "Classic Championship Tour 2011";
mainProgram = "tennix";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ pSub ];
};
})

View File

@@ -0,0 +1,127 @@
{
stdenv,
buildPackages,
buildBazelPackage,
fetchFromGitHub,
lib,
}:
let
buildPlatform = stdenv.buildPlatform;
hostPlatform = stdenv.hostPlatform;
pythonEnv = buildPackages.python3.withPackages (
ps: with ps; [
distutils
numpy
]
);
bazelDepsSha256ByBuildAndHost = {
x86_64-linux = {
x86_64-linux = "sha256-61qmnAB80syYhURWYJOiOnoGOtNa1pPkxfznrFScPAo=";
aarch64-linux = "sha256-sOIYpp98wJRz3RGvPasyNEJ05W29913Lsm+oi/aq/Ag=";
};
aarch64-linux = {
aarch64-linux = "sha256-MJU4y9Dt9xJWKgw7iKW+9Ur856rMIHeFD5u05s+Q7rQ=";
};
};
bazelHostConfigName.aarch64-linux = "elinux_aarch64";
bazelDepsSha256ByHost =
bazelDepsSha256ByBuildAndHost.${buildPlatform.system}
or (throw "unsupported build system ${buildPlatform.system}");
bazelDepsSha256 =
bazelDepsSha256ByHost.${hostPlatform.system}
or (throw "unsupported host system ${hostPlatform.system} with build system ${buildPlatform.system}");
in
buildBazelPackage rec {
name = "tensorflow-lite";
version = "2.13.0";
src = fetchFromGitHub {
owner = "tensorflow";
repo = "tensorflow";
rev = "v${version}";
hash = "sha256-Rq5pAVmxlWBVnph20fkAwbfy+iuBNlfFy14poDPd5h0=";
};
#bazel = buildPackages.bazel_5;
bazel = buildPackages.bazel;
nativeBuildInputs = [
pythonEnv
buildPackages.perl
];
bazelTargets = [
"//tensorflow/lite:libtensorflowlite.so"
"//tensorflow/lite/c:tensorflowlite_c"
"//tensorflow/lite/tools/benchmark:benchmark_model"
"//tensorflow/lite/tools/benchmark:benchmark_model_performance_options"
];
bazelFlags = [
"--config=opt"
]
++ lib.optionals (hostPlatform.system != buildPlatform.system) [
"--config=${bazelHostConfigName.${hostPlatform.system}}"
];
bazelBuildFlags = [ "--cxxopt=--std=c++17" ];
buildAttrs = {
installPhase = ''
mkdir -p $out/{bin,lib}
# copy the libs and binaries into the output dir
cp ./bazel-bin/tensorflow/lite/c/libtensorflowlite_c.so $out/lib
cp ./bazel-bin/tensorflow/lite/libtensorflowlite.so $out/lib
cp ./bazel-bin/tensorflow/lite/tools/benchmark/benchmark_model $out/bin
cp ./bazel-bin/tensorflow/lite/tools/benchmark/benchmark_model_performance_options $out/bin
find . -type f -name '*.h' | while read f; do
path="$out/include/''${f/.\//}"
install -D "$f" "$path"
# remove executable bit from headers
chmod -x "$path"
done
'';
};
fetchAttrs.sha256 = bazelDepsSha256;
PYTHON_BIN_PATH = pythonEnv.interpreter;
dontAddBazelOpts = true;
removeRulesCC = false;
postPatch = ''
rm .bazelversion
# Fix gcc-13 build failure by including missing include headers
sed -e '1i #include <cstdint>' -i \
tensorflow/lite/kernels/internal/spectrogram.cc
'';
preConfigure = ''
patchShebangs configure
'';
# configure script freaks out when parameters are passed
dontAddPrefix = true;
configurePlatforms = [ ];
meta = with lib; {
description = "Open source deep learning framework for on-device inference";
homepage = "https://www.tensorflow.org/lite";
license = licenses.asl20;
maintainers = with maintainers; [
mschwaig
cpcloud
];
platforms = [
"x86_64-linux"
"aarch64-linux"
];
# Bazel 5 was removed.
broken = true;
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage {
pname = "tensorman";
version = "0.1.0-unstable-2024-06-24";
src = fetchFromGitHub {
owner = "pop-os";
repo = "tensorman";
rev = "24fa3b2bb06a29708162ee474a733e9a227b1778";
hash = "sha256-kI/dOw9JnhXmLqIgaljhRMc/SX35m7WQ9b6bQa6diZ0=";
};
cargoHash = "sha256-/Ul8+5MmTntQ0OprfG4QhUNjc3PktCandzTTWn4FD0Y=";
meta = with lib; {
description = "Utility for easy management of Tensorflow containers";
homepage = "https://github.com/pop-os/tensorman";
license = licenses.gpl3Only;
maintainers = with maintainers; [ thefenriswolf ];
mainProgram = "tensorman";
};
}

View File

@@ -0,0 +1,61 @@
{
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
lib,
tenv,
testers,
}:
buildGoModule rec {
pname = "tenv";
version = "4.7.21";
src = fetchFromGitHub {
owner = "tofuutils";
repo = "tenv";
tag = "v${version}";
hash = "sha256-u7Whu2Y9MAGmEOnQECb0B/VMW6ZCflAANQxan+CrnAw=";
};
vendorHash = "sha256-Jt0GDrYay6ZbMsayO5BFO2psK6BHwL/4AyEi8SqxZ4E=";
excludedPackages = [ "tools" ];
# Tests disabled for requiring network access to release.hashicorp.com
doCheck = false;
ldflags = [
"-s"
"-w"
"-X main.version=v${version}"
];
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd tenv \
--zsh <($out/bin/tenv completion zsh) \
--bash <($out/bin/tenv completion bash) \
--fish <($out/bin/tenv completion fish)
'';
passthru.tests.version = testers.testVersion {
command = "HOME=$TMPDIR tenv --version";
package = tenv;
version = "v${version}";
};
meta = {
changelog = "https://github.com/tofuutils/tenv/releases/tag/v${version}";
description = "OpenTofu, Terraform, Terragrunt and Atmos version manager written in Go";
homepage = "https://tofuutils.github.io/tenv";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
rmgpinto
nmishin
kvendingoldo
];
};
}

View File

@@ -0,0 +1,30 @@
{
lib,
fetchFromGitHub,
nix-update-script,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "tera-cli";
version = "0.5.0";
src = fetchFromGitHub {
owner = "chevdor";
repo = "tera-cli";
tag = "v${version}";
hash = "sha256-TN3zkxZC0Y9lev2wmvzwyLU+t4rNwut/dQILIA7+qbw=";
};
cargoHash = "sha256-+qf/MlifpVXzDpADJoTqxU40wDntcPu+bW7eq6/iubk=";
passthru.updateScript = nix-update-script { };
meta = {
description = "Command line utility to render templates from json|toml|yaml and ENV, using the tera templating engine";
homepage = "https://github.com/chevdor/tera-cli";
license = lib.licenses.mit;
maintainers = [ lib.maintainers._365tuwe ];
mainProgram = "tera";
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,66 @@
{
lib,
fetchFromGitHub,
rustPlatform,
ncurses,
stdenv,
python3,
}:
rustPlatform.buildRustPackage {
pname = "tere";
version = "1.6.0";
src = fetchFromGitHub {
owner = "mgunyho";
repo = "tere";
rev = "5adf1176e8c12c073ad244cac7773a7808ed2021";
sha256 = "sha256-oY4oeSttM8LLXLirYq/B7Nzajkg4Pw26uig5gZxqU3s=";
};
cargoHash = "sha256-E3gLxuxidjjjmMVWCQYZCbz8sov1a+MkLiOj4/TU6MI=";
nativeCheckInputs = [
# ncurses provides the tput command needed for integration tests
# https://github.com/mgunyho/tere/issues/93#issuecomment-2029624187
ncurses
];
checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [
# Unexplained fail
# https://github.com/NixOS/nixpkgs/pull/298527#issuecomment-2053758845
"--skip=first_run_prompt"
];
# NOTE: workaround for build fail on aarch64
# See https://github.com/NixOS/nixpkgs/issues/145726#issuecomment-971331986
preBuild =
let
python-with-toml = python3.withPackages (ps: [ ps.toml ]);
script = builtins.toFile "clear_linkers.py" ''
from os import path
import toml
if path.exists(".cargo/config.toml"):
config = toml.load(open(".cargo/config.toml"))
for target in config.get("target",{}).values():
if "linker" in target:
del target["linker"]
toml.dump(config,open(".cargo/config.toml", "w"))
else:
print(__file__, ": CONFIG.TOML EXPECTED")
exit(1)
'';
in
"${python-with-toml}/bin/python3 ${script}";
meta = with lib; {
description = "Faster alternative to cd + ls";
homepage = "https://github.com/mgunyho/tere";
license = licenses.eupl12;
maintainers = with maintainers; [ ProducerMatt ];
mainProgram = "tere";
};
}

View File

@@ -0,0 +1,41 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6948010..1ee264f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,14 +14,15 @@ if(NOT WIN32 AND NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release MinSizeRel RelWithDebInfo)
endif()
-include(FetchContent)
-FetchContent_Declare(
- glaze
- GIT_REPOSITORY https://github.com/stephenberry/glaze.git
- GIT_TAG v3.4.2
- GIT_SHALLOW TRUE
-)
-FetchContent_MakeAvailable(glaze)
+#include(FetchContent)
+#FetchContent_Declare(
+ #glaze
+ #GIT_REPOSITORY https://github.com/stephenberry/glaze.git
+ #GIT_TAG v3.4.2
+ # GIT_SHALLOW TRUE
+ #)
+#FetchContent_MakeAvailable(glaze)
+#add()
set(MASTER_PROJECT OFF)
if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
diff --git a/libtermbench/CMakeLists.txt b/libtermbench/CMakeLists.txt
index f0ddc75..93f63ed 100644
--- a/libtermbench/CMakeLists.txt
+++ b/libtermbench/CMakeLists.txt
@@ -25,6 +25,8 @@ set_target_properties(termbench PROPERTIES
target_include_directories(termbench PUBLIC $<BUILD_INTERFACE:${${PROJECT_NAME}_SOURCE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+
+find_package(glaze REQUIRED)
target_link_libraries(termbench PUBLIC glaze::glaze)
install(TARGETS termbench

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
fmt,
glaze,
}:
stdenv.mkDerivation {
pname = "termbench-pro";
version = "unstable-2025-01-01";
src = fetchFromGitHub {
owner = "contour-terminal";
repo = "termbench-pro";
rev = "3a39a4ad592047dee3038d8bfcce84215ac55032";
hash = "sha256-EvTHBPWLGm2FxEVOwMIXH4UW/15rbXPnxEnjMtSg4YM=";
};
# don't fetch glaze from CMakeLists.txt
patches = [ ./dont-fetchcontent.diff ];
nativeBuildInputs = [ cmake ];
buildInputs = [
fmt
glaze
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mkdir -p $out/lib
mv tb/tb $out/bin
mv libtermbench/libtermbench.* $out/lib
runHook postInstall
'';
meta = with lib; {
description = "Terminal Benchmarking as CLI and library";
mainProgram = "tb";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = with maintainers; [ moni ];
};
}

561
pkgs/by-name/te/termbg/Cargo.lock generated Normal file
View File

@@ -0,0 +1,561 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "anstyle"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd"
[[package]]
name = "autocfg"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "bitflags"
version = "2.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
[[package]]
name = "cfg-if"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
[[package]]
name = "crossterm"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"
dependencies = [
"bitflags",
"crossterm_winapi",
"mio",
"parking_lot",
"rustix",
"signal-hook",
"signal-hook-mio",
"winapi",
]
[[package]]
name = "crossterm_winapi"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
dependencies = [
"winapi",
]
[[package]]
name = "deranged"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc"
dependencies = [
"powerfmt",
]
[[package]]
name = "downcast"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1"
[[package]]
name = "either"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
[[package]]
name = "errno"
version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
"windows-sys 0.61.0",
]
[[package]]
name = "fragile"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619"
[[package]]
name = "libc"
version = "0.2.175"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
[[package]]
name = "linux-raw-sys"
version = "0.4.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
[[package]]
name = "lock_api"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
dependencies = [
"autocfg",
"scopeguard",
]
[[package]]
name = "log"
version = "0.4.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
[[package]]
name = "mio"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
dependencies = [
"libc",
"log",
"wasi",
"windows-sys 0.59.0",
]
[[package]]
name = "mockall"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2"
dependencies = [
"cfg-if",
"downcast",
"fragile",
"mockall_derive",
"predicates",
"predicates-tree",
]
[[package]]
name = "mockall_derive"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898"
dependencies = [
"cfg-if",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "num-conv"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]]
name = "num_threads"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
dependencies = [
"libc",
]
[[package]]
name = "parking_lot"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"
dependencies = [
"lock_api",
"parking_lot_core",
]
[[package]]
name = "parking_lot_core"
version = "0.9.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
dependencies = [
"cfg-if",
"libc",
"redox_syscall",
"smallvec",
"windows-targets",
]
[[package]]
name = "powerfmt"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]]
name = "predicates"
version = "3.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573"
dependencies = [
"anstyle",
"predicates-core",
]
[[package]]
name = "predicates-core"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa"
[[package]]
name = "predicates-tree"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c"
dependencies = [
"predicates-core",
"termtree",
]
[[package]]
name = "proc-macro2"
version = "1.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
dependencies = [
"proc-macro2",
]
[[package]]
name = "redox_syscall"
version = "0.5.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
dependencies = [
"bitflags",
]
[[package]]
name = "rustix"
version = "0.38.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
dependencies = [
"bitflags",
"errno",
"libc",
"linux-raw-sys",
"windows-sys 0.59.0",
]
[[package]]
name = "scopeguard"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "serde"
version = "1.0.219"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.219"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "signal-hook"
version = "0.3.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2"
dependencies = [
"libc",
"signal-hook-registry",
]
[[package]]
name = "signal-hook-mio"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd"
dependencies = [
"libc",
"mio",
"signal-hook",
]
[[package]]
name = "signal-hook-registry"
version = "1.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b"
dependencies = [
"libc",
]
[[package]]
name = "simplelog"
version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0"
dependencies = [
"log",
"termcolor",
"time",
]
[[package]]
name = "smallvec"
version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
[[package]]
name = "syn"
version = "2.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "termbg"
version = "0.6.2"
dependencies = [
"crossterm",
"either",
"log",
"mockall",
"scopeguard",
"simplelog",
"thiserror",
"winapi",
]
[[package]]
name = "termcolor"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
dependencies = [
"winapi-util",
]
[[package]]
name = "termtree"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683"
[[package]]
name = "thiserror"
version = "2.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "2.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "time"
version = "0.3.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031"
dependencies = [
"deranged",
"libc",
"num-conv",
"num_threads",
"powerfmt",
"serde",
"time-core",
"time-macros",
]
[[package]]
name = "time-core"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b"
[[package]]
name = "time-macros"
version = "0.2.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3"
dependencies = [
"num-conv",
"time-core",
]
[[package]]
name = "unicode-ident"
version = "1.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
[[package]]
name = "wasi"
version = "0.11.1+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
"windows-sys 0.61.0",
]
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows-link"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65"
[[package]]
name = "windows-sys"
version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
dependencies = [
"windows-targets",
]
[[package]]
name = "windows-sys"
version = "0.61.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa"
dependencies = [
"windows-link",
]
[[package]]
name = "windows-targets"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_gnullvm",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
[[package]]
name = "windows_i686_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"

View File

@@ -0,0 +1,40 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "termbg";
version = "0.6.2";
src = fetchFromGitHub {
owner = "dalance";
repo = "termbg";
tag = "v${finalAttrs.version}";
hash = "sha256-JVRl0BCuU6duFcFZr3Rs8dgS+ikwCKe5/z3JgjAikiw=";
};
cargoLock.lockFile = ./Cargo.lock;
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
'';
passthru.updateScript = nix-update-script {
extraArgs = [ "--generate-lockfile" ];
};
meta = {
description = "Program for terminal background color detection";
homepage = "https://github.com/dalance/termbg";
changelog = "https://github.com/dalance/termbg/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = with lib.licenses; [
mit
asl20
];
maintainers = with lib.maintainers; [ pinpox ];
mainProgram = "termbg";
};
})

View File

@@ -0,0 +1,28 @@
diff --git a/Cargo.lock b/Cargo.lock
index 73e86d7..68d37b7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -507,9 +509,9 @@ checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
[[package]]
name = "futf"
-version = "0.1.4"
+version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b"
+checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
dependencies = [
"mac",
"new_debug_unreachable",
@@ -1964,9 +1966,9 @@ dependencies = [
[[package]]
name = "tendril"
-version = "0.4.1"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "707feda9f2582d5d680d733e38755547a3e8fb471e7ba11452ecfd9ce93a5d3b"
+checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
dependencies = [
"futf",
"mac",

View File

@@ -0,0 +1,58 @@
{
lib,
rustPlatform,
fetchFromGitHub,
installShellFiles,
pkg-config,
oniguruma,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "termbook-cli";
version = "1.4.6";
src = fetchFromGitHub {
owner = "Byron";
repo = "termbook";
rev = "v${version}";
sha256 = "Bo3DI0cMXIfP7ZVr8MAW/Tmv+4mEJBIQyLvRfVBDG8c=";
};
cargoPatches = [
# update dependencies to fix build failure caused by unaligned packed structs
# generated by running `cargo update tendril`
./bump-tendril.patch
];
cargoHash = "sha256-CVZpOaRXCSuU739Ef8ObLQBvry7C9iRWWnM+4ATufQA=";
nativeBuildInputs = [
installShellFiles
pkg-config
];
buildInputs = [
oniguruma
];
env = {
RUSTONIG_SYSTEM_LIBONIG = true;
};
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd termbook \
--bash <($out/bin/termbook completions bash) \
--fish <($out/bin/termbook completions fish) \
--zsh <($out/bin/termbook completions zsh)
'';
meta = with lib; {
description = "Runner for `mdbooks` to keep your documentation tested";
mainProgram = "termbook";
homepage = "https://github.com/Byron/termbook/";
changelog = "https://github.com/Byron/termbook/blob/${src.rev}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ phaer ];
};
}

View File

@@ -0,0 +1,26 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "termbox";
version = "1.1.4";
src = fetchFromGitHub {
owner = "termbox";
repo = "termbox";
rev = "v${finalAttrs.version}";
sha256 = "075swv6ajx8m424dbmgbf6fs6nd5q004gjpvx48gkxmnf9spvykl";
};
makeFlags = [ "prefix=${placeholder "out"}" ];
meta = with lib; {
description = "Library for writing text-based user interfaces";
license = licenses.mit;
homepage = "https://github.com/termbox/termbox#readme";
downloadPage = "https://github.com/termbox/termbox/releases";
maintainers = with maintainers; [ fgaz ];
};
})

View File

@@ -0,0 +1,79 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
autoreconfHook,
enableStatic ? stdenv.hostPlatform.isStatic,
enableShared ? !stdenv.hostPlatform.isStatic,
}:
stdenv.mkDerivation rec {
pname = "termcap";
version = "1.3.1";
src = fetchurl {
url = "mirror://gnu/termcap/termcap-${version}.tar.gz";
hash = "sha256-kaDiLlOHykRntbyxjt8cUbkwJi/UZtX9o5bdnSZxkQA=";
};
patches = [
(fetchpatch {
name = "0001-tparam-replace-write-with-fprintf.patch";
url = "https://github.com/msys2/MINGW-packages/raw/c6691ad1bd9d4c6823a18068ca0683c3e32ea005/mingw-w64-termcap/0001-tparam-replace-write-with-fprintf.patch";
hash = "sha256-R9XaLfa8fzQBt+M+uA1AFTvKYCeOWLUD/7GViazXwto=";
})
];
outputs = [
"out"
"dev"
];
enableParallelBuilding = true;
strictDeps = true;
nativeBuildInputs = [ autoreconfHook ];
makeFlags = [
"AR=${stdenv.cc.targetPrefix}ar"
];
env.NIX_CFLAGS_COMPILE = toString (
[
"-DSTDC_HEADERS"
]
++ lib.optionals stdenv.cc.isClang [
"-Wno-implicit-function-declaration"
]
);
# Library only statically links by default
postInstall =
lib.optionalString (!enableStatic) ''
rm $out/lib/libtermcap.a
''
+ lib.optionalString enableShared (
let
libName = "libtermcap${stdenv.hostPlatform.extensions.sharedLibrary}";
impLibName = "libtermcap.dll.a";
winImpLib = lib.optionalString stdenv.hostPlatform.isWindows "-Wl,--out-implib,${impLibName}";
in
''
${stdenv.cc.targetPrefix}cc -shared -o ${libName} termcap.o tparam.o version.o ${winImpLib}
install -Dm644 ${libName} $out/lib
''
+ lib.optionalString stdenv.hostPlatform.isWindows ''
install -Dm644 ${impLibName} $out/lib
''
);
meta = {
description = "Terminal feature database";
homepage = "https://www.gnu.org/software/termutils/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ wegank ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
}:
stdenv.mkDerivation rec {
pname = "termcolor";
version = "2.1.0";
src = fetchFromGitHub {
owner = "ikalnytskyi";
repo = "termcolor";
rev = "v${version}";
sha256 = "sha256-2RXQ8sn2VNhQ2WZfwCCeQuM6x6C+sLA6ulAaFtaDMZw=";
};
nativeBuildInputs = [ cmake ];
cmakeFlags = [ "-DTERMCOLOR_TESTS=ON" ];
CXXFLAGS = [
# GCC 13: error: 'uint8_t' has not been declared
"-include cstdint"
];
doCheck = true;
checkPhase = ''
runHook preCheck
./test_termcolor
runHook postCheck
'';
meta = with lib; {
description = "Header-only C++ library for printing colored messages";
homepage = "https://github.com/ikalnytskyi/termcolor";
license = licenses.bsd3;
platforms = platforms.unix;
maintainers = with maintainers; [ prusnak ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule rec {
pname = "termdbms";
version = "unstable-2021-09-04";
src = fetchFromGitHub {
owner = "mathaou";
repo = "termdbms";
rev = "d46e72c796e8aee0def71b8e3499b0ebe5ca3385";
hash = "sha256-+4y9JmLnu0xCJs1p1GNwqCx2xP6YvbIPb4zuClt8fbA=";
};
vendorHash = "sha256-RtgHus8k+6lvecG7+zABTo0go3kgoQj0S+3HaJHhKkE=";
patches = [ ./viewer.patch ];
ldflags = [
"-s"
"-w"
"-X=main.Version=${version}"
];
meta = with lib; {
homepage = "https://github.com/mathaou/termdbms/";
description = "TUI for viewing and editing database files";
license = licenses.mit;
maintainers = with maintainers; [ izorkin ];
mainProgram = "sqlite3-viewer";
};
}

View File

@@ -0,0 +1,12 @@
diff --git a/viewer/viewer.go b/viewer/viewer.go
index fcf850e..b0a0f8d 100644
--- a/viewer/viewer.go
+++ b/viewer/viewer.go
@@ -5,7 +5,6 @@ import (
"github.com/charmbracelet/bubbles/viewport"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
- "github.com/mattn/go-runewidth"
"math"
"runtime"
"strings"

View File

@@ -0,0 +1,38 @@
{
lib,
rustPlatform,
fetchCrate,
installShellFiles,
ronn,
}:
rustPlatform.buildRustPackage rec {
pname = "termimage";
version = "1.2.1";
src = fetchCrate {
inherit pname version;
hash = "sha256-1FOPe466GqQfiIpsQT9DJn+FupI2vy9b4+7p31ceY6M=";
};
cargoHash = "sha256-SIPak7tl/fIH6WzvAl8bjhclZqQ6imC/zdxCnBnEsbk=";
nativeBuildInputs = [
installShellFiles
ronn
];
postInstall = ''
ronn --roff --organization="termimage developers" termimage.md
installManPage termimage.1
'';
meta = {
description = "Display images in your terminal";
homepage = "https://github.com/nabijaczleweli/termimage";
changelog = "https://github.com/nabijaczleweli/termimage/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ figsoda ];
mainProgram = "termimage";
};
}

Some files were not shown because too many files have changed in this diff Show More