From a030a72af9cc46c64a425371b571bee10891eeb9 Mon Sep 17 00:00:00 2001 From: Eu Pin Tien Date: Tue, 24 Mar 2026 15:32:11 +0000 Subject: [PATCH 1/4] Added instructions for downgrading MSYS2's Python to v3.12.12, and for installing Pillow and its dependencies --- src/murfey/templates/bootstrap.html | 66 +++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/src/murfey/templates/bootstrap.html b/src/murfey/templates/bootstrap.html index fcb7f05f7..eacc9bcdb 100644 --- a/src/murfey/templates/bootstrap.html +++ b/src/murfey/templates/bootstrap.html @@ -74,6 +74,38 @@

ii. Installing Dependencies

>pacman -Ss <package-name>

+

Downgrading Python packages

+

+ MSYS2 current installs Python 3.14 by default, which we have not rigorously + tested Murfey with. For now, we downgrade to Python 3.12.12, which is known to + work with Murfey. To do so, download the following packages: +

+
+  mingw-w64-ucrt-x86_64-python-3.12.12-1-any.pkg.tar.zst
+  mingw-w64-ucrt-x86_64-python-distlib-0.4.0-2-any.pkg.tar.zst
+  mingw-w64-ucrt-x86_64-python-pip-25.3-2-any.pkg.tar.zst
+  mingw-w64-ucrt-x86_64-python-setuptools-80.9.0-2-any.pkg.tar.zst
+
+

+ These files will be placed in your account's Downloads folder by default, and + can then be installed using the following command: +

+
+    $ pacman -U /c/Users/<username>/Downloads/<package-name>
+

iii. Configuring the Rust Package Manager (If Network-Restricted)

Many newer Python packages now have dependencies written in Rust that allow @@ -168,4 +200,38 @@

B. Installing Murfey

> $ pip install murfey --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi/index --trusted-host {{ netloc }} + +

Installing Pillow

+

+ Python's Pillow package will be needed for certain instruments. This will + require the installation of additional image libraries in + pacman: +

+
+  $ pacman -S \
+    mingw-w64-ucrt-x86_64-freetype \
+    mingw-w64-ucrt-x86_64-giflib \
+    mingw-w64-ucrt-x86_64-lcms2 \
+    mingw-w64-ucrt-x86_64-libjpeg-turbo \
+    mingw-w64-ucrt-x86_64-libpng \
+    mingw-w64-ucrt-x86_64-libtiff \
+    mingw-w64-ucrt-x86_64-libwebp \
+    mingw-w64-ucrt-x86_64-openjpeg2 \
+    mingw-w64-ucrt-x86_64-zlib
+
+

+ Once the necessary libraries have been installed, Pillow can be installed by + running the following command: +

+
+    $ ZLIB_ROOT="/ucrt64" pip install pillow --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi/index --trusted-host {{ netloc }}
+
+ {% endblock %} From e2409e14ed232f846b4979002d310a8bfbc07743 Mon Sep 17 00:00:00 2001 From: Eu Pin Tien Date: Tue, 24 Mar 2026 15:42:22 +0000 Subject: [PATCH 2/4] Add instructions for downloading the alternate MSYS2 unpacker --- src/murfey/templates/bootstrap.html | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/murfey/templates/bootstrap.html b/src/murfey/templates/bootstrap.html index eacc9bcdb..0e01fab84 100644 --- a/src/murfey/templates/bootstrap.html +++ b/src/murfey/templates/bootstrap.html @@ -20,6 +20,21 @@

A. Installing MSYS2

C:\msys64 .

+

+ Some versions of Windows are too old to support the default MSYS2 installer. + In such cases, download this alternative + executable + and run it. It will unpack the + msys64 + folder into your Downloads folder. Copy this folder to the default MSYS2 + location, and run the UCRT64 executable within it to proceed with the + installation as normal. +

B. Setting Up MSYS2

i. Setting Up the MSYS2 Package Manager (If Network-Restricted)

