From 2fe02cee6f9488758c1d25f6db420ab66669e1b0 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Tue, 15 Nov 2022 19:32:06 +0800 Subject: [PATCH] doc: MSYS2 packages --- CONTRIBUTING.rst | 1 - README.rst | 2 +- RELEASE_NOTES.rst | 5 +++-- doc/manual/installing.rst | 35 +++++++++++++++++++++++++---------- doc/manual/list_of_ndsps.rst | 10 ++++++---- 5 files changed, 35 insertions(+), 18 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 88100ddf5..0cdc9266e 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -26,7 +26,6 @@ report if possible: * Operating System * ARTIQ version (with recent versions of ARTIQ, run ``artiq_client --version``) * Version of the gateware and runtime loaded in the core device (in the output of ``artiq_coremgmt -D .... log``) - * If using Conda, output of `conda list` * Hardware involved diff --git a/README.rst b/README.rst index 216c77ba1..cef2fb286 100644 --- a/README.rst +++ b/README.rst @@ -13,7 +13,7 @@ ARTIQ uses FPGA hardware to perform its time-critical tasks. The `Sinara hardwar ARTIQ is designed to be portable to hardware platforms from different vendors and FPGA manufacturers. Several different configurations of a `FPGA evaluation kit `_ and of a `Zynq evaluation kit `_ are also used and supported. FPGA platforms can be combined with any number of additional peripherals, either already accessible from ARTIQ or made accessible with little effort. -ARTIQ and its dependencies are available in the form of Nix packages (for Linux) and Conda packages (for Windows and Linux). See `the manual `_ for installation instructions. +ARTIQ and its dependencies are available in the form of Nix packages (for Linux) and MSYS2 packages (for Windows). See `the manual `_ for installation instructions. Packages containing pre-compiled binary images to be loaded onto the hardware platforms are supplied for each configuration. Like any open source software ARTIQ can equally be built and installed directly from `source `_. diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst index d99a4c594..28e06bdd6 100644 --- a/RELEASE_NOTES.rst +++ b/RELEASE_NOTES.rst @@ -3,14 +3,15 @@ Release notes ============= -Unreleased ----------- +ARTIQ-8 (Unreleased) +-------------------- Highlights: * Implemented Phaser-servo. This requires recent gateware on Phaser. * Implemented Phaser-MIQRO support. This requires the Phaser MIQRO gateware variant. +* MSYS2 packaging for Windows. ARTIQ-7 ------- diff --git a/doc/manual/installing.rst b/doc/manual/installing.rst index 8effbf2d9..19fe706a8 100644 --- a/doc/manual/installing.rst +++ b/doc/manual/installing.rst @@ -1,13 +1,7 @@ Installing ARTIQ ================ -ARTIQ can be installed using the Nix (on Linux) or Conda (on Windows or Linux) package managers. - -Nix is an innovative, robust, fast, and high-quality solution that comes with a larger collection of packages and features than Conda. However, Windows support is poor (using it with Windows Subsystem for Linux still has many problems) and Nix can be harder to learn. - -Conda has a more traditional approach to package management, is much more limited, slow, and lower-quality than Nix, but it supports Windows and it is simpler to use when it functions correctly. - -In the current state of affairs, we recommend that Linux users install ARTIQ via Nix and Windows users install it via Conda. +ARTIQ can be installed using the Nix (on Linux) or MSYS2 (on Windows) package managers. Using Conda is also possible on both platforms but not recommended. .. _installing-nix-users: @@ -90,11 +84,27 @@ You can create directories containing each a ``flake.nix`` that correspond to di If your favorite package is not available with Nix, contact us using the helpdesk@ email. -Installing via Conda (Windows, Linux) -------------------------------------- +Installing via MSYS2 (Windows) +------------------------------ + +Install `MSYS2 `_, then edit ``C:\MINGW64\etc\pacman.conf`` and add at the end: :: + + [artiq] + SigLevel = Optional TrustAll + Server = https://msys2.m-labs.hk/artiq-beta + +Launch ``MSYS2 MINGW64`` from the Windows Start menu to open the MSYS2 shell, and enter the following commands: :: + + pacman -Syy + pacman -S mingw-w64-x86_64-artiq + +If your favorite package is not available with MSYS2, contact us using the helpdesk@ email. + +Installing via Conda (Windows, Linux) [DEPRECATED] +-------------------------------------------------- .. warning:: - For Linux users, the Nix package manager is preferred, as it is more reliable and faster than Conda. + Installing ARTIQ via Conda is not recommended. Instead, Linux users should install it via Nix and Windows users should install it via MSYS2. Conda support may be removed in future ARTIQ releases and M-Labs can only provide very limited technical support for Conda. First, install `Anaconda `_ or the more minimalistic `Miniconda `_. @@ -133,6 +143,11 @@ To rollback to the previous version, respectively use ``$ nix profile rollback`` You may need to reflash the gateware and firmware of the core device to keep it synchronized with the software. +Upgrading ARTIQ (with MSYS2) +---------------------------- + +Run ``pacman -Syu`` to update all MSYS2 packages including ARTIQ. If you get a message telling you that the shell session must be restarted after a partial update, open the shell again after the partial update and repeat the command. See the MSYS2 and Pacman manual for information on how to update individual packages if required. + Upgrading ARTIQ (with Conda) ---------------------------- diff --git a/doc/manual/list_of_ndsps.rst b/doc/manual/list_of_ndsps.rst index 12d698e20..65953485c 100644 --- a/doc/manual/list_of_ndsps.rst +++ b/doc/manual/list_of_ndsps.rst @@ -4,7 +4,7 @@ List of available NDSPs The following network device support packages are available for ARTIQ. If you would like to add yours to this list, just send us an email or a pull request. +---------------------------------+-----------------------------------+----------------------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------------------------+ -| Equipment | Nix package | Conda package | Documentation | URL | +| Equipment | Nix package | MSYS2 package | Documentation | URL | +=================================+===================================+==================================+=====================================================================================================+========================================================+ | PDQ2 | Not available | Not available | `HTML `_ | https://github.com/m-labs/pdq | +---------------------------------+-----------------------------------+----------------------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------------------------+ @@ -20,11 +20,13 @@ The following network device support packages are available for ARTIQ. If you wo +---------------------------------+-----------------------------------+----------------------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------------------------+ | Princeton Instruments PICam | Not available | Not available | Not available | https://github.com/quartiq/picam | +---------------------------------+-----------------------------------+----------------------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------------------------+ -| Anel HUT2 power distribution | ``hut2`` | ``hut2`` | `HTML `_ | https://github.com/quartiq/hut2 | +| Anel HUT2 power distribution | ``hut2`` | Not available | `HTML `_ | https://github.com/quartiq/hut2 | +---------------------------------+-----------------------------------+----------------------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------------------------+ -| TOPTICA lasers | ``toptica-lasersdk-artiq`` | ``toptica-lasersdk-artiq`` | Not available | https://github.com/quartiq/lasersdk-artiq | +| TOPTICA lasers | ``toptica-lasersdk-artiq`` | Not available | Not available | https://github.com/quartiq/lasersdk-artiq | +---------------------------------+-----------------------------------+----------------------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------------------------+ -| HighFinesse wavemeters | ``highfinesse-net`` | ``highfinesse-net`` | `HTML `_ | https://github.com/quartiq/highfinesse-net | +| HighFinesse wavemeters | ``highfinesse-net`` | Not available | `HTML `_ | https://github.com/quartiq/highfinesse-net | +---------------------------------+-----------------------------------+----------------------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------------------------+ | InfluxDB database | Not available | Not available | `HTML `_ | https://gitlab.com/charlesbaynham/artiq_influx_generic | +---------------------------------+-----------------------------------+----------------------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------------------------+ + +MSYS2 packages all start with the ``mingw-w64-x86_64-`` prefix.