Commit graph

438 commits

Author SHA1 Message Date
Bill Kendrick
2327fc58e7 "rm -f" after failed starter/template thumbnail
If `convert` fails, and didn't generate a file at all, `make` would
abort due to `rm` being unable to delete the non-existent broken
thumbnail.  Using `rm -f` now, so it doesn't abort if the thumbnail
file didn't get created AT ALL.

h/t Luc
2023-05-01 13:56:43 -07:00
Bill Kendrick
cef773a694 Now REQUIRING SDL2_Pango; no NO_SDLPANGO option
Motivation - Without SDL2_Pango, languages like Japanese,
Arabic, and Thai do not render properly.  Currently, Debian
(and hence Ubuntu) do not have SDL2_Pango, so Tux Paint 0.9.28
is adversely affected.  Fedora DOES have SDL2_Pango, so works well.
This also allows us to delete a lot of ancient cruft code.

Closes https://sourceforge.net/p/tuxpaint/bugs/268/
h/t Pere

(INSTALL docs to be updated momentarily)
2023-04-30 16:10:29 -07:00
Bill Kendrick
e49c55fbe6 WIP Magic size option; regen docs for 0.9.30 version 2023-04-09 23:25:48 -07:00
Bill Kendrick
a9e395dab8 Bump version to 0.9.30
Also, credit Jacques for French update.
2023-04-03 22:05:22 -07:00
Bill Kendrick
833ea93fcb "Tux Paint (Fullscreen)" launcher for Freedesktop.org
Adding a separate launcher that runs "tuxpaint --fullscreen=native"
for XDG environments (e.g., Linux); similar to what we have for
Windows.

Closes https://sourceforge.net/p/tuxpaint/feature-requests/227/
h/t Aaron
2023-04-01 16:50:19 -07:00
Bill Kendrick
041302c927 Dropping -rc3; next release likely to be final! 2023-03-30 09:56:48 -07:00
Bill Kendrick
8577a97c23 Bump to -rc3, update appdata & win32/resources.rc; regen POT/PO 2023-03-24 00:17:12 -07:00
Bill Kendrick
025c42be4f Mend issue with VER_FLAVOR
Can't put a "# ...comment" where I did; it breaks things!!!
2023-03-22 01:00:20 -07:00
Bill Kendrick
0ea015aa93 Drop "-sdl2" VER_FLAVOR
SDL1.2 is no longer supported, so nothing to distinguish.
2023-03-22 00:57:52 -07:00
Bill Kendrick
55b815affc Bumping ver to 0.9.29-rc2
Mended a stamp scaling bug just now, so probably worth another
release candidate before making a final release.

N.B. Still waiting to hear back from Pere about Kaleido-# tools
not appearing on Android, before cutting a new release.
2023-03-19 11:18:01 -07:00
Bill Kendrick
7dee091fb4 Set version to 0.9.29-rc1 for 1st release candidate 2023-03-16 22:05:54 -07:00
Bill Kendrick
34de8311db Zoom/Perspective: Support background color changes
When in the middle of adjusting a drawing with Zoom or Perspective,
you could change the color.  However, the background would not
relfect this until you further adjusted the zoom/perspective.

Now, a color change causes the background to update immediately.

This involved updating the Tux Paint Magic API to send more
arguments to each Magic tool's "XYZ_set_color()" function,
which means a bump in the API version.

(Forthcoming, all other Magic tools will have their set_color()
functions updated.)
2023-01-25 02:12:57 -08:00
Bill Kendrick
7279912af0 Drop 'trans' depencency for .mo files
Every time I ran `make`, it would re-build the .mo files!
2023-01-10 23:57:07 -08:00
Bill Kendrick
42cf1f532c Makefile: Remove rogue 'k'; update date 2023-01-02 11:47:00 -08:00
Philipp Rösner
33d94454a8
Add support for --shuffle GNU make flag
Add missing dependecies without which build
failures occur while using the --shuffle flag for GNU make.
2022-12-21 23:53:46 +01:00
Bill Kendrick
0517b4392c Update URL to https://tuxpaint.org/ everywhere
Also, add other social media accounts to list of places to
announce Tux Paint in RELEASE docs.

