# Maintainer: Christian Hesse <mail@eworm.de>
# Contributor: Jonathan Conder <jonno.conder@gmail.com>

pkgbase='packagekit'
pkgname=('packagekit' 'libpackagekit-glib')
pkgver=1.2.4
pkgrel=1
pkgdesc='A system designed to make installation and updates of packages easier'
arch=('x86_64')
url='https://www.freedesktop.org/software/PackageKit/'
license=('GPL')
makedepends=('polkit' 'sqlite' 'gobject-introspection' 'intltool'
             'bash-completion' 'vala' 'meson')
options=('!emptydirs')
validpgpkeys=('163EB50119225DB3DF8F49EA17ACBA8DFA970E17'        # Richard Hughes <richard@hughsie.com>
              'EC60AABDF42AAE8FB062640480858FA38F62AF74')       # Kalev Lember <klember@redhat.com>
source=("https://www.freedesktop.org/software/PackageKit/releases/PackageKit-${pkgver}.tar.xz"
         0001-alpm-remove-unused-error-PK_ERROR_ENUM_REPO_NOT_FOUN.patch
         0002-alpm-fix-change-in-alpm_option_set_logcb-to-add-ctx-.patch
         0003-alpm-adapt-to-changes-in-setting-arch-config-now-a-l.patch
         0004-alpm-fix-changes-in-alpm_option_set_fetchcb-to-add-c.patch
         0005-alpm-adapt-to-changes-in-db-updates-and-total-cb-cal.patch
         0006-alpm-fix-apparent-lack-of-braces-in-if-clause.patch
         0007-alpm-update-to-breaking-changes-in-transactions.patch
         0008-alpm-fix-warning-of-casing-ptr-to-gboolean-this-is-p.patch
         0009-alpm-fix-warning-to-keep-local-var-declarations-c99-.patch
         0010-alpm-fix-bug-waiting-to-happen-with-cast-from-ptr-to.patch
         0011-alpm-silence-warning-for-gool-to-ptr-conversion-with.patch
         0012-alpm-fix-warning-about-fallthrough-be-explicit-about.patch
         0013-build-fix-overall-sysconfdir-handling-so-it-can-work.patch
         0014-Fix-get-updates.patch
         0015-support-new-pacman-options.patch
         0016-alpm-fix-uninitialized-stack-vars-used-later-in-conf.patch
         0017-alpm-fix-missing-handling-of-hookdir-in-pacman.conf.patch
         0018-alpm-fix-get-update-detail-which-uses-totally-wrong-.patch
         )
sha256sums=('f262a1ed7ac19eb1a40bf8509d61de7be578f8543459b5ec0b2414463cce45b8'
            '3c4d5a2658c9ed28ff949f7a2aa0c99e1a85e63f7fd0b068d3b9278ace503c16'
            '258ff42a2c0f9dd5d609785d5535af35294c5940b63936fa32fdc4cff4b3151d'
            '397fe1afd619e9fbb60c49183edcf787afdca65ddc850ba493998c0d8021aad9'
            '701993eccaa4fd4d2f79dc9c6d8e03397c0ebaa8d8aaf51fe94c40880cfb5832'
            'b5d1c3c2371e23d23b63ddf20763478576013330dd3225abfc1ccff4e6045a2a'
            '1ac4373489fd5a9c762aa133119a55b1a81cc97a0357e84a052949362840890a'
            '455c702c7d95c30baa1b3fc04f7c8a34517541c2f2308711bcb1451f2e2a0a2e'
            '9eea356888c2d64e8d9fb75609fc1d411ecf7bcac177bad6d70028de57b74883'
            '559aa04b1fc875e01d51db5a384142fd24fab86f7f458cb60effdf7b46f80922'
            '58bab6f4d9d3ba3b99fe8409cd3602453507219a62714b493453e81c3d6eb50a'
            '217d918bc69318523b686ed47c78922633d5a4b736b126abf0d99fad4a584a3e'
            'a2ff81d619e0e9be87188c046367581b61d5756d294012cb886431454afbe249'
            '0188f015890681acdded08a2372cf6963a5b9436e98734dcab07b9d0147310c9'
            '2e7e542a6115f3ed993c71c63bf41206552f6028282778c7f90fdfb2fd9eebe8'
            '12bcda14867620c536d27f52bd9298e5831f693e8b19ee711733a3e92bd2d4f2'
            'a7ae42bbf5a1d4995d2b4f483a78791da57a41d1bcc2ddd52370c8fa19430282'
            '589102648833adbda34f46b7b2c1e1849892fda36d5721eed3e36ea6e349156c'
            'fc92f46aabedf25148f94c86c30243d889f7ac4edecaa022cbf5d1f95a8243f9')

prepare() {
  for _patch in *.patch; do
    patch -d PackageKit-$pkgver -p1 < $_patch
  done
}

build() {
        local _meson_options=(
                -Dcron=false
                -Ddbus_sys=/usr/share/dbus-1/system.d
                -Dgstreamer_plugin=false
                -Dgtk_doc=false
                -Dgtk_module=false
                -Dpackaging_backend=alpm
                -Dsystemd=true
        )

        arch-meson "PackageKit-$pkgver" build "${_meson_options[@]}"

        ninja -C build
}

package_packagekit() {
        depends=('libpackagekit-glib' 'pacman>=6.0.0' 'polkit' 'sqlite')
        optdepends=('bash-completion: command completion in bash')
        backup=('var/lib/PackageKit/transactions.db'
                'etc/PackageKit/alpm.d/pacman.conf'
                'etc/PackageKit/alpm.d/repos.list')

        # install directory with root owner, polkit group and
        # correct permission
        install -d -o root -g 102 -m 750 "${pkgdir}/usr/share/polkit-1/rules.d"

        DESTDIR="$pkgdir" meson install -C build

        # move away for libpackagekit-glib
        mkdir -p libpackagekit/usr/{lib,share}
        mv "$pkgdir"/usr/include/ libpackagekit/usr/
        mv "$pkgdir"/usr/lib/{girepository-1.0,libpackagekit-glib2.so*,pkgconfig} libpackagekit/usr/lib/
        mv "$pkgdir"/usr/share/{gir-1.0,vala}/ libpackagekit/usr/share/
}

package_libpackagekit-glib() {
        pkgdesc='GLib library for accessing PackageKit'
        depends=('glib2')

        mv libpackagekit/usr/ "$pkgdir"/
}
