Re-sync docs to get updated INSTALL (Haiku + more)

This commit is contained in:
Bill Kendrick 2023-05-07 01:05:29 -07:00
parent b89bc3644b
commit fcb392aec3
11 changed files with 892 additions and 781 deletions

View file

@ -161,6 +161,9 @@ https://tuxpaint.org/
* Documentation updates: * Documentation updates:
---------------------- ----------------------
* Haiku build instructions added to INSTALL docs.
Luc 'Begasus' Schrijvers <begasus@gmail.com>
* Added screenshot examples of each Magic tool. * Added screenshot examples of each Magic tool.
Bill Kendrick <bill@newbreedsoftware.com> Bill Kendrick <bill@newbreedsoftware.com>

View file

@ -139,6 +139,8 @@ Simple DirectMedia Layer library (libSDL)
"COPYING.txt" for details), and therefore the 'source code' to the program "COPYING.txt" for details), and therefore the 'source code' to the program
is available freely. is available freely.
------------------------------------------------------------------
Windows Windows
July 10, 2022 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp> July 10, 2022 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp>
@ -158,8 +160,8 @@ Windows
Download the latest MSYS2 environment from https://www.msys2.org/ and Download the latest MSYS2 environment from https://www.msys2.org/ and
install it where you'd like (the default is "C:\msys64") install it where you'd like (the default is "C:\msys64")
Open the MSYS2 shell from the "Start Menu" -> "MSYS2 64bit" -> "MSYS2 Open the MSYS2 shell from the "Start Menu" → "MSYS2 64bit" → "MSYS2 MSYS"
MSYS" and execute following command: and execute following command:
$ yes "" | pacman -Syu $ yes "" | pacman -Syu
@ -211,7 +213,7 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
This time, use the MinGW "64bit" shell. Open the shell from the "Start This time, use the MinGW "64bit" shell. Open the shell from the "Start
Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 64-bit"
SDL2_Pango SDL2_Pango
@ -269,7 +271,7 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
This time, use the MinGW "32bit" shell. Open the shell from the "Start This time, use the MinGW "32bit" shell. Open the shell from the "Start
Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 32-bit"
SDL2_Pango SDL2_Pango
@ -320,9 +322,9 @@ Windows
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit
binaries using "MSYS2 32bit" shell, respectively. binaries using "MSYS2 32bit" shell, respectively.
* Select "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" from the "Start Menu" to * Select "MSYS2 64bit" "MSYS2 MinGW 64-bit" from the "Start Menu" to
open the 64bit shell. open the 64bit shell.
* Select "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" from the "Start Menu" to * Select "MSYS2 64bit" "MSYS2 MinGW 32-bit" from the "Start Menu" to
open the 32bit shell. open the 32bit shell.
Tux Paint Config. Tux Paint Config.
@ -460,6 +462,8 @@ Windows
due to incorrect character-case (capital 'Z' instead of lowercase 'z') or due to incorrect character-case (capital 'Z' instead of lowercase 'z') or
a missing (or extra) '-' (dash). a missing (or extra) '-' (dash).
------------------------------------------------------------------
Linux/Unix Linux/Unix
Compiling: Compiling:
@ -481,16 +485,6 @@ Linux/Unix
$ make SVG_LIB= SVG_CFLAGS= $ make SVG_LIB= SVG_CFLAGS=
Disabling Pango support (and hence Pango, Cairo, etc. dependencies):
📜 Prior to version 0.9.18, Tux Paint used the libSDL_ttf library for
rendering text using TrueType Fonts. Since 0.9.18, libSDL_Pango is used,
as it has much greater support for internationalization. However, if you
wish to disable the use of SDL_Pango, you may do so running "make" with
"SDL_PANGO_LIB=" added:
$ make SDL_PANGO_LIB=
Disabling Sound at Compile-time Disabling Sound at Compile-time
If you don't have a sound card, or would prefer to build the program with If you don't have a sound card, or would prefer to build the program with
@ -584,6 +578,8 @@ Linux/Unix
💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a 💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a
complete list. complete list.
------------------------------------------------------------------
macOS macOS
June 5, 2022 Mark Kim <markuskimius@gmail.com> June 5, 2022 Mark Kim <markuskimius@gmail.com>
@ -772,7 +768,7 @@ macOS
https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper. https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper.
If you get an error that the application bundle is already signed, remove If you get an error that the application bundle is already signed, remove
it before signing:: it before signing:
$ codesign --remove-signature TuxPaint.app $ codesign --remove-signature TuxPaint.app
@ -795,6 +791,8 @@ macOS
$ codesign -s - TuxPaint.app $ codesign -s - TuxPaint.app
$ make TuxPaint.dmg $ make TuxPaint.dmg
------------------------------------------------------------------
Android Android
March 29, 2023 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited by March 29, 2023 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited by
@ -858,41 +856,42 @@ Android
from the root of fdroiddata, run ../fdroidserver/fdroid build --server from the root of fdroiddata, run ../fdroidserver/fdroid build --server
org.tuxpaint:NNNN (NNNN = version, e.g. 9288) org.tuxpaint:NNNN (NNNN = version, e.g. 9288)
------------------------------------------------------------------
Haiku Haiku
May 6, 2023 Luc Schrijvers <begasus@gmail.com> (Edited by Bill Kendrick) May 7, 2023 Luc Schrijvers <begasus@gmail.com> (Edited by Bill Kendrick)
Prerequisites Prerequisites
Install the required develop packages in Terminal: Install the required develop packages in Terminal:
32bit:
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with 32-bit:
setarch x86 pkgman install xcairo_x86_devel fribidi_x86_devel
gdk_pixbuf_x86_devel libiconv_x86_devel libimagequant_x86_devel
gettext_x86_libintl libpaper_x86_devel pango_x86_devel
libpng16_x86_devel librsvg_x86_devel libsdl2_x86_devel
sdl2_image_x86_devel sdl2_gfx_x86_devel sdl2_mixer_x86_devel
sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64-bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel
libiconv_devel libimagequant_devel gettext_libintl libpaper_devel
pango_devel libpng16_devel librsvg_devel libsdl2_devel
sdl2_image_devel sdl2_gfx_devel sdl2_mixer_devel sdl2_pango_devel
sdl2_ttf_devel zlib_devel
For 32-bit you need to switch to the new compiler (currently gcc 11.2.0)
with setarch x86
Building Building
cd tuxpaint-VERSION make PREFIX=/boot/home/config/non-packaged
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
Tux Paint Stamps Tux Paint Stamps
cd tuxpaint-stamps-VERSION make install-all
DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Debugging Debugging

View file

@ -289,6 +289,8 @@
<p> <p>
Tux Paint is released under the GNU General Public License (GPL) (see "COPYING.txt" for details), and therefore the 'source code' to the program is available freely. </p> Tux Paint is released under the GNU General Public License (GPL) (see "COPYING.txt" for details), and therefore the 'source code' to the program is available freely. </p>
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Windows --> <section class="indent"><!-- H2: Windows -->
<header> <header>
<h2> <h2>
@ -322,29 +324,29 @@
<p> <p>
Download the latest MSYS2 environment from <a href="https://www.msys2.org/">https://www.msys2.org/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p> Download the latest MSYS2 environment from <a href="https://www.msys2.org/">https://www.msys2.org/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p>
<p> <p>
Open the MSYS2 shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MSYS" and execute following command: <blockquote> Open the MSYS2 shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MSYS" and execute following command: <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote> This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
Within the MSYS2 shell, run the following command to install basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix $ <strong>yes</strong> "" | <strong>pacman</strong> -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
<i> <i>
Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i> Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i>
@ -363,7 +365,7 @@
<p> <p>
Within the MSYS2 shell, run the following command to install 64bit compiler and basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install 64bit compiler and basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -384,8 +386,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -402,7 +404,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" </p> This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -412,9 +414,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -430,9 +432,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -457,7 +459,7 @@
<p> <p>
Within the MSYS2 shell, run the following command to install 32bit compiler and basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install 32bit compiler and basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-i686-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-i686-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -478,8 +480,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -496,7 +498,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" </p> This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -506,9 +508,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -524,9 +526,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -553,7 +555,7 @@
<p> <p>
Add the path to the directory in which ImageMagick is installed at the top of your "PATH" environment variable. For example: <blockquote> Add the path to the directory in which ImageMagick is installed at the top of your "PATH" environment variable. For example: <blockquote>
<code> <code>
$ export PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH $ <strong>export</strong> PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -570,9 +572,9 @@
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p> You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p>
<ul> <ul>
<li> <li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li>
<li> <li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li>
</ul> </ul>
<section class="indent"><!-- H4: Tux Paint Config. --> <section class="indent"><!-- H4: Tux Paint Config. -->
@ -591,8 +593,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-config-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-config-A.B.C.tar.gz<br/>
$ mv tuxpaint-config-A.B.C tuxpaint-config<br/> $ <strong>mv</strong> tuxpaint-config-A.B.C tuxpaint-config<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -603,7 +605,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -614,8 +616,8 @@
<p> <p>
Now you can build Tux Paint Config. as follows: <blockquote> Now you can build Tux Paint Config. as follows: <blockquote>
<code> <code>
$ cd tuxpaint-config<br/> $ <strong>cd</strong> tuxpaint-config<br/>
$ make win32<br/> $ <strong>make</strong> win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -636,8 +638,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-A.B.C.tar.gz<br/>
$ mv tuxpaint-A.B.C tuxpaint<br/> $ <strong>mv</strong> tuxpaint-A.B.C tuxpaint<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -648,7 +650,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -659,8 +661,8 @@
<p> <p>
Now you can build Tux Paint as follows: <blockquote> Now you can build Tux Paint as follows: <blockquote>
<code> <code>
$ cd tuxpaint<br/> $ <strong>cd</strong> tuxpaint<br/>
$ make bdist-win32<br/> $ <strong>make</strong> bdist-win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -762,6 +764,8 @@
</section><!-- H3: If Something Goes Wrong --> </section><!-- H3: If Something Goes Wrong -->
</section><!-- H2: Windows --> </section><!-- H2: Windows -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Linux/Unux --> <section class="indent"><!-- H2: Linux/Unux -->
<header> <header>
<h2> <h2>
@ -784,7 +788,7 @@
<blockquote> <blockquote>
<code> <code>
$ make $ <strong>make</strong>
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Compiling --> </section><!-- H3: Compiling -->
@ -799,26 +803,11 @@
To disable SVG support (e.g., if your system is not currently supported by the Cairo library or other SVG-related dependencies), you can run "<code>make</code>" with "<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>" added: To disable SVG support (e.g., if your system is not currently supported by the Cairo library or other SVG-related dependencies), you can run "<code>make</code>" with "<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>" added:
<blockquote> <blockquote>
<code> <code>
$ make SVG_LIB= SVG_CFLAGS= $ <strong>make</strong> SVG_LIB= SVG_CFLAGS=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling SVG support... --> </section><!-- H3: Disabling SVG support... -->
<section class="indent"><!-- H3: Disabling Pango support... -->
<header>
<h3>
Disabling Pango support (and hence Pango, Cairo, etc. dependencies): </h3>
</header>
<p class="note">
<span title="Version variation">&#128220;</span> Prior to version 0.9.18, Tux Paint used the <code>libSDL_ttf</code> library for rendering text using TrueType Fonts. Since 0.9.18, <code>libSDL_Pango</code> is used, as it has much greater support for internationalization. However, if you wish to disable the use of SDL_Pango, you may do so running "<code>make</code>" with "<code>SDL_PANGO_LIB=</code>" added: </p>
<blockquote>
<code>
$ make SDL_PANGO_LIB=
</code>
</blockquote>
</section><!-- H3: Disabling Pango support... -->
<section class="indent"><!-- H3: Disabling Sound at Compile-time --> <section class="indent"><!-- H3: Disabling Sound at Compile-time -->
<header> <header>
<h3> <h3>
@ -829,7 +818,7 @@
If you don't have a sound card, or would prefer to build the program with no sound support (and therefore without a the <code>SDL_mixer</code> dependency), you can run "<code>make</code>" with "<code>SDL_MIXER_LIB=</code>" added: </p> If you don't have a sound card, or would prefer to build the program with no sound support (and therefore without a the <code>SDL_mixer</code> dependency), you can run "<code>make</code>" with "<code>SDL_MIXER_LIB=</code>" added: </p>
<blockquote> <blockquote>
<code> <code>
$ make SDL_MIXER_LIB= $ <strong>make</strong> SDL_MIXER_LIB=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling Sound at Compile-time --> </section><!-- H3: Disabling Sound at Compile-time -->
@ -865,7 +854,7 @@
<blockquote> <blockquote>
<code> <code>
$ su $ <strong>su</strong>
</code> </code>
</blockquote> </blockquote>
@ -874,7 +863,7 @@
<blockquote> <blockquote>
<code> <code>
# make install # <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -883,7 +872,7 @@
<blockquote> <blockquote>
<code> <code>
# exit # <strong>exit</strong>
</code> </code>
</blockquote> </blockquote>
@ -892,7 +881,7 @@
<blockquote> <blockquote>
<code> <code>
$ sudo make install $ <strong>sudo make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -941,10 +930,12 @@
<p class="note"> <p class="note">
<span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p> <span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p>
</section class="indent"><!-- H4: Changing Where Things Go --> </section><!-- H4: Changing Where Things Go -->
</section><!-- H3: Installing --> </section><!-- H3: Installing -->
</section><!-- H2: Linux/Unux --> </section><!-- H2: Linux/Unux -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: macOS --> <section class="indent"><!-- H2: macOS -->
<header> <header>
<h2> <h2>
@ -970,7 +961,7 @@
<p> <p>
Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. <a href="https://developer.apple.com/xcode/ide/">Download it from the App Store</a>, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command: <blockquote> Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. <a href="https://developer.apple.com/xcode/ide/">Download it from the App Store</a>, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command: <blockquote>
<code> <code>
$ xcode-select --install $ <strong>xcode-select</strong> --install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1008,11 +999,11 @@
<p> <p>
<code>libimagequant</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote> <code>libimagequant</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ sudo port install rust cargo<br/> $ <strong>sudo port</strong> install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/> $ <strong>git</strong> clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/> $ <strong>cd</strong> libimagequant/imagequant-sys<br/>
$ cargo build --release # Must use cargo from MacPorts<br/> $ <strong>cargo</strong> build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install $ <strong>sudo make</strong> PREFIX=/opt/local install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1028,9 +1019,9 @@
<p> <p>
<code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote> <code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango.git<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango.git<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install $ <strong>./configure</strong> --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1049,8 +1040,8 @@
<p> <p>
Simply, run: <blockquote> Simply, run: <blockquote>
<code> <code>
% make<br/> % <strong>make</strong><br/>
% make install % <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p> ... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p>
@ -1124,7 +1115,7 @@
<p> <p>
Then uninstall all MacPorts packages: <blockquote> Then uninstall all MacPorts packages: <blockquote>
<code> <code>
$ sudo port -fp uninstall installed $ <strong>sudo port</strong> -fp uninstall installed
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1144,14 +1135,14 @@
<p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote> <p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote>
<code> <code>
$ codesign -s - TuxPaint.app<br/> $ <strong>codesign</strong> -s - TuxPaint.app<br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p> <sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote> <p>If you get an error that the application bundle is already signed, remove it before signing: <blockquote>
<code> <code>
$ codesign --remove-signature TuxPaint.app $ <strong>codesign</strong> --remove-signature TuxPaint.app
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1167,9 +1158,9 @@
<p> <p>
To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote> To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote>
<code> <code>
$ macos/build-universal.sh<br/> $ <strong>macos/build-universal.sh</strong><br/>
$ codesign -s - TuxPaint.app <br/> $ <strong>codesign</strong> -s - TuxPaint.app <br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1177,6 +1168,8 @@
</section><!-- H2: macOS --> </section><!-- H2: macOS -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Android --> <section class="indent"><!-- H2: Android -->
<header> <header>
<h2> <h2>
@ -1242,15 +1235,17 @@
</section><!-- H2: Android --> </section><!-- H2: Android -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Haiku --> <section class="indent"><!-- H2: Haiku -->
<header> <header>
<h2> <h2>
<a name="compiling-macos" id="compiling-android"> <a name="compiling-macos" id="compiling-haiku">
Haiku </a> Haiku </a>
</h2> </h2>
<p style="font-size: small;"> <p style="font-size: small;">
<em> <em>
May 6, 2023 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt; May 7, 2023 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt;
(Edited by Bill Kendrick) (Edited by Bill Kendrick)
</em> </em>
</p> </p>
@ -1262,24 +1257,60 @@
Prerequisites </h3> Prerequisites </h3>
</header> </header>
<pre> <p>
Install the required develop packages in Terminal: Install the required develop packages in Terminal: <dl>
32bit: <dt>32-bit:</dt>
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel <dd>
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl <code>
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel <strong>pkgman</strong> install
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel xcairo_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel fribidi_x86_devel
64bit: gdk_pixbuf_x86_devel
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel libiconv_x86_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel libimagequant_x86_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel gettext_x86_libintl
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel libpaper_x86_devel
pango_x86_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with libpng16_x86_devel
setarch x86 librsvg_x86_devel
</pre> libsdl2_x86_devel
sdl2_image_x86_devel
sdl2_gfx_x86_devel
sdl2_mixer_x86_devel
sdl2_pango_x86_devel
sdl2_ttf_x86_devel
zlib_x86_devel
</code>
</dd>
<dt>64-bit:</dt>
<dd>
<code>
<strong>pkgman</strong> install
xcairo_devel
fribidi_devel
gdk_pixbuf_devel
libiconv_devel
libimagequant_devel
gettext_libintl
libpaper_devel
pango_devel
libpng16_devel
librsvg_devel
libsdl2_devel
sdl2_image_devel
sdl2_gfx_devel
sdl2_mixer_devel
sdl2_pango_devel
sdl2_ttf_devel
zlib_devel
</code>
</dd>
</dt>
</dl>
</p>
<p>
For 32-bit you need to switch to the new compiler (currently <code>gcc</code> 11.2.0) with <code>setarch x86</code> </p>
</section><!-- H3: Prerequisites --> </section><!-- H3: Prerequisites -->
<section class="indent"><!-- H3: Building --> <section class="indent"><!-- H3: Building -->
@ -1287,13 +1318,9 @@ setarch x86
<h3> <h3>
Building </h3> Building </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> PREFIX=/boot/home/config/non-packaged</code>
cd tuxpaint-VERSION </p>
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
</pre>
</section><!-- H3: Building --> </section><!-- H3: Building -->
<section class="indent"><!-- H3: Tux Paint Stamps --> <section class="indent"><!-- H3: Tux Paint Stamps -->
@ -1301,13 +1328,9 @@ make PREFIX=/boot/home/config/non-packaged
<h3> <h3>
Tux Paint Stamps </h3> Tux Paint Stamps </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/</code>
cd tuxpaint-stamps-VERSION </p>
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
</pre>
</section><!-- H3: Tux Paint Stamps --> </section><!-- H3: Tux Paint Stamps -->
</section><!-- H2: Haiku --> </section><!-- H2: Haiku -->