Also, list a ton more options missing from default example config file
"src/tuxpaint.conf"
2022-12-11 01:29:25 -08:00
Mark Kim
a56fba3565 Clearer post-make-install instructions on macOS 2022-12-03 11:26:59 -05:00
Mark Kim
3849480fd4 Pango loads Tux Paint-supplied fonts on macOS.
Previously Pango loaded system-supplied fonts instead, which could lead
to fonts not rendering in a human-readable text.  This change fixes
https://sourceforge.net/p/tuxpaint/bugs/265/
2022-12-02 22:57:38 -05:00
Bill Kendrick
9986ef2a49 Sync'd docs to get new tp_magic_example.c
...now localizable!
2022-10-18 01:27:36 -07:00
Bill Kendrick
632459087e Better performance from "Rush" (by using SDL_gfx rotozoom)
Applying patch from Pere.  ALSO, bumping Tux Paint Magic Tool API version.
2022-10-03 22:50:40 -07:00
Mark Kim
69ece3161e make clean macOS temp files
Clean temp files introduced by b331
2022-09-10 15:07:25 -04:00
Mark Kim
dd3009408f Automatically update macOS build version at build time. 2022-09-10 09:16:10 -04:00
dolphin6k
e2f5abdae6 Revert "Added FREETYPE_CFLAGS macro to make it find those headers."
This reverts commit af2166df14.
2022-08-20 22:23:27 +09:00
Shin-ichi TOYAMA
af2166df14 Added FREETYPE_CFLAGS macro to make it find those headers. 2022-08-18 14:38:21 +09:00
Bill Kendrick
60120b763c Merge branch 'master' into sdl2.0 2022-07-03 19:58:34 -07:00
Bill Kendrick
06fafcb6d6 "test-png" tool to find PNGs that cause warnings
New tool, "test-png", which exercises libpng library on
a set of PNG image files, allowing us to find those which
cause Tux Paint (via SDL_image, in turn via libpng) to
report back warnings to STDERR.

h/t Tim Dickson, per https://sourceforge.net/p/tuxpaint/bugs/252/
2022-07-03 17:18:58 -07:00
Mark Kim
633a3628d6 Compatibility with SDL2_Pango 0.1.3
Include all headers needed by SDL2_Pango when building the fonts file by
querying pkg-config.
2022-07-02 22:29:47 -04:00
Bill Kendrick
d289d407ad Merge branch 'master' into sdl2.0 2022-06-29 21:04:32 -07:00
Will Thompson
38bc3b27d8 Fix detection of xdg-icon-resource
If given more than one argument, 'which' prints the path to each one (if
found). Previously, which was passed two arguments: 'xdg-icon-resource',
and 'install'. But in the contained block of statements, 'install' is
an argument passed to 'xdg-icon-resource'. Pass only 'xdg-icon-resource'
to which.
2022-06-29 13:05:59 +01:00
Will Thompson
4120af3b5f Rename metainfo file to appdata
gettext 0.19.7 gained support for translating appdata files, whereas
support for metainfo files was added in 0.20. These file formats are
effectively the same: as documented in the AppStream specification,
desktop applications can install files with the suffix .appdata.xml
rather than .metainfo.xml and these will still be handled correctly.

It is desirable for this project to support RHEL 7, which has gettext
0.19.8.1, so let's use the older filename.

As noted in the same section of the specification, appdata files were
previously installed to /usr/share/appdata rather than
/usr/share/metainfo, but the spec asserts that the newer metainfo path
works all the way back to RHEL 7, so we keep the newer installation
path.

Thanks to Shin-ichi TOYAMA for flagging this issue.

https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
2022-06-29 13:05:40 +01:00
Will Thompson
c03b688e98 Create metainfo directory with 'install'
The -D argument to install, together with -t DEST, means "ensure DEST
exists".
2022-06-29 12:40:44 +01:00
Bill Kendrick
080d78fe45 Make sure METAINFO dir exists 2022-06-29 00:38:03 -07:00
Bill Kendrick
73d5e9b8c6 Make sure METAINFO dir exists 2022-06-29 00:33:06 -07:00
Bill Kendrick
294c42bb3f Merge branch 'master' into sdl2.0 2022-06-14 00:52:44 -07:00
Bill Kendrick
a7151c7b43 Merge commit '21bdf7de11' 2022-06-14 00:49:25 -07:00
Bill Kendrick
5532ddd2fd Merge branch 'master' into sdl2.0 2022-06-14 00:38:27 -07:00
Bill Kendrick
fbfd609665 Bumping version to 0.9.29; doc'ing recent additions
Some things snuck in to 0.9.28 binary builds, or were added
recently; making sure they're doc'd in CHANGES.txt
2022-06-14 00:15:58 -07:00
Will Thompson
74506214e7 Add appstream metainfo file
This is used by software centres such as GNOME Software to display
information about the app, both before and after it is installed.

