The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
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
Semi-automatic update. These checks were performed:
- built on NixOS
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades -h` got 0 exit code
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades --help` got 0 exit code
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades help` got 0 exit code
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades -V` and found version 0.1.2
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades -v` and found version 0.1.2
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades --version` and found version 0.1.2
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades version` and found version 0.1.2
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades -h` and found version 0.1.2
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades --help` and found version 0.1.2
- ran `/nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2/bin/openspades help` and found version 0.1.2
- found 0.1.2 with grep in /nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2
- found 0.1.2 in filename of file in /nix/store/8s6lwg583x8867mjc29znp9a1cdiqdri-openspades-0.1.2
(My OCD kicked in today...)
Remove repeated package names, capitalize first word, remove trailing
periods and move overlong descriptions to longDescription.
I also simplified some descriptions as well, when they were particularly
long or technical, often based on Arch Linux' package descriptions.
I've tried to stay away from generated expressions (and I think I
succeeded).
Some specifics worth mentioning:
* cron, has "Vixie Cron" in its description. The "Vixie" part is not
mentioned anywhere else. I kept it in a parenthesis at the end of the
description.
* ctags description started with "Exuberant Ctags ...", and the
"exuberant" part is not mentioned elsewhere. Kept it in a parenthesis
at the end of description.
* nix has the description "The Nix Deployment System". Since that
doesn't really say much what it is/does (especially after removing
the package name!), I changed that to "Powerful package manager that
makes package management reliable and reproducible" (borrowed from
nixos.org).
* Tons of "GNU Foo, Foo is a [the important bits]" descriptions
is changed to just [the important bits]. If the package name doesn't
contain GNU I don't think it's needed to say it in the description
either.