Merge master into staging-nixos
This commit is contained in:
@@ -78,8 +78,8 @@ in
|
||||
copy_bin_and_libs ${pkgs.curl}/bin/curl
|
||||
copy_bin_and_libs ${pkgs.bashNonInteractive}/bin/bash
|
||||
copy_bin_and_libs ${pkgs.cryptsetup}/bin/cryptsetup
|
||||
copy_bin_and_libs ${pkgs.gnused}/bin/gnused
|
||||
copy_bin_and_libs ${pkgs.gnugrep}/bin/gnugrep
|
||||
copy_bin_and_libs ${pkgs.gnused}/bin/sed
|
||||
copy_bin_and_libs ${pkgs.gnugrep}/bin/grep
|
||||
|
||||
copy_bin_and_libs ${pkgs.tpm2-tools}/bin/.tpm2-wrapped
|
||||
mv $out/bin/{.tpm2-wrapped,tpm2}
|
||||
@@ -106,6 +106,7 @@ in
|
||||
systemd = {
|
||||
extraBin = lib.mkIf systemd.enable {
|
||||
clevis = "${cfg.package}/bin/clevis";
|
||||
curl = "${pkgs.curl}/bin/curl";
|
||||
};
|
||||
|
||||
storePaths = lib.mkIf systemd.enable [
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.11.12";
|
||||
version = "0.11.13";
|
||||
in
|
||||
python3Packages.buildPythonApplication {
|
||||
pname = "ablog";
|
||||
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication {
|
||||
owner = "sunpy";
|
||||
repo = "ablog";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-bPTaxkuIKeypfnZItG9cl51flHBIx/yg0qENuiqQgY4=";
|
||||
hash = "sha256-P1eSN3wqlPNYbYW3Rkz2Y6yFcC379dt/qK8aVNwZRSs=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
@@ -43,7 +43,6 @@ python3Packages.buildPythonApplication {
|
||||
|
||||
pytestFlags = [
|
||||
"--rootdir=src/ablog"
|
||||
"-Wignore::sphinx.deprecation.RemovedInSphinx90Warning" # Ignore ImportError
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
writeTextFile,
|
||||
|
||||
pkg-config,
|
||||
@@ -43,6 +44,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
./remove-default-commit-hash.patch
|
||||
./remove-vendored-libraries.patch
|
||||
./fix-avcodec-close.patch
|
||||
(fetchpatch {
|
||||
name = "CVE-2026-2245.patch";
|
||||
url = "https://github.com/CCExtractor/ccextractor/commit/fd7271bae238ccb3ae8a71304ea64f0886324925.patch";
|
||||
hash = "sha256-wZiJob5v4SVa5YBmiHuNvgphSi4PhTTb3hg4vs1lhVg=";
|
||||
})
|
||||
]
|
||||
++ finalAttrs.cargoDeps.vendorStaging.patches;
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 8b1db0c6724640ff995c24145a9777bd49da1ce4 Mon Sep 17 00:00:00 2001
|
||||
From: Marcin Serwin <marcin@serwin.dev>
|
||||
Date: Fri, 21 Nov 2025 19:11:48 +0100
|
||||
Subject: [PATCH] Fix SDL_SOUND_CFLAGS usage
|
||||
|
||||
The flags were quried but unused during compilation. Also, there was a
|
||||
typo in the else branch.
|
||||
|
||||
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
|
||||
---
|
||||
src/sdl/Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/sdl/Makefile b/src/sdl/Makefile
|
||||
index e21477e..84a2136 100644
|
||||
--- a/src/sdl/Makefile
|
||||
+++ b/src/sdl/Makefile
|
||||
@@ -22,7 +22,7 @@ SDL_CFLAGS += $(shell $(PKGCONF) $(SDL_PKGS) --cflags)
|
||||
SDL_SOUND_CFLAGS += $(shell $(PKGCONF) $(SDL_SOUND_PKGS) --cflags)
|
||||
else
|
||||
SDL_CFLAGS += $(SDL_CFLAGS_DEF)
|
||||
-SD_SOUND_CFLAGS += $(SDL_SOUND_CFLAGS_DEF)
|
||||
+SDL_SOUND_CFLAGS += $(SDL_SOUND_CFLAGS_DEF)
|
||||
endif
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ $(TARGET): $(DEFINES) $(OBJECTS) | $(DEFINES)
|
||||
@echo "** Done with SDL interface."
|
||||
|
||||
%.o: %.c
|
||||
- $(CC) $(CFLAGS) $(SDL_CFLAGS) -fPIC -fpic -o $@ -c $<
|
||||
+ $(CC) $(CFLAGS) $(SDL_CFLAGS) $(SDL_SOUND_CFLAGS) -fPIC -fpic -o $@ -c $<
|
||||
|
||||
$(DEFINES):
|
||||
@echo "** Generating $@"
|
||||
--
|
||||
2.51.2
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
libao,
|
||||
libmodplug,
|
||||
libsamplerate,
|
||||
@@ -11,28 +10,42 @@
|
||||
ncurses,
|
||||
which,
|
||||
pkg-config,
|
||||
SDL2,
|
||||
SDL2_mixer,
|
||||
zlib,
|
||||
libjpeg,
|
||||
libpng,
|
||||
freetype,
|
||||
frontend ? "ncurses",
|
||||
}:
|
||||
|
||||
assert lib.assertOneOf "frontend" frontend [
|
||||
"ncurses"
|
||||
"sdl"
|
||||
# NOTE: more options are present in the Makefile, e.g., x11, dumb, nosound, ...
|
||||
];
|
||||
let
|
||||
progName = if frontend == "ncurses" then "frotz" else "sfrotz";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "frotz";
|
||||
version = "2.54";
|
||||
pname = progName;
|
||||
version = "2.55";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.com";
|
||||
owner = "DavidGriffith";
|
||||
repo = "frotz";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-GvGxojD8d5GVy/d8h3q6K7KJroz2lsKbfE0F0acjBl8=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-XZjimskjupTtYdgfVaOS2QnQrDIBSwkJqxrffdjgZk0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/macports/macports-ports/raw/496e5b91e3b6c9dc6820d77ab60dbe400d1924ee/games/frotz/files/Makefile.patch";
|
||||
extraPrefix = "";
|
||||
hash = "sha256-P83ZzSi3bhncQ52Y38Q3F/7v1SJKr5614tytt862HRg=";
|
||||
})
|
||||
# https://gitlab.com/DavidGriffith/frotz/-/merge_requests/226
|
||||
./0001-Fix-SDL_SOUND_CFLAGS-usage.patch
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [
|
||||
which
|
||||
pkg-config
|
||||
@@ -43,16 +56,37 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libsamplerate
|
||||
libsndfile
|
||||
libvorbis
|
||||
ncurses
|
||||
];
|
||||
]
|
||||
++ (
|
||||
if frontend == "ncurses" then
|
||||
[ ncurses ]
|
||||
else
|
||||
[
|
||||
freetype
|
||||
libjpeg
|
||||
libpng
|
||||
SDL2
|
||||
SDL2_mixer
|
||||
zlib
|
||||
]
|
||||
);
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"HOMEBREW_PREFIX=/var/empty"
|
||||
];
|
||||
preConfigure = ''
|
||||
makeFlagsArray+=(CURSES_CONFIG="$PKG_CONFIG ncurses")
|
||||
'';
|
||||
|
||||
buildFlags = [ frontend ];
|
||||
installTargets = if frontend == "ncurses" then "install-frotz" else "install-${frontend}";
|
||||
|
||||
meta = {
|
||||
homepage = "https://davidgriffith.gitlab.io/frotz/";
|
||||
changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${finalAttrs.version}/NEWS";
|
||||
description = "Z-machine interpreter for Infocom games and other interactive fiction";
|
||||
mainProgram = "frotz";
|
||||
description = "Z-machine interpreter for Infocom games and other interactive fiction (${frontend})";
|
||||
mainProgram = progName;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
nicknovitski
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "hyprviz";
|
||||
version = "0.7.1";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "timasoft";
|
||||
repo = "hyprviz";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ar1O/Em9AcPPfbuT4xnyOwBX1IClJlFYfdPQbU/5vTk=";
|
||||
hash = "sha256-5w7+fkf2oB0x5N6xlKjSPbgsB7Ifr1NWW8qWDmGyFwU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-BICF6nZcn/7t5X4Dj18fPD2RpEz7U1Zytt9sfHe7Xnw=";
|
||||
cargoHash = "sha256-+8MKYruPjCTooiY7pxwz5oqIpk4ZidugPrVlMZ1yMI0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -21,6 +21,11 @@ python3Packages.buildPythonApplication rec {
|
||||
hash = "sha256-dZrZjzygT6Q7jIPkasYgJ2uN3eyPQXsg0opksookLYI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "typer-slim" "typer"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
python3Packages.uv-build
|
||||
];
|
||||
@@ -28,7 +33,7 @@ python3Packages.buildPythonApplication rec {
|
||||
dependencies =
|
||||
with python3Packages;
|
||||
[
|
||||
typer-slim
|
||||
typer
|
||||
]
|
||||
++ lib.optionals withPrecommit [ pre-commit ];
|
||||
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pdfmixtool";
|
||||
version = "1.2.1";
|
||||
version = "1.2.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "scarpetta";
|
||||
repo = "pdfmixtool";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-UuRTMLlUIyo2RF+XjI229kkE67ybmllIy98p97PjWCE=";
|
||||
hash = "sha256-+omL0WNU34BcWbsfK3FXfhp0DVWjm9Vb5OVjRCoT/IA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -14,13 +14,13 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "presenterm";
|
||||
version = "0.15.1";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mfontanini";
|
||||
repo = "presenterm";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-tkIw7qo7lq3rSaBG0m6HzlXt8l3dQVFSBm8P3v7adVk=";
|
||||
hash = "sha256-wQP3tLa6+GZAhNkAaIrbpIMBnQD7UoH6O5N/wDKtfrQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
@@ -35,20 +35,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
libsixel
|
||||
];
|
||||
|
||||
buildFeatures = [
|
||||
"sixel"
|
||||
];
|
||||
|
||||
cargoHash = "sha256-CLoN85A2fggTHs/AHmo43N+9Q4FGKwNmKObw+OMBFao=";
|
||||
cargoHash = "sha256-mDbzZZDsGCpbOKJ9/lX23VgSH0LGzHvYo2nxnRay15A=";
|
||||
|
||||
env = lib.optionalAttrs (isDarwin && isx86_64) {
|
||||
NIX_CFLAGS_LINK = "-fuse-ld=lld";
|
||||
};
|
||||
|
||||
checkFeatures = [
|
||||
"sixel"
|
||||
];
|
||||
|
||||
checkFlags = [
|
||||
# failed to load .tmpEeeeaQ: No such file or directory (os error 2)
|
||||
"--skip=external_snippet"
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "prow";
|
||||
version = "0-unstable-2026-02-06";
|
||||
rev = "85e3dda3b79520c15cd101b85b52ccf4f7e1f1e6";
|
||||
version = "0-unstable-2026-02-17";
|
||||
rev = "999e46ca7aee8a1561241b965222140ebc29120c";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "prow";
|
||||
hash = "sha256-1x0RKRYi7HruNJJwAhPQ+sIcKKwdyyI3cysBQvY2Z8Y=";
|
||||
hash = "sha256-EzP0Yd3cMstMhPGBD+3dUJE4NL0YnJTGip/tTDj/Rfw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Pv9LznRh7Nzm74gMKT2Q/VLIMIIc93en0qX6YA6TwK4=";
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "salt";
|
||||
version = "3007.11";
|
||||
version = "3007.12";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-EAkO0/1kKSXRkEXNH6mJHznUkQR0AsQ2ijtzCrwUCAU=";
|
||||
hash = "sha256-y7JG3aXOynH/5Uq9/mY4s6LjGWw2JPv7EgdSo9HYN5c=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -1,72 +1 @@
|
||||
{
|
||||
fetchFromGitLab,
|
||||
freetype,
|
||||
libao,
|
||||
libjpeg,
|
||||
libmodplug,
|
||||
libpng,
|
||||
libsamplerate,
|
||||
libsndfile,
|
||||
libvorbis,
|
||||
pkg-config,
|
||||
SDL2,
|
||||
SDL2_mixer,
|
||||
lib,
|
||||
stdenv,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sfrotz";
|
||||
version = "2.54";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.com";
|
||||
owner = "DavidGriffith";
|
||||
repo = "frotz";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-GvGxojD8d5GVy/d8h3q6K7KJroz2lsKbfE0F0acjBl8=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
freetype
|
||||
libao
|
||||
libjpeg
|
||||
libmodplug
|
||||
libpng
|
||||
libsamplerate
|
||||
libsndfile
|
||||
libvorbis
|
||||
SDL2
|
||||
SDL2_mixer
|
||||
zlib
|
||||
];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
buildPhase = "make sdl";
|
||||
installTargets = [ "install_sfrotz" ];
|
||||
|
||||
meta = {
|
||||
description = "Interpreter for Infocom and other Z-Machine games (SDL interface)";
|
||||
mainProgram = "sfrotz";
|
||||
longDescription = ''
|
||||
Frotz is a Z-Machine interpreter. The Z-machine is a virtual machine
|
||||
designed by Infocom to run all of their text adventures. It went through
|
||||
multiple revisions during the lifetime of the company, and two further
|
||||
revisions (V7 and V8) were created by Graham Nelson after the company's
|
||||
demise. The specification is now quite well documented; this version of
|
||||
Frotz supports version 1.0.
|
||||
|
||||
This version of Frotz fully supports all these versions of the Z-Machine
|
||||
including the graphical version 6. Graphics and sound are created through
|
||||
the use of the SDL libraries. AIFF sound effects and music in MOD and OGG
|
||||
formats are supported when packaged in Blorb container files or optionally
|
||||
from individual files.
|
||||
'';
|
||||
homepage = "https://davidgriffith.gitlab.io/frotz/";
|
||||
changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${finalAttrs.version}/NEWS";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ ddelabru ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
{ frotz }: frotz.override { frontend = "sdl"; }
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "sydbox";
|
||||
version = "3.48.7";
|
||||
version = "3.49.1";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -24,10 +24,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "Sydbox";
|
||||
repo = "sydbox";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oNA0/1X0av/pd7e6lxDWidNdc+nu7fIclNwkH85Vdag=";
|
||||
hash = "sha256-TFPN0KvzO+tNlt9EWEx7MC3DNC3+CzHJn2MfMWpwOp4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-U8Q1OGHfM4o7QYSh7e0yuB7RdIN02z21ZnHfCMfrL74=";
|
||||
cargoHash = "sha256-yrsJrZ4rDBYlapz/O+1l4h6MIAgZ0PpYm68OFfeHb8A=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
mandoc
|
||||
|
||||
@@ -1,16 +1,3 @@
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 9e69128d..8c53ac88 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -226,7 +226,7 @@ if is_64bit_system
|
||||
xcb_64bit_dep = dependency('xcb')
|
||||
endif
|
||||
if with_bitbridge
|
||||
- xcb_32bit_dep = winegcc.find_library('xcb')
|
||||
+ xcb_32bit_dep = winegcc.find_library('xcb', dirs: ['@libxcb32@/lib'])
|
||||
endif
|
||||
|
||||
# These are all headers-only libraries, and thus won't require separate 32-bit
|
||||
diff --git a/src/common/notifications.cpp b/src/common/notifications.cpp
|
||||
index 654b6c83..78ba2fe7 100644
|
||||
--- a/src/common/notifications.cpp
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
{
|
||||
lib,
|
||||
multiStdenv,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
replaceVars,
|
||||
pkgsi686Linux,
|
||||
dbus,
|
||||
meson,
|
||||
ninja,
|
||||
@@ -73,7 +72,7 @@ let
|
||||
hash = "sha256-LsPHPoAL21XOKmF1Wl/tvLJGzjaCLjaDAcUtDvXdXSU=";
|
||||
};
|
||||
in
|
||||
multiStdenv.mkDerivation (finalAttrs: {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "yabridge";
|
||||
version = "5.1.1";
|
||||
|
||||
@@ -105,7 +104,6 @@ multiStdenv.mkDerivation (finalAttrs: {
|
||||
# Hard code bitbridge & runtime dependencies
|
||||
(replaceVars ./hardcode-dependencies.patch {
|
||||
libdbus = dbus.lib;
|
||||
libxcb32 = pkgsi686Linux.libxcb;
|
||||
inherit wine;
|
||||
})
|
||||
|
||||
@@ -140,7 +138,7 @@ multiStdenv.mkDerivation (finalAttrs: {
|
||||
mesonFlags = [
|
||||
"--cross-file"
|
||||
"cross-wine.conf"
|
||||
"-Dbitbridge=true"
|
||||
"-Dbitbridge=false"
|
||||
|
||||
# Requires CMake and is unnecessary
|
||||
"-Dtomlplusplus:generate_cmake_config=false"
|
||||
@@ -149,7 +147,7 @@ multiStdenv.mkDerivation (finalAttrs: {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/bin" "$out/lib"
|
||||
cp yabridge-host{,-32}.exe{,.so} "$out/bin"
|
||||
cp yabridge-host.exe{,.so} "$out/bin"
|
||||
cp libyabridge{,-chainloader}-{vst2,vst3,clap}.so "$out/lib"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@@ -26,12 +26,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "yarg";
|
||||
version = "0.13.2";
|
||||
version = "0.14.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/YARC-Official/YARG/releases/download/v${finalAttrs.version}/YARG_v${finalAttrs.version}-Linux-x86_64.zip";
|
||||
stripRoot = false;
|
||||
hash = "sha256-TcX4O0TDesuBMbUH8Lp6wLM8A5xzXH9Pl7vCMEIhQvE=";
|
||||
hash = "sha256-l83tnEO9hHFiaks7D/y9D1HJKihU7+cvsvkbIKkNeuk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "zrepl";
|
||||
version = "0.6.1";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zrepl";
|
||||
repo = "zrepl";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-sFSWcJ0aBMay+ngUqnr0PKBMOfCcKHgBjff6KRpPZrg=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-D2ADK1mX6Aq0I2fBeNLZeJ0GdxWxi2ApiZqT4b72yf4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-75fGejR7eiECsm1j3yIU1lAWaW9GrorrVnv8JEzkAtU=";
|
||||
vendorHash = "sha256-yu/bKkcWhHJSQPU2F4C58RC7geVTVEcXHlV0DRn/sUs=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
@@ -46,6 +46,7 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://zrepl.github.io/";
|
||||
changelog = "https://github.com/zrepl/zrepl/releases/tag/${finalAttrs.src.tag}";
|
||||
description = "One-stop, integrated solution for ZFS replication";
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
stdenv,
|
||||
fetchurl,
|
||||
unzip,
|
||||
bintools,
|
||||
versionCheckHook,
|
||||
runCommand,
|
||||
cctools,
|
||||
@@ -48,7 +47,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
cp -R . $out
|
||||
''
|
||||
+ lib.optionalString (stdenv.hostPlatform.isLinux) ''
|
||||
find $out/bin -executable -type f -exec patchelf --set-interpreter ${bintools.dynamicLinker} {} \;
|
||||
find $out/bin -type f -executable | while read f; do
|
||||
if patchelf --print-interpreter "$f" >/dev/null 2>&1; then
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${lib.makeLibraryPath [ (lib.getLib stdenv.cc.cc) ]}" "$f"
|
||||
fi
|
||||
done
|
||||
''
|
||||
+ ''
|
||||
runHook postInstall
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
index b041a075..27dc22ed 100644
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -430,6 +430,10 @@ config("compiler") {
|
||||
}
|
||||
}
|
||||
|
||||
+ cflags_c += string_split(getenv("CFLAGS"), " ")
|
||||
+ cflags_cc += string_split(getenv("CXXFLAGS"), " ")
|
||||
+ ldflags += string_split(getenv("LDFLAGS"), " ")
|
||||
+
|
||||
# Assign any flags set for the C compiler to asmflags so that they are sent
|
||||
# to the assembler. The Windows assembler takes different types of flags
|
||||
# so only do so for posix platforms.
|
||||
@@ -0,0 +1,261 @@
|
||||
{
|
||||
bintools,
|
||||
buildPackages,
|
||||
callPackage,
|
||||
cacert,
|
||||
curlMinimal,
|
||||
dart,
|
||||
debug ? false,
|
||||
fetchurl,
|
||||
gn,
|
||||
gitMinimal,
|
||||
gitSetupHook,
|
||||
icu,
|
||||
jq,
|
||||
lib,
|
||||
nix-update,
|
||||
pax-utils,
|
||||
pkg-config,
|
||||
python312,
|
||||
ripgrep,
|
||||
runCommand,
|
||||
samurai,
|
||||
stdenv,
|
||||
versionCheckHook,
|
||||
writeShellScript,
|
||||
writeText,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.11.0";
|
||||
|
||||
tools = callPackage ../../flutter/engine/tools.nix { inherit (stdenv) hostPlatform buildPlatform; };
|
||||
|
||||
getArchInfo =
|
||||
platform:
|
||||
let
|
||||
arch = if platform.isx86_64 then "x64" else platform.linuxArch;
|
||||
in
|
||||
{
|
||||
inherit arch;
|
||||
outSuffix = lib.strings.toUpper arch;
|
||||
};
|
||||
|
||||
targetArchInfo = getArchInfo stdenv.hostPlatform;
|
||||
|
||||
buildArchInfo = getArchInfo stdenv.buildPlatform;
|
||||
|
||||
python3 = python312.withPackages (
|
||||
ps: with ps; [
|
||||
httplib2
|
||||
six
|
||||
]
|
||||
);
|
||||
|
||||
src =
|
||||
runCommand "dart-source-deps"
|
||||
{
|
||||
pname = "dart-source-deps";
|
||||
inherit version;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cacert
|
||||
curlMinimal
|
||||
gitMinimal
|
||||
pax-utils
|
||||
python3
|
||||
tools.cipd
|
||||
];
|
||||
|
||||
env = {
|
||||
NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
DEPOT_TOOLS_UPDATE = "0";
|
||||
DEPOT_TOOLS_COLLECT_METRICS = "0";
|
||||
PYTHONDONTWRITEBYTECODE = "1";
|
||||
CIPD_HTTP_USER_AGENT = "standard-nix-build";
|
||||
};
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-7y6kNpjWpc8+4Rhv+GuMnV5xHCQ5om2/3woZOJ8wYSc=";
|
||||
}
|
||||
''
|
||||
mkdir source
|
||||
cd source
|
||||
source ${../../../../build-support/fetchgit/deterministic-git}
|
||||
export -f clean_git
|
||||
export -f make_deterministic_repo
|
||||
cp ${writeText ".gclient" ''
|
||||
solutions = [{
|
||||
'name': 'sdk',
|
||||
'url': 'https://dart.googlesource.com/sdk.git@${version}',
|
||||
}]
|
||||
target_os = ['linux']
|
||||
target_cpu = ['x64', 'arm64', 'riscv64']
|
||||
target_cpu_only = True
|
||||
''} .gclient
|
||||
export PATH=${python3}/bin:$PATH:${tools.depot_tools}
|
||||
python3 ${tools.depot_tools}/gclient.py sync --no-history --nohooks --noprehooks
|
||||
find sdk -name ".versions" -type d -exec rm -rf {} +
|
||||
rm --recursive --force sdk/buildtools/sysroot
|
||||
rm --recursive --force sdk/buildtools/linux-arm64
|
||||
rm --recursive --force sdk/buildtools/reclient
|
||||
rm --recursive --force sdk/buildtools/*/clang
|
||||
find sdk -type f \( -name "*.snapshot" -o -name "*.dill" -o -name "*.sym" \) -delete
|
||||
rm --recursive --force sdk/tools/sdks/dart-sdk
|
||||
find . -type l ! -exec test -e {} \; -delete
|
||||
find . -name "ChangeLog*" -delete
|
||||
rm --force .gclient .gclient_entries .gclient_previous_sync_commits .last_sync_hashes
|
||||
rm --recursive --force .cipd .cipd_cache
|
||||
find . -name ".git" -type d -prune -exec rm --recursive --force {} +
|
||||
find . -name ".git*" -exec rm --recursive --force {} +
|
||||
find . \( \
|
||||
-name ".build-id" -o \
|
||||
-name ".svn" -o \
|
||||
-name "*~" -o \
|
||||
-name "#*#" \
|
||||
\) -exec rm --recursive --force {} +
|
||||
for elf in $(scanelf --recursive --all --format "%F" sdk | sort); do
|
||||
rm --force "$elf"
|
||||
done
|
||||
find . -name "__pycache__" -type d -exec rm --recursive --force {} +
|
||||
find . -name "*.pyc" -delete
|
||||
cp --recursive sdk $out
|
||||
'';
|
||||
in
|
||||
dart.overrideAttrs (oldAttrs: {
|
||||
inherit version src;
|
||||
|
||||
nativeBuildInputs = [
|
||||
gitMinimal
|
||||
gitSetupHook
|
||||
python312
|
||||
ripgrep
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
|
||||
icu
|
||||
zlib
|
||||
];
|
||||
|
||||
patches = [
|
||||
./gcc13.patch
|
||||
./zlib-not-found.patch
|
||||
./custom-flags.patch
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
|
||||
./unbundle.patch
|
||||
./unbundle-icu.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed --in-place 's/"-fsanitize=memory"//g' build/config/compiler/BUILD.gn
|
||||
patchShebangs runtime/tools/
|
||||
sed --in-place 's/ldflags = pkgresult\[4\]/ldflags = []/' build/config/linux/pkg_config.gni
|
||||
cp ${
|
||||
fetchurl {
|
||||
url = "https://raw.githubusercontent.com/chromium/chromium/631a813125b886a52274653144019fd1681a0e97/build/config/linux/pkg-config.py";
|
||||
hash = "sha256-9coRpgCewlkFXSGrMVkudaZUll0IFc9jDRBP+2PloOI=";
|
||||
}
|
||||
} build/config/linux/pkg-config.py
|
||||
''
|
||||
+ lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||
sed --in-place "s/default='pkg-config'/default='${stdenv.cc.targetPrefix}pkg-config'/g" build/config/linux/pkg-config.py
|
||||
mkdir --parents .bin-tools
|
||||
ln --symbolic $(command -v ${buildPackages.stdenv.cc.targetPrefix}g++) .bin-tools/${stdenv.buildPlatform.parsed.cpu.name}-linux-gnu-g++
|
||||
ln --symbolic $(command -v ${buildPackages.stdenv.cc.targetPrefix}gcc) .bin-tools/${stdenv.buildPlatform.parsed.cpu.name}-linux-gnu-gcc
|
||||
ln --symbolic $(command -v ${buildPackages.stdenv.cc.targetPrefix}ar) .bin-tools/${stdenv.buildPlatform.parsed.cpu.name}-linux-gnu-ar
|
||||
export PATH=$PWD/.bin-tools:$PATH
|
||||
''
|
||||
+ ''
|
||||
ln --symbolic ${buildPackages.dart} tools/sdks/dart-sdk
|
||||
ln --symbolic --force ${lib.getExe buildPackages.gn} buildtools/gn
|
||||
mkdir --parents buildtools/ninja
|
||||
ln --symbolic --force ${lib.getExe buildPackages.samurai} buildtools/ninja/ninja
|
||||
python3 tools/generate_package_config.py
|
||||
python3 tools/generate_sdk_version_file.py
|
||||
echo "" > tools/bots/dartdoc_footer.html
|
||||
rm third_party/devtools/web/devtools_analytics.js
|
||||
JOBS_COUNT=''${NIX_BUILD_CORES:-2}
|
||||
rg --no-ignore -l 'google-analytics\.com' . \
|
||||
| rg -v "\.map\$" \
|
||||
| xargs --no-run-if-empty -t -n 1 -P "$JOBS_COUNT" \
|
||||
sed --in-place --regexp-extended 's|([^/]+\.)?google-analytics\.com|0\.0\.0\.0|g'
|
||||
rg --no-ignore -l 'UA-[0-9]+-[0-9]+' . \
|
||||
| xargs --no-run-if-empty -t -n 1 -P "$JOBS_COUNT" \
|
||||
sed --in-place --regexp-extended 's|UA-[0-9]+-[0-9]+|UA-2137-0|g'
|
||||
''
|
||||
+ lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
|
||||
for _lib in icu zlib; do
|
||||
find . -type f -path "*third_party/$_lib/*" \
|
||||
\! -path "*third_party/$_lib/chromium/*" \
|
||||
\! -path "*third_party/$_lib/google/*" \
|
||||
\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
|
||||
-delete
|
||||
done
|
||||
python3 build/linux/unbundle/replace_gn_files.py --system-libraries icu zlib
|
||||
''
|
||||
+ ''
|
||||
git init
|
||||
git add .
|
||||
git commit --message="stub" --quiet
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
python3 ./tools/build.py \
|
||||
--no-clang \
|
||||
--mode=${if debug then "debug" else "release"} \
|
||||
--arch=${targetArchInfo.arch} \
|
||||
--gn-args="${targetArchInfo.arch}_toolchain_prefix=\"${stdenv.cc}/bin/${stdenv.cc.targetPrefix}\"" \
|
||||
''
|
||||
+ lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||
--gn-args="dart_target_arch=\"${targetArchInfo.arch}\"" \
|
||||
--gn-args="dart_host_arch=\"${buildArchInfo.arch}\"" \
|
||||
--gn-args="${buildArchInfo.arch}_toolchain_prefix=\"${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}\"" \
|
||||
--gn-args="host_cpu=\"${buildArchInfo.arch}\"" \
|
||||
--gn-args="dart_force_runtime_snapshot_deps=true" \
|
||||
--gn-args="host_toolchain_prefix=\"${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}\"" \
|
||||
--gn-args="target_cpu=\"${targetArchInfo.arch}\"" \
|
||||
''
|
||||
+ lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
|
||||
--gn-args="dart_embed_icu_data=false dart_snapshot_kind=\"app-jit\"" \
|
||||
''
|
||||
+ ''
|
||||
--gn-args="dart_sysroot=\"\"" \
|
||||
--no-verify-sdk-hash \
|
||||
create_sdk runtime
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
pushd out/${if debug then "Debug" else "Release"}${
|
||||
if (stdenv.hostPlatform == stdenv.buildPlatform) then targetArchInfo.outSuffix else "*"
|
||||
}/dart-sdk
|
||||
rm LICENSE README revision
|
||||
cp --recursive . $out
|
||||
popd
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = writeShellScript "update-dart" ''
|
||||
${lib.getExe nix-update} --version=$(${lib.getExe curlMinimal} --fail --location --silent https://storage.googleapis.com/dart-archive/channels/stable/release/latest/VERSION | ${lib.getExe jq} --raw-output .version)
|
||||
'';
|
||||
|
||||
meta = oldAttrs.meta // {
|
||||
platforms = [
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
sourceProvenance = [ lib.sourceTypes.fromSource ];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,20 @@
|
||||
--- a/runtime/bin/ffi_test/ffi_test_functions_generated.cc
|
||||
+++ b/runtime/bin/ffi_test/ffi_test_functions_generated.cc
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <cmath>
|
||||
+#include <cstdint>
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
|
||||
--- a/runtime/bin/ffi_test/ffi_test_functions.cc
|
||||
+++ b/runtime/bin/ffi_test/ffi_test_functions.cc
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <cmath>
|
||||
+#include <cstdint>
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
From 0d936b3e64e1e629bd29fa4dd84240f5c5344092 Mon Sep 17 00:00:00 2001
|
||||
From: LN Liberda <lauren@selfisekai.rocks>
|
||||
Date: Tue, 26 Nov 2024 19:28:59 +0100
|
||||
Subject: [PATCH] build: option to not embed icu data
|
||||
|
||||
Bug: none
|
||||
---
|
||||
runtime/bin/BUILD.gn | 11 ++++++++---
|
||||
runtime/runtime_args.gni | 3 +++
|
||||
2 files changed, 11 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn
|
||||
index 90dc09a0c02..8f88873dc18 100644
|
||||
--- a/runtime/bin/BUILD.gn
|
||||
+++ b/runtime/bin/BUILD.gn
|
||||
@@ -795,7 +795,6 @@ template("dart_executable") {
|
||||
}
|
||||
deps = [
|
||||
":crashpad",
|
||||
- ":icudtl_cc",
|
||||
"//third_party/boringssl",
|
||||
"//third_party/icu:icui18n",
|
||||
"//third_party/icu:icuuc",
|
||||
@@ -804,7 +803,11 @@ template("dart_executable") {
|
||||
if (is_fuchsia) {
|
||||
deps += [ "$fuchsia_sdk/pkg/fdio" ]
|
||||
}
|
||||
- defines = [ "DART_EMBED_ICU_DATA" ] + extra_defines
|
||||
+ defines = extra_defines
|
||||
+ if (dart_embed_icu_data) {
|
||||
+ defines += [ "DART_EMBED_ICU_DATA" ]
|
||||
+ deps += [ ":icudtl_cc" ]
|
||||
+ }
|
||||
if (exclude_kernel_service) {
|
||||
defines += [ "EXCLUDE_CFE_AND_KERNEL_PLATFORM" ]
|
||||
}
|
||||
@@ -1004,10 +1004,12 @@
|
||||
"..:add_empty_macho_section_config",
|
||||
]
|
||||
extra_deps = [
|
||||
- ":icudtl_cc",
|
||||
"..:libdart_aotruntime",
|
||||
"../platform:libdart_platform_aotruntime",
|
||||
]
|
||||
+ if (dart_embed_icu_data) {
|
||||
+ extra_deps += [":icudtl_cc"]
|
||||
+ }
|
||||
extra_sources = [
|
||||
"builtin.cc",
|
||||
"gzip.cc",
|
||||
diff --git a/runtime/runtime_args.gni b/runtime/runtime_args.gni
|
||||
index fbcfeb157fb..061e8f74a5c 100644
|
||||
--- a/runtime/runtime_args.gni
|
||||
+++ b/runtime/runtime_args.gni
|
||||
@@ -77,6 +77,9 @@ declare_args() {
|
||||
|
||||
# Whether to support dynamic loading and interpretation of Dart bytecode.
|
||||
dart_dynamic_modules = false
|
||||
+
|
||||
+ # Whether to embed ICU data inside the runtime binary.
|
||||
+ dart_embed_icu_data = true
|
||||
}
|
||||
|
||||
declare_args() {
|
||||
@@ -0,0 +1,439 @@
|
||||
diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn
|
||||
new file mode 100644
|
||||
index 00000000000..9e54d4efe4e
|
||||
--- /dev/null
|
||||
+++ b/build/linux/unbundle/icu.gn
|
||||
@@ -0,0 +1,262 @@
|
||||
+# Copyright 2016 The Chromium Authors
|
||||
+# Use of this source code is governed by a BSD-style license that can be
|
||||
+# found in the LICENSE file.
|
||||
+
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
+import("//build/shim_headers.gni")
|
||||
+
|
||||
+group("icu") {
|
||||
+ public_deps = [
|
||||
+ ":icui18n",
|
||||
+ ":icuuc",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+config("icu_config") {
|
||||
+ defines = [
|
||||
+ "USING_SYSTEM_ICU=1",
|
||||
+ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",
|
||||
+
|
||||
+ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility
|
||||
+ # on classes through the U_COMMON_API and U_I18N_API macros (among others).
|
||||
+ # When linking against the system ICU library, we want its symbols to have
|
||||
+ # public LTO visibility. This disables CFI checks for the ICU classes and
|
||||
+ # allows whole-program optimization to be applied to the rest of Chromium.
|
||||
+ #
|
||||
+ # Both U_COMMON_API and U_I18N_API macros would be defined to U_EXPORT only
|
||||
+ # when U_COMBINED_IMPLEMENTATION is defined (see unicode/utypes.h). Because
|
||||
+ # we override the default system UCHAR_TYPE (char16_t), it is not possible
|
||||
+ # to use U_COMBINED_IMPLEMENTATION at this moment, meaning the U_COMMON_API
|
||||
+ # and U_I18N_API macros are set to U_IMPORT which is an empty definition.
|
||||
+ #
|
||||
+ # Until building with UCHAR_TYPE=char16_t is supported, one way to apply
|
||||
+ # public visibility (and thus public LTO visibility) to all ICU classes is
|
||||
+ # to define U_IMPORT to have the same value as U_EXPORT. For more details,
|
||||
+ # please see: https://crbug.com/822820
|
||||
+ "U_IMPORT=U_EXPORT",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+pkg_config("system_icui18n") {
|
||||
+ packages = [ "icu-i18n" ]
|
||||
+}
|
||||
+
|
||||
+pkg_config("system_icuuc") {
|
||||
+ packages = [ "icu-uc" ]
|
||||
+}
|
||||
+
|
||||
+source_set("icui18n") {
|
||||
+ public_deps = [ ":icui18n_shim" ]
|
||||
+ public_configs = [
|
||||
+ ":icu_config",
|
||||
+ ":system_icui18n",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+source_set("icuuc") {
|
||||
+ public_deps = [ ":icuuc_shim" ]
|
||||
+ public_configs = [
|
||||
+ ":icu_config",
|
||||
+ ":system_icuuc",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+group("icui18n_hidden_visibility") {
|
||||
+ public_deps = [ ":icui18n" ]
|
||||
+}
|
||||
+
|
||||
+group("icuuc_hidden_visibility") {
|
||||
+ public_deps = [ ":icuuc" ]
|
||||
+}
|
||||
+
|
||||
+shim_headers("icui18n_shim") {
|
||||
+ root_path = "source/i18n"
|
||||
+ headers = [
|
||||
+ # This list can easily be updated using the commands below:
|
||||
+ # cd third_party/icu/source/i18n
|
||||
+ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u
|
||||
+ "unicode/alphaindex.h",
|
||||
+ "unicode/basictz.h",
|
||||
+ "unicode/calendar.h",
|
||||
+ "unicode/choicfmt.h",
|
||||
+ "unicode/coleitr.h",
|
||||
+ "unicode/coll.h",
|
||||
+ "unicode/compactdecimalformat.h",
|
||||
+ "unicode/curramt.h",
|
||||
+ "unicode/currpinf.h",
|
||||
+ "unicode/currunit.h",
|
||||
+ "unicode/datefmt.h",
|
||||
+ "unicode/dcfmtsym.h",
|
||||
+ "unicode/decimfmt.h",
|
||||
+ "unicode/dtfmtsym.h",
|
||||
+ "unicode/dtitvfmt.h",
|
||||
+ "unicode/dtitvinf.h",
|
||||
+ "unicode/dtptngen.h",
|
||||
+ "unicode/dtrule.h",
|
||||
+ "unicode/fieldpos.h",
|
||||
+ "unicode/fmtable.h",
|
||||
+ "unicode/format.h",
|
||||
+ "unicode/fpositer.h",
|
||||
+ "unicode/gender.h",
|
||||
+ "unicode/gregocal.h",
|
||||
+ "unicode/listformatter.h",
|
||||
+ "unicode/measfmt.h",
|
||||
+ "unicode/measunit.h",
|
||||
+ "unicode/measure.h",
|
||||
+ "unicode/msgfmt.h",
|
||||
+ "unicode/numfmt.h",
|
||||
+ "unicode/numsys.h",
|
||||
+ "unicode/plurfmt.h",
|
||||
+ "unicode/plurrule.h",
|
||||
+ "unicode/rbnf.h",
|
||||
+ "unicode/rbtz.h",
|
||||
+ "unicode/regex.h",
|
||||
+ "unicode/region.h",
|
||||
+ "unicode/reldatefmt.h",
|
||||
+ "unicode/scientificnumberformatter.h",
|
||||
+ "unicode/search.h",
|
||||
+ "unicode/selfmt.h",
|
||||
+ "unicode/simpletz.h",
|
||||
+ "unicode/smpdtfmt.h",
|
||||
+ "unicode/sortkey.h",
|
||||
+ "unicode/stsearch.h",
|
||||
+ "unicode/tblcoll.h",
|
||||
+ "unicode/timezone.h",
|
||||
+ "unicode/tmunit.h",
|
||||
+ "unicode/tmutamt.h",
|
||||
+ "unicode/tmutfmt.h",
|
||||
+ "unicode/translit.h",
|
||||
+ "unicode/tzfmt.h",
|
||||
+ "unicode/tznames.h",
|
||||
+ "unicode/tzrule.h",
|
||||
+ "unicode/tztrans.h",
|
||||
+ "unicode/ucal.h",
|
||||
+ "unicode/ucol.h",
|
||||
+ "unicode/ucoleitr.h",
|
||||
+ "unicode/ucsdet.h",
|
||||
+ "unicode/udat.h",
|
||||
+ "unicode/udateintervalformat.h",
|
||||
+ "unicode/udatpg.h",
|
||||
+ "unicode/ufieldpositer.h",
|
||||
+ "unicode/uformattable.h",
|
||||
+ "unicode/ugender.h",
|
||||
+ "unicode/ulocdata.h",
|
||||
+ "unicode/umsg.h",
|
||||
+ "unicode/unirepl.h",
|
||||
+ "unicode/unum.h",
|
||||
+ "unicode/unumsys.h",
|
||||
+ "unicode/upluralrules.h",
|
||||
+ "unicode/uregex.h",
|
||||
+ "unicode/uregion.h",
|
||||
+ "unicode/ureldatefmt.h",
|
||||
+ "unicode/usearch.h",
|
||||
+ "unicode/uspoof.h",
|
||||
+ "unicode/utmscale.h",
|
||||
+ "unicode/utrans.h",
|
||||
+ "unicode/vtzone.h",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+shim_headers("icuuc_shim") {
|
||||
+ root_path = "source/common"
|
||||
+ headers = [
|
||||
+ # This list can easily be updated using the commands below:
|
||||
+ # cd third_party/icu/source/common
|
||||
+ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u
|
||||
+ "unicode/appendable.h",
|
||||
+ "unicode/brkiter.h",
|
||||
+ "unicode/bytestream.h",
|
||||
+ "unicode/bytestrie.h",
|
||||
+ "unicode/bytestriebuilder.h",
|
||||
+ "unicode/caniter.h",
|
||||
+ "unicode/casemap.h",
|
||||
+ "unicode/char16ptr.h",
|
||||
+ "unicode/chariter.h",
|
||||
+ "unicode/dbbi.h",
|
||||
+ "unicode/docmain.h",
|
||||
+ "unicode/dtintrv.h",
|
||||
+ "unicode/edits.h",
|
||||
+ "unicode/enumset.h",
|
||||
+ "unicode/errorcode.h",
|
||||
+ "unicode/filteredbrk.h",
|
||||
+ "unicode/icudataver.h",
|
||||
+ "unicode/icuplug.h",
|
||||
+ "unicode/idna.h",
|
||||
+ "unicode/localematcher.h",
|
||||
+ "unicode/localpointer.h",
|
||||
+ "unicode/locdspnm.h",
|
||||
+ "unicode/locid.h",
|
||||
+ "unicode/messagepattern.h",
|
||||
+ "unicode/normalizer2.h",
|
||||
+ "unicode/normlzr.h",
|
||||
+ "unicode/parseerr.h",
|
||||
+ "unicode/parsepos.h",
|
||||
+ "unicode/platform.h",
|
||||
+ "unicode/ptypes.h",
|
||||
+ "unicode/putil.h",
|
||||
+ "unicode/rbbi.h",
|
||||
+ "unicode/rep.h",
|
||||
+ "unicode/resbund.h",
|
||||
+ "unicode/schriter.h",
|
||||
+ "unicode/simpleformatter.h",
|
||||
+ "unicode/std_string.h",
|
||||
+ "unicode/strenum.h",
|
||||
+ "unicode/stringpiece.h",
|
||||
+ "unicode/stringtriebuilder.h",
|
||||
+ "unicode/symtable.h",
|
||||
+ "unicode/ubidi.h",
|
||||
+ "unicode/ubiditransform.h",
|
||||
+ "unicode/ubrk.h",
|
||||
+ "unicode/ucasemap.h",
|
||||
+ "unicode/ucat.h",
|
||||
+ "unicode/uchar.h",
|
||||
+ "unicode/ucharstrie.h",
|
||||
+ "unicode/ucharstriebuilder.h",
|
||||
+ "unicode/uchriter.h",
|
||||
+ "unicode/uclean.h",
|
||||
+ "unicode/ucnv.h",
|
||||
+ "unicode/ucnv_cb.h",
|
||||
+ "unicode/ucnv_err.h",
|
||||
+ "unicode/ucnvsel.h",
|
||||
+ "unicode/uconfig.h",
|
||||
+ "unicode/ucurr.h",
|
||||
+ "unicode/udata.h",
|
||||
+ "unicode/udisplaycontext.h",
|
||||
+ "unicode/uenum.h",
|
||||
+ "unicode/uidna.h",
|
||||
+ "unicode/uiter.h",
|
||||
+ "unicode/uldnames.h",
|
||||
+ "unicode/ulistformatter.h",
|
||||
+ "unicode/uloc.h",
|
||||
+ "unicode/umachine.h",
|
||||
+ "unicode/umisc.h",
|
||||
+ "unicode/unifilt.h",
|
||||
+ "unicode/unifunct.h",
|
||||
+ "unicode/unimatch.h",
|
||||
+ "unicode/uniset.h",
|
||||
+ "unicode/unistr.h",
|
||||
+ "unicode/unorm.h",
|
||||
+ "unicode/unorm2.h",
|
||||
+ "unicode/uobject.h",
|
||||
+ "unicode/urename.h",
|
||||
+ "unicode/urep.h",
|
||||
+ "unicode/ures.h",
|
||||
+ "unicode/uscript.h",
|
||||
+ "unicode/uset.h",
|
||||
+ "unicode/usetiter.h",
|
||||
+ "unicode/ushape.h",
|
||||
+ "unicode/usprep.h",
|
||||
+ "unicode/ustring.h",
|
||||
+ "unicode/ustringtrie.h",
|
||||
+ "unicode/utext.h",
|
||||
+ "unicode/utf.h",
|
||||
+ "unicode/utf16.h",
|
||||
+ "unicode/utf32.h",
|
||||
+ "unicode/utf8.h",
|
||||
+ "unicode/utf_old.h",
|
||||
+ "unicode/utrace.h",
|
||||
+ "unicode/utypes.h",
|
||||
+ "unicode/uvernum.h",
|
||||
+ "unicode/uversion.h",
|
||||
+ ]
|
||||
+}
|
||||
diff --git a/build/linux/unbundle/replace_gn_files.py b/build/linux/unbundle/replace_gn_files.py
|
||||
new file mode 100755
|
||||
index 00000000000..1aed7bca99d
|
||||
--- /dev/null
|
||||
+++ b/build/linux/unbundle/replace_gn_files.py
|
||||
@@ -0,0 +1,65 @@
|
||||
+#!/usr/bin/env python3
|
||||
+# Copyright 2016 The Chromium Authors
|
||||
+# Use of this source code is governed by a BSD-style license that can be
|
||||
+# found in the LICENSE file.
|
||||
+
|
||||
+"""
|
||||
+Replaces GN files in tree with files from here that
|
||||
+make the build use system libraries.
|
||||
+"""
|
||||
+
|
||||
+import argparse
|
||||
+import os
|
||||
+import shutil
|
||||
+import sys
|
||||
+
|
||||
+
|
||||
+REPLACEMENTS = {
|
||||
+ 'icu': 'third_party/icu/BUILD.gn',
|
||||
+ 'protobuf': 'build/secondary/third_party/protobuf/BUILD.gn',
|
||||
+ 'zlib': 'third_party/zlib/BUILD.gn',
|
||||
+}
|
||||
+
|
||||
+
|
||||
+def DoMain(argv):
|
||||
+ my_dirname = os.path.dirname(__file__)
|
||||
+ source_tree_root = os.path.abspath(
|
||||
+ os.path.join(my_dirname, '..', '..', '..'))
|
||||
+
|
||||
+ parser = argparse.ArgumentParser()
|
||||
+ parser.add_argument('--system-libraries', nargs='*', default=[])
|
||||
+ parser.add_argument('--undo', action='store_true')
|
||||
+
|
||||
+ args = parser.parse_args(argv)
|
||||
+
|
||||
+ handled_libraries = set()
|
||||
+ for lib, path in REPLACEMENTS.items():
|
||||
+ if lib not in args.system_libraries:
|
||||
+ continue
|
||||
+ handled_libraries.add(lib)
|
||||
+
|
||||
+ if args.undo:
|
||||
+ # Restore original file, and also remove the backup.
|
||||
+ # This is meant to restore the source tree to its original state.
|
||||
+ os.rename(os.path.join(source_tree_root, path + '.orig'),
|
||||
+ os.path.join(source_tree_root, path))
|
||||
+ else:
|
||||
+ # Create a backup copy for --undo.
|
||||
+ shutil.copyfile(os.path.join(source_tree_root, path),
|
||||
+ os.path.join(source_tree_root, path + '.orig'))
|
||||
+
|
||||
+ # Copy the GN file from directory of this script to target path.
|
||||
+ shutil.copyfile(os.path.join(my_dirname, '%s.gn' % lib),
|
||||
+ os.path.join(source_tree_root, path))
|
||||
+
|
||||
+ unhandled_libraries = set(args.system_libraries) - handled_libraries
|
||||
+ if unhandled_libraries:
|
||||
+ print('Unrecognized system libraries requested: %s' % ', '.join(
|
||||
+ sorted(unhandled_libraries)), file=sys.stderr)
|
||||
+ return 1
|
||||
+
|
||||
+ return 0
|
||||
+
|
||||
+
|
||||
+if __name__ == '__main__':
|
||||
+ sys.exit(DoMain(sys.argv[1:]))
|
||||
diff --git a/build/linux/unbundle/zlib.gn b/build/linux/unbundle/zlib.gn
|
||||
new file mode 100644
|
||||
index 00000000000..fa2bbffd25f
|
||||
--- /dev/null
|
||||
+++ b/build/linux/unbundle/zlib.gn
|
||||
@@ -0,0 +1,63 @@
|
||||
+# Copyright 2016 The Chromium Authors
|
||||
+# Use of this source code is governed by a BSD-style license that can be
|
||||
+# found in the LICENSE file.
|
||||
+
|
||||
+import("//build/shim_headers.gni")
|
||||
+
|
||||
+shim_headers("zlib_shim") {
|
||||
+ root_path = "."
|
||||
+ headers = [ "zlib.h" ]
|
||||
+ additional_includes = [ "third_party" ]
|
||||
+
|
||||
+}
|
||||
+
|
||||
+config("system_zlib") {
|
||||
+ defines = [ "USE_SYSTEM_ZLIB=1" ]
|
||||
+}
|
||||
+
|
||||
+config("zlib_config") {
|
||||
+ configs = [ ":system_zlib" ]
|
||||
+}
|
||||
+
|
||||
+source_set("zlib") {
|
||||
+ public_deps = [ ":zlib_shim" ]
|
||||
+ libs = [ "z" ]
|
||||
+ public_configs = [ ":system_zlib" ]
|
||||
+}
|
||||
+
|
||||
+shim_headers("minizip_shim") {
|
||||
+ root_path = "contrib"
|
||||
+ headers = [
|
||||
+ "minizip/crypt.h",
|
||||
+ "minizip/ioapi.h",
|
||||
+ "minizip/iowin32.h",
|
||||
+ "minizip/mztools.h",
|
||||
+ "minizip/unzip.h",
|
||||
+ "minizip/zip.h",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+source_set("minizip") {
|
||||
+ deps = [ ":minizip_shim" ]
|
||||
+ libs = [ "minizip" ]
|
||||
+}
|
||||
+
|
||||
+static_library("zip") {
|
||||
+ sources = [
|
||||
+ "google/zip.cc",
|
||||
+ "google/zip.h",
|
||||
+ "google/zip_internal.cc",
|
||||
+ "google/zip_internal.h",
|
||||
+ "google/zip_reader.cc",
|
||||
+ "google/zip_reader.h",
|
||||
+ ]
|
||||
+ deps = [ ":minizip" ]
|
||||
+}
|
||||
+
|
||||
+static_library("compression_utils") {
|
||||
+ sources = [
|
||||
+ "google/compression_utils.cc",
|
||||
+ "google/compression_utils.h",
|
||||
+ ]
|
||||
+ deps = [ ":zlib" ]
|
||||
+}
|
||||
diff --git a/build/shim_headers.gni b/build/shim_headers.gni
|
||||
index dc57d12ed0c..1d24e0ad00e 100644
|
||||
--- a/build/shim_headers.gni
|
||||
+++ b/build/shim_headers.gni
|
||||
@@ -7,6 +7,11 @@ template("shim_headers") {
|
||||
shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}"
|
||||
config(config_name) {
|
||||
include_dirs = [ shim_headers_path ]
|
||||
+ if (defined(invoker.additional_includes)) {
|
||||
+ foreach(i, invoker.additional_includes) {
|
||||
+ include_dirs += [ shim_headers_path + "/" + i ]
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
action(action_name) {
|
||||
script = "//tools/generate_shim_headers.py"
|
||||
@@ -26,11 +31,12 @@ template("shim_headers") {
|
||||
args += invoker.headers
|
||||
outputs = []
|
||||
foreach(h, invoker.headers) {
|
||||
- outputs += [ shim_headers_path + "/" + rebase_path(invoker.root_path,"//") + "/" + h ]
|
||||
+ outputs += [ shim_headers_path + "/" +
|
||||
+ rebase_path(invoker.root_path, "//") + "/" + h ]
|
||||
}
|
||||
}
|
||||
group(target_name) {
|
||||
- deps = [ ":${action_name}" ]
|
||||
+ public_deps = [ ":${action_name}" ]
|
||||
all_dependent_configs = [ ":${config_name}" ]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
--- a/runtime/bin/BUILD.gn
|
||||
+++ b/runtime/bin/BUILD.gn
|
||||
@@ -1152,6 +1152,7 @@
|
||||
deps = [
|
||||
"//third_party/boringssl", # for secure_socket_utils_test
|
||||
"//third_party/perfetto:libprotozero", # for timeline_test
|
||||
+ "//third_party/zlib", # for gzip
|
||||
]
|
||||
|
||||
if (is_fuchsia) {
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
buildDunePackage (finalAttrs: {
|
||||
pname = "synchronizer";
|
||||
version = "0.2";
|
||||
version = "0.3";
|
||||
|
||||
minimalOCamlVersion = "5.1";
|
||||
|
||||
@@ -16,7 +16,7 @@ buildDunePackage (finalAttrs: {
|
||||
owner = "OCamlPro";
|
||||
repo = "synchronizer";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-0XtPHpDlyH1h8W2ZlRvJbZjCN9WP5mzk2N01WFd8eLQ=";
|
||||
hash = "sha256-zomP15CRV6pFK3yk9hMCSDHPk11hEqXiRw8vr2Dg0CI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -5,26 +5,24 @@
|
||||
poetry-core,
|
||||
aiohttp,
|
||||
yarl,
|
||||
aioresponses,
|
||||
pytest-asyncio,
|
||||
pytest-cov-stub,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiosolaredge";
|
||||
version = "0.2.0";
|
||||
version = "1.0.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bdraco";
|
||||
repo = "aiosolaredge";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-1C74U5HWDTJum1XES21t1uIJwm0YW3l041mwvqY/dA4=";
|
||||
hash = "sha256-1RdkYcdhhU+MaP91iJ1tSrL0OlUi6Il1XBXnmRYhC7g=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i "/^addopts/d" pyproject.toml
|
||||
'';
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
dependencies = [
|
||||
@@ -35,12 +33,14 @@ buildPythonPackage rec {
|
||||
pythonImportsCheck = [ "aiosolaredge" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
aioresponses
|
||||
pytest-asyncio
|
||||
pytest-cov-stub
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/bdraco/aiosolaredge/blob/${src.rev}/CHANGELOG.md";
|
||||
changelog = "https://github.com/bdraco/aiosolaredge/blob/${src.tag}/CHANGELOG.md";
|
||||
description = "Asyncio SolarEdge API client";
|
||||
homepage = "https://github.com/bdraco/aiosolaredge";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "debugpy";
|
||||
version = "1.8.19";
|
||||
version = "1.8.20";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -42,7 +42,7 @@ buildPythonPackage rec {
|
||||
sed -i 's/git_refnames = "[^"]*"/git_refnames = " (tag: ${src.tag})"/' "$out/src/debugpy/_version.py"
|
||||
'';
|
||||
|
||||
hash = "sha256-O9RHqyV7xMMnouCp4t18CNH/z2jBxZBUkybAw1c2gY0=";
|
||||
hash = "sha256-0h2VQU5eYb0heXSFmKnwAFW0jcWc+bYllhwxfdzkGWc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -41,14 +41,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-allauth";
|
||||
version = "65.14.0";
|
||||
version = "65.14.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "allauth";
|
||||
repo = "django-allauth";
|
||||
tag = version;
|
||||
hash = "sha256-hoPNSMzn/bX98Qe+7guaLK8UhA5FfHpUCjzN6hCXVgs=";
|
||||
hash = "sha256-Kr6iYN+qM1ZdtQAJ9Ks+zC70AiiUi2IY2O/G9S+tTmI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext ];
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
blurhash,
|
||||
cryptography,
|
||||
decorator,
|
||||
fetchpatch,
|
||||
graphemeu,
|
||||
http-ece,
|
||||
python-dateutil,
|
||||
@@ -30,6 +31,14 @@ buildPythonPackage rec {
|
||||
hash = "sha256-i3HMT8cabSl664UK3eopJQ9bDBpGCgbHTvBJkgeoxd8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Switch dependency from unmaintained `grapheme` to `graphemeu`
|
||||
(fetchpatch {
|
||||
url = "https://github.com/halcy/Mastodon.py/commit/939c7508414e950922c518260a9ba5a5853aeef2.patch";
|
||||
hash = "sha256-XBiAFxYUBNyynld++UwPGIIg9j+3/EF2jGqiysVqYRM=";
|
||||
})
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyturbojpeg";
|
||||
version = "1.8.2";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lilohuang";
|
||||
repo = "PyTurboJPEG";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-zyLNIo7hQuzTlEgdvri3bSnAiRRKKup57tfCIxiBq24=";
|
||||
hash = "sha256-yITX+6mP8AihaTFjZG9A5U6pAUTdPy6UDbbjnznwuqI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -17,7 +17,7 @@ let
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "reportlab";
|
||||
version = "4.4.9";
|
||||
version = "4.4.10";
|
||||
pyproject = true;
|
||||
|
||||
# See https://bitbucket.org/pypy/compatibility/wiki/reportlab%20toolkit
|
||||
@@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-fPSHdkKU7nkaR4H1oVe+vOJipmauS7uHeGdgqWdsk3g=";
|
||||
hash = "sha256-XLuzSsNUYDnQCG3rKTjN7AaxLaPNuDboEyWOszzShIc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "simsimd";
|
||||
version = "6.5.12";
|
||||
version = "6.5.13";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ashvardanian";
|
||||
repo = "SimSIMD";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-4mgWm4FcTGf9DNc39GOjK9jnyev7hIeODjpnuIz6f1k=";
|
||||
hash = "sha256-jNJ44jCPcs83HbLSkup6eeCL0Hf+SyU4RzyQAyuPJ94=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -47,8 +47,7 @@ buildPythonPackage (finalAttrs: {
|
||||
|
||||
# cli deps
|
||||
typer
|
||||
]
|
||||
++ typer.optional-dependencies.standard;
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
# make sphinx_path an alias of pathlib.Path, since sphinx_path was removed in Sphinx v7.2.0
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
hatchling,
|
||||
lib,
|
||||
pytestCheckHook,
|
||||
typer-slim,
|
||||
typer,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -20,13 +20,18 @@ buildPythonPackage rec {
|
||||
hash = "sha256-nwEYFw+4jeF/SoaZWR51VWRezqBFjGoLiVgJWdPNoIk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "typer-slim" "typer"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
hatch-vcs
|
||||
hatchling
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
typer-slim
|
||||
typer
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "typer_injector" ];
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
pdm-backend,
|
||||
|
||||
# dependencies
|
||||
click,
|
||||
typing-extensions,
|
||||
|
||||
# optional-dependencies
|
||||
rich,
|
||||
shellingham,
|
||||
|
||||
# tests
|
||||
pytest-xdist,
|
||||
pytestCheckHook,
|
||||
writableTmpDirAsHomeHook,
|
||||
procps,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "typer-slim";
|
||||
version = "0.21.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastapi";
|
||||
repo = "typer";
|
||||
tag = version;
|
||||
hash = "sha256-MvrwHemciLa2m0QUTZNuCLa7x63RKWFzJ5k6Ask25ZY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
for f in $(find tests -type f -print); do
|
||||
# replace `sys.executable -m coverage run` with `sys.executable`
|
||||
sed -z -i 's/"-m",\n\?\s*"coverage",\n\?\s*"run",//g' "$f"
|
||||
done
|
||||
'';
|
||||
|
||||
env.TIANGOLO_BUILD_PACKAGE = "typer-slim";
|
||||
|
||||
build-system = [ pdm-backend ];
|
||||
|
||||
dependencies = [
|
||||
click
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
standard = [
|
||||
rich
|
||||
shellingham
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-xdist
|
||||
pytestCheckHook
|
||||
writableTmpDirAsHomeHook
|
||||
]
|
||||
++ lib.concatAttrValues optional-dependencies
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
procps
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"test_scripts"
|
||||
# Likely related to https://github.com/sarugaku/shellingham/issues/35
|
||||
# fails also on Linux
|
||||
"test_show_completion"
|
||||
"test_install_completion"
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
|
||||
"test_install_completion"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "typer" ];
|
||||
|
||||
meta = {
|
||||
description = "Library for building CLI applications";
|
||||
homepage = "https://typer.tiangolo.com/";
|
||||
changelog = "https://github.com/tiangolo/typer/releases/tag/${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ winpat ];
|
||||
};
|
||||
}
|
||||
@@ -1,20 +1,84 @@
|
||||
{
|
||||
lib,
|
||||
mkPythonMetaPackage,
|
||||
typer-slim,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
pdm-backend,
|
||||
|
||||
# dependencies
|
||||
annotated-doc,
|
||||
click,
|
||||
|
||||
# optional-dependencies
|
||||
rich,
|
||||
shellingham,
|
||||
|
||||
# tests
|
||||
pytest-xdist,
|
||||
pytestCheckHook,
|
||||
writableTmpDirAsHomeHook,
|
||||
procps,
|
||||
}:
|
||||
|
||||
mkPythonMetaPackage {
|
||||
buildPythonPackage rec {
|
||||
pname = "typer";
|
||||
inherit (typer-slim) version optional-dependencies;
|
||||
dependencies = [ typer-slim ] ++ typer-slim.optional-dependencies.standard;
|
||||
version = "0.24.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastapi";
|
||||
repo = "typer";
|
||||
tag = version;
|
||||
hash = "sha256-ha/cT2+I9/WUjb7ZXSKqLSocZ3vq0N1fm4RvRpsXIDc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
for f in $(find tests -type f -print); do
|
||||
# replace `sys.executable -m coverage run` with `sys.executable`
|
||||
sed -z -i 's/"-m",\n\?\s*"coverage",\n\?\s*"run",//g' "$f"
|
||||
done
|
||||
'';
|
||||
|
||||
env.TIANGOLO_BUILD_PACKAGE = "typer";
|
||||
|
||||
build-system = [ pdm-backend ];
|
||||
|
||||
dependencies = [
|
||||
annotated-doc
|
||||
click
|
||||
rich
|
||||
shellingham
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-xdist
|
||||
pytestCheckHook
|
||||
writableTmpDirAsHomeHook
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
procps
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"test_scripts"
|
||||
# Likely related to https://github.com/sarugaku/shellingham/issues/35
|
||||
# fails also on Linux
|
||||
"test_show_completion"
|
||||
"test_install_completion"
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
|
||||
"test_install_completion"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "typer" ];
|
||||
|
||||
meta = {
|
||||
inherit (typer-slim.meta)
|
||||
changelog
|
||||
description
|
||||
homepage
|
||||
license
|
||||
maintainers
|
||||
;
|
||||
description = "Library for building CLI applications";
|
||||
homepage = "https://typer.tiangolo.com/";
|
||||
changelog = "https://github.com/tiangolo/typer/releases/tag/${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ winpat ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -55,6 +55,6 @@ buildPythonPackage rec {
|
||||
license = lib.licenses.bsd3;
|
||||
homepage = "https://github.com/vega/vl-convert";
|
||||
changelog = "https://github.com/vega/vl-convert/releases/tag/v${version}";
|
||||
maintainers = with lib.maintainers; [ antonmosich ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
requests,
|
||||
smart-open,
|
||||
srsly,
|
||||
typer-slim,
|
||||
typer,
|
||||
wasabi,
|
||||
|
||||
# tests
|
||||
@@ -33,6 +33,11 @@ buildPythonPackage rec {
|
||||
hash = "sha256-Xd7cJlUi/a8gwtnuO9wqZiHT1xVMbp6V6Ha+Kyr4tFE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.cfg \
|
||||
--replace-fail "typer-slim" "typer"
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
@@ -43,7 +48,7 @@ buildPythonPackage rec {
|
||||
requests
|
||||
smart-open
|
||||
srsly
|
||||
typer-slim
|
||||
typer
|
||||
wasabi
|
||||
];
|
||||
|
||||
|
||||
@@ -12765,6 +12765,13 @@ with pkgs;
|
||||
|
||||
dart = callPackage ../development/compilers/dart { };
|
||||
|
||||
inherit
|
||||
({
|
||||
dart-source = callPackage ../development/compilers/dart/source { };
|
||||
})
|
||||
dart-source
|
||||
;
|
||||
|
||||
pub2nix = recurseIntoAttrs (callPackage ../build-support/dart/pub2nix { });
|
||||
|
||||
buildDartApplication = callPackage ../build-support/dart/build-dart-application { };
|
||||
|
||||
@@ -27,6 +27,26 @@ let
|
||||
lib.mapAttrs (
|
||||
n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
|
||||
) aliases;
|
||||
|
||||
warnAlias =
|
||||
msg: v:
|
||||
if lib.isDerivation v then
|
||||
lib.warnOnInstantiate msg v
|
||||
else if lib.isAttrs v then
|
||||
lib.mapAttrs (_: lib.warn msg) v
|
||||
else if lib.isFunction v then
|
||||
arg: lib.warn msg (v arg)
|
||||
else if lib.isList v then
|
||||
map (lib.warn msg) v
|
||||
else
|
||||
# Can’t do better than this, and a `throw` would be more
|
||||
# disruptive for users…
|
||||
#
|
||||
# `nix search` flags up warnings already, so hopefully this won’t
|
||||
# make things much worse until we have proper CI for aliases,
|
||||
# especially since aliases of paths and numbers are presumably
|
||||
# not common.
|
||||
lib.warn msg v;
|
||||
in
|
||||
|
||||
### Deprecated aliases - for backward compatibility
|
||||
@@ -519,6 +539,7 @@ mapAliases {
|
||||
tvdb_api = throw "'tvdb_api' has been renamed to/replaced by 'tvdb-api'"; # Converted to throw 2025-10-29
|
||||
tweedledum = throw "'tweedledum' has been removed due to lack of upstream maintenance."; # Added 2025-11-22
|
||||
typed-ast = throw "typed-ast was removed because it went end of life in July 2023"; # added 2025-05-24
|
||||
typer-slim = warnAlias "typer-slim was an alias package of typer that only depended on it and has been removed." typer; # added 2026-02-16
|
||||
types-typed-ast = throw "types-typed-ast was removed because so was typed-ast"; # added 2025-05-24
|
||||
typesentry = throw "typesentry was removed because it was broken and unmaintained"; # added 2026-02-02
|
||||
typesystem = throw "'typesystem' has been removed as it was broken, unmaintained, and archived upstream"; # Added 2025-11-27
|
||||
|
||||
@@ -19604,8 +19604,6 @@ self: super: with self; {
|
||||
|
||||
typer-shell = callPackage ../development/python-modules/typer-shell { };
|
||||
|
||||
typer-slim = callPackage ../development/python-modules/typer-slim { };
|
||||
|
||||
types-aiobotocore = callPackage ../development/python-modules/types-aiobotocore { };
|
||||
|
||||
inherit (callPackage ../development/python-modules/types-aiobotocore-packages { })
|
||||
|
||||
Reference in New Issue
Block a user