New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
replace libtiff_4_5
with libtiff_and_tools
, update hylafaxplus
#298561
replace libtiff_4_5
with libtiff_and_tools
, update hylafaxplus
#298561
Conversation
e80edd8
to
03a04ce
Compare
The original branch failed the "pkgs/by-name" check, so I updated the branch. The failed check reported:
This is not so easy: |
This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch). Result of 9 packages built:
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/3745 |
Quoting Yarny0 (2024-03-24 09:00:54)
Notifying `gscan2pdf` maintainer @pacien and
contributor of the [`gscan2pdf` workaround pull
request](#268836)
@gador: I verified that `gscan2pdf` still builds with
`libtiff_and_tools` 4.6.0t, but you might want to test the
resulting package. By the way: The `gscan2pdf` project seems
to be already preparing for `libtiff` 4.6.0 compatibility:
https://sourceforge.net/p/gscan2pdf/bugs/427/ .
I just tested saving and loading a TIFF file in gscan2pdf with this change;
All working fine.
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review/3032/3805 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for this PR.
I left one comment suggesting description change in libtiff_and_tools
.
Assuming that 1) means that libtiff_and_tools
doesn't contain any known security issues, I am OK with this PR. All changes look good to me.
03a04ce
to
9ac909d
Compare
Note that this update makes hylafaxplus compatible with libtiff 4.6.0t (a fork of libtiff at version 4.6.0). A follow-up commit will introduce that library fork and make hylafaxplus build with it.
libtiff 4.6.0 dropped a bunch of helper tools, thereby breaking packages that depend on these tools. To fix those packages, nixpkgs started packaging libtiff_4_5 separately, see commit f57a4b0. Currently, two packages use libtiff_4_5: * hylafaplus (cd3771c) * gscan2pdf (9a579e1) Lee Howard (core developer of hylafaxplus) forked libtiff 4.6.0 to provide a current version that restores those dropped helper tools. The library is also called "libtiff", with current version "4.6.0t". It is based on libtiff 4.6.0 and incorporates several fixes, particularly for the dropped helper tools, see https://sourceforge.net/p/hylafax/mailman/message/58751878/ and http://www.libtiff.org/releases/v4.6.0t.html . The commit at hand packages that fork for nixpkgs. Follow-up commits will replace libtiff_4_5 with libtiff_t, so affected packages can again use a current libtiff library. The build recipe of libtiff_t is based on the libtiff recipe. Besides adapted URLs, the only change is dropping `passthru`, as it referred to many packages depending on the original libtiff. The unorthodox code introduced in all-packages.nix is needed to satisfy the automated "by-name" check; see "Recommendation for new packages with multiple versions" in the file `pkgs/by-name/README.md`. Depending on how things develop in the future, we might want to switch completely to the forked libtiff library one day. Or the original libtiff restores the missing tools, making libtiff_t superfluous.
hylafaxplus is not compatible with libtiff 4.6.0 as published on https://libtiff.gitlab.io/libtiff/ and http://www.simplesystems.org/libtiff/ . To fix the build, we used an older libtiff version (see cd3771c). In the meantime, hylafaxplus developer Lee Howard published a forked version "4.6.0t" of libtiff, providing the missing tools for hylafaxplus, see https://sourceforge.net/p/hylafax/mailman/message/58751879/ . The commit at hand changes the libtiff version for hylafaxplus to use that fork.
gscan2pdf is not compatible with libtiff 4.6.0 as published on https://libtiff.gitlab.io/libtiff/ and http://www.simplesystems.org/libtiff/ . To fix the build, we used an older libtiff version (see 9a579e1). In the meantime, hylafaxplus developer Lee Howard published a forked version "4.6.0t" of libtiff, providing the missing tools, see https://sourceforge.net/p/hylafax/mailman/message/58751879/ . That fork is also suitable for gscan2pdf, so the commit at hand changes the libtiff version for gscan2pdf to use that fork.
This reverts commit f57a4b0. The old version libtiff_4_5 is no longer needed. Both dependents (gscan2pdf and hylafaxplus) have switched to the forked libtiff version 4.6.0t which is based on the current libtiff version 4.6.0 but also contains required command line tools missing in the original libtiff library.
9ac909d
to
87eabf9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All comments are resolved. I am happy with this PR. Thank you !
Description of changes
libtiff
4.6.0 (#261791) dropped a bunch of helper tools, thereby breaking packages that depend on these tools. To fix those packages, nixpkgs started packaginglibtiff_4_5
separately, forhylafaxplus
(#264226). then forgscan2pdf
(#268836).Lee Howard (core developer of
hylafaxplus
) later forkedlibtiff
4.6.0 (calling itlibtiff
version 4.6.0t) to provide a current version that restores those dropped helper tools (https://sourceforge.net/p/hylafax/mailman/message/58751878/ , http://www.libtiff.org/releases/v4.6.0t.html ). At the same time, he published the newest release ofhylafaxplus
which is compatible with his fork oflibtiff
.The pull request at hand essentially replaces the old
libtiff_4_5
with a new pakcagelibtiff_and_tools
libtiff_t
containing the forkedlibtiff
variant. This seems the right thing to do, as we no longer rely on an old and unmaintainedlibtiff
version. The pull request also updateshylafaxplus
to the newest version 7.0.8.Alternatively, we could also replace
libtiff
completely with the forked version. This might be even better as we would have only onelibtiff
library that provides all features needed by all packages in nixpkgs. However, the future of the fork is unclear (Lee Howard advocates for the helper tools to be restored in the original libtiff library, https://www.asmail.be/msg0055042152.html), so I guess we should wait some time and also watch what other distributions do.The forked library of LibTIFF is -- unfortunatelly -- also called LibTIFF.
The attribute nameThe attribute namelibtiff_and_tools
is inspired by the name "libtiff+tools" of the corresponding Gitlab repository.libtiff_t
is inspired by the version suffixt
.Notifying
gscan2pdf
maintainer @pacien and contributor of thegscan2pdf
workaround pull request @gador: I verified thatgscan2pdf
still builds withlibtiff_t
4.6.0t, but you might want to test the resulting package. By the way: Thegscan2pdf
project seems to be already preparing forlibtiff
4.6.0 compatibility: https://sourceforge.net/p/gscan2pdf/bugs/427/ .Also Notifying @trofi and @risicle , as you helped me shape the
libtiff_4_5
pull requestand there is not.libtiff
maintainerThings done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Result of
nixpkgs-review
run on x86_64-linux 19 packages built:
Add a 馃憤 reaction to pull requests you find important.