The <id> used here follows the recommendations in the Appstream
specification, with the exception of violating the spec's strong
encouragement to use only lowercase characters. This is because the
version that is already published by Flathub uses an uppercase T in the
final component of the ID.[0] The file shipped by Fedora followed an older
convention of using the desktop file name as the ID. This is
acknowledged by the <provides> section near the bottom of the file,
which will allow software centres to associate the reverse-domain-name
ID with the older ID.[1]

Many fields in this file are translatable.  This was the motivation for
the preceeding two changes:

- By using xgettext rather than intltool, the untranslated template may
  be written using the normal appstream XML tags, rather than needing to
  use (for example) <_name>Tux Paint</_name> to mark that field for
  translation, which renders the template not valid for tools like
  'appstreamcli validate'.
- Merging translations at build time, rather than committing the
  translated XML to the repo as well, avoids another potentially
  error-prone manual step when updating the source file or translations.

The release notes are taken from the press releases on the Tuxpaint
website. They will be extracted for translation. Another option is to
replace the <description> with <url type="details">...</url>, but AFAIK
no software centres currently show these URLs.[2]

[0]: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-id-generic
[1]: https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html#tag-id-desktopapp
[2]: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-releases

TODO:

- align comment

Fixes: https://sourceforge.net/p/tuxpaint/feature-requests/172/
2022-06-10 21:45:44 +01:00
Will Thompson
b4aa697474 Merge desktop file at build time
Previously, both the .desktop.in template and the final .desktop file
were checked into source control.

While in some ways convenient, the manual step of updating it may be
forgotten after updating a translation or adjusting the template. It
also potentially introduces confusion as to which file to modify.

Instead, generate the .desktop file at build time. Since this is now
done using msgfmt rather than intltool, there is no additional
dependency beyond gettext, which is already used at build time to
compile .po files to .mo files.
2022-06-10 10:36:56 +01:00
dolphin6k
ff4352d575 Corrected suffix of the system-wide config file 2022-06-10 10:57:06 +09:00
Bill Kendrick
be9614f5b5 For release: This is SDL2.0 branch 2022-06-04 00:23:15 -07:00
Bill Kendrick
2af844e40c Merge branch 'master' into sdl2.0 2022-06-04 00:22:54 -07:00
Bill Kendrick
a4c894ac08 Release builds tarballs that denote branch
(SDL1.2 vs SDL2.0)
2022-06-04 00:22:32 -07:00
Pere Pujal i Carabantes
eb7f55e289 Merge branch 'master' into sdl2.0
Some things are still WIP, they need to be tested and addressed later.
2022-02-17 23:57:28 +01:00
Pere Pujal i Carabantes
63fbd45cd1 Merge branch 'master' into sdl2.0 2022-02-13 01:44:39 +01:00
dolphin6k
b71955c150 Use "<dynamic full path of current dir>\\locale" to bindtextdomain() only for the target "bdist-win32" 2022-02-09 23:12:12 +09:00
dolphin6k
f1519a2a39 Better way to install dll files and .mo files for tpconf only for the target "bdist-win32" 2022-02-07 22:26:54 +09:00
Mark Kim
c2ab6d461c merge macos.c and macos.m, update ios.*
* Merged macos.c into macos.m.
* Updated ios.h and ios.c to be compatible with the macos.* changes.
* Renamed ios.c to ios.m.
2022-02-06 11:29:19 -05:00
Mark Kim
7aa000b68a Tux Paint for macOS can localize menus (feature request #183)
Tux Paint for macOS can now localize the macOS menubar.  Translation
files (*.po) will be required for the actual translations to show.
2022-02-05 18:40:36 -05:00
Pere Pujal i Carabantes
4107ae3ecd Step 1 of Merging branch 'master' into sdl2.0 in a try to minimize conflicts 2022-01-28 22:50:04 +01:00