diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7129b9c895..fa9ece4105 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -137,7 +137,6 @@ jobs: let large = ${{ github.repository == 'leanprover/lean4' }}; let matrix = [ { - // portable release build: use channel with older glibc (2.27) "name": "Linux LLVM", "os": "ubuntu-latest", "release": false, @@ -152,6 +151,7 @@ jobs: "CMAKE_OPTIONS": "-DLLVM=ON -DLLVM_CONFIG=${GITHUB_WORKSPACE}/build/llvm-host/bin/llvm-config" }, { + // portable release build: use channel with older glibc (2.26) "name": "Linux release", "os": large ? "nscloud-ubuntu-22.04-amd64-4x8" : "ubuntu-latest", "release": true, diff --git a/doc/setup.md b/doc/setup.md index 28de3664f8..8f66e8765a 100644 --- a/doc/setup.md +++ b/doc/setup.md @@ -4,7 +4,7 @@ Platforms built & tested by our CI, available as binary releases via elan (see below) -* x86-64 Linux with glibc 2.27+ +* x86-64 Linux with glibc 2.26+ * x86-64 macOS 10.15+ * aarch64 (Apple Silicon) macOS 10.15+ * x86-64 Windows 11 (any version), Windows 10 (version 1903 or higher), Windows Server 2022 diff --git a/flake.lock b/flake.lock index 6443026962..76f62f6ec7 100644 --- a/flake.lock +++ b/flake.lock @@ -67,12 +67,30 @@ "type": "github" } }, + "nixpkgs-older": { + "flake": false, + "locked": { + "lastModified": 1523316493, + "narHash": "sha256-5qJS+i5ECICPAKA6FhPLIWkhPKDnOZsZbh2PHYF1Kbs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0b307aa73804bbd7a7172899e59ae0b8c347a62d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0b307aa73804bbd7a7172899e59ae0b8c347a62d", + "type": "github" + } + }, "root": { "inputs": { "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", "nixpkgs-cadical": "nixpkgs-cadical", - "nixpkgs-old": "nixpkgs-old" + "nixpkgs-old": "nixpkgs-old", + "nixpkgs-older": "nixpkgs-older" } }, "systems": { diff --git a/flake.nix b/flake.nix index 372bf8263a..e31257f8c5 100644 --- a/flake.nix +++ b/flake.nix @@ -5,17 +5,20 @@ # old nixpkgs used for portable release with older glibc (2.27) inputs.nixpkgs-old.url = "github:NixOS/nixpkgs/nixos-19.03"; inputs.nixpkgs-old.flake = false; + # old nixpkgs used for portable release with older glibc (2.26) + inputs.nixpkgs-older.url = "github:NixOS/nixpkgs/0b307aa73804bbd7a7172899e59ae0b8c347a62d"; + inputs.nixpkgs-older.flake = false; # for cadical 1.9.5; sync with CMakeLists.txt inputs.nixpkgs-cadical.url = "github:NixOS/nixpkgs/12bf09802d77264e441f48e25459c10c93eada2e"; inputs.flake-utils.url = "github:numtide/flake-utils"; - outputs = { self, nixpkgs, nixpkgs-old, flake-utils, ... }@inputs: flake-utils.lib.eachDefaultSystem (system: + outputs = inputs: inputs.flake-utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs { inherit system; }; + pkgs = import inputs.nixpkgs { inherit system; }; # An old nixpkgs for creating releases with an old glibc - pkgsDist-old = import nixpkgs-old { inherit system; }; + pkgsDist-old = import inputs.nixpkgs-older { inherit system; }; # An old nixpkgs for creating releases with an old glibc - pkgsDist-old-aarch = import nixpkgs-old { localSystem.config = "aarch64-unknown-linux-gnu"; }; + pkgsDist-old-aarch = import inputs.nixpkgs-old { localSystem.config = "aarch64-unknown-linux-gnu"; }; pkgsCadical = import inputs.nixpkgs-cadical { inherit system; }; cadical = if pkgs.stdenv.isLinux then # use statically-linked cadical on Linux to avoid glibc versioning troubles