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,43 @@
{
lib,
buildNpmPackage,
fetchNpmDeps,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "yo";
version = "5.1.0";
src = fetchFromGitHub {
owner = "yeoman";
repo = "yo";
tag = "v${version}";
hash = "sha256-twV5vmQ5loR8j9guf0w5DG4sU4BQYz22GjqjsUkqE4U=";
};
# needed to fix https://github.com/NixOS/nixpkgs/issues/367282
# once yo gets a new lockfile upstream, we can go back to regular
# `npmDepsHash` and remove the `postPatch`.
npmDeps = fetchNpmDeps {
src = fetchFromGitHub {
owner = "yeoman";
repo = "yo";
rev = "96ebb14020a7f3f10699b3f88eadfa063a9e6b07";
hash = "sha256-wMxH9Er+gb6rsSEgmH0zA4d6yvP2PSpsV+A0nBTIxBI=";
};
hash = "sha256-7TAH4Im+H7fbjI0xUxYZficcFQNZbweK2U0hGCZV+lQ=";
};
postPatch = "cp -v ${npmDeps.src}/package-lock.json ./package-lock.json";
dontNpmBuild = true;
meta = {
description = "CLI tool for running Yeoman generators";
homepage = "https://github.com/yeoman/yo";
license = lib.licenses.bsd2;
mainProgram = "yo";
maintainers = [ ];
};
}

View File

@@ -0,0 +1,78 @@
{
lib,
stdenv,
fetchFromGitLab,
autoreconfHook,
bash,
python3,
root,
makeWrapper,
zlib,
withRootSupport ? false,
}:
stdenv.mkDerivation rec {
pname = "yoda";
version = "2.1.0";
src = fetchFromGitLab {
owner = "hepcedar";
repo = "yoda";
rev = "yoda-${version}";
hash = "sha256-cYJNB4Nk6r9EbTbMrhUFvj6s0VR/QH2o9wl/cUw9jQ0=";
};
nativeBuildInputs = with python3.pkgs; [
autoreconfHook
bash
cython
makeWrapper
];
buildInputs = [
python3
]
++ (with python3.pkgs; [
numpy
matplotlib
])
++ lib.optionals withRootSupport [ root ];
propagatedBuildInputs = [ zlib ];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-DWITH_OSX";
strictDeps = true;
enableParallelBuilding = true;
postPatch = ''
touch pyext/yoda/*.{pyx,pxd}
patchShebangs .
substituteInPlace pyext/yoda/plotting/script_generator.py \
--replace '/usr/bin/env python' '${python3.interpreter}'
'';
postInstall = ''
patchShebangs --build $out/bin/yoda-config
for prog in "$out"/bin/*; do
wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out")
done
'';
hardeningDisable = [ "format" ];
doInstallCheck = true;
installCheckTarget = "check";
meta = {
description = "Provides small set of data analysis (specifically histogramming) classes";
license = lib.licenses.gpl3Only;
homepage = "https://yoda.hepforge.org";
changelog = "https://gitlab.com/hepcedar/yoda/-/blob/yoda-${version}/ChangeLog";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ veprbl ];
};
}

View File

@@ -0,0 +1,98 @@
{
lib,
stdenv,
fetchFromGitLab,
perl,
icmake,
util-linux,
bash,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "yodl";
version = "4.05.00";
src = fetchFromGitLab {
owner = "fbb-git";
repo = "yodl";
tag = finalAttrs.version;
hash = "sha256-QnEjMHuZHj+iPlmiPsAcaNF8RRd/Ld59PA1neuzo1Go=";
};
setSourceRoot = ''
sourceRoot=$(echo */yodl)
'';
postPatch = ''
for header in media/media.h stack/stack.h message/message.h symbol/symbol.ih symbol/sysp.c hashitem/hashitem.h args/args.h ostream/ostream.h; do
sed -i '1i#include <stdbool.h>' "$header"
done
patchShebangs ./build
patchShebangs scripts/
substituteInPlace INSTALL.im \
--replace-fail "/usr" "$out"
substituteInPlace macros/rawmacros/startdoc.pl \
--replace-fail "/usr/bin/perl" "${lib.getExe perl}"
substituteInPlace scripts/yodl2whatever.in \
--replace-fail "getopt" "${lib.getExe' util-linux "getopt"}"
substituteInPlace icmake/stdcpp \
--replace-fail "printf << \" \" << file << '\n';" 'printf(" " + file + "\n");'
'';
nativeBuildInputs = [
icmake
perl
bash
];
# Set TERM because icmbuild calls tput.
env.TERM = "xterm";
buildPhase = ''
runHook preBuild
CXXFLAGS+=' --std=c++20'
export CXXFLAGS
./build programs
./build macros
./build man
./build html
runHook postBuild
'';
installPhase = ''
runHook preInstall
./build install programs
./build install macros
./build install man
# dangling symlinks
rm $out/share/man/man1/yodl2xml.1
rm $out/share/man/man1/yodl2txt.1
rm $out/share/man/man1/yodl2man.1
rm $out/share/man/man1/yodl2latex.1
rm $out/share/man/man1/yodl2html.1
rm $out/share/man/man1/yodl2whatever.1
./build install manual
runHook postInstall
'';
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
meta = {
changelog = "https://gitlab.com/fbb-git/yodl/-/blob/${finalAttrs.src.tag}/yodl/changelog";
description = "Package that implements a pre-document language and tools to process it";
homepage = "https://fbb-git.gitlab.io/yodl/";
mainProgram = "yodl";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [ pSub ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,64 @@
{
lib,
fetchFromGitHub,
fetchpatch,
rustPlatform,
autoPatchelfHook,
fontconfig,
libxkbcommon,
pkg-config,
libgcc,
wayland,
}:
rustPlatform.buildRustPackage rec {
pname = "yofi";
version = "0.2.2";
src = fetchFromGitHub {
owner = "l4l";
repo = "yofi";
tag = version;
hash = "sha256-cepAZyA4RBgqeF20g6YOlZTM0aRqErw17yuQ3U24UEg=";
};
cargoPatches = [
(fetchpatch {
name = "bump-time-1.80.0.patch";
url = "https://github.com/l4l/yofi/commit/438e180bf5132d29a6846e830d7227cb996ade3e.patch";
hash = "sha256-o/kwQRIG6MASGYnepb96pL1qfI+/CNTqc5maDPjSZXk=";
})
];
cargoHash = "sha256-UCJlBVQb4aLObi5hqXnh/FAD7l2VSocAlqmYMlxLUJc=";
nativeBuildInputs = [
autoPatchelfHook
pkg-config
];
buildInputs = [
libgcc
libxkbcommon
];
appendRunpaths = [
(lib.makeLibraryPath [
fontconfig
wayland
])
];
checkFlags = [
# Fail to run in sandbox environment.
"--skip=screen::context::test"
];
meta = {
description = "Minimalist app launcher in Rust";
homepage = "https://github.com/l4l/yofi";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ rayslash ];
mainProgram = "yofi";
};
}

View File

@@ -0,0 +1,29 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
let
version = "1.0.1";
in
buildGoModule {
pname = "yoink";
inherit version;
src = fetchFromGitHub {
owner = "MrMarble";
repo = "yoink";
rev = "v${version}";
hash = "sha256-yI3koHVeZWkujpiO0qLj1i4m5l5BiZNZE5ix+IKFwyc=";
};
vendorHash = "sha256-P1bkugMaVKCvVx7y8g/elsEublHPA0SgeKzWiQCi4vs=";
meta = {
homepage = "https://github.com/MrMarble/yoink";
description = "Automatically download freeleech torrents";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hogcycle ];
};
}

