Merge remote-tracking branch 'origin/staging-next' into staging
This commit is contained in:
@@ -1139,10 +1139,6 @@ let
|
||||
# depends on later-do which is not on any ELPA
|
||||
emms-player-simple-mpv = ignoreCompilationError super.emms-player-simple-mpv;
|
||||
|
||||
# missing optional dependencies
|
||||
# https://github.com/isamert/empv.el/pull/96
|
||||
empv = addPackageRequires super.empv [ self.hydra ];
|
||||
|
||||
enotify = ignoreCompilationError super.enotify; # elisp error
|
||||
|
||||
# https://github.com/leathekd/ercn/issues/6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"chromium": {
|
||||
"version": "145.0.7632.109",
|
||||
"version": "145.0.7632.116",
|
||||
"chromedriver": {
|
||||
"version": "145.0.7632.110",
|
||||
"hash_darwin": "sha256-wa8s3PwS5G1TopGYheyLD7wlxxTZWPYwU90TLFpBMZw=",
|
||||
@@ -21,8 +21,8 @@
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "61eff07de4f37ac1c6969c91034a447ef6cd394d",
|
||||
"hash": "sha256-b498JyyvsN/+0Gqjdrq+eT1HW54/ayEENRHa1Sw69Xw=",
|
||||
"rev": "7d28075c6a9ba147e6df449209001258bb82a122",
|
||||
"hash": "sha256-ljqK297kBByDGHKwH+yz6XcLO7l0+GDIrR0Hznh6X8c=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -132,8 +132,8 @@
|
||||
},
|
||||
"src/third_party/dawn": {
|
||||
"url": "https://dawn.googlesource.com/dawn.git",
|
||||
"rev": "d9f5a980bb5a4baeb7d9c1fef89a39789a6cd9fb",
|
||||
"hash": "sha256-DaNsRQm9bR2lfbiP6vWr2R7KD8mYWOaJ72VJyrUkJvI="
|
||||
"rev": "3df397b5b33f950da92787d9a6ac655e0601bca2",
|
||||
"hash": "sha256-UAKnxnEScteAj+14i56K6VA34JM+J4KCpG4HbY2bT4s="
|
||||
},
|
||||
"src/third_party/dawn/third_party/glfw": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
|
||||
@@ -817,8 +817,8 @@
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "a8b42c8fae7c7f1ce4e32b08ee61c22775185c01",
|
||||
"hash": "sha256-HZ4JbSoMNVqUrCWoxk0/AxzlcpMgKhe/HJ7DGeTeE9M="
|
||||
"rev": "ce21eb288e9b86bf6a294968a5113a2646d7b8dd",
|
||||
"hash": "sha256-ayAzZOrJYOLqGunDs9t/x6HBUy32y+0ISjaGkEUK+hk="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -423,10 +423,21 @@ let
|
||||
# Maybe related to how omni.ja file is mmapped into memory. See:
|
||||
# https://github.com/mozilla/gecko-dev/blob/b1662b447f306e6554647914090d4b73ac8e1664/modules/libjar/nsZipArchive.cpp#L204
|
||||
#
|
||||
# The *.dylib files are copied, otherwise some basic functionality, e.g. Crypto API, is broken.
|
||||
for file in $(find . -name "omni.ja" -o -name "*.dylib"); do
|
||||
# Mach-O shared libraries must be copied, not symlinked, otherwise some
|
||||
# functionality like the Crypto API and audio decoding is broken.
|
||||
find . -type l -print0 |
|
||||
while IFS= read -r -d "" file; do
|
||||
case "$(basename "$file")" in
|
||||
omni.ja)
|
||||
;;
|
||||
*)
|
||||
# Copy if the symlink resolves to a Mach-O dylib
|
||||
otool -l "$file" 2>/dev/null | grep -q 'LC_ID_DYLIB' || continue
|
||||
;;
|
||||
esac
|
||||
|
||||
rm "$file"
|
||||
cp "${browser}/${appPath}/$file" "$file"
|
||||
cp "${browser}/${appPath}/''${file#./}" "$file"
|
||||
done
|
||||
|
||||
# Copy any embedded .app directories; plugin-container fails to start otherwise.
|
||||
|
||||
@@ -1049,11 +1049,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"oracle_oci": {
|
||||
"hash": "sha256-Ew7W4Jk8ygNS50SFxNctHeyyYpNckxpWtms6ImwJdBU=",
|
||||
"hash": "sha256-fBHwWw8NtjzgQISUuLB6eY6S3SlMbwyXPmt+suMezHA=",
|
||||
"homepage": "https://registry.terraform.io/providers/oracle/oci",
|
||||
"owner": "oracle",
|
||||
"repo": "terraform-provider-oci",
|
||||
"rev": "v8.1.0",
|
||||
"rev": "v8.2.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
lua,
|
||||
gettext,
|
||||
groff,
|
||||
libice,
|
||||
libsm,
|
||||
libx11,
|
||||
libxext,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ion";
|
||||
version = "3-20090110";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://tuomov.iki.fi/software/ion/dl/ion-${version}.tar.gz";
|
||||
sha256 = "1nkks5a95986nyfkxvg2rik6zmwx0lh7szd5fji7yizccwzc9xns";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
libice
|
||||
libsm
|
||||
libx11
|
||||
libxext
|
||||
lua
|
||||
gettext
|
||||
groff
|
||||
];
|
||||
|
||||
buildFlags = [
|
||||
"LUA_DIR=${lua}"
|
||||
"X11_PREFIX=/no-such-path"
|
||||
"PREFIX=\${out}"
|
||||
];
|
||||
|
||||
# Build system is missing depends for autogenerated export headers:
|
||||
# luac -o mod_tiling.lc mod_tiling.lua
|
||||
# main.c:21:10: fatal error: exports.h: No such file or directory
|
||||
enableParallelBuilding = false;
|
||||
|
||||
installFlags = [ "PREFIX=\${out}" ];
|
||||
|
||||
meta = {
|
||||
description = "Tiling tabbed window manager designed with keyboard users in mind";
|
||||
homepage = "https://tuomov.iki.fi/software/ion/";
|
||||
platforms = with lib.platforms; linux;
|
||||
license = lib.licenses.lgpl21;
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
@@ -12,18 +12,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "commitlint";
|
||||
version = "20.4.1";
|
||||
version = "20.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "conventional-changelog";
|
||||
repo = "commitlint";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FJod+jzd8zHOcyoHyxw+UltS2NsHmbocIWIbxHk2EDg=";
|
||||
hash = "sha256-NdoNuOhx+j2wn2O4seOvuTEZyUCLuoJi+y6jtpQFTLg=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
inherit (finalAttrs) src;
|
||||
hash = "sha256-pnxnFvEv6fo1I6XAFZw6xcues52WYxFjdehH9BzB+w4=";
|
||||
hash = "sha256-xPjisH3mW5xgMy2ZPEfHWSX1lE5S3jqHzRdTXwNLyVc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,12 +9,12 @@ buildNpmPackage (finalAttrs: {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "css";
|
||||
repo = "csso";
|
||||
repo = "csso-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-uPjRSBOFEl55gyObKEZMXGQ6eaQ3tBB48k5JgLGrbTw=";
|
||||
hash = "sha256-mP3Q+7JlgIfPLZsCtYSpTBdV4+tT5qiEeP6fB87Wxw8=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-rGqj1vCswUfAQwM1Lk1qCWgUfzeefBONHeEn0NusOoc=";
|
||||
npmDepsHash = "sha256-IKy4o/tcNo0Hy49aTKAoHhfsR3xUNFYeBuvSoZXh0UI=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
diff --git a/src/Etterna/Models/HighScore/Replay.cpp b/src/Etterna/Models/HighScore/Replay.cpp
|
||||
index 77e85b7ca0..1375e59142 100644
|
||||
--- a/src/Etterna/Models/HighScore/Replay.cpp
|
||||
+++ b/src/Etterna/Models/HighScore/Replay.cpp
|
||||
@@ -344,7 +344,7 @@ Replay::WriteReplayData() -> bool
|
||||
return false;
|
||||
}
|
||||
|
||||
- const auto path = FULL_REPLAY_DIR + scoreKey;
|
||||
+ const auto path = FILEMAN->ResolvePath(FULL_REPLAY_DIR + scoreKey);
|
||||
|
||||
std::ofstream fileStream(path, std::ios::binary);
|
||||
if (!fileStream) {
|
||||
@@ -412,7 +412,7 @@ Replay::WriteInputData() -> bool
|
||||
SetHighScoreMods();
|
||||
}
|
||||
|
||||
- const auto path = INPUT_DATA_DIR + scoreKey;
|
||||
+ const auto path = FILEMAN->ResolvePath(INPUT_DATA_DIR + scoreKey);
|
||||
const auto path_z = path + "z";
|
||||
|
||||
std::ofstream fileStream(path, std::ios::binary);
|
||||
@@ -566,7 +566,7 @@ Replay::LoadInputData(const std::string& replayDir) -> bool
|
||||
return loadResultInputData;
|
||||
}
|
||||
|
||||
- const auto path = replayDir + scoreKey;
|
||||
+ const auto path = FILEMAN->ResolvePath(replayDir + scoreKey);
|
||||
const auto path_z = path + "z";
|
||||
std::vector<InputDataEvent> readInputs;
|
||||
std::vector<HoldReplayResult> vHoldReplayDataVector;
|
||||
@@ -827,7 +827,7 @@ Replay::LoadReplayDataBasic(const std::string& replayDir) -> bool
|
||||
std::string profiledir;
|
||||
std::vector<int> vNoteRowVector;
|
||||
std::vector<float> vOffsetVector;
|
||||
- const auto path = replayDir + scoreKey;
|
||||
+ const auto path = FILEMAN->ResolvePath(replayDir + scoreKey);
|
||||
|
||||
std::ifstream fileStream(path, std::ios::binary);
|
||||
std::string line;
|
||||
@@ -917,7 +917,7 @@ Replay::LoadReplayDataFull(const std::string& replayDir) -> bool
|
||||
std::vector<int> vTrackVector;
|
||||
std::vector<TapNoteType> vTapNoteTypeVector;
|
||||
std::vector<HoldReplayResult> vHoldReplayDataVector;
|
||||
- const auto path = replayDir + scoreKey;
|
||||
+ const auto path = FILEMAN->ResolvePath(replayDir + scoreKey);
|
||||
|
||||
std::ifstream fileStream(path, std::ios::binary);
|
||||
std::string line;
|
||||
@@ -1050,7 +1050,7 @@ Replay::LoadOnlineDataFromDisk(const std::string& replayDir) -> bool
|
||||
std::vector<int> tracks;
|
||||
std::vector<int> rows;
|
||||
std::vector<TapNoteType> types;
|
||||
- const auto path = replayDir + scoreKey;
|
||||
+ const auto path = FILEMAN->ResolvePath(replayDir + scoreKey);
|
||||
|
||||
std::ifstream fileStream(path, std::ios::binary);
|
||||
|
||||
@@ -36,6 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# https://github.com/etternagame/etterna/pull/1396
|
||||
./0001-Add-aarch64-linux-support.patch
|
||||
./0002-replays-dir-fix.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
{
|
||||
lib,
|
||||
clangStdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
cargo,
|
||||
rustc,
|
||||
appstream,
|
||||
desktop-file-utils,
|
||||
glib,
|
||||
gtk4,
|
||||
libglycin,
|
||||
wrapGAppsHook4,
|
||||
|
||||
libadwaita,
|
||||
openssl,
|
||||
ffmpeg,
|
||||
onnxruntime,
|
||||
libshumate,
|
||||
opencv,
|
||||
libseccomp,
|
||||
glycin-loaders,
|
||||
|
||||
nix-update-script,
|
||||
}:
|
||||
# Apparently `bindgenHook` + `libclang` is not enough.
|
||||
# opencv-binding-generator *really* wants to execute `clang` itself...
|
||||
clangStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fotema";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "blissd";
|
||||
repo = "fotema";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-+fo3g4+dtZlOVpHW0W0ZSBEi5fIR/c1aGAJHVysjJUY=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-WBKEjNyItMTpkBalLf6OUrbeUiSw6lWO5adR8l4q/bY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustPlatform.cargoSetupHook
|
||||
rustPlatform.bindgenHook
|
||||
cargo
|
||||
rustc
|
||||
appstream
|
||||
desktop-file-utils # `desktop-file-validate`
|
||||
glib # `glib-compile-schemas`
|
||||
gtk4 # `gtk-update-icon-cache`
|
||||
wrapGAppsHook4
|
||||
libglycin.patchVendorHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libadwaita
|
||||
openssl
|
||||
ffmpeg
|
||||
onnxruntime
|
||||
libshumate
|
||||
opencv
|
||||
libseccomp
|
||||
libglycin.setupHook
|
||||
glycin-loaders
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
env = {
|
||||
OPENSSL_NO_VENDOR = true;
|
||||
# Use system OnnxRuntime
|
||||
ORT_LIB_LOCATION = "${onnxruntime}/lib";
|
||||
ORT_STRATEGY = "system";
|
||||
};
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--set ORT_DYLIB_PATH "${onnxruntime}/lib/libonnxruntime.so"
|
||||
)
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Photo gallery for Linux";
|
||||
homepage = "https://github.com/blissd/fotema";
|
||||
license = with lib.licenses; [ gpl3Plus ];
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ pluiedev ];
|
||||
mainProgram = "fotema";
|
||||
};
|
||||
})
|
||||
@@ -19,13 +19,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "grimblast";
|
||||
version = "0.1-unstable-2026-01-14";
|
||||
version = "0.1-unstable-2026-02-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "contrib";
|
||||
rev = "541628cebe42792ddf5063c4abd6402c2f1bd68f";
|
||||
hash = "sha256-CopNx3j//gZ2mE0ggEK9dZ474UcbDhpTw+KMor8mSxI=";
|
||||
rev = "918f266dddae39fa4184a1b8bf51ec5381cf29f7";
|
||||
hash = "sha256-aH8h5ZOiyEGtHmEyuE/eFxx8TN7a+NGDnl4V+dbzJ6E=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -45,13 +45,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hmcl";
|
||||
version = "3.10.3";
|
||||
version = "3.11.1";
|
||||
|
||||
src = fetchurl {
|
||||
# HMCL has built-in keys, such as the Microsoft OAuth secret and the CurseForge API key.
|
||||
# See https://github.com/HMCL-dev/HMCL/blob/refs/tags/release-3.6.12/.github/workflows/gradle.yml#L26-L28
|
||||
url = "https://github.com/HMCL-dev/HMCL/releases/download/v${finalAttrs.version}/HMCL-${finalAttrs.version}.jar";
|
||||
hash = "sha256-+xxDACa2ECbWaCUzK0b/rcRS49Hex4GZDcNNK/aEURs=";
|
||||
hash = "sha256-nthmv/xvgQ4JFmtcwn4XkCHcdzC23hJ5McoAIl2g8A4=";
|
||||
};
|
||||
|
||||
# - HMCL prompts users to download prebuilt Terracotta binary for
|
||||
|
||||
@@ -20,18 +20,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "karere";
|
||||
version = "2.3.2";
|
||||
version = "2.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tobagin";
|
||||
repo = "karere";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FtGT2GXBHmXHLxRW+J2735+Z+++xbzyNAjyfXPewZ8Y=";
|
||||
hash = "sha256-0HIy//dIr3uHgapPCSxTx4Rq52g1f6JAS62eUvpEMwc=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-NqE9x3mBfHt1bhSpxm+DurX61oJDxt3IibTYFi/lqO8=";
|
||||
hash = "sha256-agZ4wBHYBgNpnu9deMbKFbJev+WXvvmtXm2s79B+SEE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "moor";
|
||||
version = "2.10.4";
|
||||
version = "2.10.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "walles";
|
||||
repo = "moor";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-UEOp+ht+F4uh48OcERRCuKZEt3cM2SAaVF9Hb3/U/NA=";
|
||||
hash = "sha256-Ib1+lPxTKBqW/I+zP+G0VHWbVQiMdKZ03MWBzOVPK0c=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-lz3cq2xL9byhLNbAwEvYOsP9WQsu0hqrWe2EDaLSeOQ=";
|
||||
|
||||
@@ -37,13 +37,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nemo";
|
||||
version = "6.6.3";
|
||||
version = "6.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "nemo";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-jsAKNKpNsheyugI6dVQAYYrOTmHLDjJCbjlWmAChFgU=";
|
||||
hash = "sha256-HYrpq22rWScdweDQQlrQbOShYFH4FjZWQKBnvKIsOAI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "28";
|
||||
version = "29";
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "netbeans";
|
||||
exec = "netbeans";
|
||||
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
|
||||
hash = "sha256-ALn6XALAcQbf6zeoieKgTj4sUis24VzzfTHukPoa/DI=";
|
||||
hash = "sha256-Xoyhp8Z5fiG7JbZ8F8dDBoiHwXCxW8mDvr9wTX5R7Dg=";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
@@ -57,7 +57,7 @@ stdenv.mkDerivation {
|
||||
# Extract pngs from the Apple icon image and create
|
||||
# the missing ones from the 1024x1024 image.
|
||||
icns2png --extract $out/netbeans/nb/netbeans.icns
|
||||
for size in 16 24 32 48 64 128 256 512 1024; do
|
||||
for size in 16 24 32 48 64 129 256 512 1024; do
|
||||
mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps
|
||||
if [ -e netbeans_"$size"x"$size"x32.png ]
|
||||
then
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
}:
|
||||
let
|
||||
pname = "open-webui";
|
||||
version = "0.8.3";
|
||||
version = "0.8.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-webui";
|
||||
repo = "open-webui";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-lakk5VB8zJCf011OqziWWyj4qfXNrw9PwB2Ol137F2U=";
|
||||
hash = "sha256-uK80y3ncHyYGTO2x7HKx19r5/2VW2PnarE4pnxrzleI=";
|
||||
};
|
||||
|
||||
frontend = buildNpmPackage rec {
|
||||
@@ -32,7 +32,7 @@ let
|
||||
url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-0F7mlLcvDtbXUHkgiv2VYQyBdqCRyGC2d31MWgVwMKc=";
|
||||
npmDepsHash = "sha256-Su7WcgvJ5nUW3juTI7kr+l324v+6nWtGMKecY57Xk84=";
|
||||
|
||||
# See https://github.com/open-webui/open-webui/issues/15880
|
||||
npmFlags = [
|
||||
|
||||
@@ -27,13 +27,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "ruffle";
|
||||
version = "0.2.0-nightly-2026-02-16";
|
||||
version = "0.2.0-nightly-2026-02-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ruffle-rs";
|
||||
repo = "ruffle";
|
||||
tag = lib.strings.removePrefix "0.2.0-" finalAttrs.version;
|
||||
hash = "sha256-+q+v8ZIuI1hXbOoC39/AtsjXhh83X2ygtRRM2wtPrWo=";
|
||||
hash = "sha256-q7d4Nb967W0O42lr5T6AltlKumgmBZ8cHN0lIO5i6Xk=";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
"OpenH264Version(${major}, ${minor}, ${patch})"
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-DIlFPOMu7XwWtmJGPmF9Gi8jm7YJStOYirCDowo4Mqk=";
|
||||
cargoHash = "sha256-ZZ5Utf2awzOLZP27fzGqKVChMwy1UesEkF5WAnXi1WE=";
|
||||
cargoBuildFlags = lib.optional withRuffleTools "--workspace";
|
||||
|
||||
env =
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
cmake,
|
||||
gitUpdater,
|
||||
ffmpeg,
|
||||
wrapGAppsHook3,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -32,6 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
cmake
|
||||
qt6.wrapQtAppsHook
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -60,6 +62,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
})
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--set FREI0R_PATH ${frei0r}/lib/frei0r-1"
|
||||
"--set LADSPA_PATH ${ladspaPlugins}/lib/ladspa"
|
||||
@@ -68,6 +72,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
}"
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir $out/Applications $out/bin
|
||||
mv $out/Shotcut.app $out/Applications/Shotcut.app
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "tektoncd-cli";
|
||||
version = "0.43.0";
|
||||
version = "0.44.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tektoncd";
|
||||
repo = "cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-75pyN+Sr5IttqrQYIveePabcuxnx8G48aiP5rw2v/Jo=";
|
||||
sha256 = "sha256-wWHrm7V2kKFfgSOV8V6lF76kVJbLL+KVlTZLr5+Hjnw=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "telegraf";
|
||||
version = "1.37.2";
|
||||
version = "1.37.3";
|
||||
|
||||
subPackages = [ "cmd/telegraf" ];
|
||||
|
||||
@@ -18,10 +18,10 @@ buildGoModule (finalAttrs: {
|
||||
owner = "influxdata";
|
||||
repo = "telegraf";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5sgDhA9+Z33dvYlhYq80T12JSJOC5QXejms8COsGiQA=";
|
||||
hash = "sha256-HMmniDwEyM5jciHVGsR4VT1oPlv9ZvxoVZcdQQr99b8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-xpPYXHDL0h2P3trH5SlWTvLKqjbb5mClwfd5TU0lKQc=";
|
||||
vendorHash = "sha256-kSCJI2tUdwG5JuP+P785zpMnLbkU91GhZ0i9YZNTFxo=";
|
||||
proxyVendor = true;
|
||||
|
||||
ldflags = [
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "umka-lang";
|
||||
version = "1.5.4";
|
||||
version = "1.5.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vtereshkov";
|
||||
repo = "umka-lang";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-UerEmJdD0/Hx/Pqw3NI3cZwjkX9lRWqI5rL0GGYKFwc=";
|
||||
hash = "sha256-+jt44mbV2gr7BuciCeT/YkAhJqZtzbuBpYGqfMpQsCQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
appimageTools.wrapType2 rec {
|
||||
pname = "xlights";
|
||||
version = "2026.02";
|
||||
version = "2026.03";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/smeighan/xLights/releases/download/${version}/xLights-${version}-x86_64.AppImage";
|
||||
hash = "sha256-Xj845VEWXcrcH7Onx6Cr/vKXwv1DdC270nKJW+RMo+I=";
|
||||
hash = "sha256-xIJHzWnkxTEFfbVoLqMxd+wC+jfK/0rPVuwGXhOBTrk=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -107,7 +107,7 @@ let
|
||||
git describe --tags --abbrev=0 --match "''${tag_format}" 2> /dev/null || true
|
||||
}
|
||||
|
||||
pushd "$tmpdir"
|
||||
pushd "$tmpdir" >&2
|
||||
commit_date="$(git show -s --pretty='format:%cs')"
|
||||
commit_sha="$(git show -s --pretty='format:%H')"
|
||||
last_tag=""
|
||||
@@ -135,11 +135,11 @@ let
|
||||
last_tag="0"
|
||||
fi
|
||||
if [[ -n "$tag_prefix" ]]; then
|
||||
echo "Stripping prefix '$tag_prefix' from tag '$last_tag'"
|
||||
echo "Stripping prefix '$tag_prefix' from tag '$last_tag'" >&2
|
||||
last_tag="''${last_tag#"''${tag_prefix}"}"
|
||||
fi
|
||||
if [[ -n "$tag_converter" ]]; then
|
||||
echo "Running '$last_tag' through: $tag_converter"
|
||||
echo "Running '$last_tag' through: $tag_converter" >&2
|
||||
last_tag="$(echo "''${last_tag}" | ''${tag_converter})"
|
||||
fi
|
||||
else
|
||||
@@ -150,14 +150,15 @@ let
|
||||
exit 1
|
||||
fi
|
||||
new_version="$last_tag-unstable-$commit_date"
|
||||
popd
|
||||
popd >&2
|
||||
# rm -rf "$tmpdir"
|
||||
|
||||
# update the nix expression
|
||||
update-source-version \
|
||||
"$UPDATE_NIX_ATTR_PATH" \
|
||||
"$new_version" \
|
||||
--rev="$commit_sha"
|
||||
--rev="$commit_sha" \
|
||||
--print-changes
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
# We avoid the closure size penalty of this buggy upstream behavior by using
|
||||
# a dedicated output for the static library, which is fortuenatly also
|
||||
# supported by the `--libdir` argument to `./configure`.
|
||||
splitStaticOutput ? shared && !stdenv.hostPlatform.isWindows,
|
||||
splitStaticOutput ? shared && !(stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isCygwin),
|
||||
testers,
|
||||
minizip,
|
||||
}:
|
||||
|
||||
@@ -38,15 +38,15 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "jupysql";
|
||||
version = "0.38";
|
||||
version = "0.11.1";
|
||||
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ploomber";
|
||||
repo = "jupysql";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Z132bGkjXUNPIscIfIM8FKRO0Uc/z4Sl932CVN8f3lc=";
|
||||
tag = version;
|
||||
hash = "sha256-7wfKvKqDf8LlUiLoevNRxmq8x5wLheOgIeWz72oFcuw=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "sqlalchemy" ];
|
||||
@@ -62,7 +62,8 @@ buildPythonPackage rec {
|
||||
sqlalchemy
|
||||
sqlglot
|
||||
sqlparse
|
||||
];
|
||||
]
|
||||
++ pyspark.optional-dependencies.connect;
|
||||
|
||||
optional-dependencies.dev = [
|
||||
duckdb
|
||||
@@ -128,10 +129,13 @@ buildPythonPackage rec {
|
||||
|
||||
pythonImportsCheck = [ "sql" ];
|
||||
|
||||
# python-update-script picks up an 11-year old 0.38 over the current version
|
||||
passthru.skipBulkUpdate = true;
|
||||
|
||||
meta = {
|
||||
description = "Better SQL in Jupyter";
|
||||
homepage = "https://github.com/ploomber/jupysql";
|
||||
changelog = "https://github.com/ploomber/jupysql/blob/${src.tag}/CHANGELOG.md";
|
||||
changelog = "https://github.com/ploomber/jupysql/blob/${version}/CHANGELOG.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ euxane ];
|
||||
};
|
||||
|
||||
@@ -6,10 +6,11 @@
|
||||
pyyaml,
|
||||
posthog,
|
||||
pytestCheckHook,
|
||||
pythonAtLeast,
|
||||
typing-extensions,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "ploomber-core";
|
||||
version = "0.2.27";
|
||||
pyproject = true;
|
||||
@@ -17,7 +18,7 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "ploomber";
|
||||
repo = "core";
|
||||
tag = version;
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-/HlJxaxsGbZ1UIJNwDdzJLR4bey7bv/qsmFmVi8eWjQ=";
|
||||
};
|
||||
|
||||
@@ -36,13 +37,18 @@ buildPythonPackage rec {
|
||||
"exceptions" # requires stderr capture
|
||||
];
|
||||
|
||||
disabledTestPaths = lib.optionals (pythonAtLeast "3.14") [
|
||||
# Depends on pre-3.14 attribute access
|
||||
"tests/test_config.py"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "ploomber_core" ];
|
||||
|
||||
meta = {
|
||||
description = "Core module shared across Ploomber projects";
|
||||
homepage = "https://github.com/ploomber/core";
|
||||
changelog = "https://github.com/ploomber/core/blob/${src.tag}/CHANGELOG.md";
|
||||
changelog = "https://github.com/ploomber/core/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ euxane ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
hatchling,
|
||||
hatch-jupyter-builder,
|
||||
hatch-nodejs-version,
|
||||
jupyterlab,
|
||||
ploomber-core,
|
||||
pytestCheckHook,
|
||||
pytest-jupyter,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ploomber-extension";
|
||||
version = "0.1.1";
|
||||
pyproject = true;
|
||||
|
||||
# using pypi archive which includes pre-built assets
|
||||
src = fetchPypi {
|
||||
pname = "ploomber_extension";
|
||||
inherit version;
|
||||
hash = "sha256-wsldqLhJfOESH9aMMzz1Y/FXofHyfgrl81O95NePXSA=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
hatchling
|
||||
hatch-jupyter-builder
|
||||
hatch-nodejs-version
|
||||
jupyterlab
|
||||
];
|
||||
|
||||
dependencies = [ ploomber-core ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pytest-jupyter
|
||||
];
|
||||
|
||||
# Tests fail on Darwin when sandboxed
|
||||
doCheck = !stdenv.buildPlatform.isDarwin;
|
||||
|
||||
pythonImportsCheck = [ "ploomber_extension" ];
|
||||
|
||||
meta = {
|
||||
description = "Ploomber extension";
|
||||
homepage = "https://pypi.org/project/ploomber-extension";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = [ lib.maintainers.euxane ];
|
||||
};
|
||||
}
|
||||
@@ -2,30 +2,41 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
|
||||
# dependencies
|
||||
py4j,
|
||||
|
||||
# optional-dependencies
|
||||
googleapis-common-protos,
|
||||
graphviz,
|
||||
grpcio-status,
|
||||
grpcio,
|
||||
numpy,
|
||||
pandas,
|
||||
py4j,
|
||||
pyarrow,
|
||||
zstandard,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pyspark";
|
||||
version = "4.1.1";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-d/eJhKqE++hlxxfdN7SZE7TlyX1272gk+TLxrvpmIew=";
|
||||
};
|
||||
|
||||
# pypandoc is broken with pandoc2, so we just lose docs.
|
||||
postPatch = ''
|
||||
sed -i "s/'pypandoc'//" setup.py
|
||||
|
||||
substituteInPlace setup.py \
|
||||
--replace py4j== 'py4j>='
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
postFixup = ''
|
||||
# find_python_home.py has been wrapped as a shell script
|
||||
substituteInPlace $out/bin/find-spark-home \
|
||||
@@ -37,13 +48,26 @@ buildPythonPackage rec {
|
||||
'export PYTHONPATH="''${SPARK_HOME}/..:''${SPARK_HOME}/python/:$PYTHONPATH"'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ py4j ];
|
||||
dependencies = [ py4j ];
|
||||
|
||||
optional-dependencies = {
|
||||
connect = [
|
||||
pandas
|
||||
pyarrow
|
||||
grpcio
|
||||
grpcio-status
|
||||
googleapis-common-protos
|
||||
zstandard
|
||||
graphviz
|
||||
];
|
||||
ml = [ numpy ];
|
||||
mllib = [ numpy ];
|
||||
pandas_on_spark = [
|
||||
pandas
|
||||
pyarrow
|
||||
];
|
||||
pipelines = finalAttrs.optional-dependencies.connect ++ finalAttrs.optional-dependencies.sql;
|
||||
sql = [
|
||||
numpy
|
||||
pandas
|
||||
pyarrow
|
||||
];
|
||||
@@ -62,6 +86,9 @@ buildPythonPackage rec {
|
||||
binaryBytecode
|
||||
];
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ shlevy ];
|
||||
maintainers = with lib.maintainers; [
|
||||
sarahec
|
||||
shlevy
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -18,6 +18,8 @@ chromium.mkDerivation (finalAttrs: {
|
||||
# Kill existing postFixup that tries to patchelf things
|
||||
postFixup = null;
|
||||
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
passthru.tests.version = testers.testVersion { package = chromedriver; };
|
||||
|
||||
meta = chromium.meta // {
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
autoreconfHook,
|
||||
lzmaSupport ? true,
|
||||
xz ? null,
|
||||
}:
|
||||
|
||||
assert lzmaSupport -> xz != null;
|
||||
|
||||
let
|
||||
mkWith = flag: name: if flag then "--with-${name}" else "--without-${name}";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xdelta";
|
||||
version = "3.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "09mmsalc7dwlvgrda56s2k927rpl3a5dzfa88aslkqcjnr790wjy";
|
||||
rev = "v${version}";
|
||||
repo = "xdelta-devel";
|
||||
owner = "jmacd";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ ] ++ lib.optionals lzmaSupport [ xz ];
|
||||
|
||||
postPatch = ''
|
||||
cd xdelta3
|
||||
|
||||
substituteInPlace Makefile.am --replace \
|
||||
"common_CFLAGS =" \
|
||||
"common_CFLAGS = -DXD3_USE_LARGESIZET=1"
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
(mkWith lzmaSupport "liblzma")
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
mkdir $PWD/tmp
|
||||
for i in testing/file.h xdelta3-test.h; do
|
||||
substituteInPlace $i --replace /tmp $PWD/tmp
|
||||
done
|
||||
./xdelta3regtest
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -D -m755 xdelta3 $out/bin/xdelta3
|
||||
install -D -m644 xdelta3.1 $out/share/man/man1/xdelta3.1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Binary differential compression in VCDIFF (RFC 3284) format";
|
||||
longDescription = ''
|
||||
xdelta is a command line program for delta encoding, which generates two
|
||||
file differences. This is similar to diff and patch, but it is targeted
|
||||
for binary files and does not generate human readable output.
|
||||
'';
|
||||
homepage = "http://xdelta.org/";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
mainProgram = "xdelta3";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -917,6 +917,7 @@ mapAliases {
|
||||
intel2200BGFirmware = warnAlias "'intel2200BGFirmware' has been renamed to 'ipw2200-firmware'" ipw2200-firmware; # Added 2026-02-08
|
||||
invalidateFetcherByDrvHash = throw "'invalidateFetcherByDrvHash' has been renamed to/replaced by 'testers.invalidateFetcherByDrvHash'"; # Converted to throw 2025-10-27
|
||||
ioccheck = throw "ioccheck was dropped since it was unmaintained."; # Added 2025-07-06
|
||||
ion3 = throw "ion3 was dropped since it was unmaintained."; # Added 2026-02-18
|
||||
ipfs = throw "'ipfs' has been renamed to/replaced by 'kubo'"; # Converted to throw 2025-10-27
|
||||
ipfs-migrator = throw "'ipfs-migrator' has been renamed to/replaced by 'kubo-migrator'"; # Converted to throw 2025-10-27
|
||||
ipfs-migrator-all-fs-repo-migrations = throw "'ipfs-migrator-all-fs-repo-migrations' has been renamed to/replaced by 'kubo-fs-repo-migrations'"; # Converted to throw 2025-10-27
|
||||
@@ -2054,6 +2055,7 @@ mapAliases {
|
||||
xcbutilrenderutil = libxcb-render-util; # Added 2026-02-04
|
||||
xcbutilwm = libxcb-wm; # Added 2026-02-04
|
||||
xcursorthemes = xcursor-themes; # Added 2026-01-19
|
||||
xdeltaUnstable = throw "'xdeltaUnstable' has been replaced by 'xdelta'"; # Added 2026-02-17
|
||||
xdg-terminal-exec-mkhl = warnAlias "
|
||||
'xdg-terminal-exec-mkhl' has been removed due to being behind the xdg-terminal-exec spec for too long,
|
||||
use the reference implementation 'xdg-terminal-exec' instead.
|
||||
|
||||
@@ -3651,8 +3651,6 @@ with pkgs;
|
||||
# It is also needed to reduce the amount of unnecessary stuff in the Darwin bootstrap.
|
||||
xarMinimal = callPackage ../by-name/xa/xar/package.nix { e2fsprogs = null; };
|
||||
|
||||
xdeltaUnstable = callPackage ../tools/compression/xdelta/unstable.nix { };
|
||||
|
||||
xdot = with python3Packages; toPythonApplication xdot;
|
||||
|
||||
libxfs = xfsprogs.dev;
|
||||
@@ -9989,10 +9987,6 @@ with pkgs;
|
||||
callPackages ../applications/graphics/inkscape/extensions.nix { }
|
||||
);
|
||||
|
||||
ion3 = callPackage ../applications/window-managers/ion-3 {
|
||||
lua = lua5_1;
|
||||
};
|
||||
|
||||
jabcode = callPackage ../development/libraries/jabcode { };
|
||||
|
||||
jabcode-writer = callPackage ../development/libraries/jabcode {
|
||||
|
||||
@@ -342,6 +342,7 @@ mapAliases {
|
||||
pillow-avif-plugin = throw "'pillow-avif-plugin' has been removed because 'pillow' has native avif support since 11.3"; # added 2025-11-26
|
||||
pizzapi = throw "pizzapi was removed because it no longer works"; # added 2025-12-03
|
||||
pkuseg = throw "'pkuseg' has been removed because it was not supported on newer versions of Python"; # added 2026-01-20
|
||||
ploomber-extension = throw "'ploomber-extension' has been removed since the upstream repo was archived"; # added 2026-02-16
|
||||
plumlightpad = throw "plumlightpad has been removed because the API was shut down"; # added 2025-11-04
|
||||
Polygon3 = throw "'Polygon3' has been renamed to/replaced by 'polygon3'"; # Converted to throw 2025-10-29
|
||||
posix_ipc = throw "'posix_ipc' has been renamed to/replaced by 'posix-ipc'"; # Converted to throw 2025-10-29
|
||||
|
||||
@@ -12453,8 +12453,6 @@ self: super: with self; {
|
||||
|
||||
ploomber-core = callPackage ../development/python-modules/ploomber-core { };
|
||||
|
||||
ploomber-extension = callPackage ../development/python-modules/ploomber-extension { };
|
||||
|
||||
plopp = callPackage ../development/python-modules/plopp { };
|
||||
|
||||
plotext = callPackage ../development/python-modules/plotext { };
|
||||
|
||||
Reference in New Issue
Block a user