In 3027bca, binutils was upgraded from 2.28.1 to 2.30. However, in 2.30,
the ldmain.c file within binutils, which the nixpkgs new-dtags.patch
file is meant to modify, was changed in such a way that the patch no
longer works. As a result, the new dtags are not actually enabled, and
binaries are built with RPATH set instead of RUNPATH, thereby preventing
LD_LIBRARY_PATH from overriding this built-in path. This change corrects
this. The patch file is no longer necessary because binutils's ldmain.c
now sets link_info.new_dtags based on the configuration flags.
This was probably not noticed immediately because, when the derivation
is built with nix-build, the fixupPhase runs patchelf --shrink-rpath.
patchelf converts any RPATH in the binary into RUNPATH (unless
--force-rpath is specified). Of course, if the binary is built without
nix-build (such as in a nix-shell), this never occurs, and any RPATH in
the binary is left in place.
Since years I'm not maintaining anything of the list below other
than some updates when I needed them for some reason. Other people
is doing that maintenance on my behalf so I better take me out but
for very few packages. Finally!
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/elfutils/versions.
These checks were done:
- built on NixOS
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-readelf passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-nm passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-size passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-strip passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-elflint passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-findtextrel passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-addr2line passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-elfcmp passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-objdump passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-ranlib passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-strings passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-ar passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-unstrip passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-stack passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-elfcompress passed the binary check.
- /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173/bin/eu-make-debug-archive passed the binary check.
- 16 of 16 passed binary check by having a zero exit code.
- 0 of 16 passed binary check by having the new version present in output.
- found 0.173 with grep in /nix/store/nmml2vhzia58ji531a4q1j97rrj308yj-elfutils-0.173
- directory tree listing: https://gist.github.com/f0b855207a6f13446e77907717da40dd
- du listing: https://gist.github.com/1275237e95e19d1956769a304945cc37
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/sysbench/versions.
<details><summary>Version release notes (from GitHub)</summary>
* version 1.0.15
* CI/build/packaging: add Fedora 28
* CI/build/packaging: add Ubuntu Bionic
* CI/build/packaging: remove Fedora 26 (EOL)
* CI/build/packaging: remove Debian Wheezy (EOL)
* fileio: fix GH-229 (--file-fsync-freq=0 seems to prevent
fsync() at the end of the test)
* command line: improve parsing of boolean command line options
* tests: fix GH-220 (Testsuite api_sql_mysql.t failed ...)
* tests: fix GH-223 (test failure on ppc64)
* tests: fix opt_help.t to pass when the binary is not
configured with MySQL support
* MySQL driver: use it by default in DB benchmarks
</details>
These checks were done:
- built on NixOS
- /nix/store/jfyhnvp5696s1cjn64fxp5ir072m7h35-sysbench-1.0.15/bin/sysbench passed the binary check.
- 1 of 1 passed binary check by having a zero exit code.
- 1 of 1 passed binary check by having the new version present in output.
- found 1.0.15 with grep in /nix/store/jfyhnvp5696s1cjn64fxp5ir072m7h35-sysbench-1.0.15
- directory tree listing: https://gist.github.com/2d15615806f49f153b03e6495af3654b
- du listing: https://gist.github.com/6d323aaf15bf22506caed9176fe9b034
* treewide: http -> https sources
This updates the source urls of all top-level packages from http to
https where possible.
* buildtorrent: fix url and tab -> spaces
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/doclifter/versions.
These checks were done:
- built on NixOS
- Warning: no invocation of /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18/bin/manlifter had a zero exit code or showed the expected version
- /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18/bin/doclifter passed the binary check.
- 1 of 2 passed binary check by having a zero exit code.
- 1 of 2 passed binary check by having the new version present in output.
- found 2.18 with grep in /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18
- directory tree listing: https://gist.github.com/5f26018de7c8c2bbf86953b19997143a
- du listing: https://gist.github.com/b556716e68094c4f1457bbbbe6467d55
In particular, this contains Firefox-related and libgcrypt updates.
Other larger rebuilds would apparently need lots of time to catch up
on Hydra, due to nontrivial rebuilds in other branches than staging.
This fails for me:
> compressed_output.cc:320:20: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
> gold_warning(_("not compressing section data: zlib error"));
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ./system.h:40:20: note: expanded from macro '_'
> # define _(String) gettext (String)
> ^~~~~~~~~~~~~~~~
> compressed_output.cc:320:20: note: treat the string as an argument to avoid this
> gold_warning(_("not compressing section data: zlib error"));
> ^
> "%s",
> ./system.h:40:20: note: expanded from macro '_'
> # define _(String) gettext (String)
^
Disabling format hardening should hopefully be harmless here. If it's a problem we can also make it conditional.
/cc @Ericson2314
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/elfutils/versions.
These checks were done:
- built on NixOS
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-readelf passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-nm passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-size passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-strip passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-elflint passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-findtextrel passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-addr2line passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-elfcmp passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-objdump passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-ranlib passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-strings passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-ar passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-unstrip passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-stack passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-elfcompress passed the binary check.
- /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171/bin/eu-make-debug-archive passed the binary check.
- 16 of 16 passed binary check by having a zero exit code.
- 0 of 16 passed binary check by having the new version present in output.
- found 0.171 with grep in /nix/store/742pb58l3dabnraf988m4xvmccqyf85w-elfutils-0.171
- directory tree listing: https://gist.github.com/a9aa0114a736db7e1428e99f018ccd37
- du listing: https://gist.github.com/4fed4bdee872b7435662455c93469b5d
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/lttng-tools/versions.
These checks were done:
- built on NixOS
- /nix/store/dkn45wpwlqz4afidp3f2z9gf4a2k331a-lttng-tools-2.10.4/bin/lttng passed the binary check.
- /nix/store/dkn45wpwlqz4afidp3f2z9gf4a2k331a-lttng-tools-2.10.4/bin/lttng-crash passed the binary check.
- /nix/store/dkn45wpwlqz4afidp3f2z9gf4a2k331a-lttng-tools-2.10.4/bin/lttng-relayd passed the binary check.
- /nix/store/dkn45wpwlqz4afidp3f2z9gf4a2k331a-lttng-tools-2.10.4/bin/lttng-sessiond passed the binary check.
- 4 of 4 passed binary check by having a zero exit code.
- 2 of 4 passed binary check by having the new version present in output.
- found 2.10.4 with grep in /nix/store/dkn45wpwlqz4afidp3f2z9gf4a2k331a-lttng-tools-2.10.4
- directory tree listing: https://gist.github.com/e4d67a251f6e4d55bef4903a618d4c77
- du listing: https://gist.github.com/5a95c60b995446339306ed79d3eee027
And there's more reverts too. The previous commmit
d838afbc9376bdadb8c690eb00b425f3eeccdf2d to gnu-config finally solves
it!
This reverts commit 3ed545ab31.
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/fswatch/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/c05hlqp57zslb3imjx6m5dary3ak601d-fswatch-1.11.3/bin/fswatch -h’ got 0 exit code
- ran ‘/nix/store/c05hlqp57zslb3imjx6m5dary3ak601d-fswatch-1.11.3/bin/fswatch --help’ got 0 exit code
- found 1.11.3 with grep in /nix/store/c05hlqp57zslb3imjx6m5dary3ak601d-fswatch-1.11.3
- directory tree listing: https://gist.github.com/cc22e26348bfd98159c6519a470d3bdb
For details on the patches applied, see:
https://sources.debian.org/patches/ltrace/0.7.3-6/
Disabling '-Werror' may be a problem in the future again,
but for now keep things simple now that they're fixed.
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.
The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:
```
ISA: ARMv8 {-A, -R, -M}
/ \
Mode: Aarch32 Aarch64
| / \
Encoding: A64 A32 T32
```
At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.
The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.
[1]: https://developer.arm.com/products/architecture/a-profile
(cherry picked from commit ba52ae5048)
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.
The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:
```
ISA: ARMv8 {-A, -R, -M}
/ \
Mode: Aarch32 Aarch64
| / \
Encoding: A64 A32 T32
```
At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.
The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.
[1]: https://developer.arm.com/products/architecture/a-profile