View File

@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchFromGitHub,
premake5,
doxygen,
libsodium,
mbedtls_2,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "yojimbo";
version = "1.2.3";
src = fetchFromGitHub {
owner = "mas-bandwidth";
repo = "yojimbo";
tag = "v${finalAttrs.version}";
sha256 = "sha256-GMYkWQTwHm7fGRSTIt2phv01CjEcw0l4iPQD4uTQ5yM=";
};
nativeBuildInputs = [
premake5
doxygen
];
propagatedBuildInputs = [
libsodium
mbedtls_2
];
patches = [
# https://github.com/mas-bandwidth/serialize/pull/6
./silence-uninitialized-warning.patch
];
postBuild = ''
doxygen doxygen.config
'';
installPhase = ''
install -Dm755 -t $out/lib bin/libyojimbo.a
cp -r -t $out include
mkdir -p $out/share/doc/yojimbo
cp -r docs/html $out/share/doc/yojimbo
'';
doCheck = true;
enableParallelBuilding = true;
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Network library for client/server games with dedicated servers";
longDescription = ''
yojimbo is a network library for client/server games with dedicated servers.
It's designed around the networking requirements of competitive multiplayer games like first person shooters.
As such it provides a time critical networking layer on top of UDP, with a client/server architecture supporting up to 64 players per-dedicated server instance.
'';
homepage = "https://github.com/mas-bandwidth/yojimbo";
license = licenses.bsd3;
platforms = platforms.x86_64;
maintainers = [ ];
};
})

View File

@@ -0,0 +1,13 @@
diff --git a/serialize.h b/serialize.h
index 6e977ac..4d7413d 100644
--- a/serialize/serialize.h
+++ b/serialize/serialize.h
@@ -1400,7 +1400,7 @@ namespace serialize
template <typename Stream> bool serialize_float_internal( Stream & stream, float & value )
{
- uint32_t int_value;
+ uint32_t int_value = 0;
if ( Stream::IsWriting )
{
memcpy( (char*) &int_value, &value, 4 );

View File

@@ -0,0 +1,43 @@
{
buildGoModule,
fetchFromGitHub,
lib,
}:
buildGoModule rec {
pname = "yor";
version = "0.1.200";
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "yor";
rev = version;
hash = "sha256-IoQe1/D3Sl1y76dXH0CuwU6/LBC6n6or9vsysHhDeeg=";
};
vendorHash = "sha256-uT/jGD4hDVes4h+mlSIT2p+C9TjxnUWsmKv9haPjjLc=";
doCheck = false;
# https://github.com/bridgecrewio/yor/blob/main/set-version.sh
preBuild = ''
cat << EOF > src/common/version.go
package common
const Version = "${version}"
EOF
'';
ldflags = [
"-s"
"-w"
];
meta = {
description = "Extensible auto-tagger for your IaC files. The ultimate way to link entities in the cloud back to the codified resource which created it";
homepage = "https://github.com/bridgecrewio/yor";
changelog = "https://github.com/bridgecrewio/yor/releases/tag/${version}";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.ivankovnatsky ];
};
}

