Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howtos:win32:msys2 [2022/07/23 08:20] – Update Windows MSYS2 howto enricohowtos:win32:msys2 [2024/09/12 18:15] (current) – Provides the /usr/share/gettext/archive.dir.tar.xz that autopoint wants dnabre
Line 34: Line 34:
     pacman -S mingw-w64-x86_64-binutils mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb     pacman -S mingw-w64-x86_64-binutils mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb
     # make and Autotools     # make and Autotools
-    pacman -S make mingw-w64-x86_64-libtool mingw-w64-x86_64-pkgconf autoconf automake gettext+    pacman -S make mingw-w64-x86_64-libtool mingw-w64-x86_64-pkgconf autoconf automake gettext gettext-devel
     # gtk family     # gtk family
     pacman -S mingw-w64-x86_64-gtk3     pacman -S mingw-w64-x86_64-gtk3
Line 44: Line 44:
     pacman -S rsync     pacman -S rsync
     # for GTK bundle creation and release creation     # for GTK bundle creation and release creation
-    pacman -S curl tar dos2unix zip unzip mingw-w64-x86_64-osslsigncode mingw-w64-x86_64-nsis+    pacman -S curl tar dos2unix zip unzip mingw-w64-x86_64-osslsigncode mingw-w64-x86_64-nsis patch
  
 Make sure you have not installed both `gcc` and `mingw-w64-x86_64-gcc`, or you may get errors when building Geany. Make sure you have not installed both `gcc` and `mingw-w64-x86_64-gcc`, or you may get errors when building Geany.
Line 113: Line 113:
  
     cd     cd
-    mkdir -p ~/bundle/geany +    mkdir -p ~/geany_build/bundle/geany-gtk 
-    cd ~/bundle/geany+    cd ~/geany_build/bundle/geany-gtk
     bash ~/geany-master/scripts/gtk-bundle-from-msys2.sh -3     bash ~/geany-master/scripts/gtk-bundle-from-msys2.sh -3
  
Line 126: Line 126:
  
     cd     cd
-    mkdir -p ~/bundle/geany-plugins +    mkdir -p ~/geany_build/bundle/geany-plugins-dependencies 
-    cd ~/bundle/geany-plugins+    cd ~/geany_build/bundle/geany-plugins-dependencies
     bash ~/geany-plugins-master/build/gtk-bundle-from-msys2.sh -3     bash ~/geany-plugins-master/build/gtk-bundle-from-msys2.sh -3
  
Line 142: Line 142:
 Build instructions to build Geany in order to create a Windows installer (within MSYS2 shell): Build instructions to build Geany in order to create a Windows installer (within MSYS2 shell):
  
-    DESTINATON=/release+    DESTINATON=$HOME/geany_build
     VERSION="1.39"     VERSION="1.39"
     cd ~/geany-master     cd ~/geany-master
Line 149: Line 149:
     mkdir _build     mkdir _build
     cd _build     cd _build
-    ../configure --prefix=${DESTINATON}/geany_install --disable-silent-rules+    ../configure --prefix=${DESTINATON}/build/geany --disable-silent-rules
     make -j 2     make -j 2
     make install     make install
-    make DESTDIR=${DESTINATON}/geany-orig install+    rm -rf $DESTINATON/release/geany-orig 
 +    rsync -a --delete ${DESTINATON}/build/geany/ $DESTINATON/release/geany-orig
  
 You can use any other location as installation target by adjusting `DESTINATON`. You can use any other location as installation target by adjusting `DESTINATON`.
-Then we compile Geany and install it normally and additionally using DESTDIR to +Then we compile Geany and install it normally.
-another location. +
-The normal installation is used for Geany-Plugins so they can easily find the Geany installation +
-while the DESTDIR installation is used to move the installed files into the source directory +
-back for the installer creation. +
- +
-This process can probably be optimized and shortened but for now it works this way.+
  
 The following actually creates the installer. The following actually creates the installer.
  
-For the following steps, a little Python is necessary to automate the further installer creation.+For the following steps, a little Python script is necessary to automate the further installer creation.
 The script can be downloaded here: {{:howtos:win32:geany-release.py.txt|}} The script can be downloaded here: {{:howtos:win32:geany-release.py.txt|}}
 Open the script in your editor of choice and change paths at the beginning of the script as needed. Open the script in your editor of choice and change paths at the beginning of the script as needed.
Line 174: Line 169:
 Finally, run the script: Finally, run the script:
  
-    cd /release/geany 
     python3 ~/geany-release.py     python3 ~/geany-release.py
  
 This will strip and sign all binaries (geany.exe and various .dll files) and This will strip and sign all binaries (geany.exe and various .dll files) and
 also convert documentation text files to CRLF format. also convert documentation text files to CRLF format.
-At the end, you should get two installer executables in `/release`.+At the end, you should get an installer executable in `$DESTINATON`.
  
 ==== Geany-Plugins ==== ==== Geany-Plugins ====
Line 185: Line 179:
 Build instructions to build Geany-Plugins in order to create a Windows installer (within MSYS2 shell): Build instructions to build Geany-Plugins in order to create a Windows installer (within MSYS2 shell):
  
-    DESTINATON=/release +    DESTINATON=$HOME/geany_build 
-    VERSION="1.29"+    VERSION="1.39"
     cd ~/geany-plugins-master     cd ~/geany-plugins-master
     make distclean     make distclean
Line 192: Line 186:
     mkdir _build     mkdir _build
     cd _build     cd _build
-    ../configure --prefix=${DESTINATON}/geany_install --with-geany-libdir=${DESTINATON}/geany_install/lib --disable-silent-rules+    ../configure --prefix=${DESTINATON}/build/geany --with-geany-libdir=${DESTINATON}/build/geany/lib --disable-silent-rules
     make -j 2     make -j 2
-    make DESTDIR=${DESTINATON}/geany-plugins-orig install+    make DESTDIR=${DESTINATON}/build/geany-plugins install 
 +    rsync -a --delete ${DESTINATON}/build/geany-plugins/${DESTINATON}/build/geany/ $DESTINATON/release/geany-plugins-orig
  
-For the following steps, a little Python is necessary to automate the further installer creation.+For the following steps, a little Python script is necessary to automate the further installer creation.
 The script can be downloaded here: {{:howtos:win32:geany-plugins-release.py.txt|}} The script can be downloaded here: {{:howtos:win32:geany-plugins-release.py.txt|}}
 Open the script in your editor of choice and change paths at the beginning of the script as needed. Open the script in your editor of choice and change paths at the beginning of the script as needed.
Line 205: Line 200:
 Finally, run the script: Finally, run the script:
  
-    cd /release/geany-plugins 
     python3 ~/geany-plugins-release.py     python3 ~/geany-plugins-release.py
  
 This will strip and sign all binaries (various .dll files) and This will strip and sign all binaries (various .dll files) and
 also convert documentation text files to CRLF format. also convert documentation text files to CRLF format.
-At the end, you should get an installer executable in `/release`.+At the end, you should get an installer executable in `$DESTINATON`.
  
-{{tag>howto win32 msys2 build build-from-source}}+{{tag>howto windows msys2 build build-from-source}}
  
Print/export