From 2983aa45827a2f0be06cd4a4c6473e499642430a Mon Sep 17 00:00:00 2001 From: Tomasz Kontusz Date: Thu, 18 Jul 2024 22:00:10 +0200 Subject: [PATCH] Use OpenSSL 1.0.x for old Python --- flake.lock | 20 +++++++++++++++++++- flake.nix | 11 ++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 9ef32f6..c2d57af 100644 --- a/flake.lock +++ b/flake.lock @@ -32,10 +32,28 @@ "type": "github" } }, + "nixpkgs-1809": { + "flake": false, + "locked": { + "lastModified": 1558254092, + "narHash": "sha256-5v6XuO9dOVpB3ZGNyDvLqOvCnzlyyvscTYbNiQouSZo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a7e559a5504572008567383c3dc8e142fa7a8633", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-18.09", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nixpkgs-1809": "nixpkgs-1809" } } }, diff --git a/flake.nix b/flake.nix index 984cf0b..ff4ddf1 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,8 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; + nixpkgs-1809.url = "github:NixOS/nixpkgs/nixos-18.09"; + nixpkgs-1809.flake = false; flake-compat.url = "github:edolstra/flake-compat"; flake-compat.flake = false; }; @@ -12,14 +14,14 @@ extra-trusted-public-keys = "nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU="; }; - outputs = { self, nixpkgs, ... }: + outputs = { self, nixpkgs, nixpkgs-1809, ... }: let systems = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; forAllSystems = f: builtins.listToAttrs (map (name: { inherit name; value = f name; }) systems); lib = nixpkgs.lib; versionInBetween = version: lower: upper: lib.versionOlder version lower && lib.versionAtLeast version upper; - in { + in builtins.trace "nixpkgs-python" { lib.applyOverrides = overrides: pkg: let matching = builtins.filter ({ condition, ... }: condition pkg.version) overrides; @@ -27,6 +29,7 @@ in lib.foldl apply pkg matching; lib.mkPython = { pkgs + , pkgs-1809 , version , hash , url @@ -168,6 +171,7 @@ hash = null; self = packages.${version}; passthruFun = callPackage "${pkgs.path}/pkgs/development/interpreters/python/passthrufun.nix" { }; + openssl_legacy = pkgs-1809.openssl_1_0_2; } // lib.optionalAttrs (sourceVersion.major == "3") { noldconfigPatch = ./patches + "/${sourceVersion.major}.${sourceVersion.minor}-no-ldconfig.patch"; }))).overrideAttrs (old: { @@ -186,8 +190,9 @@ checks = forAllSystems (system: let pkgs = nixpkgs.legacyPackages.${system}; + pkgs-1809 = (import nixpkgs-1809) { system = system; }; getRelease = version: source: self.lib.mkPython { - inherit pkgs version packages; + inherit pkgs pkgs-1809 version packages; inherit (source) hash url; }; getLatest = version: latest: