From 3cbef012f0ad729a14f98783e5c30e4b866ddec4 Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Wed, 3 Jun 2026 16:16:49 -0700 Subject: [PATCH 1/2] pixel-code: use installFonts, build from source --- pkgs/by-name/pi/pixel-code/package.nix | 50 ++++++++++++++++++++------ 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/pi/pixel-code/package.nix b/pkgs/by-name/pi/pixel-code/package.nix index 79bc76ddec90..f569e9424405 100644 --- a/pkgs/by-name/pi/pixel-code/package.nix +++ b/pkgs/by-name/pi/pixel-code/package.nix @@ -1,25 +1,53 @@ { lib, stdenvNoCC, - fetchzip, + fetchFromGitHub, + installFonts, + python3, + woff2, }: -stdenvNoCC.mkDerivation rec { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "pixel-code"; version = "2.2"; - src = fetchzip { - url = "https://github.com/qwerasd205/PixelCode/releases/download/v${version}/otf.zip"; - hash = "sha256-GNYEnv0bIWz5d8821N46FD2NBNBf3Dd7DNqjSdJKDoE="; - stripRoot = false; + outputs = [ + "out" + "webfont" + ]; + + src = fetchFromGitHub { + owner = "qwerasd205"; + repo = "PixelCode"; + tag = "v${finalAttrs.version}"; + hash = "sha256-jpOj6MndjCTTPESIjh3VJW1FKK5n99W8GBgPqloaKFM="; }; - installPhase = '' - runHook preInstall + nativeBuildInputs = [ + (python3.withPackages ( + ps: with ps; [ + fontmake + fonttools + ufolib2 + pillow + ] + )) + woff2 + installFonts + ]; - install -D -m444 -t $out/share/fonts/opentype $src/otf/*.otf + postPatch = '' + substituteInPlace src/build.sh \ + --replace-fail \ + '# Activate python virtual environment. + ../activate.sh + source ../.venv/bin/activate' "" + ''; - runHook postInstall + buildPhase = '' + runHook preBuild + src/build.sh + runHook postBuild ''; meta = { @@ -28,4 +56,4 @@ stdenvNoCC.mkDerivation rec { license = lib.licenses.ofl; maintainers = with lib.maintainers; [ mattpolzin ]; }; -} +}) From 9e30929df5f3dc07dde69853395d476753304c1b Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Wed, 3 Jun 2026 19:14:55 -0700 Subject: [PATCH 2/2] pixel-code: enable strictDeps --- pkgs/by-name/pi/pixel-code/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/pi/pixel-code/package.nix b/pkgs/by-name/pi/pixel-code/package.nix index f569e9424405..14b95041f5c6 100644 --- a/pkgs/by-name/pi/pixel-code/package.nix +++ b/pkgs/by-name/pi/pixel-code/package.nix @@ -23,6 +23,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-jpOj6MndjCTTPESIjh3VJW1FKK5n99W8GBgPqloaKFM="; }; + strictDeps = true; + nativeBuildInputs = [ (python3.withPackages ( ps: with ps; [