Compare commits

..

No commits in common. "release-8" and "master" have entirely different histories.

18 changed files with 260 additions and 1234 deletions

View File

@ -3,6 +3,5 @@ ARTIQ extrapkg
This contains additional packages and infrastructure for ARTIQ: This contains additional packages and infrastructure for ARTIQ:
* MSYS2 and Conda packages * MSYS2 and Conda packages
* MSYS2 offline installer
* Controllers/NDSPs * Controllers/NDSPs
* Windows tests * Windows tests

175
flake.lock generated
View File

@ -13,11 +13,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1717637438, "lastModified": 1664405593,
"narHash": "sha256-BXFidNm3Em8iChPGu1L0s2bY+f2yQ0VVid4MuOoTehw=", "narHash": "sha256-yP441NerlLGig7n+9xHsx8yCtZ+Ggd0VqfBSzc20E04=",
"owner": "m-labs", "owner": "m-labs",
"repo": "artiq-comtools", "repo": "artiq-comtools",
"rev": "78d27026efe76a13f7b4698a554f55811369ec4d", "rev": "15ddac62813ef623a076ccf982b3bc63d314e651",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -42,11 +42,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1706553333, "lastModified": 1670448913,
"narHash": "sha256-woCaWllU5vKn0aXxt2VajlK7hseQe7LrJY5LAKF9LZ8=", "narHash": "sha256-ZCg7Rd5qpYl5Y8FEtLObnFRUiSJVZuSBdpa57SMVoNE=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "86df3ceb606a50708f812ce8c3c8a4e7cfc3db8f", "rev": "d592ccd1db4d9a97331d5397560d25b59c7820bb",
"revCount": 35, "revCount": 26,
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/artiq-stubs.git" "url": "https://gitlab.com/duke-artiq/artiq-stubs.git"
}, },
@ -66,16 +66,15 @@
"src-pythonparser": "src-pythonparser" "src-pythonparser": "src-pythonparser"
}, },
"locked": { "locked": {
"lastModified": 1721012880, "lastModified": 1682844949,
"narHash": "sha256-jraN3SJzyjn4AZAmj8Kxj1ggFkZDZiWrGcJdoxxA+fE=", "narHash": "sha256-o2qsfskZZliN4sFFITv7otu3IzcQ23sq3a8kLeOAHTQ=",
"ref": "release-8", "ref": "refs/heads/master",
"rev": "86a8d2d87a20d0f650deccb191de70f85b4b62fc", "rev": "3ff0be6540b5a9eb252cd95db6a812d75e7c8ed2",
"revCount": 8892, "revCount": 8342,
"type": "git", "type": "git",
"url": "https://github.com/m-labs/artiq.git" "url": "https://github.com/m-labs/artiq.git"
}, },
"original": { "original": {
"ref": "release-8",
"type": "git", "type": "git",
"url": "https://github.com/m-labs/artiq.git" "url": "https://github.com/m-labs/artiq.git"
} }
@ -98,11 +97,11 @@
"trap-dac-utils": "trap-dac-utils" "trap-dac-utils": "trap-dac-utils"
}, },
"locked": { "locked": {
"lastModified": 1718043213, "lastModified": 1682793563,
"narHash": "sha256-pnFYB2xf4tO1eDzLJuXh4YzHxLFt+STDE25Y2RyTArU=", "narHash": "sha256-tj+VwGBjcaeQCsrwrepfqVslDX2IDElIvVeEdsl1wIo=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "25d6175a617a81eeecc09459e425eb5edf23eb6d", "rev": "bb4e18743dcab017765d09b6ce1c3bba88be073e",
"revCount": 1343, "revCount": 1160,
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/dax.git" "url": "https://gitlab.com/duke-artiq/dax.git"
}, },
@ -112,51 +111,12 @@
} }
}, },
"flake-utils": { "flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1659877975,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -167,18 +127,17 @@
}, },
"flake8-artiq": { "flake8-artiq": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"daxpkgs", "daxpkgs",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1715377543, "lastModified": 1681932181,
"narHash": "sha256-JdHNJhgGkWqqUcsLfoZ7B/v4l6uwpegQvJuJAkfi2dw=", "narHash": "sha256-DffFqCG/xWb7KGuKYCUH8ItnaqgjcSpVy3g2bI/bIgs=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "1ca15e9b607eb88a17e3dcab022cb0d31c8f2fea", "rev": "8247f653ffc643ad8db00fd7fb52663aff4a48ef",
"revCount": 104, "revCount": 97,
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/flake8-artiq.git" "url": "https://gitlab.com/duke-artiq/flake8-artiq.git"
}, },
@ -190,11 +149,11 @@
"mozilla-overlay": { "mozilla-overlay": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1704373101, "lastModified": 1677493379,
"narHash": "sha256-+gi59LRWRQmwROrmE1E2b3mtocwueCQqZ60CwLG+gbg=", "narHash": "sha256-A1gO8zlWLv3+tZ3cGVB1WYvvoN9pbFyv0xIJHcTsckw=",
"owner": "mozilla", "owner": "mozilla",
"repo": "nixpkgs-mozilla", "repo": "nixpkgs-mozilla",
"rev": "9b11a87c0cc54e308fa83aac5b4ee1816d5418a2", "rev": "78e723925daf5c9e8d0a1837ec27059e61649cb6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -205,16 +164,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1720386169, "lastModified": 1682173319,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "narHash": "sha256-tPhOpJJ+wrWIusvGgIB2+x6ILfDkEgQMX0BTtM5vd/4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "rev": "ee7ec1c71adc47d2e3c2d5eb0d6b8fbbd42a8d1c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.05", "ref": "nixos-22.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -233,11 +192,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1717637367, "lastModified": 1681290481,
"narHash": "sha256-4mSm9wl5EMgzzrW6w86IDUevkEOT99FESHGcxcyQbD0=", "narHash": "sha256-VEZcGhbtJGonRrrWi31evNDVSerlLjEPL0MZGm9VlB8=",
"owner": "m-labs", "owner": "m-labs",
"repo": "sipyco", "repo": "sipyco",
"rev": "02b96ec2473a3c3d3c980899de2564ddce949dab", "rev": "727631ada6e59dc6ef0ad50bfcc376d2ffe805aa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -249,11 +208,11 @@
"src-migen": { "src-migen": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1720332047, "lastModified": 1674045327,
"narHash": "sha256-FdYVEHVtXHrzPhBqpXOTo9uHQAtuCsDPmAPY8JrfHOY=", "narHash": "sha256-oYdeY0MbTReKbAwmSznnqw0wNawdInJoFJVWW3tesFA=",
"owner": "m-labs", "owner": "m-labs",
"repo": "migen", "repo": "migen",
"rev": "60739a161e64630ce7ba62d1a5bac1252b66c3b9", "rev": "ccaee68e14d3636e1d8fb2e0864dd89b1b1f7384",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -265,11 +224,11 @@
"src-misoc": { "src-misoc": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1715647536, "lastModified": 1679903508,
"narHash": "sha256-q+USDcaKHABwW56Jzq8u94iGPWlyLXMyVt0j/Gyg+IE=", "narHash": "sha256-TI0agjSSMJtH4mgAMpSO128zxcwSo/AjY1B6AW7zBQQ=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "fea9de558c730bc394a5936094ae95bb9d6fa726", "rev": "0cf0ebb7d4f56cc6d44a3dea3e386efab9d82419",
"revCount": 2455, "revCount": 2437,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/m-labs/misoc.git" "url": "https://github.com/m-labs/misoc.git"
@ -296,65 +255,19 @@
"type": "github" "type": "github"
} }
}, },
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"trap-dac-utils": { "trap-dac-utils": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": [ "nixpkgs": [
"daxpkgs", "daxpkgs",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1714081850, "lastModified": 1681932204,
"narHash": "sha256-+zts5WigebrD8eg787dYlbByEBSXNGp7/ghRtcGkIDc=", "narHash": "sha256-ZvnaEiNWH7bWWt/MLHZrEeeqgTGBl0EBKS61N+YsiTs=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "a53849ade1400e30ac7399bcb05ae8508e725f48", "rev": "d3af0ff98d6f2d065f04013533de8b760f8e47e5",
"revCount": 298, "revCount": 278,
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/trap-dac-utils.git" "url": "https://gitlab.com/duke-artiq/trap-dac-utils.git"
}, },

153
flake.nix
View File

