Compare commits

...

92 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 694278c010 conda: update anaconda 2024-11-16 14:31:44 +08:00
Sebastien Bourdeauducq bde6328085 conda: add jsonschema dependency 2024-11-16 14:22:57 +08:00
Sebastien Bourdeauducq 4672f4aabb msys2: regenerate packages 2024-11-15 10:43:55 +08:00
Sebastien Bourdeauducq 1842619f30 msys2: add back scipy 2024-11-15 10:38:27 +08:00
Sebastien Bourdeauducq c4e9c4bb84 msys2: regenerate packages 2024-11-15 10:37:31 +08:00
Sebastien Bourdeauducq a339626d65 msys2: add jsonschema dependency 2024-11-15 10:22:40 +08:00
Sebastien Bourdeauducq 29981e7feb switch to Wine unstable
Fixes
wine: Call from 00006FFFFFF6E1B8 to unimplemented function KERNEL32.dll.CopyFile2, aborting
2024-11-15 10:20:25 +08:00
Sebastien Bourdeauducq b9e1220d28 flake: update dependencies 2024-11-15 10:13:29 +08:00
Sebastien Bourdeauducq 87e306eb63 flake: update dependencies 2024-11-11 19:51:45 +08:00
Sebastien Bourdeauducq c7a5c19708 msys2: update, python 3.12 2024-11-11 19:50:55 +08:00
Sebastien Bourdeauducq 544108eafd msys2: get python by transitive dependency 2024-10-30 13:35:48 +08:00
Sebastien Bourdeauducq 70f9398ad3 flake: update dependencies 2024-10-30 13:31:40 +08:00
Sebastien Bourdeauducq ba488e77d9 flake: update dependencies 2024-10-18 15:06:21 +08:00
Sebastien Bourdeauducq 0d8762fa31 update dependencies 2024-10-08 15:12:12 +08:00
Sebastien Bourdeauducq 27b15ed3d4 flake: update dependencies 2024-10-01 14:49:35 +08:00
Egor Savkin f0e2486d6c Change environment variables to positional arguments
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-09-30 13:27:51 +08:00
Sebastien Bourdeauducq b12ca4b928 msys2/asyncserial: add missing pyserial dependency 2024-09-26 07:47:19 +08:00
Florian Agbuya 1702341f28 msys2: update 2024-08-27 16:18:30 +08:00
Florian Agbuya c249e6af78 msys2: add platformdirs dependency 2024-08-27 15:56:58 +08:00
Florian Agbuya 63f34fbf0c conda: add platformdirs dependency 2024-08-27 15:55:26 +08:00
Egor Savkin 1002e0437a msys2: fix afws client certs
Co-authored-by: Egor Savkin <es@m-labs.hk>
Co-committed-by: Egor Savkin <es@m-labs.hk>
2024-08-15 18:35:54 +08:00
Egor Savkin eac0d077de Fix msys2 package
Package appeared to have /nix/store... path instead of normal clang64

Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-08-14 13:48:02 +08:00
Sebastien Bourdeauducq 32d116dbf6 flake: update dependencies 2024-08-02 10:32:02 +08:00
Sebastien Bourdeauducq 50abd84278 msys2: modernize python install script 2024-08-02 10:30:03 +08:00
Sebastien Bourdeauducq 9e85187ead flake: update dependencies 2024-07-31 17:44:17 +08:00
Sebastien Bourdeauducq 25ee3c68f1 wand: remove (no qt6) 2024-07-27 23:17:10 +08:00
Sebastien Bourdeauducq 7f00ab0cb6 update conda, py3.12 2024-07-27 22:44:47 +08:00
Sebastien Bourdeauducq d5c99474ed linien: py3.12 2024-07-27 22:42:14 +08:00
Sebastien Bourdeauducq 1e64b5786c msys2: update, qt6 2024-07-27 22:19:14 +08:00
Sebastien Bourdeauducq 30d9b5ae54 qt5 -> qt6 2024-07-27 22:06:39 +08:00
Sebastien Bourdeauducq 05d45229af flake: update dependencies 2024-07-27 22:06:31 +08:00
Florian Agbuya 5b4560d8ca msys2: update 2024-07-24 14:51:10 +08:00
Florian Agbuya 1ec52c60fe remove scipy from artiq dependencies 2024-07-24 14:48:54 +08:00
Egor Savkin 7ffe3dcf22 Update flake and msys2 packages
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-07-15 15:08:16 +08:00
Sebastien Bourdeauducq 8f8550e243 Revert "msys2: update"
msys2 llvmlite has dropped support for riscv according to Mattermost report.

This reverts commit 312b93915e.
2024-07-10 10:42:53 +02:00
Sebastien Bourdeauducq 312b93915e msys2: update 2024-07-09 17:44:16 +02:00
Sebastien Bourdeauducq e8c29bb8f1 flake: update dependencies 2024-07-09 17:06:56 +02:00
Egor Savkin 0cc34b4b47 Add zadig to msys2 installation, that can be accessed from start menu
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-06-24 15:06:18 +08:00
Sebastien Bourdeauducq ce9e23579c flake: update dependencies 2024-06-19 12:48:40 +08:00
Sebastien Bourdeauducq e7a0f4cf23 flake: update dependencies 2024-06-06 10:02:52 +08:00
Sebastien Bourdeauducq 95c8a2a30f msys2: update 2024-06-06 10:02:17 +08:00
Sebastien Bourdeauducq d577f64c45 flake: update dependencies 2024-05-28 17:31:45 +08:00
Egor Savkin 8f8f8f2768 Update base installer and move to clang64
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-05-17 15:31:02 +08:00
Egor Savkin fa0c5a593e Add ARTIQ names to the installer
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-05-09 13:06:13 +08:00
Egor Savkin 196f0b163a Add artiq version to the installer
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-05-07 13:11:20 +08:00
Egor Savkin 7a5f1084d8 Add ARTIQ offline installer based on MSYS2 2024-05-07 10:10:32 +08:00
Egor Savkin 9d64eda284 Add llvm and openocd to the msys2 dependencies
Signed-off-by: Egor Savkin <es@m-labs.hk>
2024-05-06 16:08:11 +08:00
Sebastien Bourdeauducq 8b90591c00 flake: update dependencies 2024-05-06 12:45:38 +08:00
Sebastien Bourdeauducq 82601c365c flake: update dependencies 2024-05-02 09:25:11 +08:00
Sebastien Bourdeauducq 40b31fd3b0 update conda 2024-05-02 09:24:56 +08:00
Sebastien Bourdeauducq 94cca59e08 msys2: update 2024-04-26 23:37:25 +08:00
Sebastien Bourdeauducq 62ffc1c244 flake: update dependencies 2024-04-26 23:34:29 +08:00
Sebastien Bourdeauducq a85b6b6bad msys2: update 2024-04-02 17:45:34 +08:00
Sebastien Bourdeauducq 2edaf56f08 flake: update dependencies 2024-04-02 17:45:20 +08:00
Sebastien Bourdeauducq eab0a015f9 msys2: update 2024-03-11 18:57:58 +08:00
Sebastien Bourdeauducq 808cdca912 flake: update dependencies 2024-03-11 18:52:43 +08:00
Sebastien Bourdeauducq d22a7468f3 update dependencies 2024-02-16 17:51:37 +08:00
Florian Agbuya a19ad85cc4 flake: update dependencies 2024-02-15 10:45:05 +08:00
Sebastien Bourdeauducq 33b8e7b72d linien py3.11 2024-02-01 20:46:33 +08:00
Sebastien Bourdeauducq 4352f6b8d9 update dependencies 2024-02-01 19:04:08 +08:00
Sebastien Bourdeauducq 29ce3692c0 flake: update dependencies 2023-11-21 21:00:49 +08:00
Florian Agbuya 06cd778cf7 dax: add required qt flags 2023-10-18 12:07:14 +08:00
Sebastien Bourdeauducq 2e1de17bbf flake: update dependencies 2023-10-17 15:38:23 +08:00
Sebastien Bourdeauducq 648dc4283c update dependencies 2023-10-09 10:18:59 +08:00
Sebastien Bourdeauducq 50a8eb02c0 flake: update dependencies 2023-09-27 10:34:00 +08:00
Sebastien Bourdeauducq 54df981af2 flake: update dependencies 2023-08-31 17:44:57 +08:00
Sebastien Bourdeauducq 4880eacaed update anaconda 2023-08-26 14:56:11 +08:00
Sebastien Bourdeauducq f1ec8058cf update msys2 2023-08-26 14:55:32 +08:00
Sebastien Bourdeauducq 19081853b3 flake: update dependencies 2023-08-26 14:44:33 +08:00
Sebastien Bourdeauducq 538cc1a36d Revert "conda: restrict llvmlite version"
This reverts commit ff02e6e2ff.
2023-08-26 14:43:27 +08:00
Sebastien Bourdeauducq 097be9ed33 flake: update dependencies 2023-07-10 12:52:03 +08:00
Sebastien Bourdeauducq ff02e6e2ff conda: restrict llvmlite version
attempt to address
https://github.com/m-labs/artiq/issues/2050#issuecomment-1579132668
2023-06-07 20:48:49 +08:00
Sebastien Bourdeauducq 1443a834f6 flake: update dependencies 2023-06-07 20:48:37 +08:00
Sebastien Bourdeauducq b273c8f262 flake: update dependencies, nixpkgs 23.05 2023-05-27 18:19:56 +08:00
Sebastien Bourdeauducq 3917d90c07 msys2: add lmdb dependency 2023-05-08 17:35:01 +08:00
Sebastien Bourdeauducq 111aac745a flake: update dependencies 2023-04-30 17:00:46 +08:00
Sebastien Bourdeauducq 690c85afdd update anaconda 2023-04-24 18:01:46 +08:00
Sebastien Bourdeauducq 3fe8fe0dc6 conda: add python-lmdb dependency 2023-04-24 17:38:42 +08:00
Sebastien Bourdeauducq 2cc716e963 flake: update dependencies 2023-04-24 17:36:42 +08:00
Sebastien Bourdeauducq cc8deef208 msys2: export wine-msys2 2023-04-24 16:25:50 +08:00
Sebastien Bourdeauducq 41e14e4997 add msys2 shell 2023-04-24 16:25:11 +08:00
Sebastien Bourdeauducq a3affe4da2 msys2: update packages 2023-04-24 13:47:47 +08:00
Sebastien Bourdeauducq f36606fd37 msys2: adapt to new pacman SigLevel default 2023-04-24 13:46:18 +08:00
Sebastien Bourdeauducq 014a8c49ed flake: update dependencies 2023-04-24 13:45:55 +08:00
Sebastien Bourdeauducq 24667daf4b fix msys2-artiq 2023-01-15 16:37:40 +08:00
Sebastien Bourdeauducq b4912f3171 update conda 2023-01-15 13:21:39 +08:00
Sebastien Bourdeauducq d2f4111b10 fix previous commit (2) 2023-01-15 13:21:29 +08:00
Sebastien Bourdeauducq 57ad8a91fe fix previous commit 2023-01-15 13:08:48 +08:00
Sebastien Bourdeauducq 3f3abd749d update, export more for single-input user flake 2023-01-15 12:57:02 +08:00
Sebastien Bourdeauducq 4e3bb3714d msys2: make prepare argument optional 2022-12-28 18:57:22 +08:00
Sebastien Bourdeauducq 4e7ebfd260 flake: update artiq 2022-12-28 18:53:54 +08:00
wlph17 c58f028ef7 msys2: set VERSIONEER_OVERRIDE for artiq
Co-authored-by: wlph17 <wl@m-labs.hk>
Co-committed-by: wlph17 <wl@m-labs.hk>
2022-12-28 17:55:35 +08:00
18 changed files with 1407 additions and 377 deletions

