summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Lundblad <ml@update.uu.se>2018-02-21 21:39:24 +0100
committerMarcus Lundblad <ml@update.uu.se>2018-03-26 21:23:26 +0200
commit131cc5ac9f1a1bf1bccbc72b98714b74f2f8d463 (patch)
treeb4ae1317f3f9c96a3bd5634517f9fcb7a6fa0b84
parente4beba7b553c35acb88c16e965e707c066762471 (diff)
downloadgnome-maps-wip/mlundblad/meson.tar.gz
Switch to build with Mesonwip/mlundblad/meson
Implement Meson build support. Re-arrange icons into directory trees corresponding to the final install directories under public datadir and package-internal datadir to avoid parsing icon file names to produce a directory hierarchy. For this reason, drop autotools support now. Closes #104
-rw-r--r--.gitignore2
-rw-r--r--Makefile.am3
-rwxr-xr-xautogen.sh24
-rw-r--r--configure.ac81
-rw-r--r--data/Makefile.am73
-rw-r--r--data/icons/Makefile.am130
-rw-r--r--data/icons/meson.build9
-rw-r--r--data/icons/private/hicolor/16x16/apps/layer-not-visible-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_layer-not-visible-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/layer-visible-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_layer-visible-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/layers-button-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_layers-button-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/maps-point-end-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_maps-point-end-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/maps-point-end.svg (renamed from data/icons/hicolor_apps_16x16_maps-point-end.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/maps-point-start-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_maps-point-start-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/maps-point-start.svg (renamed from data/icons/hicolor_apps_16x16_maps-point-start.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-bike-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-bike-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-button-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-button-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-car-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-car-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-pedestrian-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-pedestrian-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-reverse-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-reverse-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-transit-bus-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-transit-bus-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-transit-cablecar-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-transit-cablecar-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-transit-ferry-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-transit-ferry-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-transit-funicular-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-transit-funicular-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-transit-gondolalift-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-transit-gondolalift-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-transit-subway-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-transit-subway-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-transit-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-transit-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-transit-train-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-transit-train-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/16x16/apps/route-transit-tram-symbolic.svg (renamed from data/icons/hicolor_apps_16x16_route-transit-tram-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/24x24/apps/user-location-compass.png (renamed from data/icons/hicolor_apps_24x24_user-location-compass.png)bin1298 -> 1298 bytes
-rw-r--r--data/icons/private/hicolor/24x24/apps/user-location.png (renamed from data/icons/hicolor_apps_24x24_user-location.png)bin1028 -> 1028 bytes
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-continue-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-continue-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-left-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-left-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-right-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-right-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-0-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-roundabout-0-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-135-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-roundabout-135-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-180-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-roundabout-180-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-225-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-roundabout-225-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-270-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-roundabout-270-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-315-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-roundabout-315-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-45-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-roundabout-45-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-90-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-roundabout-90-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-roundabout-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-sharpleft-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-sharpleft-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-sharpright-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-sharpright-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-slightleft-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-slightleft-symbolic.svg)0
-rw-r--r--data/icons/private/hicolor/32x32/apps/maps-direction-slightright-symbolic.svg (renamed from data/icons/hicolor_apps_32x32_maps-direction-slightright-symbolic.svg)0
-rw-r--r--data/icons/public/hicolor/16x16/apps/org.gnome.Maps.png (renamed from data/icons/hicolor_apps_16x16_org.gnome.Maps.png)bin975 -> 975 bytes
-rw-r--r--data/icons/public/hicolor/22x22/apps/org.gnome.Maps.png (renamed from data/icons/hicolor_apps_22x22_org.gnome.Maps.png)bin1508 -> 1508 bytes
-rw-r--r--data/icons/public/hicolor/24x24/apps/org.gnome.Maps.png (renamed from data/icons/hicolor_apps_24x24_org.gnome.Maps.png)bin1590 -> 1590 bytes
-rw-r--r--data/icons/public/hicolor/256x256/apps/org.gnome.Maps.png (renamed from data/icons/hicolor_apps_256x256_org.gnome.Maps.png)bin43685 -> 43685 bytes
-rw-r--r--data/icons/public/hicolor/32x32/apps/org.gnome.Maps.png (renamed from data/icons/hicolor_apps_32x32_org.gnome.Maps.png)bin2381 -> 2381 bytes
-rw-r--r--data/icons/public/hicolor/48x48/apps/org.gnome.Maps.png (renamed from data/icons/hicolor_apps_48x48_org.gnome.Maps.png)bin3689 -> 3689 bytes
-rw-r--r--data/icons/public/hicolor/symbolic/apps/org.gnome.Maps-symbolic.svg (renamed from data/icons/hicolor_apps_symbolic_org.gnome.Maps-symbolic.svg)0
-rw-r--r--data/meson.build56
-rw-r--r--lib/Makefile.am88
-rw-r--r--lib/meson.build75
-rw-r--r--meson.build60
-rw-r--r--meson_post_install.py42
-rw-r--r--org.gnome.Maps.json2
-rw-r--r--po/meson.build2
-rw-r--r--scripts/Makefile.am9
-rw-r--r--src/Makefile.am55
-rw-r--r--src/meson.build22
63 files changed, 270 insertions, 463 deletions
diff --git a/.gitignore b/.gitignore
index 139180b0..b7aecf88 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,3 +45,5 @@ src/org.gnome.Maps.service
/lib/GnomeMaps-1.0.gir
/lib/GnomeMaps-1.0.typelib
/lib/maps-enum-types.[ch]
+
+build/
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index c5dd3b6a..00000000
--- a/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-
-SUBDIRS = lib src data po scripts
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100755
index bd729eb3..00000000
--- a/autogen.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-PKG_NAME="gnome-maps"
-
-(test -f $srcdir/src/main.js) || {
- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
- echo " top-level $PKG_NAME directory"
- exit 1
-}
-
-which gnome-autogen.sh || {
- echo "You need to install gnome-common from the GNOME git"
- exit 1
-}
-
-REQUIRED_AUTOCONF_VERSION=2.59
-REQUIRED_AUTOMAKE_VERSION=1.9
-REQUIRED_INTLTOOL_VERSION=0.40.0
-REQUIRED_PKG_CONFIG_VERSION=0.22
-. gnome-autogen.sh
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index cfc9329a..00000000
--- a/configure.ac
+++ /dev/null
@@ -1,81 +0,0 @@
-# This file is processed by autoconf to create a configure script
-AC_INIT([gnome-maps],
- [3.28.0],
- [https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-maps],
- [gnome-maps])
-
-AC_CONFIG_HEADERS([config/config.h])
-AC_CONFIG_SRCDIR([src/main.js])
-AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_AUX_DIR([config])
-AC_PROG_LN_S
-
-m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
-
-AC_CANONICAL_TARGET
-
-AM_INIT_AUTOMAKE([1.10 no-define foreign dist-xz no-dist-gzip])
-AM_MAINTAINER_MODE([enable])
-
-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.40.0)
-PKG_PROG_PKG_CONFIG([0.22])
-
-GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
-AC_SUBST(GLIB_MKENUMS)
-
-GIO_MIN_VERSION=2.44.0
-GJS_MIN_VERSION=1.50.0
-GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
-GTK_MIN_VERSION=3.22.0
-GEOCLUE_MIN_VERSION=0.12.99
-
-PKG_CHECK_MODULES(GNOME_MAPS, [
- gio-2.0 >= $GIO_MIN_VERSION
- gjs-1.0 >= $GJS_MIN_VERSION
- gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
- gtk+-3.0 >= $GTK_MIN_VERSION
- geoclue-2.0 >= $GEOCLUE_MIN_VERSION
-])
-
-FOLKS_MIN_VERSION=0.10.0
-GEE_MIN_VERSION=0.16.0
-GEOCODE_MIN_VERSION=3.15.2
-CHAMPLAIN_MIN_VERSION=0.12.14
-REST_MIN_VERSION=0.7.90
-
-PKG_CHECK_MODULES(GNOME_MAPS_LIB, [
- gee-0.8 >= $GEE_MIN_VERSION
- folks >= $FOLKS_MIN_VERSION
- geocode-glib-1.0 >= $GEOCODE_MIN_VERSION
- champlain-0.12 >= $CHAMPLAIN_MIN_VERSION
- libxml-2.0
- rest-0.7 >= $REST_MIN_VERSION
-])
-AC_SUBST(GNOME_MAPS_LIB_CFLAGS)
-AC_SUBST(GNOME_MAPS_LIB_LIBS)
-
-AC_DISABLE_STATIC
-AC_PROG_LIBTOOL
-
-GLIB_GSETTINGS
-
-AC_PATH_PROG([GJS],[gjs])
-
-GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0`
-AC_SUBST(GLIB_COMPILE_RESOURCES)
-
-GOBJECT_INTROSPECTION_CHECK([0.6.3])
-
-AC_CONFIG_FILES([
- Makefile
- lib/Makefile
- src/Makefile
- data/Makefile
- data/icons/Makefile
- po/Makefile.in
- scripts/Makefile
-])
-AC_OUTPUT
diff --git a/data/Makefile.am b/data/Makefile.am
deleted file mode 100644
index 6431c5e8..00000000
--- a/data/Makefile.am
+++ /dev/null
@@ -1,73 +0,0 @@
-SUBDIRS = icons
-
-app_resource_files = \
- $(shell $(GLIB_COMPILE_RESOURCES) \
- --sourcedir=$(srcdir) \
- --generate-dependencies \
- $(srcdir)/org.gnome.Maps.data.gresource.xml \
- )
-org.gnome.Maps.data.gresource: org.gnome.Maps.data.gresource.xml $(app_resource_files)
- $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) \
- --target=$@ \
- --sourcedir=$(srcdir) $<
-
-tileservicedir = $(pkgdatadir)
-tileservice_DATA = maps-service.json
-
-resourcedir = $(pkgdatadir)
-resource_DATA = org.gnome.Maps.data.gresource
-
-appsdir = $(datadir)/applications
-apps_DATA = org.gnome.Maps.desktop
-
-@INTLTOOL_DESKTOP_RULE@
-
-@INTLTOOL_XML_RULE@
-
-gsettings_SCHEMAS = org.gnome.Maps.gschema.xml
-@GSETTINGS_RULES@
-
-appdatadir = $(datadir)/metainfo
-appdata_in_file = org.gnome.Maps.appdata.xml.in
-appdata_DATA = $(appdata_in_file:.xml.in=.xml)
-@INTLTOOL_XML_RULE@
-
-org.gnome.Maps.service: org.gnome.Maps.service.in
- $(AM_V_GEN) sed \
- -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \
- -e "s|[@]pkglibdir@|$(pkglibdir)|g" \
- $< > $@
-
-servicedir = $(datadir)/dbus-1/services
-service_DATA = org.gnome.Maps.service
-
-EXTRA_DIST = \
- media/maptype-aerial.png \
- media/maptype-street.png \
- media/maps-point-end-symbolic.svg \
- media/maps-point-start-symbolic.svg \
- org.gnome.Maps.desktop.in \
- org.gnome.Maps.service.in \
- org.gnome.Maps.gschema.xml \
- org.gnome.Maps.data.gresource.xml \
- org.gnome.Maps.appdata.xml.in \
- osm-types.json \
- $(app_resource_files) \
- maps-service.json \
- $(NULL)
-
-CLEANFILES = \
- org.gnome.Maps.service \
- org.gnome.Maps.data.gresource \
- org.gnome.Maps.appdata.xml \
- org.gnome.Maps.appdata.valid \
- $(apps_DATA) \
- org.gnome.Maps.gschema.valid \
- gschemas.compiled \
- $(NULL)
-
-# For uninstalled use
-all-local:
- $(GLIB_COMPILE_SCHEMAS) $(builddir)
-
--include $(top_srcdir)/git.mk
diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am
deleted file mode 100644
index bd144622..00000000
--- a/data/icons/Makefile.am
+++ /dev/null
@@ -1,130 +0,0 @@
-NULL =
-
-public_icons_themes = \
- hicolor \
- $(NULL)
-
-public_icons = \
- hicolor_apps_16x16_org.gnome.Maps.png \
- hicolor_apps_22x22_org.gnome.Maps.png \
- hicolor_apps_24x24_org.gnome.Maps.png \
- hicolor_apps_32x32_org.gnome.Maps.png \
- hicolor_apps_48x48_org.gnome.Maps.png \
- hicolor_apps_256x256_org.gnome.Maps.png \
- hicolor_apps_symbolic_org.gnome.Maps-symbolic.svg \
- $(NULL)
-
-private_icons = \
- hicolor_apps_16x16_maps-point-start.svg \
- hicolor_apps_16x16_maps-point-end.svg \
- hicolor_apps_16x16_maps-point-start-symbolic.svg \
- hicolor_apps_16x16_maps-point-end-symbolic.svg \
- hicolor_apps_32x32_maps-direction-sharpleft-symbolic.svg \
- hicolor_apps_32x32_maps-direction-left-symbolic.svg \
- hicolor_apps_32x32_maps-direction-slightleft-symbolic.svg \
- hicolor_apps_32x32_maps-direction-continue-symbolic.svg \
- hicolor_apps_32x32_maps-direction-slightright-symbolic.svg \
- hicolor_apps_32x32_maps-direction-right-symbolic.svg \
- hicolor_apps_32x32_maps-direction-roundabout-symbolic.svg \
- hicolor_apps_32x32_maps-direction-roundabout-0-symbolic.svg \
- hicolor_apps_32x32_maps-direction-roundabout-45-symbolic.svg \
- hicolor_apps_32x32_maps-direction-roundabout-90-symbolic.svg \
- hicolor_apps_32x32_maps-direction-roundabout-135-symbolic.svg \
- hicolor_apps_32x32_maps-direction-roundabout-180-symbolic.svg \
- hicolor_apps_32x32_maps-direction-roundabout-225-symbolic.svg \
- hicolor_apps_32x32_maps-direction-roundabout-270-symbolic.svg \
- hicolor_apps_32x32_maps-direction-roundabout-315-symbolic.svg \
- hicolor_apps_32x32_maps-direction-sharpright-symbolic.svg \
- hicolor_apps_16x16_layer-visible-symbolic.svg \
- hicolor_apps_16x16_layer-not-visible-symbolic.svg \
- hicolor_apps_16x16_layers-button-symbolic.svg \
- hicolor_apps_16x16_route-button-symbolic.svg \
- hicolor_apps_16x16_route-pedestrian-symbolic.svg \
- hicolor_apps_16x16_route-transit-symbolic.svg \
- hicolor_apps_16x16_route-bike-symbolic.svg \
- hicolor_apps_16x16_route-car-symbolic.svg \
- hicolor_apps_16x16_route-transit-bus-symbolic.svg \
- hicolor_apps_16x16_route-transit-cablecar-symbolic.svg \
- hicolor_apps_16x16_route-transit-ferry-symbolic.svg \
- hicolor_apps_16x16_route-transit-funicular-symbolic.svg \
- hicolor_apps_16x16_route-transit-gondolalift-symbolic.svg \
- hicolor_apps_16x16_route-transit-subway-symbolic.svg \
- hicolor_apps_16x16_route-transit-train-symbolic.svg \
- hicolor_apps_16x16_route-transit-tram-symbolic.svg \
- hicolor_apps_16x16_route-reverse-symbolic.svg \
- hicolor_apps_24x24_user-location.png \
- hicolor_apps_24x24_user-location-compass.png \
- $(NULL)
-
-noinst_DATA = \
- org.gnome.Maps.svg \
- hicolor_apps_24x24_user-location.svg \
- hicolor_apps_24x24_user-location-compass.svg \
- $(NULL)
-
-EXTRA_DIST = \
- $(public_icons) \
- $(private_icons) \
- org.gnome.Maps.svg \
- hicolor_apps_24x24_user-location.svg \
- hicolor_apps_24x24_user-location-compass.svg \
- $(NULL)
-
-###############################################################################
-
-gtk_update_icon_cache = gtk-update-icon-cache -f -t
-
-update-icon-cache:
- @-if test -z "$(DESTDIR)"; then \
- echo "Updating Gtk icon cache."; \
- for theme in $(public_icons_themes); do \
- $(gtk_update_icon_cache) $(datadir)/icons/$$theme; \
- done; \
- else \
- echo "*** Icon cache not updated. After (un)install, run this:"; \
- for theme in $(public_icons_themes); do \
- echo "*** $(gtk_update_icon_cache) $(datadir)/icons/$$theme"; \
- done; \
- fi
-
-install-icons:
- for icon in $(public_icons); do \
- THEME=`echo $$icon | cut -d_ -f1`; \
- CONTEXT=`echo $$icon | cut -d_ -f2`; \
- SIZE=`echo $$icon | cut -d_ -f3`; \
- ICONFILE=`echo $$icon | cut -d_ -f4`; \
- mkdir -p $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \
- $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
- done
- for icon in $(private_icons); do \
- THEME=`echo $$icon | cut -d_ -f1`; \
- CONTEXT=`echo $$icon | cut -d_ -f2`; \
- SIZE=`echo $$icon | cut -d_ -f3`; \
- ICONFILE=`echo $$icon | cut -d_ -f4`; \
- mkdir -p $(DESTDIR)$(datadir)/gnome-maps/icons/$$THEME/$$SIZE/$$CONTEXT; \
- $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(datadir)/gnome-maps/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
- done
-
-uninstall-icons:
- -for icon in $(public_icons); do \
- THEME=`echo $$icon | cut -d_ -f1`; \
- CONTEXT=`echo $$icon | cut -d_ -f2`; \
- SIZE=`echo $$icon | cut -d_ -f3`; \
- ICONFILE=`echo $$icon | cut -d_ -f4`; \
- rm -f $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
- done
- -for icon in $(private_icons); do \
- THEME=`echo $$icon | cut -d_ -f1`; \
- CONTEXT=`echo $$icon | cut -d_ -f2`; \
- SIZE=`echo $$icon | cut -d_ -f3`; \
- ICONFILE=`echo $$icon | cut -d_ -f4`; \
- rm -f $(DESTDIR)$(datadir)/gnome-maps/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
- done
-
-install-data-local: install-icons
-install-data-hook: update-icon-cache
-
-uninstall-local: uninstall-icons
-uninstall-hook: update-icon-cache
-
--include $(top_srcdir)/git.mk
diff --git a/data/icons/meson.build b/data/icons/meson.build
new file mode 100644
index 00000000..f741a0b7
--- /dev/null
+++ b/data/icons/meson.build
@@ -0,0 +1,9 @@
+install_subdir(
+ join_paths('public', 'hicolor'),
+ install_dir: join_paths(datadir, 'icons')
+)
+
+install_subdir(
+ join_paths('private', 'hicolor'),
+ install_dir: join_paths(pkgdatadir, 'icons')
+)
diff --git a/data/icons/hicolor_apps_16x16_layer-not-visible-symbolic.svg b/data/icons/private/hicolor/16x16/apps/layer-not-visible-symbolic.svg
index 9779f9ad..9779f9ad 100644
--- a/data/icons/hicolor_apps_16x16_layer-not-visible-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/layer-not-visible-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_layer-visible-symbolic.svg b/data/icons/private/hicolor/16x16/apps/layer-visible-symbolic.svg
index 135278f5..135278f5 100644
--- a/data/icons/hicolor_apps_16x16_layer-visible-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/layer-visible-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_layers-button-symbolic.svg b/data/icons/private/hicolor/16x16/apps/layers-button-symbolic.svg
index a50bbc43..a50bbc43 100644
--- a/data/icons/hicolor_apps_16x16_layers-button-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/layers-button-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_maps-point-end-symbolic.svg b/data/icons/private/hicolor/16x16/apps/maps-point-end-symbolic.svg
index 9384ce08..9384ce08 100644
--- a/data/icons/hicolor_apps_16x16_maps-point-end-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/maps-point-end-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_maps-point-end.svg b/data/icons/private/hicolor/16x16/apps/maps-point-end.svg
index b51794c4..b51794c4 100644
--- a/data/icons/hicolor_apps_16x16_maps-point-end.svg
+++ b/data/icons/private/hicolor/16x16/apps/maps-point-end.svg
diff --git a/data/icons/hicolor_apps_16x16_maps-point-start-symbolic.svg b/data/icons/private/hicolor/16x16/apps/maps-point-start-symbolic.svg
index 4c08290c..4c08290c 100644
--- a/data/icons/hicolor_apps_16x16_maps-point-start-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/maps-point-start-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_maps-point-start.svg b/data/icons/private/hicolor/16x16/apps/maps-point-start.svg
index f476455f..f476455f 100644
--- a/data/icons/hicolor_apps_16x16_maps-point-start.svg
+++ b/data/icons/private/hicolor/16x16/apps/maps-point-start.svg
diff --git a/data/icons/hicolor_apps_16x16_route-bike-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-bike-symbolic.svg
index 0223d5f8..0223d5f8 100644
--- a/data/icons/hicolor_apps_16x16_route-bike-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-bike-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-button-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-button-symbolic.svg
index d9547d66..d9547d66 100644
--- a/data/icons/hicolor_apps_16x16_route-button-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-button-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-car-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-car-symbolic.svg
index c511fe1c..c511fe1c 100644
--- a/data/icons/hicolor_apps_16x16_route-car-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-car-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-pedestrian-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-pedestrian-symbolic.svg
index 7317b867..7317b867 100644
--- a/data/icons/hicolor_apps_16x16_route-pedestrian-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-pedestrian-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-reverse-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-reverse-symbolic.svg
index 961c35e0..961c35e0 100644
--- a/data/icons/hicolor_apps_16x16_route-reverse-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-reverse-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-transit-bus-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-transit-bus-symbolic.svg
index 279639a4..279639a4 100644
--- a/data/icons/hicolor_apps_16x16_route-transit-bus-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-transit-bus-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-transit-cablecar-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-transit-cablecar-symbolic.svg
index 6984bd05..6984bd05 100644
--- a/data/icons/hicolor_apps_16x16_route-transit-cablecar-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-transit-cablecar-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-transit-ferry-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-transit-ferry-symbolic.svg
index 61184b56..61184b56 100644
--- a/data/icons/hicolor_apps_16x16_route-transit-ferry-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-transit-ferry-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-transit-funicular-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-transit-funicular-symbolic.svg
index a9c653c2..a9c653c2 100644
--- a/data/icons/hicolor_apps_16x16_route-transit-funicular-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-transit-funicular-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-transit-gondolalift-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-transit-gondolalift-symbolic.svg
index c39a3397..c39a3397 100644
--- a/data/icons/hicolor_apps_16x16_route-transit-gondolalift-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-transit-gondolalift-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-transit-subway-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-transit-subway-symbolic.svg
index 11b5cf0b..11b5cf0b 100644
--- a/data/icons/hicolor_apps_16x16_route-transit-subway-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-transit-subway-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-transit-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-transit-symbolic.svg
index 05a49d52..05a49d52 100644
--- a/data/icons/hicolor_apps_16x16_route-transit-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-transit-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-transit-train-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-transit-train-symbolic.svg
index 76b863b3..76b863b3 100644
--- a/data/icons/hicolor_apps_16x16_route-transit-train-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-transit-train-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_route-transit-tram-symbolic.svg b/data/icons/private/hicolor/16x16/apps/route-transit-tram-symbolic.svg
index ee275b5a..ee275b5a 100644
--- a/data/icons/hicolor_apps_16x16_route-transit-tram-symbolic.svg
+++ b/data/icons/private/hicolor/16x16/apps/route-transit-tram-symbolic.svg
diff --git a/data/icons/hicolor_apps_24x24_user-location-compass.png b/data/icons/private/hicolor/24x24/apps/user-location-compass.png
index d2f3c7d7..d2f3c7d7 100644
--- a/data/icons/hicolor_apps_24x24_user-location-compass.png
+++ b/data/icons/private/hicolor/24x24/apps/user-location-compass.png
Binary files differ
diff --git a/data/icons/hicolor_apps_24x24_user-location.png b/data/icons/private/hicolor/24x24/apps/user-location.png
index 833fd907..833fd907 100644
--- a/data/icons/hicolor_apps_24x24_user-location.png
+++ b/data/icons/private/hicolor/24x24/apps/user-location.png
Binary files differ
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-continue-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-continue-symbolic.svg
index 3eecf0fe..3eecf0fe 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-continue-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-continue-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-left-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-left-symbolic.svg
index 110fda85..110fda85 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-left-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-left-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-right-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-right-symbolic.svg
index c955b77d..c955b77d 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-right-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-right-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-0-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-0-symbolic.svg
index 1c429d12..1c429d12 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-0-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-0-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-135-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-135-symbolic.svg
index 3f4f0ea1..3f4f0ea1 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-135-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-135-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-180-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-180-symbolic.svg
index 03c5744c..03c5744c 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-180-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-180-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-225-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-225-symbolic.svg
index 3cfcbaae..3cfcbaae 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-225-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-225-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-270-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-270-symbolic.svg
index c5bcbf6a..c5bcbf6a 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-270-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-270-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-315-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-315-symbolic.svg
index 73fa4e1a..73fa4e1a 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-315-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-315-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-45-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-45-symbolic.svg
index b92d3e69..b92d3e69 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-45-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-45-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-90-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-90-symbolic.svg
index eb93b7bd..eb93b7bd 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-90-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-90-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-symbolic.svg
index 1178640b..1178640b 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-roundabout-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-roundabout-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-sharpleft-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-sharpleft-symbolic.svg
index 37d46da9..37d46da9 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-sharpleft-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-sharpleft-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-sharpright-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-sharpright-symbolic.svg
index deaa22df..deaa22df 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-sharpright-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-sharpright-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-slightleft-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-slightleft-symbolic.svg
index 0fc527c2..0fc527c2 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-slightleft-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-slightleft-symbolic.svg
diff --git a/data/icons/hicolor_apps_32x32_maps-direction-slightright-symbolic.svg b/data/icons/private/hicolor/32x32/apps/maps-direction-slightright-symbolic.svg
index 17893292..17893292 100644
--- a/data/icons/hicolor_apps_32x32_maps-direction-slightright-symbolic.svg
+++ b/data/icons/private/hicolor/32x32/apps/maps-direction-slightright-symbolic.svg
diff --git a/data/icons/hicolor_apps_16x16_org.gnome.Maps.png b/data/icons/public/hicolor/16x16/apps/org.gnome.Maps.png
index 30b109da..30b109da 100644
--- a/data/icons/hicolor_apps_16x16_org.gnome.Maps.png
+++ b/data/icons/public/hicolor/16x16/apps/org.gnome.Maps.png
Binary files differ
diff --git a/data/icons/hicolor_apps_22x22_org.gnome.Maps.png b/data/icons/public/hicolor/22x22/apps/org.gnome.Maps.png
index 00e5ef6c..00e5ef6c 100644
--- a/data/icons/hicolor_apps_22x22_org.gnome.Maps.png
+++ b/data/icons/public/hicolor/22x22/apps/org.gnome.Maps.png
Binary files differ
diff --git a/data/icons/hicolor_apps_24x24_org.gnome.Maps.png b/data/icons/public/hicolor/24x24/apps/org.gnome.Maps.png
index ab5c3ec9..ab5c3ec9 100644
--- a/data/icons/hicolor_apps_24x24_org.gnome.Maps.png
+++ b/data/icons/public/hicolor/24x24/apps/org.gnome.Maps.png
Binary files differ
diff --git a/data/icons/hicolor_apps_256x256_org.gnome.Maps.png b/data/icons/public/hicolor/256x256/apps/org.gnome.Maps.png
index b476d842..b476d842 100644
--- a/data/icons/hicolor_apps_256x256_org.gnome.Maps.png
+++ b/data/icons/public/hicolor/256x256/apps/org.gnome.Maps.png
Binary files differ
diff --git a/data/icons/hicolor_apps_32x32_org.gnome.Maps.png b/data/icons/public/hicolor/32x32/apps/org.gnome.Maps.png
index 2612f407..2612f407 100644
--- a/data/icons/hicolor_apps_32x32_org.gnome.Maps.png
+++ b/data/icons/public/hicolor/32x32/apps/org.gnome.Maps.png
Binary files differ
diff --git a/data/icons/hicolor_apps_48x48_org.gnome.Maps.png b/data/icons/public/hicolor/48x48/apps/org.gnome.Maps.png
index a138ea75..a138ea75 100644
--- a/data/icons/hicolor_apps_48x48_org.gnome.Maps.png
+++ b/data/icons/public/hicolor/48x48/apps/org.gnome.Maps.png
Binary files differ
diff --git a/data/icons/hicolor_apps_symbolic_org.gnome.Maps-symbolic.svg b/data/icons/public/hicolor/symbolic/apps/org.gnome.Maps-symbolic.svg
index 32ac0b74..32ac0b74 100644
--- a/data/icons/hicolor_apps_symbolic_org.gnome.Maps-symbolic.svg
+++ b/data/icons/public/hicolor/symbolic/apps/org.gnome.Maps-symbolic.svg
diff --git a/data/meson.build b/data/meson.build
new file mode 100644
index 00000000..349ff25c
--- /dev/null
+++ b/data/meson.build
@@ -0,0 +1,56 @@
+gnome.compile_resources(
+ app_id + '.data',
+ app_id + '.data.gresource.xml',
+ gresource_bundle: true,
+ install: true,
+ install_dir: pkgdatadir
+)
+
+install_data(
+ 'maps-service.json',
+ install_dir: pkgdatadir
+)
+
+desktop = app_id + '.desktop'
+
+custom_target('desktop-file',
+ input: desktop + '.in',
+ output: desktop,
+ install: true,
+ install_dir: join_paths(datadir, 'applications'),
+ command: [msgfmt, '--desktop',
+ '--template', '@INPUT@', '-d', po_dir, '-o', '@OUTPUT@',
+ '--keyword=X-Geoclue-Reason', '--keyword=Name', '--keyword=Comment',
+ '--keyword=Keywords'
+ ]
+)
+
+install_data(
+ app_id + '.gschema.xml',
+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
+)
+
+appdata = app_id + '.appdata.xml'
+
+i18n.merge_file(
+ appdata,
+ input: appdata + '.in',
+ output: appdata,
+ po_dir: po_dir,
+ install: true,
+ install_dir: join_paths(datadir, 'metainfo')
+)
+
+service_conf = configuration_data()
+service_conf.set('PACKAGE_NAME', meson.project_name())
+service_conf.set('pkgdatadir', pkgdatadir)
+
+configure_file(
+ input: app_id + '.service.in',
+ output: app_id + '.service',
+ configuration: service_conf,
+ install: true,
+ install_dir: join_paths(datadir, 'dbus-1', 'services')
+)
+
+subdir('icons')
diff --git a/lib/Makefile.am b/lib/Makefile.am
deleted file mode 100644
index d1ddf3f2..00000000
--- a/lib/Makefile.am
+++ /dev/null
@@ -1,88 +0,0 @@
-pkglib_LTLIBRARIES = libgnome-maps.la
-
-BUILT_SOURCES = \
- maps-enum-types.c \
- maps-enum-types.h
-
-EXTRA_DIST = \
- maps-enum-types.c.template \
- maps-enum-types.h.template
-
-libgnome_maps_headers_private = \
- maps-contact-store.h \
- maps-contact.h \
- mapsintl.h \
- maps.h \
- maps-file-tile-source.h \
- maps-osm.h \
- maps-osm-changeset.h \
- maps-osm-node.h \
- maps-osm-object.h \
- maps-osm-relation.h \
- maps-osm-way.h \
- maps-osm-oauth-proxy-call.h
-
-libgnome_maps_sources = \
- maps-contact-store.c \
- maps-contact.c \
- maps-file-tile-source.c \
- maps-osm.c \
- maps-osm-changeset.c \
- maps-osm-node.c \
- maps-osm-object.c \
- maps-osm-way.c \
- maps-osm-relation.c \
- maps-osm-oauth-proxy-call.c
-
-libgnome_maps_la_SOURCES = \
- $(libgnome_maps_sources) \
- $(libgnome_maps_headers_private)
-
-nodist_libgnome_maps_la_SOURCES = \
- $(BUILT_SOURCES)
-
-libgnome_maps_la_LIBADD = $(GNOME_MAPS_LIB_LIBS)
-
-AM_CPPFLAGS = \
- $(GNOME_MAPS_LIB_CFLAGS) \
- -I$(top_srcdir)
-
-maps-enum-types.h: $(libgnome_maps_headers_private)
- $(AM_V_GEN) ($(GLIB_MKENUMS) \
- --template $(srcdir)/maps-enum-types.h.template \
- $^ > xgen-$(@F) && mv -f xgen-$(@F) $@)
-
-maps-enum-types.c: $(libgnome_maps_headers_private) maps-enum-types.h
- $(AM_V_GEN) ($(GLIB_MKENUMS) \
- --template $(srcdir)/maps-enum-types.c.template \
- $^ > xgen-$(@F) && mv -f xgen-$(@F) $@)
-
-if HAVE_INTROSPECTION
--include $(INTROSPECTION_MAKEFILE)
-INTROSPECTION_SCANNER_ARGS = --warn-all
-
-GnomeMaps-1.0.gir: libgnome-maps.la
-GnomeMaps_1_0_gir_INCLUDES = \
- GLib-2.0 \
- GObject-2.0 \
- GeocodeGlib-1.0 \
- Champlain-0.12 \
- Rest-0.7
-GnomeMaps_1_0_gir_PACKAGES = gobject-2.0 geocode-glib-1.0
-GnomeMaps_1_0_gir_FILES = $(libgnome_maps_la_SOURCES)
-GnomeMaps_1_0_gir_CFLAGS = $(MAPS_CFLAGS) -I$(top_srcdir) -I$(top_builddir) -I$(srcdir)
-GnomeMaps_1_0_gir_LIBS = libgnome-maps.la
-GnomeMaps_1_0_gir_EXPORT_PACKAGES = gnome-maps-1.0
-GnomeMaps_1_0_gir_SCANNERFLAGS = \
- --symbol-prefix=maps \
- --identifier-prefix=Maps
-INTROSPECTION_GIRS = GnomeMaps-1.0.gir
-
-girdir = $(datadir)/gir-1.0
-gir_DATA = $(INTROSPECTION_GIRS)
-
-typelibdir = $(pkglibdir)/girepository-1.0
-typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
-
-CLEANFILES = $(gir_DATA) $(typelib_DATA) $(BUILT_SOURCES)
-endif
diff --git a/lib/meson.build b/lib/meson.build
new file mode 100644
index 00000000..c11fec24
--- /dev/null
+++ b/lib/meson.build
@@ -0,0 +1,75 @@
+maps_h = 'maps.h'
+
+headers_private = files(
+ 'maps-contact.h',
+ 'maps-contact-store.h',
+ 'maps-file-tile-source.h',
+ 'maps-osm.h',
+ 'maps-osm-changeset.h',
+ 'maps-osm-node.h',
+ 'maps-osm-object.h',
+ 'maps-osm-way.h',
+ 'maps-osm-relation.h',
+ 'maps-osm-oauth-proxy-call.h'
+)
+
+sources = files(
+ 'maps-contact.c',
+ 'maps-contact-store.c',
+ 'maps-file-tile-source.c',
+ 'maps-osm.c',
+ 'maps-osm-changeset.c',
+ 'maps-osm-node.c',
+ 'maps-osm-object.c',
+ 'maps-osm-way.c',
+ 'maps-osm-relation.c',
+ 'maps-osm-oauth-proxy-call.c'
+)
+
+enum_types = 'maps-enum-types'
+
+maps_enums = gnome.mkenums(
+ enum_types,
+ sources: headers_private,
+ c_template: enum_types + '.c.template',
+ h_template: enum_types + '.h.template',
+ identifier_prefix: maps_ns,
+ symbol_prefix: maps_ns.to_lower()
+)
+
+cflags = [
+ '-DG_DISABLE_DEPRECATED',
+ '-DPREFIX="@0@"'.format(prefix),
+ '-DLIBDIR="@0@"'.format(libdir)
+]
+
+libmaps = shared_library(
+ maps_libname,
+ version: '0.0.0',
+ sources: sources + maps_enums,
+ include_directories: top_inc,
+ dependencies: libmaps_deps,
+ c_args: cflags,
+ install: true,
+ install_dir: pkglibdir
+)
+
+gnome.generate_gir(
+ libmaps,
+ sources: sources + [maps_enums[0], headers_private],
+ nsversion: maps_gir_version,
+ namespace: maps_gir_name,
+ identifier_prefix: maps_ns,
+ symbol_prefix: maps_ns.to_lower(),
+ includes: [
+ 'GLib-2.0',
+ 'GObject-2.0',
+ 'GeocodeGlib-1.0',
+ 'Champlain-0.12',
+ 'Rest-0.7'
+ ],
+ install: true,
+ install_dir_gir: join_paths(pkgdatadir, 'gir-' + maps_gir_version),
+ install_dir_typelib: join_paths(pkglibdir, 'girepository-' + maps_gir_version)
+)
+
diff --git a/meson.build b/meson.build
new file mode 100644
index 00000000..d2d351d2
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,60 @@
+project('gnome-maps', 'c',
+ version: '3.28.0',
+ license: 'GPL2+'
+)
+
+app_id = 'org.gnome.Maps'
+gnome = import('gnome')
+i18n = import('i18n')
+
+prefix = get_option('prefix')
+name = meson.project_name()
+version = meson.project_version()
+
+bindir = join_paths(prefix, get_option('bindir'))
+libdir = join_paths(prefix, get_option('libdir'))
+datadir = join_paths(prefix, get_option('datadir'))
+pkgdatadir = join_paths(datadir, name)
+pkglibdir = join_paths(libdir, name)
+
+maps_ns = 'Maps'
+maps_libname = 'gnome-maps'
+maps_gir_name = 'GnomeMaps'
+maps_gir_version = '1.0'
+
+desktop_file_validate = find_program('desktop-file-validate', required: false)
+appstream_util = find_program('appstream-util', required: false)
+
+gio = dependency('gio-2.0', version: '>= 2.44.0')
+gjs = dependency('gjs-1.0', version: '>= 1.40.0')
+girepository = dependency('gobject-introspection-1.0', version: '>= 0.10.1')
+gtk3 = dependency('gtk+-3.0', version: '>= 3.22.0')
+geoclue2 = dependency('geoclue-2.0', version: '>= 0.12.99')
+
+libmaps_deps = [
+ dependency('gee-0.8', version: '>= 0.16.0'),
+ dependency('folks', version: '>= 0.10.0'),
+ dependency('geocode-glib-1.0', version: '>= 3.15.2'),
+ dependency('champlain-0.12', version: '>= 0.12.14'),
+ dependency('libxml-2.0'),
+ dependency('rest-0.7', version: '>= 0.7.90')
+]
+
+msgfmt = find_program('msgfmt')
+po_dir = join_paths(meson.source_root(), 'po')
+
+top_inc = include_directories('.')
+
+cc = meson.get_compiler('c')
+
+subdir('po')
+subdir('src')
+subdir('lib')
+subdir('data')
+
+meson.add_install_script(
+ 'meson_post_install.py',
+ datadir,
+ bindir
+)
+
diff --git a/meson_post_install.py b/meson_post_install.py
new file mode 100644
index 00000000..bb6b67c9
--- /dev/null
+++ b/meson_post_install.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python3
+
+import glob
+import os
+import re
+import subprocess
+import sys
+
+datadir = sys.argv[1]
+
+destdir = os.environ.get('DESTDIR', '')
+bindir = os.path.normpath(destdir + os.sep + sys.argv[2])
+
+# FIXME: meson will not track the creation of these files
+# https://github.com/mesonbuild/meson/blob/master/mesonbuild/scripts/uninstall.py#L39
+if not os.path.exists(bindir):
+ os.makedirs(bindir)
+
+src = os.path.join(datadir, 'gnome-maps', 'org.gnome.Maps')
+dest = os.path.join(bindir, 'gnome-maps')
+subprocess.call(['ln', '-s', '-f', src, dest])
+
+if not os.environ.get('DESTDIR'):
+ icondir = os.path.join(datadir, 'icons', 'hicolor')
+
+ print('Update icon cache...')
+ subprocess.call(['gtk-update-icon-cache', '-f', '-t', icondir])
+
+ schemadir = os.path.join(datadir, 'glib-2.0', 'schemas')
+ print('Compiling gsettings schemas...')
+ subprocess.call(['glib-compile-schemas', schemadir])
+
+ # FIXME
+ '''
+ search_pattern = '/*.desktop'
+
+ desktopdir = os.path.join(datadir, 'applications')
+ print('Validate desktop files...')
+ [subprocess.call(['desktop-file-validate', file])
+ for file in glob.glob(desktopdir + search_pattern, recursive=False)]
+ '''
+
diff --git a/org.gnome.Maps.json b/org.gnome.Maps.json
index 738ce2ef..b9fd0ec8 100644
--- a/org.gnome.Maps.json
+++ b/org.gnome.Maps.json
@@ -170,6 +170,8 @@
},
{
"name": "gnome-maps",
+ "buildsystem": "meson",
+ "builddir": true,
"sources": [
{
"type": "git",
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 00000000..63ad5f4e
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1,2 @@
+i18n.gettext(name, preset: 'glib',
+ args: [ '--keyword=X-Geoclue-Reason' ])
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
deleted file mode 100644
index ae31c48a..00000000
--- a/scripts/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-noinst_DATA = \
- extractPoiTypesFromID.js \
- README
-
-EXTRA_DIST = $(noinst_DATA)
-
--include $(top_srcdir)/git.mk
-
-
diff --git a/src/Makefile.am b/src/Makefile.am
deleted file mode 100644
index f127fe5a..00000000
--- a/src/Makefile.am
+++ /dev/null
@@ -1,55 +0,0 @@
-NULL =
-
-appdir = $(pkgdatadir)
-nodist_app_SCRIPTS = org.gnome.Maps
-
-app_resource_files = \
- $(shell $(GLIB_COMPILE_RESOURCES) \
- --sourcedir=$(srcdir) \
- --sourcedir=$(srcdir)/geojson-vt \
- --generate-dependencies \
- $(srcdir)/org.gnome.Maps.src.gresource.xml \
- )
-
-org.gnome.Maps.src.gresource: org.gnome.Maps.src.gresource.xml $(app_resource_files)
- $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) \
- --target=$@ \
- --sourcedir=$(srcdir)/geojson-vt \
- --sourcedir=$(srcdir) $<
-
-resourcedir = $(pkgdatadir)
-resource_DATA = org.gnome.Maps.src.gresource
-
-org.gnome.Maps: org.gnome.Maps.in
- $(AM_V_GEN) sed \
- -e "s|[@]GJS@|$(GJS)|g" \
- -e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \
- -e "s|[@]prefix@|$(prefix)|g" \
- -e "s|[@]libdir@|$(libdir)|g" \
- -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \
- $< > $@
- @chmod +x $@
-
-EXTRA_DIST = \
- org.gnome.Maps.in \
- org.gnome.Maps.src.gresource.xml \
- geojson-vt/LICENSE \
- togeojson/LICENSE \
- xmldom/LICENSE \
- $(app_resource_files) \
- $(service_resource_files) \
- $(NULL)
-
-CLEANFILES = \
- org.gnome.Maps \
- org.gnome.Maps.src.gresource \
- $(NULL)
-
-install-exec-hook:
- $(MKDIR_P) $(DESTDIR)$(bindir)
- -rm -f $(DESTDIR)$(bindir)/gnome-maps
- $(LN_S) $(appdir)/org.gnome.Maps $(DESTDIR)$(bindir)/gnome-maps
-uninstall-hook:
- -rm -f $(DESTDIR)$(bindir)/gnome-maps
-
--include $(top_srcdir)/git.mk
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 00000000..5cc7e5e3
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,22 @@
+script_conf = configuration_data()
+script_conf.set('GJS', find_program('gjs').path())
+script_conf.set('PACKAGE_VERSION', version)
+script_conf.set('libdir', libdir)
+script_conf.set('prefix', prefix)
+
+configure_file(
+ input: app_id + '.in',
+ output: app_id,
+ configuration: script_conf,
+ install: true,
+ install_dir: pkgdatadir
+)
+
+gnome.compile_resources(
+ app_id + '.src',
+ app_id + '.src.gresource.xml',
+ gresource_bundle: true,
+ install: true,
+ install_dir: pkgdatadir,
+ source_dir: 'geojson-vt'
+)