View file

@ -139,6 +139,8 @@ Simple DirectMedia Layer library (libSDL)
"COPYING.txt" for details), and therefore the 'source code' to the program "COPYING.txt" for details), and therefore the 'source code' to the program
is available freely. is available freely.
------------------------------------------------------------------
Windows Windows
julio 10, 2022 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp> julio 10, 2022 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp>
@ -158,8 +160,8 @@ Windows
Download the latest MSYS2 environment from https://www.msys2.org/ and Download the latest MSYS2 environment from https://www.msys2.org/ and
install it where you'd like (the default is "C:\msys64") install it where you'd like (the default is "C:\msys64")
Open the MSYS2 shell from the "Start Menu" -> "MSYS2 64bit" -> "MSYS2 Open the MSYS2 shell from the "Start Menu" → "MSYS2 64bit" → "MSYS2 MSYS"
MSYS" and execute following command: and execute following command:
$ yes "" | pacman -Syu $ yes "" | pacman -Syu
@ -211,7 +213,7 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
This time, use the MinGW "64bit" shell. Open the shell from the "Start This time, use the MinGW "64bit" shell. Open the shell from the "Start
Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 64-bit"
SDL2_Pango SDL2_Pango
@ -269,7 +271,7 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
This time, use the MinGW "32bit" shell. Open the shell from the "Start This time, use the MinGW "32bit" shell. Open the shell from the "Start
Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 32-bit"
SDL2_Pango SDL2_Pango
@ -320,9 +322,9 @@ Windows
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit
binaries using "MSYS2 32bit" shell, respectively. binaries using "MSYS2 32bit" shell, respectively.
* Select "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" from the "Start Menu" to * Select "MSYS2 64bit" "MSYS2 MinGW 64-bit" from the "Start Menu" to
open the 64bit shell. open the 64bit shell.
* Select "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" from the "Start Menu" to * Select "MSYS2 64bit" "MSYS2 MinGW 32-bit" from the "Start Menu" to
open the 32bit shell. open the 32bit shell.
Tux Paint Config. Tux Paint Config.
@ -460,6 +462,8 @@ Windows
due to incorrect character-case (capital 'Z' instead of lowercase 'z') or due to incorrect character-case (capital 'Z' instead of lowercase 'z') or
a missing (or extra) '-' (dash). a missing (or extra) '-' (dash).
------------------------------------------------------------------
Linux/Unix Linux/Unix
Compiling: Compiling:
@ -481,16 +485,6 @@ Linux/Unix
$ make SVG_LIB= SVG_CFLAGS= $ make SVG_LIB= SVG_CFLAGS=
Disabling Pango support (and hence Pango, Cairo, etc. dependencies):
📜 Prior to version 0.9.18, Tux Paint used the libSDL_ttf library for
rendering text using TrueType Fonts. Since 0.9.18, libSDL_Pango is used,
as it has much greater support for internationalization. However, if you
wish to disable the use of SDL_Pango, you may do so running "make" with
"SDL_PANGO_LIB=" added:
$ make SDL_PANGO_LIB=
Disabling Sound at Compile-time Disabling Sound at Compile-time
If you don't have a sound card, or would prefer to build the program with If you don't have a sound card, or would prefer to build the program with
@ -584,6 +578,8 @@ Linux/Unix
💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a 💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a
complete list. complete list.
------------------------------------------------------------------
macOS macOS
junio 5, 2022 Mark Kim <markuskimius@gmail.com> junio 5, 2022 Mark Kim <markuskimius@gmail.com>
@ -772,7 +768,7 @@ macOS
https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper. https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper.
If you get an error that the application bundle is already signed, remove If you get an error that the application bundle is already signed, remove
it before signing:: it before signing:
$ codesign --remove-signature TuxPaint.app $ codesign --remove-signature TuxPaint.app
@ -795,6 +791,8 @@ macOS
$ codesign -s - TuxPaint.app $ codesign -s - TuxPaint.app
$ make TuxPaint.dmg $ make TuxPaint.dmg
------------------------------------------------------------------
Android Android
marzo 29, 2023 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited by marzo 29, 2023 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited by
@ -858,41 +856,42 @@ Android
from the root of fdroiddata, run ../fdroidserver/fdroid build --server from the root of fdroiddata, run ../fdroidserver/fdroid build --server
org.tuxpaint:NNNN (NNNN = version, e.g. 9288) org.tuxpaint:NNNN (NNNN = version, e.g. 9288)
------------------------------------------------------------------
Haiku Haiku
mayo 6, 2023 Luc Schrijvers <begasus@gmail.com> (Edited by Bill Kendrick) mayo 7, 2023 Luc Schrijvers <begasus@gmail.com> (Edited by Bill Kendrick)
Prerequisites Prerequisites
Install the required develop packages in Terminal: Install the required develop packages in Terminal:
32bit:
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with 32-bit:
setarch x86 pkgman install xcairo_x86_devel fribidi_x86_devel
gdk_pixbuf_x86_devel libiconv_x86_devel libimagequant_x86_devel
gettext_x86_libintl libpaper_x86_devel pango_x86_devel
libpng16_x86_devel librsvg_x86_devel libsdl2_x86_devel
sdl2_image_x86_devel sdl2_gfx_x86_devel sdl2_mixer_x86_devel
sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64-bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel
libiconv_devel libimagequant_devel gettext_libintl libpaper_devel
pango_devel libpng16_devel librsvg_devel libsdl2_devel
sdl2_image_devel sdl2_gfx_devel sdl2_mixer_devel sdl2_pango_devel
sdl2_ttf_devel zlib_devel
For 32-bit you need to switch to the new compiler (currently gcc 11.2.0)
with setarch x86
Building Building
cd tuxpaint-VERSION make PREFIX=/boot/home/config/non-packaged
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
Tux Paint Stamps Tux Paint Stamps
cd tuxpaint-stamps-VERSION make install-all
DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Debugging Debugging

View file