View File

@ -3,5 +3,6 @@ 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

View File

@ -1,47 +1,23 @@
{ {
"nodes": { "nodes": {
"artiq": {
"inputs": {
"artiq-comtools": "artiq-comtools",
"mozilla-overlay": "mozilla-overlay",
"nixpkgs": "nixpkgs",
"sipyco": "sipyco",
"src-migen": "src-migen",
"src-misoc": "src-misoc",
"src-pythonparser": "src-pythonparser"
},
"locked": {
"lastModified": 1670943503,
"narHash": "sha256-fCwznzhR6x4W8ZenrWHkYRYDfp0LGMhqvEBM9iPCLts=",
"ref": "refs/heads/master",
"rev": "874d298ceb68ffa776592f855365ca5e2e885575",
"revCount": 8243,
"type": "git",
"url": "https://github.com/m-labs/artiq.git"
},
"original": {
"type": "git",
"url": "https://github.com/m-labs/artiq.git"
}
},
"artiq-comtools": { "artiq-comtools": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": [ "nixpkgs": [
"artiq", "artiqpkgs",
"nixpkgs" "nixpkgs"
], ],
"sipyco": [ "sipyco": [
"artiq", "artiqpkgs",
"sipyco" "sipyco"
] ]
}, },
"locked": { "locked": {
"lastModified": 1664405593, "lastModified": 1720768567,
"narHash": "sha256-yP441NerlLGig7n+9xHsx8yCtZ+Ggd0VqfBSzc20E04=", "narHash": "sha256-3VoK7o5MtHtbHLrc6Pv+eQWFtaz5Gd/YWyV5TD3c5Ss=",
"owner": "m-labs", "owner": "m-labs",
"repo": "artiq-comtools", "repo": "artiq-comtools",
"rev": "15ddac62813ef623a076ccf982b3bc63d314e651", "rev": "f93570d8f2ed5a3cfb3e1c16ab00f2540551e994",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -66,42 +42,67 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1670448913, "lastModified": 1722288472,
"narHash": "sha256-ZCg7Rd5qpYl5Y8FEtLObnFRUiSJVZuSBdpa57SMVoNE=", "narHash": "sha256-KXyTCZNwXkMayGuOYLLIg8q/eCPC5W0pdcGQ0XKYoNY=",
"ref": "refs/heads/master", "ref": "release-7",
"rev": "d592ccd1db4d9a97331d5397560d25b59c7820bb", "rev": "b3d818f61ffffc29226d4aa3845dece9941d61cd",
"revCount": 26, "revCount": 37,
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/artiq-stubs.git" "url": "https://gitlab.com/duke-artiq/artiq-stubs.git"
}, },
"original": { "original": {
"ref": "release-7",
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/artiq-stubs.git" "url": "https://gitlab.com/duke-artiq/artiq-stubs.git"
} }
}, },
"artiqpkgs": {
"inputs": {
"artiq-comtools": "artiq-comtools",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay",
"sipyco": "sipyco",
"src-migen": "src-migen",
"src-misoc": "src-misoc",
"src-pythonparser": "src-pythonparser"
},
"locked": {
"lastModified": 1731636768,
"narHash": "sha256-Oqa7G8E9lFIFouYE2uP5ii4Bo6eKHmUUHwj4uievMdE=",
"ref": "refs/heads/master",
"rev": "9aae89be69fa3ab1dd0a75f399ffc6cf208818d2",
"revCount": 9048,
"type": "git",
"url": "https://github.com/m-labs/artiq.git"
},
"original": {
"type": "git",
"url": "https://github.com/m-labs/artiq.git"
}
},
"daxpkgs": { "daxpkgs": {
"inputs": { "inputs": {
"artiq-stubs": "artiq-stubs", "artiq-stubs": "artiq-stubs",
"artiqpkgs": [ "artiqpkgs": [
"artiq" "artiqpkgs"
], ],
"flake8-artiq": "flake8-artiq", "flake8-artiq": "flake8-artiq",
"nixpkgs": [ "nixpkgs": [
"artiq", "artiqpkgs",
"nixpkgs" "nixpkgs"
], ],
"sipyco": [ "sipyco": [
"artiq", "artiqpkgs",
"sipyco" "sipyco"
], ],
"trap-dac-utils": "trap-dac-utils" "trap-dac-utils": "trap-dac-utils"
}, },
"locked": { "locked": {
"lastModified": 1671209611, "lastModified": 1729547028,
"narHash": "sha256-IBIdF8inxa21DTkonUKQ25bTy/1twpQQjU1g5rbBWxo=", "narHash": "sha256-l7GGLjTrGtF23XYsdjQmLPgccDDUwjbGQQsQ3lhn/SI=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "1c47f53cca6ba455df5c2f6566f138f0b8495a4b", "rev": "dbe0e8f3902527c6254589303e020db08760dd85",
"revCount": 1080, "revCount": 1384,
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/dax.git" "url": "https://gitlab.com/duke-artiq/dax.git"
}, },
@ -111,12 +112,51 @@
} }
}, },
"flake-utils": { "flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": { "locked": {
"lastModified": 1659877975, "lastModified": 1710146030,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"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": {
@ -127,21 +167,18 @@
}, },
"flake8-artiq": { "flake8-artiq": {
"inputs": { "inputs": {
"artiqpkgs": [ "flake-utils": "flake-utils_2",
"daxpkgs",
"artiqpkgs"
],
"nixpkgs": [ "nixpkgs": [
"daxpkgs", "daxpkgs",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1669758648, "lastModified": 1722261486,
"narHash": "sha256-nomQRpu/b8YTAma6kmbSRrz5D9l1l0TV+trKHukT1V8=", "narHash": "sha256-F+43turwuIdCcs8yu4rXCtSEE2ZDssFDEFex5+Uel4E=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "c4949e7a415d5e35a242d552d4bb83614693b92e", "rev": "2888fa292a52ac6666590e1429786210cda04b18",
"revCount": 85, "revCount": 111,
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/flake8-artiq.git" "url": "https://gitlab.com/duke-artiq/flake8-artiq.git"
}, },
@ -150,57 +187,63 @@
"url": "https://gitlab.com/duke-artiq/flake8-artiq.git" "url": "https://gitlab.com/duke-artiq/flake8-artiq.git"
} }
}, },
"mozilla-overlay": {
"flake": false,
"locked": {
"lastModified": 1664789696,
"narHash": "sha256-UGWJHQShiwLCr4/DysMVFrYdYYHcOqAOVsWNUu+l6YU=",
"owner": "mozilla",
"repo": "nixpkgs-mozilla",
"rev": "80627b282705101e7b38e19ca6e8df105031b072",
"type": "github"
},
"original": {
"owner": "mozilla",
"repo": "nixpkgs-mozilla",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1669735802, "lastModified": 1731319897,
"narHash": "sha256-qtG/o/i5ZWZLmXw108N2aPiVsxOcidpHJYNkT45ry9Q=", "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "731cc710aeebecbf45a258e977e8b68350549522", "rev": "dc460ec76cbff0e66e269457d7b728432263166c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-22.11", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"root": { "root": {
"inputs": { "inputs": {
"artiq": "artiq", "artiqpkgs": "artiqpkgs",
"daxpkgs": "daxpkgs" "daxpkgs": "daxpkgs"
} }
}, },
"rust-overlay": {
"inputs": {
"nixpkgs": [
"artiqpkgs",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719454714,
"narHash": "sha256-MojqG0lyUINkEk0b3kM2drsU5vyaF8DFZe/FAlZVOGs=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "d1c527659cf076ecc4b96a91c702d080b213801e",
"type": "github"
},
"original": {
"owner": "oxalica",
"ref": "snapshot/2024-08-01",
"repo": "rust-overlay",
"type": "github"
}
},
"sipyco": { "sipyco": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"artiq", "artiqpkgs",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1669369686, "lastModified": 1728371104,
"narHash": "sha256-YHez+S3PTUgtuliUNB5WM+RXcj8RKLbHVRvOgELSkwU=", "narHash": "sha256-PPnAyDedUQ7Og/Cby9x5OT9wMkNGTP8GS53V6N/dk4w=",
"owner": "m-labs", "owner": "m-labs",
"repo": "sipyco", "repo": "sipyco",
"rev": "98db6eacb084c2c5280fb653bee3d313e3ca6df8", "rev": "094a6cd63ffa980ef63698920170e50dc9ba77fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -212,11 +255,11 @@
"src-migen": { "src-migen": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1662111470, "lastModified": 1727677091,
"narHash": "sha256-IPyhoFZLhY8d3jHB8jyvGdbey7V+X5eCzBZYSrJ18ec=", "narHash": "sha256-Zg3SQnTwMM/VkOGKogbPyuCC2NhLy8HB2SPEUWWNgCU=",
"owner": "m-labs", "owner": "m-labs",
"repo": "migen", "repo": "migen",
"rev": "639e66f4f453438e83d86dc13491b9403bbd8ec6", "rev": "c19ae9f8ae162ffe2d310a92bfce53ac2a821bc8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -228,11 +271,11 @@
"src-misoc": { "src-misoc": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1669779825, "lastModified": 1729234629,
"narHash": "sha256-l3lyy6dmbivo9Tppb08KHSyU89ZZG1CCcSjPlNRD210=", "narHash": "sha256-TLsTCXV5AC2xh+bS7EhBVBKqdqIU3eKrnlWcFF9LtAM=",
"ref": "master", "ref": "refs/heads/master",
"rev": "2c255775f732a41ba1a512ab3d2547af4e25f674", "rev": "6085a312bca26adeca6584e37d08c8ba2e1d6e38",
"revCount": 2435, "revCount": 2460,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/m-labs/misoc.git" "url": "https://github.com/m-labs/misoc.git"
@ -259,23 +302,65 @@
"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": {
"artiqpkgs": [ "flake-utils": "flake-utils_3",
"daxpkgs",
"artiqpkgs"
],
"nixpkgs": [ "nixpkgs": [
"daxpkgs", "daxpkgs",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1671136817, "lastModified": 1718374915,
"narHash": "sha256-6uVX0st+0rp0sl2i9MOepxPpgpjGdlfwZ7jndnNKR9k=", "narHash": "sha256-XBB+9VPF8njZzqMrOaWlqlbf+NrnnDIvfVsiig2TPvc=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "8b754f0735c5efd0e467bed7680f9d1d93d027c3", "rev": "c3cf4be6bf6b1a42fc57eecd5afebb0beddfb02a",
"revCount": 261, "revCount": 300,
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/trap-dac-utils.git" "url": "https://gitlab.com/duke-artiq/trap-dac-utils.git"
}, },

271
flake.nix
View File

@ -1,31 +1,39 @@
{ {
description = "Additional packages for ARTIQ"; description = "Additional packages for ARTIQ";
inputs.artiq.url = git+https://github.com/m-labs/artiq.git; 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;
inputs = { inputs = {
artiqpkgs.follows = "artiq"; artiqpkgs.follows = "artiqpkgs";
nixpkgs.follows = "artiq/nixpkgs"; nixpkgs.follows = "artiqpkgs/nixpkgs";
sipyco.follows = "artiq/sipyco"; sipyco.follows = "artiqpkgs/sipyco";
}; };
}; };
outputs = { self, artiq, daxpkgs }: outputs = { self, artiqpkgs, daxpkgs }:
let let
pkgs = import artiq.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-2022.05-Linux-x86_64.sh"; url = "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh";
sha256 = "sha256-p8Cv6GL26hmlloAfwTi94EY6vLzht1Po1cR0tQai2y0="; sha256 = "sha256-O6CimBVcMvv9gMvCOCmFYL9pot9RF4MFSt/BUbdtgNg=";
}; };
condaInstallerEnv = pkgs.buildFHSUserEnv { condaInstallerEnv = pkgs.buildFHSEnv {
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";
@ -42,13 +50,14 @@
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.9/site-packages/conda/gateways/disk/__init__.py \ substituteInPlace $out/lib/python3.12/site-packages/conda/gateways/disk/__init__.py \
--replace "os.chmod(path, 0o2775)" "pass" --replace "os.chmod(path, 0o2775)" "pass"
''; '';
}; };
condaBuilderEnv = pkgs.buildFHSUserEnv { condaBuilderEnv = pkgs.buildFHSEnv {
name = "conda-builder-env"; name = "conda-builder-env";
targetPkgs = pkgs: condaDeps ++ [ condaInstalled ]; targetPkgs = pkgs: condaDeps ++ [ condaInstalled ];
extraBwrapArgs = [ "--bind" "/nix" "/nix" ];
}; };
makeCondaRecipe = (constituent: makeCondaRecipe = (constituent:
'' ''
@ -122,9 +131,11 @@
}; };
in rec { in rec {
inherit pkgs;
inherit makeCondaChannel; inherit makeCondaChannel;
inherit (msys2) makeMsys2Package makeMsys2Repos; inherit (msys2) makeMsys2Package makeMsys2Repos;
packages.x86_64-linux = rec { packages.x86_64-linux = rec {
inherit (artiqpkgs.packages.x86_64-linux) artiq openocd-bscanspi;
korad_ka3005p = pkgs.python3Packages.buildPythonPackage { korad_ka3005p = pkgs.python3Packages.buildPythonPackage {
pname = "korad_ka3005p"; pname = "korad_ka3005p";
version = "1.1"; version = "1.1";
@ -134,7 +145,7 @@
rev = "a1898409cb188b388ed1cf84e76ca69e9c8a74eb"; rev = "a1898409cb188b388ed1cf84e76ca69e9c8a74eb";
sha256 = "0h20qss70nssqiagc2fx75mravq1pji7rizhag3nq8xrcz2w20nc"; sha256 = "0h20qss70nssqiagc2fx75mravq1pji7rizhag3nq8xrcz2w20nc";
}; };
propagatedBuildInputs = [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco artiq.packages.x86_64-linux.asyncserial ]; propagatedBuildInputs = [ artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco artiqpkgs.packages.x86_64-linux.asyncserial ];
}; };
novatech409b = pkgs.python3Packages.buildPythonPackage { novatech409b = pkgs.python3Packages.buildPythonPackage {
pname = "novatech409b"; pname = "novatech409b";
@ -145,7 +156,7 @@
rev = "3bd559753972f07d881df66b7c6819afc5436053"; rev = "3bd559753972f07d881df66b7c6819afc5436053";
sha256 = "1g9qv6fn5h7d393mb1v7w8sg6fimqg34blqdj22qnayb4agw1wyg"; sha256 = "1g9qv6fn5h7d393mb1v7w8sg6fimqg34blqdj22qnayb4agw1wyg";
}; };
propagatedBuildInputs = [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco artiq.packages.x86_64-linux.asyncserial ]; propagatedBuildInputs = [ artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco artiqpkgs.packages.x86_64-linux.asyncserial ];
}; };
lda = pkgs.python3Packages.buildPythonPackage { lda = pkgs.python3Packages.buildPythonPackage {
name = "lda"; name = "lda";
@ -156,7 +167,7 @@
rev = "2d8af1e9080a4c1ab4a32370b3f926bfba8c00b2"; rev = "2d8af1e9080a4c1ab4a32370b3f926bfba8c00b2";
sha256 = "sha256-bImAsQiGmMauasltUrlkCRU3+p40d41DTlJvOjCfrP0="; sha256 = "sha256-bImAsQiGmMauasltUrlkCRU3+p40d41DTlJvOjCfrP0=";
}; };
propagatedBuildInputs = [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco ]; propagatedBuildInputs = [ artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco ];
postPatch = '' postPatch = ''
substituteInPlace lda/hidapi.py \ substituteInPlace lda/hidapi.py \
--replace "hidapi_lib_path = None"\ --replace "hidapi_lib_path = None"\
@ -172,7 +183,7 @@
rev = "0cb0c15fc7e660a150e193245f5338d48f8b97db"; rev = "0cb0c15fc7e660a150e193245f5338d48f8b97db";
sha256 = "1n4zmjcj2kpd97217y602pq6x8s80w39fgyi6qjmal92aicqdg07"; sha256 = "1n4zmjcj2kpd97217y602pq6x8s80w39fgyi6qjmal92aicqdg07";
}; };
propagatedBuildInputs = [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco artiq.packages.x86_64-linux.asyncserial ]; propagatedBuildInputs = [ artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco artiqpkgs.packages.x86_64-linux.asyncserial ];
}; };
newfocus8742 = pkgs.python3Packages.buildPythonPackage { newfocus8742 = pkgs.python3Packages.buildPythonPackage {
pname = "newfocus8742"; pname = "newfocus8742";
@ -183,7 +194,7 @@
rev = "9f6092b724b33b934aa4d3a1d6a20c295cd1d02d"; rev = "9f6092b724b33b934aa4d3a1d6a20c295cd1d02d";
sha256 = "0qf05ghylnqf3l5vjx5dc748wi84xn6p6lb6f9r8p6f1z7z67fb8"; sha256 = "0qf05ghylnqf3l5vjx5dc748wi84xn6p6lb6f9r8p6f1z7z67fb8";
}; };
propagatedBuildInputs = [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco pkgs.python3Packages.pyusb ]; propagatedBuildInputs = [ artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco pkgs.python3Packages.pyusb ];
# no unit tests so do a simple smoke test # no unit tests so do a simple smoke test
checkPhase = "python -m newfocus8742.aqctl_newfocus8742 -h"; checkPhase = "python -m newfocus8742.aqctl_newfocus8742 -h";
}; };
@ -196,30 +207,15 @@
rev = "68369d5d63d233827840a9a752d90454a4e03baa"; rev = "68369d5d63d233827840a9a752d90454a4e03baa";
sha256 = "0r832c0icz8v3w27ci13024bqfslj1gx6dwhjv11ksw229xdcghd"; sha256 = "0r832c0icz8v3w27ci13024bqfslj1gx6dwhjv11ksw229xdcghd";
}; };
propagatedBuildInputs = [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco ]; propagatedBuildInputs = [ artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco ];
# no unit tests without hardware so do a simple smoke test # no unit tests without hardware so do a simple smoke test
checkPhase = "python -m hut2.aqctl_hut2 -h"; checkPhase = "python -m hut2.aqctl_hut2 -h";
}; };
wand = pkgs.python3Packages.buildPythonPackage {
pname = "wand";
version = "0.4.dev";
src = pkgs.fetchFromGitHub {
owner = "OxfordIonTrapGroup";
repo = "wand";
rev = "c080ddab6b2d94bb673ed32a0cea2bf68e66c702";
sha256 = "sha256-T27/mZepPrnheoVEKsP5cRDFc1JffTnuPvXq2r2GP4E=";
};
nativeBuildInputs = [ pkgs.qt5.wrapQtAppsHook ];
dontWrapQtApps = true;
postFixup = ''
wrapQtApp "$out/bin/wand_gui"
'';
propagatedBuildInputs = [ artiq.packages.x86_64-linux.artiq artiq.packages.x86_64-linux.qasync ]
++ [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco ]
++ (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: { doCheck = false; }); dax = daxpkgs.packages.x86_64-linux.dax.overridePythonAttrs (oa: {
nativeBuildInputs = (oa.nativeBuildInputs or []) ++ [ pkgs.qt6.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";
@ -229,8 +225,10 @@
rev = "0f0196b6941b0c44a33c85d8c02047ca65466463"; rev = "0f0196b6941b0c44a33c85d8c02047ca65466463";
sha256 = "0mx6yjvprhdnkdigwns8mg6v5daqxpgbv7mf63fa76i1iv2wvak4"; sha256 = "0mx6yjvprhdnkdigwns8mg6v5daqxpgbv7mf63fa76i1iv2wvak4";
}; };
propagatedBuildInputs = [ artiq.packages.x86_64-linux.artiq ] nativeBuildInputs = [ pkgs.qt6.wrapQtAppsHook ];
++ (with pkgs.python3Packages; [ numpy pyqt5 pyqtgraph ]); dontWrapQtApps = true;
propagatedBuildInputs = [ artiqpkgs.packages.x86_64-linux.artiq ]
++ (with pkgs.python3Packages; [ numpy pyqt6 pyqtgraph ]);
doCheck = false; doCheck = false;
}; };
linien-client = pkgs.python3Packages.buildPythonPackage rec { linien-client = pkgs.python3Packages.buildPythonPackage rec {
@ -266,7 +264,7 @@
postInstall = postInstall =
'' ''
# conflicts with linien-client # conflicts with linien-client
rm -rf $out/lib/python3.10/site-packages/linien/__pycache__ rm -rf $out/lib/python3.12/site-packages/linien/__pycache__
''; '';
}; };
# replace broken (as usual) setuptools launcher # replace broken (as usual) setuptools launcher
@ -292,30 +290,30 @@
conda-channel = makeCondaChannel [ conda-channel = makeCondaChannel [
{ {
name = "sipyco"; name = "sipyco";
version = artiq.inputs.sipyco.packages.x86_64-linux.sipyco.version; version = artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco.version;
src = artiq.inputs.sipyco.packages.x86_64-linux.sipyco.src; src = artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco.src;
dependencies = [ "numpy" "pybase64" ]; dependencies = [ "numpy" "pybase64" ];
} }
{ {
name = "pythonparser"; name = "pythonparser";
version = artiq.packages.x86_64-linux.pythonparser.version; version = artiqpkgs.packages.x86_64-linux.pythonparser.version;
src = artiq.packages.x86_64-linux.pythonparser.src; src = artiqpkgs.packages.x86_64-linux.pythonparser.src;
dependencies = [ "regex" ]; dependencies = [ "regex" ];
} }
{ {
name = "artiq-comtools"; name = "artiq-comtools";
version = artiq.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools.version; version = artiqpkgs.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools.version;
src = artiq.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools.src; src = artiqpkgs.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools.src;
dependencies = [ "numpy" "aiohttp" "sipyco" ]; dependencies = [ "numpy" "aiohttp" "sipyco" ];
} }
{ {
name = "artiq"; name = "artiq";
version = artiq.packages.x86_64-linux.artiq.version; version = artiqpkgs.packages.x86_64-linux.artiq.version;
src = artiq.packages.x86_64-linux.artiq.src; src = artiqpkgs.packages.x86_64-linux.artiq.src;
preSetup = preSetup =
'' ''
export VERSIONEER_OVERRIDE=${artiq.packages.x86_64-linux.artiq.version} export VERSIONEER_OVERRIDE=${artiqpkgs.packages.x86_64-linux.artiq.version}
export VERSIONEER_REV=${artiq.sourceInfo.rev} export VERSIONEER_REV=${artiqpkgs.sourceInfo.rev}
''; '';
dependencies = [ dependencies = [
"pythonparser" "pythonparser"
@ -334,7 +332,10 @@
"llvm-tools" "llvm-tools"
"lld" "lld"
"tqdm" "tqdm"
"python-lmdb"
"artiq-comtools" "artiq-comtools"
"platformdirs"
"jsonschema"
]; ];
} }
@ -374,12 +375,6 @@
src = hut2.src; src = hut2.src;
dependencies = [ "sipyco" ]; dependencies = [ "sipyco" ];
} }
{
name = "wand";
version = wand.version;
src = wand.src;
dependencies = [ "artiq" "qasync" "numpy" "scipy" "influxdb" ];
}
{ {
name = "flake8-artiq"; name = "flake8-artiq";
version = flake8-artiq.version; version = flake8-artiq.version;
@ -408,94 +403,81 @@
msys2-pythonparser = msys2.makeMsys2Package rec { msys2-pythonparser = msys2.makeMsys2Package rec {
name = "python-pythonparser"; name = "python-pythonparser";
version = artiq.packages.x86_64-linux.pythonparser.version; version = artiqpkgs.packages.x86_64-linux.pythonparser.version;
src = artiq.packages.x86_64-linux.pythonparser.src; src = artiqpkgs.packages.x86_64-linux.pythonparser.src;
depends = [ "mingw-w64-x86_64-python-regex" ]; depends = readStringListFromFile pythonparserDependenciesFile;
}; };
msys2-sipyco = msys2.makeMsys2Package { msys2-sipyco = msys2.makeMsys2Package {
name = "python-sipyco"; name = "python-sipyco";
src = artiq.inputs.sipyco.packages.x86_64-linux.sipyco.src; src = artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco.src;
inherit (artiq.inputs.sipyco.packages.x86_64-linux.sipyco) version; inherit (artiqpkgs.inputs.sipyco.packages.x86_64-linux.sipyco) version;
depends = [ "mingw-w64-x86_64-python" "mingw-w64-x86_64-python-numpy" "mingw-w64-x86_64-python-pybase64" ]; depends = readStringListFromFile sipycoDependenciesFile;
}; };
msys2-artiq-comtools = msys2.makeMsys2Package { msys2-artiq-comtools = msys2.makeMsys2Package {
name = "artiq-comtools"; name = "artiq-comtools";
src = artiq.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools.src; src = artiqpkgs.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools.src;
inherit (artiq.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools) version; inherit (artiqpkgs.inputs.artiq-comtools.packages.x86_64-linux.artiq-comtools) version;
depends = [ "mingw-w64-x86_64-python" "mingw-w64-x86_64-python-sipyco" "mingw-w64-x86_64-python-numpy" "mingw-w64-x86_64-python-aiohttp" ]; depends = (readStringListFromFile comtoolsDependenciesFile) ++ [ "mingw-w64-clang-x86_64-python-sipyco" ];
}; };
msys2-artiq = msys2.makeMsys2Package { msys2-artiq = msys2.makeMsys2Package {
name = "artiq"; name = "artiq";
src = artiq; inherit (artiqpkgs.packages.x86_64-linux.artiq) version src;
inherit (artiq.packages.x86_64-linux.artiq) version; prepare =
depends = [ ''
"mingw-w64-x86_64-python" export VERSIONEER_OVERRIDE=${artiqpkgs.packages.x86_64-linux.artiq.version}
"mingw-w64-x86_64-python-h5py" export VERSIONEER_REV=${artiqpkgs.sourceInfo.rev}
"mingw-w64-x86_64-python-pyqt5" '';
"mingw-w64-x86_64-qt5-svg" depends = (readStringListFromFile artiqDependenciesFile)
"mingw-w64-x86_64-python-qasync" ++ [ "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-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 = artiq.packages.x86_64-linux.asyncserial.version; version = artiqpkgs.packages.x86_64-linux.asyncserial.version;
src = artiq.packages.x86_64-linux.asyncserial.src; src = artiqpkgs.packages.x86_64-linux.asyncserial.src;
depends = [ "mingw-w64-x86_64-python" ]; depends = [ "mingw-w64-clang-x86_64-python" "mingw-w64-clang-x86_64-python-pyserial" ];
}; };
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-x86_64-python-sipyco" "mingw-w64-x86_64-python-asyncserial" ]; depends = [ "mingw-w64-clang-x86_64-python-sipyco" "mingw-w64-clang-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-x86_64-python-sipyco" "mingw-w64-x86_64-python-asyncserial" ]; depends = [ "mingw-w64-clang-x86_64-python-sipyco" "mingw-w64-clang-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-x86_64-python-sipyco" ]; depends = [ "mingw-w64-clang-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-x86_64-python-sipyco" "mingw-w64-x86_64-python-asyncserial" ]; depends = [ "mingw-w64-clang-x86_64-python-sipyco" "mingw-w64-clang-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-x86_64-python-sipyco" ]; depends = [ "mingw-w64-clang-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-x86_64-python-sipyco" ]; depends = [ "mingw-w64-clang-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-x86_64-python-flake8" ]; depends = [ "mingw-w64-clang-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
@ -508,8 +490,105 @@
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=";
};
zadig-binary = pkgs.fetchurl {
url = "https://github.com/pbatard/libwdi/releases/download/v1.5.1/zadig-2.9.exe";
name = "zadig";
sha256 = "sha256-TsqpXfPaNiFIagQ674swULi6/nyQFAKHHoFiKe+CA5s=";
};
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-beta\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
cp ${zadig-binary} $out/zadig.exe
mkdir -p $out/clang64/etc/ssl/certs
cp -f $out/usr/ssl/certs/ca-bundle.crt $out/clang64/etc/ssl/certs/ca-bundle.crt
cp -f $out/usr/ssl/cert.pem $out/clang64/etc/ssl/cert.pem
cp -f $out/usr/ssl/certs/ca-bundle.trust.crt $out/clang64/etc/ssl/certs/ca-bundle.trust.crt
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.unstable}/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 = {
msys2 = pkgs.mkShell {
name = "dev-shell-msys2";
buildInputs = with pkgs; [
curl
pacman
fakeroot
p7zip
msys2.wine-msys2
wineWowPackages.unstable
];
};
};
}; };
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

