Currently, the aarch64-linux build of Stepmania fails with libpng linkage errors:
> ld: ../extern/libpng.a(pngrtran.c.o): in function `png_do_read_transformations':
> pngrtran.c:(.text+0x4118): undefined reference to `png_riffle_palette_neon'
> ld: pngrtran.c:(.text+0x5188): undefined reference to `png_do_expand_palette_rgba8_neon'
> ld: pngrtran.c:(.text+0x6268): undefined reference to `png_do_expand_palette_rgb8_neon'
> ld: ../extern/libpng.a(pngrutil.c.o): in function `png_read_filter_row':
> pngrutil.c:(.text+0x6734): undefined reference to `png_init_filter_functions_neon'
> collect2: error: ld returned 1 exit status
Stepmania vendors many dependencies in source form in their code repository; it appears that the libpng
build configured there seems to be either misconfigured or isn't building correctly under NixOS. I played
around with a couple of NEON-related compile flags but couldn't get anything to stick.
A workaround that works seems to be building against the Nixpkgs libpng instead. It builds, launch, and (so far)
plays correctly on my NixOS-based M1 Air and my PC.
These packages were identified as broken when ffmpeg = ffmpeg_5.
Tested _only_ by building them. If you are a maintainer of one of these
packages, please test whether your package still works.
Done with the help of https://github.com/Mindavi/nixpkgs-mark-broken
Tool is still WIP but this is one of the first results.
I manually audited the results and removed some results that were not valid.
Note that some of these packages maybe should have more constrained platforms set
instead of broken set, but I think not being perfectly correct is better than
just keep trying to build all these things and never succeeding.
Some observations:
- Some darwin builds require XCode tools
- aarch64-linux builds sometimes suffer from using gcc9
- gcc9 is getting older and misses some new libraries/features
- Sometimes tools try to do system detection or expect some explicit settings for
platforms that are not x86_64-linux
According to https://repology.org/repository/nix_unstable/problems, we have a
lot of packages that have http links that redirect to https as their homepage.
This commit updates all these packages to use the https links as their
homepage.
The following script was used to make these updates:
```
curl https://repology.org/api/v1/repository/nix_unstable/problems \
| jq '.[] | .problem' -r \
| rg 'Homepage link "(.+)" is a permanent redirect to "(.+)" and should be updated' --replace 's@$1@$2@' \
| sort | uniq > script.sed
find -name '*.nix' | xargs -P4 -- sed -f script.sed -i
```
* pkgs: refactor needless quoting of homepage meta attribute
A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.
* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit
* Fixed some instances