From 1b48f0ea51bf9fe580904fb59277e28bd54ac1b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Thu, 9 Apr 2026 12:14:38 -0700 Subject: [PATCH 1/6] birdfont: fix build failure --- pkgs/tools/misc/birdfont/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/misc/birdfont/default.nix b/pkgs/tools/misc/birdfont/default.nix index e9e5f6efb85d..6d975e365b6d 100644 --- a/pkgs/tools/misc/birdfont/default.nix +++ b/pkgs/tools/misc/birdfont/default.nix @@ -60,6 +60,9 @@ stdenv.mkDerivation (finalAttrs: { patchShebangs . ''; + # workaround gcc >= 14 incompatibilities + env.NIX_CFLAGS_COMPILE = "-std=gnu17 -Wno-error=incompatible-pointer-types"; + buildPhase = "./build.py"; installPhase = "./install.py"; From 3a2e5330884bb8bb5855208f946e4939e0c5b75e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Thu, 9 Apr 2026 12:24:39 -0700 Subject: [PATCH 2/6] birdfont: adopt --- pkgs/tools/misc/birdfont/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/birdfont/default.nix b/pkgs/tools/misc/birdfont/default.nix index 6d975e365b6d..534e3e588864 100644 --- a/pkgs/tools/misc/birdfont/default.nix +++ b/pkgs/tools/misc/birdfont/default.nix @@ -73,6 +73,6 @@ stdenv.mkDerivation (finalAttrs: { description = "Font editor which can generate fonts in TTF, EOT, SVG and BIRDFONT format"; homepage = "https://birdfont.org"; license = lib.licenses.gpl3; - maintainers = [ ]; + maintainers = with lib.maintainers; [ drawbu ]; }; }) From cd7d6b34535713f5dd737f784a739956ef9abe12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Thu, 9 Apr 2026 12:32:16 -0700 Subject: [PATCH 3/6] birdfont: modernize --- pkgs/tools/misc/birdfont/default.nix | 53 ++++++++++++++-------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/pkgs/tools/misc/birdfont/default.nix b/pkgs/tools/misc/birdfont/default.nix index 534e3e588864..390b042e5a8e 100644 --- a/pkgs/tools/misc/birdfont/default.nix +++ b/pkgs/tools/misc/birdfont/default.nix @@ -1,24 +1,24 @@ { - lib, - stdenv, - fetchFromGitHub, - pkg-config, - python3, - xmlbird, + autoPatchelfHook, cairo, + fetchFromGitHub, gdk-pixbuf, - libgee, glib, - gtk3, - webkitgtk_4_1, - libnotify, - sqlite, - vala, gobject-introspection, gsettings-desktop-schemas, - wrapGAppsHook3, - autoPatchelfHook, + gtk3, + lib, + libgee, + libnotify, nix-update-script, + pkg-config, + python3, + sqlite, + stdenv, + vala, + webkitgtk_4_1, + wrapGAppsHook3, + xmlbird, }: stdenv.mkDerivation (finalAttrs: { @@ -29,33 +29,33 @@ stdenv.mkDerivation (finalAttrs: { owner = "johanmattssonm"; repo = "birdfont"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-7xVjY/yH7pMlUBpQc5Gb4t4My24Mx5KkARVp2KSr+Iw="; + hash = "sha256-7xVjY/yH7pMlUBpQc5Gb4t4My24Mx5KkARVp2KSr+Iw="; }; nativeBuildInputs = [ - python3 - pkg-config - vala - gobject-introspection - wrapGAppsHook3 autoPatchelfHook + gobject-introspection + pkg-config + python3 + vala + wrapGAppsHook3 ]; buildInputs = [ - xmlbird - libgee cairo gdk-pixbuf glib + gsettings-desktop-schemas gtk3 - webkitgtk_4_1 + libgee libnotify sqlite - gsettings-desktop-schemas + webkitgtk_4_1 + xmlbird ]; postPatch = '' substituteInPlace install.py \ - --replace 'platform.version()' '"Nix"' + --replace-fail 'platform.version()' '"Nix"' patchShebangs . ''; @@ -72,7 +72,8 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Font editor which can generate fonts in TTF, EOT, SVG and BIRDFONT format"; homepage = "https://birdfont.org"; - license = lib.licenses.gpl3; + license = lib.licenses.gpl3Plus; + mainProgram = "birdfont"; maintainers = with lib.maintainers; [ drawbu ]; }; }) From f9c6f9ee9772d728eec853cb9c88a1a6bf4a7515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Thu, 9 Apr 2026 14:36:35 -0700 Subject: [PATCH 4/6] xmlbird: adopt --- pkgs/tools/misc/birdfont/xmlbird.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/birdfont/xmlbird.nix b/pkgs/tools/misc/birdfont/xmlbird.nix index 83a219bc6487..b12c41398889 100644 --- a/pkgs/tools/misc/birdfont/xmlbird.nix +++ b/pkgs/tools/misc/birdfont/xmlbird.nix @@ -41,6 +41,6 @@ stdenv.mkDerivation rec { description = "XML parser for Vala and C programs"; homepage = "https://birdfont.org/xmlbird.php"; license = lib.licenses.lgpl3; - maintainers = [ ]; + maintainers = with lib.maintainers; [ drawbu ]; }; } From 11db3eeb36a02d88317764002405419d60c988a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Thu, 9 Apr 2026 14:39:33 -0700 Subject: [PATCH 5/6] xmlbird: modernize --- pkgs/tools/misc/birdfont/xmlbird.nix | 30 +++++++++++++++------------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/pkgs/tools/misc/birdfont/xmlbird.nix b/pkgs/tools/misc/birdfont/xmlbird.nix index b12c41398889..b8b668ffcc40 100644 --- a/pkgs/tools/misc/birdfont/xmlbird.nix +++ b/pkgs/tools/misc/birdfont/xmlbird.nix @@ -1,38 +1,40 @@ { - lib, - stdenv, fetchurl, - python3, - pkg-config, - vala, glib, gobject-introspection, + lib, + pkg-config, + python3, + stdenv, + vala, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "xmlbird"; version = "1.2.15"; src = fetchurl { - url = "https://birdfont.org/${pname}-releases/lib${pname}-${version}.tar.xz"; - sha256 = "sha256-8GX4ijF+AxaGGFlSxRPOAoUezRG6592jOrifz/mWTRM="; + url = "https://birdfont.org/xmlbird-releases/libxmlbird-${finalAttrs.version}.tar.xz"; + hash = "sha256-8GX4ijF+AxaGGFlSxRPOAoUezRG6592jOrifz/mWTRM="; }; nativeBuildInputs = [ - python3 - pkg-config - vala gobject-introspection + pkg-config + python3 + vala ]; buildInputs = [ glib ]; postPatch = '' substituteInPlace configure \ - --replace 'platform.dist()[0]' '"nix"' + --replace-fail 'platform.version()' '"Nix"' patchShebangs . ''; + configureFlags = [ "--cc=${stdenv.cc.targetPrefix}cc" ]; + buildPhase = "./build.py"; installPhase = "./install.py"; @@ -40,7 +42,7 @@ stdenv.mkDerivation rec { meta = { description = "XML parser for Vala and C programs"; homepage = "https://birdfont.org/xmlbird.php"; - license = lib.licenses.lgpl3; + license = lib.licenses.lgpl3Plus; maintainers = with lib.maintainers; [ drawbu ]; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a492c9241374..03cb72eb933a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1995,7 +1995,7 @@ with pkgs; binlore = callPackage ../development/tools/analysis/binlore { }; birdfont = callPackage ../tools/misc/birdfont { }; - xmlbird = callPackage ../tools/misc/birdfont/xmlbird.nix { stdenv = gccStdenv; }; + xmlbird = callPackage ../tools/misc/birdfont/xmlbird.nix { }; bmrsa = callPackage ../tools/security/bmrsa/11.nix { }; From d7b13db5771ca50b76e1a2b7645e29982775d187 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Thu, 9 Apr 2026 14:32:31 -0700 Subject: [PATCH 6/6] birdfont,xmlbird: move to by-name --- .../birdfont/default.nix => by-name/bi/birdfont/package.nix} | 0 .../birdfont/xmlbird.nix => by-name/xm/xmlbird/package.nix} | 0 pkgs/top-level/all-packages.nix | 3 --- 3 files changed, 3 deletions(-) rename pkgs/{tools/misc/birdfont/default.nix => by-name/bi/birdfont/package.nix} (100%) rename pkgs/{tools/misc/birdfont/xmlbird.nix => by-name/xm/xmlbird/package.nix} (100%) diff --git a/pkgs/tools/misc/birdfont/default.nix b/pkgs/by-name/bi/birdfont/package.nix similarity index 100% rename from pkgs/tools/misc/birdfont/default.nix rename to pkgs/by-name/bi/birdfont/package.nix diff --git a/pkgs/tools/misc/birdfont/xmlbird.nix b/pkgs/by-name/xm/xmlbird/package.nix similarity index 100% rename from pkgs/tools/misc/birdfont/xmlbird.nix rename to pkgs/by-name/xm/xmlbird/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 03cb72eb933a..ec298f9c8449 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1994,9 +1994,6 @@ with pkgs; binlore = callPackage ../development/tools/analysis/binlore { }; - birdfont = callPackage ../tools/misc/birdfont { }; - xmlbird = callPackage ../tools/misc/birdfont/xmlbird.nix { }; - bmrsa = callPackage ../tools/security/bmrsa/11.nix { }; anystyle-cli = callPackage ../tools/misc/anystyle-cli { };