[gnome-music/wip/mschraal/meson: 1/7] switch to meson and uses RDNN
- From: Marinus Schraal <mschraal src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/mschraal/meson: 1/7] switch to meson and uses RDNN
- Date: Tue, 20 Feb 2018 21:33:51 +0000 (UTC)
commit 4be6b0d13c167be90d94c2a37caccf7f0bc87888
Author: Bilal Elmoussaoui <bil elmoussaoui gmail com>
Date: Tue Jan 23 02:35:50 2018 +0100
switch to meson and uses RDNN
.gitignore | 1 +
.gitlab-ci.yml | 8 +-
.gitmodules | 2 +-
AUTHORS | 0
AUTHORS.in => AUTHORS.md | 0
ChangeLog | 0
INSTALL => INSTALL.md | 0
COPYING => LICENSE | 0
Makefile.am | 69 -----------------
NEWS => NEWS.md | 0
README | 1 -
autogen.sh | 26 -------
configure.ac | 66 ----------------
data/Makefile.am | 84 ---------------------
.../apps/{gnome-music.png => org.gnome.Music.png} | Bin
.../apps/{gnome-music.png => org.gnome.Music.png} | Bin
.../apps/{gnome-music.png => org.gnome.Music.png} | Bin
.../apps/{gnome-music.png => org.gnome.Music.png} | Bin
.../apps/{gnome-music.png => org.gnome.Music.png} | Bin
.../{gnome-music.blend => org.gnome.Music.blend} | Bin
.../{gnome-music.svg => org.gnome.Music.svg} | 0
...c-symbolic.svg => org.gnome.Music-symbolic.svg} | 0
data/meson.build | 79 +++++++++++++++++++
data/org.gnome.Music.appdata.xml.in | 2 +-
data/org.gnome.Music.desktop.in | 2 +-
...gresource.xml => org.gnome.Music.gresource.xml} | 0
data/org.gnome.Music.gschema.xml | 2 +-
gnome-music.in | 10 +--
gnomemusic/Makefile.am | 19 -----
gnomemusic/views/Makefile.am | 13 ----
gnomemusic/widgets/Makefile.am | 12 ---
help/LINGUAS | 13 ++++
help/Makefile.am | 22 ------
help/meson.build | 18 +++++
libgd | 1 -
meson.build | 69 +++++++++++++++++
meson_post_install.py | 21 ++++++
po/Makevars | 78 -------------------
po/meson.build | 1 +
39 files changed, 215 insertions(+), 404 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 2c30220..78fd2ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
*~
libgd/
+builddir/
/*.bak
/*.lo
/*.o
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6d427c5..b44d2f8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,11 +5,11 @@ stages:
- deploy
variables:
- DEPENDENCIES: python3 autoconf-archive gettext-devel git pygobject3
+ DEPENDENCIES: python3 redhat-rpm-config gettext-devel git pygobject3
pygobject3-devel python3-gobject python3-cairo-devel
- redhat-rpm-config gtk3-devel gobject-introspection-devel
- tracker-devel gnome-common which libmediaart-devel grilo-devel
- gnome-online-accounts-devel
+ gtk3-devel gobject-introspection-devel tracker-devel
+ which libmediaart-devel grilo-devel gnome-online-accounts-devel
+ meson ninja-build
build:
stage: build
diff --git a/.gitmodules b/.gitmodules
index bfd964e..6283342 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
[submodule "libgd"]
- path = libgd
+ path = subprojects/libgd
url = git://git.gnome.org/libgd
diff --git a/AUTHORS.in b/AUTHORS.md
similarity index 100%
rename from AUTHORS.in
rename to AUTHORS.md
diff --git a/INSTALL b/INSTALL.md
similarity index 100%
rename from INSTALL
rename to INSTALL.md
diff --git a/COPYING b/LICENSE
similarity index 100%
rename from COPYING
rename to LICENSE
diff --git a/NEWS b/NEWS.md
similarity index 100%
rename from NEWS
rename to NEWS.md
diff --git a/data/icons/hicolor/16x16/apps/gnome-music.png b/data/icons/hicolor/16x16/apps/org.gnome.Music.png
similarity index 100%
rename from data/icons/hicolor/16x16/apps/gnome-music.png
rename to data/icons/hicolor/16x16/apps/org.gnome.Music.png
diff --git a/data/icons/hicolor/22x22/apps/gnome-music.png b/data/icons/hicolor/22x22/apps/org.gnome.Music.png
similarity index 100%
rename from data/icons/hicolor/22x22/apps/gnome-music.png
rename to data/icons/hicolor/22x22/apps/org.gnome.Music.png
diff --git a/data/icons/hicolor/256x256/apps/gnome-music.png
b/data/icons/hicolor/256x256/apps/org.gnome.Music.png
similarity index 100%
rename from data/icons/hicolor/256x256/apps/gnome-music.png
rename to data/icons/hicolor/256x256/apps/org.gnome.Music.png
diff --git a/data/icons/hicolor/32x32/apps/gnome-music.png b/data/icons/hicolor/32x32/apps/org.gnome.Music.png
similarity index 100%
rename from data/icons/hicolor/32x32/apps/gnome-music.png
rename to data/icons/hicolor/32x32/apps/org.gnome.Music.png
diff --git a/data/icons/hicolor/48x48/apps/gnome-music.png b/data/icons/hicolor/48x48/apps/org.gnome.Music.png
similarity index 100%
rename from data/icons/hicolor/48x48/apps/gnome-music.png
rename to data/icons/hicolor/48x48/apps/org.gnome.Music.png
diff --git a/data/icons/hicolor/gnome-music.blend b/data/icons/hicolor/org.gnome.Music.blend
similarity index 100%
rename from data/icons/hicolor/gnome-music.blend
rename to data/icons/hicolor/org.gnome.Music.blend
diff --git a/data/icons/hicolor/gnome-music.svg b/data/icons/hicolor/org.gnome.Music.svg
similarity index 100%
rename from data/icons/hicolor/gnome-music.svg
rename to data/icons/hicolor/org.gnome.Music.svg
diff --git a/data/icons/hicolor/symbolic/apps/gnome-music-symbolic.svg
b/data/icons/hicolor/symbolic/apps/org.gnome.Music-symbolic.svg
similarity index 100%
rename from data/icons/hicolor/symbolic/apps/gnome-music-symbolic.svg
rename to data/icons/hicolor/symbolic/apps/org.gnome.Music-symbolic.svg
diff --git a/data/meson.build b/data/meson.build
new file mode 100644
index 0000000..bb96d45
--- /dev/null
+++ b/data/meson.build
@@ -0,0 +1,79 @@
+# Compiling the resources
+about_dialog_conf = configuration_data()
+about_dialog_conf.set('PACKAGE_VERSION', meson.project_version())
+about_dialog_conf.set('PACKAGE_URL', PACKAGE_URL)
+
+gnome.compile_resources(
+ meson.project_name(),
+ meson.project_name() + '.gresource.xml',
+ gresource_bundle: true,
+ source_dir: '.',
+ install_dir: PKGDATA_DIR,
+ install: true,
+ dependencies: configure_file(
+ input: 'AboutDialog.ui.in',
+ output: 'AboutDialog.ui',
+ configuration: about_dialog_conf
+ )
+)
+
+# Installing the schema file
+install_data(
+ meson.project_name() + '.gschema.xml',
+ install_dir: 'share/glib-2.0/schemas'
+)
+
+# Merging the translations with the desktop file
+i18n.merge_file(
+ output: meson.project_name() + '.desktop',
+ input: meson.project_name() + '.desktop.in',
+ po_dir: join_paths(meson.source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'applications')
+)
+
+# Validating the desktop file
+desktop_file_validate = find_program('desktop-file-validate', required:false)
+if desktop_file_validate.found()
+ test (
+ 'Validate desktop file',
+ desktop_file_validate,
+ args: join_paths(meson.current_build_dir (), meson.project_name() + '.desktop')
+ )
+endif
+
+# Merging the translations with the appdata file
+i18n.merge_file(
+ output: meson.project_name() + '.appdata.xml',
+ input: meson.project_name() + '.appdata.xml.in',
+ po_dir: join_paths(meson.source_root(), 'po'),
+ install: true,
+ install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'metainfo')
+)
+
+# Validating the appdata file
+appstreamcli = find_program(['appstreamcli', 'appstream-util'], required: false)
+if appstreamcli.found()
+ test (
+ 'Validate appdata file',
+ appstreamcli,
+ args: ['validate', join_paths(meson.current_build_dir (), meson.project_name() + '.appdata.xml')]
+ )
+endif
+
+# Installing the icons
+icon_sizes = ['16', '22', '32', '48', '256']
+
+foreach i : icon_sizes
+ install_data(
+ join_paths('icons/hicolor', i + 'x' + i, 'apps', meson.project_name() + '.png'),
+ install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'icons', 'hicolor', i + 'x' + i,
'apps')
+ )
+endforeach
+
+# Installing the symbolic icon
+install_data(
+ join_paths('icons/hicolor/symbolic/apps', meson.project_name() + '-symbolic.svg'),
+ install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'icons/hicolor/symbolic/apps')
+)
\ No newline at end of file
diff --git a/data/org.gnome.Music.appdata.xml.in b/data/org.gnome.Music.appdata.xml.in
index 031c436..88c198f 100644
--- a/data/org.gnome.Music.appdata.xml.in
+++ b/data/org.gnome.Music.appdata.xml.in
@@ -38,5 +38,5 @@
</kudos>
<update_contact>mschraal gnome org</update_contact>
- <translation type="gettext">gnome-music</translation>
+ <translation type="gettext">org.gnome.Music</translation>
</component>
diff --git a/data/org.gnome.Music.desktop.in b/data/org.gnome.Music.desktop.in
index 013cba6..7dfc4e7 100644
--- a/data/org.gnome.Music.desktop.in
+++ b/data/org.gnome.Music.desktop.in
@@ -3,7 +3,7 @@ Name=Music
GenericName=Music Player
Comment=Play and organize your music collection
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
-Icon=gnome-music
+Icon=org.gnome.Music
Exec=gnome-music
Terminal=false
Type=Application
diff --git a/data/gnome-music.gresource.xml b/data/org.gnome.Music.gresource.xml
similarity index 100%
rename from data/gnome-music.gresource.xml
rename to data/org.gnome.Music.gresource.xml
diff --git a/data/org.gnome.Music.gschema.xml b/data/org.gnome.Music.gschema.xml
index 7ccefe1..467d1d5 100644
--- a/data/org.gnome.Music.gschema.xml
+++ b/data/org.gnome.Music.gschema.xml
@@ -6,7 +6,7 @@
<value nick="all" value="2"/>
<value nick="shuffle" value="3"/>
</enum>
- <schema path="/org/gnome/Music/" id="org.gnome.Music" gettext-domain="gnome-music">
+ <schema path="/org/gnome/Music/" id="org.gnome.Music" gettext-domain="org.gnome.Music">
<key type="ai" name="window-size">
<default>[768, 600]</default>
<summary>Window size</summary>
diff --git a/gnome-music.in b/gnome-music.in
old mode 100644
new mode 100755
index a62d35f..ac23fcf
--- a/gnome-music.in
+++ b/gnome-music.in
@@ -117,16 +117,16 @@ def set_log_level():
def set_internationalization():
"""Sets application internationalization."""
- locale.bindtextdomain('gnome-music', LOCALE_DIR)
- locale.textdomain('gnome-music')
- gettext.bindtextdomain('gnome-music', LOCALE_DIR)
- gettext.textdomain('gnome-music')
+ locale.bindtextdomain('org.gnome.Music', LOCALE_DIR)
+ locale.textdomain('org.gnome.Music')
+ gettext.bindtextdomain('org.gnome.Music', LOCALE_DIR)
+ gettext.textdomain('org.gnome.Music')
def set_resources():
"""Sets application ressource file."""
resource = Gio.resource_load(
- os.path.join(PKGDATA_DIR, 'gnome-music.gresource'))
+ os.path.join(PKGDATA_DIR, 'org.gnome.Music.gresource'))
Gio.Resource._register(resource) # nopep8
diff --git a/help/LINGUAS b/help/LINGUAS
new file mode 100644
index 0000000..13f91aa
--- /dev/null
+++ b/help/LINGUAS
@@ -0,0 +1,13 @@
+cs
+da
+de
+el
+es
+fr
+gl
+hu
+ko
+pl
+pt_BR
+ro
+sv
\ No newline at end of file
diff --git a/help/meson.build b/help/meson.build
new file mode 100644
index 0000000..4fc6ace
--- /dev/null
+++ b/help/meson.build
@@ -0,0 +1,18 @@
+gnome.yelp(meson.project_name(),
+ sources: [
+ 'introduction.page',
+ 'index.page',
+ 'play-music.page',
+ 'playlist-create-albums.page',
+ 'playlist-create-songs.page',
+ 'playlist-create-artists.page',
+ 'playlist-delete.page',
+ 'playlist-remove-songs.page',
+ 'playlist-repeat.page',
+ 'playlist-shuffle.page',
+ 'search.page',
+ 'legal.xml'
+ ],
+ media: 'figures/gnome-music-3.12.png',
+ symlink_media: false
+)
\ No newline at end of file
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..ac9b442
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,69 @@
+project('org.gnome.Music',
+ version: '3.27.4'
+)
+
+# Importing modules
+gnome = import('gnome')
+i18n = import('i18n')
+python = import('python3')
+
+# Make sure Python is installed and found
+if not python.find_python().found()
+ error('No valid python3 binary found')
+endif
+
+# Constants
+PACKAGE_URL = 'https://wiki.gnome.org/Apps/Music'
+PACKAGE_URL_BUG = 'https://gitlab.gnome.org/GNOME/gnome-music'
+
+PYTHON_DIR = join_paths(get_option('prefix'), python.sysconfig_path('purelib'))
+PKGDATA_DIR = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
+PKGLIB_DIR = join_paths(PKGDATA_DIR, 'libs')
+# Dependencies
+dependency('gobject-introspection-1.0', version: '>= 1.35.0')
+dependency('gtk+-3.0', version: '>= 3.19.3')
+dependency('libmediaart-2.0', version: '>= 1.9.1')
+dependency('tracker-sparql-2.0', version: '>= 1.99.1')
+dependency('pygobject-3.0', version: '>= 3.21.1')
+dependency('grilo-0.3', version: '>= 0.3.4')
+
+
+subproject('libgd',
+ default_options: [
+ 'with-notifications=true',
+ 'with-introspection=true',
+ 'with-gtk-hacks=true',
+ 'with-main-view=true',
+ 'with-tagged-entry=true',
+ 'pkgdatadir=' + PKGDATA_DIR,
+ 'pkglibdir=' + PKGLIB_DIR
+ ])
+
+subdir('data')
+subdir('help')
+subdir('po')
+
+install_subdir(
+ 'gnomemusic',
+ install_dir: PYTHON_DIR
+)
+
+
+# Install the executable file
+bin_config = configuration_data()
+bin_config.set('pkgdatadir', PKGDATA_DIR)
+bin_config.set('localedir', join_paths(get_option('prefix'), get_option('datadir'), 'locale'))
+bin_config.set('pythondir', PYTHON_DIR)
+bin_config.set('pyexecdir', join_paths(get_option('prefix'), python.sysconfig_path('stdlib')))
+# Used for libgd
+bin_config.set('pkglibdir', PKGLIB_DIR)
+
+configure_file(
+ input: 'gnome-music.in',
+ output: 'gnome-music',
+ configuration: bin_config,
+ install_dir: get_option('bindir')
+)
+
+# Run the post install script
+meson.add_install_script('meson_post_install.py')
\ No newline at end of file
diff --git a/meson_post_install.py b/meson_post_install.py
new file mode 100755
index 0000000..4c3a2b7
--- /dev/null
+++ b/meson_post_install.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+import os
+import subprocess
+
+prefix = os.environ.get('MESON_INSTALL_PREFIX', '/usr/local')
+datadir = os.path.join(prefix, 'share')
+
+# Packaging tools define DESTDIR and this isn't needed for them
+if 'DESTDIR' not in os.environ:
+ print('Updating icon cache...')
+ icon_cache_dir = os.path.join(datadir, 'icons', 'hicolor')
+ subprocess.call(['gtk-update-icon-cache', '-qtf', icon_cache_dir])
+
+ print("Compiling the schema...")
+ schemas_dir = os.path.join(datadir, 'glib-2.0/schemas')
+ subprocess.call(['glib-compile-schemas', schemas_dir])
+
+ print('Updating desktop database...')
+ desktop_database_dir = os.path.join(datadir, 'applications')
+ subprocess.call(['update-desktop-database', '-q', desktop_database_dir])
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000..9116ed7
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1 @@
+i18n.gettext(meson.project_name(), preset:'glib')
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]