Commit 696d2ba8 authored by Emmanuele Bassi's avatar Emmanuele Bassi

Drop intltool and clean up the build

We can use upstream gettext for everything we ship, these days.

While switching away from intltool I realised that the appdata XML we
ship is *ancient* and full of deprecated tags — to the point that
gettext's own ITS translation rules were unable to work with it; the
only reason intltool works is because it does not do any validation.
parent d793a0f8
GNOME Screenshot
================
GNOME Screenshot is a small utility that takes a screenshot of the whole
desktop; the currently focused window; or an area of the screen.
### Dependencies
- GLib 2.36
- GTK+ 3.0
- libcanberra-gtk3
- X11
......@@ -23,7 +23,6 @@ if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
fi
aclocal --install || exit 1
intltoolize --force --copy --automake || exit 1
autoreconf --verbose --force --install || exit 1
cd "$olddir"
......
dnl -*- mode: m4 -*-
AC_PREREQ(2.63)
AC_INIT([gnome-screenshot],[3.23.0],[],[gnome-screenshot])
AC_INIT([gnome-screenshot],
[3.23.0],
[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-screenshot],
[gnome-screenshot])
AC_CONFIG_HEADERS(config.h)
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 dist-xz no-dist-gzip foreign])
AM_INIT_AUTOMAKE([1.13 -Wno-portability subdir-objects dist-xz no-dist-gzip foreign])
AM_SILENT_RULES([yes])
AM_MAINTAINER_MODE([enable])
AM_GNU_GETTEXT_VERSION([0.19.8])
AM_GNU_GETTEXT([external])
GETTEXT_PACKAGE=AC_PACKAGE_NAME
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[The name of the gettext domain])
IT_PROG_INTLTOOL(0.50.2)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The name of the gettext domain])
AC_PROG_CC
AC_PROG_CC_C99
AC_PROG_SED
AM_PROG_CC_C_O
GLIB_GSETTINGS
......@@ -22,15 +28,12 @@ GLIB_MIN_VERSION=2.35.1
GTK_MIN_VERSION=3.0.0
msg_xshape=no
PKG_CHECK_MODULES([XSHAPE],
[xext x11],
[
AC_CHECK_HEADERS([X11/extensions/shape.h],
[
XSHAPE_LIBS="-lXext -lX11"
msg_xshape=yes
])
])
PKG_CHECK_MODULES([XSHAPE], [xext x11], [
AC_CHECK_HEADERS([X11/extensions/shape.h], [
XSHAPE_LIBS="-lXext -lX11"
msg_xshape=yes
])
])
AC_SUBST(XSHAPE_LIBS)
PKG_CHECK_MODULES(SCREENSHOT,
......@@ -39,9 +42,9 @@ PKG_CHECK_MODULES(SCREENSHOT,
libcanberra-gtk3)
AC_CONFIG_FILES([
Makefile
src/Makefile
po/Makefile.in
Makefile
src/Makefile
po/Makefile.in
])
AC_OUTPUT
......
# Makefile variables for PO directory in any package using GNU gettext.
# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)
# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..
# These options get passed to xgettext.
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
# package. (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.) Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright. The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = GNOME Screenshot authors
# This tells whether or not to prepend "GNU " prefix to the package
# name that gets inserted into the header of the $(DOMAIN).pot file.
# Possible values are "yes", "no", or empty. If it is empty, try to
# detect it automatically by scanning the files in $(top_srcdir) for
# "GNU packagename" string.
PACKAGE_GNU = no
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
# in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
# understood.
# - Strings which make invalid assumptions about notation of date, time or
# money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS = https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-screenshot&keywords=I18N+L10N&component=general
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
EXTRA_LOCALE_CATEGORIES =
# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
# context. Possible values are "yes" and "no". Set this to yes if the
# package uses functions taking also a message context, like pgettext(), or
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
USE_MSGCTXT = no
# These options get passed to msgmerge.
# Useful options are in particular:
# --previous to keep previous msgids of translated messages,
# --quiet to reduce the verbosity.
MSGMERGE_OPTIONS =
# These options get passed to msginit.
# If you want to disable line wrapping when writing PO files, add
# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
# MSGINIT_OPTIONS.
MSGINIT_OPTIONS =
# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
# has changed. Possible values are "yes" and "no". Set this to no if
# the POT file is checked in the repository and the version control
# program ignores timestamps.
PO_DEPENDS_ON_POT = yes
# This tells whether or not to forcibly update $(DOMAIN).pot and
# regenerate PO files on "make dist". Possible values are "yes" and
# "no". Set this to no if the POT file and PO files are maintained
# externally.
DIST_DEPENDS_ON_UPDATE_PO = yes
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
src/gnome-screenshot.c
src/org.gnome.Screenshot.desktop.in
src/org.gnome.Screenshot.appdata.xml.in
[type: gettext/glade]src/screenshot-app-menu.ui
[type: gettext/glade]src/screenshot-dialog.ui
src/org.gnome.gnome-screenshot.gschema.xml
src/org.gnome.Screenshot.desktop.in
src/org.gnome.Screenshot.metainfo.xml.in
src/screenshot-app-menu.ui
src/screenshot-application.c
src/screenshot-config.c
src/screenshot-dialog.c
src/screenshot-dialog.ui
src/screenshot-filename-builder.c
src/screenshot-interactive-dialog.c
src/screenshot-shadow.c
......
NULL =
EXTRA_DIST =
CLEANFILES =
DISTCLEANFILES =
AM_CPPFLAGS = \
-I. \
-I$(srcdir) \
-I$(top_builddir)/src \
-I$(top_srcdir)/src \
-DLOCALEDIR=\"$(localedir)\" \
-DUIDIR=\"$(uidir)\" \
$(NULL)
-DGLIB_DISABLE_DEPRECATION_WARNINGS \
-DGDK_DISABLE_DEPRECATION_WARNINGS \
$()
bin_PROGRAMS = \
gnome-screenshot \
$(NULL)
bin_PROGRAMS = gnome-screenshot
BUILT_SOURCES = \
screenshot-resources.c \
screenshot-resources.h \
$()
resource_files = $(shell glib-compile-resources --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/gnome-screenshot.gresource.xml)
screenshot-resources.c: gnome-screenshot.gresource.xml $(resource_files)
$(AM_V_GEN)glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-source --c-name screenshot $(srcdir)/gnome-screenshot.gresource.xml
$(AM_V_GEN) glib-compile-resources \
--target=$@ \
--sourcedir=$(srcdir) \
--generate-source \
--c-name screenshot \
$(srcdir)/gnome-screenshot.gresource.xml
screenshot-resources.h: gnome-screenshot.gresource.xml $(resource_files)
$(AM_V_GEN)glib-compile-resources --target=$@ --sourcedir=$(srcdir) --generate-header --c-name screenshot $(srcdir)/gnome-screenshot.gresource.xml
$(AM_V_GEN) glib-compile-resources \
--target=$@ \
--sourcedir=$(srcdir) \
--generate-header \
--c-name screenshot \
$(srcdir)/gnome-screenshot.gresource.xml
BUILT_SOURCES = \
screenshot-resources.c \
screenshot-resources.h \
$(NULL)
EXTRA_DIST += gnome-screenshot.gresource.xml
CLEANFILES += screenshot-resources.c screenshot-resources.h
gnome_screenshot_SOURCES = \
$(BUILT_SOURCES) \
......@@ -43,63 +57,48 @@ gnome_screenshot_SOURCES = \
screenshot-shadow.h \
screenshot-utils.c \
screenshot-utils.h \
$(NULL)
$()
gnome_screenshot_CFLAGS = \
$(SCREENSHOT_CFLAGS) \
$(XSHAPE_CFLAGS) \
$(NULL)
$()
gnome_screenshot_LDADD = \
$(SCREENSHOT_LIBS) \
$(XSHAPE_LIBS) \
-lm \
$(NULL)
$()
gnome_screenshotdir = $(datadir)/applications
gnome_screenshot_in_files = org.gnome.Screenshot.desktop.in
gnome_screenshot_DATA = $(gnome_screenshot_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
org.gnome.Screenshot.desktop: $(gnome_screenshot_in_files)
$(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
CLEANFILES += $(gnome_screenshot_DATA)
EXTRA_DIST += $(gnome_screenshot_in_files)
appdatadir = $(datadir)/appdata
appdatadir = $(datadir)/metainfo
appdata_DATA = $(appdata_in_files:.xml.in=.xml)
appdata_in_files = org.gnome.Screenshot.appdata.xml.in
@INTLTOOL_XML_RULE@
appdata_in_files = org.gnome.Screenshot.metainfo.xml.in
org.gnome.Screenshot.metainfo.xml: $(appdata_in_files)
$(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
CLEANFILES += $(appdata_DATA)
EXTRA_DIST += $(appdata_in_files)
dbusservicedir = $(datadir)/dbus-1/services
dbusservice_DATA = org.gnome.Screenshot.service
org.gnome.Screenshot.service: Makefile
$(AM_V_GEN) (echo '[D-BUS Service]'; \
echo 'Name=org.gnome.Screenshot'; \
echo 'Exec=${bindir}/gnome-screenshot --gapplication-service') > $@.tmp && \
mv $@.tmp $@
man_MANS = gnome-screenshot.1
dbusservice_in_files = org.gnome.Screenshot.service.in
dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
org.gnome.Screenshot.service: $(dbusservice_in_files)
$(AM_V_GEN) $(SED) -e 's|\@bindir\@|@bindir@|' $< > $@
CLEANFILES += $(dbusservice_DATA)
EXTRA_DIST += $(dbusservice_in_files)
gsettings_SCHEMAS = org.gnome.gnome-screenshot.gschema.xml
EXTRA_DIST += $(gsettings_SCHEMAS)
@GSETTINGS_RULES@
convertdir = $(datadir)/GConf/gsettings
convert_DATA = gnome-screenshot.convert
@GSETTINGS_RULES@
EXTRA_DIST = \
$(appdata_in_files) \
$(gsettings_SCHEMAS) \
$(gnome_screenshot_in_files) \
$(man_MANS) \
$(convert_DATA) \
$(resource_files) \
gnome-screenshot.gresource.xml \
$(NULL)
CLEANFILES = \
$(BUILT_SOURCES) \
$(appdata_DATA) \
$(gnome_screenshot_DATA) \
$(dbusservice_DATA) \
$(NULL)
dist-hook:
cd $(distdir) ; rm -f $(CLEANFILES)
man_MANS = gnome-screenshot.1
[Desktop Entry]
_Name=Screenshot
_Comment=Save images of your screen or individual windows
_Keywords=snapshot;capture;print;screenshot;
Name=Screenshot
Comment=Save images of your screen or individual windows
Keywords=snapshot;capture;print;screenshot;
Exec=gnome-screenshot --interactive
Terminal=false
Type=Application
......@@ -16,9 +16,9 @@ Actions=screen-shot;window-shot;
DBusActivatable=true
[Desktop Action screen-shot]
_Name=Take a Screenshot of the Whole Screen
Name=Take a Screenshot of the Whole Screen
Exec=gnome-screenshot
[Desktop Action window-shot]
_Name=Take a Screenshot of the Current Window
Name=Take a Screenshot of the Current Window
Exec=gnome-screenshot -w
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
<application>
<id type="desktop">org.gnome.Screenshot.desktop</id>
<component type="desktop">
<id>org.gnome.Screenshot.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<_name>GNOME Screenshot</_name>
<_summary>Save images of your screen or individual windows</_summary>
<project_license>GPL-2.0+</project_license>
<name>GNOME Screenshot</name>
<summary>Save images of your screen or individual windows</summary>
<description>
<_p>
<p>
GNOME Screenshot is a simple utility that lets you take pictures of your computer screen.
Screenshots can be of your whole screen, any specific application, or a selected
rectangular area.
You can also copy the captured screenshot directly into the GNOME clipboard and
paste it into other applications.
</_p>
<_p>
</p>
<p>
GNOME Screenshot allows you to take screenshots even when it’s not open: just
press the PrtSc button on your keyboard, and a snapshot of your whole screen will
be saved to your Pictures folder.
Hold Alt while pressing PrtSc and you will get a screenshot of only the currently
selected window.
</_p>
</p>
</description>
<url type="homepage">https://git.gnome.org/browse/gnome-screenshot/</url>
<url type="bugtracker">https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-screenshot</url>
<url type="donation">http://www.gnome.org/friends/</url>
<screenshots>
<screenshot type="default">https://git.gnome.org/browse/gnome-screenshot/plain/src/gnome-screenshot.png</screenshot>
<screenshot type="default">
<image>https://git.gnome.org/browse/gnome-screenshot/plain/src/gnome-screenshot.png</image>
</screenshot>
</screenshots>
<kudos>
<kudo>AppMenu</kudo>
<kudo>HiDpiIcon</kudo>
<kudo>ModernToolkit</kudo>
</kudos>
<updatecontact>richard@hughsie.com</updatecontact>
<updatecontact>ebassi@gnome.org</updatecontact>
<project_group>GNOME</project_group>
<compulsory_for_desktop>GNOME</compulsory_for_desktop>
<translation type="gettext">gnome-screenshot</translation>
</application>
</component>
[D-BUS Service]
Name=org.gnome.Screenshot
Exec=@bindir@/gnome-screenshot --gapplication-service
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment