Step 1 of Merging branch 'master' into sdl2.0 in a try to minimize conflicts

This commit is contained in:
Pere Pujal i Carabantes 2022-01-28 22:50:04 +01:00
commit 4107ae3ecd
161 changed files with 16716 additions and 11237 deletions

View file

@ -7,25 +7,40 @@ Various contributors (see below, and AUTHORS.txt)
http://www.tuxpaint.org/
2022.January.20 (0.9.28)
2022.January.24 (0.9.28)
* Improvements to "Paint" and "Lines" tools:
------------------------------------------
* Brush spacing may now be altered within Tux Paint.
+ Note: A "nobrushspacing" simplifcation option is provided to
disable this feature; Tux Paint will continue using the brushes'
default spacings.
Bill Kendrick <bill@newbreedsoftware.com>
* Many brushes have been given more reasonable default spacing
settings (e.g., star brush's new default spacing causes
individual stars to appear, rather than a 'smear').
Closes https://sourceforge.net/p/tuxpaint/bugs/243/
(h/t Areti Tsolakidou for the suggestion)
Bill Kendrick <bill@newbreedsoftware.com>
* Improvements to "Eraser" tool:
------------------------------
* Outline for circle-shaped erasers is now also circular.
Closes https://sourceforge.net/p/tuxpaint/bugs/244/
(h/t Areti Tsolakidou for the suggestion)
Bill Kendrick <bill@newbreedsoftware.com>
* Improvements to "Shapes" tool:
------------------------------
* Added hexagon (6-sided polygon) and heptagon (7-sided) shapes.
Bill Kendrick <bill@newbreedsoftware.com>
* Showing aspect ratio of shapes when stretching them.
Bill Kendrick <bill@newbreedsoftware.com>
* Using floats more, allowing for proper heptagon support, as
well as a non-skewed starting angle for octagons (22.5 degrees).
Bill Kendrick <bill@newbreedsoftware.com>
* Localization Updates:
---------------------
@ -37,6 +52,7 @@ http://www.tuxpaint.org/
* Updated `src/po/check_translations.sh` sanity-checking script
so it properly finds the updated docs & other changes.
Bill Kendrick <bill@newbreedsoftware.com>
* Bug Fixes:
----------
@ -54,12 +70,20 @@ http://www.tuxpaint.org/
(useful for automated installation/uninsta$llation processes).
TOYAMA Shin-ichi <shin1@wmail.plala.or.jp>
* On macOS, use the CMD (⌘) key wherever CTRL is used on other OSes
Mark Kim <markuskimius@gmail.com>
* Use character class in macOS build script
(It appears \t is not compatible with certain versions of grep.)
Mark K. Kim <markuskimius@gmail.com>
Mark Kim <markuskimius@gmail.com>
* Remove install stages not needed on macOS
Mark K. Kim <markuskimius@gmail.com>
Mark Kim <markuskimius@gmail.com>
* Documentation updates:
---------------------
* macOS Apple Silicon and Universal Binary build instructions
Mark Kim <markuskimius@gmail.com>
2021.November.25 (0.9.27)

View file

@ -590,7 +590,7 @@ Compiling and Installation
macOS Users
September 21, 2021 Mark K. Kim <markuskimius@gmail.com>
January 20, 2022 Mark Kim <markuskimius@gmail.com>
Tux Paint 0.9.22 and earlier required building Tux Paint from the
Xcode IDE. Starting with 0.9.23, however, Tux Paint for macOS is built
@ -640,7 +640,7 @@ Compiling and Installation
$ sudo port install rust cargo
$ git clone https://github.com/ImageOptim/libimagequant.git
$ cd libimagequant/imagequant-sys
$ cargo build --release
$ cargo build --release # Must use cargo from MacPorts
$ sudo make PREFIX=/opt/local install
WARNING: Having any UNIX-like toolset installed on your Mac besides
@ -658,8 +658,11 @@ Compiling and Installation
% make install
... to create the TuxPaint.app application bundle that can be run
in-place or copied to /Applications. It also creates TuxPaint.dmg
for distribution.
in-place or copied to /Applications. To create the DMG file for
distribution, use 'make TuxPaint.dmg'.
Additional steps may be required when building for the Apple
Silicon. See "Building for Apple Silicon" below.
-------------------------------------------------------
@ -675,6 +678,12 @@ Compiling and Installation
on how to obtain, install, and build Tux Paint on an old version
of macOS.
Alternatively, Tux Paint and all of its library dependencies may
be compiled with appropriate options to be runnable on older
versions of macOS. These options are already set on Tux Paint,
so only its dependencies (from MacPorts) need to be recompiled.
See "Recompiling MacPorts" below for the instructions.
-------------------------------------------------------
Old Versions of macOS
@ -682,12 +691,19 @@ Compiling and Installation
Some old versions of macOS can be downloaded from Apple's support
page: https://support.apple.com/en-us/HT211683
macOS does allow dual booting of multiple versions of the OS, but
it's safer and easier to install the old macOS onto a flash drive.
Wherever you're installing it, the target drive's partitioniong
scheme and partition type must match what the old macOS expects, so
use the Disk Utility to partition and format the flash drive
accordingly.
macOS for Intel CPU does allow dual booting of multiple versions of
the OS, but it's safer and easier to install the old macOS onto a
flash drive. Wherever you're installing it, the target drive's
partitioniong scheme and partition type must match what the old
macOS expects, so use the Disk Utility to partition and format the
flash drive accordingly.
Dual booting multiple versions of macOS for Apple Silicon has been
so far unsuccessful. Instead of installing an older version of macOS
for Apple Silicon to build Tux Paint to run on the old version of
macOS for Apple Silicon, use the instructions found in the
"Recompiling MacPorts" section to build Tux Paint to run on older
versions of macOS for Apple Silicon.
As of this writing, the oldest version of macOS available on Apple's
support site is Yosemite 10.10, which expects "GPT (GUID Partition
@ -700,10 +716,6 @@ Compiling and Installation
using the instructions found here:
https://support.apple.com/en-mide/HT201372
It has been found that macOS can be installed onto the bootable
media itself, so you can make the flash drive into a bootable
installer then install the old macOS onto the same flash drive.
Once the old macOS is installed, you may find the Xcode on the App
Store is too new to run on the version of the old macOS. Old
versions of Xcode can be downloaded from Apple's Developer site in
@ -719,6 +731,79 @@ Compiling and Installation
--install") but otherwise build Tux Paint using the same steps
described in the earlier part of this document.
Recompiling MacPorts
To recompile MacPorts to be usable on older versions of macOS, set
the following options in /opt/local/etc/macports/macports.conf:
buildfromsource always
macosx_deployment_target 10.10
Then uninstall all MacPorts packages:
$ sudo port -fp uninstall installed
Then reinstall all MacPorts packages needed by Tux Paint. Also
rebuild libimagequant using the updated Cargo package from MacPorts.
As of this writing, all libraries Tux Paint requires from MacPorts
can be recompiled in this manner to run on macOS 10.10 Yosemite and
later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple
Silicon. Unfortunately, although MacPorts has the option to enable
the building of universal libraries, several libraries Tux Paint
require cannot be built as universal libraries so they can only be
built to run natively on the hardware on which they were built. See
"Building a Universal Binary" below for instructions on how to build
Tux Paint as a Universal Binary.
Building for Apple Silicon
macOS for Applie 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.^* However, the Tux Paint compilation
process modifies the libraries to be modular (using
install_name_tool) 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:
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
^* For more information on the code signing requirements on the
Apple Silicon, see
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 it before signing::
$ codesign --remove-signature TuxPaint.app
If you plan to combine the Apple Silicon bundle with the Intel CPU
bundle to produce the Universal bundle, the code signing must be
done after they are combined. See "Building a Universal Binary"
below.
Building a Universal Binary
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 build-universal.sh 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:
$ macos/build-universal.sh
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
----------------------------------------------------------------------
Debugging

View file

@ -7,7 +7,7 @@
https://tuxpaint.org/
@TuxPaintTweets on Twitter
January 20, 2022
January 21, 2022
----------------------------------------------------------------------
@ -365,6 +365,12 @@ Available Tools
or taller than wide), others cannot (e.g., square and
circle).
For shapes that can change proportion, the aspect ratio of
the shape will be shown at the bottom. For example: "1:1"
will be shown if it is "square" (as tall as it is wide);
"2:1" if it is either twice as wide as it is tall, or twice
as tall as it is wide; and so on.
Let go of the mouse when you're done stretching.
Normal Shapes Mode
@ -535,8 +541,8 @@ Available Tools
Clicking this tool will undo the last drawing action. You
can even undo more than once!
Note: You can also press [Control] + [Z] on the keyboard to
Undo.
Note: You can also press [Control / ⌘] + [Z] on the keyboard
to Undo.
----------------------------------------------------------------------
@ -548,8 +554,8 @@ Available Tools
As long as you don't draw again, you can redo as many times
as you had undone!
Note: You can also press [Control] + [R] on the keyboard to
Redo.
Note: You can also press [Control / ⌘] + [R] on the keyboard
to Redo.
----------------------------------------------------------------------
@ -561,8 +567,8 @@ Available Tools
'Template' image (see below). You will first be asked
whether you really want to do this.
Note: You can also press [Control] + [N] on the keyboard to
start a new drawing.
Note: You can also press [Control / ⌘] + [N] on the keyboard
to start a new drawing.
'Starter' & Template Images
@ -629,8 +635,8 @@ Available Tools
been saved, you will be prompted as to whether you want to
save it or not. (See "Save," below.)
Note: You can also press [Control] + [O] on the keyboard to
bring up the 'Open' dialog.
Note: You can also press [Control / ⌘] + [O] on the keyboard
to bring up the 'Open' dialog.
----------------------------------------------------------------------
@ -655,8 +661,8 @@ Available Tools
set, it won't ask before saving over. See the "Options"
documentation.
Note: You can also press [Control] + [S] on the keyboard to
save.
Note: You can also press [Control / ⌘] + [S] on the keyboard
to save.
----------------------------------------------------------------------
@ -867,7 +873,7 @@ Available Tools
sequence may be used to quit.
If neither of those are possible, the key sequence of
[Shift] + [Control] + [Escape] may be used to quit.
[Shift] + [Control / ⌘] + [Escape] may be used to quit.
See the "Options" documentation.

View file