View File

@@ -0,0 +1,80 @@
{
lib,
stdenv,
fetchFromGitHub,
alsa-lib,
boost,
cairo,
cmake,
fftwSinglePrec,
fltk,
libGLU,
libjack2,
libsndfile,
libXdmcp,
lv2,
minixml,
pcre,
pkg-config,
readline,
xorg,
zlib,
}:
stdenv.mkDerivation rec {
pname = "yoshimi";
version = "2.3.5.1";
src = fetchFromGitHub {
owner = "Yoshimi";
repo = "yoshimi";
rev = version;
hash = "sha256-A6laO4JhYFjuqBYmaQzZduHbDwdC+8zAVPqifbpJ8JQ=";
};
sourceRoot = "${src.name}/src";
postPatch = ''
substituteInPlace Misc/Config.cpp --replace /usr $out
substituteInPlace Misc/Bank.cpp --replace /usr $out
'';
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
alsa-lib
boost
cairo
fftwSinglePrec
fltk
libGLU
libjack2
libsndfile
libXdmcp
lv2
minixml
pcre
readline
xorg.libpthreadstubs
zlib
];
cmakeFlags = [ "-DFLTK_MATH_LIBRARY=${stdenv.cc.libc}/lib/libm.so" ];
meta = with lib; {
description = "High quality software synthesizer based on ZynAddSubFX";
longDescription = ''
Yoshimi delivers the same synthesizer capabilities as
ZynAddSubFX along with very good Jack and Alsa midi/audio
functionality on Linux
'';
homepage = "https://yoshimi.github.io/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ ];
mainProgram = "yoshimi";
};
}

View File