View File

@ -0,0 +1,18 @@
<?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

@ -0,0 +1,20 @@
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

@ -0,0 +1,65 @@
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("CreateShortcut", "@TargetDir@/zadig.exe", "@StartMenuDir@/Zadig Driver Installer.lnk", "iconPath=@TargetDir@/zadig.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

@ -0,0 +1,9 @@
<?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,28 @@
arch=("any") arch=("any")
mingw_arch=("mingw64") mingw_arch=("clang64")
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 mingw64 mkdir clang64
export PYTHONPATH=`pwd`/mingw64/lib/python3.10/site-packages export PYTHONPATH=`pwd`/clang64/lib/python3.12/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=../mingw64 --record=setuptools-sucks.txt wine-msys2-build python -m build --wheel --skip-dependency-check --no-isolation
cd .. }
# setuptools creates this file if it doesn't already exist, which causes conflicts between pacman packages package() {
# see: https://corte.si/posts/code/setuptoolssucks/ cd source
rm -f mingw64/lib/python3.10/site-packages/easy-install.pth wine-msys2-build python -m installer --destdir="${pkgdir}" --prefix="clang64/" dist/*.whl
# patch broken shebangs (Z:/nix/store/...) # patch broken shebangs (Z:/nix/store/...)
for entrypoint in mingw64/bin/*-script.py; do for entrypoint in ${pkgdir}/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 mingw64/bin/*-script.pyw; do for entrypoint in ${pkgdir}/bin/*-script.pyw; do
[ -f "$entrypoint" ] || continue [ -f "$entrypoint" ] || continue
sed -i "1s|#!.*|#!pythonw|" $entrypoint sed -i "1s|#!.*|#!pythonw|" $entrypoint
done done
} }
package() {
cp -R mingw64 ${pkgdir}
}

View File

@ -0,0 +1,20 @@
mingw-w64-clang-x86_64-python-h5py
mingw-w64-clang-x86_64-python-pyqt6
mingw-w64-clang-x86_64-qt6-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-python-platformdirs
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
mingw-w64-clang-x86_64-python-jsonschema

View File

@ -0,0 +1,644 @@
{ pkgs } : [
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libunwind-19.1.3-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libunwind";
sha256 = "0xsp7ksyqxzdcgjrl18mg3djil12vk7jf3l02h9l6d753waqf4f3";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libc++-19.1.3-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libc++";
sha256 = "1m50hbb6v5g13747gb6l6wzjxy1fxgdd4zhd30fni2zfnnzlrhd1";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-expat-2.6.4-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-expat";
sha256 = "03fp2yacv7gk0g049lffz6pbj93vpjmzqxxa312d4gxczi57nqdv";
})
(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-0.9.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libtre";
sha256 = "1y5d2cbkpd0ngqlsv6hvz47nxb1wry33i5s1clg2k53yhgjkg8vv";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libsystre-1.0.1-6-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libsystre";
sha256 = "19c71fs5gqjrf88mv7l702fjg228xd9lfbxg0mkzm3ljvv4ljn0q";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-ncurses-6.5.20240831-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-ncurses";
sha256 = "1hlfj9g4s767s502sawwbcv4a0xd3ym3ip4jswmhq48wh5050iyb";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-openssl-3.4.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-openssl";
sha256 = "0cgiqjmgdnwnv9r88z634dmqrzh06dmsfncyzymw0s16nnv2k7k2";
})
(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.013-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-readline";
sha256 = "0pv1ypqfgm4mimzr0amq9anr1ysqmzrwv6gfk7rrlzhihadknsvr";
})
(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.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-sqlite3";
sha256 = "1axplxyjnaz411qzjjqwbj55fbrh4akq3plm2p1sx64jp844xpyq";
})
(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.3-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-xz";
sha256 = "09cbqivx9afh7wnqi5iiyrbhnv3y2qc9h1brm420sjpaqhz4prkv";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tzdata-2024b-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-tzdata";
sha256 = "0jihnr1i7vyzczxz60ds1x3gcm3p4ad2pq9d5vvpwjdwrxkvxmkc";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-3.12.7-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python";
sha256 = "1c71xm6dp700qw1vzwy97bqk5093yhhzvk8p498z2zdn92s1dxj9";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libwinpthread-git-12.0.0.r387.gcf5c50cce-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libwinpthread-git";
sha256 = "14q908glsqrbkk932mynvj2jm154v0ywndbn4a7s734fn8xs5hmq";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-openmp-19.1.3-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-llvm-openmp";
sha256 = "1d5zdr9sy8ffn4p4ia5c7xgxa4dsrpl79brx0hlfw0xyjrm0nxlr";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-openblas-0.3.28-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-openblas";
sha256 = "1pskcqc1lg9p8m8rk7bw3mz7mn7vw5fpl7zxa23bhjn02p5b79qq";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-numpy-2.1.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-numpy";
sha256 = "1kiy7ail04ias47xbbhl9vpsz02g0g3f29ncgx5gcks9vgqldp6m";
})
(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.34.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-c-ares";
sha256 = "036jrzcc8dsaq9dqi3wprc7bbph7j88v94256f700f8qm8mbp5la";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-brotli-1.1.0-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-brotli";
sha256 = "0l7m7cbxxw9gr1h4a8i5b6sxc2j9hsy3cy3r70xadd61kjxrxi6k";
})
(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.63.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-nghttp2";
sha256 = "0lfqrlmapsc7ilxjmhr7hxi578vclqlhpqimbvzq0c70c0iwk864";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-nghttp3-1.6.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-nghttp3";
sha256 = "1p7q47fin12vzyf126v1azbbpgpa0y6ighfh6mbfdb6zcyq74kbd";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-curl-8.11.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-curl";
sha256 = "18pl32rg7zkxgyv1nw9krha0pzq0amcad0jl162jiw81khz4cc85";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-hdf5-1.14.5-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-hdf5";
sha256 = "1lx87nvrsc0fjcr93k30c4ds64swgwl5vv07058xbgqabil2293f";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-h5py-3.12.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-h5py";
sha256 = "1vcaadsln7pbwzfbh8svkd5miagxhsx3irr8azz6cb64cyjag9d0";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pyqt6-sip-13.8.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pyqt6-sip";
sha256 = "1x948jsz5b0ispfsqbdpyskhvhf6ik8kam2wswar4i72j4vf4sda";
})
(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-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-libpng-1.6.44-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libpng";
sha256 = "1zg1wf37z13szm7x09h2jbr5xpxs137kr812rgkzc80i7h3h6a1x";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-wineditline-2.208-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-wineditline";
sha256 = "0x9d1ax81p0k1863z0jdhqg7454hb0svvil1f4aiqy1vlhqshfl5";
})
(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.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-packaging";
sha256 = "1m6pcrzpv80mvnsv770da7q71drc5nha636qlsjl5qvfzxi6hgfd";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-glib2-2.82.2-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-glib2";
sha256 = "0xwsd4l98dyar4359xgvx7s4asd2hyd4d38mh9h820mfza2abczn";
})
(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-10.1.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-harfbuzz";
sha256 = "01xi8gw8sppz5cfhazy5kbsk638vw3gppfzfix40gjs7pas7fg9q";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-freetype-2.13.3-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-freetype";
sha256 = "08jn0qqibkk2s4q005ff0a1kz0yklq0cp7w4wd1g4h2ykczii2zy";
})
(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-libb2-0.98.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libb2";
sha256 = "0555dvb2xs6695sz5ndrx6y0cz3qa5cg0m5v8q1md13ssg76vlh6";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libjpeg-turbo-3.0.4-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libjpeg-turbo";
sha256 = "1xq45dhynjx1qynnp75dwii0gzy911i8wrfa2rdarlygvr8dssr7";
})
(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.296.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-vulkan-loader";
sha256 = "0nx4586kgavhadbpwlgl287iw3g9nkmf5n6z5pvyyb3ayh760h2s";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-vulkan-headers-1.3.296.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-vulkan-headers";
sha256 = "042xvrs3y138saih6inihwy82qycsbilvvmvm01rb6yib0r7wig3";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-qt6-base-6.8.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-qt6-base";
sha256 = "0vz8595swk65dgj1nn8858rajjd2300xr5jz1b0bkln6n3gs4jbn";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pyqt6-6.8.0dev2410211537-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pyqt6";
sha256 = "1jjzbw4xflx750b6prph9fqf3lxdvad3yibg8h6mbdvkbhv44wrf";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-qt6-svg-6.8.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-qt6-svg";
sha256 = "1l20hkm8kjs6d7gcqzznyxhj0c1x07ghs395sd6w41pl4vjb5amk";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-qasync-0.27.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-qasync";
sha256 = "17q0qwdkhhjc3b3cq95d2nbjxp1r94dvgqs216fsbj32x4fd275i";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pyqtgraph-0.13.7-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pyqtgraph";
sha256 = "10w10qxnshba74j7s9n1b7279q6pc5za9h3yk01vdikly20ki8db";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-scipy-1.14.1-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-scipy";
sha256 = "0pykz57xa10ipj3j20v46zd2f1707jcfqdd4mbvhmk3lf12y5cxy";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-six-1.16.0-6-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-six";
sha256 = "13ias6gykv1spa3h80316n13yq4ldq6az3h89h656hx2law024g5";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-dateutil-2.9.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-dateutil";
sha256 = "14i6jqkjs0ca9zahsdd6pq7fxci441cfi15dd57l6cd8cy5g3bfm";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-wcwidth-0.2.13-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-wcwidth";
sha256 = "1lcp01bsqcnc1rrf9n5s76wxj8d2ascxpd94fy0084bhvjklf17z";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-prettytable-3.11.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-prettytable";
sha256 = "0dg1703r0cq2kq0qsnzz0yaqvnsrdg1bdzws2p7rwpm7ddbm4kla";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-colorama-0.4.6-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-colorama";
sha256 = "1k1qkaxad25k7c2ybph084c3nbvx0akbv4y078hkav2hff7mdbah";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-tqdm-4.67.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-tqdm";
sha256 = "1x452k3byk8pkh40m0jblim1797vkxby15289vmddnjac4hmmyp8";
})
(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.8.4-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libgit2";
sha256 = "0ffv4cs2m6fkw2g6pnb3h5w47bp71l4q6l5lam3phvbibsa1wmk5";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pycparser-2.22-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pycparser";
sha256 = "1f8m0lfv3fhqi4skb440rqfl2lx43bjqg2vg4f9whb0df7n63y8c";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-cffi-1.17.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-cffi";
sha256 = "1pr84r0z1wdmlhimck7pl9qv3g9anhm3896y8yz47f77lp899sb8";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pygit2-1.16.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pygit2";
sha256 = "0rykskvn8px62ifpcy1qaacln6v6ap5m232fnnp5h34lz88hajkf";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-llvmlite-0.43.0-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-llvmlite";
sha256 = "1hdqgpwbznxyh1z82fzabzlh99kfyii3h7srdl4sdxdw0h476b4i";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-rapidfuzz-3.6.2-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-rapidfuzz";
sha256 = "017ls3za85rvm8d75wwpnd2cry1xgrlwsqkz0x896q4s8gsfh043";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-levenshtein-0.25.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-levenshtein";
sha256 = "0mgj825a0pygaw8f1almf3sa8nz8npyfjqizga6935lsizxxz19i";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-lmdb-0.9.33-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-lmdb";
sha256 = "0vmih3yhady422c6kpa0mzj1iv7ywd6xawzsz1zv46kcr88ylrsb";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-lmdb-1.4.1-4-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-lmdb";
sha256 = "0gqgbr7qbhi2pbaxr78ysk3a0zip2jwdwdsdid9ql8sw1i7l572c";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-platformdirs-4.3.6-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-platformdirs";
sha256 = "1qplr2qhji7s7dgcb8i6lfhm54lj5az2whh5sm02rkbg5sav6xlf";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libxml2-2.12.9-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libxml2";
sha256 = "1b1r5llgqv88id8iwhqh23qwqmn5ic9hdamdc8xzij9hmcvdmmci";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-libs-19.1.3-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-llvm-libs";
sha256 = "1f3lx3a050h9274rl2lfhjfbr1knyxjh5ndw6y8g5ba6dr783civ";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-lld-19.1.3-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-lld";
sha256 = "00344c98z4q9vsdkw44ja9vmlf15yq1pa8q15dk8sdihcajq2p1i";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-19.1.3-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-llvm";
sha256 = "1srjqw6njywny38igc11nyyh8fh16bm983ik3y62j024jbzacb2l";
})
(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-10-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-libftdi";
sha256 = "021ywl40967f565nhspmbcghfmgc59cdjcki3jsrp12i3lil2jjp";
})
(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.3-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-capstone";
sha256 = "1pzrwcvdns1npn4nslbkhf42vircncs47qzx178gx8nldf7zzlvy";
})
(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-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-attrs";
sha256 = "0mzlrasngafkwp22wg2gb1x3rkvz12szcn7na0vgm74zw4f4k5v9";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-rpds-py-0.21.0-1-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-rpds-py";
sha256 = "1sqxv0bvfimdpa165ra4xv3d8v73sv6rrc0hm1pazmfb6p8w93p4";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-referencing-0.35.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-referencing";
sha256 = "01is7kj3bav4c9hw7y1r97k8l42mi1iypch0p2s40s6yq8fzj5kd";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-jsonschema-specifications-2023.12.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-jsonschema-specifications";
sha256 = "04hfiq9y6q7myd1qfbmf7qd910l5rszzm3c3jxgp6zwlii6zhpg3";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-jsonschema-4.22.0-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-jsonschema";
sha256 = "0503d3j2zn3gm6mcgbhx3fi5skvainhc5l259c93hipgckb3vsqc";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-multidict-6.0.5-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-multidict";
sha256 = "175pxgawkjbi14zyfz8agjaxnxs5a14ifv3dq82ic9g8sb9ydk0j";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-idna-3.8-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-idna";
sha256 = "09qpxm174lqinhxqngy7sirckvvhyzzxr4fcy22jn281mr2n3i9c";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-yarl-1.9.4-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-yarl";
sha256 = "0rh6ijk0glrlvqqg3l18a850mvgmwarzd5g42yxjzms5w7xx9052";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-frozenlist-1.4.1-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-frozenlist";
sha256 = "1yr2g5gk9jjsd6gjssd3vf7ybvk7vgpsmzzk2lmy5y4kn04fydcw";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-aiosignal-1.3.1-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-aiosignal";
sha256 = "09c7h2fywpqrdxkf82jhy9lzkcn6yy2h78hvw6d3x0wk8hqn9n5p";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-aiohttp-3.9.5-3-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-aiohttp";
sha256 = "03isa78gw491j6lms4qszmabh8d6c20hlxl58r7pgq3zcf5k55cl";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-regex-2024.9.11-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-regex";
sha256 = "176z3dcy2wwmizqnqz20faimbhck6zrqcwj5am3w4l5wwmf3mxf2";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pybase64-1.3.2-4-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-pybase64";
sha256 = "1gwx81i6pb1c3bnk66qciwb2a0qznvm8jwybaz41d60xirmn603h";
})
]

View File

@ -0,0 +1,2 @@
mingw-w64-clang-x86_64-python-numpy
mingw-w64-clang-x86_64-python-aiohttp

View File

@ -16,16 +16,23 @@ let
</fontconfig> </fontconfig>
EOF EOF
''; '';
wine-msys2 = pkgs.writeShellScriptBin "wine-msys2"
''
export WINEDEBUG=-all
export WINEPATH=Z:${msys2-env}/clang64/bin
exec ${pkgs.wineWowPackages.unstable}/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}/mingw64/bin export WINEPATH=Z:${msys2-env}/clang64/bin
${silenceFontconfig} ${silenceFontconfig}
exec ${pkgs.wineWowPackages.stable}/bin/wine64 $@ exec ${pkgs.wineWowPackages.unstable}/bin/wine64 $@
''; '';
in { in {
makeMsys2Package = { name, version, src, depends }: pkgs.stdenvNoCC.mkDerivation { inherit wine-msys2;
makeMsys2Package = { name, version, src, depends, prepare ? "" }: pkgs.stdenvNoCC.mkDerivation {
pname = "${name}-msys2-pkg"; pname = "${name}-msys2-pkg";
inherit version; inherit version;
nativeBuildInputs = [ nativeBuildInputs = [
@ -37,9 +44,10 @@ in {
buildPhase = buildPhase =
'' ''
export DRV_VERSION=${version} export DRV_VERSION=${version}
${prepare}
cat > PKGBUILD << HEREDOC cat > PKGBUILD << HEREDOC
pkgbase="mingw-w64-${name}" pkgbase="mingw-w64-clang-${name}"
pkgname="mingw-w64-x86_64-${name}" pkgname="mingw-w64-clang-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,19 +6,40 @@ 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://mirror.msys2.org/msys/x86_64/pacman-mirrors-20220205-1-any.pkg.tar.zst | tar xvf - -C $MSYS2DIR --zstd 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://raw.githubusercontent.com/msys2/MSYS2-packages/master/pacman/pacman.conf | grep -v SigLevel | sed s\|/etc/pacman.d\|$MSYS2DIR/etc/pacman.d\|g > $MSYS2DIR/etc/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
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 --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 pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \
--cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" \
mingw-w64-clang-x86_64-cc \
mingw-w64-clang-x86_64-python-numpy \
mingw-w64-clang-x86_64-python-setuptools mingw-w64-clang-x86_64-python-build mingw-w64-clang-x86_64-python-installer > $MSYS2DIR/packages.txt
echo "{ pkgs } : [" > msys2_packages.nix cat artiq_dependencies.txt comtools_dependencies.txt pythonparser_dependencies.txt sipyco_dependencies.txt | pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \
while read package; do --cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" - > $MSYS2DIR/artiq_dependency_packages.txt
hash=$(nix-prefetch-url $package)
echo " pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf --cachedir $MSYS2DIR/msys/cache \
(pkgs.fetchurl { --sync --print-format "%l %n" mingw-w64-clang-x86_64-qt-installer-framework > $MSYS2DIR/qt_ifw_packages.txt
url = \"$package\";
sha256 = \"$hash\"; function generate_nix_packages_from_pacman() {
})" >> msys2_packages.nix local in=$1
done < $MSYS2DIR/packages.txt local out=$2
echo "]" >> msys2_packages.nix echo "{ pkgs } : [" > $out
while IFS= read -r line; do
read -r url package <<< "$line"
hash=$(nix-prefetch-url $url --name $package)
echo "
(pkgs.fetchurl {
url = \"$url\";
name = \"$package\";
sha256 = \"$hash\";
})" >> $out
done < $in
echo "]" >> $out
}
generate_nix_packages_from_pacman $MSYS2DIR/packages.txt msys2_packages.nix
generate_nix_packages_from_pacman $MSYS2DIR/qt_ifw_packages.txt msys2_qt_ifw_packages.nix
generate_nix_packages_from_pacman $MSYS2DIR/artiq_dependency_packages.txt artiq_dependency_packages.nix

View File

@ -1,197 +1,248 @@
{ pkgs } : [ { pkgs } : [
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libiconv-1.17-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libunwind-19.1.3-1-any.pkg.tar.zst";
sha256 = "1pb1x5wrlmmpjdpzsc7rs5xk6ydlsd5mval0fwrqq54jf6dxdzpz"; name = "mingw-w64-clang-x86_64-libunwind";
}) sha256 = "0xsp7ksyqxzdcgjrl18mg3djil12vk7jf3l02h9l6d753waqf4f3";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-zlib-1.2.13-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libc++-19.1.3-1-any.pkg.tar.zst";
sha256 = "0csqhgrsbig312abizx6ywr3xkvjzn2z4lhhfm11nxmvajyzcnpy"; name = "mingw-w64-clang-x86_64-libc++";
}) sha256 = "1m50hbb6v5g13747gb6l6wzjxy1fxgdd4zhd30fni2zfnnzlrhd1";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-binutils-2.39-2-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libffi-3.4.6-1-any.pkg.tar.zst";
sha256 = "15swxdp3zwqs9wvbqrc0fmchd1797qd81r7ipq3sqrrmf4bmq50g"; name = "mingw-w64-clang-x86_64-libffi";
}) sha256 = "1q6gms980985bp087rnnpvz2fwfakgm5266izfk3b1mbp620s1yv";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-headers-git-10.0.0.r113.g57fd0b77a-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libiconv-1.17-4-any.pkg.tar.zst";
sha256 = "0jpbp8lr2w5ri1cbws5gpa15683migava2alqzn7j116l1nxsfpl"; name = "mingw-w64-clang-x86_64-libiconv";
}) sha256 = "1g2bkhgf60dywccxw911ydyigf3m25yqfh81m5099swr7mjsmzyf";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-crt-git-10.0.0.r113.g57fd0b77a-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-gettext-runtime-0.22.5-2-any.pkg.tar.zst";
sha256 = "102671kigbp3rdnwx7fsjgjvhxfgm67r2y98zpkr8qwv8pysqxc1"; name = "mingw-w64-clang-x86_64-gettext-runtime";
}) sha256 = "0ll6ci6d3mc7g04q0xixjc209bh8r874dqbczgns69jsad3wg6mi";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gmp-6.2.1-3-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-xz-5.6.3-2-any.pkg.tar.zst";
sha256 = "170640c8j81gl67kp85kr8kmg5axsl1vqwn9g7cx6vcr638qax9c"; name = "mingw-w64-clang-x86_64-xz";
}) sha256 = "09cbqivx9afh7wnqi5iiyrbhnv3y2qc9h1brm420sjpaqhz4prkv";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-isl-0.25-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-zlib-1.3.1-1-any.pkg.tar.zst";
sha256 = "0hky9gmd6iz1s3irmp9fk2j10cpqrrw8l810riwr58ynj3i10j2k"; name = "mingw-w64-clang-x86_64-zlib";
}) sha256 = "06i9xjsskf4ddb2ph4h31md5c7imj9mzjhd4lc4q44j8dmpc1w5p";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-mpfr-4.1.0.p13-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libxml2-2.12.9-2-any.pkg.tar.zst";
sha256 = "17klcf17mddd7hsrak920zglqh00drqjdh6dxh3v3c4y62xj1qr6"; name = "mingw-w64-clang-x86_64-libxml2";
}) sha256 = "1b1r5llgqv88id8iwhqh23qwqmn5ic9hdamdc8xzij9hmcvdmmci";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-mpc-1.2.1-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-zstd-1.5.6-2-any.pkg.tar.zst";
sha256 = "0761i6aga4982v6mw1hgqrrqznki0c8v93xkpf5fqmsjysfncscc"; name = "mingw-w64-clang-x86_64-zstd";
}) sha256 = "02cp5ci8w50k7xn38mpkwnr8sn898v18wcc07y8f9sfla7vcyfix";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libwinpthread-git-10.0.0.r113.g57fd0b77a-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-libs-19.1.3-1-any.pkg.tar.zst";
sha256 = "139iq1g7y8si0wwsr8rnlah5rcp0fkww8vyg5r07l2345hajgxys"; name = "mingw-w64-clang-x86_64-llvm-libs";
}) sha256 = "1f3lx3a050h9274rl2lfhjfbr1knyxjh5ndw6y8g5ba6dr783civ";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-libs-12.2.0-4-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-19.1.3-1-any.pkg.tar.zst";
sha256 = "0qpnp2jypk5fgl6p3n22ayjx0in0q69s35b5qvpiqcik2c5q81gy"; name = "mingw-w64-clang-x86_64-llvm";
}) sha256 = "1srjqw6njywny38igc11nyyh8fh16bm983ik3y62j024jbzacb2l";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-windows-default-manifest-6.4-4-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-clang-libs-19.1.3-1-any.pkg.tar.zst";
sha256 = "1ylipf8k9j7bgmwndkib2l29mds394i7jcij7a6ciag4kynlhsvi"; name = "mingw-w64-clang-x86_64-clang-libs";
}) sha256 = "1aj1l07j7q1n5wbqarwss744h5p31vrlkip9995b2c4fv7bvkx08";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-winpthreads-git-10.0.0.r113.g57fd0b77a-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-compiler-rt-19.1.3-1-any.pkg.tar.zst";
sha256 = "06a0d3g8w4m9jnv36w0vjwrw8m0l12axiz2a49g14izykvv9md8b"; name = "mingw-w64-clang-x86_64-compiler-rt";
}) sha256 = "0q4mp7qfwfwkmb1g9jchxz2jz6lcxrgkv4pwblgy4pn6bqxwjqa5";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-zstd-1.5.2-2-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-headers-git-12.0.0.r387.gcf5c50cce-1-any.pkg.tar.zst";
sha256 = "1f14wbc1yvjgv3rbwhv75391l55gcm0as6ipba20vw8phz4ax8ds"; name = "mingw-w64-clang-x86_64-headers-git";
}) sha256 = "1k9ydhadm0gmas6jpr128vfz4a2yllq9f8sdb55zaklk9j4099gv";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-12.2.0-4-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-crt-git-12.0.0.r387.gcf5c50cce-1-any.pkg.tar.zst";
sha256 = "0zxg7mhyl6cvs1zvj0i78sjn3j887nw22w0phllb558jyap8j5fh"; name = "mingw-w64-clang-x86_64-crt-git";
}) sha256 = "1vmlfmy79hbvm4q8kbsyylj99pcnvvay9jb9642rn7vjfripnxni";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-expat-2.4.9-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-lld-19.1.3-1-any.pkg.tar.zst";
sha256 = "1a1q03k4w1a0q12bi07l8bdjad3g4dqzag476l6qf35cgp5mwwj3"; name = "mingw-w64-clang-x86_64-lld";
}) sha256 = "00344c98z4q9vsdkw44ja9vmlf15yq1pa8q15dk8sdihcajq2p1i";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-bzip2-1.0.8-2-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libwinpthread-git-12.0.0.r387.gcf5c50cce-1-any.pkg.tar.zst";
sha256 = "1kqg3aw439cdyhnf02rlfr1pw1n8v9xxvq2alhn7aw6nd8qhw7z5"; name = "mingw-w64-clang-x86_64-libwinpthread-git";
}) sha256 = "14q908glsqrbkk932mynvj2jm154v0ywndbn4a7s734fn8xs5hmq";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libffi-3.4.3-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-winpthreads-git-12.0.0.r387.gcf5c50cce-1-any.pkg.tar.zst";
sha256 = "05vh8p9saycj5i6sqbskv3l2l5fybq3j7nnaz1kfrnrklsgv1xaq"; name = "mingw-w64-clang-x86_64-winpthreads-git";
}) sha256 = "02yppwp6wllfl3fcd29zw3vkdzvhhmmyh43ghfgygv69c0nlrvqn";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-mpdecimal-2.5.1-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-clang-19.1.3-1-any.pkg.tar.zst";
sha256 = "0cpyacmciyzbsar1aka5y592g2gpa4i6a58j3bjdmfjdnpm0j08a"; name = "mingw-w64-clang-x86_64-clang";
}) sha256 = "1cwl7qzlwdmg8qfxj8x7xzfvajn6w6y97k5n4bcw5kas00l5mb79";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gettext-0.21-3-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-expat-2.6.4-1-any.pkg.tar.zst";
sha256 = "1gy7fmn6jc13ipnyyq44gyhv8rvz5cy7gz1dm3wrna80hjnzli5v"; name = "mingw-w64-clang-x86_64-expat";
}) sha256 = "03fp2yacv7gk0g049lffz6pbj93vpjmzqxxa312d4gxczi57nqdv";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libtre-git-r128.6fb7206-2-any.pkg.tar.xz"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-bzip2-1.0.8-3-any.pkg.tar.zst";
sha256 = "0dp3ca83j8jlx32gml2qvqpwp5b42q8r98gf6hyiki45d910wb7x"; name = "mingw-w64-clang-x86_64-bzip2";
}) sha256 = "1n8zf2kk1xj7wiszp6mjchy1yzpalddbj0cj17qm625ags2vzflm";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libsystre-1.0.1-4-any.pkg.tar.xz"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-mpdecimal-4.0.0-1-any.pkg.tar.zst";
sha256 = "037gkzaaj8kp5nspcbc8ll64s9b3mj8d6m663lk1za94bq2axff1"; name = "mingw-w64-clang-x86_64-mpdecimal";
}) sha256 = "0hrhbjgi0g3jqpw8himshqw6vazm5sxhsfmyg386nbrxwnfgl1gb";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-ncurses-6.3-5-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libtre-0.9.0-1-any.pkg.tar.zst";
sha256 = "029z63bw9pwhamw1zi75fr112pxk934nh08by2l54lwdais0vjq8"; name = "mingw-w64-clang-x86_64-libtre";
}) sha256 = "1y5d2cbkpd0ngqlsv6hvz47nxb1wry33i5s1clg2k53yhgjkg8vv";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libtasn1-4.19.0-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libsystre-1.0.1-6-any.pkg.tar.zst";
sha256 = "09bgm2y25jyjm0pwn2imnr30nxzdd7j71ifmxkpabaqkpsfa5av5"; name = "mingw-w64-clang-x86_64-libsystre";
}) sha256 = "19c71fs5gqjrf88mv7l702fjg228xd9lfbxg0mkzm3ljvv4ljn0q";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-p11-kit-0.24.1-3-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-ncurses-6.5.20240831-1-any.pkg.tar.zst";
sha256 = "18ghwd6sy15hjp0si0ia85yvpv0fnawjdn8lxg3yyr93c6hdfssz"; name = "mingw-w64-clang-x86_64-ncurses";
}) sha256 = "1hlfj9g4s767s502sawwbcv4a0xd3ym3ip4jswmhq48wh5050iyb";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-ca-certificates-20211016-3-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-openssl-3.4.0-1-any.pkg.tar.zst";
sha256 = "02x6dnbbyjm6mcl6ii61bc5rkwg3qsbaqd2lyzsp5732hxjcmmq4"; name = "mingw-w64-clang-x86_64-openssl";
}) sha256 = "0cgiqjmgdnwnv9r88z634dmqrzh06dmsfncyzymw0s16nnv2k7k2";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-openssl-1.1.1.q-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-termcap-1.3.1-7-any.pkg.tar.zst";
sha256 = "0rfb3z9jd0y6xjhv4qx1qqyyqgnzzlchbm07icpb4slgwjbm7cjg"; name = "mingw-w64-clang-x86_64-termcap";
}) sha256 = "17ha468qavwin800cc3b7c3xdggwk2gakasfxg7jdx7616d99l0n";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-termcap-1.3.1-6-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-readline-8.2.013-1-any.pkg.tar.zst";
sha256 = "1wgbzj53vmv1vm3igjan635j5ims4x19s2y6mgvvc46zgndc2bvq"; name = "mingw-w64-clang-x86_64-readline";
}) sha256 = "0pv1ypqfgm4mimzr0amq9anr1ysqmzrwv6gfk7rrlzhihadknsvr";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-readline-8.1.002-2-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tcl-8.6.13-1-any.pkg.tar.zst";
sha256 = "136fp0cymxqzgs4s8dmal1f4v6ns2mw8jn4cbfihxqb2cmf9yil8"; name = "mingw-w64-clang-x86_64-tcl";
}) sha256 = "0paaqwk0sfy2zxwlxkmxf2bqq46lyg0sx7cqgzknvazwx8xa2z4x";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-tcl-8.6.12-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-sqlite3-3.46.1-1-any.pkg.tar.zst";
sha256 = "0z66xic67k3j56jvvrwn8sym5yxylyza7ig686z5937nsd29kdw1"; name = "mingw-w64-clang-x86_64-sqlite3";
}) sha256 = "1axplxyjnaz411qzjjqwbj55fbrh4akq3plm2p1sx64jp844xpyq";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-sqlite3-3.39.2-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tk-8.6.13-1-any.pkg.tar.zst";
sha256 = "1rhq52cxafwgp73rhszwj2gcfdq20awrbjydg7a5zr6w8p0mvf2b"; name = "mingw-w64-clang-x86_64-tk";
}) sha256 = "12f6lqx1sglczcnz2ns6sxw9cxwm1klxajqzcrbnfwln1nllz2nd";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-tk-8.6.12-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-tzdata-2024b-1-any.pkg.tar.zst";
sha256 = "1pnznf4a195ij3b1g921k0llkn62wf0piijldj2c7qlbcq73v66c"; name = "mingw-w64-clang-x86_64-tzdata";
}) sha256 = "0jihnr1i7vyzczxz60ds1x3gcm3p4ad2pq9d5vvpwjdwrxkvxmkc";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-xz-5.2.7-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-3.12.7-2-any.pkg.tar.zst";
sha256 = "1qpnp1wmwlgc4rv7xzvglad64z4spfjqfqimklpv96n2bwj0sdi2"; name = "mingw-w64-clang-x86_64-python";
}) sha256 = "1c71xm6dp700qw1vzwy97bqk5093yhhzvk8p498z2zdn92s1dxj9";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-tzdata-2022e-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-llvm-openmp-19.1.3-2-any.pkg.tar.zst";
sha256 = "0b9qi29sc4ky9whri5rm0ks17shyy251g4ykrjkdwfwspfsifc3m"; name = "mingw-w64-clang-x86_64-llvm-openmp";
}) sha256 = "1d5zdr9sy8ffn4p4ia5c7xgxa4dsrpl79brx0hlfw0xyjrm0nxlr";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-3.10.8-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-openblas-0.3.28-1-any.pkg.tar.zst";
sha256 = "0c5fbr521lny98sxvn0xwshwb4kmmg33bmfhk1ygykyvvjm0jjfl"; name = "mingw-w64-clang-x86_64-openblas";
}) sha256 = "1pskcqc1lg9p8m8rk7bw3mz7mn7vw5fpl7zxa23bhjn02p5b79qq";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-libgfortran-12.2.0-4-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-numpy-2.1.1-2-any.pkg.tar.zst";
sha256 = "1s61mkmhc6wqh2ary96xnjxv9k3bl2149g3xkb1qcxal6yssizzq"; name = "mingw-w64-clang-x86_64-python-numpy";
}) sha256 = "1kiy7ail04ias47xbbhl9vpsz02g0g3f29ncgx5gcks9vgqldp6m";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-openblas-0.3.21-5-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-setuptools-75.3.0-1-any.pkg.tar.zst";
sha256 = "1mzsc1ffkxn5ima2fv4dwqfgrzdnz52bnwfavlmjyapw2l2xzqjl"; name = "mingw-w64-clang-x86_64-python-setuptools";
}) sha256 = "1cph081zr7m0qp66b9v2zq69a9inavbzvwgwx4mmzklnpbrly5yv";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-numpy-1.23.4-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-packaging-24.2-1-any.pkg.tar.zst";
sha256 = "1sbspwr0asxwmrwz5agmb4sjamy9ra84p2mvx4j6bwkg5vnwwasc"; name = "mingw-w64-clang-x86_64-python-packaging";
}) sha256 = "1m6pcrzpv80mvnsv770da7q71drc5nha636qlsjl5qvfzxi6hgfd";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-setuptools-65.5.0-1-any.pkg.tar.zst"; url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pyproject-hooks-1.1.0-2-any.pkg.tar.zst";
sha256 = "16vb5r4lai77ljrdlhh4vsrp1jxzasmwmmb3b8jvra2ay3kxd95n"; name = "mingw-w64-clang-x86_64-python-pyproject-hooks";
}) sha256 = "02nqna5d9nxzy8xcbbjgsmrrp6nhaa8bp06107ngmn7yjwg75a5p";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-build-1.2.2-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-build";
sha256 = "1fbkkahvfy6x6qrnxvp4qlvmwgziv5xnfy6dx6av31r7iv4q51fb";
})
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-installer-0.7.0-4-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-python-installer";
sha256 = "0fqq4wvxp72syax62b1inb5p3dsazp4jr2h5kd2gg9wi7x3nbx6n";
})
] ]

View File

@ -0,0 +1,8 @@
{ 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

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

View File

@ -0,0 +1,2 @@
mingw-w64-clang-x86_64-python-numpy
mingw-w64-clang-x86_64-python-pybase64