Commit graph

21 commits

Author SHA1 Message Date
Mark Kim
dd3009408f Automatically update macOS build version at build time. 2022-09-10 09:16:10 -04:00
Mark Kim
6e21c4fab1 gitignore vim swap files 2022-09-10 08:30:14 -04: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
Bill Kendrick
d289d407ad Merge branch 'master' into sdl2.0 2022-06-29 21:04:32 -07: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
Bill Kendrick
294c42bb3f Merge branch 'master' into sdl2.0 2022-06-14 00:52:44 -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
Mark Kim
9ab896b8df update .gitignore
Add some intermediary files created during macOS build to .gitignore.
2022-06-05 15:51:02 -04:00
Mark Kim
b410a9dbfb update .gitignore
Add some intermediary files created during macOS build to .gitignore.
2022-06-05 15:49:41 -04:00
Pere Pujal i Carabantes
13b00d344f Merge branch 'master' into sdl2.0
2019 september 24 after remading the POs.
2019-09-24 20:14:14 +02:00
Pere Pujal i Carabantes
0ac3137487 .gitignore as the master branch 2019-09-24 20:10:23 +02:00
Bill Kendrick
94132b4049 Ignoring src/po/POTFILES.in
This file is generated, based on POTFILES.in.in (for main Tux Paint code)
and all of the Magic tool source files, by the "update-po.sh" script.
2019-09-24 08:42:00 -07:00
Pere Pujal i Carabantes
a1c778135d Merge branch 'master' into sdl2.0
Merging master 2019-september-24 into sdl2.0 branch
2019-09-24 14:52:40 +02:00
Bill Kendrick
dd8b60a6fb Adding '.thumbs' dirs to .gitignore 2019-09-14 10:15:45 -07:00
Bill Kendrick
fdc6df9302 Ignore dummy.o 2018-09-16 11:09:23 -07:00
Mark K. Kim
b80393c11b Proper DMG support on macOS.
Previously `make install` on macOS created TuxPaint.dmg, but it was a
simple disk image.

Now TuxPaint.dmg is formatted as one would expect from any other macOS app,
with a Tux folder icon, symlink to the /Applications folder, and a
background image with an arrow.
2018-05-25 00:24:46 -04:00
Mark K. Kim
2aa7f4d2ae macOS clean up and documentation update. Describe how to build macOS 10.13 High Sierra binary without the mouse cursor bug. Instruct git to ignore mac-specific build files, Makefile to clean up mac-specific build files. 2018-05-21 17:02:28 -04:00
Bill Kendrick
1de7430249 Ignore *~ files
Ingore *~ backup files (emacs, indent, etc.)
2017-10-15 10:11:22 -07:00
Bill Kendrick
f6fa015a36 Adding a .gitignore
Ignoring generated files & directories.
2017-10-15 09:23:10 -07:00