@@ -0,0 +1,41 @@
diff --git a/tests/cxxrtl/run-test.sh b/tests/cxxrtl/run-test.sh
index ee299fc82..595cd3f88 100755
--- a/tests/cxxrtl/run-test.sh
+++ b/tests/cxxrtl/run-test.sh
@@ -5,7 +5,7 @@ set -ex
run_subtest () {
local subtest=$1; shift
- ${CC:-gcc} -std=c++11 -O2 -o cxxrtl-test-${subtest} -I../../backends/cxxrtl/runtime test_${subtest}.cc -lstdc++
+ ${CXX:-gcc} -std=c++11 -O2 -o cxxrtl-test-${subtest} -I../../backends/cxxrtl/runtime test_${subtest}.cc -lstdc++
./cxxrtl-test-${subtest}
}
@@ -14,4 +14,4 @@ run_subtest value_fuzz
# Compile-only test.
../../yosys -p "read_verilog test_unconnected_output.v; select =*; proc; clean; write_cxxrtl cxxrtl-test-unconnected_output.cc"
-${CC:-gcc} -std=c++11 -c -o cxxrtl-test-unconnected_output -I../../backends/cxxrtl/runtime cxxrtl-test-unconnected_output.cc
+${CXX:-gcc} -std=c++11 -c -o cxxrtl-test-unconnected_output -I../../backends/cxxrtl/runtime cxxrtl-test-unconnected_output.cc
diff --git a/tests/fmt/run-test.sh b/tests/fmt/run-test.sh
index 998047f83..2a4a59f01 100644
--- a/tests/fmt/run-test.sh
+++ b/tests/fmt/run-test.sh
@@ -51,7 +51,7 @@ test_cxxrtl () {
local subtest=$1; shift
../../yosys -p "read_verilog ${subtest}.v; proc; clean; write_cxxrtl -print-output std::cerr yosys-${subtest}.cc"
- ${CC:-gcc} -std=c++11 -o yosys-${subtest} -I../../backends/cxxrtl/runtime ${subtest}_tb.cc -lstdc++
+ ${CXX:-gcc} -std=c++11 -o yosys-${subtest} -I../../backends/cxxrtl/runtime ${subtest}_tb.cc -lstdc++
./yosys-${subtest} 2>yosys-${subtest}.log
iverilog -o iverilog-${subtest} ${subtest}.v ${subtest}_tb.v
./iverilog-${subtest} |grep -v '\$finish called' >iverilog-${subtest}.log
@@ -69,7 +69,7 @@ diff iverilog-always_full.log iverilog-always_full-1.log
../../yosys -p "read_verilog display_lm.v" >yosys-display_lm.log
../../yosys -p "read_verilog display_lm.v; write_cxxrtl yosys-display_lm.cc"
-${CC:-gcc} -std=c++11 -o yosys-display_lm_cc -I../../backends/cxxrtl/runtime display_lm_tb.cc -lstdc++
+${CXX:-gcc} -std=c++11 -o yosys-display_lm_cc -I../../backends/cxxrtl/runtime display_lm_tb.cc -lstdc++
./yosys-display_lm_cc >yosys-display_lm_cc.log
for log in yosys-display_lm.log yosys-display_lm_cc.log; do
grep "^%l: \\\\bot\$" "$log"

View File

@@ -0,0 +1,205 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
# nativeBuildInputs
bison,
flex,
pkg-config,
# propagatedBuildInputs
libffi,
python3,
readline,
tcl,
zlib,
# tests
gtkwave,
iverilog,
# passthru
# plugins
symlinkJoin,
yosys,
makeWrapper,
yosys-bluespec,
yosys-ghdl,
yosys-symbiflow,
nix-update-script,
enablePython ? true, # enable python binding
}:
# NOTE: as of late 2020, yosys has switched to an automation robot that
# automatically tags their repository Makefile with a new build number every
# day when changes are committed. please MAKE SURE that the version number in
# the 'version' field exactly matches the YOSYS_VER field in the Yosys
# makefile!
#
# if a change in yosys isn't yet available under a build number like this (i.e.
# it was very recently merged, within an hour), wait a few hours for the
# automation robot to tag the new version, like so:
#
# https://github.com/YosysHQ/yosys/commit/71ca9a825309635511b64b3ec40e5e5e9b6ad49b
#
# note that while most nix packages for "unstable versions" use a date-based
# version scheme, synchronizing the nix package version here with the unstable
# yosys version number helps users report better bugs upstream, and is
# ultimately less confusing than using dates.
let
# Provides a wrapper for creating a yosys with the specified plugins preloaded
#
# Example:
#
# my_yosys = yosys.withPlugins (with yosys.allPlugins; [
# fasm
# bluespec
# ]);
withPlugins =
plugins:
let
paths = lib.closePropagation plugins;
module_flags =
with builtins;
concatStringsSep " " (map (n: "--add-flags -m --add-flags ${n.plugin}") plugins);
in
lib.appendToName "with-plugins" (symlinkJoin {
inherit (yosys) name;
paths = paths ++ [ yosys ];
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/yosys \
--set NIX_YOSYS_PLUGIN_DIRS $out/share/yosys/plugins \
${module_flags}
'';
});
allPlugins = {
bluespec = yosys-bluespec;
ghdl = yosys-ghdl;
}
// yosys-symbiflow;
in
stdenv.mkDerivation (finalAttrs: {
pname = "yosys";
version = "0.55";
src = fetchFromGitHub {
owner = "YosysHQ";
repo = "yosys";
tag = "v${finalAttrs.version}";
hash = "sha256-GddNbAtH5SPm7KTa5kCm/vGq4xOczx+jCnOSQl55gUI=";
fetchSubmodules = true;
leaveDotGit = true;
postFetch = ''
# set up git hashes as if we used the tarball
pushd $out
git rev-parse HEAD > .gitcommit
cd $out/abc
git rev-parse HEAD > .gitcommit
popd
# remove .git now that we are through with it
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
enableParallelBuilding = true;
nativeBuildInputs = [
bison
flex
pkg-config
];
propagatedBuildInputs = [
libffi
readline
tcl
zlib
(python3.withPackages (
pp: with pp; [
click
]
))
]
++ lib.optionals enablePython [
python3.pkgs.boost
];
makeFlags = [ "PREFIX=${placeholder "out"}" ];
patches = [
# Backport fix amaranth code compilation
# TODO remove when updating to 0.56
# https://github.com/YosysHQ/yosys/pull/5182
(fetchpatch2 {
name = "treat-zero-width-constant-as-zero.patch";
url = "https://github.com/YosysHQ/yosys/commit/478b6a2b3fbab0fd4097b841914cbe8bb9f67268.patch";
hash = "sha256-KeLoZfkXMk2KIPN9XBQdqWqohywQONlWUIvrGwgphKs=";
})
./plugin-search-dirs.patch
./fix-clang-build.patch
];
postPatch = ''
substituteInPlace ./Makefile \
--replace-fail 'echo UNKNOWN' 'echo ${builtins.substring 0 10 finalAttrs.src.rev}'
patchShebangs tests ./misc/yosys-config.in
'';
preBuild = ''
chmod -R u+w .
make config-${if stdenv.cc.isClang or false then "clang" else "gcc"}
if ! grep -q "YOSYS_VER := $version" Makefile; then
echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package (allegedly ${finalAttrs.version}), failing."
exit 1
fi
''
+ lib.optionalString enablePython ''
echo "ENABLE_PYOSYS := 1" >> Makefile.conf
echo "PYTHON_DESTDIR := $out/${python3.sitePackages}" >> Makefile.conf
echo "BOOST_PYTHON_LIB := -lboost_python${lib.versions.major python3.version}${lib.versions.minor python3.version}" >> Makefile.conf
'';
preCheck = ''
# autotest.sh automatically compiles a utility during startup if it's out of date.
# having N check jobs race to do that creates spurious codesigning failures on macOS.
# run it once without asking it to do anything so that compilation is done before the jobs start.
tests/tools/autotest.sh
'';
checkTarget = "test";
doCheck = true;
nativeCheckInputs = [
gtkwave
iverilog
];
setupHook = ./setup-hook.sh;
passthru = {
inherit withPlugins allPlugins;
updateScript = nix-update-script { };
};
meta = {
description = "Open RTL synthesis framework and tools";
homepage = "https://yosyshq.net/yosys/";
changelog = "https://github.com/YosysHQ/yosys/releases/tag/v${finalAttrs.version}";
license = lib.licenses.isc;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [
shell
thoughtpolice
Luflosi
];
};
})

View File

@@ -0,0 +1,45 @@
diff --git i/passes/cmds/plugin.cc w/passes/cmds/plugin.cc
index 08b4aa8c4..f00f540e9 100644
--- i/passes/cmds/plugin.cc
+++ w/passes/cmds/plugin.cc
@@ -87,15 +87,33 @@ void load_plugin(std::string filename, std::vector<std::string> aliases)
// We were unable to open the file, try to do so from the plugin directory
if (hdl == NULL && orig_filename.find('/') == std::string::npos) {
- hdl = dlopen([orig_filename]() {
- std::string new_path = proc_share_dirname() + "plugins/" + orig_filename;
+ std::string install_dir = proc_share_dirname() + "plugins";
- // Check if we need to append .so
- if (new_path.find(".so") == std::string::npos)
- new_path.append(".so");
+ vector<string> all_dirs;
+ all_dirs.push_back(install_dir);
- return new_path;
- }().c_str(), RTLD_LAZY|RTLD_LOCAL);
+ char* plugin_dirs = getenv("NIX_YOSYS_PLUGIN_DIRS");
+ if (plugin_dirs != NULL) {
+ std::string p(plugin_dirs), t;
+ std::stringstream ss(p);
+
+ while(std::getline(ss, t, ':')) {
+ all_dirs.push_back(t);
+ }
+ }
+
+ for (auto dir : all_dirs) {
+ hdl = dlopen([dir, orig_filename]() {
+ std::string new_path = dir + "/" + orig_filename;
+
+ // Check if we need to append .so
+ if (new_path.find(".so") == std::string::npos)
+ new_path.append(".so");
+
+ return new_path;
+ }().c_str(), RTLD_LAZY|RTLD_LOCAL);
+ if (hdl != NULL) break;
+ }
}
if (hdl == NULL)

View File

@@ -0,0 +1,5 @@
addYosysPluginPath() {
addToSearchPath NIX_YOSYS_PLUGIN_DIRS "$1/share/yosys/plugins"
}
addEnvHooks "$targetOffset" addYosysPluginPath

View File

@@ -0,0 +1,13 @@
diff --git a/src/you_get/processor/ffmpeg.py b/src/you_get/processor/ffmpeg.py
index 50e2c9f..46e7f61 100755
--- a/src/you_get/processor/ffmpeg.py
+++ b/src/you_get/processor/ffmpeg.py
@@ -31,7 +31,7 @@ def get_usable_ffmpeg(cmd):
except:
return None
-FFMPEG, FFPROBE, FFMPEG_VERSION = get_usable_ffmpeg('ffmpeg') or get_usable_ffmpeg('avconv') or (None, None, None)
+FFMPEG, FFPROBE, FFMPEG_VERSION = ('@ffmpeg@', '@ffprobe@', '@version@')
if logging.getLogger().isEnabledFor(logging.DEBUG):
LOGLEVEL = ['-loglevel', 'info']
STDIN = None

View File

@@ -0,0 +1,55 @@
{
lib,
python3,
fetchPypi,
replaceVars,
ffmpeg,
installShellFiles,
}:
python3.pkgs.buildPythonApplication rec {
pname = "you-get";
version = "0.4.1700";
pyproject = true;
# Tests aren't packaged, but they all hit the real network so
# probably aren't suitable for a build environment anyway.
doCheck = false;
src = fetchPypi {
inherit pname version;
hash = "sha256-XNIUkgEqRGrBtSxvfkSUSqxltZ6ZdkWoTc9kz4BD6Zw=";
};
patches = [
(replaceVars ./ffmpeg-path.patch {
ffmpeg = "${lib.getBin ffmpeg}/bin/ffmpeg";
ffprobe = "${lib.getBin ffmpeg}/bin/ffmpeg";
version = lib.getVersion ffmpeg;
})
];
nativeBuildInputs = [ installShellFiles ];
build-system = with python3.pkgs; [ setuptools ];
postInstall = ''
installShellCompletion --cmd you-get \
--zsh contrib/completion/_you-get \
--fish contrib/completion/you-get.fish \
--bash contrib/completion/you-get-completion.bash
'';
pythonImportsCheck = [
"you_get"
];
meta = {
description = "Tiny command line utility to download media contents from the web";
homepage = "https://you-get.org";
changelog = "https://github.com/soimort/you-get/raw/v${version}/CHANGELOG.rst";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ryneeverett ];
mainProgram = "you-get";
};
}

