Compare commits
44 Commits
Author | SHA1 | Date | |
---|---|---|---|
ad170c5353 | |||
22d0fdc350 | |||
9aadf50daf | |||
ec244fc3ac | |||
0c3dbe25ec | |||
694278c010 | |||
bde6328085 | |||
4672f4aabb | |||
1842619f30 | |||
c4e9c4bb84 | |||
a339626d65 | |||
29981e7feb | |||
b9e1220d28 | |||
87e306eb63 | |||
c7a5c19708 | |||
544108eafd | |||
70f9398ad3 | |||
ba488e77d9 | |||
0d8762fa31 | |||
27b15ed3d4 | |||
f0e2486d6c | |||
b12ca4b928 | |||
1702341f28 | |||
c249e6af78 | |||
63f34fbf0c | |||
1002e0437a | |||
eac0d077de | |||
32d116dbf6 | |||
50abd84278 | |||
9e85187ead | |||
25ee3c68f1 | |||
7f00ab0cb6 | |||
d5c99474ed | |||
1e64b5786c | |||
30d9b5ae54 | |||
05d45229af | |||
5b4560d8ca | |||
1ec52c60fe | |||
7ffe3dcf22 | |||
8f8550e243 | |||
312b93915e | |||
e8c29bb8f1 | |||
0cc34b4b47 | |||
ce9e23579c |
73
flake.lock
generated
73
flake.lock
generated
@ -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": 1737421339,
|
"lastModified": 1737421153,
|
||||||
"narHash": "sha256-bafDEDTY9Cbmw6SDKHKd8IcIV/mYZyrdrf3T9twaY8c=",
|
"narHash": "sha256-pJy6GL5FAuCO1RqIQKUqR/dEF/75/TCXvlBrqtNitog=",
|
||||||
"ref": "release-8",
|
"ref": "refs/heads/master",
|
||||||
"rev": "e9949890cd960ae64c3576aab313ff735c43686a",
|
"rev": "415895413c98c44ef26c1525d2b53a729f964f81",
|
||||||
"revCount": 9002,
|
"revCount": 9140,
|
||||||
"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"
|
||||||
}
|
}
|
||||||
@ -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": 1736765918,
|
|
||||||
"narHash": "sha256-oh7GSCjBGHpxaU8/gejT55mlvI3qoKObXgqyn1XR7SA=",
|
|
||||||
"owner": "mozilla",
|
|
||||||
"repo": "nixpkgs-mozilla",
|
|
||||||
"rev": "534ee26d3dbcbb9da3766c556638b9bcc3627871",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "mozilla",
|
|
||||||
"repo": "nixpkgs-mozilla",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736867362,
|
"lastModified": 1736883708,
|
||||||
"narHash": "sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8=",
|
"narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc",
|
"rev": "eb62e6aa39ea67e0b8018ba8ea077efe65807dc8",
|
||||||
"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": [
|
||||||
@ -250,11 +255,11 @@
|
|||||||
"src-migen": {
|
"src-migen": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735131698,
|
"lastModified": 1737001477,
|
||||||
"narHash": "sha256-P4vaF+9iVekRAC2/mc9G7IwI6baBpPAxiDQ8uye4sAs=",
|
"narHash": "sha256-5Rv7R8OO/CsjdDreo+vCUO7dIrTD+70meV5rIvHOGDk=",
|
||||||
"owner": "m-labs",
|
"owner": "m-labs",
|
||||||
"repo": "migen",
|
"repo": "migen",
|
||||||
"rev": "4c2ae8dfeea37f235b52acb8166f12acaaae4f7c",
|
"rev": "28e913e7114dae485747ccd8f9fd436ada2195f0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -266,11 +271,11 @@
|
|||||||
"src-misoc": {
|
"src-misoc": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736416570,
|
"lastModified": 1737003678,
|
||||||
"narHash": "sha256-tbcN/fzejZIaYbTbwk8Ir1glYevESqMinMeDB3z8oxg=",
|
"narHash": "sha256-YGswRUz5QH28FsVK0j4n/Op6ptFTPPdEOir0JkxfSa0=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "1f5318e9edc1085ac77e9b85b8f5e03371dba54c",
|
"rev": "3c2054c43309d2fa3b72c5435f90c2357f2908af",
|
||||||
"revCount": 2464,
|
"revCount": 2465,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/m-labs/misoc.git"
|
"url": "https://github.com/m-labs/misoc.git"
|
||||||
|
54
flake.nix
54
flake.nix
@ -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,12 +527,13 @@
|
|||||||
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
|
||||||
@ -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
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -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"]);
|
||||||
|
@ -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}
|
|
||||||
}
|
|
||||||
|
@ -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
|
||||||
|
@ -247,15 +247,9 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
(pkgs.fetchurl {
|
(pkgs.fetchurl {
|
||||||
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-pyqt5-sip-12.16.1-1-any.pkg.tar.zst";
|
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pyqt6-sip-13.9.1-1-any.pkg.tar.zst";
|
||||||
name = "mingw-w64-clang-x86_64-pyqt5-sip";
|
name = "mingw-w64-clang-x86_64-python-pyqt6-sip";
|
||||||
sha256 = "08z65iw1nzhx2f668n9d9k6ia8xzi0y3vaz87y0sk7scm7mdib9j";
|
sha256 = "02r4m2fbjv4crd8ry0n509yyalxp5h977lgsk84najs6r1p38gv8";
|
||||||
})
|
|
||||||
|
|
||||||
(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.45-1-any.pkg.tar.zst";
|
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libpng-1.6.45-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.1.0-1-any.pkg.tar.zst";
|
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-libjpeg-turbo-3.1.0-1-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.16+kde+r130-1-any.pkg.tar.zst";
|
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-vulkan-headers-1.4.304.0-1-any.pkg.tar.zst";
|
||||||
name = "mingw-w64-clang-x86_64-qt5-base";
|
name = "mingw-w64-clang-x86_64-vulkan-headers";
|
||||||
sha256 = "1q0b9w9zg31rr3qq5mbq4fbdlgwbpyi3g0qlkwsnapf6d0hpzpq4";
|
sha256 = "1ipkcxhfcl1f6wd41hygzq9hnsqj17sq2k1mijxay1qn2dszxcvw";
|
||||||
})
|
})
|
||||||
|
|
||||||
(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.1-2-any.pkg.tar.zst";
|
||||||
name = "mingw-w64-clang-x86_64-python-pyqt5";
|
name = "mingw-w64-clang-x86_64-qt6-base";
|
||||||
sha256 = "1s20ami7anxja6lrlqaivg1xlcmk2qqzckhfy5r8k10mf25wwrz8";
|
sha256 = "0fvb5hlh0l9w1bccqq63v2qz4q7ks8ywimznxaqjqyca7lyzaygp";
|
||||||
})
|
})
|
||||||
|
|
||||||
(pkgs.fetchurl {
|
(pkgs.fetchurl {
|
||||||
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-qt5-svg-5.15.16+kde+r5-1-any.pkg.tar.zst";
|
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-pyqt6-6.8.0-1-any.pkg.tar.zst";
|
||||||
name = "mingw-w64-clang-x86_64-qt5-svg";
|
name = "mingw-w64-clang-x86_64-python-pyqt6";
|
||||||
sha256 = "07hvr4s3j898vdvqlixwn85gfwdykwznkxqhai3i5srzfwwgnx2g";
|
sha256 = "1vr1knbs9h553z6kzgq2bmk3ps9shnqm59b0ns27gqc8jp7p2zx8";
|
||||||
|
})
|
||||||
|
|
||||||
|
(pkgs.fetchurl {
|
||||||
|
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-qt6-svg-6.8.1-1-any.pkg.tar.zst";
|
||||||
|
name = "mingw-w64-clang-x86_64-qt6-svg";
|
||||||
|
sha256 = "0qf7bxnq0g8lqrfpx5862m8pls9krv1hwllmk4shbcr4nrsxxnp2";
|
||||||
})
|
})
|
||||||
|
|
||||||
(pkgs.fetchurl {
|
(pkgs.fetchurl {
|
||||||
@ -474,6 +480,12 @@
|
|||||||
sha256 = "18ac937yl64hzv9v1b8v5cz247ism4dpf0lzljcy23vavqrjr4ic";
|
sha256 = "18ac937yl64hzv9v1b8v5cz247ism4dpf0lzljcy23vavqrjr4ic";
|
||||||
})
|
})
|
||||||
|
|
||||||
|
(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";
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -221,4 +221,28 @@
|
|||||||
name = "mingw-w64-clang-x86_64-python-setuptools";
|
name = "mingw-w64-clang-x86_64-python-setuptools";
|
||||||
sha256 = "12ivpaj967y4bi8396q3fpii4fy5aakidxpv16rkyg1b831k0h93";
|
sha256 = "12ivpaj967y4bi8396q3fpii4fy5aakidxpv16rkyg1b831k0h93";
|
||||||
})
|
})
|
||||||
|
|
||||||
|
(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.2.0-1-any.pkg.tar.zst";
|
||||||
|
name = "mingw-w64-clang-x86_64-python-pyproject-hooks";
|
||||||
|
sha256 = "0ivc16g1l96fkx8djr112cl7r0pc90l0bcxdxkm69xr9cm5d2a52";
|
||||||
|
})
|
||||||
|
|
||||||
|
(pkgs.fetchurl {
|
||||||
|
url = "https://mirror.msys2.org/mingw/clang64/mingw-w64-clang-x86_64-python-build-1.2.2.post1-1-any.pkg.tar.zst";
|
||||||
|
name = "mingw-w64-clang-x86_64-python-build";
|
||||||
|
sha256 = "1ik2qqdxpw90d57fvpx916qbcap78rgn3ww24n3nlgchd1c7cl9k";
|
||||||
|
})
|
||||||
|
|
||||||
|
(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";
|
||||||
|
})
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user