Compare commits

..

39 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
9 changed files with 144 additions and 110 deletions

View File

@ -59,24 +59,23 @@
"artiqpkgs": { "artiqpkgs": {
"inputs": { "inputs": {
"artiq-comtools": "artiq-comtools", "artiq-comtools": "artiq-comtools",
"mozilla-overlay": "mozilla-overlay",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay",
"sipyco": "sipyco", "sipyco": "sipyco",
"src-migen": "src-migen", "src-migen": "src-migen",
"src-misoc": "src-misoc", "src-misoc": "src-misoc",
"src-pythonparser": "src-pythonparser" "src-pythonparser": "src-pythonparser"
}, },
"locked": { "locked": {
"lastModified": 1732185362, "lastModified": 1731636768,
"narHash": "sha256-qXNmZfDWCuxke4jLRe5JpVoRr7FUi3FLV9D6y+BtAmM=", "narHash": "sha256-Oqa7G8E9lFIFouYE2uP5ii4Bo6eKHmUUHwj4uievMdE=",
"ref": "release-8", "ref": "refs/heads/master",
"rev": "6ab5b845fd07650d9b3d2327f290474fddac282a", "rev": "9aae89be69fa3ab1dd0a75f399ffc6cf208818d2",
"revCount": 8979, "revCount": 9048,
"type": "git", "type": "git",
"url": "https://github.com/m-labs/artiq.git" "url": "https://github.com/m-labs/artiq.git"
}, },
"original": { "original": {
"ref": "release-8",
"type": "git", "type": "git",
"url": "https://github.com/m-labs/artiq.git" "url": "https://github.com/m-labs/artiq.git"
} }
@ -99,11 +98,11 @@
"trap-dac-utils": "trap-dac-utils" "trap-dac-utils": "trap-dac-utils"
}, },
"locked": { "locked": {
"lastModified": 1731889724, "lastModified": 1729547028,
"narHash": "sha256-fXNWY4mEwrUAjlu81U7KzXsWkRz76Dx/Ze8sSNMQLlA=", "narHash": "sha256-l7GGLjTrGtF23XYsdjQmLPgccDDUwjbGQQsQ3lhn/SI=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "32e88103835e73bfa7de6d86d425af0b48fa929e", "rev": "dbe0e8f3902527c6254589303e020db08760dd85",
"revCount": 1396, "revCount": 1384,
"type": "git", "type": "git",
"url": "https://gitlab.com/duke-artiq/dax.git" "url": "https://gitlab.com/duke-artiq/dax.git"
}, },
@ -188,34 +187,18 @@
"url": "https://gitlab.com/duke-artiq/flake8-artiq.git" "url": "https://gitlab.com/duke-artiq/flake8-artiq.git"
} }
}, },
"mozilla-overlay": {
"flake": false,
"locked": {
"lastModified": 1704373101,
"narHash": "sha256-+gi59LRWRQmwROrmE1E2b3mtocwueCQqZ60CwLG+gbg=",
"owner": "mozilla",
"repo": "nixpkgs-mozilla",
"rev": "9b11a87c0cc54e308fa83aac5b4ee1816d5418a2",
"type": "github"
},
"original": {
"owner": "mozilla",
"repo": "nixpkgs-mozilla",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1731755305, "lastModified": 1731319897,
"narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", "rev": "dc460ec76cbff0e66e269457d7b728432263166c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.11", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -226,6 +209,28 @@
"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": [

View File

@ -1,7 +1,7 @@
{ {
description = "Additional packages for ARTIQ"; description = "Additional packages for ARTIQ";
inputs.artiqpkgs.url = git+https://github.com/m-labs/artiq.git?ref=release-8; inputs.artiqpkgs.url = git+https://github.com/m-labs/artiq.git;
inputs.daxpkgs = { inputs.daxpkgs = {
url = git+https://gitlab.com/duke-artiq/dax.git; url = git+https://gitlab.com/duke-artiq/dax.git;
@ -211,27 +211,9 @@
# 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 = [ artiqpkgs.packages.x86_64-linux.artiq artiqpkgs.packages.x86_64-linux.qasync ]
++ [ artiqpkgs.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: { dax = daxpkgs.packages.x86_64-linux.dax.overridePythonAttrs (oa: {
nativeBuildInputs = (oa.nativeBuildInputs or []) ++ [ pkgs.qt5.wrapQtAppsHook ]; nativeBuildInputs = (oa.nativeBuildInputs or []) ++ [ pkgs.qt6.wrapQtAppsHook ];
doCheck = false; doCheck = false;
}); });
trap-dac-utils = daxpkgs.packages.x86_64-linux.trap-dac-utils; trap-dac-utils = daxpkgs.packages.x86_64-linux.trap-dac-utils;
@ -243,10 +225,10 @@
rev = "0f0196b6941b0c44a33c85d8c02047ca65466463"; rev = "0f0196b6941b0c44a33c85d8c02047ca65466463";
sha256 = "0mx6yjvprhdnkdigwns8mg6v5daqxpgbv7mf63fa76i1iv2wvak4"; sha256 = "0mx6yjvprhdnkdigwns8mg6v5daqxpgbv7mf63fa76i1iv2wvak4";
}; };
nativeBuildInputs = [ pkgs.qt5.wrapQtAppsHook ]; nativeBuildInputs = [ pkgs.qt6.wrapQtAppsHook ];
dontWrapQtApps = true; dontWrapQtApps = true;
propagatedBuildInputs = [ artiqpkgs.packages.x86_64-linux.artiq ] propagatedBuildInputs = [ artiqpkgs.packages.x86_64-linux.artiq ]
++ (with pkgs.python3Packages; [ numpy pyqt5 pyqtgraph ]); ++ (with pkgs.python3Packages; [ numpy pyqt6 pyqtgraph ]);
doCheck = false; doCheck = false;
}; };
linien-client = pkgs.python3Packages.buildPythonPackage rec { linien-client = pkgs.python3Packages.buildPythonPackage rec {
@ -352,6 +334,8 @@
"tqdm" "tqdm"
"python-lmdb" "python-lmdb"
"artiq-comtools" "artiq-comtools"
"platformdirs"
"jsonschema"
]; ];
} }
@ -391,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;
@ -495,6 +473,12 @@
src = hut2.src; src = hut2.src;
depends = [ "mingw-w64-clang-x86_64-python-sipyco" ]; depends = [ "mingw-w64-clang-x86_64-python-sipyco" ];
}; };
msys2-flake8-artiq = msys2.makeMsys2Package {
name = "flake8-artiq";
version = flake8-artiq.version;
src = flake8-artiq.src;
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
msys2-asyncserial msys2-asyncserial
@ -504,6 +488,7 @@
msys2-thorlabs_tcube msys2-thorlabs_tcube
msys2-newfocus8742 msys2-newfocus8742
msys2-hut2 msys2-hut2
msys2-flake8-artiq
]; ];
msys2-offline-installer = pkgs.stdenv.mkDerivation { msys2-offline-installer = pkgs.stdenv.mkDerivation {
@ -528,6 +513,12 @@
sha256 = "sha256-RiXJqvmFDaItr6KgoWTekUPHue4i/LM4uBqfVx9HKpc="; 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 = ./.; src = ./.;
buildInputs = [ pkgs.gnutar pkgs.zstd pkgs.pacman pkgs.fakeroot ]; buildInputs = [ pkgs.gnutar pkgs.zstd pkgs.pacman pkgs.fakeroot ];
phases = [ "installPhase" ]; phases = [ "installPhase" ];
@ -536,14 +527,15 @@
mkdir $out mkdir $out
mkdir -p tmp/cache mkdir -p tmp/cache
tar -xvf ${msys2-base} --strip-components=1 -C $out/ msys64 tar -xvf ${msys2-base} --strip-components=1 -C $out/ msys64
printf "\n[artiq]\nSigLevel = Optional TrustAll\nServer = https://msys2.m-labs.hk/artiq\n" >> $out/etc/pacman.conf 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 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 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}") 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 --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 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 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/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/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 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* \ rm -rf $out/mingw64* $out/clang32* $out/clangarm64* $out/mingw32* $out/ucrt64* \
@ -564,7 +556,7 @@
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 ; 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/"* 7z a -mx9 -md128m "qt-ifw/packages/com.msys2.root/data/msys64.7z" "$msys2_artiq_root/"*
${pkgs.wineWowPackages.stable}/bin/wine64 $msys2_qt_ifw/clang64/bin/binarycreator.exe \ ${pkgs.wineWowPackages.unstable}/bin/wine64 $msys2_qt_ifw/clang64/bin/binarycreator.exe \
-t "$msys2_qt_ifw/clang64/bin/installerbase.exe" \ -t "$msys2_qt_ifw/clang64/bin/installerbase.exe" \
-p "qt-ifw/packages" \ -p "qt-ifw/packages" \
-c "qt-ifw/config/config.xml" \ -c "qt-ifw/config/config.xml" \
@ -594,7 +586,7 @@
fakeroot fakeroot
p7zip p7zip
msys2.wine-msys2 msys2.wine-msys2
wineWowPackages.stable wineWowPackages.unstable
]; ];
}; };
}; };

