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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bzip2: 1.0.6 -> 1.0.8 #65029
bzip2: 1.0.6 -> 1.0.8 #65029
Conversation
ln -s libbz2.so.1.0 libbz2.so.1 | ||
ln -s libbz2.so.1 libbz2.so | ||
mv libbz2.so* $out/lib | ||
rm $out/lib/libbz2.a |
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.
I'm assuming some people would like to statically link to libz2.a.
A solution i like is what zlib does https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/zlib/default.nix which is conditionally create another output "static" contains the .a under "lib/libz.a"
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.
Well, the static library wasn't available before, so I tried to keep it the same.
Plus, I'm not sure why we would want anything linked statically - we normally avoid it AFAIK, and since nothing is doing that currently, it seems odd to go to the extra effort to enable something we would discourage in the first place.
That said, Darwin is currently using it, hence the eval failure. nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix Lines 17 to 18 in 930659b
@vcunat @domenkozar how do we test if this is still necessary? |
@@ -1,38 +1,28 @@ | |||
{ stdenv, fetchurl |
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.
you need to add back linkstatic, another derviation requires enabling it.
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.
Yeah, that's the Darwin issue. I figured I would wait until I knew more about it.
92c80d9
to
8d671bb
Compare
8d671bb
to
18add8d
Compare
@GrahamcOfBorg build bzip2 |
It's trying to run |
That's odd, I thought gcc was an alias on darwin. The
|
Correct, in most darwin environments, you will see something to the effect of:
|
Thanks. So I guess this alias is not available in the bootstrap |
Isn't it easier and more portable to always use |
18add8d
to
43d82e9
Compare
@GrahamcOfBorg build bzip2 |
I guess the upstream Makefile needs fixing...? |
Hello, I'm a bot and I thank you in the name of the community for your contributions. Nixpkgs is a busy repository, and unfortunately sometimes PRs get left behind for too long. Nevertheless, we'd like to help committers reach the PRs that are still important. This PR has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human. If this is still important to you and you'd like to remove the stale label, we ask that you leave a comment. Your comment can be as simple as "still important to me". But there's a bit more you can do: If you received an approval by an unprivileged maintainer and you are just waiting for a merge, you can @ mention someone with merge permissions and ask them to help. You might be able to find someone relevant by using Git blame on the relevant files, or via GitHub's web interface. You can see if someone's a member of the nixpkgs-committers team, by hovering with the mouse over their username on the web interface, or by searching them directly on the list. If your PR wasn't reviewed at all, it might help to find someone who's perhaps a user of the package or module you are changing, or alternatively, ask once more for a review by the maintainer of the package/module this is about. If you don't know any, you can use Git blame on the relevant files, or GitHub's web interface to find someone who touched the relevant files in the past. If your PR has had reviews and nevertheless got stale, make sure you've responded to all of the reviewer's requests / questions. Usually when PR authors show responsibility and dedication, reviewers (privileged or not) show dedication as well. If you've pushed a change, it's possible the reviewer wasn't notified about your push via email, so you can always officially request them for a review, or just @ mention them and say you've addressed their comments. Lastly, you can always ask for help at our Discourse Forum, or more specifically, at this thread or at #nixos' IRC channel. |
this PR is still applicable to master |
There are some minor conflicts, but I believe we can't merge until darwin build gets fixed. |
@NixOS/darwin-maintainers could you look into this core package? It's been outdated for over a year now. |
Is that the actual upstream source? It replaces the current automake build with what looks like hand crafted makefiles, which are totally not portable. |
Here is a bit of the history regarding bzip2. It was unmaintained for a long time, and now has a new maintainer. Since then, they also reconstructed some of the history. As explained here, the sourceware repo has the 1.0.x branch with maintenance releases. At the same time, there is https://gitlab.com/federicomenaquintero/bzip2 which has larger changes, including support for cmake and meson. |
should we move over to the cmake build? |
Well the statement about 1.x contradicts what I'm seeing.
Does the newer fork have large changes in general or just the build system, something like cmake or meson is much more likely to work in a maintainable way. |
it looks like 1.1 release isnt ready yet https://gitlab.com/federicomenaquintero/bzip2/-/milestones/1 I'll continue to patch #94969 |
I wonder if adding this under a separate |
We have the CVE patches as far I checked, so indeed, there is no immediately need to upgrade. Going to the 1.1.x branch is I think an option, the lack of a release is not that big of a deal; all that is changed is the build system. The difficulty here is having cmake or meson available sufficiently early. |
The darwin stdenv already needs cmake for llvm/clang so I wouldn't expect any issues there, but might indeed require some changes on the linux side. |
PR to add 1.1 as extra derivation #96621. |
bzip2 has been unmaintained for a long time. For a while now, there has been maintainership, resulting in the release of 1.0.8. At the same time, there is now a master branch (version 1.1.x) which supports meson and cmake as build systems. This commit adds the current HEAD of the master branch (1.1.x). In the future we may want to use this one instead of the older and patched 1.0.6 we currently have. Related: - NixOS#65029 - NixOS#94969
bzip2 has been unmaintained for a long time. For a while now, there has been maintainership, resulting in the release of 1.0.8. At the same time, there is now a master branch (version 1.1.x) which supports meson and cmake as build systems. This commit adds the current HEAD of the master branch (1.1.x). In the future we may want to use this one instead of the older and patched 1.0.6 we currently have. Related: - #65029 - #94969
I marked this as stale due to inactivity. → More info |
@siraben: nice cleaning up the various issues/PRs. |
Quoting #64817 (comment) so that info is visible here:
2.1.1 is still unreleased. As far as I can tell Ubuntu, Fedora and Arch are still shipping 1.0.8. Also according to https://blog.micahsnyder.dev/posts/2021-06-05-03-bzip2-project.html the maintainer is now One example for an impacted archive is that NixOS cannot unpack without deliberately getting the newer EDIT: Looking at the various attempts I see now how much of a pain it seems to be to fix this by updating to 1.0.8. |
See #64817
I noticed that the 1.0.8 release doesn't include a
pkgconfig
; I don't see an easy way to check if we need it.Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)cc @vcunat @jtojnar @dtzWill