Use meson pkgconfig generator.
Without autotools, there's no need to use templates.
--- a/finch/finch.pc.in Thu Nov 16 23:56:04 2017 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-exec_prefix=@exec_prefix@
-datarootdir=@datarootdir@
-Description: Finch is an instant messenger application that uses libpurple for protocol support and ncurses (libgnt) for the UI.
-Cflags: -I${includedir}/finch
-Libs: -L${libdir} -lfinch
--- a/finch/libgnt/gnt.pc.in Thu Nov 16 23:56:04 2017 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-exec_prefix=@exec_prefix@
-datarootdir=@datarootdir@
-Description: Glib Ncurses Toolkit is a collection of curses-widgets.
-Cflags: -I${includedir}/gnt
--- a/finch/libgnt/meson.build Thu Nov 16 23:56:04 2017 -0500
+++ b/finch/libgnt/meson.build Fri Nov 17 01:18:13 2017 -0500
@@ -76,11 +76,14 @@
dependencies : [ncurses, glib])
-configure_file(input : 'gnt.pc.in',
- configuration : pkg_conf,
- install_dir : get_option('libdir') + '/pkgconfig')
+ description : 'Glib Ncurses Toolkit is a collection of curses-widgets.', + version : purple_display_version, + requires : ['glib-2.0']) libgnt_gir = gnome.generate_gir(libgnt,
--- a/finch/meson.build Thu Nov 16 23:56:04 2017 -0500
+++ b/finch/meson.build Fri Nov 17 01:18:13 2017 -0500
@@ -91,11 +91,14 @@
dependencies : [libpurple_dep, libgnt_dep, libfinch_dep],
- configure_file(input : 'finch.pc.in',
- configuration : pkg_conf,
- install_dir : get_option('libdir') + '/pkgconfig')
+ description : 'Finch is an instant messenger application that uses libpurple for protocol support and ncurses (libgnt) for the UI.', + version : purple_display_version, + libraries : [libfinch], + requires : ['gnt', 'purple-3']) introspection_sources = libfinch_headers
--- a/libpurple/data/purple-3-uninstalled.pc.in Thu Nov 16 23:56:04 2017 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-exec_prefix=@exec_prefix@
-datarootdir=@datarootdir@
-abs_builddir=@abs_builddir@
-abs_top_srcdir=@abs_top_srcdir@
-abs_top_builddir=@abs_top_builddir@
-plugindir=${libdir}/purple-@PURPLE_MAJOR_VERSION@
-Description: libpurple is a GLib-based instant messenger library.
-Cflags: -I${abs_top_srcdir} -I${abs_top_builddir}
-Libs: ${abs_top_builddir}/libpurple/libpurple.la
--- a/libpurple/data/purple-3.pc.in Thu Nov 16 23:56:04 2017 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-exec_prefix=@exec_prefix@
-includedir=@includedir@/libpurple
-datarootdir=@datarootdir@
-plugindir=${libdir}/purple-@PURPLE_MAJOR_VERSION@
-Description: libpurple is a GLib-based instant messenger library.
-Requires: glib-2.0@GPLUGIN_REQ@
-Libs: -L${libdir} -lpurple
--- a/libpurple/meson.build Thu Nov 16 23:56:04 2017 -0500
+++ b/libpurple/meson.build Fri Nov 17 01:18:13 2017 -0500
@@ -418,11 +418,15 @@
install_headers(purple_mediaheaders,
subdir : 'libpurple/media')
-configure_file(input : 'data/purple-3.pc.in',
- output : 'purple-3.pc',
- configuration : pkg_conf,
- install_dir : get_option('libdir') + '/pkgconfig')
+ description : 'libpurple is a GLib-based instant messenger library.', + version : purple_display_version, + libraries : [libpurple], + requires : ['glib-2.0'] + GPLUGIN_REQ, + variables : ['plugindir=${libdir}/purple-@0@'.format(purple_major_version)]) DESKTOP_FILE = 'purple-url-handler.desktop'
--- a/meson.build Thu Nov 16 23:56:04 2017 -0500
+++ b/meson.build Fri Nov 17 01:18:13 2017 -0500
@@ -70,7 +70,6 @@
add_project_arguments('-DHAVE_CONFIG_H=1', language : 'c')
conf = configuration_data()
man_conf = configuration_data()
-pkg_conf = configuration_data()
version_conf = configuration_data()
conf.set_quoted('PACKAGE', meson.project_name())
@@ -107,17 +106,8 @@
man_conf.set('VERSION', purple_display_version)
man_conf.set('prefix', get_option('prefix'))
-# This is used for pkg-config files. This probably can be removed and the
-# builtin generator used instead once we drop the Autotools build.
-pkg_conf.set('VERSION', purple_display_version)
-pkg_conf.set('PURPLE_MAJOR_VERSION', purple_major_version)
-pkg_conf.set('prefix', get_option('prefix'))
-pkg_conf.set('exec_prefix', '${prefix}')
-pkg_conf.set('libdir', join_paths('${exec_prefix}', get_option('libdir')))
-pkg_conf.set('includedir', join_paths('${prefix}', get_option('includedir')))
-pkg_conf.set('datarootdir', join_paths('${prefix}', get_option('datadir')))
-pkg_conf.set('datadir', '${datarootdir}')
-pkg_conf.set('sysconfdir', join_paths('${prefix}', get_option('sysconfdir')))
+# Used for pkg-config files. +pkgconfig = import('pkgconfig') sedpath = find_program('sed')
@@ -1119,11 +1109,12 @@
gplugin = dependency('gplugin', version : '>= 0.0.17')
# GPLUGIN_REQ sets pkg-config requirements in the .pc file
- pkg_conf.set('GPLUGIN_REQ', ', gplugin')
+ GPLUGIN_REQ = ['gplugin'] enable_introspection = dependency('gobject-introspection-1.0',
version : '>= 1.30.0', required : false).found()
enable_introspection = false
--- a/pidgin/data/pidgin-3-uninstalled.pc.in Thu Nov 16 23:56:04 2017 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-exec_prefix=@exec_prefix@
-datarootdir=@datarootdir@
-abs_builddir=@abs_builddir@
-abs_top_srcdir=@abs_top_srcdir@
-abs_top_builddir=@abs_top_builddir@
-plugindir=${libdir}/pidgin
-Description: Pidgin is a GTK3-based instant messenger application.
-Requires: gtk+-3.0 webkitgtk-3.0 purple-3
-Cflags: -I${abs_top_srcdir}
--- a/pidgin/data/pidgin-3.pc.in Thu Nov 16 23:56:04 2017 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-exec_prefix=@exec_prefix@
-includedir=@includedir@/pidgin
-datarootdir=@datarootdir@
-plugindir=${libdir}/pidgin
-Description: Pidgin is a GTK3-based instant messenger application.
-Requires: gtk+-3.0 webkitgtk-3.0 purple-3
-Libs: -L${libdir} -lpidgin
--- a/pidgin/meson.build Thu Nov 16 23:56:04 2017 -0500
+++ b/pidgin/meson.build Fri Nov 17 01:18:13 2017 -0500
@@ -185,11 +185,15 @@
# pidgin_LDFLAGS += -mwindows
- configure_file(input : 'data/pidgin-3.pc.in',
- output : 'pidgin-3.pc',
- configuration : pkg_conf,
- install_dir : get_option('libdir') + '/pkgconfig')
+ description : 'Pidgin is a GTK3-based instant messenger application.', + version : purple_display_version, + libraries : [libpidgin], + requires : ['gtk+-3.0', 'webkitgtk-3.0', 'purple-3'], + variables : ['plugindir=${libdir}/pidgin']) DESKTOP_FILE = 'im.pidgin.Pidgin.desktop'