View File

@@ -0,0 +1,56 @@
{
lib,
fetchFromGitHub,
rustPlatform,
go,
buildGoModule,
}:
rustPlatform.buildRustPackage {
pname = "you-have-mail-cli";
version = "0.3.0";
src = fetchFromGitHub {
owner = "LeanderBB";
repo = "you-have-mail-cli";
rev = "b338153353495428e2dc0065843553b7821b9d3a";
hash = "sha256-YgIztCmL+uJUUXu+BWXLf9f4L7UpuPf0onsfMRtlWkw=";
};
nativeBuildInputs = [
rustPlatform.bindgenHook
go
];
goSrpVersion = "0.1.5";
postPatch = ''
export GOCACHE=$TMPDIR/go-cache
export GOPATH="$TMPDIR/go"
export GOPROXY=off
cp -r --reflink=auto "$goModules" "$cargoDepsCopy/go-srp-$goSrpVersion/go/vendor"
'';
goModules =
(buildGoModule {
pname = "proton-api-rs";
version = "0.14.0";
src = fetchFromGitHub {
owner = "LeanderBB";
repo = "proton-api-rs";
rev = "4597810e8335118f3c780a04e6d099ae46a7a376";
hash = "sha256-PN5+D8PY7ouhvoyhu0X0PsgF8tgptl80cF0w2u8nUqs=";
};
modRoot = "./go-srp/go/";
vendorHash = "sha256-QPj2jq8hWL4kZellM/VwqrO/Oku/JW1Cig1Iv5YSI1U=";
}).goModules;
cargoHash = "sha256-w2hrrFHpgeAPcP/swerZu0VJ34T/9/JeQkipp4IQ2js=";
meta = {
description = "Small application to notify you when you receive an email in your email account";
homepage = "https://github.com/LeanderBB/you-have-mail-cli";
license = lib.licenses.agpl3Only;
mainProgram = "you-have-mail-cli";
maintainers = with lib.maintainers; [ baksa ];
};
}

