cadc51ede9
This is mostly useful to avoid a newer gettext dependency for translating the appdata file but it is also just useless data for some distros without any app store. Closes #2219
127 lines
3.4 KiB
Meson
127 lines
3.4 KiB
Meson
appdir = join_paths(get_option('datadir'), 'applications')
|
|
metainfodir = join_paths(get_option('datadir'), 'metainfo')
|
|
desktop_utils = find_program('desktop-file-validate', required: false)
|
|
|
|
if get_option('with-gtk')
|
|
if get_option('with-appdata')
|
|
hexchat_appdata = i18n.merge_file(
|
|
input: 'io.github.Hexchat.appdata.xml.in',
|
|
output: 'io.github.Hexchat.appdata.xml',
|
|
po_dir: '../../po',
|
|
install: true,
|
|
install_dir: metainfodir
|
|
)
|
|
|
|
appstream_util = find_program('appstream-util', required: false)
|
|
if appstream_util.found()
|
|
test('Validate io.github.Hexchat.appdata.xml', appstream_util,
|
|
args: ['validate-relax', hexchat_appdata]
|
|
)
|
|
endif
|
|
endif
|
|
|
|
desktop_conf = configuration_data()
|
|
if get_option('with-dbus')
|
|
desktop_conf.set('exec_command', 'hexchat --existing %U')
|
|
else
|
|
desktop_conf.set('exec_command', 'hexchat %U')
|
|
endif
|
|
|
|
desktop_file = configure_file(
|
|
input: 'io.github.Hexchat.desktop.in.in',
|
|
output: 'io.github.Hexchat.desktop.in',
|
|
configuration: desktop_conf
|
|
)
|
|
|
|
hexchat_desktop = i18n.merge_file(
|
|
input: desktop_file,
|
|
output: 'io.github.Hexchat.desktop',
|
|
po_dir: '../../po',
|
|
type: 'desktop',
|
|
install: true,
|
|
install_dir: appdir
|
|
)
|
|
|
|
if desktop_utils.found()
|
|
test('Validate io.github.Hexchat.desktop', desktop_utils,
|
|
args: [hexchat_desktop]
|
|
)
|
|
endif
|
|
endif
|
|
|
|
if get_option('with-theme-manager')
|
|
htm_desktop = i18n.merge_file(
|
|
input: 'io.github.Hexchat.ThemeManager.desktop.in',
|
|
output: 'io.github.Hexchat.ThemeManager.desktop',
|
|
po_dir: '../../po',
|
|
type: 'desktop',
|
|
install: true,
|
|
install_dir: appdir
|
|
)
|
|
|
|
if desktop_utils.found()
|
|
test('Validate io.github.Hexchat.ThemeManager.desktop', desktop_utils,
|
|
args: [htm_desktop]
|
|
)
|
|
endif
|
|
|
|
install_data('io.github.Hexchat.ThemeManager.xml',
|
|
install_dir: join_paths(get_option('datadir'), 'mime/packages')
|
|
)
|
|
endif
|
|
|
|
if get_option('with-plugin') and get_option('with-appdata')
|
|
plugin_metainfo = []
|
|
|
|
# FIXME: These should all get translated somewhere
|
|
if get_option('with-checksum')
|
|
plugin_metainfo += [
|
|
['Checksum', 'Calculates a checksum for all sent and recieved DCC files', 'MIT']
|
|
]
|
|
endif
|
|
|
|
if get_option('with-fishlim')
|
|
plugin_metainfo += [
|
|
['Fishlim', 'Allows setting a key for encrypted conversations', 'MIT AND GPL-2.0+']
|
|
]
|
|
endif
|
|
|
|
if get_option('with-lua') != 'false'
|
|
plugin_metainfo += [
|
|
['Lua', 'Provides a scripting interface in Lua', 'MIT']
|
|
]
|
|
endif
|
|
|
|
if get_option('with-perl') != 'false'
|
|
plugin_metainfo += [
|
|
['Perl', 'Provides a scripting interface in Perl', 'GPL-2.0+']
|
|
]
|
|
endif
|
|
|
|
if get_option('with-python') != 'false'
|
|
plugin_metainfo += [
|
|
['Python', 'Provides a scripting interface in Python', 'GPL-2.0+']
|
|
]
|
|
endif
|
|
|
|
if get_option('with-sysinfo')
|
|
plugin_metainfo += [
|
|
['Sysinfo', 'Adds command to display system information', 'GPL-2.0+']
|
|
]
|
|
endif
|
|
|
|
foreach metainfo : plugin_metainfo
|
|
name = metainfo[0]
|
|
conf = configuration_data()
|
|
conf.set('NAME', name)
|
|
conf.set('SUMMARY', metainfo[1])
|
|
conf.set('LICENSE', metainfo[2])
|
|
|
|
configure_file(
|
|
input: 'io.github.Hexchat.Plugin.metainfo.xml.in',
|
|
output: 'io.github.Hexchat.Plugin.@0@.metainfo.xml'.format(name),
|
|
configuration: conf,
|
|
install_dir: get_option('install-plugin-metainfo') ? metainfodir : '',
|
|
)
|
|
endforeach
|
|
endif |