-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathmeson.build
More file actions
143 lines (121 loc) · 4.05 KB
/
Copy pathmeson.build
File metadata and controls
143 lines (121 loc) · 4.05 KB
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
project('pardus-gnome-greeter', 'c',
version: '0.0.13',
meson_version: '>= 0.60.0'
)
application_id = 'tr.org.pardus.pardus-gnome-greeter'
project_name = meson.project_name()
prefix = get_option('prefix')
datadir = join_paths(prefix, get_option('datadir'))
pkgdatadir = join_paths(datadir,'pardus', project_name)
# GResource
gnome = import('gnome')
gresource_target = custom_target(
'pardus-gnome-greeter-gresource',
input: 'pardus-gnome-greeter.gresource.xml',
output: 'pardus-gnome-greeter.gresource',
command: [
'glib-compile-resources',
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir() + '/data',
'@INPUT@'
],
install: true,
install_dir: pkgdatadir
)
# Python sources - Install to pkgdatadir for application use
install_subdir(
'src/pardus_gnome_greeter',
install_dir: pkgdatadir
)
# Python package - Install to dist-packages for library use
# This allows users to import pardus_gnome_greeter in their Python scripts
python = import('python')
py_installation = python.find_installation('python3', required: true)
# Get Python installation directory for dist-packages/site-packages
# Use prefix to determine correct path (/usr vs /usr/local)
prefix = get_option('prefix')
if prefix == '/usr' or prefix.startswith('/usr/')
# System installation: use /usr/lib/python3/dist-packages
python_site_packages = join_paths('/usr/lib', 'python3', 'dist-packages')
else
# Local installation: use get_install_dir() which handles /usr/local correctly
python_site_packages = py_installation.get_install_dir()
endif
# Install Python package to site-packages/dist-packages
# Exclude __main__.py as it's only for application entry point
# Exclude __pycache__ directories
install_subdir(
'src/pardus_gnome_greeter',
install_dir: python_site_packages,
exclude_directories: ['__pycache__'],
exclude_files: ['__main__.py']
)
# Executable script
configure_file(
input: 'pardus-gnome-greeter.in',
output: project_name,
configuration: {
'PYTHON': '/usr/bin/python3',
'pkgdatadir': pkgdatadir
},
install: true,
install_dir: get_option('bindir')
)
# AppData file
install_data(
'tr.org.pardus.pardus-gnome-greeter.appdata.xml.in',
install_dir: join_paths(datadir, 'metainfo'),
rename: application_id + '.appdata.xml'
)
# Icon
install_data(
'data/icons/pardus-gnome-greeter.svg',
install_dir: join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps'),
rename: application_id + '.svg'
)
install_data(
'data/icons/pardus-gnome-greeter.svg',
install_dir: join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps')
)
# Symbolic Icons
symbolic_icons = [
'data/icons/github-symbolic.svg',
'data/icons/linkedin-symbolic.svg',
'data/icons/x-symbolic.svg',
'data/icons/youtube-symbolic.svg',
'data/icons/facebook-symbolic.svg',
'data/icons/home-symbolic.svg',
'data/icons/document-symbolic.svg',
'data/icons/community-symbolic.svg',
'data/icons/forum-symbolic.svg'
]
install_data(
symbolic_icons,
install_dir: join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps')
)
# Çeviri dosyalarını işle
subdir('data/po')
# GSettings Schemas
subdir('data/schemas')
subdir('debian')
install_data(
'data/autostart/tr.org.pardus.pardus-gnome-greeter-autostart.desktop',
install_dir: join_paths(get_option('sysconfdir'), 'xdg', 'autostart')
)
# JSON and Asset data
install_subdir('data/assets', install_dir: pkgdatadir)
install_subdir('data/css', install_dir: pkgdatadir)
install_subdir('data/json', install_dir: pkgdatadir)
install_subdir('data/ui', install_dir: pkgdatadir)
# Desktop file
i18n = import('i18n')
desktop_file = i18n.merge_file(
input: 'tr.org.pardus.pardus-gnome-greeter.desktop.in',
output: application_id + '.desktop',
po_dir: join_paths(meson.current_source_dir(), 'data', 'po'),
type: 'desktop',
install: true,
install_dir: join_paths(datadir, 'applications')
)
# Post-install script for manual installs (handled by dh_glib in debian)
# meson.add_install_script('meson_post_install.py')