diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..9fcbf28 --- /dev/null +++ b/meson.build @@ -0,0 +1,130 @@ +project('pamac',['c','vala']) + +DISABLE_AUR = (get_option('DISABLE_AUR') != '') +KDE_TRAY = (get_option('KDE_TRAY') != '') + +add_global_arguments('-DGETTEXT_PACKAGE="pamac"',language: 'c') + +gdk_3_0_dep = dependency('gdk-3.0') +gtk_3_0_dep = dependency('gtk+-3.0') +json_glib_1_0_dep = dependency('json-glib-1.0') +libalpm_dep = dependency('libalpm') +libcurl_dep = dependency('libcurl') +libnotify_dep = dependency('libnotify') +libsoup_2_4_dep = dependency('libsoup-2.4') +polkit_gobject_1_dep = dependency('polkit-gobject-1') +vte_2_91_dep = dependency('vte-2.91') +if KDE_TRAY +appindicator3_0_1_dep = dependency('appindicator3-0.1') +endif +gio_2_0_dep = dependency('gio-2.0') +glib_2_0_dep = dependency('glib-2.0') +gobject_2_0_dep = dependency('gobject-2.0') + +subdir('po') +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d'),join_paths(meson.current_source_dir(),'data/dbus','org.pamac.system.conf')) + +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services'),join_paths(meson.current_source_dir(),'data/dbus','org.pamac.user.service')) + +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/system-services'),join_paths(meson.current_source_dir(),'data/dbus','org.pamac.system.service')) + +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_LIBDIR}/systemd/system'),join_paths(meson.current_source_dir(),'data/systemd','pamac-system.service')) + +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_LIBDIR}/systemd/system'),join_paths(meson.current_source_dir(),'data/systemd','pamac-cleancache.service')) + +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_LIBDIR}/systemd/system'),join_paths(meson.current_source_dir(),'data/systemd','pamac-cleancache.timer')) + +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_LIBDIR}/systemd/system'),join_paths(meson.current_source_dir(),'data/systemd','pamac-mirrorlist.service')) + +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_LIBDIR}/systemd/system'),join_paths(meson.current_source_dir(),'data/systemd','pamac-mirrorlist.timer')) + +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/polkit-1/actions'),join_paths(meson.current_source_dir(),'data/polkit','org.pamac.policy')) + +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/mime/packages'),join_paths(meson.current_source_dir(),'data/mime','x-alpm-package.xml')) + +if DISABLE_AUR + meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_SYSCONFDIR}'),join_paths(meson.current_source_dir(),'data/config/noaur','pamac.conf')) + +else + meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),'${CMAKE_INSTALL_SYSCONFDIR}'),join_paths(meson.current_source_dir(),'data/config','pamac.conf')) + +endif +pamac_installer_gresource_xml_generator = generator(find_program('glib-compile-resources'), arguments: [ '--sourcedir=@SOURCE_DIR@/data' , '--generate-source', '--target=@BUILD_DIR@/pamac.installer.gresource.xml.c', '@INPUT@'], output: '@PLAINNAME@.c') + +pamac_installer_gresource_xml_file_c = pamac_installer_gresource_xml_generator.process(['data/pamac.installer.gresource.xml']) + +if DISABLE_AUR + pamac_manager_no_aur_gresource_xml_generator = generator(find_program('glib-compile-resources'), arguments: [ '--sourcedir=@SOURCE_DIR@/data' , '--generate-source', '--target=@BUILD_DIR@/pamac.manager_no_aur.gresource.xml.c', '@INPUT@'], output: '@PLAINNAME@.c') + + pamac_manager_no_aur_gresource_xml_file_c = pamac_manager_no_aur_gresource_xml_generator.process(['data/pamac.manager_no_aur.gresource.xml']) + + pamac_transaction_no_aur_gresource_xml_generator = generator(find_program('glib-compile-resources'), arguments: [ '--sourcedir=@SOURCE_DIR@/data' , '--generate-source', '--target=@BUILD_DIR@/pamac.transaction_no_aur.gresource.xml.c', '@INPUT@'], output: '@PLAINNAME@.c') + + pamac_transaction_no_aur_gresource_xml_file_c = pamac_transaction_no_aur_gresource_xml_generator.process(['data/pamac.transaction_no_aur.gresource.xml']) + +else + pamac_manager_gresource_xml_generator = generator(find_program('glib-compile-resources'), arguments: [ '--sourcedir=@SOURCE_DIR@/data' , '--generate-source', '--target=@BUILD_DIR@/pamac.manager.gresource.xml.c', '@INPUT@'], output: '@PLAINNAME@.c') + + pamac_manager_gresource_xml_file_c = pamac_manager_gresource_xml_generator.process(['data/pamac.manager.gresource.xml']) + + pamac_transaction_gresource_xml_generator = generator(find_program('glib-compile-resources'), arguments: [ '--sourcedir=@SOURCE_DIR@/data' , '--generate-source', '--target=@BUILD_DIR@/pamac.transaction.gresource.xml.c', '@INPUT@'], output: '@PLAINNAME@.c') + + pamac_transaction_gresource_xml_file_c = pamac_transaction_gresource_xml_generator.process(['data/pamac.transaction.gresource.xml']) + +endif +if KDE_TRAY +else +endif +if DISABLE_AUR +else +endif +meson.add_install_script(join_paths(meson.current_source_dir(),'meson_scripts','install_data.sh'),join_paths(get_option('prefix'),get_option('datadir'),'doc'),join_paths(meson.current_source_dir(),'doc','','*')) + +install_data('data/pamac-install.desktop',install_dir:join_paths(get_option('prefix'),get_option('datadir'),'applications')) +install_data('data/pamac-manager.desktop',install_dir:join_paths(get_option('prefix'),get_option('datadir'),'applications')) +if KDE_TRAY + if (get_option('prefix').startswith('/home/')) + message('Autostart file data/pamac-tray-appindicator.desktop will not be installed. You must create your own .desktop file and put it at ~/.config/autostart') + else + install_data('data/pamac-tray-appindicator.desktop',install_dir: '/etc/xdg/autostart') + endif +else + if (get_option('prefix').startswith('/home/')) + message('Autostart file data/pamac-tray.desktop will not be installed. You must create your own .desktop file and put it at ~/.config/autostart') + else + install_data('data/pamac-tray.desktop',install_dir: '/etc/xdg/autostart') + endif +endif + install_data('data/interface/choose_ignorepkgs_dialog.ui', install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) + install_data('data/interface/choose_provider_dialog.ui', install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) + install_data('data/interface/history_dialog.ui', install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) + install_data('data/interface/progress_box.ui', install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) + install_data('data/interface/transaction_sum_dialog.ui', install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +if DISABLE_AUR + install_data('data/interface/manager_window_no_aur.ui', install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) + install_data('data/interface/preferences_dialog_no_aur.ui', install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +else + install_data('data/interface/manager_window.ui', install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) + install_data('data/interface/preferences_dialog.ui', install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +endif +install_data('data/icons/16x16/apps/system-software-install.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'icons','hicolor/16x16/apps')) +install_data('data/icons/24x24/status/pamac-tray-no-update.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'icons','hicolor/24x24/apps')) +install_data('data/icons/24x24/status/pamac-tray-update.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'icons','hicolor/24x24/apps')) +install_data('data/icons/32x32/apps/system-software-install.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'icons','hicolor/32x32/apps')) +install_data('data/pixmaps/package-available-locked.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +install_data('data/pixmaps/package-available.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +install_data('data/pixmaps/package-generic.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +install_data('data/pixmaps/package-install.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +install_data('data/pixmaps/package-installed-locked.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +install_data('data/pixmaps/package-installed-updated.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +install_data('data/pixmaps/package-reinstall.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +install_data('data/pixmaps/package-remove.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +install_data('data/pixmaps/package-upgrade.png',install_dir: join_paths(get_option('prefix'),get_option('datadir'),'pamac')) + +subdir('src') +subdir('src/aur') +subdir('src/pamac-install') +subdir('src/pamac-manager') +subdir('src/pamac-system-daemon') +subdir('src/pamac-user-daemon') +subdir('src/pamac-tray') diff --git a/meson.extra b/meson.extra new file mode 100644 index 0000000..655d731 --- /dev/null +++ b/meson.extra @@ -0,0 +1,101 @@ +cfg_pamac_tray = configuration_data() +cfg_pamac_tray.set('DATADIR', join_paths(get_option('prefix'),get_option('datadir'))) +cfg_pamac_tray.set('PKGDATADIR', join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +cfg_pamac_tray.set('GETTEXT_PACKAGE', 'pamac') +cfg_pamac_tray.set('RELEASE_NAME', 'pamac') +cfg_pamac_tray.set('PREFIX', get_option('prefix')) +cfg_pamac_tray.set('VERSION', '6.0.1') +cfg_pamac_tray.set('TESTSRCDIR', meson.current_source_dir()) + +cfgfile_6 = configure_file(input: 'src/pamac-tray/Config.vala.base',output: 'Config_6.vala',configuration: cfg_pamac_tray) + +pamac_tray_deps = [json_glib_1_0_dep] +pamac_tray_deps += [libnotify_dep] +if KDE_TRAY +pamac_tray_deps += [appindicator3_0_1_dep] +else +pamac_tray_deps += [gtk_3_0_dep] +endif +pamac_tray_deps += [gio_2_0_dep] +pamac_tray_deps += [glib_2_0_dep] +pamac_tray_deps += [gobject_2_0_dep] +pamac_tray_sources = [cfgfile_6] +if KDE_TRAY +pamac_tray_sources += ['src/pamac-tray/tray-appindicator.vala'] +else +pamac_tray_sources += ['src/pamac-tray/tray-gtk.vala'] +endif +pamac_tray_sources += ['src/pamac-tray/pamac_config.vala'] +pamac_tray_sources += ['src/pamac-tray/tray.vala'] +pamac_tray_sources += ['src/pamac-tray/user_daemon.vala'] +pamac_tray_sources += [pamac_installer_gresource_xml_file_c] +if DISABLE_AUR +pamac_tray_sources += [pamac_manager_no_aur_gresource_xml_file_c] +pamac_tray_sources += [pamac_transaction_no_aur_gresource_xml_file_c] +else +pamac_tray_sources += [pamac_manager_gresource_xml_file_c] +pamac_tray_sources += [pamac_transaction_gresource_xml_file_c] +endif +pamac_tray_vala_args = ['--pkg','posix'] +pamac_tray_vala_args += ['--vapidir='+join_paths(meson.current_source_dir(),'src/vapis')] +pamac_tray_dependencies = [Pamac_library] +if not DISABLE_AUR +pamac_tray_dependencies += [AUR_library] +endif +pamac_tray_c_args = [] +if DISABLE_AUR + pamac_tray_vala_args += ['-D', 'DISABLE_AUR'] + pamac_tray_c_args += ['-DDISABLE_AUR'] +endif +if KDE_TRAY + pamac_tray_vala_args += ['-D', 'KDE_TRAY'] + pamac_tray_c_args += ['-DKDE_TRAY'] +endif + +executable('pamac-tray',pamac_tray_sources,dependencies: pamac_tray_deps,vala_args: pamac_tray_vala_args,c_args: pamac_tray_c_args,link_with: pamac_tray_dependencies,install: true) + +cfg_pamac_user_daemon = configuration_data() +cfg_pamac_user_daemon.set('DATADIR', join_paths(get_option('prefix'),get_option('datadir'))) +cfg_pamac_user_daemon.set('PKGDATADIR', join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +cfg_pamac_user_daemon.set('GETTEXT_PACKAGE', 'pamac') +cfg_pamac_user_daemon.set('RELEASE_NAME', 'pamac') +cfg_pamac_user_daemon.set('PREFIX', get_option('prefix')) +cfg_pamac_user_daemon.set('VERSION', '6.0.1') +cfg_pamac_user_daemon.set('TESTSRCDIR', meson.current_source_dir()) + +cfgfile_7 = configure_file(input: 'src/pamac-user-daemon/Config.vala.base',output: 'Config_7.vala',configuration: cfg_pamac_user_daemon) + +pamac_user_daemon_deps = [gtk_3_0_dep] +pamac_user_daemon_deps += [json_glib_1_0_dep] +pamac_user_daemon_deps += [libalpm_dep] +pamac_user_daemon_deps += [libsoup_2_4_dep] +pamac_user_daemon_deps += [gio_2_0_dep] +pamac_user_daemon_deps += [glib_2_0_dep] +pamac_user_daemon_deps += [gobject_2_0_dep] +pamac_user_daemon_sources = [cfgfile_7] +pamac_user_daemon_sources += ['src/pamac-user-daemon/alpm_config.vala'] +pamac_user_daemon_sources += ['src/pamac-user-daemon/user_daemon.vala'] +pamac_user_daemon_sources += [pamac_installer_gresource_xml_file_c] +if DISABLE_AUR +pamac_user_daemon_sources += [pamac_manager_no_aur_gresource_xml_file_c] +pamac_user_daemon_sources += [pamac_transaction_no_aur_gresource_xml_file_c] +else +pamac_user_daemon_sources += [pamac_manager_gresource_xml_file_c] +pamac_user_daemon_sources += [pamac_transaction_gresource_xml_file_c] +endif +pamac_user_daemon_vala_args = ['--pkg','posix'] +pamac_user_daemon_vala_args += ['--vapidir='+join_paths(meson.current_source_dir(),'src/vapis')] +pamac_user_daemon_dependencies = [AUR_library] +pamac_user_daemon_dependencies += [Pamac_library] +pamac_user_daemon_c_args = [] +if DISABLE_AUR + pamac_user_daemon_vala_args += ['-D', 'DISABLE_AUR'] + pamac_user_daemon_c_args += ['-DDISABLE_AUR'] +endif +if KDE_TRAY + pamac_user_daemon_vala_args += ['-D', 'KDE_TRAY'] + pamac_user_daemon_c_args += ['-DKDE_TRAY'] +endif + +executable('pamac-user-daemon',pamac_user_daemon_sources,dependencies: pamac_user_daemon_deps,vala_args: pamac_user_daemon_vala_args,c_args: pamac_user_daemon_c_args,link_with: pamac_user_daemon_dependencies,install: true) + diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..ee82d80 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,2 @@ +option('DISABLE_AUR',type : 'string', value: '') +option('KDE_TRAY',type : 'string', value: '') diff --git a/meson_scripts/install_data.sh b/meson_scripts/install_data.sh new file mode 100755 index 0000000..8d82178 --- /dev/null +++ b/meson_scripts/install_data.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +mkdir -p $DESTDIR/$1 + +cp -a $2 $DESTDIR/$1 diff --git a/meson_scripts/install_library.sh b/meson_scripts/install_library.sh new file mode 100755 index 0000000..ecaba49 --- /dev/null +++ b/meson_scripts/install_library.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +mkdir -p "${DESTDIR}${MESON_INSTALL_PREFIX}/share/vala/vapi" +mkdir -p "${DESTDIR}${MESON_INSTALL_PREFIX}/share/gir-1.0" +mkdir -p "${DESTDIR}${MESON_INSTALL_PREFIX}/include" + +install -m 644 "${MESON_BUILD_ROOT}/src/$3/$1.vapi" "${DESTDIR}${MESON_INSTALL_PREFIX}/share/vala/vapi" +install -m 644 "${MESON_BUILD_ROOT}/src/$3/$1.h" "${DESTDIR}${MESON_INSTALL_PREFIX}/include" +install -m 644 "${MESON_BUILD_ROOT}/src/$3/$1@sha/$2" "${DESTDIR}${MESON_INSTALL_PREFIX}/share/gir-1.0" diff --git a/pamac.avprj b/pamac.avprj index e31f6be..07ab7c5 100644 --- a/pamac.avprj +++ b/pamac.avprj @@ -105,7 +105,9 @@ end vala_binary: src/pamac-user-daemon/pamac-user-daemon version: 6.0.1 +if NOT DISABLE_AUR vala_local_package: AUR +end vala_local_package: Pamac vala_package: posix vala_check_package: gtk+-3.0 @@ -132,6 +134,7 @@ vala_check_package: vte-2.91 *vala_check_package: gio-2.0 *vala_check_package: glib-2.0 *vala_check_package: gobject-2.0 +*c_library: m *vala_source: alpm_config.vala *vala_source: choose_ignorepkgs_dialog.vala *vala_source: choose_provider_dialog.vala @@ -240,9 +243,5 @@ end *pixmap: data/pixmaps/package-upgrade.png # These depends are needed to enable parallel builds -include: src/pamac-install/CMakeDepends.txt include: src/pamac-manager/CMakeDepends.txt -include: src/pamac-system-daemon/CMakeDepends.txt -include: src/pamac-tray/CMakeDepends.txt -include: src/pamac-user-daemon/CMakeDepends.txt diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 0000000..7c723a0 --- /dev/null +++ b/po/meson.build @@ -0,0 +1,2 @@ +i18n = import('i18n') +i18n.gettext('pamac', languages: ['af', 'ar', 'es_ES', 'nn', 'sl_SI', 'cs_CZ', 'is', 'gl', 'be', 'sr_RS', 'zh_TW', 'pl_PL', 'uz', 'fi', 'is_IS', 'sr_RS@latin', 'sl', 'sr@latin', 'fr', 'ro', 'sr', 'el', 'eu', 'ml', 'ur_PK', 'ko', 'el_GR', 'de_DE', 'cs', 'bs', 'si', 'zh', 'da', 'ca_ES', 'sv', 'it_IT', 'vi', 'eo', 'es_AR', 'zh_CN', 'pl', 'hi', 'pt', 'en_GB', 'es', 'es_MX', 'fa', 'nl', 'hu', 'bn', 'hr_HR', 'nb', 'ja', 'pt_BR', 'pt_PT', 'nl_BE', 'ca', 'tr', 'he', 'hi_IN', 'et', 'lt', 'fo', 'it', 'fa_IR', 'es_419', 'de_CH', 'de', 'ka', 'bs_BA', 'ru', 'ms', 'sk', 'bg', 'ast', 'uk', 'hr', 'es_SV', 'nl_NL', 'cy', 'id', 'az_AZ']) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8890eb1..f70b85a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -83,6 +83,7 @@ SET (VALA_C ${VALA_C} ${pamac_transaction_gresource_xml_C_FILE}) add_library(Pamac SHARED ${VALA_C}) add_dependencies (Pamac pamac_transaction_gresource_xml) +target_link_libraries( Pamac m ) set_target_properties( Pamac PROPERTIES VERSION 6.0.1 diff --git a/src/aur/meson.build b/src/aur/meson.build new file mode 100644 index 0000000..86fc087 --- /dev/null +++ b/src/aur/meson.build @@ -0,0 +1,45 @@ +cfg_aur = configuration_data() +cfg_aur.set('DATADIR', join_paths(get_option('prefix'),get_option('datadir'))) +cfg_aur.set('PKGDATADIR', join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +cfg_aur.set('GETTEXT_PACKAGE', 'pamac') +cfg_aur.set('RELEASE_NAME', 'pamac') +cfg_aur.set('PREFIX', get_option('prefix')) +cfg_aur.set('VERSION', '6.0.1') +cfg_aur.set('TESTSRCDIR', meson.source_root()) + +cfgfile_2 = configure_file(input: 'Config.vala.base',output: 'Config.vala',configuration: cfg_aur) + +aur_deps = [json_glib_1_0_dep] +aur_deps += [libsoup_2_4_dep] +aur_deps += [glib_2_0_dep] +aur_sources = [cfgfile_2] +aur_sources += ['aur.vala'] +aur_vala_args = ['--vapidir='+join_paths(meson.source_root(),'src/vapis')] +aur_c_args = [] +if DISABLE_AUR + aur_vala_args += ['-D', 'DISABLE_AUR'] + aur_c_args += ['-DDISABLE_AUR'] +endif +if KDE_TRAY + aur_vala_args += ['-D', 'KDE_TRAY'] + aur_c_args += ['-DKDE_TRAY'] +endif +aur_vala_args += ['--gir=AUR-6.0.gir'] + + +AUR_library = shared_library('AUR',aur_sources,dependencies: aur_deps,vala_args: aur_vala_args,c_args: aur_c_args,version: '6.0.1',soversion: '6',install: true) + +aur_requires = [] +aur_requires += ['json-glib-1.0'] +aur_requires += ['libsoup-2.4'] +aur_requires += ['glib-2.0'] +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : AUR_library, + version : '6.0.1', + name : 'AUR', + filebase : 'AUR', + description : 'AUR', + requires : aur_requires) + +install_data(join_paths(meson.current_source_dir(),'AUR.deps'),install_dir: join_paths(get_option('prefix'),'share','vala','vapi')) +meson.add_install_script(join_paths(meson.source_root(),'meson_scripts','install_library.sh'),'AUR','AUR-6.0.gir','aur') diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..0c17adb --- /dev/null +++ b/src/meson.build @@ -0,0 +1,77 @@ +cfg_pamac = configuration_data() +cfg_pamac.set('DATADIR', join_paths(get_option('prefix'),get_option('datadir'))) +cfg_pamac.set('PKGDATADIR', join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +cfg_pamac.set('GETTEXT_PACKAGE', 'pamac') +cfg_pamac.set('RELEASE_NAME', 'pamac') +cfg_pamac.set('PREFIX', get_option('prefix')) +cfg_pamac.set('VERSION', '6.0.1') +cfg_pamac.set('TESTSRCDIR', meson.current_source_dir()) + +cfgfile_1 = configure_file(input: 'Config.vala.base',output: 'Config.vala',configuration: cfg_pamac) + +pamac_deps = [gdk_3_0_dep] +pamac_deps += [gtk_3_0_dep] +pamac_deps += [libalpm_dep] +pamac_deps += [libnotify_dep] +pamac_deps += [vte_2_91_dep] +pamac_deps += [gio_2_0_dep] +pamac_deps += [glib_2_0_dep] +pamac_deps += [gobject_2_0_dep] +pamac_sources = [cfgfile_1] +pamac_sources += ['alpm_config.vala'] +pamac_sources += ['choose_ignorepkgs_dialog.vala'] +pamac_sources += ['choose_provider_dialog.vala'] +pamac_sources += ['common.vala'] +pamac_sources += ['mirrors_config.vala'] +pamac_sources += ['package.vala'] +pamac_sources += ['pamac_config.vala'] +pamac_sources += ['preferences_dialog.vala'] +pamac_sources += ['progress_box.vala'] +pamac_sources += ['transaction.vala'] +pamac_sources += ['transaction_sum_dialog.vala'] +if DISABLE_AUR +pamac_sources += [pamac_transaction_no_aur_gresource_xml_file_c] +else +pamac_sources += [pamac_transaction_gresource_xml_file_c] +endif +pamac_vala_args = ['--pkg','posix'] +pamac_vala_args += ['--vapidir='+join_paths(meson.source_root(),'src/vapis')] +if DISABLE_AUR +pamac_vala_args += ['--gresources='+join_paths(meson.source_root(),'data/pamac.transaction_no_aur.gresource.xml')] +else +pamac_vala_args += ['--gresources='+join_paths(meson.source_root(),'data/pamac.transaction.gresource.xml')] +endif +pamac_c_args = [] +if DISABLE_AUR + pamac_vala_args += ['-D', 'DISABLE_AUR'] + pamac_c_args += ['-DDISABLE_AUR'] +endif +if KDE_TRAY + pamac_vala_args += ['-D', 'KDE_TRAY'] + pamac_c_args += ['-DKDE_TRAY'] +endif +pamac_deps += [meson.get_compiler('c').find_library('m', required : false)] +pamac_vala_args += ['--gir=Pamac-6.0.gir'] + + +Pamac_library = shared_library('Pamac',pamac_sources,dependencies: pamac_deps,vala_args: pamac_vala_args,c_args: pamac_c_args,version: '6.0.1',soversion: '6',install: true) + +pamac_requires = [] +pamac_requires += ['gdk-3.0'] +pamac_requires += ['gtk+-3.0'] +pamac_requires += ['libalpm'] +pamac_requires += ['libnotify'] +pamac_requires += ['vte-2.91'] +pamac_requires += ['gio-2.0'] +pamac_requires += ['glib-2.0'] +pamac_requires += ['gobject-2.0'] +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : Pamac_library, + version : '6.0.1', + name : 'Pamac', + filebase : 'Pamac', + description : 'Pamac', + requires : pamac_requires) + +install_data(join_paths(meson.current_source_dir(),'Pamac.deps'),install_dir: join_paths(get_option('prefix'),'share','vala','vapi')) +meson.add_install_script(join_paths(meson.source_root(),'meson_scripts','install_library.sh'),'Pamac','Pamac-6.0.gir','') diff --git a/src/pamac-install/CMakeLists.txt b/src/pamac-install/CMakeLists.txt index 9c54d84..2b5e7c3 100644 --- a/src/pamac-install/CMakeLists.txt +++ b/src/pamac-install/CMakeLists.txt @@ -65,6 +65,8 @@ OPTIONS SET (VALA_C ${VALA_C} ${pamac_installer_gresource_xml_C_FILE}) add_executable(pamac-install ${VALA_C}) add_dependencies (pamac-install pamac_installer_gresource_xml) +set ( pamac-install_DEPENDENCIES ${pamac-install_DEPENDENCIES} Pamac ) +add_dependencies( pamac-install ${pamac-install_DEPENDENCIES} ) install(TARGETS @@ -87,4 +89,3 @@ if(HAVE_VALADOC) ${CMAKE_INSTALL_DATAROOTDIR}/doc/pamac ) endif() -include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeDepends.txt) diff --git a/src/pamac-install/meson.build b/src/pamac-install/meson.build new file mode 100644 index 0000000..29849e3 --- /dev/null +++ b/src/pamac-install/meson.build @@ -0,0 +1,35 @@ +cfg_pamac_install = configuration_data() +cfg_pamac_install.set('DATADIR', join_paths(get_option('prefix'),get_option('datadir'))) +cfg_pamac_install.set('PKGDATADIR', join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +cfg_pamac_install.set('GETTEXT_PACKAGE', 'pamac') +cfg_pamac_install.set('RELEASE_NAME', 'pamac') +cfg_pamac_install.set('PREFIX', get_option('prefix')) +cfg_pamac_install.set('VERSION', '6.0.1') +cfg_pamac_install.set('TESTSRCDIR', meson.current_source_dir()) + +cfgfile_3 = configure_file(input: 'Config.vala.base',output: 'Config.vala',configuration: cfg_pamac_install) + +pamac_install_deps = [gtk_3_0_dep] +pamac_install_deps += [gio_2_0_dep] +pamac_install_deps += [glib_2_0_dep] +pamac_install_deps += [gobject_2_0_dep] +pamac_install_sources = [cfgfile_3] +pamac_install_sources += ['installer.vala'] +pamac_install_sources += ['progress_dialog.vala'] +pamac_install_sources += [pamac_installer_gresource_xml_file_c] +pamac_install_vala_args = ['--vapidir='+join_paths(meson.source_root(),'src/vapis')] +pamac_install_vala_args += ['--gresources='+join_paths(meson.source_root(),'data/pamac.installer.gresource.xml')] +pamac_install_dependencies = [Pamac_library] +pamac_install_c_args = [] +if DISABLE_AUR + pamac_install_vala_args += ['-D', 'DISABLE_AUR'] + pamac_install_c_args += ['-DDISABLE_AUR'] +endif +if KDE_TRAY + pamac_install_vala_args += ['-D', 'KDE_TRAY'] + pamac_install_c_args += ['-DKDE_TRAY'] +endif + +inc = include_directories('../') + +executable('pamac-install',pamac_install_sources,dependencies: pamac_install_deps,vala_args: pamac_install_vala_args,c_args: pamac_install_c_args,link_with: pamac_install_dependencies,install: true,include_directories : inc) diff --git a/src/pamac-manager/CMakeDepends.txt b/src/pamac-manager/CMakeDepends.txt index fd24176..453fae1 100644 --- a/src/pamac-manager/CMakeDepends.txt +++ b/src/pamac-manager/CMakeDepends.txt @@ -1,3 +1,2 @@ -add_dependencies(pamac-manager Pamac) include (InstallSymlink) install_symlink(pamac-manager ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/pamac-updater) diff --git a/src/pamac-manager/CMakeLists.txt b/src/pamac-manager/CMakeLists.txt index ce657af..20061ba 100644 --- a/src/pamac-manager/CMakeLists.txt +++ b/src/pamac-manager/CMakeLists.txt @@ -67,6 +67,8 @@ OPTIONS SET (VALA_C ${VALA_C} ${pamac_manager_gresource_xml_C_FILE}) add_executable(pamac-manager ${VALA_C}) add_dependencies (pamac-manager pamac_manager_gresource_xml) +set ( pamac-manager_DEPENDENCIES ${pamac-manager_DEPENDENCIES} Pamac ) +add_dependencies( pamac-manager ${pamac-manager_DEPENDENCIES} ) install(TARGETS diff --git a/src/pamac-manager/meson.build b/src/pamac-manager/meson.build new file mode 100644 index 0000000..5674a66 --- /dev/null +++ b/src/pamac-manager/meson.build @@ -0,0 +1,44 @@ +cfg_pamac_manager = configuration_data() +cfg_pamac_manager.set('DATADIR', join_paths(get_option('prefix'),get_option('datadir'))) +cfg_pamac_manager.set('PKGDATADIR', join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +cfg_pamac_manager.set('GETTEXT_PACKAGE', 'pamac') +cfg_pamac_manager.set('RELEASE_NAME', 'pamac') +cfg_pamac_manager.set('PREFIX', get_option('prefix')) +cfg_pamac_manager.set('VERSION', '6.0.1') +cfg_pamac_manager.set('TESTSRCDIR', meson.current_source_dir()) + +cfgfile_4 = configure_file(input: 'Config.vala.base',output: 'Config.vala',configuration: cfg_pamac_manager) + +pamac_manager_deps = [gtk_3_0_dep] +pamac_manager_deps += [gio_2_0_dep] +pamac_manager_deps += [glib_2_0_dep] +pamac_manager_deps += [gobject_2_0_dep] +pamac_manager_sources = [cfgfile_4] +pamac_manager_sources += ['history_dialog.vala'] +pamac_manager_sources += ['manager.vala'] +pamac_manager_sources += ['manager_window.vala'] +if DISABLE_AUR +pamac_manager_sources += [pamac_manager_no_aur_gresource_xml_file_c] +else +pamac_manager_sources += [pamac_manager_gresource_xml_file_c] +endif +pamac_manager_vala_args = ['--vapidir='+join_paths(meson.source_root(),'src/vapis')] +if DISABLE_AUR +pamac_manager_vala_args += ['--gresources='+join_paths(meson.source_root(),'data/pamac.manager_no_aur.gresource.xml')] +else +pamac_manager_vala_args += ['--gresources='+join_paths(meson.source_root(),'data/pamac.manager.gresource.xml')] +endif +pamac_manager_dependencies = [Pamac_library] +pamac_manager_c_args = [] +if DISABLE_AUR + pamac_manager_vala_args += ['-D', 'DISABLE_AUR'] + pamac_manager_c_args += ['-DDISABLE_AUR'] +endif +if KDE_TRAY + pamac_manager_vala_args += ['-D', 'KDE_TRAY'] + pamac_manager_c_args += ['-DKDE_TRAY'] +endif + +inc = include_directories('../') + +executable('pamac-manager',pamac_manager_sources,dependencies: pamac_manager_deps,vala_args: pamac_manager_vala_args,c_args: pamac_manager_c_args,link_with: pamac_manager_dependencies,install: true,include_directories : inc) diff --git a/src/pamac-system-daemon/CMakeLists.txt b/src/pamac-system-daemon/CMakeLists.txt index 801e80e..16da09f 100644 --- a/src/pamac-system-daemon/CMakeLists.txt +++ b/src/pamac-system-daemon/CMakeLists.txt @@ -73,6 +73,11 @@ OPTIONS ) add_executable(pamac-system-daemon ${VALA_C}) +set ( pamac-system-daemon_DEPENDENCIES ${pamac-system-daemon_DEPENDENCIES} Pamac ) +if (NOT DISABLE_AUR) + set ( pamac-system-daemon_DEPENDENCIES ${pamac-system-daemon_DEPENDENCIES} AUR ) +endif () +add_dependencies( pamac-system-daemon ${pamac-system-daemon_DEPENDENCIES} ) install(TARGETS @@ -95,4 +100,3 @@ if(HAVE_VALADOC) ${CMAKE_INSTALL_DATAROOTDIR}/doc/pamac ) endif() -include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeDepends.txt) diff --git a/src/pamac-system-daemon/meson.build b/src/pamac-system-daemon/meson.build new file mode 100644 index 0000000..897257f --- /dev/null +++ b/src/pamac-system-daemon/meson.build @@ -0,0 +1,44 @@ +cfg_pamac_system_daemon = configuration_data() +cfg_pamac_system_daemon.set('DATADIR', join_paths(get_option('prefix'),get_option('datadir'))) +cfg_pamac_system_daemon.set('PKGDATADIR', join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +cfg_pamac_system_daemon.set('GETTEXT_PACKAGE', 'pamac') +cfg_pamac_system_daemon.set('RELEASE_NAME', 'pamac') +cfg_pamac_system_daemon.set('PREFIX', get_option('prefix')) +cfg_pamac_system_daemon.set('VERSION', '6.0.1') +cfg_pamac_system_daemon.set('TESTSRCDIR', meson.current_source_dir()) + +cfgfile_5 = configure_file(input: 'Config.vala.base',output: 'Config.vala',configuration: cfg_pamac_system_daemon) + +pamac_system_daemon_deps = [gtk_3_0_dep] +pamac_system_daemon_deps += [json_glib_1_0_dep] +pamac_system_daemon_deps += [libalpm_dep] +pamac_system_daemon_deps += [libcurl_dep] +pamac_system_daemon_deps += [libsoup_2_4_dep] +pamac_system_daemon_deps += [polkit_gobject_1_dep] +pamac_system_daemon_deps += [gio_2_0_dep] +pamac_system_daemon_deps += [glib_2_0_dep] +pamac_system_daemon_deps += [gobject_2_0_dep] +pamac_system_daemon_sources = [cfgfile_5] +pamac_system_daemon_sources += ['alpm_config.vala'] +pamac_system_daemon_sources += ['mirrors_config.vala'] +pamac_system_daemon_sources += ['pamac_config.vala'] +pamac_system_daemon_sources += ['system_daemon.vala'] +pamac_system_daemon_vala_args = ['--pkg','posix'] +pamac_system_daemon_vala_args += ['--vapidir='+join_paths(meson.source_root(),'src/vapis')] +pamac_system_daemon_dependencies = [Pamac_library] +if not DISABLE_AUR +pamac_system_daemon_dependencies += [AUR_library] +endif +pamac_system_daemon_c_args = [] +if DISABLE_AUR + pamac_system_daemon_vala_args += ['-D', 'DISABLE_AUR'] + pamac_system_daemon_c_args += ['-DDISABLE_AUR'] +endif +if KDE_TRAY + pamac_system_daemon_vala_args += ['-D', 'KDE_TRAY'] + pamac_system_daemon_c_args += ['-DKDE_TRAY'] +endif + +inc = include_directories(['../', '../aur']) + +executable('pamac-system-daemon',pamac_system_daemon_sources,dependencies: pamac_system_daemon_deps,vala_args: pamac_system_daemon_vala_args,c_args: pamac_system_daemon_c_args,link_with: pamac_system_daemon_dependencies,install: true,include_directories : inc) diff --git a/src/pamac-tray/CMakeLists.txt b/src/pamac-tray/CMakeLists.txt index 91bdf8f..b552cd5 100644 --- a/src/pamac-tray/CMakeLists.txt +++ b/src/pamac-tray/CMakeLists.txt @@ -78,6 +78,11 @@ OPTIONS ) add_executable(pamac-tray ${VALA_C}) +set ( pamac-tray_DEPENDENCIES ${pamac-tray_DEPENDENCIES} Pamac ) +if (NOT DISABLE_AUR) + set ( pamac-tray_DEPENDENCIES ${pamac-tray_DEPENDENCIES} AUR ) +endif () +add_dependencies( pamac-tray ${pamac-tray_DEPENDENCIES} ) install(TARGETS @@ -103,4 +108,3 @@ endif() if (KDE_TRAY) else () endif () -include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeDepends.txt) diff --git a/src/pamac-tray/meson.build b/src/pamac-tray/meson.build new file mode 100644 index 0000000..ce7cc8f --- /dev/null +++ b/src/pamac-tray/meson.build @@ -0,0 +1,49 @@ +cfg_pamac_tray = configuration_data() +cfg_pamac_tray.set('DATADIR', join_paths(get_option('prefix'),get_option('datadir'))) +cfg_pamac_tray.set('PKGDATADIR', join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +cfg_pamac_tray.set('GETTEXT_PACKAGE', 'pamac') +cfg_pamac_tray.set('RELEASE_NAME', 'pamac') +cfg_pamac_tray.set('PREFIX', get_option('prefix')) +cfg_pamac_tray.set('VERSION', '6.0.1') +cfg_pamac_tray.set('TESTSRCDIR', meson.current_source_dir()) + +cfgfile_6 = configure_file(input: 'Config.vala.base',output: 'Config.vala',configuration: cfg_pamac_tray) + +pamac_tray_deps = [json_glib_1_0_dep] +pamac_tray_deps += [libnotify_dep] +if KDE_TRAY +pamac_tray_deps += [appindicator3_0_1_dep] +else +pamac_tray_deps += [gtk_3_0_dep] +endif +pamac_tray_deps += [gio_2_0_dep] +pamac_tray_deps += [glib_2_0_dep] +pamac_tray_deps += [gobject_2_0_dep] +pamac_tray_sources = [cfgfile_6] +if KDE_TRAY +pamac_tray_sources += ['tray-appindicator.vala'] +else +pamac_tray_sources += ['tray-gtk.vala'] +endif +pamac_tray_sources += ['pamac_config.vala'] +pamac_tray_sources += ['tray.vala'] +pamac_tray_sources += ['user_daemon.vala'] +pamac_tray_vala_args = ['--pkg','posix'] +pamac_tray_vala_args += ['--vapidir='+join_paths(meson.source_root(),'src/vapis')] +pamac_tray_dependencies = [Pamac_library] +if not DISABLE_AUR +pamac_tray_dependencies += [AUR_library] +endif +pamac_tray_c_args = [] +if DISABLE_AUR + pamac_tray_vala_args += ['-D', 'DISABLE_AUR'] + pamac_tray_c_args += ['-DDISABLE_AUR'] +endif +if KDE_TRAY + pamac_tray_vala_args += ['-D', 'KDE_TRAY'] + pamac_tray_c_args += ['-DKDE_TRAY'] +endif + +inc = include_directories(['../', '../aur']) + +executable('pamac-tray',pamac_tray_sources,dependencies: pamac_tray_deps,vala_args: pamac_tray_vala_args,c_args: pamac_tray_c_args,link_with: pamac_tray_dependencies,install: true,include_directories : inc) diff --git a/src/pamac-user-daemon/CMakeLists.txt b/src/pamac-user-daemon/CMakeLists.txt index 1d561e3..7e51bdd 100644 --- a/src/pamac-user-daemon/CMakeLists.txt +++ b/src/pamac-user-daemon/CMakeLists.txt @@ -67,6 +67,9 @@ OPTIONS ) add_executable(pamac-user-daemon ${VALA_C}) +set ( pamac-user-daemon_DEPENDENCIES ${pamac-user-daemon_DEPENDENCIES} AUR ) +set ( pamac-user-daemon_DEPENDENCIES ${pamac-user-daemon_DEPENDENCIES} Pamac ) +add_dependencies( pamac-user-daemon ${pamac-user-daemon_DEPENDENCIES} ) install(TARGETS @@ -89,4 +92,3 @@ if(HAVE_VALADOC) ${CMAKE_INSTALL_DATAROOTDIR}/doc/pamac ) endif() -include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeDepends.txt) diff --git a/src/pamac-user-daemon/meson.build b/src/pamac-user-daemon/meson.build new file mode 100644 index 0000000..87828db --- /dev/null +++ b/src/pamac-user-daemon/meson.build @@ -0,0 +1,40 @@ +cfg_pamac_user_daemon = configuration_data() +cfg_pamac_user_daemon.set('DATADIR', join_paths(get_option('prefix'),get_option('datadir'))) +cfg_pamac_user_daemon.set('PKGDATADIR', join_paths(get_option('prefix'),get_option('datadir'),'pamac')) +cfg_pamac_user_daemon.set('GETTEXT_PACKAGE', 'pamac') +cfg_pamac_user_daemon.set('RELEASE_NAME', 'pamac') +cfg_pamac_user_daemon.set('PREFIX', get_option('prefix')) +cfg_pamac_user_daemon.set('VERSION', '6.0.1') +cfg_pamac_user_daemon.set('TESTSRCDIR', meson.current_source_dir()) + +cfgfile_7 = configure_file(input: 'Config.vala.base',output: 'Config.vala',configuration: cfg_pamac_user_daemon) + +pamac_user_daemon_deps = [gtk_3_0_dep] +pamac_user_daemon_deps += [json_glib_1_0_dep] +pamac_user_daemon_deps += [libalpm_dep] +pamac_user_daemon_deps += [libsoup_2_4_dep] +pamac_user_daemon_deps += [gio_2_0_dep] +pamac_user_daemon_deps += [glib_2_0_dep] +pamac_user_daemon_deps += [gobject_2_0_dep] +pamac_user_daemon_sources = [cfgfile_7] +pamac_user_daemon_sources += ['alpm_config.vala'] +pamac_user_daemon_sources += ['user_daemon.vala'] +pamac_user_daemon_vala_args = ['--pkg','posix'] +pamac_user_daemon_vala_args += ['--vapidir='+join_paths(meson.source_root(),'src/vapis')] +pamac_user_daemon_dependencies = [Pamac_library] +if not DISABLE_AUR +pamac_user_daemon_dependencies += [AUR_library] +endif +pamac_user_daemon_c_args = [] +if DISABLE_AUR + pamac_user_daemon_vala_args += ['-D', 'DISABLE_AUR'] + pamac_user_daemon_c_args += ['-DDISABLE_AUR'] +endif +if KDE_TRAY + pamac_user_daemon_vala_args += ['-D', 'KDE_TRAY'] + pamac_user_daemon_c_args += ['-DKDE_TRAY'] +endif + +inc = include_directories(['../', '../aur']) + +executable('pamac-user-daemon',pamac_user_daemon_sources,dependencies: pamac_user_daemon_deps,vala_args: pamac_user_daemon_vala_args,c_args: pamac_user_daemon_c_args,link_with: pamac_user_daemon_dependencies,install: true,include_directories : inc) diff --git a/src/transaction.vala b/src/transaction.vala index 7e3075b..c2fd3a1 100644 --- a/src/transaction.vala +++ b/src/transaction.vala @@ -18,6 +18,8 @@ * along with this program. If not, see . */ +//using Math + namespace Pamac { [DBus (name = "org.pamac.user")] interface UserDaemon : Object {