View File

@@ -0,0 +1,67 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
installShellFiles,
getconf,
dbus,
libseccomp,
systemd,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "youki";
version = "0.5.5";
src = fetchFromGitHub {
owner = "containers";
repo = "youki";
rev = "v${version}";
hash = "sha256-r8/H/qTPBoNubg3f4+WC8lBkQXpdEE8Dapt2sGoFcTc=";
};
nativeBuildInputs = [
pkg-config
installShellFiles
getconf
];
buildInputs = [
dbus
libseccomp
systemd
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd youki \
--bash <($out/bin/youki completion -s bash) \
--fish <($out/bin/youki completion -s fish) \
--zsh <($out/bin/youki completion -s zsh)
'';
cargoBuildFlags = [
"-p"
"youki"
"--features"
"systemd"
];
cargoTestFlags = [
"-p"
"youki"
];
cargoHash = "sha256-S2Cv7k4ine9/VbY2r8BSRwqVBtuqX55RYglm9W+LXvc=";
meta = {
description = "Container runtime written in Rust";
homepage = "https://containers.github.io/youki/";
changelog = "https://github.com/containers/youki/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ builditluc ];
platforms = lib.platforms.linux;
mainProgram = "youki";
};
}

View File

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

View File

@@ -0,0 +1,19 @@
GEM
remote: https://rubygems.org/
specs:
csv (3.3.2)
enumerable-statistics (2.0.8)
unicode_plot (0.0.5)
enumerable-statistics (>= 2.0.1)
youplot (0.4.6)
csv
unicode_plot (>= 0.0.5)
PLATFORMS
ruby
DEPENDENCIES
youplot
BUNDLED WITH
2.6.2

View File

@@ -0,0 +1,47 @@
{
csv = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0kmx36jjh2sahd989vcvw74lrlv07dqc3rnxchc5sj2ywqsw3w3g";
type = "gem";
};
version = "3.3.2";
};
enumerable-statistics = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1cqksgv0cf69cd30kxk2r0lq1y784wn5nvlyabfqilf1vvy6j38y";
type = "gem";
};
version = "2.0.8";
};
unicode_plot = {
dependencies = [ "enumerable-statistics" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0fzpg1zizf19xgfzqw6lmb38xir423wwxb2mjsb3nym6phvn5kli";
type = "gem";
};
version = "0.0.5";
};
youplot = {
dependencies = [
"csv"
"unicode_plot"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1p1vbb7p4h5a4r2rwl64gwv6cmf350grjn97zrpjhvrjih81y3yg";
type = "gem";
};
version = "0.4.6";
};
}

View File