@ -751,7 +751,7 @@
</h3>
<p style="font-size: small;">
<em>
September 21, 2021 Mark K. Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
January 20, 2022 Mark Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
</em>
</p>
@ -800,7 +800,7 @@
$ sudo port install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/>
$ cargo build --release<br/>
$ cargo build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install
</code>
</blockquote>
@ -823,7 +823,10 @@
% make install
</code>
</blockquote>
... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. It also creates <code>TuxPaint.dmg</code> for distribution. </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>
<p>
Additional steps may be required when building for the Apple Silicon. See "Building for Apple Silicon" below. </p>
</blockquote>
<hr size="1" noshade width="75%" />
@ -834,7 +837,9 @@
<li>
A macOS binary built on a specific version of macOS only runs on that version of macOS or later. To ensure Tux Paint can run on the oldest version of macOS possible, build it on the oldest version of macOS available. As of this writing we know Tux Paint cannot be built to run on macOS 10.7 or earlier.<br/>
<br/>
See "Old Versions of macOS" below for best-effort instructions on how to obtain, install, and build Tux Paint on an old version of macOS. </li>
See "Old Versions of macOS" below for best-effort instructions on how to obtain, install, and build Tux Paint on an old version of macOS.<br/>
<br/>
Alternatively, Tux Paint and all of its library dependencies may be compiled with appropriate options to be runnable on older versions of macOS. These options are already set on Tux Paint, so only its dependencies (from MacPorts) need to be recompiled. See "Recompiling MacPorts" below for the instructions. </li>
</ul>
</blockquote>
@ -846,7 +851,10 @@
Some old versions of macOS can be downloaded from Apple's support page: <a href="https://support.apple.com/en-us/HT211683">https://support.apple.com/en-us/HT211683</a> </p>
<p>
macOS does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly. </p>
macOS for Intel CPU does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly. </p>
<p>
Dual booting multiple versions of macOS for Apple Silicon has been so far unsuccessful. Instead of installing an older version of macOS for Apple Silicon to build Tux Paint to run on the old version of macOS for Apple Silicon, use the instructions found in the "Recompiling MacPorts" section to build Tux Paint to run on older versions of macOS for Apple Silicon. </p>
<p>
As of this writing, the oldest version of macOS available on Apple's support site is Yosemite 10.10, which expects "GPT (GUID Partition Table)" partitioning scheme instead of the older MBR scheme, and "Mac OS Extended (Journaled)" as the partition type instead of the newer APFS partition type. </p>
@ -854,9 +862,6 @@
<p>
Upon launching the installer, if you get a popup about macOS being too old or new to be installed, a bootable installer can be created using the instructions found here: <a href="https://support.apple.com/en-mide/HT201372">https://support.apple.com/en-mide/HT201372</a> </p>
<p>
It has been found that macOS can be installed onto the bootable media itself, so you can make the flash drive into a bootable installer then install the old macOS onto the same flash drive. </p>
<p>
Once the old macOS is installed, you may find the Xcode on the App Store is too new to run on the version of the old macOS. Old versions of Xcode can be downloaded from Apple's Developer site in an area accessible with free registration: <a href="https://developer.apple.com/download/more/">https://developer.apple.com/download/more/</a> </p>
@ -868,6 +873,64 @@
</blockquote>
<h4>Recompiling MacPorts</h4>
<blockquote>
<p>
To recompile MacPorts to be usable on older versions of macOS, set the following options in <code style="white-space: nowrap;">/opt/local/etc/macports/macports.conf</code>: <blockquote>
<code>
buildfromsource always<br/>
macosx_deployment_target 10.10
</code>
</blockquote>
</p>
<p>
Then uninstall all MacPorts packages: <blockquote>
<code>
$ sudo port -fp uninstall installed
</code>
</blockquote>
</p>
<p>
Then reinstall all MacPorts packages needed by Tux Paint. Also rebuild libimagequant using the updated Cargo package from MacPorts. </p>
<p>
As of this writing, all libraries Tux Paint requires from MacPorts can be recompiled in this manner to run on macOS 10.10 Yosemite and later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple Silicon. Unfortunately, although MacPorts has the option to enable the building of universal libraries, several libraries Tux Paint require cannot be built as universal libraries so they can only be built to run natively on the hardware on which they were built. See "Building a Universal Binary" below for instructions on how to build Tux Paint as a Universal Binary. </p>
</blockquote>
<h4>Building for Apple Silicon</h4>
<blockquote>
<p>macOS for Applie 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>
$ codesign -s - TuxPaint.app<br/>
$ make TuxPaint.dmg
</code>
</blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see 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.
</p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote>
<code>
$ codesign --remove-signature TuxPaint.app
</code>
</blockquote>
</p>
<p>If you plan to combine the Apple Silicon bundle with the Intel CPU bundle to produce the Universal bundle, the code signing must be done after they are combined. See "Building a Universal Binary" below. </p>
</blockquote>
<h4>Building a Universal Binary</h4>
<blockquote>
<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>
<code>
$ macos/build-universal.sh<br/>
$ codesign -s - TuxPaint.app <br/>
$ make TuxPaint.dmg
</code>
</blockquote>
</p>
</blockquote>
</blockquote>
</blockquote>

View file

@ -29,7 +29,7 @@
</p>
<p>
January 20, 2022 </p>
January 21, 2022 </p>
</center>
<hr size="2"
@ -589,6 +589,9 @@
<p>
In the canvas, click the mouse and hold it to stretch the shape out from where you clicked. Some shapes can change proportion (e.g., rectangle and oval may be wider than tall, or taller than wide), others cannot (e.g., square and circle). </p>
<p>
For shapes that can change proportion, the aspect ratio of the shape will be shown at the bottom. For example: "1:1" will be shown if it is "square" (as tall as it is wide); "2:1" if it is either twice as wide as it is tall, or twice as tall as it is wide; and so on. </p>
<p>
Let go of the mouse when you're done stretching. </p>
@ -807,7 +810,7 @@
Clicking this tool will undo the last drawing action. You can even undo more than once! </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[Z]</b></code> on the keyboard to Undo. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[Z]</b></code> on the keyboard to Undo. </p>
<br clear="all">
<hr size="1">
@ -830,7 +833,7 @@
As long as you don't draw again, you can redo as many times as you had undone! </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[R]</b></code> on the keyboard to Redo. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[R]</b></code> on the keyboard to Redo. </p>
<br clear="all">
<hr size="1">
@ -850,7 +853,7 @@
Clicking the 'New' button will start a new drawing. A dialog will appear where you may choose to start a new picture using a solid background color, or using a 'Starter' or 'Template' image (see below). You will first be asked whether you really want to do this. </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[N]</b></code> on the keyboard to start a new drawing. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[N]</b></code> on the keyboard to start a new drawing. </p>
<strong>'Starter' &amp; Template Images</strong>
<blockquote>
<p>
@ -963,7 +966,7 @@
If choose to open a picture, and your current drawing hasn't been saved, you will be prompted as to whether you want to save it or not. (See "<a href="#save">Save</a>," below.) </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[O]</b></code> on the keyboard to bring up the 'Open' dialog. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[O]</b></code> on the keyboard to bring up the 'Open' dialog. </p>
<br clear="all">
<hr size="1">
@ -1003,7 +1006,7 @@
<strong>Note:</strong> If either the "<code>saveover</code>" or "<code>saveovernew</code>" options are set, it won't ask before saving over. See the "<a href="OPTIONS.html"><em>Options</em></a>" documentation. </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[S]</b></code> on the keyboard to save. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[S]</b></code> on the keyboard to save. </p>
<br clear="all">
<hr size="1">
@ -1255,7 +1258,7 @@
In that case, the "window close" button on Tux Paint's title bar (if not in fullscreen mode) or the <b><code>[Alt]</code></b> + <b><code>[F4]</code></b> key sequence may be used to quit. </p>
<p>
If neither of those are possible, the key sequence of <b><code>[Shift]</code></b> + <b><code>[Control]</code></b> + <b><code>[Escape]</code></b> may be used to quit. </p>
If neither of those are possible, the key sequence of <b><code>[Shift]</code></b> + <b><code>[Control / &#8984;]</code></b> + <b><code>[Escape]</code></b> may be used to quit. </p>
<p>
See the "<a href="OPTIONS.html"><em>Options</em></a>" documentation. </p>

View file

@ -590,7 +590,7 @@ Compiling and Installation
macOS Users
septiembre 21, 2021 Mark K. Kim <markuskimius@gmail.com>
enero 20, 2022 Mark Kim <markuskimius@gmail.com>
Tux Paint 0.9.22 and earlier required building Tux Paint from the
Xcode IDE. Starting with 0.9.23, however, Tux Paint for macOS is built
@ -640,7 +640,7 @@ Compiling and Installation
$ sudo port install rust cargo
$ git clone https://github.com/ImageOptim/libimagequant.git
$ cd libimagequant/imagequant-sys
$ cargo build --release
$ cargo build --release # Must use cargo from MacPorts
$ sudo make PREFIX=/opt/local install
WARNING: Having any UNIX-like toolset installed on your Mac besides
@ -658,8 +658,11 @@ Compiling and Installation
% make install
... to create the TuxPaint.app application bundle that can be run
in-place or copied to /Applications. It also creates TuxPaint.dmg
for distribution.
in-place or copied to /Applications. To create the DMG file for
distribution, use 'make TuxPaint.dmg'.
Additional steps may be required when building for the Apple
Silicon. See "Building for Apple Silicon" below.
-------------------------------------------------------
@ -675,6 +678,12 @@ Compiling and Installation
on how to obtain, install, and build Tux Paint on an old version
of macOS.
Alternatively, Tux Paint and all of its library dependencies may
be compiled with appropriate options to be runnable on older
versions of macOS. These options are already set on Tux Paint,
so only its dependencies (from MacPorts) need to be recompiled.
See "Recompiling MacPorts" below for the instructions.
-------------------------------------------------------
Old Versions of macOS
@ -682,12 +691,19 @@ Compiling and Installation
Some old versions of macOS can be downloaded from Apple's support
page: https://support.apple.com/en-us/HT211683
macOS does allow dual booting of multiple versions of the OS, but
it's safer and easier to install the old macOS onto a flash drive.
Wherever you're installing it, the target drive's partitioniong
scheme and partition type must match what the old macOS expects, so
use the Disk Utility to partition and format the flash drive
accordingly.
macOS for Intel CPU does allow dual booting of multiple versions of
the OS, but it's safer and easier to install the old macOS onto a
flash drive. Wherever you're installing it, the target drive's
partitioniong scheme and partition type must match what the old
macOS expects, so use the Disk Utility to partition and format the
flash drive accordingly.
Dual booting multiple versions of macOS for Apple Silicon has been
so far unsuccessful. Instead of installing an older version of macOS
for Apple Silicon to build Tux Paint to run on the old version of
macOS for Apple Silicon, use the instructions found in the
"Recompiling MacPorts" section to build Tux Paint to run on older
versions of macOS for Apple Silicon.
As of this writing, the oldest version of macOS available on Apple's
support site is Yosemite 10.10, which expects "GPT (GUID Partition
@ -700,10 +716,6 @@ Compiling and Installation
using the instructions found here:
https://support.apple.com/en-mide/HT201372
It has been found that macOS can be installed onto the bootable
media itself, so you can make the flash drive into a bootable
installer then install the old macOS onto the same flash drive.
Once the old macOS is installed, you may find the Xcode on the App
Store is too new to run on the version of the old macOS. Old
versions of Xcode can be downloaded from Apple's Developer site in
@ -719,6 +731,79 @@ Compiling and Installation
--install") but otherwise build Tux Paint using the same steps
described in the earlier part of this document.
Recompiling MacPorts
To recompile MacPorts to be usable on older versions of macOS, set
the following options in /opt/local/etc/macports/macports.conf:
buildfromsource always
macosx_deployment_target 10.10
Then uninstall all MacPorts packages:
$ sudo port -fp uninstall installed
Then reinstall all MacPorts packages needed by Tux Paint. Also
rebuild libimagequant using the updated Cargo package from MacPorts.
As of this writing, all libraries Tux Paint requires from MacPorts
can be recompiled in this manner to run on macOS 10.10 Yosemite and
later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple
Silicon. Unfortunately, although MacPorts has the option to enable
the building of universal libraries, several libraries Tux Paint
require cannot be built as universal libraries so they can only be
built to run natively on the hardware on which they were built. See
"Building a Universal Binary" below for instructions on how to build
Tux Paint as a Universal Binary.
Building for Apple Silicon
macOS for Applie 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.^* However, the Tux Paint compilation
process modifies the libraries to be modular (using
install_name_tool) 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:
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
^* For more information on the code signing requirements on the
Apple Silicon, see
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 it before signing::
$ codesign --remove-signature TuxPaint.app
If you plan to combine the Apple Silicon bundle with the Intel CPU
bundle to produce the Universal bundle, the code signing must be
done after they are combined. See "Building a Universal Binary"
below.
Building a Universal Binary
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 build-universal.sh 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:
$ macos/build-universal.sh
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
----------------------------------------------------------------------
Debugging

View file

@ -7,7 +7,7 @@
https://tuxpaint.org/
@TuxPaintTweets on Twitter
enero 20, 2022
enero 21, 2022
----------------------------------------------------------------------
@ -365,6 +365,12 @@ Available Tools
or taller than wide), others cannot (e.g., square and
circle).
For shapes that can change proportion, the aspect ratio of
the shape will be shown at the bottom. For example: "1:1"
will be shown if it is "square" (as tall as it is wide);
"2:1" if it is either twice as wide as it is tall, or twice
as tall as it is wide; and so on.
Let go of the mouse when you're done stretching.
Normal Shapes Mode
@ -535,8 +541,8 @@ Available Tools
Clicking this tool will undo the last drawing action. You
can even undo more than once!
Note: You can also press [Control] + [Z] on the keyboard to
Undo.
Note: You can also press [Control / ⌘] + [Z] on the keyboard
to Undo.
----------------------------------------------------------------------
@ -548,8 +554,8 @@ Available Tools
As long as you don't draw again, you can redo as many times
as you had undone!
Note: You can also press [Control] + [R] on the keyboard to
Redo.
Note: You can also press [Control / ⌘] + [R] on the keyboard
to Redo.
----------------------------------------------------------------------
@ -561,8 +567,8 @@ Available Tools
'Template' image (see below). You will first be asked
whether you really want to do this.
Note: You can also press [Control] + [N] on the keyboard to
start a new drawing.
Note: You can also press [Control / ⌘] + [N] on the keyboard
to start a new drawing.
'Starter' & Template Images
@ -629,8 +635,8 @@ Available Tools
been saved, you will be prompted as to whether you want to
save it or not. (See "Save," below.)
Note: You can also press [Control] + [O] on the keyboard to
bring up the 'Open' dialog.
Note: You can also press [Control / ⌘] + [O] on the keyboard
to bring up the 'Open' dialog.
----------------------------------------------------------------------
@ -655,8 +661,8 @@ Available Tools
set, it won't ask before saving over. See the "Options"
documentation.
Note: You can also press [Control] + [S] on the keyboard to
save.
Note: You can also press [Control / ⌘] + [S] on the keyboard
to save.
----------------------------------------------------------------------
@ -867,7 +873,7 @@ Available Tools
sequence may be used to quit.
If neither of those are possible, the key sequence of
[Shift] + [Control] + [Escape] may be used to quit.
[Shift] + [Control / ⌘] + [Escape] may be used to quit.
See the "Options" documentation.