From 10a2aa50b29fb8914729ea38ea9c5947accad698 Mon Sep 17 00:00:00 2001 From: Eu Pin Tien Date: Tue, 24 Mar 2026 15:50:40 +0000 Subject: [PATCH 3/4] Update style used for list of MSYS2 packages that need to be manually downloaded --- src/murfey/templates/bootstrap.html | 54 ++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/src/murfey/templates/bootstrap.html b/src/murfey/templates/bootstrap.html index 0e01fab84..6d907faba 100644 --- a/src/murfey/templates/bootstrap.html +++ b/src/murfey/templates/bootstrap.html @@ -95,22 +95,44 @@

Downgrading Python packages

tested Murfey with. For now, we downgrade to Python 3.12.12, which is known to work with Murfey. To do so, download the following packages:

-
-  mingw-w64-ucrt-x86_64-python-3.12.12-1-any.pkg.tar.zst
-  mingw-w64-ucrt-x86_64-python-distlib-0.4.0-2-any.pkg.tar.zst
-  mingw-w64-ucrt-x86_64-python-pip-25.3-2-any.pkg.tar.zst
-  mingw-w64-ucrt-x86_64-python-setuptools-80.9.0-2-any.pkg.tar.zst
-
+

These files will be placed in your account's Downloads folder by default, and can then be installed using the following command: From 73d6c32a439b17c7536d66d73c3303785fde9ae9 Mon Sep 17 00:00:00 2001 From: Eu Pin Tien Date: Tue, 24 Mar 2026 15:55:07 +0000 Subject: [PATCH 4/4] Adjust indenting --- src/murfey/templates/bootstrap.html | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/murfey/templates/bootstrap.html b/src/murfey/templates/bootstrap.html index 6d907faba..6b5689b79 100644 --- a/src/murfey/templates/bootstrap.html +++ b/src/murfey/templates/bootstrap.html @@ -54,7 +54,7 @@

i. Setting Up the MSYS2 Package Manager (If Network-Restricted)

-    C:\msys64\etc\pacman.d
+  C:\msys64\etc\pacman.d
 

ii. Installing Dependencies

@@ -66,11 +66,11 @@

ii. Installing Dependencies

-    $ pacman -Syu
-    $ pacman -S msys2-runtime
-    $ pacman -S rsync
-    $ pacman -S mingw-w64-ucrt-x86_64-python-pip
-    $ pacman -S mingw-w64-ucrt-x86_64-rust
+  $ pacman -Syu
+  $ pacman -S msys2-runtime
+  $ pacman -S rsync
+  $ pacman -S mingw-w64-ucrt-x86_64-python-pip
+  $ pacman -S mingw-w64-ucrt-x86_64-rust
 

Other utility packages such as @@ -140,7 +140,7 @@

Downgrading Python packages

-    $ pacman -U /c/Users/<username>/Downloads/<package-name>

iii. Configuring the Rust Package Manager (If Network-Restricted)

@@ -188,13 +188,13 @@

iii. Configuring the Rust Package Manager (If Network-Restricted)

-    %USERPROFILE%\.cargo
+  %USERPROFILE%\.cargo
 

For a user named Murfey, for example, this would take the form:

-    C:\Users\Murfey\.cargo
+  C:\Users\Murfey\.cargo
 

With this file configured, @@ -223,9 +223,9 @@

A. (Optional) Setting Up a Virtual Environment

-    $ pip install virtualenv --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi --trusted-host {{ netloc }}
-    $ virtualenv your-env-name  # Create the virtual environment
-    $ source your-env-name/bin/activate  # Activate the virtual environment
+  $ pip install virtualenv --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi --trusted-host {{ netloc }}
+  $ virtualenv your-env-name  # Create the virtual environment
+  $ source your-env-name/bin/activate  # Activate the virtual environment
 

B. Installing Murfey

@@ -235,7 +235,7 @@

B. Installing Murfey

-    $ pip install murfey --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi/index --trusted-host {{ netloc }}
+  $ pip install murfey --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi/index --trusted-host {{ netloc }}
 

Installing Pillow

@@ -268,7 +268,7 @@

Installing Pillow

-    $ ZLIB_ROOT="/ucrt64" pip install pillow --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi/index --trusted-host {{ netloc }}
+  $ ZLIB_ROOT="/ucrt64" pip install pillow --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi/index --trusted-host {{ netloc }}
 
{% endblock %}