pidgin/meson.build

Thu, 13 Aug 2020 22:03:41 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 13 Aug 2020 22:03:41 -0500
changeset 40509
6748a5ec6644
parent 40502
875489636847
child 40526
c8cc1a4c4a02
permissions
-rw-r--r--

remove the old sound api

Remove all traces of the old sound api from pidgin

Remove all traces of the old sound api from finch

Remove all references to the old sound api from libpurple

Remove the old sound files

Update ChangeLog.API for all the removals

Testing Done:

Compile tested finch. Ran pidgin, verified the preferences window works, the pounce window dies on something talkatu related but that will be addressed separately.

Reviewed at https://reviews.imfreedom.org/r/58/

libpidgin_SOURCES = [
	'pidginstock.c',
	'gtkaccount.c',
	'gtkblist.c',
	'gtkblist-theme.c',
	'gtkblist-theme-loader.c',
	'gtkcellrendererexpander.c',
	'gtkconn.c',
	'gtkconv.c',
	'gtkdialogs.c',
	'gtkdnd-hints.c',
	'gtkicon-theme.c',
	'gtkicon-theme-loader.c',
	'gtkidle.c',
	'gtkmedia.c',
	'gtknotify.c',
	'gtkpluginpref.c',
	'gtkpounce.c',
	'gtkprefs.c',
	'gtkprivacy.c',
	'gtkrequest.c',
	'gtkroomlist.c',
	'gtksavedstatuses.c',
	'gtkscrollbook.c',
	'gtksmiley-manager.c',
	'gtksmiley-theme.c',
	'gtkstatus-icon-theme.c',
	'gtkstatusbox.c',
	'gtkstyle.c',
	'gtkutils.c',
	'gtkwhiteboard.c',
	'gtkxfer.c',
	'libpidgin.c',
	'minidialog.c',
	'pidginabout.c',
	'pidginaccountactionsmenu.c',
	'pidginaccountchooser.c',
	'pidginaccountsmenu.c',
	'pidginactiongroup.c',
	'pidginbuddylistmenu.c',
	'pidgincontactcompletion.c',
	'pidgindebug.c',
	'pidgingdkpixbuf.c',
	'pidgininvitedialog.c',
	'pidginlog.c',
	'pidginmenutray.c',
	'pidginmessage.c',
	'pidginmooddialog.c',
	'pidginplugininfo.c',
	'pidginpluginsdialog.c',
	'pidginpluginsmenu.c',
	'pidginprotocolchooser.c',
	'pidginprotocolstore.c',
	'pidgintalkatu.c',
	'pidgintooltip.c',
]

libpidgin_headers = [
	'gtkaccount.h',
	'gtkblist.h',
	'gtkblist-theme.h',
	'gtkblist-theme-loader.h',
	'gtkcellrendererexpander.h',
	'gtkconn.h',
	'gtkconv.h',
	'gtkconvwin.h',
	'gtkdialogs.h',
	'gtkdnd-hints.h',
	'gtkicon-theme.h',
	'gtkicon-theme-loader.h',
	'gtkidle.h',
	'gtkmedia.h',
	'gtknickcolors.h',
	'gtknotify.h',
	'gtkpluginpref.h',
	'gtkprefs.h',
	'gtkprivacy.h',
	'gtkpounce.h',
	'gtkrequest.h',
	'gtkroomlist.h',
	'gtksavedstatuses.h',
	'gtkscrollbook.h',
	'gtksmiley-manager.h',
	'gtksmiley-theme.h',
	'gtkstatus-icon-theme.h',
	'gtkstatusbox.h',
	'gtkstyle.h',
	'pidginstock.h',
	'gtkutils.h',
	'gtkwhiteboard.h',
	'gtkxfer.h',
	'minidialog.h',
	'pidginabout.h',
	'pidginaccountactionsmenu.h',
	'pidginaccountchooser.h',
	'pidginaccountsmenu.h',
	'pidginactiongroup.h',
	'pidginbuddylistmenu.h',
	'pidgincontactcompletion.h',
	'pidgincore.h',
	'pidgindebug.h',
	'pidgingdkpixbuf.h',
	'pidginicon.h',
	'pidgininvitedialog.h',
	'pidginlog.h',
	'pidginmenutray.h',
	'pidginmessage.h',
	'pidginmooddialog.h',
	'pidginplugininfo.h',
	'pidginpluginsdialog.h',
	'pidginpluginsmenu.h',
	'pidginprotocolchooser.h',
	'pidginprotocolstore.h',
	'pidgintalkatu.h',
	'pidgintooltip.h',
]

pidgin_SOURCES = [
	'pidgin.c'
]

pidgin_resource = gnome.compile_resources('pidginresources',
    'resources/pidgin.gresource.xml',
    source_dir : 'resources',
    c_name : 'pidgin')
libpidgin_SOURCES += pidgin_resource