View file

@ -751,7 +751,7 @@
</h3>
<p style="font-size: small;">
<em>
septiembre 21, 2021 Mark K. Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
enero 20, 2022 Mark Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
</em>
</p>
@ -800,7 +800,7 @@
$ sudo port install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/>
$ cargo build --release<br/>
$ cargo build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install
</code>
</blockquote>
@ -823,7 +823,10 @@
% make install
</code>
</blockquote>
... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. It also creates <code>TuxPaint.dmg</code> for distribution. </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>
<p>
Additional steps may be required when building for the Apple Silicon. See "Building for Apple Silicon" below. </p>
</blockquote>
<hr size="1" noshade width="75%" />
@ -834,7 +837,9 @@
<li>
A macOS binary built on a specific version of macOS only runs on that version of macOS or later. To ensure Tux Paint can run on the oldest version of macOS possible, build it on the oldest version of macOS available. As of this writing we know Tux Paint cannot be built to run on macOS 10.7 or earlier.<br/>
<br/>
See "Old Versions of macOS" below for best-effort instructions on how to obtain, install, and build Tux Paint on an old version of macOS. </li>
See "Old Versions of macOS" below for best-effort instructions on how to obtain, install, and build Tux Paint on an old version of macOS.<br/>
<br/>
Alternatively, Tux Paint and all of its library dependencies may be compiled with appropriate options to be runnable on older versions of macOS. These options are already set on Tux Paint, so only its dependencies (from MacPorts) need to be recompiled. See "Recompiling MacPorts" below for the instructions. </li>
</ul>
</blockquote>
@ -846,7 +851,10 @@
Some old versions of macOS can be downloaded from Apple's support page: <a href="https://support.apple.com/en-us/HT211683">https://support.apple.com/en-us/HT211683</a> </p>
<p>
macOS does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly. </p>
macOS for Intel CPU does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly. </p>
<p>
Dual booting multiple versions of macOS for Apple Silicon has been so far unsuccessful. Instead of installing an older version of macOS for Apple Silicon to build Tux Paint to run on the old version of macOS for Apple Silicon, use the instructions found in the "Recompiling MacPorts" section to build Tux Paint to run on older versions of macOS for Apple Silicon. </p>
<p>
As of this writing, the oldest version of macOS available on Apple's support site is Yosemite 10.10, which expects "GPT (GUID Partition Table)" partitioning scheme instead of the older MBR scheme, and "Mac OS Extended (Journaled)" as the partition type instead of the newer APFS partition type. </p>
@ -854,9 +862,6 @@
<p>
Upon launching the installer, if you get a popup about macOS being too old or new to be installed, a bootable installer can be created using the instructions found here: <a href="https://support.apple.com/en-mide/HT201372">https://support.apple.com/en-mide/HT201372</a> </p>
<p>
It has been found that macOS can be installed onto the bootable media itself, so you can make the flash drive into a bootable installer then install the old macOS onto the same flash drive. </p>
<p>
Once the old macOS is installed, you may find the Xcode on the App Store is too new to run on the version of the old macOS. Old versions of Xcode can be downloaded from Apple's Developer site in an area accessible with free registration: <a href="https://developer.apple.com/download/more/">https://developer.apple.com/download/more/</a> </p>
@ -868,6 +873,64 @@
</blockquote>
<h4>Recompiling MacPorts</h4>
<blockquote>
<p>
To recompile MacPorts to be usable on older versions of macOS, set the following options in <code style="white-space: nowrap;">/opt/local/etc/macports/macports.conf</code>: <blockquote>
<code>
buildfromsource always<br/>
macosx_deployment_target 10.10
</code>
</blockquote>
</p>
<p>
Then uninstall all MacPorts packages: <blockquote>
<code>
$ sudo port -fp uninstall installed
</code>
</blockquote>
</p>
<p>
Then reinstall all MacPorts packages needed by Tux Paint. Also rebuild libimagequant using the updated Cargo package from MacPorts. </p>
<p>
As of this writing, all libraries Tux Paint requires from MacPorts can be recompiled in this manner to run on macOS 10.10 Yosemite and later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple Silicon. Unfortunately, although MacPorts has the option to enable the building of universal libraries, several libraries Tux Paint require cannot be built as universal libraries so they can only be built to run natively on the hardware on which they were built. See "Building a Universal Binary" below for instructions on how to build Tux Paint as a Universal Binary. </p>
</blockquote>
<h4>Building for Apple Silicon</h4>
<blockquote>
<p>macOS for Applie 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>
$ codesign -s - TuxPaint.app<br/>
$ make TuxPaint.dmg
</code>
</blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see 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.
</p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote>
<code>
$ codesign --remove-signature TuxPaint.app
</code>
</blockquote>
</p>
<p>If you plan to combine the Apple Silicon bundle with the Intel CPU bundle to produce the Universal bundle, the code signing must be done after they are combined. See "Building a Universal Binary" below. </p>
</blockquote>
<h4>Building a Universal Binary</h4>
<blockquote>
<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>
<code>
$ macos/build-universal.sh<br/>
$ codesign -s - TuxPaint.app <br/>
$ make TuxPaint.dmg
</code>
</blockquote>
</p>
</blockquote>
</blockquote>
</blockquote>

View file