@ -289,6 +289,8 @@
<p> <p>
Tux Paint is released under the GNU General Public License (GPL) (see "COPYING.txt" for details), and therefore the 'source code' to the program is available freely. </p> Tux Paint is released under the GNU General Public License (GPL) (see "COPYING.txt" for details), and therefore the 'source code' to the program is available freely. </p>
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Windows --> <section class="indent"><!-- H2: Windows -->
<header> <header>
<h2> <h2>
@ -322,29 +324,29 @@
<p> <p>
Download the latest MSYS2 environment from <a href="https://www.msys2.org/">https://www.msys2.org/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p> Download the latest MSYS2 environment from <a href="https://www.msys2.org/">https://www.msys2.org/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p>
<p> <p>
Open the MSYS2 shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MSYS" and execute following command: <blockquote> Open the MSYS2 shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MSYS" and execute following command: <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote> This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
Within the MSYS2 shell, run the following command to install basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix $ <strong>yes</strong> "" | <strong>pacman</strong> -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
<i> <i>
Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i> Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i>
@ -363,7 +365,7 @@
<p> <p>
Within the MSYS2 shell, run the following command to install 64bit compiler and basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install 64bit compiler and basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -384,8 +386,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -402,7 +404,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" </p> This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -412,9 +414,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -430,9 +432,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -457,7 +459,7 @@
<p> <p>
Within the MSYS2 shell, run the following command to install 32bit compiler and basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install 32bit compiler and basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-i686-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-i686-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -478,8 +480,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -496,7 +498,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" </p> This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -506,9 +508,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -524,9 +526,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -553,7 +555,7 @@
<p> <p>
Add the path to the directory in which ImageMagick is installed at the top of your "PATH" environment variable. For example: <blockquote> Add the path to the directory in which ImageMagick is installed at the top of your "PATH" environment variable. For example: <blockquote>
<code> <code>
$ export PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH $ <strong>export</strong> PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -570,9 +572,9 @@
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p> You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p>
<ul> <ul>
<li> <li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li>
<li> <li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li>
</ul> </ul>
<section class="indent"><!-- H4: Tux Paint Config. --> <section class="indent"><!-- H4: Tux Paint Config. -->
@ -591,8 +593,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-config-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-config-A.B.C.tar.gz<br/>
$ mv tuxpaint-config-A.B.C tuxpaint-config<br/> $ <strong>mv</strong> tuxpaint-config-A.B.C tuxpaint-config<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -603,7 +605,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -614,8 +616,8 @@
<p> <p>
Now you can build Tux Paint Config. as follows: <blockquote> Now you can build Tux Paint Config. as follows: <blockquote>
<code> <code>
$ cd tuxpaint-config<br/> $ <strong>cd</strong> tuxpaint-config<br/>
$ make win32<br/> $ <strong>make</strong> win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -636,8 +638,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-A.B.C.tar.gz<br/>
$ mv tuxpaint-A.B.C tuxpaint<br/> $ <strong>mv</strong> tuxpaint-A.B.C tuxpaint<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -648,7 +650,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -659,8 +661,8 @@
<p> <p>
Now you can build Tux Paint as follows: <blockquote> Now you can build Tux Paint as follows: <blockquote>
<code> <code>
$ cd tuxpaint<br/> $ <strong>cd</strong> tuxpaint<br/>
$ make bdist-win32<br/> $ <strong>make</strong> bdist-win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -762,6 +764,8 @@
</section><!-- H3: If Something Goes Wrong --> </section><!-- H3: If Something Goes Wrong -->
</section><!-- H2: Windows --> </section><!-- H2: Windows -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Linux/Unux --> <section class="indent"><!-- H2: Linux/Unux -->
<header> <header>
<h2> <h2>
@ -784,7 +788,7 @@
<blockquote> <blockquote>
<code> <code>
$ make $ <strong>make</strong>
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Compiling --> </section><!-- H3: Compiling -->
@ -799,26 +803,11 @@
To disable SVG support (e.g., if your system is not currently supported by the Cairo library or other SVG-related dependencies), you can run "<code>make</code>" with "<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>" added: To disable SVG support (e.g., if your system is not currently supported by the Cairo library or other SVG-related dependencies), you can run "<code>make</code>" with "<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>" added:
<blockquote> <blockquote>
<code> <code>
$ make SVG_LIB= SVG_CFLAGS= $ <strong>make</strong> SVG_LIB= SVG_CFLAGS=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling SVG support... --> </section><!-- H3: Disabling SVG support... -->
<section class="indent"><!-- H3: Disabling Pango support... -->
<header>
<h3>
Disabling Pango support (and hence Pango, Cairo, etc. dependencies): </h3>
</header>
<p class="note">
<span title="Version variation">&#128220;</span> Prior to version 0.9.18, Tux Paint used the <code>libSDL_ttf</code> library for rendering text using TrueType Fonts. Since 0.9.18, <code>libSDL_Pango</code> is used, as it has much greater support for internationalization. However, if you wish to disable the use of SDL_Pango, you may do so running "<code>make</code>" with "<code>SDL_PANGO_LIB=</code>" added: </p>
<blockquote>
<code>
$ make SDL_PANGO_LIB=
</code>
</blockquote>
</section><!-- H3: Disabling Pango support... -->
<section class="indent"><!-- H3: Disabling Sound at Compile-time --> <section class="indent"><!-- H3: Disabling Sound at Compile-time -->
<header> <header>
<h3> <h3>
@ -829,7 +818,7 @@
If you don't have a sound card, or would prefer to build the program with no sound support (and therefore without a the <code>SDL_mixer</code> dependency), you can run "<code>make</code>" with "<code>SDL_MIXER_LIB=</code>" added: </p> If you don't have a sound card, or would prefer to build the program with no sound support (and therefore without a the <code>SDL_mixer</code> dependency), you can run "<code>make</code>" with "<code>SDL_MIXER_LIB=</code>" added: </p>
<blockquote> <blockquote>
<code> <code>
$ make SDL_MIXER_LIB= $ <strong>make</strong> SDL_MIXER_LIB=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling Sound at Compile-time --> </section><!-- H3: Disabling Sound at Compile-time -->
@ -865,7 +854,7 @@
<blockquote> <blockquote>
<code> <code>
$ su $ <strong>su</strong>
</code> </code>
</blockquote> </blockquote>
@ -874,7 +863,7 @@
<blockquote> <blockquote>
<code> <code>
# make install # <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -883,7 +872,7 @@
<blockquote> <blockquote>
<code> <code>
# exit # <strong>exit</strong>
</code> </code>
</blockquote> </blockquote>
@ -892,7 +881,7 @@
<blockquote> <blockquote>
<code> <code>
$ sudo make install $ <strong>sudo make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -941,10 +930,12 @@
<p class="note"> <p class="note">
<span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p> <span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p>
</section class="indent"><!-- H4: Changing Where Things Go --> </section><!-- H4: Changing Where Things Go -->
</section><!-- H3: Installing --> </section><!-- H3: Installing -->
</section><!-- H2: Linux/Unux --> </section><!-- H2: Linux/Unux -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: macOS --> <section class="indent"><!-- H2: macOS -->
<header> <header>
<h2> <h2>
@ -970,7 +961,7 @@
<p> <p>
Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. <a href="https://developer.apple.com/xcode/ide/">Download it from the App Store</a>, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command: <blockquote> Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. <a href="https://developer.apple.com/xcode/ide/">Download it from the App Store</a>, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command: <blockquote>
<code> <code>
$ xcode-select --install $ <strong>xcode-select</strong> --install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1008,11 +999,11 @@
<p> <p>
<code>libimagequant</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote> <code>libimagequant</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ sudo port install rust cargo<br/> $ <strong>sudo port</strong> install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/> $ <strong>git</strong> clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/> $ <strong>cd</strong> libimagequant/imagequant-sys<br/>
$ cargo build --release # Must use cargo from MacPorts<br/> $ <strong>cargo</strong> build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install $ <strong>sudo make</strong> PREFIX=/opt/local install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1028,9 +1019,9 @@
<p> <p>
<code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote> <code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango.git<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango.git<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install $ <strong>./configure</strong> --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1049,8 +1040,8 @@
<p> <p>
Simply, run: <blockquote> Simply, run: <blockquote>
<code> <code>
% make<br/> % <strong>make</strong><br/>
% make install % <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p> ... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p>
@ -1124,7 +1115,7 @@
<p> <p>
Then uninstall all MacPorts packages: <blockquote> Then uninstall all MacPorts packages: <blockquote>
<code> <code>
$ sudo port -fp uninstall installed $ <strong>sudo port</strong> -fp uninstall installed
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1144,14 +1135,14 @@
<p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote> <p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote>
<code> <code>
$ codesign -s - TuxPaint.app<br/> $ <strong>codesign</strong> -s - TuxPaint.app<br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p> <sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote> <p>If you get an error that the application bundle is already signed, remove it before signing: <blockquote>
<code> <code>
$ codesign --remove-signature TuxPaint.app $ <strong>codesign</strong> --remove-signature TuxPaint.app
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1167,9 +1158,9 @@
<p> <p>
To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote> To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote>
<code> <code>
$ macos/build-universal.sh<br/> $ <strong>macos/build-universal.sh</strong><br/>
$ codesign -s - TuxPaint.app <br/> $ <strong>codesign</strong> -s - TuxPaint.app <br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1177,6 +1168,8 @@
</section><!-- H2: macOS --> </section><!-- H2: macOS -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Android --> <section class="indent"><!-- H2: Android -->
<header> <header>
<h2> <h2>
@ -1242,15 +1235,17 @@
</section><!-- H2: Android --> </section><!-- H2: Android -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Haiku --> <section class="indent"><!-- H2: Haiku -->
<header> <header>
<h2> <h2>
<a name="compiling-macos" id="compiling-android"> <a name="compiling-macos" id="compiling-haiku">
Haiku </a> Haiku </a>
</h2> </h2>
<p style="font-size: small;"> <p style="font-size: small;">
<em> <em>
mayo 6, 2023 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt; mayo 7, 2023 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt;
(Edited by Bill Kendrick) (Edited by Bill Kendrick)
</em> </em>
</p> </p>
@ -1262,24 +1257,60 @@
Prerequisites </h3> Prerequisites </h3>
</header> </header>
<pre> <p>
Install the required develop packages in Terminal: Install the required develop packages in Terminal: <dl>
32bit: <dt>32-bit:</dt>
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel <dd>
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl <code>
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel <strong>pkgman</strong> install
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel xcairo_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel fribidi_x86_devel
64bit: gdk_pixbuf_x86_devel
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel libiconv_x86_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel libimagequant_x86_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel gettext_x86_libintl
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel libpaper_x86_devel
pango_x86_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with libpng16_x86_devel
setarch x86 librsvg_x86_devel
</pre> libsdl2_x86_devel
sdl2_image_x86_devel
sdl2_gfx_x86_devel
sdl2_mixer_x86_devel
sdl2_pango_x86_devel
sdl2_ttf_x86_devel
zlib_x86_devel
</code>
</dd>
<dt>64-bit:</dt>
<dd>
<code>
<strong>pkgman</strong> install
xcairo_devel
fribidi_devel
gdk_pixbuf_devel
libiconv_devel
libimagequant_devel
gettext_libintl
libpaper_devel
pango_devel
libpng16_devel
librsvg_devel
libsdl2_devel
sdl2_image_devel
sdl2_gfx_devel
sdl2_mixer_devel
sdl2_pango_devel
sdl2_ttf_devel
zlib_devel
</code>
</dd>
</dt>
</dl>
</p>
<p>
For 32-bit you need to switch to the new compiler (currently <code>gcc</code> 11.2.0) with <code>setarch x86</code> </p>
</section><!-- H3: Prerequisites --> </section><!-- H3: Prerequisites -->
<section class="indent"><!-- H3: Building --> <section class="indent"><!-- H3: Building -->
@ -1287,13 +1318,9 @@ setarch x86
<h3> <h3>
Building </h3> Building </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> PREFIX=/boot/home/config/non-packaged</code>
cd tuxpaint-VERSION </p>
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
</pre>
</section><!-- H3: Building --> </section><!-- H3: Building -->
<section class="indent"><!-- H3: Tux Paint Stamps --> <section class="indent"><!-- H3: Tux Paint Stamps -->
@ -1301,13 +1328,9 @@ make PREFIX=/boot/home/config/non-packaged
<h3> <h3>
Tux Paint Stamps </h3> Tux Paint Stamps </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/</code>
cd tuxpaint-stamps-VERSION </p>
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
</pre>
</section><!-- H3: Tux Paint Stamps --> </section><!-- H3: Tux Paint Stamps -->
</section><!-- H2: Haiku --> </section><!-- H2: Haiku -->

View file

