Building ancient nixpkgs

From NixOS Wiki
Jump to: navigation, search

Nix's reproducibility allows for easy building of ancient nixpkgs checkouts.

An attempt to get firefox 2.0 running can be found here:

Replacing outdated

You may find that the build fails as it cannot find some tarballs. This is solved by updating the primary mirror URL to one that is still running:

for x in $(find); do sed -i 's/' "$x"; done
for x in $(find); do sed -i 's/dist\/tarballs\///g' "$x"; done

You will also want to run nix-build with the --no-substitute flag to avoid any outdated caches.

Replacing outdated package sources

nix-build may fail while trying to fetch a package from a 3rd-party mirror. If this happens, you will need to search the internet for another mirror from which you can fetch the package; for certain nixpkgs versions you will need to ensure it does not force-redirect to SSL as curl was not built with SSL support in early versions.

You can manually add a tarball to the store by using nix-prefetch-url. You have to use the same checksum algorithm used in the nixpkgs definition with the --type parameter.