@ -29,7 +29,7 @@
</p>
<p>
enero 20, 2022 </p>
enero 21, 2022 </p>
</center>
<hr size="2"
@ -589,6 +589,9 @@
<p>
In the canvas, click the mouse and hold it to stretch the shape out from where you clicked. Some shapes can change proportion (e.g., rectangle and oval may be wider than tall, or taller than wide), others cannot (e.g., square and circle). </p>
<p>
For shapes that can change proportion, the aspect ratio of the shape will be shown at the bottom. For example: "1:1" will be shown if it is "square" (as tall as it is wide); "2:1" if it is either twice as wide as it is tall, or twice as tall as it is wide; and so on. </p>
<p>
Let go of the mouse when you're done stretching. </p>
@ -807,7 +810,7 @@
Clicking this tool will undo the last drawing action. You can even undo more than once! </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[Z]</b></code> on the keyboard to Undo. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[Z]</b></code> on the keyboard to Undo. </p>
<br clear="all">
<hr size="1">
@ -830,7 +833,7 @@
As long as you don't draw again, you can redo as many times as you had undone! </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[R]</b></code> on the keyboard to Redo. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[R]</b></code> on the keyboard to Redo. </p>
<br clear="all">
<hr size="1">
@ -850,7 +853,7 @@
Clicking the 'New' button will start a new drawing. A dialog will appear where you may choose to start a new picture using a solid background color, or using a 'Starter' or 'Template' image (see below). You will first be asked whether you really want to do this. </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[N]</b></code> on the keyboard to start a new drawing. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[N]</b></code> on the keyboard to start a new drawing. </p>
<strong>'Starter' &amp; Template Images</strong>
<blockquote>
<p>
@ -963,7 +966,7 @@
If choose to open a picture, and your current drawing hasn't been saved, you will be prompted as to whether you want to save it or not. (See "<a href="#save">Save</a>," below.) </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[O]</b></code> on the keyboard to bring up the 'Open' dialog. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[O]</b></code> on the keyboard to bring up the 'Open' dialog. </p>
<br clear="all">
<hr size="1">
@ -1003,7 +1006,7 @@
<strong>Note:</strong> If either the "<code>saveover</code>" or "<code>saveovernew</code>" options are set, it won't ask before saving over. See the "<a href="OPTIONS.html"><em>Options</em></a>" documentation. </p>
<p>
<strong>Note:</strong> You can also press <b><code>[Control]</code></b> + <code><b>[S]</b></code> on the keyboard to save. </p>
<strong>Note:</strong> You can also press <b><code>[Control / &#8984;]</code></b> + <code><b>[S]</b></code> on the keyboard to save. </p>
<br clear="all">
<hr size="1">
@ -1255,7 +1258,7 @@
In that case, the "window close" button on Tux Paint's title bar (if not in fullscreen mode) or the <b><code>[Alt]</code></b> + <b><code>[F4]</code></b> key sequence may be used to quit. </p>
<p>
If neither of those are possible, the key sequence of <b><code>[Shift]</code></b> + <b><code>[Control]</code></b> + <b><code>[Escape]</code></b> may be used to quit. </p>
If neither of those are possible, the key sequence of <b><code>[Shift]</code></b> + <b><code>[Control / &#8984;]</code></b> + <b><code>[Escape]</code></b> may be used to quit. </p>
<p>
See the "<a href="OPTIONS.html"><em>Options</em></a>" documentation. </p>

View file

@ -618,7 +618,7 @@ Compilation et installation
Utilisateurs de macOS
septembre 21, 2021 Mark K. Kim <markuskimius@gmail.com>
janvier 20, 2022 Mark Kim <markuskimius@gmail.com>
Tux Paint 0.9.22, et avant, devrait être construit avec Xcode IDE. À
partir de la version 0.9.23, cependant, Tux Paint pour macOS est
@ -669,7 +669,7 @@ Compilation et installation
$ sudo port install rust cargo
$ git clone https://github.com/ImageOptim/libimagequant.git
$ cd libimagequant/imagequant-sys
$ cargo build --release
$ cargo build --release # Must use cargo from MacPorts
$ sudo make PREFIX=/opt/local install
ATTENTION :Posséder des outils Unix à côté de MacPorts et Xcode,
@ -686,9 +686,12 @@ Compilation et installation
% make
% make install
... pour crée l'application TuxPaint.app qui peut être exécutée sur
place ou copiée sur /Applications. Il crée également TuxPaint.dmg
pour la distribution.
... to create the TuxPaint.app application bundle that can be run
in-place or copied to /Applications. To create the DMG file for
distribution, use 'make TuxPaint.dmg'.
Additional steps may be required when building for the Apple
Silicon. See "Building for Apple Silicon" below.
-------------------------------------------------------
@ -706,6 +709,12 @@ Compilation et installation
meilleures instructions pour obtenir, installer et construire
Tux Paint sur des vieilles versions de macOS.
Alternatively, Tux Paint and all of its library dependencies may
be compiled with appropriate options to be runnable on older
versions of macOS. These options are already set on Tux Paint,
so only its dependencies (from MacPorts) need to be recompiled.
See "Recompiling MacPorts" below for the instructions.
-------------------------------------------------------
Vieilles versions de macOS
@ -713,12 +722,19 @@ Compilation et installation
Quelques vieilles versions de macOS peuvent être téléchargées sur la
page d'aide d'Apple : https://support.apple.com/en-us/HT211683
macOS permet de booter sur plusieurs versions de l'OS, mais c'est
préférable et plus facile d'installer le vieux macOS sur une clé.
Quelque soit la l'endroit où vous l'installer, le partitionnement du
disque et le type de partition doivent correspondre à ce qu'attend
l'ancien macOS, dès lors utilisez l'utilitaire de partitionnement et
le format de la clé en accord avec ceci.
macOS for Intel CPU does allow dual booting of multiple versions of
the OS, but it's safer and easier to install the old macOS onto a
flash drive. Wherever you're installing it, the target drive's
partitioniong scheme and partition type must match what the old
macOS expects, so use the Disk Utility to partition and format the
flash drive accordingly.
Dual booting multiple versions of macOS for Apple Silicon has been
so far unsuccessful. Instead of installing an older version of macOS
for Apple Silicon to build Tux Paint to run on the old version of
macOS for Apple Silicon, use the instructions found in the
"Recompiling MacPorts" section to build Tux Paint to run on older
versions of macOS for Apple Silicon.
À ce moment, l'ancienne version de macOS disponible sur le site
d'Apple est la Yosemite 10.10, qui un partitionnement "GPT (GUID
@ -730,10 +746,6 @@ Compilation et installation
installateur bootable peut être créé en suivant les instructions
données ici : https://support.apple.com/en-mide/HT201372
Il apparaît que macOS peut être installé sur le media bootable
lui-même, dès lors vous pouvez flasher l'installeur bootable et
mettre le vieux macOS sur ce même média.
Une fois l'ancienne version de macOS installée, vous pouvez trouver
que le Xcode du App Store est trop récent pour tourner sur la
version du vieux macOS. Des anciennes versions de Xcode peuvent être
@ -751,6 +763,79 @@ Compilation et installation
"xcode-select --install") mais alors vous compilez Tux Paint en
utilisant les mêmes étapes décrites auparavant dans ce document.
Recompiling MacPorts
To recompile MacPorts to be usable on older versions of macOS, set
the following options in /opt/local/etc/macports/macports.conf:
buildfromsource always
macosx_deployment_target 10.10
Then uninstall all MacPorts packages:
$ sudo port -fp uninstall installed
Then reinstall all MacPorts packages needed by Tux Paint. Also
rebuild libimagequant using the updated Cargo package from MacPorts.
As of this writing, all libraries Tux Paint requires from MacPorts
can be recompiled in this manner to run on macOS 10.10 Yosemite and
later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple
Silicon. Unfortunately, although MacPorts has the option to enable
the building of universal libraries, several libraries Tux Paint
require cannot be built as universal libraries so they can only be
built to run natively on the hardware on which they were built. See
"Building a Universal Binary" below for instructions on how to build
Tux Paint as a Universal Binary.
Building for Apple Silicon
macOS for Applie 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.^* However, the Tux Paint compilation
process modifies the libraries to be modular (using
install_name_tool) 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:
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
^* For more information on the code signing requirements on the
Apple Silicon, see
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 it before signing::
$ codesign --remove-signature TuxPaint.app
If you plan to combine the Apple Silicon bundle with the Intel CPU
bundle to produce the Universal bundle, the code signing must be
done after they are combined. See "Building a Universal Binary"
below.
Building a Universal Binary
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 build-universal.sh 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:
$ macos/build-universal.sh
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
----------------------------------------------------------------------
Débogage

View file

@ -7,7 +7,7 @@
https://tuxpaint.org/
@TuxPaintTweets on Twitter
janvier 20, 2022
janvier 21, 2022
----------------------------------------------------------------------
@ -392,6 +392,12 @@ Outils disponibles
ou plus hauts que larges), d'autres pas (par exemple, carré
et cercle).
For shapes that can change proportion, the aspect ratio of
the shape will be shown at the bottom. For example: "1:1"
will be shown if it is "square" (as tall as it is wide);
"2:1" if it is either twice as wide as it is tall, or twice
as tall as it is wide; and so on.
Relâchez la souris lorsque vous avez terminé l'étirement.
Mode normal
@ -575,8 +581,8 @@ Outils disponibles
En cliquant cet outil annulera la dernière action. Vous
pouvez même annuler plus d'une fois !
Remarque : vous pouvez également appuyer [Control] + [Z] sur
le clavier pour Défaire.
Remarque : vous pouvez également appuyer [Control / ⌘] + [Z]
sur le clavier pour Défaire.
----------------------------------------------------------------------
@ -588,8 +594,8 @@ Outils disponibles
Tant que vous ne dessinez plus, vous pouvez refaire autant
de fois que vous avez défait !
Remarque : vous pouvez également appuyer [Control] + [R] sur
le clavier pour Refaire.
Remarque : vous pouvez également appuyer [Control / ⌘] + [R]
sur le clavier pour Refaire.
----------------------------------------------------------------------
@ -602,8 +608,8 @@ Outils disponibles
'Starter' ou 'Template' (voir ci-dessous). On vous demandera
d'abord si vous voulez vraiment faire cela.
Remarque : vous pouvez également appuyer [Control] + [N] sur
le clavier pour commencer un nouveau dessin.
Remarque : vous pouvez également appuyer [Control / ⌘] + [N]
sur le clavier pour commencer un nouveau dessin.
Images de "Démarrage" et images "Modèle"
@ -676,8 +682,8 @@ Outils disponibles
souhaitez l'enregistrer ou non. (Voir "Enregistrer,"
ci-dessous.)
Remarque : vous pouvez également appuyer [Control] + [O] sur
le clavier pour afficher la boîte de dialogue "Ouvrir".
Remarque : vous pouvez également appuyer [Control / ⌘] + [O]
sur le clavier pour afficher la boîte de dialogue "Ouvrir".
----------------------------------------------------------------------
@ -703,8 +709,8 @@ Outils disponibles
déjà définies, il ne sera rien demandé avant de sauvegarder.
Voir la documentation Options.
Remarque : vous pouvez également appuyer [Control] + [S] sur
le clavier pour sauvegarde.
Remarque : vous pouvez également appuyer [Control / ⌘] + [S]
sur le clavier pour sauvegarde.
----------------------------------------------------------------------
@ -935,8 +941,8 @@ Outils disponibles
ou la touche [Alt] + [F4] peut être utilisée pour quitter.
Si aucune de ces options n'est possible, la séquence de
touches [Shift] + [Control] + [Escape] peut être utilisée
pour quitter.
touches [Shift] + [Control / ⌘] + [Escape] peut être
utilisée pour quitter.
Voir la documentation sur "Options".

View file

