Updating nixpkgs packages since 2018
Go to file
2018-03-21 21:33:48 -07:00
old move old notes 2018-02-26 06:42:29 -08:00
.gitignore ignore packages-to-update.txt 2018-03-19 22:38:39 -07:00
.travis.yml add travis continuous testing 2018-03-21 21:33:48 -07:00
check-result.sh add changes suggested by shellcheck 2018-03-17 07:57:57 -07:00
delete-merged.sh update delete-merged to delete local ones too 2018-03-17 11:21:16 -07:00
LICENSE change license to public domain, move old stuff into old directory 2018-02-26 06:31:48 -08:00
README.md add other prior work 2018-03-09 13:30:54 -08:00
to-staging.sh log timestamps, git merge base, blacklist fricas 2018-03-14 10:06:37 -07:00
up.sh temporarily blacklist attrpaths starting with lua 2018-03-21 20:53:40 -07:00
ups.sh do work during while waiting 15 minutes 2018-03-19 22:37:51 -07:00

nix-update

Currently interesting files ups.sh, up.sh, check-result.sh.

  1. get a list of oudated packages
    git clone https://github.com/ryantm/repology-api.git
    cabal2nix --shell --hpack . > shell.nix && nix-build shell.nix && result/bin/repology-api > packages-to-update.txt
  1. Prepare a nixpkgs git repository where you want to do the updates. It expects origin to be where you want to push your updates. It clobbers any changes in that directory with git reset --hard. USE THIS ON A NEWLY CLONED REPO ONLY FOR THIS PURPOSE.
  2. copy list of ones you want to update into ups.sh ARGUMENTS variable
  3. delete update arguments that seem wrong. (Weird version strings, versions that don't seem like an update, the update version doesn't look like it would work with nixpkgs)
  4. Be in the directory of your update git repository. run ups.sh if it succeeds, it will make commits and push updates to the origin remote!

prior work

https://github.com/NixOS/nixpkgs/blob/master/pkgs/common-updater/scripts/update-source-version https://github.com/NixOS/nixpkgs/tree/master/pkgs/build-support/upstream-updater