View File

@ -35,6 +35,7 @@ function createShortcuts()
} }
component.addOperation("CreateShortcut", "@TargetDir@/clang64.exe", "@StartMenuDir@/MSYS2 with ARTIQ.lnk", "iconPath=@TargetDir@/clang64.exe"); 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", component.addOperation( "Execute",
["@TargetDir@\\usr\\bin\\bash.exe", "--login", "-c", "exit"]); ["@TargetDir@\\usr\\bin\\bash.exe", "--login", "-c", "exit"]);

View File

@ -10,23 +10,19 @@ build() {
export PYTHONPATH=`pwd`/clang64/lib/python3.12/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=../clang64 --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 clang64/lib/python3.12/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 clang64/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 clang64/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 clang64 ${pkgdir}
}

View File

@ -1,6 +1,6 @@
mingw-w64-clang-x86_64-python-h5py mingw-w64-clang-x86_64-python-h5py
mingw-w64-clang-x86_64-python-pyqt5 mingw-w64-clang-x86_64-python-pyqt6
mingw-w64-clang-x86_64-qt5-svg mingw-w64-clang-x86_64-qt6-svg
mingw-w64-clang-x86_64-python-qasync mingw-w64-clang-x86_64-python-qasync
mingw-w64-clang-x86_64-python-pyqtgraph mingw-w64-clang-x86_64-python-pyqtgraph
mingw-w64-clang-x86_64-python-numpy mingw-w64-clang-x86_64-python-numpy
@ -12,6 +12,7 @@ mingw-w64-clang-x86_64-python-pygit2
mingw-w64-clang-x86_64-python-llvmlite mingw-w64-clang-x86_64-python-llvmlite
mingw-w64-clang-x86_64-python-levenshtein mingw-w64-clang-x86_64-python-levenshtein
mingw-w64-clang-x86_64-python-lmdb 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-lld
mingw-w64-clang-x86_64-llvm mingw-w64-clang-x86_64-llvm
mingw-w64-clang-x86_64-openocd mingw-w64-clang-x86_64-openocd

