From be1f2b3b7d2fd10d8581af2c3ac4173bfea8f4f0 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Thu, 30 Apr 2026 19:16:24 -0400 Subject: [PATCH] docbook_sgml_dtd_45: init at 4.5 --- .../sgml+xml/schemas/sgml-dtd/docbook/3.1.nix | 42 -------------- .../schemas/sgml-dtd/docbook/default.nix | 17 ++++++ .../schemas/sgml-dtd/docbook/generic.nix | 57 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 ++- 4 files changed, 79 insertions(+), 44 deletions(-) delete mode 100644 pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix create mode 100644 pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/default.nix create mode 100644 pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/generic.nix diff --git a/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix deleted file mode 100644 index b90123017bde..000000000000 --- a/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - unzip, -}: - -let - - src = fetchurl { - url = "http://www.oasis-open.org/docbook/sgml/3.1/docbk31.zip"; - sha256 = "0f25ch7bywwhdxb1qa0hl28mgq1blqdap3rxzamm585rf4kis9i0"; - }; - - isoents = fetchurl { - url = "http://www.oasis-open.org/cover/ISOEnts.zip"; - sha256 = "1clrkaqnvc1ja4lj8blr0rdlphngkcda3snm7b9jzvcn76d3br6w"; - }; - -in - -stdenv.mkDerivation { - pname = "docbook-sgml"; - version = "3.1"; - - dontUnpack = true; - - nativeBuildInputs = [ unzip ]; - - installPhase = '' - o=$out/sgml/dtd/docbook-3.1 - mkdir -p $o - cd $o - unzip ${src} - unzip ${isoents} - sed -e "s/iso-/ISO/" -e "s/.gml//" -i docbook.cat - ''; - - meta = { - platforms = lib.platforms.unix; - }; -} diff --git a/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/default.nix b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/default.nix new file mode 100644 index 000000000000..f2cc962adc74 --- /dev/null +++ b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/default.nix @@ -0,0 +1,17 @@ +{ + callPackage, +}: +{ + docbook_sgml_dtd_31 = callPackage (import ./generic.nix { + version = "3.1"; + hash = "sha256-ICYdJ3G5oFKr+j2PqxqmK+BXkaAQKBxWb5Bzvw5kRTg="; + }) { }; + docbook_sgml_dtd_41 = callPackage (import ./generic.nix { + version = "4.1"; + hash = "sha256-3qr88KNndpLnrUQSwOQcHbPp2mzc2z3TKyzB+cl9YxE="; + }) { }; + docbook_sgml_dtd_45 = callPackage (import ./generic.nix { + version = "4.5"; + hash = "sha256-gEPlFOgMbBnLFGtdN5N9EwW/Or+bAJfDbff3D2Ec30M="; + }) { }; +} diff --git a/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/generic.nix b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/generic.nix new file mode 100644 index 000000000000..9027dbc141f9 --- /dev/null +++ b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/generic.nix @@ -0,0 +1,57 @@ +{ version, hash }: +{ + lib, + stdenv, + fetchurl, + unzip, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "docbook-sgml"; + inherit version; + + src = fetchurl { + url = "https://archive.docbook.org/sgml/${finalAttrs.version}/${ + if lib.versionAtLeast finalAttrs.version "4.2" then + "docbook-${finalAttrs.version}" + else + "docbk${lib.replaceStrings [ "." ] [ "" ] finalAttrs.version}" + }.zip"; + inherit hash; + }; + + isoents = fetchurl { + url = "https://web.archive.org/web/20250220122223/http://xml.coverpages.org/ISOEnts.zip"; + hash = "sha256-3OQ1mjmW7S/TOtXqoRqbz8JLWwaZLiQpUTKwbbGambI="; + }; + + nativeBuildInputs = [ + unzip + ]; + + installPhase = '' + runHook preInstall + + mkdir -p "$out/sgml/dtd/docbook-${finalAttrs.version}" + unzip -d "$out/sgml/dtd/docbook-${finalAttrs.version}" "$src" + unzip -d "$out/sgml/dtd/docbook-${finalAttrs.version}" "$isoents" + + substituteInPlace "$out/sgml/dtd/docbook-${finalAttrs.version}/docbook.cat" \ + --replace-fail "iso-" "ISO" \ + --replace-fail ".gml" "" + + runHook postInstall + ''; + + dontUnpack = true; + strictDeps = true; + __structuredAttrs = true; + + meta = { + description = "DocBook ${finalAttrs.version} SGML Schemas"; + homepage = "https://docbook.org/"; + license = lib.licenses.docBookDtd; + maintainers = with lib.maintainers; [ nickcao ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ee06ca3ffbb6..77cf06a69cac 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8811,10 +8811,13 @@ with pkgs; dejavu_fonts = lowPrio (callPackage ../data/fonts/dejavu-fonts { }); - docbook_sgml_dtd_31 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix { }; - docbook_sgml_dtd_41 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix { }; + inherit (callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook { }) + docbook_sgml_dtd_31 + docbook_sgml_dtd_45 + ; + docbook_xml_dtd_412 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix { }; docbook_xml_dtd_42 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix { };