File: meson.build

package info (click to toggle)
apostrophe 3.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,408 kB
  • sloc: python: 5,733; xml: 226; sh: 66; javascript: 50; makefile: 2
file content (122 lines) | stat: -rw-r--r-- 3,335 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
project(
  'apostrophe',
  version: '3.4',
  meson_version: '>= 0.53.0'
)

# Importing modules
fs = import('fs')

gnome  = import('gnome')
i18n   = import('i18n')
python = import('python')

py_installation = python.find_installation('python3')
python_version = py_installation.language_version()
python_version_req = '>=3.8'
if not py_installation.found()
    error('No valid python3 binary found')
endif
if not python_version.version_compare(python_version_req)
  error('Requires Python @0@, @1@ found.'.format(python_version_req, python_version))
endif

# Handling of devel versions

if get_option('profile') == 'development'
  message('devel version')
  profile = '.Devel'
  name_suffix = ' (Development)'
  vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip()
  if vcs_tag == ''
    version_suffix = '-devel'
  else
    version_suffix = '-@0@'.format (vcs_tag)
  endif
else
  profile = ''
  name_suffix = ''
  version_suffix = ''
endif
application_id = 'org.gnome.gitlab.somas.Apostrophe@0@'.format(profile)

# Dependencies

dependency('glib-2.0')
dependency('gobject-2.0')
dependency('gobject-introspection-1.0')
dependency('gtk4', version: '>= 4.0.0')
dependency('libadwaita-1')

find_program('glib-compile-schemas', required: true)
find_program('gtk-update-icon-cache', required: false)
find_program('update-desktop-database', required: false)

gettext_package = meson.project_name()
localedir = get_option('prefix') / get_option('localedir')
pythondir = py_installation.get_path('purelib')
datadir = get_option('prefix') / get_option('datadir')
pkgdatadir = datadir / meson.project_name()
bindir = get_option('prefix') / get_option('bindir')
podir = meson.source_root() / 'po'

subdir('data')
#subdir('help')
subdir('po')

install_subdir(
  'apostrophe',
  install_dir: py_installation.get_install_dir()
)

# System installation

conf = configuration_data()
conf.set('PACKAGE_URL', 'https://apps.gnome.org/Apostrophe/')
conf.set('DATA_DIR', datadir)
conf.set('PKGDATA_DIR', pkgdatadir)
conf.set('LOCALE_DIR', join_paths(datadir, 'locale'))
conf.set('PYTHON_DIR', pythondir)
conf.set('VERSION', meson.project_version())
conf.set('LOCAL_BUILD', 'False')

conf.set('PROFILE', profile)
conf.set('APP_ID', application_id)

configure_file(
  input: 'apostrophe.in',
  output: 'apostrophe',
  configuration: conf,
  install_dir: get_option('bindir')
)

configure_file(
  input: 'config.py.in',
  output: 'config.py',
  configuration: conf,
  install_dir: py_installation.get_install_dir() / 'apostrophe'
)

# Local installation

local_config = configuration_data()
local_config.set('DATA_DIR', join_paths(meson.build_root(), 'data'))
local_config.set('PKGDATA_DIR', join_paths(meson.build_root(), 'data'))
local_config.set('PACKAGE_URL', 'https://apps.gnome.org/Apostrophe/')
local_config.set('LOCALE_DIR', join_paths(datadir, 'locale'))
local_config.set('PYTHON_DIR', meson.source_root())
local_config.set('PROFILE', profile)
local_config.set('APP_ID', application_id)

local_config.set('SCHEMAS_DIR', join_paths(meson.build_root(), 'data'))
local_config.set('LOCAL_BUILD', 'True')

configure_file(
  input: 'apostrophe.in',
  output: 'local-apostrophe',
  configuration: local_config
)

meson.add_install_script('build-aux/meson_post_install.py')
meson.add_install_script('build-aux/meson_post_config.py')