@@ -0,0 +1,23 @@
{
lib,
bundlerApp,
bundlerUpdateScript,
}:
bundlerApp {
pname = "youplot";
gemdir = ./.;
exes = [ "uplot" ];
passthru.updateScript = bundlerUpdateScript "youplot";
meta = with lib; {
description = "Command line tool that draws plots on the terminal";
homepage = "https://github.com/red-data-tools/YouPlot";
mainProgram = "uplot";
license = licenses.mit;
maintainers = with maintainers; [ purcell ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,43 @@
{
stdenv,
src,
version,
meta,
offlineCache,
apiEndpoint ? "http://localhost:3000",
yarnConfigHook,
yarnBuildHook,
nodejs,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "your_spotify_client";
inherit version src offlineCache;
nativeBuildInputs = [
yarnConfigHook
yarnBuildHook
nodejs
];
API_ENDPOINT = "${apiEndpoint}";
preBuild = ''
pushd ./apps/client/
'';
postBuild = ''
substituteInPlace scripts/run/variables.sh --replace-quiet '/app/apps/client/' "./"
chmod +x ./scripts/run/variables.sh
patchShebangs --build ./scripts/run/variables.sh
./scripts/run/variables.sh
popd
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r ./apps/client/build/* $out
runHook postInstall
'';
inherit meta;
})

View File

@@ -0,0 +1,88 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchYarnDeps,
yarnConfigHook,
yarnBuildHook,
nodejs,
makeWrapper,
callPackage,
nixosTests,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "your_spotify_server";
version = "1.14.0";
src = fetchFromGitHub {
owner = "Yooooomi";
repo = "your_spotify";
tag = finalAttrs.version;
hash = "sha256-yz+IVrvnNt67TQCNNqpS+jSAEevsi+0cVGBTZNMcZbk=";
};
offlineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
hash = "sha256-N70gsVnlzRQMRK16aeqHQeBAg9A2Fvh9CuivyBNPPDA=";
};
nativeBuildInputs = [
makeWrapper
yarnConfigHook
yarnBuildHook
nodejs
];
preBuild = ''
pushd ./apps/server/
'';
postBuild = ''
popd
rm -r node_modules
export NODE_ENV="production"
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules/
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/your_spotify
cp -r node_modules $out/share/your_spotify/node_modules
rm $out/share/your_spotify/node_modules/@your_spotify/{client,dev,server}
cp -r ./apps/server/{lib,package.json} $out
mkdir -p $out/bin
makeWrapper ${lib.escapeShellArg (lib.getExe nodejs)} "$out/bin/your_spotify_migrate" \
--add-flags "$out/lib/migrations.js" --set NODE_PATH "$out/share/your_spotify/node_modules"
makeWrapper ${lib.escapeShellArg (lib.getExe nodejs)} "$out/bin/your_spotify_server" \
--add-flags "$out/lib/index.js" --set NODE_PATH "$out/share/your_spotify/node_modules"
runHook postInstall
'';
passthru = {
client = callPackage ./client.nix {
inherit (finalAttrs)
src
version
offlineCache
meta
;
};
tests = {
inherit (nixosTests) your_spotify;
};
updateScript = nix-update-script { };
};
meta = {
homepage = "https://github.com/Yooooomi/your_spotify";
changelog = "https://github.com/Yooooomi/your_spotify/releases/tag/${finalAttrs.version}";
description = "Self-hosted application that tracks what you listen and offers you a dashboard to explore statistics about it";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ patrickdag ];
mainProgram = "your_spotify_server";
};
})

View File

@@ -0,0 +1,16 @@
CONFIG_DIR=$YS/config
if [ ! -d $CONFIG_DIR ]; then
mkdir -p $CONFIG_DIR
fi
REGISTRY=$CONFIG_DIR/registry8.xml
if [ ! -e $REGISTRY ]; then
cat >$REGISTRY <<EOF
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<registry8>
<desktop-file.created>
<boolean value="true"/>
</desktop-file.created>
</registry8>
EOF
fi

View File

@@ -0,0 +1,104 @@
{
fetchzip,
lib,
stdenvNoCC,
copyDesktopItems,
imagemagick,
makeDesktopItem,
jdk21,
}:
let
jre = jdk21;
vPath = v: lib.elemAt (lib.splitString "-" v) 0;
version = "2025.3-b154";
arches = {
aarch64-linux = "arm64";
x86_64-linux = "x64";
};
arch = arches.${stdenvNoCC.targetPlatform.system} or (throw "Unsupported system");
hashes = {
arm64 = "sha256-X9YQy12rfTWOVKX2ufmS4GxLGp/I6jhZAZyRBfLuOuk=";
x64 = "sha256-BuEfpMEgkOcbUra6eT/sTiVhXpheMaCe55M/CuG0kHE=";
};
desktopItem = makeDesktopItem {
name = "YourKit Java Profiler";
desktopName = "YourKit Java Profiler " + version;
type = "Application";
exec = "yourkit-java-profiler %f";
icon = "yourkit-java-profiler";
categories = [
"Development"
"Java"
"Profiling"
];
terminal = false;
startupWMClass = "YourKit Java Profiler";
};
in
stdenvNoCC.mkDerivation {
inherit version;
pname = "yourkit-java";
src = fetchzip {
url = "https://download.yourkit.com/yjp/${vPath version}/YourKit-JavaProfiler-${version}-${arch}.zip";
hash = hashes.${arch};
};
nativeBuildInputs = [
copyDesktopItems
imagemagick
];
buildInputs = [ jre ];
desktopItems = [ desktopItem ];
installPhase = ''
runHook preInstall
mkdir -p $out
cp -pr bin lib license.html license-redist.txt probes samples $out
cp ${./forbid-desktop-item-creation} $out/bin/forbid-desktop-item-creation
mv $out/bin/profiler.sh $out/bin/yourkit-java-profiler
mkdir -p $out/share/icons
convert $out/bin/profiler.ico\[0] \
-size 256x256 \
$out/share/icons/yourkit-java-profiler.png
rm $out/bin/profiler.ico
rm -rf $out/bin/{windows-*,mac,linux-{*-32,musl-*,ppc-*}}
if [[ ${arch} = x64 ]]; then
rm -rf $out/bin/linux-arm-64
else
rm -rf $out/bin/linux-x86-64
fi
substituteInPlace $out/bin/yourkit-java-profiler \
--replace 'JAVA_EXE="$YD/jre64/bin/java"' JAVA_EXE=${jre}/bin/java
# Use our desktop item, which will be purged when this package
# gets removed
sed -i -e "/^YD=/isource $out/bin/forbid-desktop-item-creation\\
" \
$out/bin/yourkit-java-profiler
runHook postInstall
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Award winning, fully featured low overhead profiler for Java EE and Java SE platforms";
homepage = "https://www.yourkit.com";
changelog = "https://www.yourkit.com/changes/";
license = licenses.unfree;
mainProgram = "yourkit-java-profiler";
platforms = attrNames arches;
sourceProvenance = with sourceTypes; [ binaryBytecode ];
maintainers = with maintainers; [ herberteuler ];
};
}

View File

@@ -0,0 +1,54 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p coreutils curl gawk gnused nix-prefetch
set -euo pipefail
ROOT="$(dirname "$(readlink -f "$0")")"
DRV_BASE=package.nix
NIX_DRV="$ROOT/$DRV_BASE"
if [[ ! -f "$NIX_DRV" ]]; then
echo "ERROR: cannot find $DRV_BASE in $ROOT"
exit 1
fi
function retrieve_latest_version () {
curl https://www.yourkit.com/java/profiler/download/ \
| grep -Eo '(Version|Build): ([a-z0-9#.-])+' \
| awk '{ print $2 }' \
| tr -d '\n' \
| sed 's/#/-b/'
}
function calc_hash () {
local version=$1
local url=$2
nix-prefetch --option extra-experimental-features flakes \
"{ stdenv, fetchzip }:
stdenv.mkDerivation {
pname = \"yourkit-java-binary\";
version = \"$version\";
src = fetchzip {
url = \"$url\";
};
}"
}
function update_hash () {
local arch=$1
local version=$2
local date=$(echo $version | sed 's/-.*//')
local url=https://download.yourkit.com/yjp/$date/YourKit-JavaProfiler-$version-$arch.zip
local hash=$(calc_hash $version $url)
sed -i -e "s|^.*$arch.*=.*\"sha256-.*$| $arch = \"$hash\";|" $NIX_DRV
}
version=$(retrieve_latest_version)
sed -i -e "s|^.*version.*=.*\".*$| version = \"$version\";|" $NIX_DRV
for arch in arm64 x64; do
update_hash $arch $version
done
# Local variables:
# mode: shell-script
# eval: (sh-set-shell "bash")
# End:

View File

@@ -0,0 +1,52 @@
{
lib,
stdenvNoCC,
fetchzip,
makeBinaryWrapper,
jdk21_headless,
gawk,
statePath ? "/var/lib/youtrack",
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "youtrack";
version = "2025.1.86199";
src = fetchzip {
url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.zip";
hash = "sha256-+sHxagy9+H6DEnpdtRTNMy6GLSSCopaeqlXWJodAim0=";
};
nativeBuildInputs = [ makeBinaryWrapper ];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r * $out
makeWrapper $out/bin/youtrack.sh $out/bin/youtrack \
--prefix PATH : "${lib.makeBinPath [ gawk ]}" \
--set JRE_HOME ${jdk21_headless}
rm -rf $out/internal/java
mv $out/conf $out/conf.orig
ln -s ${statePath}/backups $out/backups
ln -s ${statePath}/conf $out/conf
ln -s ${statePath}/data $out/data
ln -s ${statePath}/logs $out/logs
ln -s ${statePath}/temp $out/temp
runHook postInstall
'';
passthru.updateScript = ./update.sh;
meta = {
description = "Issue tracking and project management tool for developers";
maintainers = [ lib.maintainers.leona ];
teams = [ lib.teams.serokell ];
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
# https://www.jetbrains.com/youtrack/buy/license.html
license = lib.licenses.unfree;
};
})

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl xq-xml common-updater-scripts
set -eu -o pipefail
version="$(curl https://www.jetbrains.com/youtrack/update.xml | \
xq -x "/products/product[@name='YouTrack']/channel/build/@version")"
update-source-version youtrack "$version"

View File

@@ -0,0 +1,54 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
xorg,
stdenv,
python3,
makeBinaryWrapper,
libsixel,
mpv,
}:
rustPlatform.buildRustPackage rec {
pname = "youtube-tui";
version = "0.9.2";
src = fetchFromGitHub {
owner = "Siriusmart";
repo = "youtube-tui";
tag = "v${version}";
hash = "sha256-TuXfgJTY+f+9GH6gsATsnV8WMAfqHUAglbbCvOgJ1NQ=";
};
cargoHash = "sha256-lJDIkOokhKo6BxrZAD4s2FtLXNhU2IysltjhiHQQUlU=";
nativeBuildInputs = [
pkg-config
python3
makeBinaryWrapper
];
buildInputs = [
openssl
xorg.libxcb
libsixel
mpv
];
# sixel-sys is dynamically linked to libsixel
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
wrapProgram $out/bin/youtube-tui \
--prefix DYLD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsixel ]}"
'';
meta = with lib; {
description = "Aesthetically pleasing YouTube TUI written in Rust";
homepage = "https://siriusmart.github.io/youtube-tui";
license = licenses.gpl3Only;
maintainers = with maintainers; [ Ruixi-rebirth ];
mainProgram = "youtube-tui";
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
buildGoModule rec {
pname = "youtubeuploader";
version = "1.25.5";
src = fetchFromGitHub {
owner = "porjo";
repo = "youtubeuploader";
tag = "v${version}";
hash = "sha256-KG0x2+nTTB+d7Yon2xRdlhEqYr74jNPD4+3dKyccOdc=";
};
vendorHash = "sha256-wVfJnN9QgF7c2aI3OghfJW9Z6McZ+irgMRSkWvVi1DM=";
passthru.updateScript = nix-update-script { };
ldflags = [
"-s"
"-X main.appVersion=${version}"
];
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "-version";
doInstallCheck = true;
meta = {
description = "Scripted uploads to Youtube using Golang";
homepage = "https://github.com/porjo/youtubeuploader";
changelog = "https://github.com/porjo/youtubeuploader/releases/tag/v${version}";
license = lib.licenses.asl20;
mainProgram = "youtubeuploader";
platforms = lib.platforms.unix;
};
}