@ -751,7 +751,7 @@
</h3>
<p style="font-size: small;">
<em>
septembre 21, 2021 Mark K. Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
janvier 20, 2022 Mark Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
</em>
</p>
@ -800,7 +800,7 @@
$ sudo port install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/>
$ cargo build --release<br/>
$ cargo build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install
</code>
</blockquote>
@ -823,7 +823,10 @@
% make install
</code>
</blockquote>
... pour crée l'application <code>TuxPaint.app</code> qui peut être exécutée sur place ou copiée sur <code>/Applications</code>. Il crée également <code>TuxPaint.dmg</code> pour la distribution. </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>
<p>
Additional steps may be required when building for the Apple Silicon. See "Building for Apple Silicon" below. </p>
</blockquote>
<hr size="1" noshade width="75%" />
@ -834,7 +837,9 @@
<li>
Un binaire macOS construit sur une version spécifique de macOS ne fonctionnera qu'avec cette version, ou une plus récente. Pour s'assurer que Tux Paint puisse tourner sur la plus vieille version de macOS possible, construisez le sur la plus vieille version de macOS disponible. Au moment où nous écrivons Tux Paint ne peut être construit pour tourner sur macOS 10.7 ou plus récent.<br/>
<br/>
Voyez "Vieilles Versions de macOS" ci-dessous pour les meilleures instructions pour obtenir, installer et construire Tux Paint sur des vieilles versions de macOS. </li>
Voyez "Vieilles Versions de macOS" ci-dessous pour les meilleures instructions pour obtenir, installer et construire Tux Paint sur des vieilles versions de macOS.<br/>
<br/>
Alternatively, Tux Paint and all of its library dependencies may be compiled with appropriate options to be runnable on older versions of macOS. These options are already set on Tux Paint, so only its dependencies (from MacPorts) need to be recompiled. See "Recompiling MacPorts" below for the instructions. </li>
</ul>
</blockquote>
@ -846,7 +851,10 @@
Quelques vieilles versions de macOS peuvent être téléchargées sur la page d'aide d'Apple : <a href="https://support.apple.com/en-us/HT211683">https://support.apple.com/en-us/HT211683</a> </p>
<p>
macOS permet de booter sur plusieurs versions de l'OS, mais c'est préférable et plus facile d'installer le vieux macOS sur une clé. Quelque soit la l'endroit où vous l'installer, le partitionnement du disque et le type de partition doivent correspondre à ce qu'attend l'ancien macOS, dès lors utilisez l'utilitaire de partitionnement et le format de la clé en accord avec ceci. </p>
macOS for Intel CPU does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly. </p>
<p>
Dual booting multiple versions of macOS for Apple Silicon has been so far unsuccessful. Instead of installing an older version of macOS for Apple Silicon to build Tux Paint to run on the old version of macOS for Apple Silicon, use the instructions found in the "Recompiling MacPorts" section to build Tux Paint to run on older versions of macOS for Apple Silicon. </p>
<p>
À ce moment, l'ancienne version de macOS disponible sur le site d'Apple est la Yosemite 10.10, qui un partitionnement "GPT (GUID Partition Table)" au lieu de MBR, et "Mac OS Extended (Journalisé)" comme type de partition au lieu du nouveau type APFS. </p>
@ -854,9 +862,6 @@
<p>
Au lancement de l'installateur, si vous avez un message disant que macOD est trop vieux ou trop récent pour être installé, un installateur bootable peut être créé en suivant les instructions données ici : <a href="https://support.apple.com/en-mide/HT201372">https://support.apple.com/en-mide/HT201372</a> </p>
<p>
Il apparaît que macOS peut être installé sur le media bootable lui-même, dès lors vous pouvez flasher l'installeur bootable et mettre le vieux macOS sur ce même média. </p>
<p>
Une fois l'ancienne version de macOS installée, vous pouvez trouver que le Xcode du App Store est trop récent pour tourner sur la version du vieux macOS. Des anciennes versions de Xcode peuvent être téléchargées sur le site des développeurs d'Apple dans une zone accessible après enregistrement gratuit : <a href="https://developer.apple.com/download/more/">https://developer.apple.com/download/more/</a> </p>
@ -868,6 +873,64 @@
</blockquote>
<h4>Recompiling MacPorts</h4>
<blockquote>
<p>
To recompile MacPorts to be usable on older versions of macOS, set the following options in <code style="white-space: nowrap;">/opt/local/etc/macports/macports.conf</code>: <blockquote>
<code>
buildfromsource always<br/>
macosx_deployment_target 10.10
</code>
</blockquote>
</p>
<p>
Then uninstall all MacPorts packages: <blockquote>
<code>
$ sudo port -fp uninstall installed
</code>
</blockquote>
</p>
<p>
Then reinstall all MacPorts packages needed by Tux Paint. Also rebuild libimagequant using the updated Cargo package from MacPorts. </p>
<p>
As of this writing, all libraries Tux Paint requires from MacPorts can be recompiled in this manner to run on macOS 10.10 Yosemite and later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple Silicon. Unfortunately, although MacPorts has the option to enable the building of universal libraries, several libraries Tux Paint require cannot be built as universal libraries so they can only be built to run natively on the hardware on which they were built. See "Building a Universal Binary" below for instructions on how to build Tux Paint as a Universal Binary. </p>
</blockquote>
<h4>Building for Apple Silicon</h4>
<blockquote>
<p>macOS for Applie 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>
$ codesign -s - TuxPaint.app<br/>
$ make TuxPaint.dmg
</code>
</blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see 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.
</p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote>
<code>
$ codesign --remove-signature TuxPaint.app
</code>
</blockquote>
</p>
<p>If you plan to combine the Apple Silicon bundle with the Intel CPU bundle to produce the Universal bundle, the code signing must be done after they are combined. See "Building a Universal Binary" below. </p>
</blockquote>
<h4>Building a Universal Binary</h4>
<blockquote>
<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>
<code>
$ macos/build-universal.sh<br/>
$ codesign -s - TuxPaint.app <br/>
$ make TuxPaint.dmg
</code>
</blockquote>
</p>
</blockquote>
</blockquote>
</blockquote>

View file