@ -142,6 +142,8 @@ Biliothèque Simple DirectMedia Layer (libSDL)
"COPYING.txt" pour plus de détails), et donc le 'code source' du programme "COPYING.txt" pour plus de détails), et donc le 'code source' du programme
est disponible gratuitement. est disponible gratuitement.
------------------------------------------------------------------
Windows Windows
juillet 10, 2022 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp> juillet 10, 2022 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp>
@ -162,8 +164,8 @@ Windows
https://www.msys2.org/ et installez-le où vous voulez (par défaut https://www.msys2.org/ et installez-le où vous voulez (par défaut
"C:\msys64") "C:\msys64")
Open the MSYS2 shell from the "Start Menu" -> "MSYS2 64bit" -> "MSYS2 Open the MSYS2 shell from the "Start Menu" → "MSYS2 64bit" → "MSYS2 MSYS"
MSYS" and execute following command: and execute following command:
$ yes "" | pacman -Syu $ yes "" | pacman -Syu
@ -215,8 +217,8 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
Cette fois-ci, utilisez le shell MinGW "64bit". Ouvrez le shell depuis le This time, use the MinGW "64bit" shell. Open the shell from the "Start
"Menu de Démarrage" -> "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 64-bit"
SDL2_Pango SDL2_Pango
@ -275,8 +277,8 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
Cette fois-ci, utilisez le shell MinGW "32bit". Ouvrez le shell depuis le This time, use the MinGW "32bit" shell. Open the shell from the "Start
"Menu de Démarrage" -> "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 32-bit"
SDL2_Pango SDL2_Pango
@ -328,10 +330,10 @@ Windows
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit
binaries using "MSYS2 32bit" shell, respectively. binaries using "MSYS2 32bit" shell, respectively.
* Choisissez "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" dans le "Menu de * Select "MSYS2 64bit" → "MSYS2 MinGW 64-bit" from the "Start Menu" to
Démarrage" pour ouvrir le shell 64bit. open the 64bit shell.
* Choisissez "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" dans le "Menu de * Select "MSYS2 64bit" → "MSYS2 MinGW 32-bit" from the "Start Menu" to
Démarrage" pour ouvrir le shell 32bit. open the 32bit shell.
Tux Paint Config. Tux Paint Config.
@ -473,6 +475,8 @@ Windows
sera simplement dû à une casse de caractère incorrecte (majuscule 'Z' à la sera simplement dû à une casse de caractère incorrecte (majuscule 'Z' à la
place de 'z' minuscule) ou un '-' (tiret) manquant (en trop). place de 'z' minuscule) ou un '-' (tiret) manquant (en trop).
------------------------------------------------------------------
Linux/Unix Linux/Unix
Compilation : Compilation :
@ -495,17 +499,6 @@ Linux/Unix
$ make SVG_LIB= SVG_CFLAGS= $ make SVG_LIB= SVG_CFLAGS=
Désactivation du support Pango (donc des dépendances Pango, Cairo, etc ...)
📜 Avant la version 0.9.18, Tuxpaint utilisait la bibliothèque libSDL_ttf
pour gérer les fichiers utilisant les fontes True Type. Depuis la 09.18
libSDL_Pango est utilisée, car il permet un meilleur support pour
l'internationalisation. Cependant, si vous voulez désactiver l'utilisation
de SDL_Pango, vous pouvez le faire en exécutant "make" avec
"SDL_PANGO_LIB=" :
$ make SDL_PANGO_LIB=
Disabling Sound at Compile-time Disabling Sound at Compile-time
Si vous n'avez pas de carte son ou si vous préférez créer le programme Si vous n'avez pas de carte son ou si vous préférez créer le programme
@ -603,6 +596,8 @@ Linux/Unix
💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a 💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a
complete list. complete list.
------------------------------------------------------------------
macOS macOS
juin 5, 2022 Mark Kim <markuskimius@gmail.com> juin 5, 2022 Mark Kim <markuskimius@gmail.com>
@ -793,7 +788,7 @@ macOS
https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper. https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper.
If you get an error that the application bundle is already signed, remove If you get an error that the application bundle is already signed, remove
it before signing:: it before signing:
$ codesign --remove-signature TuxPaint.app $ codesign --remove-signature TuxPaint.app
@ -816,6 +811,8 @@ macOS
$ codesign -s - TuxPaint.app $ codesign -s - TuxPaint.app
$ make TuxPaint.dmg $ make TuxPaint.dmg
------------------------------------------------------------------
Android Android
mars 29, 2023 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited by mars 29, 2023 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited by
@ -879,41 +876,42 @@ Android
from the root of fdroiddata, run ../fdroidserver/fdroid build --server from the root of fdroiddata, run ../fdroidserver/fdroid build --server
org.tuxpaint:NNNN (NNNN = version, e.g. 9288) org.tuxpaint:NNNN (NNNN = version, e.g. 9288)
------------------------------------------------------------------
Haiku Haiku
mai 6, 2023 Luc Schrijvers <begasus@gmail.com> (Edited by Bill Kendrick) mai 7, 2023 Luc Schrijvers <begasus@gmail.com> (Edited by Bill Kendrick)
Prérequis Prérequis
Install the required develop packages in Terminal: Install the required develop packages in Terminal:
32bit:
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with 32-bit:
setarch x86 pkgman install xcairo_x86_devel fribidi_x86_devel
gdk_pixbuf_x86_devel libiconv_x86_devel libimagequant_x86_devel
gettext_x86_libintl libpaper_x86_devel pango_x86_devel
libpng16_x86_devel librsvg_x86_devel libsdl2_x86_devel
sdl2_image_x86_devel sdl2_gfx_x86_devel sdl2_mixer_x86_devel
sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64-bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel
libiconv_devel libimagequant_devel gettext_libintl libpaper_devel
pango_devel libpng16_devel librsvg_devel libsdl2_devel
sdl2_image_devel sdl2_gfx_devel sdl2_mixer_devel sdl2_pango_devel
sdl2_ttf_devel zlib_devel
For 32-bit you need to switch to the new compiler (currently gcc 11.2.0)
with setarch x86
Building Building
cd tuxpaint-VERSION make PREFIX=/boot/home/config/non-packaged
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
Tux Paint Stamps Tux Paint Stamps
cd tuxpaint-stamps-VERSION make install-all
DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Débogage Débogage

View file

@ -289,6 +289,8 @@
<p> <p>
Tux Paint est publié sous la licence publique générale GNU (GPL) (voir "COPYING.txt" pour plus de détails), et donc le 'code source' du programme est disponible gratuitement. </p> Tux Paint est publié sous la licence publique générale GNU (GPL) (voir "COPYING.txt" pour plus de détails), et donc le 'code source' du programme est disponible gratuitement. </p>
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Windows --> <section class="indent"><!-- H2: Windows -->
<header> <header>
<h2> <h2>
@ -322,29 +324,29 @@
<p> <p>
Téléchargez le dernier environnement MSYS2 à partir de <a href="https://www.msys2.org/">https://www.msys2.org/</a> et installez-le où vous voulez (par défaut "<code>C:\msys64</code>") </p> Téléchargez le dernier environnement MSYS2 à partir de <a href="https://www.msys2.org/">https://www.msys2.org/</a> et installez-le où vous voulez (par défaut "<code>C:\msys64</code>") </p>
<p> <p>
Open the MSYS2 shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MSYS" and execute following command: <blockquote> Open the MSYS2 shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MSYS" and execute following command: <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote> This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
Sous le shell MSYS2, exécutez la commande suivante pour installer outils basiques pour le développement : <blockquote> Sous le shell MSYS2, exécutez la commande suivante pour installer outils basiques pour le développement : <blockquote>
<code> <code>
$ yes "" | pacman -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix $ <strong>yes</strong> "" | <strong>pacman</strong> -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
<i> <i>
Allez à la prochaine section "<a href="#64bit">chaînes d'outils MinGW 64bit (x86_64) </a>", ou bien à la section "<a href="#32bit">chaînes d'outils MinGW 32bit (i686)</a>" si vous ne voulez qu'un environnement de travail 32bit. </i> Allez à la prochaine section "<a href="#64bit">chaînes d'outils MinGW 64bit (x86_64) </a>", ou bien à la section "<a href="#32bit">chaînes d'outils MinGW 32bit (i686)</a>" si vous ne voulez qu'un environnement de travail 32bit. </i>
@ -363,7 +365,7 @@
<p> <p>
Sous le shell MSYS2, exécutez la commande suivante pour installer 64bit compiler and basic development tools : <blockquote> Sous le shell MSYS2, exécutez la commande suivante pour installer 64bit compiler and basic development tools : <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -384,8 +386,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -402,7 +404,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
Cette fois-ci, utilisez le shell MinGW "64bit". Ouvrez le shell depuis le "Menu de Démarrage" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" </p> This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -412,9 +414,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -430,9 +432,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -457,7 +459,7 @@
<p> <p>
Sous le shell MSYS2, exécutez la commande suivante pour installer 32bit compiler and basic development tools : <blockquote> Sous le shell MSYS2, exécutez la commande suivante pour installer 32bit compiler and basic development tools : <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-i686-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-i686-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -478,8 +480,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -496,7 +498,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
Cette fois-ci, utilisez le shell MinGW "32bit". Ouvrez le shell depuis le "Menu de Démarrage" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" </p> This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -506,9 +508,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -524,9 +526,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -553,7 +555,7 @@
<p> <p>
Ajoutez le chemin où ImageMagick est installé au début de votre variable d'environnement "PATH". Par exemple : <blockquote> Ajoutez le chemin où ImageMagick est installé au début de votre variable d'environnement "PATH". Par exemple : <blockquote>
<code> <code>
$ export PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH $ <strong>export</strong> PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -570,9 +572,9 @@
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p> You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p>
<ul> <ul>
<li> <li>
Choisissez "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" dans le "Menu de Démarrage" pour ouvrir le shell 64bit. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li>
<li> <li>
Choisissez "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" dans le "Menu de Démarrage" pour ouvrir le shell 32bit. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li>
</ul> </ul>
<section class="indent"><!-- H4: Tux Paint Config. --> <section class="indent"><!-- H4: Tux Paint Config. -->
@ -591,8 +593,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-config-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-config-A.B.C.tar.gz<br/>
$ mv tuxpaint-config-A.B.C tuxpaint-config<br/> $ <strong>mv</strong> tuxpaint-config-A.B.C tuxpaint-config<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -603,7 +605,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -614,8 +616,8 @@
<p> <p>
Now you can build Tux Paint Config. as follows: <blockquote> Now you can build Tux Paint Config. as follows: <blockquote>
<code> <code>
$ cd tuxpaint-config<br/> $ <strong>cd</strong> tuxpaint-config<br/>
$ make win32<br/> $ <strong>make</strong> win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -636,8 +638,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-A.B.C.tar.gz<br/>
$ mv tuxpaint-A.B.C tuxpaint<br/> $ <strong>mv</strong> tuxpaint-A.B.C tuxpaint<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -648,7 +650,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -659,8 +661,8 @@
<p> <p>
Now you can build Tux Paint as follows: <blockquote> Now you can build Tux Paint as follows: <blockquote>
<code> <code>
$ cd tuxpaint<br/> $ <strong>cd</strong> tuxpaint<br/>
$ make bdist-win32<br/> $ <strong>make</strong> bdist-win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -762,6 +764,8 @@
</section><!-- H3: If Something Goes Wrong --> </section><!-- H3: If Something Goes Wrong -->
</section><!-- H2: Windows --> </section><!-- H2: Windows -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Linux/Unux --> <section class="indent"><!-- H2: Linux/Unux -->
<header> <header>
<h2> <h2>
@ -784,7 +788,7 @@
<blockquote> <blockquote>
<code> <code>
$ make $ <strong>make</strong>
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Compiling --> </section><!-- H3: Compiling -->
@ -799,26 +803,11 @@
Pour désactiver le support de SVG (par ex. si votre système n'a pas de bibliothèque Cairo, ou d'autres choses dont SVG est dépendant), vous pouvez exécuter "<code>make</code>" avec "<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>" : Pour désactiver le support de SVG (par ex. si votre système n'a pas de bibliothèque Cairo, ou d'autres choses dont SVG est dépendant), vous pouvez exécuter "<code>make</code>" avec "<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>" :
<blockquote> <blockquote>
<code> <code>
$ make SVG_LIB= SVG_CFLAGS= $ <strong>make</strong> SVG_LIB= SVG_CFLAGS=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling SVG support... --> </section><!-- H3: Disabling SVG support... -->
<section class="indent"><!-- H3: Disabling Pango support... -->
<header>
<h3>
Désactivation du support Pango (donc des dépendances Pango, Cairo, etc ...) </h3>
</header>
<p class="note">
<span title="Version variation">&#128220;</span> Avant la version 0.9.18, Tuxpaint utilisait la bibliothèque <code>libSDL_ttf</code> pour gérer les fichiers utilisant les fontes True Type. Depuis la 09.18 <code>libSDL_Pango</code> est utilisée, car il permet un meilleur support pour l'internationalisation. Cependant, si vous voulez désactiver l'utilisation de SDL_Pango, vous pouvez le faire en exécutant "<code>make</code>" avec "<code>SDL_PANGO_LIB=</code>" : </p>
<blockquote>
<code>
$ make SDL_PANGO_LIB=
</code>
</blockquote>
</section><!-- H3: Disabling Pango support... -->
<section class="indent"><!-- H3: Disabling Sound at Compile-time --> <section class="indent"><!-- H3: Disabling Sound at Compile-time -->
<header> <header>
<h3> <h3>
@ -829,7 +818,7 @@
Si vous n'avez pas de carte son ou si vous préférez créer le programme sans support sonore (et donc sans dépendance <code>SDL_mixer</code>), vous pouvez exécuter "<code>make</code>" avec "<code>SDL_MIXER_LIB=</code>" comme paramètre : </p> Si vous n'avez pas de carte son ou si vous préférez créer le programme sans support sonore (et donc sans dépendance <code>SDL_mixer</code>), vous pouvez exécuter "<code>make</code>" avec "<code>SDL_MIXER_LIB=</code>" comme paramètre : </p>
<blockquote> <blockquote>
<code> <code>
$ make SDL_MIXER_LIB= $ <strong>make</strong> SDL_MIXER_LIB=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling Sound at Compile-time --> </section><!-- H3: Disabling Sound at Compile-time -->
@ -865,7 +854,7 @@
<blockquote> <blockquote>
<code> <code>
$ su $ <strong>su</strong>
</code> </code>
</blockquote> </blockquote>
@ -874,7 +863,7 @@
<blockquote> <blockquote>
<code> <code>
# make install # <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -883,7 +872,7 @@
<blockquote> <blockquote>
<code> <code>
# exit # <strong>exit</strong>
</code> </code>
</blockquote> </blockquote>
@ -892,7 +881,7 @@
<blockquote> <blockquote>
<code> <code>
$ sudo make install $ <strong>sudo make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -941,10 +930,12 @@
<p class="note"> <p class="note">
<span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p> <span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p>
</section class="indent"><!-- H4: Changing Where Things Go --> </section><!-- H4: Changing Where Things Go -->
</section><!-- H3: Installing --> </section><!-- H3: Installing -->
</section><!-- H2: Linux/Unux --> </section><!-- H2: Linux/Unux -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: macOS --> <section class="indent"><!-- H2: macOS -->
<header> <header>
<h2> <h2>
@ -970,7 +961,7 @@
<p> <p>
Bien Tux Paint puisse être construit sans Xcode IDE, ce dernier est toujours nécessaire. <a href="https://developer.apple.com/xcode/ide/">Téléchargez le = partir de l' the App Store</a>, et lancez le une fois pour accepter ses accords de licence. Vous pouvez aussi installer les outils de ligne de commande de Xcode en tapant la commande : <blockquote> Bien Tux Paint puisse être construit sans Xcode IDE, ce dernier est toujours nécessaire. <a href="https://developer.apple.com/xcode/ide/">Téléchargez le = partir de l' the App Store</a>, et lancez le une fois pour accepter ses accords de licence. Vous pouvez aussi installer les outils de ligne de commande de Xcode en tapant la commande : <blockquote>
<code> <code>
$ xcode-select --install $ <strong>xcode-select</strong> --install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1008,11 +999,11 @@
<p> <p>
<code>libimagequant</code> n'est pas disponible sur MacPorts à cette heure. Il peut être installé sur <code>/opt/local</code> (comme pour MacPorts) pour la bibliothèque devant être incluse dans <code>TuxPaint.dmg</code>. <blockquote> <code>libimagequant</code> n'est pas disponible sur MacPorts à cette heure. Il peut être installé sur <code>/opt/local</code> (comme pour MacPorts) pour la bibliothèque devant être incluse dans <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ sudo port install rust cargo<br/> $ <strong>sudo port</strong> install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/> $ <strong>git</strong> clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/> $ <strong>cd</strong> libimagequant/imagequant-sys<br/>
$ cargo build --release # Must use cargo from MacPorts<br/> $ <strong>cargo</strong> build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install $ <strong>sudo make</strong> PREFIX=/opt/local install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1028,9 +1019,9 @@
<p> <p>
<code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote> <code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango.git<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango.git<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install $ <strong>./configure</strong> --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1049,8 +1040,8 @@
<p> <p>
Tapez simplement : <blockquote> Tapez simplement : <blockquote>
<code> <code>
% make<br/> % <strong>make</strong><br/>
% make install % <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p> ... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p>
@ -1124,7 +1115,7 @@
<p> <p>
Then uninstall all MacPorts packages: <blockquote> Then uninstall all MacPorts packages: <blockquote>
<code> <code>
$ sudo port -fp uninstall installed $ <strong>sudo port</strong> -fp uninstall installed
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1144,14 +1135,14 @@
<p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote> <p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote>
<code> <code>
$ codesign -s - TuxPaint.app<br/> $ <strong>codesign</strong> -s - TuxPaint.app<br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p> <sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote> <p>If you get an error that the application bundle is already signed, remove it before signing: <blockquote>
<code> <code>
$ codesign --remove-signature TuxPaint.app $ <strong>codesign</strong> --remove-signature TuxPaint.app
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1167,9 +1158,9 @@
<p> <p>
To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote> To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote>
<code> <code>
$ macos/build-universal.sh<br/> $ <strong>macos/build-universal.sh</strong><br/>
$ codesign -s - TuxPaint.app <br/> $ <strong>codesign</strong> -s - TuxPaint.app <br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1177,6 +1168,8 @@
</section><!-- H2: macOS --> </section><!-- H2: macOS -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Android --> <section class="indent"><!-- H2: Android -->
<header> <header>
<h2> <h2>
@ -1242,15 +1235,17 @@
</section><!-- H2: Android --> </section><!-- H2: Android -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Haiku --> <section class="indent"><!-- H2: Haiku -->
<header> <header>
<h2> <h2>
<a name="compiling-macos" id="compiling-android"> <a name="compiling-macos" id="compiling-haiku">
Haiku </a> Haiku </a>
</h2> </h2>
<p style="font-size: small;"> <p style="font-size: small;">
<em> <em>
mai 6, 2023 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt; mai 7, 2023 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt;
(Edited by Bill Kendrick) (Edited by Bill Kendrick)
</em> </em>
</p> </p>
@ -1262,24 +1257,60 @@
Prérequis </h3> Prérequis </h3>
</header> </header>
<pre> <p>
Install the required develop packages in Terminal: Install the required develop packages in Terminal: <dl>
32bit: <dt>32-bit:</dt>
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel <dd>
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl <code>
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel <strong>pkgman</strong> install
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel xcairo_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel fribidi_x86_devel
64bit: gdk_pixbuf_x86_devel
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel libiconv_x86_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel libimagequant_x86_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel gettext_x86_libintl
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel libpaper_x86_devel
pango_x86_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with libpng16_x86_devel
setarch x86 librsvg_x86_devel
</pre> libsdl2_x86_devel
sdl2_image_x86_devel
sdl2_gfx_x86_devel
sdl2_mixer_x86_devel
sdl2_pango_x86_devel
sdl2_ttf_x86_devel
zlib_x86_devel
</code>
</dd>
<dt>64-bit:</dt>
<dd>
<code>
<strong>pkgman</strong> install
xcairo_devel
fribidi_devel
gdk_pixbuf_devel
libiconv_devel
libimagequant_devel
gettext_libintl
libpaper_devel
pango_devel
libpng16_devel
librsvg_devel
libsdl2_devel
sdl2_image_devel
sdl2_gfx_devel
sdl2_mixer_devel
sdl2_pango_devel
sdl2_ttf_devel
zlib_devel
</code>
</dd>
</dt>
</dl>
</p>
<p>
For 32-bit you need to switch to the new compiler (currently <code>gcc</code> 11.2.0) with <code>setarch x86</code> </p>
</section><!-- H3: Prerequisites --> </section><!-- H3: Prerequisites -->
<section class="indent"><!-- H3: Building --> <section class="indent"><!-- H3: Building -->
@ -1287,13 +1318,9 @@ setarch x86
<h3> <h3>
Building </h3> Building </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> PREFIX=/boot/home/config/non-packaged</code>
cd tuxpaint-VERSION </p>
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
</pre>
</section><!-- H3: Building --> </section><!-- H3: Building -->
<section class="indent"><!-- H3: Tux Paint Stamps --> <section class="indent"><!-- H3: Tux Paint Stamps -->
@ -1301,13 +1328,9 @@ make PREFIX=/boot/home/config/non-packaged
<h3> <h3>
Tux Paint Stamps </h3> Tux Paint Stamps </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/</code>
cd tuxpaint-stamps-VERSION </p>
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
</pre>
</section><!-- H3: Tux Paint Stamps --> </section><!-- H3: Tux Paint Stamps -->
</section><!-- H2: Haiku --> </section><!-- H2: Haiku -->

