Skip to content

docbook2x: SGML conversion failed due to missing opensp in nativeBuildInputs #412735

@Chan-Siu-Man

Description

@Chan-Siu-Man

Nixpkgs version

  • Unstable (25.11)

Describe the bug

Situation

  1. docbook2x supports SGML conversion: docbook2man --sgml SOURCE.sgml, which through its sgml2xml-isotent command calls the osx command from the opensp package.
  2. This feature is broken after a9d8e52, which sets strictDeps = true, hence removing opensl from nativeBuildInputs, stripping the path of osx in (the wrapped) sgml2xml-isotent command.

Symptoms

docbook2man --sgml SOURCE.sgml fails, for example, in a dependent package ibus-engines.table (#408662).

Diagnosis

To see this, compare the docbook2x output at a9d8e52 (after) versus at b4b9c47 (before): the path for osx (provided by the package opensp) is missing at a9d8e52 (after).

.sgml2xml-isoent-wrapped at a9d8e52 (after): no osx

tail $(nix build nixpkgs\#docbook2x --no-link --print-out-paths --override-flake nixpkgs github:NixOS/nixpkgs/a9d8e520660e47c28b80018060a0dfbd706f07d5)/bin/.sgml2xml-isoent-wrapped
elif test -x ""; then
    exec 3>&1 4>&2;
    status=`(("" -xid -xlower -xsdata-as-pis "$@"; echo $? >&5) | sed -e "$sed_script") 5>&1 2>&4 1>&3`;
    exit $status;
else
    echo "$0: cannot find sx(sgml2xml) or osx to convert SGML to XML.  Cannot continue." 2>&1
    exit 255;
fi

.sgml2xml-isoent-wrapped at b4b9c47 (before): has osx

tail $(nix build nixpkgs\#docbook2x --no-link --print-out-paths --override-flake nixpkgs github:NixOS/nixpkgs/b4b9c47c101749edc19efa95f28276f2fecd2bda)/bin/.sgml2xml-isoent-wrapped
elif test -x "/nix/store/z1ghmrhhc2lzk5bxzn3329ggd8zpqwjx-opensp-1.5.2/bin/osx"; then
    exec 3>&1 4>&2;
    status=`(("/nix/store/z1ghmrhhc2lzk5bxzn3329ggd8zpqwjx-opensp-1.5.2/bin/osx" -xid -xlower -xsdata-as-pis "$@"; echo $? >&5) | sed -e "$sed_script") 5>&1 2>&4 1>&3`;
    exit $status;
else
    echo "$0: cannot find sx(sgml2xml) or osx to convert SGML to XML.  Cannot continue." 2>&1
    exit 255;
fi

Steps to reproduce

nix build nixpkgs\#ibus-engines.table fails, see #412215.

Expected behaviour

docbook2man --sgml SOURCE.sgml should work for a valid SOURCE.sgml. In particular, ibus-engines.table should build (#412215).

Screenshots

No response

Relevant log output

Additional context

No response

System metadata

  • system: "x86_64-linux"
  • host os: Linux 6.12.30, NixOS, 25.11 (Xantusia), 25.11pre-git
  • multi-user?: yes
  • sandbox: yes
  • […snipped as probably not relevant]

Notify maintainers


Note for maintainers: Please tag this issue in your pull request description. (i.e. Resolves #ISSUE.)

I assert that this issue is relevant for Nixpkgs

Is this issue important to you?

Add a 👍 reaction to issues you find important.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions