at master 1.4 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 python, 5 fetchFromGitHub, 6 7 # build system 8 setuptools, 9 10 # tests 11 pytestCheckHook, 12}: 13 14# Switch version based on python version, as the situation isn't easy: 15# https://github.com/wbond/asn1crypto/issues/269 16# https://github.com/MatthiasValvekens/certomancer/issues/12 17let 18 provenance = 19 if lib.versionOlder python.version "3.12" then 20 rec { 21 version = "1.5.1"; 22 rev = version; 23 hash = "sha256-M8vASxhaJPgkiTrAckxz7gk/QHkrFlNz7fFbnLEBT+M="; 24 } 25 else 26 { 27 version = "1.5.1-unstable-2023-11-03"; 28 rev = "b763a757bb2bef2ab63620611ddd8006d5e9e4a2"; 29 hash = "sha256-11WajEDtisiJsKQjZMSd5sDog3DuuBzf1PcgSY+uuXY="; 30 }; 31in 32 33buildPythonPackage { 34 pname = "asn1crypto"; 35 pyproject = true; 36 inherit (provenance) version; 37 38 # Pulling from Github to run tests 39 src = fetchFromGitHub { 40 owner = "wbond"; 41 repo = "asn1crypto"; 42 inherit (provenance) rev hash; 43 }; 44 45 nativeBuildInputs = [ setuptools ]; 46 47 nativeCheckInputs = [ pytestCheckHook ]; 48 49 meta = { 50 description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP"; 51 license = lib.licenses.mit; 52 homepage = "https://github.com/wbond/asn1crypto"; 53 maintainers = with lib.maintainers; [ dotlambda ]; 54 }; 55}