View File

@ -247,15 +247,9 @@
}) })
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-pyqt5-sip-12.15.0-2-any.pkg.tar.zst"; 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-pyqt5-sip"; name = "mingw-w64-clang-x86_64-python-pyqt6-sip";
sha256 = "1k68xy5lapbi2s7zkxpzz5ps2l9b9yd3kp9w4lh47zk74al74fyj"; sha256 = "1x948jsz5b0ispfsqbdpyskhvhf6ik8kam2wswar4i72j4vf4sda";
})
(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 { (pkgs.fetchurl {
@ -264,6 +258,12 @@
sha256 = "1jd07myjvc0dzwkh84rk7c74wv96syyfb7v99694bbbv31jkqw4g"; 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 { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libpng-1.6.44-1-any.pkg.tar.zst"; 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"; name = "mingw-w64-clang-x86_64-libpng";
@ -312,18 +312,18 @@
sha256 = "08jn0qqibkk2s4q005ff0a1kz0yklq0cp7w4wd1g4h2ykczii2zy"; sha256 = "08jn0qqibkk2s4q005ff0a1kz0yklq0cp7w4wd1g4h2ykczii2zy";
}) })
(pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-fontconfig-2.15.0-2-any.pkg.tar.zst";
name = "mingw-w64-clang-x86_64-fontconfig";
sha256 = "19jmphak4szjln6d3s6qpi872abc01dmzhkz4q0ws80mr8h7q78i";
})
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-icu-75.1-2-any.pkg.tar.zst"; 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"; name = "mingw-w64-clang-x86_64-icu";
sha256 = "0dxskyhbqgiphlz95b7hp05kcryaspa045ad8763m903nnslq7ri"; 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 { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libjpeg-turbo-3.0.4-2-any.pkg.tar.zst"; 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"; name = "mingw-w64-clang-x86_64-libjpeg-turbo";
@ -343,21 +343,27 @@
}) })
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-qt5-base-5.15.15+kde+r127-1-any.pkg.tar.zst"; 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-qt5-base"; name = "mingw-w64-clang-x86_64-vulkan-headers";
sha256 = "0hhlr2a7g5h5xzb31jwxw0dfavxg434n33m9ir88vbkhgdq2ig36"; sha256 = "042xvrs3y138saih6inihwy82qycsbilvvmvm01rb6yib0r7wig3";
}) })
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pyqt5-5.15.11-3-any.pkg.tar.zst"; 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-python-pyqt5"; name = "mingw-w64-clang-x86_64-qt6-base";
sha256 = "1s20ami7anxja6lrlqaivg1xlcmk2qqzckhfy5r8k10mf25wwrz8"; sha256 = "0vz8595swk65dgj1nn8858rajjd2300xr5jz1b0bkln6n3gs4jbn";
}) })
(pkgs.fetchurl { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-qt5-svg-5.15.15+kde+r5-1-any.pkg.tar.zst"; 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-qt5-svg"; name = "mingw-w64-clang-x86_64-python-pyqt6";
sha256 = "1cjdchwfbf62w695sa17walj771m4hw3k3mvq1bkx9drvgw51w0c"; 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 { (pkgs.fetchurl {
@ -474,6 +480,12 @@
sha256 = "0gqgbr7qbhi2pbaxr78ysk3a0zip2jwdwdsdid9ql8sw1i7l572c"; 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 { (pkgs.fetchurl {
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libxml2-2.12.9-2-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";
name = "mingw-w64-clang-x86_64-libxml2"; name = "mingw-w64-clang-x86_64-libxml2";

View File

@ -20,7 +20,7 @@ let
'' ''
export WINEDEBUG=-all export WINEDEBUG=-all
export WINEPATH=Z:${msys2-env}/clang64/bin export WINEPATH=Z:${msys2-env}/clang64/bin
exec ${pkgs.wineWowPackages.stable}/bin/wine64 cmd exec ${pkgs.wineWowPackages.unstable}/bin/wine64 cmd
''; '';
wine-msys2-build = pkgs.writeShellScriptBin "wine-msys2-build" wine-msys2-build = pkgs.writeShellScriptBin "wine-msys2-build"
'' ''
@ -28,7 +28,7 @@ let
export WINEDEBUG=-all export WINEDEBUG=-all
export WINEPATH=Z:${msys2-env}/clang64/bin export WINEPATH=Z:${msys2-env}/clang64/bin
${silenceFontconfig} ${silenceFontconfig}
exec ${pkgs.wineWowPackages.stable}/bin/wine64 $@ exec ${pkgs.wineWowPackages.unstable}/bin/wine64 $@
''; '';
in { in {
inherit wine-msys2; inherit wine-msys2;

View File

@ -14,7 +14,8 @@ fakeroot pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf -Syy
pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \ pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \
--cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" \ --cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" \
mingw-w64-clang-x86_64-cc \ mingw-w64-clang-x86_64-cc \
mingw-w64-clang-x86_64-python-numpy mingw-w64-clang-x86_64-python-setuptools > $MSYS2DIR/packages.txt 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
cat artiq_dependencies.txt comtools_dependencies.txt pythonparser_dependencies.txt sipyco_dependencies.txt | pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \ cat artiq_dependencies.txt comtools_dependencies.txt pythonparser_dependencies.txt sipyco_dependencies.txt | pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \
--cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" - > $MSYS2DIR/artiq_dependency_packages.txt --cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" - > $MSYS2DIR/artiq_dependency_packages.txt
@ -23,7 +24,9 @@ pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf --cachedir $MSYS2DIR/
--sync --print-format "%l %n" mingw-w64-clang-x86_64-qt-installer-framework > $MSYS2DIR/qt_ifw_packages.txt --sync --print-format "%l %n" mingw-w64-clang-x86_64-qt-installer-framework > $MSYS2DIR/qt_ifw_packages.txt
function generate_nix_packages_from_pacman() { function generate_nix_packages_from_pacman() {
echo "{ pkgs } : [" > $OUT local in=$1
local out=$2
echo "{ pkgs } : [" > $out
while IFS= read -r line; do while IFS= read -r line; do
read -r url package <<< "$line" read -r url package <<< "$line"
hash=$(nix-prefetch-url $url --name $package) hash=$(nix-prefetch-url $url --name $package)
@ -32,11 +35,11 @@ function generate_nix_packages_from_pacman() {
url = \"$url\"; url = \"$url\";
name = \"$package\"; name = \"$package\";
sha256 = \"$hash\"; sha256 = \"$hash\";
})" >> $OUT })" >> $out
done < $IN done < $in
echo "]" >> $OUT echo "]" >> $out
} }
IN=$MSYS2DIR/packages.txt OUT=msys2_packages.nix generate_nix_packages_from_pacman generate_nix_packages_from_pacman $MSYS2DIR/packages.txt msys2_packages.nix
IN=$MSYS2DIR/qt_ifw_packages.txt OUT=msys2_qt_ifw_packages.nix generate_nix_packages_from_pacman generate_nix_packages_from_pacman $MSYS2DIR/qt_ifw_packages.txt msys2_qt_ifw_packages.nix
IN=$MSYS2DIR/artiq_dependency_packages.txt OUT=artiq_dependency_packages.nix generate_nix_packages_from_pacman generate_nix_packages_from_pacman $MSYS2DIR/artiq_dependency_packages.txt artiq_dependency_packages.nix

View File

@ -221,4 +221,28 @@
name = "mingw-w64-clang-x86_64-python-setuptools"; name = "mingw-w64-clang-x86_64-python-setuptools";
sha256 = "1cph081zr7m0qp66b9v2zq69a9inavbzvwgwx4mmzklnpbrly5yv"; sha256 = "1cph081zr7m0qp66b9v2zq69a9inavbzvwgwx4mmzklnpbrly5yv";
}) })
(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-python-pyproject-hooks-1.1.0-2-any.pkg.tar.zst";
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";
})
] ]