@ -29,7 +29,7 @@
</p>
<p>
janvier 20, 2022 </p>
janvier 21, 2022 </p>
</center>
<hr size="2"
@ -589,6 +589,9 @@
<p>
Dans le dessin, cliquez sur la souris et maintenez-la pour étirer la forme à partir de l'endroit où vous avez cliqué. Certaines formes peuvent changer de proportion (par exemple, le rectangle et l'ovale peuvent être plus larges que hauts ou plus hauts que larges), d'autres pas (par exemple, carré et cercle). </p>
<p>
For shapes that can change proportion, the aspect ratio of the shape will be shown at the bottom. For example: "1:1" will be shown if it is "square" (as tall as it is wide); "2:1" if it is either twice as wide as it is tall, or twice as tall as it is wide; and so on. </p>
<p>
Relâchez la souris lorsque vous avez terminé l'étirement. </p>
@ -807,7 +810,7 @@
En cliquant cet outil annulera la dernière action. Vous pouvez même annuler plus d'une fois ! </p>
<p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control]</code></b> + <code><b>[Z]</b></code> sur le clavier pour Défaire. </p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control / &#8984;]</code></b> + <code><b>[Z]</b></code> sur le clavier pour Défaire. </p>
<br clear="all">
<hr size="1">
@ -830,7 +833,7 @@
Tant que vous ne dessinez plus, vous pouvez refaire autant de fois que vous avez défait ! </p>
<p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control]</code></b> + <code><b>[R]</b></code> sur le clavier pour Refaire. </p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control / &#8984;]</code></b> + <code><b>[R]</b></code> sur le clavier pour Refaire. </p>
<br clear="all">
<hr size="1">
@ -850,7 +853,7 @@
Cliquez sur le bouton "Nouveau" pour démarrer un nouveau dessin. Une boîte de dialogue apparaîtra, avec laquelle vous pouvez choisir de commencer une nouvelle image en utilisant une couleur d'arrière-plan unie, ou en utilisant une image 'Starter' ou 'Template' (voir ci-dessous). On vous demandera d'abord si vous voulez vraiment faire cela. </p>
<p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control]</code></b> + <code><b>[N]</b></code> sur le clavier pour commencer un nouveau dessin. </p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control / &#8984;]</code></b> + <code><b>[N]</b></code> sur le clavier pour commencer un nouveau dessin. </p>
<strong>Images de "Démarrage" et images "Modèle"</strong>
<blockquote>
<p>
@ -963,7 +966,7 @@
Si vous choisissez d'ouvrir une image et que votre dessin actuel n'a pas été enregistré, il vous sera demandé si vous souhaitez l'enregistrer ou non. (Voir "<a href="#save">Enregistrer</a>," ci-dessous.) </p>
<p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control]</code></b> + <code><b>[O]</b></code> sur le clavier pour afficher la boîte de dialogue "Ouvrir". </p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control / &#8984;]</code></b> + <code><b>[O]</b></code> sur le clavier pour afficher la boîte de dialogue "Ouvrir". </p>
<br clear="all">
<hr size="1">
@ -1003,7 +1006,7 @@
<strong>Remarque :</strong> si les options " <code>saveover</code>" ou " <code>saveovernew</code>" sont déjà définies, il ne sera rien demandé avant de sauvegarder. Voir la documentation <a href="OPTIONS.html"> <em> Options</em></a>. </p>
<p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control]</code></b> + <code><b>[S]</b></code> sur le clavier pour sauvegarde. </p>
<strong>Remarque :</strong> vous pouvez également appuyer <b><code>[Control / &#8984;]</code></b> + <code><b>[S]</b></code> sur le clavier pour sauvegarde. </p>
<br clear="all">
<hr size="1">
@ -1255,7 +1258,7 @@
Dans ce cas, le bouton "Fermer la fenêtre" sur la barre de titre de Tux Paint (si vous n'êtes pas en mode plein écran) ou la touche <b><code>[Alt]</code></b> + <b><code>[F4]</code></b> peut être utilisée pour quitter. </p>
<p>
Si aucune de ces options n'est possible, la séquence de touches <b><code>[Shift]</code></b> + <b><code>[Control]</code></b> + <b><code>[Escape]</code></b> peut être utilisée pour quitter. </p>
Si aucune de ces options n'est possible, la séquence de touches <b><code>[Shift]</code></b> + <b><code>[Control / &#8984;]</code></b> + <b><code>[Escape]</code></b> peut être utilisée pour quitter. </p>
<p>
Voir la documentation sur "<a href="OPTIONS.html"><em>Options</em></a>". </p>

View file

@ -600,7 +600,7 @@ Compiling and Installation
Usuarios de macOS
21 de Setembro de 2021 Mark K. Kim <markuskimius@gmail.com>
20 de Xaneiro de 2022 Mark Kim <markuskimius@gmail.com>
Tux Paint 0.9.22 and earlier required building Tux Paint from the
Xcode IDE. Starting with 0.9.23, however, Tux Paint for macOS is built
@ -650,7 +650,7 @@ Compiling and Installation
$ sudo port install rust cargo
$ git clone https://github.com/ImageOptim/libimagequant.git
$ cd libimagequant/imagequant-sys
$ cargo build --release
$ cargo build --release # Must use cargo from MacPorts
$ sudo make PREFIX=/opt/local install
WARNING: Having any UNIX-like toolset installed on your Mac besides
@ -668,8 +668,11 @@ Compiling and Installation
% make install
... to create the TuxPaint.app application bundle that can be run
in-place or copied to /Applications. It also creates TuxPaint.dmg
for distribution.
in-place or copied to /Applications. To create the DMG file for
distribution, use 'make TuxPaint.dmg'.
Additional steps may be required when building for the Apple
Silicon. See "Building for Apple Silicon" below.
-------------------------------------------------------
@ -685,6 +688,12 @@ Compiling and Installation
on how to obtain, install, and build Tux Paint on an old version
of macOS.
Alternatively, Tux Paint and all of its library dependencies may
be compiled with appropriate options to be runnable on older
versions of macOS. These options are already set on Tux Paint,
so only its dependencies (from MacPorts) need to be recompiled.
See "Recompiling MacPorts" below for the instructions.
-------------------------------------------------------
Old Versions of macOS
@ -692,12 +701,19 @@ Compiling and Installation
Some old versions of macOS can be downloaded from Apple's support
page: https://support.apple.com/en-us/HT211683
macOS does allow dual booting of multiple versions of the OS, but
it's safer and easier to install the old macOS onto a flash drive.
Wherever you're installing it, the target drive's partitioniong
scheme and partition type must match what the old macOS expects, so
use the Disk Utility to partition and format the flash drive
accordingly.
macOS for Intel CPU does allow dual booting of multiple versions of
the OS, but it's safer and easier to install the old macOS onto a
flash drive. Wherever you're installing it, the target drive's
partitioniong scheme and partition type must match what the old
macOS expects, so use the Disk Utility to partition and format the
flash drive accordingly.
Dual booting multiple versions of macOS for Apple Silicon has been
so far unsuccessful. Instead of installing an older version of macOS
for Apple Silicon to build Tux Paint to run on the old version of
macOS for Apple Silicon, use the instructions found in the
"Recompiling MacPorts" section to build Tux Paint to run on older
versions of macOS for Apple Silicon.
As of this writing, the oldest version of macOS available on Apple's
support site is Yosemite 10.10, which expects "GPT (GUID Partition
@ -710,10 +726,6 @@ Compiling and Installation
using the instructions found here:
https://support.apple.com/en-mide/HT201372
It has been found that macOS can be installed onto the bootable
media itself, so you can make the flash drive into a bootable
installer then install the old macOS onto the same flash drive.
Once the old macOS is installed, you may find the Xcode on the App
Store is too new to run on the version of the old macOS. Old
versions of Xcode can be downloaded from Apple's Developer site in
@ -729,6 +741,79 @@ Compiling and Installation
--install") but otherwise build Tux Paint using the same steps
described in the earlier part of this document.
Recompiling MacPorts
To recompile MacPorts to be usable on older versions of macOS, set
the following options in /opt/local/etc/macports/macports.conf:
buildfromsource always
macosx_deployment_target 10.10
Then uninstall all MacPorts packages:
$ sudo port -fp uninstall installed
Then reinstall all MacPorts packages needed by Tux Paint. Also
rebuild libimagequant using the updated Cargo package from MacPorts.
As of this writing, all libraries Tux Paint requires from MacPorts
can be recompiled in this manner to run on macOS 10.10 Yosemite and
later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple
Silicon. Unfortunately, although MacPorts has the option to enable
the building of universal libraries, several libraries Tux Paint
require cannot be built as universal libraries so they can only be
built to run natively on the hardware on which they were built. See
"Building a Universal Binary" below for instructions on how to build
Tux Paint as a Universal Binary.
Building for Apple Silicon
macOS for Applie 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.^* However, the Tux Paint compilation
process modifies the libraries to be modular (using
install_name_tool) 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:
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
^* For more information on the code signing requirements on the
Apple Silicon, see
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 it before signing::
$ codesign --remove-signature TuxPaint.app
If you plan to combine the Apple Silicon bundle with the Intel CPU
bundle to produce the Universal bundle, the code signing must be
done after they are combined. See "Building a Universal Binary"
below.
Building a Universal Binary
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 build-universal.sh 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:
$ macos/build-universal.sh
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
----------------------------------------------------------------------
Debugging

View file

@ -7,7 +7,7 @@
https://tuxpaint.org/
@TuxPaintTweets on Twitter
20 de Xaneiro de 2022
21 de Xaneiro de 2022
----------------------------------------------------------------------
@ -374,6 +374,12 @@ Ferramentas dispoñíbeis
poden ser máis largos que altos ou máis altos que largos),
outros non (por exemplo, cadrados e círculos).
For shapes that can change proportion, the aspect ratio of
the shape will be shown at the bottom. For example: "1:1"
will be shown if it is "square" (as tall as it is wide);
"2:1" if it is either twice as wide as it is tall, or twice
as tall as it is wide; and so on.
Solte o rato cando remate de estirar.
Modo de formas normais
@ -549,7 +555,7 @@ Ferramentas dispoñíbeis
Ao premer nesta ferramenta desfarase a última acción de
debuxo. Vostede pode incluso desfacer máis dunha vez.
Nota: Tamén pode premer [Control] + [Z] no teclado para
Nota: Tamén pode premer [Control / ⌘] + [Z] no teclado para
Desfacer.
----------------------------------------------------------------------
@ -562,7 +568,7 @@ Ferramentas dispoñíbeis
Mentres non volva debuxar, pode refacer tantas veces como
teña desfeito.
Nota: Tamén pode premer [Control] + [R] no teclado para
Nota: Tamén pode premer [Control / ⌘] + [R] no teclado para
Refacer.
----------------------------------------------------------------------
@ -575,7 +581,7 @@ Ferramentas dispoñíbeis
Inicio» ou «modelo» (ver máis abaixo). Primeiro
preguntaráselle se realmente quere facelo.
Nota: Tamén pode premer [Control] + [N] no teclado para
Nota: Tamén pode premer [Control / ⌘] + [N] no teclado para
iniciar un novo debuxo.
Imaxes «de comezo» e de «modelo»
@ -644,7 +650,7 @@ Ferramentas dispoñíbeis
gardado, preguntaráselle se quere gardala ou non. (Vexa
«Gardar» a continuación).
Nota: Tamén pode premer [Control] + [O] no teclado para
Nota: Tamén pode premer [Control / ⌘] + [O] no teclado para
activar o diálogo «Abrir».
----------------------------------------------------------------------
@ -669,7 +675,7 @@ Ferramentas dispoñíbeis
«saveovernew», non preguntará antes de gardar. Vexa a
documentación de «Opcións».
Nota: Tamén pode premer [Control] + [S] no teclado para
Nota: Tamén pode premer [Control / ⌘] + [S] no teclado para
gardar.
----------------------------------------------------------------------
@ -892,7 +898,7 @@ Ferramentas dispoñíbeis
ou a secuencia de teclas [Alt] + [F4] para saír.
Se ningún das dúas é posíbel, pódese usar a secuencia de
teclas [Maiúsculas] + [Control] + [Escape] para saír.
teclas [Maiúsculas] + [Control / ⌘] + [Escape] para saír.
Vexa a documentación de «Opcións.

View file

@ -751,7 +751,7 @@
</h3>
<p style="font-size: small;">
<em>
21 de Setembro de 2021 Mark K. Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
20 de Xaneiro de 2022 Mark Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
</em>
</p>
@ -800,7 +800,7 @@
$ sudo port install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/>
$ cargo build --release<br/>
$ cargo build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install
</code>
</blockquote>
@ -823,7 +823,10 @@
% make install
</code>
</blockquote>
... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. It also creates <code>TuxPaint.dmg</code> for distribution. </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>
<p>
Additional steps may be required when building for the Apple Silicon. See "Building for Apple Silicon" below. </p>
</blockquote>
<hr size="1" noshade width="75%" />
@ -834,7 +837,9 @@
<li>
A macOS binary built on a specific version of macOS only runs on that version of macOS or later. To ensure Tux Paint can run on the oldest version of macOS possible, build it on the oldest version of macOS available. As of this writing we know Tux Paint cannot be built to run on macOS 10.7 or earlier.<br/>
<br/>
See "Old Versions of macOS" below for best-effort instructions on how to obtain, install, and build Tux Paint on an old version of macOS. </li>
See "Old Versions of macOS" below for best-effort instructions on how to obtain, install, and build Tux Paint on an old version of macOS.<br/>
<br/>
Alternatively, Tux Paint and all of its library dependencies may be compiled with appropriate options to be runnable on older versions of macOS. These options are already set on Tux Paint, so only its dependencies (from MacPorts) need to be recompiled. See "Recompiling MacPorts" below for the instructions. </li>
</ul>
</blockquote>
@ -846,7 +851,10 @@
Some old versions of macOS can be downloaded from Apple's support page: <a href="https://support.apple.com/en-us/HT211683">https://support.apple.com/en-us/HT211683</a> </p>
<p>
macOS does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly. </p>
macOS for Intel CPU does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly. </p>
<p>
Dual booting multiple versions of macOS for Apple Silicon has been so far unsuccessful. Instead of installing an older version of macOS for Apple Silicon to build Tux Paint to run on the old version of macOS for Apple Silicon, use the instructions found in the "Recompiling MacPorts" section to build Tux Paint to run on older versions of macOS for Apple Silicon. </p>
<p>
As of this writing, the oldest version of macOS available on Apple's support site is Yosemite 10.10, which expects "GPT (GUID Partition Table)" partitioning scheme instead of the older MBR scheme, and "Mac OS Extended (Journaled)" as the partition type instead of the newer APFS partition type. </p>
@ -854,9 +862,6 @@
<p>
Upon launching the installer, if you get a popup about macOS being too old or new to be installed, a bootable installer can be created using the instructions found here: <a href="https://support.apple.com/en-mide/HT201372">https://support.apple.com/en-mide/HT201372</a> </p>
<p>
It has been found that macOS can be installed onto the bootable media itself, so you can make the flash drive into a bootable installer then install the old macOS onto the same flash drive. </p>
<p>
Once the old macOS is installed, you may find the Xcode on the App Store is too new to run on the version of the old macOS. Old versions of Xcode can be downloaded from Apple's Developer site in an area accessible with free registration: <a href="https://developer.apple.com/download/more/">https://developer.apple.com/download/more/</a> </p>
@ -868,6 +873,64 @@
</blockquote>
<h4>Recompiling MacPorts</h4>
<blockquote>
<p>
To recompile MacPorts to be usable on older versions of macOS, set the following options in <code style="white-space: nowrap;">/opt/local/etc/macports/macports.conf</code>: <blockquote>
<code>
buildfromsource always<br/>
macosx_deployment_target 10.10
</code>
</blockquote>
</p>
<p>
Then uninstall all MacPorts packages: <blockquote>
<code>
$ sudo port -fp uninstall installed
</code>
</blockquote>
</p>
<p>
Then reinstall all MacPorts packages needed by Tux Paint. Also rebuild libimagequant using the updated Cargo package from MacPorts. </p>
<p>
As of this writing, all libraries Tux Paint requires from MacPorts can be recompiled in this manner to run on macOS 10.10 Yosemite and later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple Silicon. Unfortunately, although MacPorts has the option to enable the building of universal libraries, several libraries Tux Paint require cannot be built as universal libraries so they can only be built to run natively on the hardware on which they were built. See "Building a Universal Binary" below for instructions on how to build Tux Paint as a Universal Binary. </p>
</blockquote>
<h4>Building for Apple Silicon</h4>
<blockquote>
<p>macOS for Applie 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>
$ codesign -s - TuxPaint.app<br/>
$ make TuxPaint.dmg
</code>
</blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see 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.
</p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote>
<code>
$ codesign --remove-signature TuxPaint.app
</code>
</blockquote>
</p>
<p>If you plan to combine the Apple Silicon bundle with the Intel CPU bundle to produce the Universal bundle, the code signing must be done after they are combined. See "Building a Universal Binary" below. </p>
</blockquote>
<h4>Building a Universal Binary</h4>
<blockquote>
<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>
<code>
$ macos/build-universal.sh<br/>
$ codesign -s - TuxPaint.app <br/>
$ make TuxPaint.dmg
</code>
</blockquote>
</p>
</blockquote>
</blockquote>
</blockquote>

View file

@ -29,7 +29,7 @@
</p>
<p>
20 de Xaneiro de 2022 </p>
21 de Xaneiro de 2022 </p>
</center>
<hr size="2"
@ -589,6 +589,9 @@
<p>
No lenzo, fprema co rato e manteña o botón premido para estirar a forma dende onde fixo clic. Algunhas formas poden cambiar a proporción (por exemplo, o rectángulo e o óvalo poden ser máis largos que altos ou máis altos que largos), outros non (por exemplo, cadrados e círculos). </p>
<p>
For shapes that can change proportion, the aspect ratio of the shape will be shown at the bottom. For example: "1:1" will be shown if it is "square" (as tall as it is wide); "2:1" if it is either twice as wide as it is tall, or twice as tall as it is wide; and so on. </p>
<p>
Solte o rato cando remate de estirar. </p>
@ -807,7 +810,7 @@
Ao premer nesta ferramenta desfarase a última acción de debuxo. Vostede pode incluso desfacer máis dunha vez. </p>
<p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control]</code></b> + <code><b>[Z]</b></code> no teclado para Desfacer. </p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control / &#8984;]</code></b> + <code><b>[Z]</b></code> no teclado para Desfacer. </p>
<br clear="all">
<hr size="1">
@ -830,7 +833,7 @@
Mentres non volva debuxar, pode refacer tantas veces como teña desfeito. </p>
<p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control]</code></b> + <code><b>[R]</b></code> no teclado para Refacer. </p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control / &#8984;]</code></b> + <code><b>[R]</b></code> no teclado para Refacer. </p>
<br clear="all">
<hr size="1">
@ -850,7 +853,7 @@
Ao premer no botón «Novo» iniciarase un novo debuxo. Aparecerá un diálogo no que pode escoller comezar unha nova imaxe cunha cor de fondo sólida ou usando unha imaxe «de Inicio» ou «modelo» (ver máis abaixo). Primeiro preguntaráselle se realmente quere facelo. </p>
<p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control]</code></b> + <code><b>[N]</b></code> no teclado para iniciar un novo debuxo. </p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control / &#8984;]</code></b> + <code><b>[N]</b></code> no teclado para iniciar un novo debuxo. </p>
<strong>Imaxes «de comezo» e de «modelo»</strong>
<blockquote>
<p>
@ -963,7 +966,7 @@
Se escolle abrir unha imaxe e o seu debuxo actual non foi gardado, preguntaráselle se quere gardala ou non. (Vexa «<a href="#save">Gardar</a>» a continuación). </p>
<p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control]</code></b> + <code><b>[O]</b></code> no teclado para activar o diálogo «Abrir». </p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control / &#8984;]</code></b> + <code><b>[O]</b></code> no teclado para activar o diálogo «Abrir». </p>
<br clear="all">
<hr size="1">
@ -1003,7 +1006,7 @@
<strong>Nota:</strong> Se foron estabelecidas as opcións «<code>saveover</code>» ou «<code>saveovernew</code>», non preguntará antes de gardar. Vexa a documentación de «<a href="OPTIONS.html"><em>Opcións</em></a>». </p>
<p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control]</code></b> + <code><b>[S]</b></code> no teclado para gardar. </p>
<strong>Nota:</strong> Tamén pode premer <b><code>[Control / &#8984;]</code></b> + <code><b>[S]</b></code> no teclado para gardar. </p>
<br clear="all">
<hr size="1">
@ -1255,7 +1258,7 @@
Nese caso, pódese usar o botón «pechar a xanela» na barra de título de Tux Paint (se non está en modo pantalla completa) ou a secuencia de teclas <b><code>[Alt]</code></b> + <b><code>[F4]</code></b> para saír. </p>
<p>
Se ningún das dúas é posíbel, pódese usar a secuencia de teclas <b><code>[Maiúsculas]</code></b> + <b><code>[Control]</code></b> + <b><code>[Escape]</code></b> para saír. </p>
Se ningún das dúas é posíbel, pódese usar a secuencia de teclas <b><code>[Maiúsculas]</code></b> + <b><code>[Control / &#8984;]</code></b> + <b><code>[Escape]</code></b> para saír. </p>
<p>
Vexa a documentación de «<a href="OPTIONS.html"><em>Opcións</em></a>. </p>

View file

@ -590,7 +590,7 @@ Compiling and Installation
macOS のユーザー
2021年9月21日 Mark K. Kim <markuskimius@gmail.com>
2022年1月20日 Mark Kim <markuskimius@gmail.com>
Tux Paint 0.9.22 and earlier required building Tux Paint from the
Xcode IDE. Starting with 0.9.23, however, Tux Paint for macOS is built
@ -640,7 +640,7 @@ Compiling and Installation
$ sudo port install rust cargo
$ git clone https://github.com/ImageOptim/libimagequant.git
$ cd libimagequant/imagequant-sys
$ cargo build --release
$ cargo build --release # Must use cargo from MacPorts
$ sudo make PREFIX=/opt/local install
WARNING: Having any UNIX-like toolset installed on your Mac besides
@ -658,8 +658,11 @@ Compiling and Installation
% make install
... to create the TuxPaint.app application bundle that can be run
in-place or copied to /Applications. It also creates TuxPaint.dmg
for distribution.
in-place or copied to /Applications. To create the DMG file for
distribution, use 'make TuxPaint.dmg'.
Additional steps may be required when building for the Apple
Silicon. See "Building for Apple Silicon" below.
-------------------------------------------------------
@ -675,6 +678,12 @@ Compiling and Installation
on how to obtain, install, and build Tux Paint on an old version
of macOS.
Alternatively, Tux Paint and all of its library dependencies may
be compiled with appropriate options to be runnable on older
versions of macOS. These options are already set on Tux Paint,
so only its dependencies (from MacPorts) need to be recompiled.
See "Recompiling MacPorts" below for the instructions.
-------------------------------------------------------
Old Versions of macOS
@ -682,12 +691,19 @@ Compiling and Installation
Some old versions of macOS can be downloaded from Apple's support
page: https://support.apple.com/en-us/HT211683
macOS does allow dual booting of multiple versions of the OS, but
it's safer and easier to install the old macOS onto a flash drive.
Wherever you're installing it, the target drive's partitioniong
scheme and partition type must match what the old macOS expects, so
use the Disk Utility to partition and format the flash drive
accordingly.
macOS for Intel CPU does allow dual booting of multiple versions of
the OS, but it's safer and easier to install the old macOS onto a
flash drive. Wherever you're installing it, the target drive's
partitioniong scheme and partition type must match what the old
macOS expects, so use the Disk Utility to partition and format the
flash drive accordingly.
Dual booting multiple versions of macOS for Apple Silicon has been
so far unsuccessful. Instead of installing an older version of macOS
for Apple Silicon to build Tux Paint to run on the old version of
macOS for Apple Silicon, use the instructions found in the
"Recompiling MacPorts" section to build Tux Paint to run on older
versions of macOS for Apple Silicon.
As of this writing, the oldest version of macOS available on Apple's
support site is Yosemite 10.10, which expects "GPT (GUID Partition
@ -700,10 +716,6 @@ Compiling and Installation
using the instructions found here:
https://support.apple.com/en-mide/HT201372
It has been found that macOS can be installed onto the bootable
media itself, so you can make the flash drive into a bootable
installer then install the old macOS onto the same flash drive.
Once the old macOS is installed, you may find the Xcode on the App
Store is too new to run on the version of the old macOS. Old
versions of Xcode can be downloaded from Apple's Developer site in
@ -719,6 +731,79 @@ Compiling and Installation
--install") but otherwise build Tux Paint using the same steps
described in the earlier part of this document.
Recompiling MacPorts
To recompile MacPorts to be usable on older versions of macOS, set
the following options in /opt/local/etc/macports/macports.conf:
buildfromsource always
macosx_deployment_target 10.10
Then uninstall all MacPorts packages:
$ sudo port -fp uninstall installed
Then reinstall all MacPorts packages needed by Tux Paint. Also
rebuild libimagequant using the updated Cargo package from MacPorts.
As of this writing, all libraries Tux Paint requires from MacPorts
can be recompiled in this manner to run on macOS 10.10 Yosemite and
later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple
Silicon. Unfortunately, although MacPorts has the option to enable
the building of universal libraries, several libraries Tux Paint
require cannot be built as universal libraries so they can only be
built to run natively on the hardware on which they were built. See
"Building a Universal Binary" below for instructions on how to build
Tux Paint as a Universal Binary.
Building for Apple Silicon
macOS for Applie 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.^* However, the Tux Paint compilation
process modifies the libraries to be modular (using
install_name_tool) 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:
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
^* For more information on the code signing requirements on the
Apple Silicon, see
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 it before signing::
$ codesign --remove-signature TuxPaint.app
If you plan to combine the Apple Silicon bundle with the Intel CPU
bundle to produce the Universal bundle, the code signing must be
done after they are combined. See "Building a Universal Binary"
below.
Building a Universal Binary
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 build-universal.sh 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:
$ macos/build-universal.sh
$ codesign -s - TuxPaint.app
$ make TuxPaint.dmg
----------------------------------------------------------------------
Debugging

View file

@ -7,7 +7,7 @@
https://tuxpaint.org/
@TuxPaintTweets on Twitter
2022年1月20
2022年1月21
----------------------------------------------------------------------
@ -265,6 +265,12 @@ Tux Paint の起動
図形を描くには、キャンバス上でマウスをクリックし、そのままマウスを動かして図形を広げます。楕円や長方形のように縦横比を変えられる図形と、正方形や円のように縦横比を変えられない図形があります。
For shapes that can change proportion, the aspect ratio of
the shape will be shown at the bottom. For example: "1:1"
will be shown if it is "square" (as tall as it is wide);
"2:1" if it is either twice as wide as it is tall, or twice
as tall as it is wide; and so on.
図形を広げ終わったらマウスを放します。
通常の動作
@ -370,7 +376,7 @@ Tux Paint の起動
このツールをクリックすると、直前に行った操作が取り消されます。いくつもの操作をさかのぼって取り消すことができます!
注: キーボードで [Control] + [Z] を押しても取り消しできます。
注: キーボードで [Control / ⌘] + [Z] を押しても取り消しできます。
----------------------------------------------------------------------
@ -380,7 +386,7 @@ Tux Paint の起動
「とりけし」操作の後、描画を行っていなければ、取り消した全ての操作を元に戻せます!
注: キーボードで [Control] + [R] を押してもやりなおしできます。
注: キーボードで [Control / ⌘] + [R] を押してもやりなおしできます。
----------------------------------------------------------------------
@ -388,7 +394,7 @@ Tux Paint の起動
「さいしょから」のボタンを押すと、新規に絵を描き始めることができます。ダイアログ画面が表示され、キャンバスの背景色やレイヤー画像(後述)を選べます。
注: キーボードで [Control] + [N] を押しても新規作成ができます。
注: キーボードで [Control / ⌘] + [N] を押しても新規作成ができます。
レイヤー画像
@ -426,7 +432,7 @@ Tux Paint の起動
絵を開く時に、それまで描いていた絵が保存されていなければ、保存するかどうかを確認します。(「セーブ」の項を参照。)
注: キーボードで [Control] + [O] を押しても「ひらく」ダイアログを表示できます。
注: キーボードで [Control / ⌘] + [O] を押しても「ひらく」ダイアログを表示できます。
----------------------------------------------------------------------
@ -443,7 +449,7 @@ Tux Paint の起動
注: "saveover" オプション、または "saveovernew"
オプションのどちらかが設定されている場合は、確認なしに保存されます。詳しくは"各種設定について"のドキュメントを参照してください。)
注: キーボードで [Control] + [S] を押しても作品を保存できます。
注: キーボードで [Control / ⌘] + [S] を押しても作品を保存できます。
----------------------------------------------------------------------
@ -592,7 +598,7 @@ Tux Paint の起動
この場合、タイトルバーの「閉じる」ボタンか、[Alt] + [F4] キーで終了することができます。
また、上記のどちらの方法も使えない場合、[Shift] + [Control] + [Escape]
また、上記のどちらの方法も使えない場合、[Shift] + [Control / ⌘] + [Escape]
のキーの組み合わせで終了できます。
詳細は "各種設定について" のドキュメントを参照して下さい。

View file

@ -751,7 +751,7 @@
</h3>
<p style="font-size: small;">
<em>
2021年9月21日 Mark K. Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
2022年1月20日 Mark Kim &lt;<a href="mailto:markuskimius@gmail.com">markuskimius@gmail.com</a>&gt;
</em>
</p>
@ -800,7 +800,7 @@
$ sudo port install rust cargo<br/>
$ git clone https://github.com/ImageOptim/libimagequant.git<br/>
$ cd libimagequant/imagequant-sys<br/>
$ cargo build --release<br/>
$ cargo build --release # Must use cargo from MacPorts<br/>
$ sudo make PREFIX=/opt/local install
</code>
</blockquote>
@ -823,7 +823,10 @@
% make install
</code>
</blockquote>
... to create the <code>TuxPaint.app</code> application bundle that can be run in-place or copied to <code>/Applications</code>. It also creates <code>TuxPaint.dmg</code> for distribution. </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>
<p>
Additional steps may be required when building for the Apple Silicon. See "Building for Apple Silicon" below. </p>
</blockquote>
<hr size="1" noshade width="75%" />
@ -834,7 +837,9 @@
<li>
A macOS binary built on a specific version of macOS only runs on that version of macOS or later. To ensure Tux Paint can run on the oldest version of macOS possible, build it on the oldest version of macOS available. As of this writing we know Tux Paint cannot be built to run on macOS 10.7 or earlier.<br/>
<br/>
See "Old Versions of macOS" below for best-effort instructions on how to obtain, install, and build Tux Paint on an old version of macOS. </li>
See "Old Versions of macOS" below for best-effort instructions on how to obtain, install, and build Tux Paint on an old version of macOS.<br/>
<br/>
Alternatively, Tux Paint and all of its library dependencies may be compiled with appropriate options to be runnable on older versions of macOS. These options are already set on Tux Paint, so only its dependencies (from MacPorts) need to be recompiled. See "Recompiling MacPorts" below for the instructions. </li>
</ul>
</blockquote>
@ -846,7 +851,10 @@
Some old versions of macOS can be downloaded from Apple's support page: <a href="https://support.apple.com/en-us/HT211683">https://support.apple.com/en-us/HT211683</a> </p>
<p>
macOS does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly. </p>
macOS for Intel CPU does allow dual booting of multiple versions of the OS, but it's safer and easier to install the old macOS onto a flash drive. Wherever you're installing it, the target drive's partitioniong scheme and partition type must match what the old macOS expects, so use the Disk Utility to partition and format the flash drive accordingly. </p>
<p>
Dual booting multiple versions of macOS for Apple Silicon has been so far unsuccessful. Instead of installing an older version of macOS for Apple Silicon to build Tux Paint to run on the old version of macOS for Apple Silicon, use the instructions found in the "Recompiling MacPorts" section to build Tux Paint to run on older versions of macOS for Apple Silicon. </p>
<p>
As of this writing, the oldest version of macOS available on Apple's support site is Yosemite 10.10, which expects "GPT (GUID Partition Table)" partitioning scheme instead of the older MBR scheme, and "Mac OS Extended (Journaled)" as the partition type instead of the newer APFS partition type. </p>
@ -854,9 +862,6 @@
<p>
Upon launching the installer, if you get a popup about macOS being too old or new to be installed, a bootable installer can be created using the instructions found here: <a href="https://support.apple.com/en-mide/HT201372">https://support.apple.com/en-mide/HT201372</a> </p>
<p>
It has been found that macOS can be installed onto the bootable media itself, so you can make the flash drive into a bootable installer then install the old macOS onto the same flash drive. </p>
<p>
Once the old macOS is installed, you may find the Xcode on the App Store is too new to run on the version of the old macOS. Old versions of Xcode can be downloaded from Apple's Developer site in an area accessible with free registration: <a href="https://developer.apple.com/download/more/">https://developer.apple.com/download/more/</a> </p>
@ -868,6 +873,64 @@
</blockquote>
<h4>Recompiling MacPorts</h4>
<blockquote>
<p>
To recompile MacPorts to be usable on older versions of macOS, set the following options in <code style="white-space: nowrap;">/opt/local/etc/macports/macports.conf</code>: <blockquote>
<code>
buildfromsource always<br/>
macosx_deployment_target 10.10
</code>
</blockquote>
</p>
<p>
Then uninstall all MacPorts packages: <blockquote>
<code>
$ sudo port -fp uninstall installed
</code>
</blockquote>
</p>
<p>
Then reinstall all MacPorts packages needed by Tux Paint. Also rebuild libimagequant using the updated Cargo package from MacPorts. </p>
<p>
As of this writing, all libraries Tux Paint requires from MacPorts can be recompiled in this manner to run on macOS 10.10 Yosemite and later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple Silicon. Unfortunately, although MacPorts has the option to enable the building of universal libraries, several libraries Tux Paint require cannot be built as universal libraries so they can only be built to run natively on the hardware on which they were built. See "Building a Universal Binary" below for instructions on how to build Tux Paint as a Universal Binary. </p>
</blockquote>
<h4>Building for Apple Silicon</h4>
<blockquote>
<p>macOS for Applie 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>
$ codesign -s - TuxPaint.app<br/>
$ make TuxPaint.dmg
</code>
</blockquote>
<sup>*</sup> For more information on the code signing requirements on the Apple Silicon, see 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.
</p>
<p>If you get an error that the application bundle is already signed, remove it before signing:: <blockquote>
<code>
$ codesign --remove-signature TuxPaint.app
</code>
</blockquote>
</p>
<p>If you plan to combine the Apple Silicon bundle with the Intel CPU bundle to produce the Universal bundle, the code signing must be done after they are combined. See "Building a Universal Binary" below. </p>
</blockquote>
<h4>Building a Universal Binary</h4>
<blockquote>
<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>
<code>
$ macos/build-universal.sh<br/>
$ codesign -s - TuxPaint.app <br/>
$ make TuxPaint.dmg
</code>
</blockquote>
</p>
</blockquote>
</blockquote>
</blockquote>

View file

@ -29,7 +29,7 @@
</p>
<p>
2022年1月20</p>
2022年1月21</p>
</center>
<hr size="2"
@ -589,6 +589,9 @@
<p>
図形を描くには、キャンバス上でマウスをクリックし、そのままマウスを動かして図形を広げます。楕円や長方形のように縦横比を変えられる図形と、正方形や円のように縦横比を変えられない図形があります。 </p>
<p>
For shapes that can change proportion, the aspect ratio of the shape will be shown at the bottom. For example: "1:1" will be shown if it is "square" (as tall as it is wide); "2:1" if it is either twice as wide as it is tall, or twice as tall as it is wide; and so on. </p>
<p>
図形を広げ終わったらマウスを放します。 </p>
@ -807,7 +810,7 @@
このツールをクリックすると、直前に行った操作が取り消されます。いくつもの操作をさかのぼって取り消すことができます! </p>
<p>
<strong>注:</strong> キーボードで <b><code>[Control]</code></b> + <code><b>[Z]</b></code> を押しても取り消しできます。 </p>
<strong>注:</strong> キーボードで <b><code>[Control / &#8984;]</code></b> + <code><b>[Z]</b></code> を押しても取り消しできます。 </p>
<br clear="all">
<hr size="1">
@ -830,7 +833,7 @@
「とりけし」操作の後、描画を行っていなければ、取り消した全ての操作を元に戻せます! </p>
<p>
<strong>注:</strong> キーボードで <b><code>[Control]</code></b> + <code><b>[R]</b></code> を押してもやりなおしできます。 </p>
<strong>注:</strong> キーボードで <b><code>[Control / &#8984;]</code></b> + <code><b>[R]</b></code> を押してもやりなおしできます。 </p>
<br clear="all">
<hr size="1">
@ -850,7 +853,7 @@
「さいしょから」のボタンを押すと、新規に絵を描き始めることができます。ダイアログ画面が表示され、キャンバスの背景色やレイヤー画像(後述)を選べます。 </p>
<p>
<strong>注:</strong> キーボードで <b><code>[Control]</code></b> + <code><b>[N]</b></code> を押しても新規作成ができます。 </p>
<strong>注:</strong> キーボードで <b><code>[Control / &#8984;]</code></b> + <code><b>[N]</b></code> を押しても新規作成ができます。 </p>
<strong>レイヤー画像</strong>
<blockquote>
<p>
@ -963,7 +966,7 @@
絵を開く時に、それまで描いていた絵が保存されていなければ、保存するかどうかを確認します。(「<a href="#save">セーブ</a>」の項を参照。) </p>
<p>
<strong>注:</strong> キーボードで <b><code>[Control]</code></b> + <code><b>[O]</b></code> を押しても「ひらく」ダイアログを表示できます。 </p>
<strong>注:</strong> キーボードで <b><code>[Control / &#8984;]</code></b> + <code><b>[O]</b></code> を押しても「ひらく」ダイアログを表示できます。 </p>
<br clear="all">
<hr size="1">
@ -1003,7 +1006,7 @@
<strong>注:</strong> "<code>saveover</code>" オプション、または "<code>saveovernew</code>" オプションのどちらかが設定されている場合は、確認なしに保存されます。詳しくは"<a href="OPTIONS.html"><em>各種設定について</em></a>"のドキュメントを参照してください。) </p>
<p>
<strong>注:</strong> キーボードで <b><code>[Control]</code></b> + <code><b>[S]</b></code> を押しても作品を保存できます。 </p>
<strong>注:</strong> キーボードで <b><code>[Control / &#8984;]</code></b> + <code><b>[S]</b></code> を押しても作品を保存できます。 </p>
<br clear="all">
<hr size="1">
@ -1255,7 +1258,7 @@
この場合、タイトルバーの「閉じる」ボタンか、<b><code>[Alt]</code></b> + <b><code>[F4]</code></b> キーで終了することができます。 </p>
<p>
また、上記のどちらの方法も使えない場合、<b><code>[Shift]</code></b> + <b><code>[Control]</code></b> + <b><code>[Escape]</code></b> のキーの組み合わせで終了できます。 </p>
また、上記のどちらの方法も使えない場合、<b><code>[Shift]</code></b> + <b><code>[Control / &#8984;]</code></b> + <b><code>[Escape]</code></b> のキーの組み合わせで終了できます。 </p>
<p>
詳細は "<a href="OPTIONS.html"><em>各種設定について</em></a>" のドキュメントを参照して下さい。 </p>