diff --git a/pkgs/tools/typesetting/htmldoc/default.nix b/pkgs/tools/typesetting/htmldoc/default.nix
index 37b0b42d23e5..c3e5c66ba56f 100644
--- a/pkgs/tools/typesetting/htmldoc/default.nix
+++ b/pkgs/tools/typesetting/htmldoc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, zlib, libpng, libjpeg, SystemConfiguration, Foundation, pkg-config }:
+{ lib, stdenv, testers, fetchFromGitHub, zlib, libpng, libjpeg, SystemConfiguration, Foundation, pkg-config, htmldoc }:
stdenv.mkDerivation rec {
pname = "htmldoc";
@@ -14,8 +14,18 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib libpng libjpeg ]
++ lib.optionals stdenv.isDarwin [ Foundation SystemConfiguration ];
+ # do not generate universal binary on Darwin
+ # because it is not supported by Nix's clang
+ postPatch = ''
+ substituteInPlace configure --replace "-arch x86_64 -arch arm64" ""
+ '';
+
+ passthru.tests = testers.testVersion {
+ package = htmldoc;
+ command = "htmldoc --version";
+ };
+
meta = with lib; {
- broken = stdenv.isDarwin;
description = "Converts HTML files to PostScript and PDF";
homepage = "https://michaelrsweet.github.io/htmldoc";
changelog = "https://github.com/michaelrsweet/htmldoc/releases/tag/v${version}";