View file

@ -142,6 +142,8 @@ Simple DirectMedia Layer library (libSDL)
«COPYING.txt» para máis detalles) e, polo tanto, o «código fonte» do «COPYING.txt» para máis detalles) e, polo tanto, o «código fonte» do
programa está dispoñíbel libremente. programa está dispoñíbel libremente.
------------------------------------------------------------------
Windows Windows
10 de Xullo de 2022 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp> 10 de Xullo de 2022 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp>
@ -161,8 +163,8 @@ Windows
Download the latest MSYS2 environment from https://www.msys2.org/ and Download the latest MSYS2 environment from https://www.msys2.org/ and
install it where you'd like (the default is "C:\msys64") install it where you'd like (the default is "C:\msys64")
Open the MSYS2 shell from the "Start Menu" -> "MSYS2 64bit" -> "MSYS2 Open the MSYS2 shell from the "Start Menu" → "MSYS2 64bit" → "MSYS2 MSYS"
MSYS" and execute following command: and execute following command:
$ yes "" | pacman -Syu $ yes "" | pacman -Syu
@ -214,7 +216,7 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
This time, use the MinGW "64bit" shell. Open the shell from the "Start This time, use the MinGW "64bit" shell. Open the shell from the "Start
Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 64-bit"
SDL2_Pango SDL2_Pango
@ -272,7 +274,7 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
This time, use the MinGW "32bit" shell. Open the shell from the "Start This time, use the MinGW "32bit" shell. Open the shell from the "Start
Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 32-bit"
SDL2_Pango SDL2_Pango
@ -323,9 +325,9 @@ Windows
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit
binaries using "MSYS2 32bit" shell, respectively. binaries using "MSYS2 32bit" shell, respectively.
* Select "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" from the "Start Menu" to * Select "MSYS2 64bit" "MSYS2 MinGW 64-bit" from the "Start Menu" to
open the 64bit shell. open the 64bit shell.
* Select "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" from the "Start Menu" to * Select "MSYS2 64bit" "MSYS2 MinGW 32-bit" from the "Start Menu" to
open the 32bit shell. open the 32bit shell.
Tux Paint Config. Tux Paint Config.
@ -463,6 +465,8 @@ Windows
maiúsculas e minúsculas incorrectas (maiúsculas «Z» no canto de minúsculas maiúsculas e minúsculas incorrectas (maiúsculas «Z» no canto de minúsculas
«z») ou a falta (ou exceso) de «-» (guións). «z») ou a falta (ou exceso) de «-» (guións).
------------------------------------------------------------------
Linux/Unix Linux/Unix
Compilación: Compilación:
@ -486,17 +490,6 @@ Linux/Unix
$ make SVG_LIB= SVG_CFLAGS= $ make SVG_LIB= SVG_CFLAGS=
Desactivar a compatibilidade de «Pango» (e, polo tanto, as dependencias de
«Pango, Cairo, etc.»:
📜 Antes da versión 0.9.18, Tux Paint utilizaba a biblioteca libSDL_ttf
para renderizar texto usando tipos de letra TrueType. Dende o 0.9.18 úsase
libSDL_Pango, xa que ten unha mellor compatibilidade coa
internacionalización. Non obstante, se quere desactivar o uso de
SDL_Pango, pode facelo executando «make» engadindo «SDL_PANGO_LIB=»:
$ make SDL_PANGO_LIB=
Disabling Sound at Compile-time Disabling Sound at Compile-time
Se non te unha tarxeta de son ou prefire construír o programa sen Se non te unha tarxeta de son ou prefire construír o programa sen
@ -593,6 +586,8 @@ Linux/Unix
💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a 💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a
complete list. complete list.
------------------------------------------------------------------
macOS macOS
5 de Xuño de 2022 Mark Kim <markuskimius@gmail.com> 5 de Xuño de 2022 Mark Kim <markuskimius@gmail.com>
@ -781,7 +776,7 @@ macOS
https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper. https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper.
If you get an error that the application bundle is already signed, remove If you get an error that the application bundle is already signed, remove
it before signing:: it before signing:
$ codesign --remove-signature TuxPaint.app $ codesign --remove-signature TuxPaint.app
@ -804,6 +799,8 @@ macOS
$ codesign -s - TuxPaint.app $ codesign -s - TuxPaint.app
$ make TuxPaint.dmg $ make TuxPaint.dmg
------------------------------------------------------------------
Android Android
29 de Marzo de 2023 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited 29 de Marzo de 2023 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited
@ -867,42 +864,43 @@ Android
from the root of fdroiddata, run ../fdroidserver/fdroid build --server from the root of fdroiddata, run ../fdroidserver/fdroid build --server
org.tuxpaint:NNNN (NNNN = version, e.g. 9288) org.tuxpaint:NNNN (NNNN = version, e.g. 9288)
------------------------------------------------------------------
Haiku Haiku
6 de Maio de 2023 Luc Schrijvers <begasus@gmail.com> (Edited by Bill 7 de Maio de 2023 Luc Schrijvers <begasus@gmail.com> (Edited by Bill
Kendrick) Kendrick)
Prerequisites Prerequisites
Install the required develop packages in Terminal: Install the required develop packages in Terminal:
32bit:
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with 32-bit:
setarch x86 pkgman install xcairo_x86_devel fribidi_x86_devel
gdk_pixbuf_x86_devel libiconv_x86_devel libimagequant_x86_devel
gettext_x86_libintl libpaper_x86_devel pango_x86_devel
libpng16_x86_devel librsvg_x86_devel libsdl2_x86_devel
sdl2_image_x86_devel sdl2_gfx_x86_devel sdl2_mixer_x86_devel
sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64-bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel
libiconv_devel libimagequant_devel gettext_libintl libpaper_devel
pango_devel libpng16_devel librsvg_devel libsdl2_devel
sdl2_image_devel sdl2_gfx_devel sdl2_mixer_devel sdl2_pango_devel
sdl2_ttf_devel zlib_devel
For 32-bit you need to switch to the new compiler (currently gcc 11.2.0)
with setarch x86
Building Building
cd tuxpaint-VERSION make PREFIX=/boot/home/config/non-packaged
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
Tux Paint Stamps Tux Paint Stamps
cd tuxpaint-stamps-VERSION make install-all
DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Debugging Debugging

View file

@ -289,6 +289,8 @@
<p> <p>
Tux Paint publícase baixo a Licenza Pública Xeral de GNU (GPL) (consulte «COPYING.txt» para máis detalles) e, polo tanto, o «código fonte» do programa está dispoñíbel libremente. </p> Tux Paint publícase baixo a Licenza Pública Xeral de GNU (GPL) (consulte «COPYING.txt» para máis detalles) e, polo tanto, o «código fonte» do programa está dispoñíbel libremente. </p>
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Windows --> <section class="indent"><!-- H2: Windows -->
<header> <header>
<h2> <h2>
@ -322,29 +324,29 @@
<p> <p>
Download the latest MSYS2 environment from <a href="https://www.msys2.org/">https://www.msys2.org/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p> Download the latest MSYS2 environment from <a href="https://www.msys2.org/">https://www.msys2.org/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p>
<p> <p>
Open the MSYS2 shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MSYS" and execute following command: <blockquote> Open the MSYS2 shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MSYS" and execute following command: <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote> This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
Within the MSYS2 shell, run the following command to install basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix $ <strong>yes</strong> "" | <strong>pacman</strong> -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
<i> <i>
Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i> Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i>
@ -363,7 +365,7 @@
<p> <p>
Within the MSYS2 shell, run the following command to install 64bit compiler and basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install 64bit compiler and basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -384,8 +386,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -402,7 +404,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" </p> This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -412,9 +414,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -430,9 +432,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -457,7 +459,7 @@
<p> <p>
Within the MSYS2 shell, run the following command to install 32bit compiler and basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install 32bit compiler and basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-i686-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-i686-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -478,8 +480,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -496,7 +498,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" </p> This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -506,9 +508,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -524,9 +526,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -553,7 +555,7 @@
<p> <p>
Add the path to the directory in which ImageMagick is installed at the top of your "PATH" environment variable. For example: <blockquote> Add the path to the directory in which ImageMagick is installed at the top of your "PATH" environment variable. For example: <blockquote>
<code> <code>
$ export PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH $ <strong>export</strong> PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -570,9 +572,9 @@
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p> You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p>
<ul> <ul>
<li> <li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li>
<li> <li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li>
</ul> </ul>
<section class="indent"><!-- H4: Tux Paint Config. --> <section class="indent"><!-- H4: Tux Paint Config. -->
@ -591,8 +593,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-config-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-config-A.B.C.tar.gz<br/>
$ mv tuxpaint-config-A.B.C tuxpaint-config<br/> $ <strong>mv</strong> tuxpaint-config-A.B.C tuxpaint-config<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -603,7 +605,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -614,8 +616,8 @@
<p> <p>
Now you can build Tux Paint Config. as follows: <blockquote> Now you can build Tux Paint Config. as follows: <blockquote>
<code> <code>
$ cd tuxpaint-config<br/> $ <strong>cd</strong> tuxpaint-config<br/>
$ make win32<br/> $ <strong>make</strong> win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -636,8 +638,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-A.B.C.tar.gz<br/>
$ mv tuxpaint-A.B.C tuxpaint<br/> $ <strong>mv</strong> tuxpaint-A.B.C tuxpaint<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -648,7 +650,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -659,8 +661,8 @@
<p> <p>
Now you can build Tux Paint as follows: <blockquote> Now you can build Tux Paint as follows: <blockquote>
<code> <code>
$ cd tuxpaint<br/> $ <strong>cd</strong> tuxpaint<br/>
$ make bdist-win32<br/> $ <strong>make</strong> bdist-win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -762,6 +764,8 @@
</section><!-- H3: If Something Goes Wrong --> </section><!-- H3: If Something Goes Wrong -->
</section><!-- H2: Windows --> </section><!-- H2: Windows -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Linux/Unux --> <section class="indent"><!-- H2: Linux/Unux -->
<header> <header>
<h2> <h2>
@ -784,7 +788,7 @@
<blockquote> <blockquote>
<code> <code>
$ make $ <strong>make</strong>
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Compiling --> </section><!-- H3: Compiling -->
@ -799,26 +803,11 @@
Para desactivar a compatibilidade con SVG (por exemplo, se o seu sistema non é compatíbel coa biblioteca de Cairo ou outras dependencias relacionadas co SVG), pode executar «<code>make</code>» engadindo «<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>»: Para desactivar a compatibilidade con SVG (por exemplo, se o seu sistema non é compatíbel coa biblioteca de Cairo ou outras dependencias relacionadas co SVG), pode executar «<code>make</code>» engadindo «<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>»:
<blockquote> <blockquote>
<code> <code>
$ make SVG_LIB= SVG_CFLAGS= $ <strong>make</strong> SVG_LIB= SVG_CFLAGS=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling SVG support... --> </section><!-- H3: Disabling SVG support... -->
<section class="indent"><!-- H3: Disabling Pango support... -->
<header>
<h3>
Desactivar a compatibilidade de «Pango» (e, polo tanto, as dependencias de «Pango, Cairo, etc.»: </h3>
</header>
<p class="note">
<span title="Version variation">&#128220;</span> Antes da versión 0.9.18, Tux Paint utilizaba a biblioteca <code>libSDL_ttf</code> para renderizar texto usando tipos de letra TrueType. Dende o 0.9.18 úsase <code>libSDL_Pango</code>, xa que ten unha mellor compatibilidade coa internacionalización. Non obstante, se quere desactivar o uso de SDL_Pango, pode facelo executando «<code>make</code>» engadindo «<code>SDL_PANGO_LIB=</code>»: </p>
<blockquote>
<code>
$ make SDL_PANGO_LIB=
</code>
</blockquote>
</section><!-- H3: Disabling Pango support... -->
<section class="indent"><!-- H3: Disabling Sound at Compile-time --> <section class="indent"><!-- H3: Disabling Sound at Compile-time -->
<header> <header>
<h3> <h3>
@ -829,7 +818,7 @@
Se non te unha tarxeta de son ou prefire construír o programa sen asistencia de son (e polo tanto sen a dependencia <code>SDL_mixer</code>), pode executar «<code>make</code>» con «<code>SDL_MIXER_LIB=</code>» engadido: </p> Se non te unha tarxeta de son ou prefire construír o programa sen asistencia de son (e polo tanto sen a dependencia <code>SDL_mixer</code>), pode executar «<code>make</code>» con «<code>SDL_MIXER_LIB=</code>» engadido: </p>
<blockquote> <blockquote>
<code> <code>
$ make SDL_MIXER_LIB= $ <strong>make</strong> SDL_MIXER_LIB=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling Sound at Compile-time --> </section><!-- H3: Disabling Sound at Compile-time -->
@ -865,7 +854,7 @@
<blockquote> <blockquote>
<code> <code>
$ su $ <strong>su</strong>
</code> </code>
</blockquote> </blockquote>
@ -874,7 +863,7 @@
<blockquote> <blockquote>
<code> <code>
# make install # <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -883,7 +872,7 @@
<blockquote> <blockquote>
<code> <code>
# exit # <strong>exit</strong>
</code> </code>
</blockquote> </blockquote>
@ -892,7 +881,7 @@
<blockquote> <blockquote>
<code> <code>
$ sudo make install $ <strong>sudo make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -941,10 +930,12 @@
<p class="note"> <p class="note">
<span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p> <span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p>
</section class="indent"><!-- H4: Changing Where Things Go --> </section><!-- H4: Changing Where Things Go -->
</section><!-- H3: Installing --> </section><!-- H3: Installing -->
</section><!-- H2: Linux/Unux --> </section><!-- H2: Linux/Unux -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: macOS --> <section class="indent"><!-- H2: macOS -->
<header> <header>
<h2> <h2>
@ -970,7 +961,7 @@
<p> <p>
Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. <a href="https://developer.apple.com/xcode/ide/">Download it from the App Store</a>, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command: <blockquote> Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. <a href="https://developer.apple.com/xcode/ide/">Download it from the App Store</a>, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command: <blockquote>
<code> <code>
$ xcode-select --install $ <strong>xcode-select</strong> --install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1008,11 +999,11 @@
<p> <p>
<code>libimagequant</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote> <code>libimagequant</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ sudo port install rust cargo<br/> $ <strong>sudo port</strong> install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/> $ <strong>git</strong> clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/> $ <strong>cd</strong> libimagequant/imagequant-sys<br/>
$ cargo build --release # Must use cargo from MacPorts<br/> $ <strong>cargo</strong> build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install $ <strong>sudo make</strong> PREFIX=/opt/local install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1028,9 +1019,9 @@
<p> <p>
<code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote> <code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango.git<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango.git<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install $ <strong>./configure</strong> --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1049,8 +1040,8 @@
<p> <p>
Simply, run: <blockquote> Simply, run: <blockquote>
<code> <code>
% make<br/> % <strong>make</strong><br/>
% make install % <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p> ... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p>
@ -1124,7 +1115,7 @@
<p> <p>
Then uninstall all MacPorts packages: <blockquote> Then uninstall all MacPorts packages: <blockquote>
<code> <code>
$ sudo port -fp uninstall installed $ <strong>sudo port</strong> -fp uninstall installed
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1144,14 +1135,14 @@
<p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote> <p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote>
<code> <code>
$ codesign -s - TuxPaint.app<br/> $ <strong>codesign</strong> -s - TuxPaint.app<br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p> <sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote> <p>If you get an error that the application bundle is already signed, remove it before signing: <blockquote>
<code> <code>
$ codesign --remove-signature TuxPaint.app $ <strong>codesign</strong> --remove-signature TuxPaint.app
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1167,9 +1158,9 @@
<p> <p>
To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote> To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote>
<code> <code>
$ macos/build-universal.sh<br/> $ <strong>macos/build-universal.sh</strong><br/>
$ codesign -s - TuxPaint.app <br/> $ <strong>codesign</strong> -s - TuxPaint.app <br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1177,6 +1168,8 @@
</section><!-- H2: macOS --> </section><!-- H2: macOS -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Android --> <section class="indent"><!-- H2: Android -->
<header> <header>
<h2> <h2>
@ -1242,15 +1235,17 @@
</section><!-- H2: Android --> </section><!-- H2: Android -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Haiku --> <section class="indent"><!-- H2: Haiku -->
<header> <header>
<h2> <h2>
<a name="compiling-macos" id="compiling-android"> <a name="compiling-macos" id="compiling-haiku">
Haiku </a> Haiku </a>
</h2> </h2>
<p style="font-size: small;"> <p style="font-size: small;">
<em> <em>
6 de Maio de 2023 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt; 7 de Maio de 2023 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt;
(Edited by Bill Kendrick) (Edited by Bill Kendrick)
</em> </em>
</p> </p>
@ -1262,24 +1257,60 @@
Prerequisites </h3> Prerequisites </h3>
</header> </header>
<pre> <p>
Install the required develop packages in Terminal: Install the required develop packages in Terminal: <dl>
32bit: <dt>32-bit:</dt>
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel <dd>
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl <code>
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel <strong>pkgman</strong> install
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel xcairo_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel fribidi_x86_devel
64bit: gdk_pixbuf_x86_devel
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel libiconv_x86_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel libimagequant_x86_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel gettext_x86_libintl
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel libpaper_x86_devel
pango_x86_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with libpng16_x86_devel
setarch x86 librsvg_x86_devel
</pre> libsdl2_x86_devel
sdl2_image_x86_devel
sdl2_gfx_x86_devel
sdl2_mixer_x86_devel
sdl2_pango_x86_devel
sdl2_ttf_x86_devel
zlib_x86_devel
</code>
</dd>
<dt>64-bit:</dt>
<dd>
<code>
<strong>pkgman</strong> install
xcairo_devel
fribidi_devel
gdk_pixbuf_devel
libiconv_devel
libimagequant_devel
gettext_libintl
libpaper_devel
pango_devel
libpng16_devel
librsvg_devel
libsdl2_devel
sdl2_image_devel
sdl2_gfx_devel
sdl2_mixer_devel
sdl2_pango_devel
sdl2_ttf_devel
zlib_devel
</code>
</dd>
</dt>
</dl>
</p>
<p>
For 32-bit you need to switch to the new compiler (currently <code>gcc</code> 11.2.0) with <code>setarch x86</code> </p>
</section><!-- H3: Prerequisites --> </section><!-- H3: Prerequisites -->
<section class="indent"><!-- H3: Building --> <section class="indent"><!-- H3: Building -->
@ -1287,13 +1318,9 @@ setarch x86
<h3> <h3>
Building </h3> Building </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> PREFIX=/boot/home/config/non-packaged</code>
cd tuxpaint-VERSION </p>
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
</pre>
</section><!-- H3: Building --> </section><!-- H3: Building -->
<section class="indent"><!-- H3: Tux Paint Stamps --> <section class="indent"><!-- H3: Tux Paint Stamps -->
@ -1301,13 +1328,9 @@ make PREFIX=/boot/home/config/non-packaged
<h3> <h3>
Tux Paint Stamps </h3> Tux Paint Stamps </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/</code>
cd tuxpaint-stamps-VERSION </p>
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
</pre>
</section><!-- H3: Tux Paint Stamps --> </section><!-- H3: Tux Paint Stamps -->
</section><!-- H2: Haiku --> </section><!-- H2: Haiku -->

View file

@ -139,6 +139,8 @@ Simple DirectMedia Layer library (libSDL)
"COPYING.txt" for details), and therefore the 'source code' to the program "COPYING.txt" for details), and therefore the 'source code' to the program
is available freely. is available freely.
------------------------------------------------------------------
Windows Windows
2022年7月10日 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp> 2022年7月10日 Shin-ichi TOYAMA <dolphin6k@wmail.plala.or.jp>
@ -158,8 +160,8 @@ Windows
Download the latest MSYS2 environment from https://www.msys2.org/ and Download the latest MSYS2 environment from https://www.msys2.org/ and
install it where you'd like (the default is "C:\msys64") install it where you'd like (the default is "C:\msys64")
Open the MSYS2 shell from the "Start Menu" -> "MSYS2 64bit" -> "MSYS2 Open the MSYS2 shell from the "Start Menu" → "MSYS2 64bit" → "MSYS2 MSYS"
MSYS" and execute following command: and execute following command:
$ yes "" | pacman -Syu $ yes "" | pacman -Syu
@ -211,7 +213,7 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
This time, use the MinGW "64bit" shell. Open the shell from the "Start This time, use the MinGW "64bit" shell. Open the shell from the "Start
Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 64-bit"
SDL2_Pango SDL2_Pango
@ -269,7 +271,7 @@ Windows
SDL2_Pango and libunibreak should be installed manually. SDL2_Pango and libunibreak should be installed manually.
This time, use the MinGW "32bit" shell. Open the shell from the "Start This time, use the MinGW "32bit" shell. Open the shell from the "Start
Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" Menu" → "MSYS2 64bit" → "MSYS2 MinGW 32-bit"
SDL2_Pango SDL2_Pango
@ -320,9 +322,9 @@ Windows
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit
binaries using "MSYS2 32bit" shell, respectively. binaries using "MSYS2 32bit" shell, respectively.
* Select "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" from the "Start Menu" to * Select "MSYS2 64bit" "MSYS2 MinGW 64-bit" from the "Start Menu" to
open the 64bit shell. open the 64bit shell.
* Select "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" from the "Start Menu" to * Select "MSYS2 64bit" "MSYS2 MinGW 32-bit" from the "Start Menu" to
open the 32bit shell. open the 32bit shell.
Tux Paint Config. Tux Paint Config.
@ -460,6 +462,8 @@ Windows
due to incorrect character-case (capital 'Z' instead of lowercase 'z') or due to incorrect character-case (capital 'Z' instead of lowercase 'z') or
a missing (or extra) '-' (dash). a missing (or extra) '-' (dash).
------------------------------------------------------------------
Linux/Unix Linux/Unix
Compiling: Compiling:
@ -481,16 +485,6 @@ Linux/Unix
$ make SVG_LIB= SVG_CFLAGS= $ make SVG_LIB= SVG_CFLAGS=
Disabling Pango support (and hence Pango, Cairo, etc. dependencies):
📜 Prior to version 0.9.18, Tux Paint used the libSDL_ttf library for
rendering text using TrueType Fonts. Since 0.9.18, libSDL_Pango is used,
as it has much greater support for internationalization. However, if you
wish to disable the use of SDL_Pango, you may do so running "make" with
"SDL_PANGO_LIB=" added:
$ make SDL_PANGO_LIB=
Disabling Sound at Compile-time Disabling Sound at Compile-time
If you don't have a sound card, or would prefer to build the program with If you don't have a sound card, or would prefer to build the program with
@ -584,6 +578,8 @@ Linux/Unix
💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a 💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a
complete list. complete list.
------------------------------------------------------------------
macOS macOS
2022年6月 5日 Mark Kim <markuskimius@gmail.com> 2022年6月 5日 Mark Kim <markuskimius@gmail.com>
@ -772,7 +768,7 @@ macOS
https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper. https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper.
If you get an error that the application bundle is already signed, remove If you get an error that the application bundle is already signed, remove
it before signing:: it before signing:
$ codesign --remove-signature TuxPaint.app $ codesign --remove-signature TuxPaint.app
@ -795,6 +791,8 @@ macOS
$ codesign -s - TuxPaint.app $ codesign -s - TuxPaint.app
$ make TuxPaint.dmg $ make TuxPaint.dmg
------------------------------------------------------------------
Android Android
2023年3月29日 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited by Bill 2023年3月29日 Pere Pujal i Carabantes <perepujal@gmail.com> (Edited by Bill
@ -858,41 +856,42 @@ Android
from the root of fdroiddata, run ../fdroidserver/fdroid build --server from the root of fdroiddata, run ../fdroidserver/fdroid build --server
org.tuxpaint:NNNN (NNNN = version, e.g. 9288) org.tuxpaint:NNNN (NNNN = version, e.g. 9288)
------------------------------------------------------------------
Haiku Haiku
2023年5月 6日 Luc Schrijvers <begasus@gmail.com> (Edited by Bill Kendrick) 2023年5月 7日 Luc Schrijvers <begasus@gmail.com> (Edited by Bill Kendrick)
Prerequisites Prerequisites
Install the required develop packages in Terminal: Install the required develop packages in Terminal:
32bit:
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with 32-bit:
setarch x86 pkgman install xcairo_x86_devel fribidi_x86_devel
gdk_pixbuf_x86_devel libiconv_x86_devel libimagequant_x86_devel
gettext_x86_libintl libpaper_x86_devel pango_x86_devel
libpng16_x86_devel librsvg_x86_devel libsdl2_x86_devel
sdl2_image_x86_devel sdl2_gfx_x86_devel sdl2_mixer_x86_devel
sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel
64-bit:
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel
libiconv_devel libimagequant_devel gettext_libintl libpaper_devel
pango_devel libpng16_devel librsvg_devel libsdl2_devel
sdl2_image_devel sdl2_gfx_devel sdl2_mixer_devel sdl2_pango_devel
sdl2_ttf_devel zlib_devel
For 32-bit you need to switch to the new compiler (currently gcc 11.2.0)
with setarch x86
Building Building
cd tuxpaint-VERSION make PREFIX=/boot/home/config/non-packaged
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
Tux Paint Stamps Tux Paint Stamps
cd tuxpaint-stamps-VERSION make install-all
DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
Debugging Debugging

View file

@ -289,6 +289,8 @@
<p> <p>
Tux Paint is released under the GNU General Public License (GPL) (see "COPYING.txt" for details), and therefore the 'source code' to the program is available freely. </p> Tux Paint is released under the GNU General Public License (GPL) (see "COPYING.txt" for details), and therefore the 'source code' to the program is available freely. </p>
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Windows --> <section class="indent"><!-- H2: Windows -->
<header> <header>
<h2> <h2>
@ -322,29 +324,29 @@
<p> <p>
Download the latest MSYS2 environment from <a href="https://www.msys2.org/">https://www.msys2.org/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p> Download the latest MSYS2 environment from <a href="https://www.msys2.org/">https://www.msys2.org/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p>
<p> <p>
Open the MSYS2 shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MSYS" and execute following command: <blockquote> Open the MSYS2 shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MSYS" and execute following command: <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote> This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote>
<code> <code>
$ yes "" | pacman -Syu $ <strong>yes</strong> "" | <strong>pacman</strong> -Syu
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
Within the MSYS2 shell, run the following command to install basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix $ <strong>yes</strong> "" | <strong>pacman</strong> -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix
</code> </code>
</blockquote> </blockquote>
</p> </p>
<p> <p>
<i> <i>
Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i> Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i>
@ -363,7 +365,7 @@
<p> <p>
Within the MSYS2 shell, run the following command to install 64bit compiler and basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install 64bit compiler and basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -384,8 +386,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -402,7 +404,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" </p> This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -412,9 +414,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -430,9 +432,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw64 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -457,7 +459,7 @@
<p> <p>
Within the MSYS2 shell, run the following command to install 32bit compiler and basic development tools: <blockquote> Within the MSYS2 shell, run the following command to install 32bit compiler and basic development tools: <blockquote>
<code> <code>
$ yes "" | pacman -S mingw-w64-i686-{gcc,pkgconf,ntldd-git} $ <strong>yes</strong> "" | <strong>pacman</strong> -S mingw-w64-i686-{gcc,pkgconf,ntldd-git}
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -478,8 +480,8 @@
<p> <p>
<blockquote> <blockquote>
<code> <code>
$ pacman -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/> $ <strong>pacman</strong> -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -496,7 +498,7 @@
<p> <p>
SDL2_Pango and libunibreak should be installed manually. </p> SDL2_Pango and libunibreak should be installed manually. </p>
<p> <p>
This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" </p> This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" &rarr; "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" </p>
<section class="indent"><!-- H5: SDL2_Pango --> <section class="indent"><!-- H5: SDL2_Pango -->
<header> <header>
@ -506,9 +508,9 @@
<p> <p>
You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote> You can fetch the source code from the Mark K. Kim's git repositry, compile and install it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install<br/> $ <strong>./configure</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -524,9 +526,9 @@
<p> <p>
You can fetch the source code from the git repositry and compile it as follows. <blockquote> You can fetch the source code from the git repositry and compile it as follows. <blockquote>
<code> <code>
$ git clone https://github.com/adah1972/libunibreak libunibreak<br/> $ <strong>git</strong> clone https://github.com/adah1972/libunibreak libunibreak<br/>
$ cd libunibreak<br/> $ <strong>cd</strong> libunibreak<br/>
$ ./augogen.sh --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install $ <strong>./augogen.sh</strong> --prefix=/mingw32 &amp;&amp; <strong>make</strong> &amp;&amp; <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -553,7 +555,7 @@
<p> <p>
Add the path to the directory in which ImageMagick is installed at the top of your "PATH" environment variable. For example: <blockquote> Add the path to the directory in which ImageMagick is installed at the top of your "PATH" environment variable. For example: <blockquote>
<code> <code>
$ export PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH $ <strong>export</strong> PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -570,9 +572,9 @@
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p> You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p>
<ul> <ul>
<li> <li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li>
<li> <li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li> Select "MSYS2 64bit" &rarr; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li>
</ul> </ul>
<section class="indent"><!-- H4: Tux Paint Config. --> <section class="indent"><!-- H4: Tux Paint Config. -->
@ -591,8 +593,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-config-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-config-A.B.C.tar.gz<br/>
$ mv tuxpaint-config-A.B.C tuxpaint-config<br/> $ <strong>mv</strong> tuxpaint-config-A.B.C tuxpaint-config<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -603,7 +605,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -614,8 +616,8 @@
<p> <p>
Now you can build Tux Paint Config. as follows: <blockquote> Now you can build Tux Paint Config. as follows: <blockquote>
<code> <code>
$ cd tuxpaint-config<br/> $ <strong>cd</strong> tuxpaint-config<br/>
$ make win32<br/> $ <strong>make</strong> win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -636,8 +638,8 @@
<li> <li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote> Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code> <code>
$ tar zxvf tuxpaint-A.B.C.tar.gz<br/> $ <strong>tar</strong> zxvf tuxpaint-A.B.C.tar.gz<br/>
$ mv tuxpaint-A.B.C tuxpaint<br/> $ <strong>mv</strong> tuxpaint-A.B.C tuxpaint<br/>
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -648,7 +650,7 @@
<li> <li>
Fetch the developing source tree from git repository: <blockquote> Fetch the developing source tree from git repository: <blockquote>
<code> <code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint $ <strong>git</strong> clone https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint
</code> </code>
</blockquote> </blockquote>
</li> </li>
@ -659,8 +661,8 @@
<p> <p>
Now you can build Tux Paint as follows: <blockquote> Now you can build Tux Paint as follows: <blockquote>
<code> <code>
$ cd tuxpaint<br/> $ <strong>cd</strong> tuxpaint<br/>
$ make bdist-win32<br/> $ <strong>make</strong> bdist-win32<br/>
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -762,6 +764,8 @@
</section><!-- H3: If Something Goes Wrong --> </section><!-- H3: If Something Goes Wrong -->
</section><!-- H2: Windows --> </section><!-- H2: Windows -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Linux/Unux --> <section class="indent"><!-- H2: Linux/Unux -->
<header> <header>
<h2> <h2>
@ -784,7 +788,7 @@
<blockquote> <blockquote>
<code> <code>
$ make $ <strong>make</strong>
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Compiling --> </section><!-- H3: Compiling -->
@ -799,26 +803,11 @@
To disable SVG support (e.g., if your system is not currently supported by the Cairo library or other SVG-related dependencies), you can run "<code>make</code>" with "<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>" added: To disable SVG support (e.g., if your system is not currently supported by the Cairo library or other SVG-related dependencies), you can run "<code>make</code>" with "<code style="white-space: nowrap;">SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG</code>" added:
<blockquote> <blockquote>
<code> <code>
$ make SVG_LIB= SVG_CFLAGS= $ <strong>make</strong> SVG_LIB= SVG_CFLAGS=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling SVG support... --> </section><!-- H3: Disabling SVG support... -->
<section class="indent"><!-- H3: Disabling Pango support... -->
<header>
<h3>
Disabling Pango support (and hence Pango, Cairo, etc. dependencies): </h3>
</header>
<p class="note">
<span title="Version variation">&#128220;</span> Prior to version 0.9.18, Tux Paint used the <code>libSDL_ttf</code> library for rendering text using TrueType Fonts. Since 0.9.18, <code>libSDL_Pango</code> is used, as it has much greater support for internationalization. However, if you wish to disable the use of SDL_Pango, you may do so running "<code>make</code>" with "<code>SDL_PANGO_LIB=</code>" added: </p>
<blockquote>
<code>
$ make SDL_PANGO_LIB=
</code>
</blockquote>
</section><!-- H3: Disabling Pango support... -->
<section class="indent"><!-- H3: Disabling Sound at Compile-time --> <section class="indent"><!-- H3: Disabling Sound at Compile-time -->
<header> <header>
<h3> <h3>
@ -829,7 +818,7 @@
If you don't have a sound card, or would prefer to build the program with no sound support (and therefore without a the <code>SDL_mixer</code> dependency), you can run "<code>make</code>" with "<code>SDL_MIXER_LIB=</code>" added: </p> If you don't have a sound card, or would prefer to build the program with no sound support (and therefore without a the <code>SDL_mixer</code> dependency), you can run "<code>make</code>" with "<code>SDL_MIXER_LIB=</code>" added: </p>
<blockquote> <blockquote>
<code> <code>
$ make SDL_MIXER_LIB= $ <strong>make</strong> SDL_MIXER_LIB=
</code> </code>
</blockquote> </blockquote>
</section><!-- H3: Disabling Sound at Compile-time --> </section><!-- H3: Disabling Sound at Compile-time -->
@ -865,7 +854,7 @@
<blockquote> <blockquote>
<code> <code>
$ su $ <strong>su</strong>
</code> </code>
</blockquote> </blockquote>
@ -874,7 +863,7 @@
<blockquote> <blockquote>
<code> <code>
# make install # <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -883,7 +872,7 @@
<blockquote> <blockquote>
<code> <code>
# exit # <strong>exit</strong>
</code> </code>
</blockquote> </blockquote>
@ -892,7 +881,7 @@
<blockquote> <blockquote>
<code> <code>
$ sudo make install $ <strong>sudo make</strong> install
</code> </code>
</blockquote> </blockquote>
@ -941,10 +930,12 @@
<p class="note"> <p class="note">
<span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p> <span title="Information">&#128161;</span> <strong>Note:</strong> This list is out of date. See "<code>Makefile</code>" and "<code>Makefile-i18n</code>" for a complete list. </p>
</section class="indent"><!-- H4: Changing Where Things Go --> </section><!-- H4: Changing Where Things Go -->
</section><!-- H3: Installing --> </section><!-- H3: Installing -->
</section><!-- H2: Linux/Unux --> </section><!-- H2: Linux/Unux -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: macOS --> <section class="indent"><!-- H2: macOS -->
<header> <header>
<h2> <h2>
@ -970,7 +961,7 @@
<p> <p>
Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. <a href="https://developer.apple.com/xcode/ide/">Download it from the App Store</a>, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command: <blockquote> Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. <a href="https://developer.apple.com/xcode/ide/">Download it from the App Store</a>, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command: <blockquote>
<code> <code>
$ xcode-select --install $ <strong>xcode-select</strong> --install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1008,11 +999,11 @@
<p> <p>
<code>libimagequant</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote> <code>libimagequant</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ sudo port install rust cargo<br/> $ <strong>sudo port</strong> install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/> $ <strong>git</strong> clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/> $ <strong>cd</strong> libimagequant/imagequant-sys<br/>
$ cargo build --release # Must use cargo from MacPorts<br/> $ <strong>cargo</strong> build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install $ <strong>sudo make</strong> PREFIX=/opt/local install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1028,9 +1019,9 @@
<p> <p>
<code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote> <code>sdl2_pango</code> is not available from MacPorts as of this writing. It can be installed from the source code as follows. It should be installed to <code>/opt/local</code> (same as MacPorts) for the library to be included in <code>TuxPaint.dmg</code>. <blockquote>
<code> <code>
$ git clone https://github.com/markuskimius/SDL2_Pango.git<br/> $ <strong>git</strong> clone https://github.com/markuskimius/SDL2_Pango.git<br/>
$ cd SDL2_Pango<br/> $ <strong>cd</strong> SDL2_Pango<br/>
$ ./configure --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install $ <strong>./configure</strong> --prefix=/opt/local &amp;&amp; make &amp;&amp; sudo make install
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1049,8 +1040,8 @@
<p> <p>
Simply, run: <blockquote> Simply, run: <blockquote>
<code> <code>
% make<br/> % <strong>make</strong><br/>
% make install % <strong>make</strong> install
</code> </code>
</blockquote> </blockquote>
... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p> ... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. To create the DMG file for distribution, use 'make TuxPaint.dmg'. </p>
@ -1124,7 +1115,7 @@
<p> <p>
Then uninstall all MacPorts packages: <blockquote> Then uninstall all MacPorts packages: <blockquote>
<code> <code>
$ sudo port -fp uninstall installed $ <strong>sudo port</strong> -fp uninstall installed
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1144,14 +1135,14 @@
<p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote> <p>macOS for Apple Silicon requires all native Apple Silicon applications be signed, even if it is signed "ad-hoc" (anonymously). Because of this, compilers that produce native Apple Silicon applications sign all produced binaries and libraries as a part of the compilation process.<sup>*</sup> However, the Tux Paint compilation process modifies the libraries to be modular (using <code>install_name_tool</code>) so they can be added into the application bundle, which has the unfortunate side effect of breaking the signature. This can be addressed by signing the application bundle ad-hoc (example below) or using your own Apple Developer Identity if you have one. The DMG file, if needed, must be created after signing the App Bundle so the DMG file is created with signed App Bundle: <blockquote>
<code> <code>
$ codesign -s - TuxPaint.app<br/> $ <strong>codesign</strong> -s - TuxPaint.app<br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p> <sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see <a href="https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper">https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper</a>. </p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote> <p>If you get an error that the application bundle is already signed, remove it before signing: <blockquote>
<code> <code>
$ codesign --remove-signature TuxPaint.app $ <strong>codesign</strong> --remove-signature TuxPaint.app
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1167,9 +1158,9 @@
<p> <p>
To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote> To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel CPU and the Apple Silicon separately first. Then rename the app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the Apple Silicon machine, then use the provided <code>build-universal.sh</code> script to combine the two application bundles as below. The produced bundle must be signed (see "Building for Apple Silicon" above for more details). The DMG file, if required, must be built after the signing: <blockquote>
<code> <code>
$ macos/build-universal.sh<br/> $ <strong>macos/build-universal.sh</strong><br/>
$ codesign -s - TuxPaint.app <br/> $ <strong>codesign</strong> -s - TuxPaint.app <br/>
$ make TuxPaint.dmg $ <strong>make</strong> TuxPaint.dmg
</code> </code>
</blockquote> </blockquote>
</p> </p>
@ -1177,6 +1168,8 @@
</section><!-- H2: macOS --> </section><!-- H2: macOS -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Android --> <section class="indent"><!-- H2: Android -->
<header> <header>
<h2> <h2>
@ -1242,15 +1235,17 @@
</section><!-- H2: Android --> </section><!-- H2: Android -->
<hr size="2" noshade width="90%" />
<section class="indent"><!-- H2: Haiku --> <section class="indent"><!-- H2: Haiku -->
<header> <header>
<h2> <h2>
<a name="compiling-macos" id="compiling-android"> <a name="compiling-macos" id="compiling-haiku">
Haiku </a> Haiku </a>
</h2> </h2>
<p style="font-size: small;"> <p style="font-size: small;">
<em> <em>
2023年5月 6日 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt; 2023年5月 7日 Luc Schrijvers &lt;<a href="mailto:begasus@gmail.com">begasus@gmail.com</a>&gt;
(Edited by Bill Kendrick) (Edited by Bill Kendrick)
</em> </em>
</p> </p>
@ -1262,24 +1257,60 @@
Prerequisites </h3> Prerequisites </h3>
</header> </header>
<pre> <p>
Install the required develop packages in Terminal: Install the required develop packages in Terminal: <dl>
32bit: <dt>32-bit:</dt>
pkgman install xcairo_x86_devel fribidi_x86_devel gdk_pixbuf_x86_devel <dd>
libiconv_x86_devel libimagequant_x86_devel gettext_x86_libintl <code>
libpaper_x86_devel pango_x86_devel libpng16_x86_devel librsvg_x86_devel <strong>pkgman</strong> install
libsdl2_x86_devel sdl2_image_x86_devel sdl2_gfx_x86_devel xcairo_x86_devel
sdl2_mixer_x86_devel sdl2_pango_x86_devel sdl2_ttf_x86_devel zlib_x86_devel fribidi_x86_devel
64bit: gdk_pixbuf_x86_devel
pkgman install xcairo_devel fribidi_devel gdk_pixbuf_devel libiconv_devel libiconv_x86_devel
libimagequant_devel gettext_libintl libpaper_devel pango_devel libimagequant_x86_devel
libpng16_devel librsvg_devel libsdl2_devel sdl2_image_devel sdl2_gfx_devel gettext_x86_libintl
sdl2_mixer_devel sdl2_pango_devel sdl2_ttf_devel zlib_devel libpaper_x86_devel
pango_x86_devel
For 32bit you need to swith to the new compiler (currently gcc 11.2.0) with libpng16_x86_devel
setarch x86 librsvg_x86_devel
</pre> libsdl2_x86_devel
sdl2_image_x86_devel
sdl2_gfx_x86_devel
sdl2_mixer_x86_devel
sdl2_pango_x86_devel
sdl2_ttf_x86_devel
zlib_x86_devel
</code>
</dd>
<dt>64-bit:</dt>
<dd>
<code>
<strong>pkgman</strong> install
xcairo_devel
fribidi_devel
gdk_pixbuf_devel
libiconv_devel
libimagequant_devel
gettext_libintl
libpaper_devel
pango_devel
libpng16_devel
librsvg_devel
libsdl2_devel
sdl2_image_devel
sdl2_gfx_devel
sdl2_mixer_devel
sdl2_pango_devel
sdl2_ttf_devel
zlib_devel
</code>
</dd>
</dt>
</dl>
</p>
<p>
For 32-bit you need to switch to the new compiler (currently <code>gcc</code> 11.2.0) with <code>setarch x86</code> </p>
</section><!-- H3: Prerequisites --> </section><!-- H3: Prerequisites -->
<section class="indent"><!-- H3: Building --> <section class="indent"><!-- H3: Building -->
@ -1287,13 +1318,9 @@ setarch x86
<h3> <h3>
Building </h3> Building </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> PREFIX=/boot/home/config/non-packaged</code>
cd tuxpaint-VERSION </p>
Now build Tux Paint:
make PREFIX=/boot/home/config/non-packaged
</pre>
</section><!-- H3: Building --> </section><!-- H3: Building -->
<section class="indent"><!-- H3: Tux Paint Stamps --> <section class="indent"><!-- H3: Tux Paint Stamps -->
@ -1301,13 +1328,9 @@ make PREFIX=/boot/home/config/non-packaged
<h3> <h3>
Tux Paint Stamps </h3> Tux Paint Stamps </h3>
</header> </header>
<p>
<pre> <code><strong>make</strong> install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/</code>
cd tuxpaint-stamps-VERSION </p>
Install the stamps:
make install-all DATA_PREFIX=/boot/home/config/non-packaged/share/tuxpaint/
</pre>
</section><!-- H3: Tux Paint Stamps --> </section><!-- H3: Tux Paint Stamps -->
</section><!-- H2: Haiku --> </section><!-- H2: Haiku -->