@ -1,7 +1,7 @@
{ {
description = "Additional packages for ARTIQ"; description = "Additional packages for ARTIQ";
inputs.artiqpkgs.url = git+https://github.com/m-labs/artiq.git?ref=release-8; inputs.artiqpkgs.url = git+https://github.com/m-labs/artiq.git;
inputs.daxpkgs = { inputs.daxpkgs = {
url = git+https://gitlab.com/duke-artiq/dax.git; url = git+https://gitlab.com/duke-artiq/dax.git;
@ -16,24 +16,16 @@
let let
pkgs = import artiqpkgs.inputs.nixpkgs { system = "x86_64-linux"; }; pkgs = import artiqpkgs.inputs.nixpkgs { system = "x86_64-linux"; };
msys2 = import ./msys2 { inherit pkgs; }; msys2 = import ./msys2 { inherit pkgs; };
sipycoDependenciesFile = ./msys2/sipyco_dependencies.txt;
artiqDependenciesFile = ./msys2/artiq_dependencies.txt;
comtoolsDependenciesFile = ./msys2/comtools_dependencies.txt;
pythonparserDependenciesFile = ./msys2/pythonparser_dependencies.txt;
# reads filename and return list of non-empty lines from it
readStringListFromFile = (filename: builtins.filter (x: builtins.lessThan 0 (builtins.length (pkgs.lib.strings.stringToCharacters x)))
(builtins.filter builtins.isString (builtins.split "\n| |\t" (builtins.readFile filename))));
condaDeps = with pkgs; [ zlib xorg.libSM xorg.libICE xorg.libX11 xorg.libXau xorg.libXi xorg.libXrender libselinux libGL ]; condaDeps = with pkgs; [ zlib xorg.libSM xorg.libICE xorg.libX11 xorg.libXau xorg.libXi xorg.libXrender libselinux libGL ];
# Use the full Anaconda distribution, which already contains conda-build and its many dependencies. # Use the full Anaconda distribution, which already contains conda-build and its many dependencies.
condaInstaller = pkgs.fetchurl { condaInstaller = pkgs.fetchurl {
url = "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh"; url = "https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh";
sha256 = "sha256-xTbdt7S6c4vdvU5YGykwjLMy+hKuP6LNZoFL1zXf8jE="; sha256 = "sha256-GXN9XCeyOh2HQMXLJBS/YlMYTOdF0KkSuyNaISoV4HU=";
}; };
condaInstallerEnv = pkgs.buildFHSEnv { condaInstallerEnv = pkgs.buildFHSUserEnv {
name = "conda-installer-env"; name = "conda-installer-env";
targetPkgs = pkgs: condaDeps; targetPkgs = pkgs: condaDeps;
extraBwrapArgs = [ "--bind" "/nix" "/nix" ];
}; };
condaInstalled = pkgs.stdenvNoCC.mkDerivation { condaInstalled = pkgs.stdenvNoCC.mkDerivation {
name = "conda-installed"; name = "conda-installed";
@ -50,14 +42,13 @@
installPhase = installPhase =
'' ''
conda-installer-env -c "./conda-installer.sh -p $out -b" conda-installer-env -c "./conda-installer.sh -p $out -b"
substituteInPlace $out/lib/python3.11/site-packages/conda/gateways/disk/__init__.py \ substituteInPlace $out/lib/python3.10/site-packages/conda/gateways/disk/__init__.py \
--replace "os.chmod(path, 0o2775)" "pass" --replace "os.chmod(path, 0o2775)" "pass"
''; '';
}; };
condaBuilderEnv = pkgs.buildFHSEnv { condaBuilderEnv = pkgs.buildFHSUserEnv {
name = "conda-builder-env"; name = "conda-builder-env";
targetPkgs = pkgs: condaDeps ++ [ condaInstalled ]; targetPkgs = pkgs: condaDeps ++ [ condaInstalled ];
extraBwrapArgs = [ "--bind" "/nix" "/nix" ];
}; };
makeCondaRecipe = (constituent: makeCondaRecipe = (constituent:
'' ''
@ -230,10 +221,7 @@
++ (with pkgs.python3Packages; [ numpy scipy influxdb pyqtgraph setuptools ]); ++ (with pkgs.python3Packages; [ numpy scipy influxdb pyqtgraph setuptools ]);
}; };
flake8-artiq = daxpkgs.packages.x86_64-linux.flake8-artiq; flake8-artiq = daxpkgs.packages.x86_64-linux.flake8-artiq;
dax = daxpkgs.packages.x86_64-linux.dax.overridePythonAttrs (oa: { dax = daxpkgs.packages.x86_64-linux.dax.overridePythonAttrs (oa: { doCheck = false; });
nativeBuildInputs = (oa.nativeBuildInputs or []) ++ [ pkgs.qt5.wrapQtAppsHook ];
doCheck = false;
});
trap-dac-utils = daxpkgs.packages.x86_64-linux.trap-dac-utils; trap-dac-utils = daxpkgs.packages.x86_64-linux.trap-dac-utils;
dax-applets = pkgs.python3Packages.buildPythonPackage rec { dax-applets = pkgs.python3Packages.buildPythonPackage rec {
pname = "dax-applets"; pname = "dax-applets";
@ -243,8 +231,6 @@
rev = "0f0196b6941b0c44a33c85d8c02047ca65466463"; rev = "0f0196b6941b0c44a33c85d8c02047ca65466463";
sha256 = "0mx6yjvprhdnkdigwns8mg6v5daqxpgbv7mf63fa76i1iv2wvak4"; sha256 = "0mx6yjvprhdnkdigwns8mg6v5daqxpgbv7mf63fa76i1iv2wvak4";
}; };
nativeBuildInputs = [ pkgs.qt5.wrapQtAppsHook ];
dontWrapQtApps = true;
propagatedBuildInputs = [ artiqpkgs.packages.x86_64-linux.artiq ] propagatedBuildInputs = [ artiqpkgs.packages.x86_64-linux.artiq ]
++ (with pkgs.python3Packages; [ numpy pyqt5 pyqtgraph ]); ++ (with pkgs.python3Packages; [ numpy pyqt5 pyqtgraph ]);
doCheck = false; doCheck = false;
@ -282,7 +268,7 @@
postInstall = postInstall =
'' ''
# conflicts with linien-client # conflicts with linien-client
rm -rf $out/lib/python3.11/site-packages/linien/__pycache__ rm -rf $out/lib/python3.10/site-packages/linien/__pycache__
''; '';
}; };
# replace broken (as usual) setuptools launcher # replace broken (as usual) setuptools launcher
@ -427,19 +413,19 @@
name = "python-pythonparser"; name = "python-pythonparser";
version = artiqpkgs.packages.x86_64-linux.pythonparser.version; version = artiqpkgs.packages.x86_64-linux.pythonparser.version;
src = artiqpkgs.packages.x86_64-linux.pythonparser.src; src = artiqpkgs.packages.x86_64-linux.pythonparser.src;
depends = readStringListFromFile pythonparserDependenciesFile; depends = [ "mingw-w64-x86_64-python-regex" ];
}; };
msys2-sipyco = msys2.makeMsys2Package { msys2-sipyco = msys2.makeMsys2Package {
name = "python-sipyco"; name = "python-sipyco";
src = artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco.src; src = artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco.src;
inherit (artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco) version; inherit (artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco) version;
depends = readStringListFromFile sipycoDependenciesFile; depends = [ "mingw-w64-x86_64-python" "mingw-w64-x86_64-python-numpy" "mingw-w64-x86_64-python-pybase64" ];
}; };
msys2-artiq-comtools = msys2.makeMsys2Package { msys2-artiq-comtools = msys2.makeMsys2Package {
name = "artiq-comtools"; name = "artiq-comtools";
src = artiqpkgs.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools.src; src = artiqpkgs.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools.src;
inherit (artiqpkgs.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools) version; inherit (artiqpkgs.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools) version;
depends = (readStringListFromFile comtoolsDependenciesFile) ++ [ "mingw-w64-clang-x86_64-python-sipyco" ]; depends = [ "mingw-w64-x86_64-python" "mingw-w64-x86_64-python-sipyco" "mingw-w64-x86_64-python-numpy" "mingw-w64-x86_64-python-aiohttp" ];
}; };
msys2-artiq = msys2.makeMsys2Package { msys2-artiq = msys2.makeMsys2Package {
name = "artiq"; name = "artiq";
@ -449,57 +435,74 @@
export VERSIONEER_OVERRIDE=${artiqpkgs.packages.x86_64-linux.artiq.version} export VERSIONEER_OVERRIDE=${artiqpkgs.packages.x86_64-linux.artiq.version}
export VERSIONEER_REV=${artiqpkgs.sourceInfo.rev} export VERSIONEER_REV=${artiqpkgs.sourceInfo.rev}
''; '';
depends = (readStringListFromFile artiqDependenciesFile) depends = [
++ [ "mingw-w64-clang-x86_64-python-sipyco" "mingw-w64-clang-x86_64-python-pythonparser" "mingw-w64-clang-x86_64-artiq-comtools" ]; "mingw-w64-x86_64-python"
"mingw-w64-x86_64-python-h5py"
"mingw-w64-x86_64-python-pyqt5"
"mingw-w64-x86_64-qt5-svg"
"mingw-w64-x86_64-python-qasync"
"mingw-w64-x86_64-python-pyqtgraph"
"mingw-w64-x86_64-python-numpy"
"mingw-w64-x86_64-python-scipy"
"mingw-w64-x86_64-python-dateutil"
"mingw-w64-x86_64-python-prettytable"
"mingw-w64-x86_64-python-tqdm"
"mingw-w64-x86_64-python-pygit2"
"mingw-w64-x86_64-python-sipyco"
"mingw-w64-x86_64-python-llvmlite"
"mingw-w64-x86_64-python-pythonparser"
"mingw-w64-x86_64-python-levenshtein"
"mingw-w64-x86_64-lld"
"mingw-w64-x86_64-artiq-comtools"
];
}; };
msys2-asyncserial = msys2.makeMsys2Package { msys2-asyncserial = msys2.makeMsys2Package {
name = "python-asyncserial"; name = "python-asyncserial";
version = artiqpkgs.packages.x86_64-linux.asyncserial.version; version = artiqpkgs.packages.x86_64-linux.asyncserial.version;
src = artiqpkgs.packages.x86_64-linux.asyncserial.src; src = artiqpkgs.packages.x86_64-linux.asyncserial.src;
depends = [ "mingw-w64-clang-x86_64-python" ]; depends = [ "mingw-w64-x86_64-python" ];
}; };
msys2-korad_ka3005p = msys2.makeMsys2Package { msys2-korad_ka3005p = msys2.makeMsys2Package {
name = "korad_ka3005p"; name = "korad_ka3005p";
version = korad_ka3005p.version; version = korad_ka3005p.version;
src = korad_ka3005p.src; src = korad_ka3005p.src;
depends = [ "mingw-w64-clang-x86_64-python-sipyco" "mingw-w64-clang-x86_64-python-asyncserial" ]; depends = [ "mingw-w64-x86_64-python-sipyco" "mingw-w64-x86_64-python-asyncserial" ];
}; };
msys2-novatech409b = msys2.makeMsys2Package { msys2-novatech409b = msys2.makeMsys2Package {
name = "novatech409b"; name = "novatech409b";
version = novatech409b.version; version = novatech409b.version;
src = novatech409b.src; src = novatech409b.src;
depends = [ "mingw-w64-clang-x86_64-python-sipyco" "mingw-w64-clang-x86_64-python-asyncserial" ]; depends = [ "mingw-w64-x86_64-python-sipyco" "mingw-w64-x86_64-python-asyncserial" ];
}; };
msys2-lda = msys2.makeMsys2Package { msys2-lda = msys2.makeMsys2Package {
name = "lda"; name = "lda";
version = lda.version; version = lda.version;
src = lda.src; src = lda.src;
depends = [ "mingw-w64-clang-x86_64-python-sipyco" ]; depends = [ "mingw-w64-x86_64-python-sipyco" ];
}; };
msys2-thorlabs_tcube = msys2.makeMsys2Package { msys2-thorlabs_tcube = msys2.makeMsys2Package {
name = "thorlabs_tcube"; name = "thorlabs_tcube";
version = thorlabs_tcube.version; version = thorlabs_tcube.version;
src = thorlabs_tcube.src; src = thorlabs_tcube.src;
depends = [ "mingw-w64-clang-x86_64-python-sipyco" "mingw-w64-clang-x86_64-python-asyncserial" ]; depends = [ "mingw-w64-x86_64-python-sipyco" "mingw-w64-x86_64-python-asyncserial" ];
}; };
msys2-newfocus8742 = msys2.makeMsys2Package { msys2-newfocus8742 = msys2.makeMsys2Package {
name = "newfocus8742"; name = "newfocus8742";
version = newfocus8742.version; version = newfocus8742.version;
src = newfocus8742.src; src = newfocus8742.src;
depends = [ "mingw-w64-clang-x86_64-python-sipyco" ]; depends = [ "mingw-w64-x86_64-python-sipyco" ];
}; };
msys2-hut2 = msys2.makeMsys2Package { msys2-hut2 = msys2.makeMsys2Package {
name = "hut2"; name = "hut2";
version = hut2.version; version = hut2.version;
src = hut2.src; src = hut2.src;
depends = [ "mingw-w64-clang-x86_64-python-sipyco" ]; depends = [ "mingw-w64-x86_64-python-sipyco" ];
}; };
msys2-flake8-artiq = msys2.makeMsys2Package { msys2-flake8-artiq = msys2.makeMsys2Package {
name = "flake8-artiq"; name = "flake8-artiq";
version = flake8-artiq.version; version = flake8-artiq.version;
src = flake8-artiq.src; src = flake8-artiq.src;
depends = [ "mingw-w64-clang-x86_64-python-flake8" ]; depends = [ "mingw-w64-x86_64-python-flake8" ];
}; };
msys2-repos = msys2.makeMsys2Repos [ msys2-repos = msys2.makeMsys2Repos [
msys2-pythonparser msys2-sipyco msys2-artiq-comtools msys2-artiq msys2-pythonparser msys2-sipyco msys2-artiq-comtools msys2-artiq
@ -512,94 +515,18 @@
msys2-hut2 msys2-hut2
msys2-flake8-artiq msys2-flake8-artiq
]; ];
msys2-offline-installer = pkgs.stdenv.mkDerivation {
name = "msys2-offline-installer";
buildInputs = with pkgs; [ p7zip ];
src = ./.;
msys2_qt_ifw = pkgs.stdenvNoCC.mkDerivation rec {
name = "msys2_qt_ifw";
srcs = import ./msys2/msys2_qt_ifw_packages.nix { inherit pkgs; };
buildInputs = [ pkgs.gnutar pkgs.zstd ];
phases = [ "installPhase" ];
installPhase = (pkgs.lib.strings.concatStringsSep "\n" (["mkdir $out"] ++ (map (p: "tar xvf ${p} -C $out") srcs)));
};
msys2_artiq_root = pkgs.stdenvNoCC.mkDerivation rec {
name = "msys2_artiq_root";
artiq-deps-pkgs = import ./msys2/artiq_dependency_packages.nix { inherit pkgs; };
msys2-pkgs = import ./msys2/msys2_packages.nix { inherit pkgs; };
msys2-base = pkgs.fetchurl {
url = "https://github.com/msys2/msys2-installer/releases/download/2024-05-07/msys2-base-x86_64-20240507.tar.xz";
name = "base";
sha256 = "sha256-RiXJqvmFDaItr6KgoWTekUPHue4i/LM4uBqfVx9HKpc=";
};
src = ./.;
buildInputs = [ pkgs.gnutar pkgs.zstd pkgs.pacman pkgs.fakeroot ];
phases = [ "installPhase" ];
installPhase = ''
mkdir $out
mkdir -p tmp/cache
tar -xvf ${msys2-base} --strip-components=1 -C $out/ msys64
printf "\n[artiq]\nSigLevel = Optional TrustAll\nServer = https://msys2.m-labs.hk/artiq\n" >> $out/etc/pacman.conf
cat $out/etc/pacman.conf | sed -e "s|/etc/pacman.d|$out/etc/pacman.d|g" -e "s|SigLevel = Required|SigLevel = Never|g" -e "s|CheckSpace||g" > tmp/pacman.conf
sed -i '/\[mingw32\]/,/^$/d; /\[clang32\]/,/^$/d; /\[mingw64\]/,/^$/d; /\[ucrt64\]/,/^$/d; /\[clangarm64\]/,/^$/d;' $out/etc/pacman.conf
fakeroot pacman -U --asdeps --noconfirm --cachedir tmp/cache --config tmp/pacman.conf --root $out ${pkgs.lib.concatStringsSep " " (map (p: "${p}") msys2-pkgs)}
fakeroot pacman -U --asdeps --noconfirm --cachedir tmp/cache --config tmp/pacman.conf --root $out ${pkgs.lib.concatStringsSep " " (map (p: "${p}") artiq-deps-pkgs)}
fakeroot pacman -U --noconfirm --cachedir tmp/cache --config tmp/pacman.conf --root $out ${msys2-artiq}/*.pkg.tar.zst ${msys2-artiq-comtools}/*.pkg.tar.zst ${msys2-pythonparser}/*.pkg.tar.zst ${msys2-sipyco}/*.pkg.tar.zst
rm -rf $out/mingw64* $out/clang32* $out/clangarm64* $out/mingw32* $out/ucrt64* \
$out/var/lib/pacman/sync/mingw64* $out/var/lib/pacman/sync/clang32* $out/var/lib/pacman/sync/clangarm64* \
$out/var/lib/pacman/sync/mingw32* $out/var/lib/pacman/sync/ucrt64* \
$out/etc/pacman.d/mirrorlist.mingw64 $out/etc/pacman.d/mirrorlist.clang32 $out/etc/pacman.d/mirrorlist.clangarm64 \
$out/etc/pacman.d/mirrorlist.mingw32 $out/etc/pacman.d/mirrorlist.ucrt64
'';
};
phases = [ "buildPhase" "installPhase" ];
buildPhase = ''
export HOME=`mktemp -d`
cp -r $src/installer/qt-ifw qt-ifw
# needed for sed and 7z
chmod -R 700 qt-ifw
sed -i "s|@DATE@|$(date +'%Y-%m-%d')|g" qt-ifw/config/config.xml qt-ifw/packages/com.msys2.root/meta/package.xml ;
sed -i "s|@VERSION@|${artiqpkgs.packages.x86_64-linux.artiq.version}|g" qt-ifw/config/config.xml qt-ifw/packages/com.msys2.root/meta/package.xml ;
7z a -mx9 -md128m "qt-ifw/packages/com.msys2.root/data/msys64.7z" "$msys2_artiq_root/"*
${pkgs.wineWowPackages.stable}/bin/wine64 $msys2_qt_ifw/clang64/bin/binarycreator.exe \
-t "$msys2_qt_ifw/clang64/bin/installerbase.exe" \
-p "qt-ifw/packages" \
-c "qt-ifw/config/config.xml" \
--offline-only \
"artiq-msys2-x86_64.exe" \
-v
'';
installPhase = ''
mkdir -p $out
cp artiq-msys2-x86_64.exe $out/artiq-msys2-x86_64-${artiqpkgs.packages.x86_64-linux.artiq.version}.exe
mkdir -p $out/nix-support/
for i in $out/*.*; do
echo file binary-dist $i >> $out/nix-support/hydra-build-products
done
'';
};
}; };
hydraJobs = packages.x86_64-linux; hydraJobs = packages.x86_64-linux;
devShells.x86_64-linux = { devShells.x86_64-linux.msys2 = pkgs.mkShell {
msys2 = pkgs.mkShell {
name = "dev-shell-msys2"; name = "dev-shell-msys2";
buildInputs = with pkgs; [ buildInputs = with pkgs; [
curl curl
pacman pacman
fakeroot fakeroot
p7zip
msys2.wine-msys2 msys2.wine-msys2
wineWowPackages.stable
]; ];
}; };
}; };
};
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>MSYS2 with ARTIQ</Name>
<Version>@VERSION@</Version>
<Title>MSYS2 with ARTIQ</Title>
<Publisher>M-Labs Ltd.</Publisher>
<ControlScript>control.js</ControlScript>
<StartMenuDir>MSYS2 with ARTIQ</StartMenuDir>
<RunProgram>@TargetDir@/clang64.exe</RunProgram>
<RunProgramArguments></RunProgramArguments>
<InstallerApplicationIcon>artiq</InstallerApplicationIcon>
<InstallerWindowIcon>artiq.ico</InstallerWindowIcon>
<InstallActionColumnVisible>false</InstallActionColumnVisible>
<MaintenanceToolName>uninstall</MaintenanceToolName>
<SupportsModify>false</SupportsModify>
<RepositorySettingsPageVisible>false</RepositorySettingsPageVisible>
<SaveDefaultRepositories>false</SaveDefaultRepositories>
</Installer>

View File

@ -1,20 +0,0 @@
function Controller()
{
installer.setDefaultPageVisible(QInstaller.LicenseCheck, false);
if (installer.isInstaller()) {
installer.setDefaultPageVisible(QInstaller.ComponentSelection, false);
installer.setDefaultPageVisible(QInstaller.ReadyForInstallation, false);
}
}
Controller.prototype.IntroductionPageCallback = function()
{
const widget = gui.currentPageWidget();
const radioNames = ["PackageManagerRadioButton", "UpdaterRadioButton"];
for (const name of radioNames) {
const el = gui.findChild(widget, name);
if (el != null) {
el.hide();
}
}
}

View File

@ -1,64 +0,0 @@
function cancelInstaller(message)
{
installer.setDefaultPageVisible(QInstaller.Introduction, false);
installer.setDefaultPageVisible(QInstaller.TargetDirectory, false);
installer.setDefaultPageVisible(QInstaller.ComponentSelection, false);
installer.setDefaultPageVisible(QInstaller.ReadyForInstallation, false);
installer.setDefaultPageVisible(QInstaller.StartMenuSelection, false);
installer.setDefaultPageVisible(QInstaller.PerformInstallation, false);
installer.setDefaultPageVisible(QInstaller.LicenseCheck, false);
var abortText = "<font color='red'>" + message +"</font>";
installer.setValue("FinishedText", abortText);
installer.setValue("RunProgram", null);
}
function isSupported()
{
if (systemInfo.kernelType === "winnt") {
var major = parseInt(systemInfo.kernelVersion.split(".", 1));
var minor = parseInt(systemInfo.kernelVersion.split(".", 2)[1]);
// Windows >= 8.1
if (major > 6 || (major == 6 && minor >= 3)) {
return true;
}
}
return false;
}
function createShortcuts()
{
var windir = installer.environmentVariable("WINDIR");
if (windir === "") {
QMessageBox["warning"]( "Error" , "Error", "Could not find windows installation directory");
return;
}
component.addOperation("CreateShortcut", "@TargetDir@/clang64.exe", "@StartMenuDir@/MSYS2 with ARTIQ.lnk", "iconPath=@TargetDir@/clang64.exe");
component.addOperation( "Execute",
["@TargetDir@\\usr\\bin\\bash.exe", "--login", "-c", "exit"]);
}
function Component() {
if (!isSupported()) {
cancelInstaller("Installation on " + systemInfo.prettyProductName + " is not supported");
return;
}
var systemDrive = installer.environmentVariable("SystemDrive");
// Use C: as a default for messed up systems.
if (systemDrive === "") {
systemDrive = "C:";
}
var targetDir = installer.value("TargetDir", systemDrive+"\\msys64")
installer.setValue("TargetDir", targetDir);
}
Component.prototype.createOperations = function()
{
component.createOperations();
createShortcuts();
}

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<Package>
<DisplayName>MSYS2 with ARTIQ</DisplayName>
<Description>Cygwin-derived Posix-like env. for Windows with Arch Linux's Pacman and pre-installed ARTIQ software</Description>
<Version>@VERSION@</Version>
<ReleaseDate>@DATE@</ReleaseDate>
<Default>true</Default>
<Script>installscript.js</Script>
</Package>

View File

@ -1,32 +1,32 @@
arch=("any") arch=("any")
mingw_arch=("clang64") mingw_arch=("mingw64")
pkgver=${DRV_VERSION} pkgver=${DRV_VERSION}
url="https://m-labs.hk" url="https://m-labs.hk"
source=("source.tar") source=("source.tar")
sha256sums=("SKIP") sha256sums=("SKIP")
build() { build() {
mkdir clang64 mkdir mingw64
export PYTHONPATH=`pwd`/clang64/lib/python3.11/site-packages export PYTHONPATH=`pwd`/mingw64/lib/python3.10/site-packages
chmod +w -R source chmod +w -R source
cd source cd source
wine-msys2-build python setup.py install --single-version-externally-managed --prefix=../clang64 --record=setuptools-sucks.txt wine-msys2-build python setup.py install --single-version-externally-managed --prefix=../mingw64 --record=setuptools-sucks.txt
cd .. cd ..
# setuptools creates this file if it doesn't already exist, which causes conflicts between pacman packages # setuptools creates this file if it doesn't already exist, which causes conflicts between pacman packages
# see: https://corte.si/posts/code/setuptoolssucks/ # see: https://corte.si/posts/code/setuptoolssucks/
rm -f clang64/lib/python3.11/site-packages/easy-install.pth rm -f mingw64/lib/python3.10/site-packages/easy-install.pth
# patch broken shebangs (Z:/nix/store/...) # patch broken shebangs (Z:/nix/store/...)
for entrypoint in clang64/bin/*-script.py; do for entrypoint in mingw64/bin/*-script.py; do
[ -f "$entrypoint" ] || continue [ -f "$entrypoint" ] || continue
sed -i "1s|#!.*|#!python|" $entrypoint sed -i "1s|#!.*|#!python|" $entrypoint
done done
for entrypoint in clang64/bin/*-script.pyw; do for entrypoint in mingw64/bin/*-script.pyw; do
[ -f "$entrypoint" ] || continue [ -f "$entrypoint" ] || continue
sed -i "1s|#!.*|#!pythonw|" $entrypoint sed -i "1s|#!.*|#!pythonw|" $entrypoint
done done
} }
package() { package() {
cp -R clang64 ${pkgdir} cp -R mingw64 ${pkgdir}
} }

View File

@ -1,19 +0,0 @@
mingw-w64-clang-x86_64-python3.11
mingw-w64-clang-x86_64-python-h5py
mingw-w64-clang-x86_64-python-pyqt5
mingw-w64-clang-x86_64-qt5-svg
mingw-w64-clang-x86_64-python-qasync
mingw-w64-clang-x86_64-python-pyqtgraph
mingw-w64-clang-x86_64-python-numpy
mingw-w64-clang-x86_64-python-scipy
mingw-w64-clang-x86_64-python-dateutil
mingw-w64-clang-x86_64-python-prettytable
mingw-w64-clang-x86_64-python-tqdm
mingw-w64-clang-x86_64-python-pygit2
mingw-w64-clang-x86_64-python-llvmlite
mingw-w64-clang-x86_64-python-levenshtein
mingw-w64-clang-x86_64-python-lmdb
mingw-w64-clang-x86_64-lld
mingw-w64-clang-x86_64-llvm
mingw-w64-clang-x86_64-openocd
mingw-w64-clang-x86_64-bscan-spi-bitstreams

View File

@ -1,608 +0,0 @@
{ pkgs } : [
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libunwind-18.1.8-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libunwind";
sha256 = "1v8zkfcbf1ga2ndpd1j0dwv5s1rassxs2b5pjhcsmqwjcvczba1m";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libc++-18.1.8-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libc++";
sha256 = "0mfd8wrmgx12j5gf354j7pk1l3lg9ykxvq75xdk3jipsr6hbn846";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-expat-2.6.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-expat";
sha256 = "0kj1vzjh3qh7d2g47avlgk7a6j4nc62111hy1m63jwq0alc01k38";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-bzip2-1.0.8-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-bzip2";
sha256 = "1n8zf2kk1xj7wiszp6mjchy1yzpalddbj0cj17qm625ags2vzflm";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libffi-3.4.6-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libffi";
sha256 = "1q6gms980985bp087rnnpvz2fwfakgm5266izfk3b1mbp620s1yv";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-mpdecimal-4.0.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-mpdecimal";
sha256 = "0hrhbjgi0g3jqpw8himshqw6vazm5sxhsfmyg386nbrxwnfgl1gb";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libiconv-1.17-4-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libiconv";
sha256 = "1g2bkhgf60dywccxw911ydyigf3m25yqfh81m5099swr7mjsmzyf";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-gettext-runtime-0.22.5-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-gettext-runtime";
sha256 = "0ll6ci6d3mc7g04q0xixjc209bh8r874dqbczgns69jsad3wg6mi";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libtre-git-r177.07e66d0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libtre-git";
sha256 = "0fc9hxsdks1xy5fv0rcna433hlzf6jhs77hg0hfzkzhn06f9alp4";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libsystre-1.0.1-5-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libsystre";
sha256 = "05qsn8fkks4f93jkas43s47axqqgx5m64b45p462si3nlb8cjirq";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-ncurses-6.4.20231217-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-ncurses";
sha256 = "00046d52zsr8zjifl7h22jfihhh53h20ipvbqmvf9myssw2fwjza";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-openssl-3.3.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-openssl";
sha256 = "0ywhwm4kw3qjzv0872qwabnsq2rzbmqjb9m69q3fykjl0m9gigsa";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-termcap-1.3.1-7-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-termcap";
sha256 = "17ha468qavwin800cc3b7c3xdggwk2gakasfxg7jdx7616d99l0n";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-readline-8.2.010-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-readline";
sha256 = "1s47pd5iz8y3hspsxn4pnp0v3m05ccia40v5nfvx0rmwgvcaz82v";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-zlib-1.3.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-zlib";
sha256 = "06i9xjsskf4ddb2ph4h31md5c7imj9mzjhd4lc4q44j8dmpc1w5p";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tcl-8.6.13-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-tcl";
sha256 = "0paaqwk0sfy2zxwlxkmxf2bqq46lyg0sx7cqgzknvazwx8xa2z4x";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-sqlite3-3.46.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-sqlite3";
sha256 = "0q676i2z5nr4c71jnd4z5qz9xa1xryl0cpi84w74yvd0p4qiz7y2";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tk-8.6.13-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-tk";
sha256 = "12f6lqx1sglczcnz2ns6sxw9cxwm1klxajqzcrbnfwln1nllz2nd";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-xz-5.6.2-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-xz";
sha256 = "0phb9hwqksk1rg29yhwlc7si78zav19c2kac0i841pc7mc2n9gzx";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tzdata-2024a-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-tzdata";
sha256 = "1lsfn3759cyf56zlmfvgy6ihs4iks6zhlnrbfmnq5wml02k936ji";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-3.11.9-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python";
sha256 = "0ah1idjqxg7jc07a1gz9z766rjjd0f0c6ri4hpcsimsrbj1zjd3c";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libwinpthread-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libwinpthread-git";
sha256 = "0qdvgs1rmjjhn9klf9kpw7l0ydz36rr5fasn4q9gpby2lgl11bkb";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-openmp-18.1.8-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-llvm-openmp";
sha256 = "0cy2v0l4af24j34mzj5q5nlzcqhackfajlfj1rpf6mb3rbz23qw9";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-openblas-0.3.27-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-openblas";
sha256 = "06ygz1wa488wqvmxbn74b0fyan4wf3lb6kbwfampgikd1gijww2k";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-numpy-1.26.4-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-numpy";
sha256 = "00h0ap954cjwlsc3p01fjwy7s3nlzs90v0kmnrzxm0rljmvn4jkf";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libaec-1.1.3-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libaec";
sha256 = "1x0w1mr000j08hqh9l7fwwm0vwlb9jpjr1jkfw67w3c3lixxl6pg";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-c-ares-1.29.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-c-ares";
sha256 = "01xg1h1a8kda0kq2921w25ybvm1ms7lfdzday0hv93f3myq7briq";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-brotli-1.1.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-brotli";
sha256 = "113mha41q53cx0hw13cq1xdf7zbsd58sh8cl1cd7xzg1q69n60w2";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libunistring-1.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libunistring";
sha256 = "13nz49li39z1zgfx1q9jg4vrmyrmqb6qdq0nqshidaqc6zr16k3g";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libidn2-2.3.7-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libidn2";
sha256 = "07k8zh5nb2s82md7lz22r8gim8214rhlg586lywck3zcla98jv1w";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libpsl-0.21.5-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libpsl";
sha256 = "1mpx77q5g8pj45s8wgc52c4ww2r93080p6d559p56f558a3cl317";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-zstd-1.5.6-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-zstd";
sha256 = "02cp5ci8w50k7xn38mpkwnr8sn898v18wcc07y8f9sfla7vcyfix";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libtasn1-4.19.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libtasn1";
sha256 = "19m59mjxww26ah2gk9c0i512fmqpyaj6r5na564kmg6wpwvkihcj";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-p11-kit-0.25.5-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-p11-kit";
sha256 = "00yz6cmr1ldlrskv811n345xcia88mj7w4fyx4m9z5848jxgsabd";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-ca-certificates-20240203-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-ca-certificates";
sha256 = "1q5nxhsk04gidz66ai5wgd4dr04lfyakkfja9p0r5hrgg4ppqqjg";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libssh2-1.11.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libssh2";
sha256 = "0l2m823gm1rvnjmqm5ads17mxz1bhpzai5ixyhnkpzrsjxd1ygy5";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-nghttp2-1.61.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-nghttp2";
sha256 = "07bkk98126gy4k6lb9rrqqnzjfz9j2rsr5dzr2djmzdkw0h4dr95";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-nghttp3-1.4.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-nghttp3";
sha256 = "007w2252nzn274j4wjc1vf56xyzzh5vg3blj1hil7mlmffgvc923";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-curl-8.8.0-10-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-curl";
sha256 = "024z5b1achkf448gxqy1i3gcw371x54kfl6igv08b5wb3rrw35a4";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-hdf5-1.14.3-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-hdf5";
sha256 = "0pdx082m87j26cz4c2l3kr3yiv360p28qcbw9lz05l8p91jhdvfz";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-h5py-3.11.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-h5py";
sha256 = "0cxvsv1c3wb0i4s5cd5hz9n67vvqf9b0hk6phj3996nx9finsi2y";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-pyqt5-sip-12.13.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-pyqt5-sip";
sha256 = "1100zd3xz7g7pf3z11pqj9cvzpap7yz4q58gnq5yaky51s1246h7";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-dbus-1.14.10-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-dbus";
sha256 = "0qrp1bsidhq4yabwz6wgz88s3d15w1aiamvpd3hwsjg0wy49mq0g";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-double-conversion-3.3.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-double-conversion";
sha256 = "1jd07myjvc0dzwkh84rk7c74wv96syyfb7v99694bbbv31jkqw4g";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libpng-1.6.43-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libpng";
sha256 = "0djnvabj3zpswga0i2k496cgs9m1xy9axc8nb0ag6w647szy77b0";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-wineditline-2.206-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-wineditline";
sha256 = "0z9kn9mnh3ffl8dmsw3l1hys8k7sn6a2qys08k4cn225jr9nrmzs";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-pcre2-10.44-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-pcre2";
sha256 = "0cfrvrjg4k28pg5qvh94had5k3y3lr7hy8j4v4pr9y8dqws14a13";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-packaging-24.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-packaging";
sha256 = "103gjfj7lqy3bgmvl12v7y6szwqk02hs3ribiqxavzk8hswsky6a";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-glib2-2.80.4-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-glib2";
sha256 = "0b9cmyvd6h4kfnhry34l8qn42kisirvnpl6wjsmw9j228146dibr";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-graphite2-1.3.14-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-graphite2";
sha256 = "01lgbxaanzvqmikvwqyyfvnsc71rx1vl28ixmdd112m5l4qnswnr";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-harfbuzz-9.0.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-harfbuzz";
sha256 = "0gza7wynkndnq71fsbshhi48dg0a9ghzz2zkpzyk2cqa69qk5gc2";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-freetype-2.13.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-freetype";
sha256 = "07kdykdz73jjqajarn1b1wv5mkwnwj7xw09x4iy11gpj6yz0sb8h";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-fontconfig-2.15.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-fontconfig";
sha256 = "19jmphak4szjln6d3s6qpi872abc01dmzhkz4q0ws80mr8h7q78i";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-icu-75.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-icu";
sha256 = "0dxskyhbqgiphlz95b7hp05kcryaspa045ad8763m903nnslq7ri";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libjpeg-turbo-3.0.3-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libjpeg-turbo";
sha256 = "0n0w3g28xbh1byysivcqxj2qxsjhbqpkvzj6xcyv0z738j2jf951";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-md4c-0.5.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-md4c";
sha256 = "1ikssajqdak1chhr84d8dzkq9ygkvmdqkrqqqv745wwwrkcmmars";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-vulkan-loader-1.3.283.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-vulkan-loader";
sha256 = "1mfniiqslxcrz656jf1wnfiidzwicwi77hdraxmqjq9ljgkzv454";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-qt5-base-5.15.14+kde+r141-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-qt5-base";
sha256 = "0axvsyj6maflplq4i3mbrd03jb8syc1hx3m4gf7g5iqbx0c15f4g";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pyqt5-5.15.10-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pyqt5";
sha256 = "07pccsnbsfaa3zdkc7xbd7nklphdfkqdsi1yd84dxdsxprmp808a";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-qt5-svg-5.15.14+kde+r5-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-qt5-svg";
sha256 = "0di85dzj47200w93ddm2njmhzygz3f77bvan3bj260g7f45i0p1g";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-qasync-0.27.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-qasync";
sha256 = "075i935vgpdaw59w29w73x6k7bwpdn22bw53pjlia5xkznqmg987";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pyqtgraph-0.13.7-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pyqtgraph";
sha256 = "08g4yjcc7abccgzza925rrdfzdd454c325gljs90ph0zb2fn3656";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-scipy-1.12.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-scipy";
sha256 = "1ifd4kml73cnza2rpfc4vfd996dj46ahcs1l9r8wfa9kpk6a80ff";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-six-1.16.0-4-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-six";
sha256 = "1f4f1jk9mrgd0a1xpjxahasbwd2x2kah53jkjfkimif120ynqqdg";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-dateutil-2.9.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-dateutil";
sha256 = "15zbs5jxh2id2hdskprf0p85nh4y1bgngwgbq482hc31nq5gsls1";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-wcwidth-0.2.13-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-wcwidth";
sha256 = "0c1k6kqfgirlm0xqigajbx6fv51v0lm95y1g39w1klij2dq4jk5q";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-prettytable-3.10.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-prettytable";
sha256 = "1d0xx49bacqz1b55q8yp13pkfj8yhfsazibk6zlmld5ac7blk6cw";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-colorama-0.4.6-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-colorama";
sha256 = "10mw2pirqrw3gk28alnk6l29v4b3z3w45xlr8fvzdbpvzhfrwgkn";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-tqdm-4.66.4-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-tqdm";
sha256 = "1qiph66r7jaz551ykd0j8jqxcvhb3wiynr2k32w2b5hgbnrclvp2";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-http-parser-2.9.4-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-http-parser";
sha256 = "0bmnpq7cqihspyma4xxg3rsz4z8wqc294pi7wfy2vxn26m82rfy5";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libgit2-1.7.2-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libgit2";
sha256 = "161ky0l2gljpiphgy0fihw8d6a09ay95v78as60riasmmj6n027j";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pycparser-2.22-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pycparser";
sha256 = "1xzkxiz7268r8x1xx5c86879nhg4lfs0xjbbyj1m1673r09jfzbn";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-cffi-1.16.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-cffi";
sha256 = "0ymgaaynxsdra8cr10gvym5wgk5c4vjsnwlq4pzy7g55v4gn0piz";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pygit2-1.14.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pygit2";
sha256 = "0wbzlbfcyl4i55xf3chfjpwhwj5jqg4pqv3m5qcslmm573xfyki5";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-llvmlite-0.43.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-llvmlite";
sha256 = "08qicphcnn2lc13ygkvaddal8589x952g9c20m43ybaq2wd1qq8a";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-rapidfuzz-3.6.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-rapidfuzz";
sha256 = "10mc1h0hcd0mmf9hj0ynl9mfjihliaj0a61q2d087v5fbwf8v0kn";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-levenshtein-0.25.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-levenshtein";
sha256 = "0bwx8q9lv8i2ax8y5yw7pn5gzp804rqc55ijdkw83my33l1758wa";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-lmdb-0.9.31-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-lmdb";
sha256 = "1gz4b261klr37xb56kj5ybymrsh6q237wkssmkjg32dy511asbiw";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-lmdb-1.4.1-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-lmdb";
sha256 = "08b8pja1vhh7z0nrccr01qyfpkjqq8400ra0nvhpincwlaw5rcwn";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libxml2-2.12.8-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libxml2";
sha256 = "1imipb0dz4w6x4n9arn22imyzzcwdlf2cqxvn7irqq7w9by6fy0b";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-libs-18.1.8-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-llvm-libs";
sha256 = "0rpbgvvinsqflhd3nhfxk0g0yy8j80zzw5yx6573ak0m78a9fa06";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-lld-18.1.8-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-lld";
sha256 = "1vpij5d06m4kjy3qv8bizwlkl21gcv6fv0r2f1j9bclgm6k3144x";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-18.1.8-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-llvm";
sha256 = "185g5h8q3x3rav9lp2njln58ny2idh2067fd02j3nsbik6glshpf";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-hidapi-0.14.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-hidapi";
sha256 = "1nq7pw80l4awl7pz7qm5bfffv661fxraxh2kgd78m9y0dknvglxa";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libusb-1.0.27-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libusb";
sha256 = "1g5fib7a7sjwm1gv8a1y0r2cigfz2d9hp4sszakqcrpxsr4652im";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libusb-compat-git-r76.b5db9d0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libusb-compat-git";
sha256 = "0fls0kah3dq2fw4fay4ihb4ym9nscswldijif77vyim6awvf24kv";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-confuse-3.3-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-confuse";
sha256 = "0dyzriph24pin5n8qzsahvvjvyi95ndxpvyqyhai0spmc28lmw9z";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libftdi-1.5-7-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libftdi";
sha256 = "1il49b4mqhywgl49h27227xbw96af1wz7kpaawhh4qkym3rxqkzd";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libjaylink-git-r175.cfccbc9-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libjaylink-git";
sha256 = "1ckc04xc06cv2z7bls878m274g2paqar7nb36zza2gxc78paz9sc";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-capstone-5.0.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-capstone";
sha256 = "0xdg50a43jjqqy63x69ns25blk6vz93lylj27cd78f6fcda75hpg";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-openocd-0.12.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-openocd";
sha256 = "1f6ynv7czk9g848322847dj8xqhdsy9hjkz3flg6p1znf41cxdmc";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-bscan-spi-bitstreams-1.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-bscan-spi-bitstreams";
sha256 = "05yfr0xaqdfyl315x2sls26nx0ifqbpghya3ixvpmcks4zjcgkrw";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-attrs-23.2.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-attrs";
sha256 = "0bcmz0b0s18s0pwpkvv6g7hph7bvr9mgyips409kkazw168iikab";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-multidict-6.0.5-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-multidict";
sha256 = "1dx4cxznbih3ijnlmki6x0g8a3q1qg71wmsw7jrd82kwrh31x67i";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-idna-3.7-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-idna";
sha256 = "03j5vgnr8g9qspcq8d9wa99bmjnxh05v1pim82xxxy2jpq5vq2a2";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-yarl-1.9.4-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-yarl";
sha256 = "1n8b0460q526q9w7i53a1jydma81c1sdg9h4ayy030fxx7zsn4id";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-frozenlist-1.4.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-frozenlist";
sha256 = "1dny1z3d7ddb01im45fjppvkvxqkpah5dmy8w74y6b21afza4q2a";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-aiosignal-1.3.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-aiosignal";
sha256 = "0s4lj5sfal2rd2naab1j1qc1wh7qxc4d7blg3z1gxhx2g2lyqln2";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-aiohttp-3.9.5-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-aiohttp";
sha256 = "1ykf2djwnsdaxw0lkq8wivrwfwg3h72kdxfkb96n76nim9gcffim";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-regex-2024.5.15-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-regex";
sha256 = "0abds3p4cbax0qx0vw71ajyjacv5j7hm42qikrij9hj19axzr8an";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pybase64-1.3.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pybase64";
sha256 = "0cj217d6xcagxismbwncdfy4px1l2axpn6h9zy3bwkh3bwywssk9";
})
]

View File

@ -1,3 +0,0 @@
mingw-w64-clang-x86_64-python3.11
mingw-w64-clang-x86_64-python-numpy
mingw-w64-clang-x86_64-python-aiohttp

View File

@ -19,14 +19,14 @@ let
wine-msys2 = pkgs.writeShellScriptBin "wine-msys2" wine-msys2 = pkgs.writeShellScriptBin "wine-msys2"
'' ''
export WINEDEBUG=-all export WINEDEBUG=-all
export WINEPATH=Z:${msys2-env}/clang64/bin export WINEPATH=Z:${msys2-env}/mingw64/bin
exec ${pkgs.wineWowPackages.stable}/bin/wine64 cmd exec ${pkgs.wineWowPackages.stable}/bin/wine64 cmd
''; '';
wine-msys2-build = pkgs.writeShellScriptBin "wine-msys2-build" wine-msys2-build = pkgs.writeShellScriptBin "wine-msys2-build"
'' ''
export HOME=`mktemp -d` export HOME=`mktemp -d`
export WINEDEBUG=-all export WINEDEBUG=-all
export WINEPATH=Z:${msys2-env}/clang64/bin export WINEPATH=Z:${msys2-env}/mingw64/bin
${silenceFontconfig} ${silenceFontconfig}
exec ${pkgs.wineWowPackages.stable}/bin/wine64 $@ exec ${pkgs.wineWowPackages.stable}/bin/wine64 $@
''; '';
@ -46,8 +46,8 @@ in {
export DRV_VERSION=${version} export DRV_VERSION=${version}
${prepare} ${prepare}
cat > PKGBUILD << HEREDOC cat > PKGBUILD << HEREDOC
pkgbase="mingw-w64-clang-${name}" pkgbase="mingw-w64-${name}"
pkgname="mingw-w64-clang-x86_64-${name}" pkgname="mingw-w64-x86_64-${name}"
pkgrel=1 pkgrel=1
depends=( depends=(
${pkgs.lib.concatStringsSep "\n" (map (depend: "\"${depend}\"") depends)} ${pkgs.lib.concatStringsSep "\n" (map (depend: "\"${depend}\"") depends)}

View File

@ -6,37 +6,19 @@ cd $(dirname $0)
MSYS2DIR=`pwd`/msys2 MSYS2DIR=`pwd`/msys2
mkdir -p $MSYS2DIR/var/lib/pacman $MSYS2DIR/msys/etc mkdir -p $MSYS2DIR/var/lib/pacman $MSYS2DIR/msys/etc
curl -L https://repo.msys2.org/msys/x86_64/pacman-mirrors-20240523-1-any.pkg.tar.zst | tar xvf - -C $MSYS2DIR --zstd curl -L https://mirror.msys2.org/msys/x86_64/pacman-mirrors-20220205-1-any.pkg.tar.zst | tar xvf - -C $MSYS2DIR --zstd
curl -L https://raw.githubusercontent.com/msys2/MSYS2-packages/master/pacman/pacman.conf | \ curl -L https://raw.githubusercontent.com/msys2/MSYS2-packages/master/pacman/pacman.conf | sed -e "s|/etc/pacman.d|$MSYS2DIR/etc/pacman.d|g" -e "s|SigLevel = Required|SigLevel = Never|g" > $MSYS2DIR/etc/pacman.conf
sed -e "s|/etc/pacman.d|$MSYS2DIR/etc/pacman.d|g" -e "s|SigLevel = Required|SigLevel = Never|g" > $MSYS2DIR/etc/pacman.conf
fakeroot pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf -Syy fakeroot pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf -Syy
pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \ pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf --cachedir $MSYS2DIR/msys/cache -Sp mingw-w64-x86_64-cc mingw-w64-x86_64-python3.10 mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-setuptools > $MSYS2DIR/packages.txt
--cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" \
mingw-w64-clang-x86_64-cc mingw-w64-clang-x86_64-python3.11 \
mingw-w64-clang-x86_64-python-numpy mingw-w64-clang-x86_64-python-setuptools > $MSYS2DIR/packages.txt
cat artiq_dependencies.txt comtools_dependencies.txt pythonparser_dependencies.txt sipyco_dependencies.txt | pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \ echo "{ pkgs } : [" > msys2_packages.nix
--cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" - > $MSYS2DIR/artiq_dependency_packages.txt while read package; do
hash=$(nix-prefetch-url $package)
pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf --cachedir $MSYS2DIR/msys/cache \
--sync --print-format "%l %n" mingw-w64-clang-x86_64-qt-installer-framework > $MSYS2DIR/qt_ifw_packages.txt
function generate_nix_packages_from_pacman() {
echo "{ pkgs } : [" > $OUT
while IFS= read -r line; do
read -r url package <<< "$line"
hash=$(nix-prefetch-url $url --name $package)
echo " echo "
(pkgs.fetchurl { (pkgs.fetchurl {
url = \"$url\"; url = \"$package\";
name = \"$package\";
sha256 = \"$hash\"; sha256 = \"$hash\";
})" >> $OUT })" >> msys2_packages.nix
done < $IN done < $MSYS2DIR/packages.txt
echo "]" >> $OUT echo "]" >> msys2_packages.nix
}
IN=$MSYS2DIR/packages.txt OUT=msys2_packages.nix generate_nix_packages_from_pacman
IN=$MSYS2DIR/qt_ifw_packages.txt OUT=msys2_qt_ifw_packages.nix generate_nix_packages_from_pacman
IN=$MSYS2DIR/artiq_dependency_packages.txt OUT=artiq_dependency_packages.nix generate_nix_packages_from_pacman

View File

@ -1,224 +1,182 @@
{ pkgs } : [ { pkgs } : [
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libunwind-18.1.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libwinpthread-git-10.0.0.r258.g530c58e17-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libunwind"; sha256 = "1p2dcs8m50r3lk6myi1y79hmbwsyqr9r8v6k9gl0xa9vda4m7a5s";
sha256 = "1v8zkfcbf1ga2ndpd1j0dwv5s1rassxs2b5pjhcsmqwjcvczba1m"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libc++-18.1.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-libs-12.2.0-10-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libc++"; sha256 = "1hql9jmmcpdr97p2ynj45hb70az4l41hcirjk0j1xjg31m2jgfr9";
sha256 = "0mfd8wrmgx12j5gf354j7pk1l3lg9ykxvq75xdk3jipsr6hbn846"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libffi-3.4.6-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-zstd-1.5.5-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libffi"; sha256 = "19jr14l5anl1qr1lvcmdpnpgyxghf2mds2j7iiq4j99kfg7ig2s0";
sha256 = "1q6gms980985bp087rnnpvz2fwfakgm5266izfk3b1mbp620s1yv"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libiconv-1.17-4-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-binutils-2.40-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libiconv"; sha256 = "1xa3ni7qg9wzlr903lsqgqisdyvnl28kb3wz2kva21l9i7wwbs7c";
sha256 = "1g2bkhgf60dywccxw911ydyigf3m25yqfh81m5099swr7mjsmzyf"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-gettext-runtime-0.22.5-2-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-headers-git-10.0.0.r258.g530c58e17-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-gettext-runtime"; sha256 = "0lxw9hvdniczz5k24ipjvbwcc9p35b97nkn69vb7k8rdp3l95klf";
sha256 = "0ll6ci6d3mc7g04q0xixjc209bh8r874dqbczgns69jsad3wg6mi"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-xz-5.6.2-2-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-crt-git-10.0.0.r258.g530c58e17-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-xz"; sha256 = "12rwwc41as55wqjsi143wfb4722s1zjqzibs05a0gj9c23mivc3q";
sha256 = "0phb9hwqksk1rg29yhwlc7si78zav19c2kac0i841pc7mc2n9gzx"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-zlib-1.3.1-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gmp-6.2.1-5-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-zlib"; sha256 = "1v19jx0hrsib7ak5jzbhss7p5zjg9y4kj06bcs8sakqvmyby8mlq";
sha256 = "06i9xjsskf4ddb2ph4h31md5c7imj9mzjhd4lc4q44j8dmpc1w5p"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libxml2-2.12.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-isl-0.25-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libxml2"; sha256 = "0hky9gmd6iz1s3irmp9fk2j10cpqrrw8l810riwr58ynj3i10j2k";
sha256 = "1imipb0dz4w6x4n9arn22imyzzcwdlf2cqxvn7irqq7w9by6fy0b"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-zstd-1.5.6-2-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libiconv-1.17-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-zstd"; sha256 = "061dlpg69ph2205xabshya827m6dqchxxn3jvhnnicja6bsb8ivh";
sha256 = "02cp5ci8w50k7xn38mpkwnr8sn898v18wcc07y8f9sfla7vcyfix"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-libs-18.1.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-mpfr-4.2.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-llvm-libs"; sha256 = "1iqpk6i5isf77rmvscmdv1ggrnhbvbfc3g4cyc6xgbp99s616724";
sha256 = "0rpbgvvinsqflhd3nhfxk0g0yy8j80zzw5yx6573ak0m78a9fa06"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-18.1.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-mpc-1.3.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-llvm"; sha256 = "1r7h4xyc56d9n4z6ay315gsb82zmyvrkd7xki9y03y72ym194jlk";
sha256 = "185g5h8q3x3rav9lp2njln58ny2idh2067fd02j3nsbik6glshpf"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-clang-libs-18.1.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-windows-default-manifest-6.4-4-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-clang-libs"; sha256 = "1ylipf8k9j7bgmwndkib2l29mds394i7jcij7a6ciag4kynlhsvi";
sha256 = "089hji3yd7wsd03v9mdfgc99l5k1dql8kg7p3hy13vrbgfsabxhc"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-compiler-rt-18.1.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-winpthreads-git-10.0.0.r258.g530c58e17-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-compiler-rt"; sha256 = "19h7z6svwnfpyhqh5zjz48jwd2nkvnbj1hbvvs524gdjpi3nxprz";
sha256 = "1dwcxnv1k5ljim5ys4h1c3jlrdpi0054z094ynav7if65i8zjj4a"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-headers-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-zlib-1.2.13-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-headers-git"; sha256 = "19r9hf111zb41i7r45ixsx26l4sk8g8apryv1xgj03hq54barikz";
sha256 = "1h3cdcajz29iq7vja908kkijz1vb9xn0f7w1lw1ima0q0zhinv4q"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-crt-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-12.2.0-10-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-crt-git"; sha256 = "182560g1bl52260v8dbggybl4mir3isyad22zvkb6sndid3iaakw";
sha256 = "15kamyi3b0j6f5zxin4i2jgzjc7lzvwl4z5cz3dx0i8hg91aq0n7"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-lld-18.1.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-expat-2.5.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-lld"; sha256 = "09hrzvdfkr2zaq239z87m1j3zyq0pvjhsyikg65wrbljrir6wc6r";
sha256 = "1vpij5d06m4kjy3qv8bizwlkl21gcv6fv0r2f1j9bclgm6k3144x"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libwinpthread-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-bzip2-1.0.8-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libwinpthread-git"; sha256 = "1kqg3aw439cdyhnf02rlfr1pw1n8v9xxvq2alhn7aw6nd8qhw7z5";
sha256 = "0qdvgs1rmjjhn9klf9kpw7l0ydz36rr5fasn4q9gpby2lgl11bkb"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-winpthreads-git-12.0.0.r81.g90abf784a-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libffi-3.4.4-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-winpthreads-git"; sha256 = "1na3giynh9f3i0xg2mr0dm4bm6zhv8h908rrrv4kcxfawr8nyjdy";
sha256 = "0rh2mn078cifcmr4as4k57jxjln5lbnsmpx47h9d0s5d2i8sf2rc"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-clang-18.1.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-mpdecimal-2.5.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-clang"; sha256 = "0cpyacmciyzbsar1aka5y592g2gpa4i6a58j3bjdmfjdnpm0j08a";
sha256 = "1qny934nv4g75k9gb5sf31v24bgafkg6qw7r35xv3in491w6annq"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-expat-2.6.2-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gettext-0.21.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-expat"; sha256 = "17h4qnv75jns7fq54hqp375v45snmrrn451izyp2nmmr0fw2p0bc";
sha256 = "0kj1vzjh3qh7d2g47avlgk7a6j4nc62111hy1m63jwq0alc01k38"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-bzip2-1.0.8-3-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libtre-git-r128.6fb7206-2-any.pkg.tar.xz";
name = "mingw-w64-clang-x86_64-bzip2"; sha256 = "0dp3ca83j8jlx32gml2qvqpwp5b42q8r98gf6hyiki45d910wb7x";
sha256 = "1n8zf2kk1xj7wiszp6mjchy1yzpalddbj0cj17qm625ags2vzflm"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-mpdecimal-4.0.0-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libsystre-1.0.1-4-any.pkg.tar.xz";
name = "mingw-w64-clang-x86_64-mpdecimal"; sha256 = "037gkzaaj8kp5nspcbc8ll64s9b3mj8d6m663lk1za94bq2axff1";
sha256 = "0hrhbjgi0g3jqpw8himshqw6vazm5sxhsfmyg386nbrxwnfgl1gb"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libtre-git-r177.07e66d0-2-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-ncurses-6.4.20230211-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libtre-git"; sha256 = "0h62y3c45bkff6z3aa8ailz2l16x3s9g3pbyifqx6kwwzv80crgp";
sha256 = "0fc9hxsdks1xy5fv0rcna433hlzf6jhs77hg0hfzkzhn06f9alp4"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libsystre-1.0.1-5-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-openssl-3.1.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libsystre"; sha256 = "01niwg58fass37im83jj1msdhm7kfwnyhvgsgmvh7qhpvfgzfmxl";
sha256 = "05qsn8fkks4f93jkas43s47axqqgx5m64b45p462si3nlb8cjirq"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-ncurses-6.4.20231217-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-termcap-1.3.1-6-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-ncurses"; sha256 = "1wgbzj53vmv1vm3igjan635j5ims4x19s2y6mgvvc46zgndc2bvq";
sha256 = "00046d52zsr8zjifl7h22jfihhh53h20ipvbqmvf9myssw2fwjza"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-openssl-3.3.1-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-readline-8.2.001-6-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-openssl"; sha256 = "0a6s6kq2hmz96cg7hxzcgldh16sk7dvpzfdfqchq3c07rwzhqhiq";
sha256 = "0ywhwm4kw3qjzv0872qwabnsq2rzbmqjb9m69q3fykjl0m9gigsa"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-termcap-1.3.1-7-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-tcl-8.6.12-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-termcap"; sha256 = "0z66xic67k3j56jvvrwn8sym5yxylyza7ig686z5937nsd29kdw1";
sha256 = "17ha468qavwin800cc3b7c3xdggwk2gakasfxg7jdx7616d99l0n"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-readline-8.2.010-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-sqlite3-3.41.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-readline"; sha256 = "0s1kzipdz7rczpk32wkbc90yjw6wbcxmzlgnd7j99fzwaawblbnp";
sha256 = "1s47pd5iz8y3hspsxn4pnp0v3m05ccia40v5nfvx0rmwgvcaz82v"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tcl-8.6.13-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-tk-8.6.12-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-tcl"; sha256 = "1pnznf4a195ij3b1g921k0llkn62wf0piijldj2c7qlbcq73v66c";
sha256 = "0paaqwk0sfy2zxwlxkmxf2bqq46lyg0sx7cqgzknvazwx8xa2z4x"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-sqlite3-3.46.0-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-xz-5.4.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-sqlite3"; sha256 = "0w63y7rg76jnzy7ijhda1jzi9jgy1sdfvzq32zyj8yibkcpfxlll";
sha256 = "0q676i2z5nr4c71jnd4z5qz9xa1xryl0cpi84w74yvd0p4qiz7y2"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tk-8.6.13-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-tzdata-2023c-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-tk"; sha256 = "0ifavpqi1ykn9962ic4sh5l18y2mvz9pj6742fgw85s9wixbj7fl";
sha256 = "12f6lqx1sglczcnz2ns6sxw9cxwm1klxajqzcrbnfwln1nllz2nd"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tzdata-2024a-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-3.10.11-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-tzdata"; sha256 = "0fl3jrmp59180is4l9d8qimslnpqrzvl7wprqjhag2c7ki9c0gg4";
sha256 = "1lsfn3759cyf56zlmfvgy6ihs4iks6zhlnrbfmnq5wml02k936ji"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-3.11.9-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-libgfortran-12.2.0-10-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python"; sha256 = "1xilwrasyj3xbrv4wjvc53bv45k7szpzgnnakdnl1jg81960byx5";
sha256 = "0ah1idjqxg7jc07a1gz9z766rjjd0f0c6ri4hpcsimsrbj1zjd3c"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-openmp-18.1.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-openblas-0.3.23-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-llvm-openmp"; sha256 = "1zqxcpmw3mbw1axsf90sk7vmswq95g1b3pj826zrf42bjcjbsjpk";
sha256 = "0cy2v0l4af24j34mzj5q5nlzcqhackfajlfj1rpf6mb3rbz23qw9"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-openblas-0.3.27-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-numpy-1.24.2-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-openblas"; sha256 = "0d81782q72ygkycfn1y2yvsp7g55190zdklkv42pizzapn8h3a2l";
sha256 = "06ygz1wa488wqvmxbn74b0fyan4wf3lb6kbwfampgikd1gijww2k"; })
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-numpy-1.26.4-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-setuptools-67.7.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-numpy"; sha256 = "0d4j7n133q4whs8ipjqn9azqfc1bx60dylmjwgq62vn3fxbf307p";
sha256 = "00h0ap954cjwlsc3p01fjwy7s3nlzs90v0kmnrzxm0rljmvn4jkf"; })
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-setuptools-70.2.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-setuptools";
sha256 = "1q4r9bg2hn3jmshvq81xm5zvy9wn35yf0z2ayksrkwph1zzdkvkm";
})
] ]

View File

@ -1,8 +0,0 @@
{ pkgs } : [
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-qt-installer-framework-4.8.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-qt-installer-framework";
sha256 = "12yykwnwivgfn0n6kf2h881n60nhxijc5n15x35km02d00qjj2xv";
})
]

View File

@ -1 +0,0 @@
mingw-w64-clang-x86_64-python-regex

View File

@ -1,3 +0,0 @@
mingw-w64-clang-x86_64-python3.11
mingw-w64-clang-x86_64-python-numpy
mingw-w64-clang-x86_64-python-pybase64