if IS_WIN32
	libpidgin_SOURCES += [
		'pidgin.c',
		'win32/gtkwin32dep.c',
		'win32/untar.c'
	]

	pidgin_exe_rc = configure_file(
	    input : 'win32/pidgin_exe_rc.rc.in',
	    output : 'pidgin_exe_rc.rc',
	    configuration : version_conf)
	pidgin_SOURCES = [
	    'win32/winpidgin.c',
	    windows.compile_resources(pidgin_exe_rc,
	        include_directories : include_directories('win32')
	    )
	]

	libpidgin_headers += [
		'win32/gtkwin32dep.h',
		'win32/resource.h',
		'win32/untar.h'
	]
endif

if ENABLE_GTK
	if IS_WIN32
		pidgin_dll_rc = configure_file(
		    input : 'win32/pidgin_dll_rc.rc.in',
		    output : 'pidgin_dll_rc.rc',
		    configuration : version_conf)
		libpidgin_SOURCES += windows.compile_resources(pidgin_dll_rc,
		    include_directories : include_directories('win32')
		)
	endif

	PIDGIN_H_INCLUDES = []
	foreach header : libpidgin_headers
		PIDGIN_H_INCLUDES += '#include <pidgin/@0@>'.format(header)
	endforeach
	pidgin_h_conf = configuration_data()
	pidgin_h_conf.set('PIDGIN_H_INCLUDES', '\n'.join(PIDGIN_H_INCLUDES))
	pidgin_h = configure_file(input : 'pidgin.h.in',
	                          output : 'pidgin.h',
	                          configuration : pidgin_h_conf,
	                          install : true,
	                          install_dir : get_option('includedir') / purple_filebase)


	install_headers(libpidgin_headers, subdir : 'pidgin-3')

	_libpidgin_dependencies = [
		glib,
		gplugin_gtk_dep,
		gstreamer_video,
		gtk,
		IOKIT,
		json,
		math,
		libsoup,
		talkatu_dep,
		libpurple_dep,
	]
	if x11.found()
		_libpidgin_dependencies += x11
	endif
	libpidgin_inc = include_directories('.')
	libpidgin = shared_library('pidgin3',
	    libpidgin_SOURCES,
	    package_revision,
	    c_args : ['-DPIDGIN_COMPILATION'],
	    include_directories : [toplevel_inc],
	    version : PURPLE_LIB_VERSION,
	    dependencies : _libpidgin_dependencies,
	    install : true)
	libpidgin_dep = declare_dependency(
	    include_directories : [toplevel_inc, libpidgin_inc],
	    link_with : libpidgin,
	    dependencies : [gtk, glib, math, talkatu_dep])

	pidgin = executable('pidgin3',
	    pidgin_SOURCES,
	    include_directories : toplevel_inc,
	    dependencies : IS_WIN32 ? [] : [libpurple_dep, libpidgin_dep],
	    gui_app : true,
	    install : true)

	if IS_WIN32
#		libpidgin_la_LIBADD += -lwinmm
#		pidgin_LDFLAGS += -mwindows
	endif

	pkgconfig.generate(
	    name : 'Pidgin',
	    description : 'Pidgin is a GTK3-based instant messenger application.',
	    version : meson.project_version(),
	    filebase : 'pidgin-3',
	    subdirs : 'pidgin-3',
	    libraries : [libpidgin],
	    requires : ['gtk+-3.0', 'purple-3', 'talkatu', 'gplugin-gtk'],
	    variables : ['plugindir=${libdir}/pidgin-@0@'.format(purple_major_version)])

	if get_option('nls')
		i18n = import('i18n')
		DESKTOP_FILE = 'im.pidgin.Pidgin3.desktop'
		desktop_file_in = configure_file(
		    input : 'data/' + DESKTOP_FILE + '.in.in',
		    output : DESKTOP_FILE + '.in',
		    configuration : conf)
		desktop_file = i18n.merge_file(
		    input : desktop_file_in,
		    output : DESKTOP_FILE,
		    po_dir : meson.source_root() + '/po',
		    type : 'desktop',
		    install : true,
		    install_dir : get_option('datadir') + '/applications')

		appdata = i18n.merge_file(
		    input : 'data/im.pidgin.Pidgin3.appdata.xml.in',
		    output : 'im.pidgin.Pidgin3.appdata.xml',
		    po_dir : meson.source_root() + '/po',
		    install : true,
		    install_dir : get_option('datadir') + '/metainfo')
	endif  # INSTALL_I18N

	if enable_introspection
		introspection_sources = libpidgin_headers

		gnome.generate_gir(libpidgin,
			sources : introspection_sources,
			includes : ['GObject-2.0', 'Gtk-3.0', libpurple_gir[0], talkatu_gir, gplugin_gir, gplugin_gtk_gir],
			namespace : 'Pidgin',
			symbol_prefix : 'pidgin',
			identifier_prefix : 'Pidgin',
			export_packages : 'pidgin-@0@'.format(purple_major_version),
			nsversion : '@0@.@1@'.format(purple_major_version,
			                             purple_minor_version),
			include_directories : [
				gplugin_include_directories,
				gplugin_gtk_include_directories,
				talkatu_include_directories,
			],
			install : true,
			extra_args : ['-DPIDGIN_COMPILATION', '--quiet'])
	endif

	subdir('data')
	subdir('glade')
	subdir('pixmaps')
	subdir('plugins')
endif  # ENABLE_GTK

mercurial