aboutsummaryrefslogtreecommitdiffstats
path: root/main/libsecret
diff options
context:
space:
mode:
authorRasmus Thomsen <oss@cogitri.dev>2020-01-14 10:34:36 +0100
committerLeo <thinkabit.ukim@gmail.com>2020-01-15 09:34:52 +0100
commit0872a667deef0cf873895309e0d121075e95d732 (patch)
tree7c9c5743500880cd7ef35786744470735dd68ee4 /main/libsecret
parentd98fa6e7d9d58524b2aeea4cb008df7fd720ec28 (diff)
downloadaports-0872a667deef0cf873895309e0d121075e95d732.tar.bz2
aports-0872a667deef0cf873895309e0d121075e95d732.tar.xz
main/libsecret: upgrade to 0.20.0
Diffstat (limited to 'main/libsecret')
-rw-r--r--main/libsecret/45.patch182
-rw-r--r--main/libsecret/APKBUILD45
-rw-r--r--main/libsecret/support-static-lib.patch13
3 files changed, 222 insertions, 18 deletions
diff --git a/main/libsecret/45.patch b/main/libsecret/45.patch
new file mode 100644
index 0000000000..256c3f01f5
--- /dev/null
+++ b/main/libsecret/45.patch
@@ -0,0 +1,182 @@
+From cf21ad50b62f7c8e4b22ef374f0a73290a99bdb8 Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <dueno@src.gnome.org>
+Date: Tue, 14 Jan 2020 10:09:29 +0100
+Subject: [PATCH 1/2] secret-file-collection: Rename internal functions to
+ avoid conflicts
+
+As encrypt() is a standard POSIX function, its declaration had
+conflict with our own. Let's be more verbose about naming of the
+internal crypto functions.
+
+Fixes #35.
+---
+ libsecret/secret-file-collection.c | 38 +++++++++++++++---------------
+ 1 file changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/libsecret/secret-file-collection.c b/libsecret/secret-file-collection.c
+index 79863ea..8ffb542 100644
+--- a/libsecret/secret-file-collection.c
++++ b/libsecret/secret-file-collection.c
+@@ -68,7 +68,7 @@ enum {
+ };
+
+ static gboolean
+-derive (SecretFileCollection *self)
++do_derive_key (SecretFileCollection *self)
+ {
+ const gchar *password;
+ gsize n_password;
+@@ -93,9 +93,9 @@ derive (SecretFileCollection *self)
+ }
+
+ static gboolean
+-calculate_mac (SecretFileCollection *self,
+- const guint8 *value, gsize n_value,
+- guint8 *buffer)
++do_calculate_mac (SecretFileCollection *self,
++ const guint8 *value, gsize n_value,
++ guint8 *buffer)
+ {
+ gcry_mac_hd_t hd;
+ gcry_error_t gcry;
+@@ -130,9 +130,9 @@ calculate_mac (SecretFileCollection *self,
+ }
+
+ static gboolean
+-decrypt (SecretFileCollection *self,
+- guint8 *data,
+- gsize n_data)
++do_decrypt (SecretFileCollection *self,
++ guint8 *data,
++ gsize n_data)
+ {
+ gcry_cipher_hd_t hd;
+ gcry_error_t gcry;
+@@ -164,9 +164,9 @@ decrypt (SecretFileCollection *self,
+ }
+
+ static gboolean
+-encrypt (SecretFileCollection *self,
+- guint8 *data,
+- gsize n_data)
++do_encrypt (SecretFileCollection *self,
++ guint8 *data,
++ gsize n_data)
+ {
+ gcry_cipher_hd_t hd;
+ gcry_error_t gcry;
+@@ -311,7 +311,7 @@ on_load_contents (GObject *source_object,
+ self->modified = g_date_time_new_now_utc ();
+ self->usage_count = 0;
+
+- if (!derive (self)) {
++ if (!do_derive_key (self)) {
+ g_task_return_new_error (task,
+ SECRET_ERROR,
+ SECRET_ERROR_PROTOCOL,
+@@ -375,7 +375,7 @@ on_load_contents (GObject *source_object,
+ g_assert (n_data == salt_size);
+
+ self->salt = g_bytes_new (data, n_data);
+- if (!derive (self)) {
++ if (!do_derive_key (self)) {
+ g_task_return_new_error (task,
+ SECRET_ERROR,
+ SECRET_ERROR_PROTOCOL,
+@@ -442,7 +442,7 @@ hash_attributes (SecretFileCollection *self,
+ GVariant *variant;
+
+ value = g_hash_table_lookup (attributes, l->data);
+- if (!calculate_mac (self, (guint8 *)value, strlen (value), buffer)) {
++ if (!do_calculate_mac (self, (guint8 *)value, strlen (value), buffer)) {
+ g_list_free (keys);
+ return NULL;
+ }
+@@ -485,7 +485,7 @@ hashed_attributes_match (SecretFileCollection *self,
+ return FALSE;
+ }
+
+- if (!calculate_mac (self, value, strlen ((char *)value), buffer)) {
++ if (!do_calculate_mac (self, value, strlen ((char *)value), buffer)) {
+ g_variant_unref (hashed_attribute);
+ return FALSE;
+ }
+@@ -584,7 +584,7 @@ secret_file_collection_replace (SecretFileCollection *self,
+ g_variant_store (serialized_item, data);
+ g_variant_unref (serialized_item);
+ memset (data + n_data, n_padded - n_data, n_padded - n_data);
+- if (!encrypt (self, data, n_padded)) {
++ if (!do_encrypt (self, data, n_padded)) {
+ egg_secure_free (data);
+ g_set_error (error,
+ SECRET_ERROR,
+@@ -593,8 +593,8 @@ secret_file_collection_replace (SecretFileCollection *self,
+ return FALSE;
+ }
+
+- if (!calculate_mac (self, data, n_padded + IV_SIZE,
+- data + n_padded + IV_SIZE)) {
++ if (!do_calculate_mac (self, data, n_padded + IV_SIZE,
++ data + n_padded + IV_SIZE)) {
+ egg_secure_free (data);
+ g_set_error (error,
+ SECRET_ERROR,
+@@ -681,7 +681,7 @@ _secret_file_item_decrypt (GVariant *encrypted,
+ }
+ n_padded -= IV_SIZE + MAC_SIZE;
+
+- if (!calculate_mac (collection, data, n_padded + IV_SIZE, mac)) {
++ if (!do_calculate_mac (collection, data, n_padded + IV_SIZE, mac)) {
+ egg_secure_free (data);
+ g_set_error (error,
+ SECRET_ERROR,
+@@ -699,7 +699,7 @@ _secret_file_item_decrypt (GVariant *encrypted,
+ return FALSE;
+ }
+
+- if (!decrypt (collection, data, n_padded)) {
++ if (!do_decrypt (collection, data, n_padded)) {
+ egg_secure_free (data);
+ g_set_error (error,
+ SECRET_ERROR,
+--
+2.24.1
+
+
+From e6881d4ff1260c7308be56f21a9d354d7680dfaa Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <dueno@src.gnome.org>
+Date: Tue, 14 Jan 2020 10:13:16 +0100
+Subject: [PATCH 2/2] build: Suppress compiler warning if compiled with
+ G_DISABLE_ASSERT
+
+This is similar to 0be63575ff47f19cff3688985c7f00e92bc25541 but for
+test-file-collection.c.
+
+Fixes #36.
+---
+ libsecret/test-file-collection.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libsecret/test-file-collection.c b/libsecret/test-file-collection.c
+index e016d45..512bfb6 100644
+--- a/libsecret/test-file-collection.c
++++ b/libsecret/test-file-collection.c
+@@ -1,11 +1,15 @@
+
+ #include "config.h"
+
++#undef G_DISABLE_ASSERT
++
+ #include "egg/egg-testing.h"
+ #include "secret-file-collection.h"
+ #include "secret-retrievable.h"
+ #include "secret-schema.h"
+
++#include <stdlib.h>
++
+ typedef struct {
+ gchar *directory;
+ GMainLoop *loop;
+--
+2.24.1
+
diff --git a/main/libsecret/APKBUILD b/main/libsecret/APKBUILD
index 984d6adfa0..f3472819fa 100644
--- a/main/libsecret/APKBUILD
+++ b/main/libsecret/APKBUILD
@@ -1,38 +1,47 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=libsecret
-pkgver=0.19.1
+pkgver=0.20.0
pkgrel=0
pkgdesc="Library for storing and retrieving passwords and other secrets"
url="https://wiki.gnome.org/Projects/Libsecret"
arch="all"
license="LGPL-2.0-or-later"
makedepends="glib-dev intltool libxslt-dev docbook-xsl libgcrypt-dev
- gobject-introspection-dev vala"
+ gobject-introspection-dev vala meson"
+checkdepends="py3-dbus py3-gobject3 xvfb-run dbus-x11 gjs"
subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.gnome.org/sources/libsecret/${pkgver%.*}/libsecret-$pkgver.tar.xz"
+source="https://download.gnome.org/sources/libsecret/${pkgver%.*}/libsecret-$pkgver.tar.xz
+ 45.patch
+ support-static-lib.patch"
+
+# Missing check dependency: gjs
+case "$CARCH" in
+ s390x) options="!check" ;;
+esac
build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
+ meson \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --infodir=/usr/share/info \
--localstatedir=/var \
- make
+ --default-library=both \
+ --buildtype=debugoptimized \
+ -Dgtk_doc=false \
+ output
+ ninja -C output
}
-package() {
- make DESTDIR="$pkgdir" install
+check() {
+ xvfb-run ninja -C output test
}
-static() {
- pkgdesc="Static files for $pkgname"
-
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
- chmod -x "$subpkgdir"/usr/lib/*.a
+package() {
+ DESTDIR="$pkgdir" ninja -C output install
}
-sha512sums="134f98f09a1cc7c61b9011b2fb35900d9beccfc06d978f1ffab8b5286dc6caa176832e55e3bed498c6f3526f6f34998307f67cf7accc4c79e9abf1c17cc9c7c2 libsecret-0.19.1.tar.xz"
+
+sha512sums="13e89dddf578f79b43a44287a2bd8789cc028b53dc60b9d8ef40d2e51d9b4ada9388caa87517834634042304ece0b4fcec95d16387d2e9dc08d2b2f33073543d libsecret-0.20.0.tar.xz
+00475d585e37e591d61b27d4ae8485a976a548368e02fca27f148c025e67f8120b4c23f0f62dbf162eca911e0342747d2234eb5c9e0e16b2fb46bfc818e216ff 45.patch
+63769061674fb0227c00975303699fa9c6685accb177ae738b601c58547eedfdaf78f4cbb152835dda6ccbb771004f361b402d88eff8e51fc3c8563b71180aeb support-static-lib.patch"
diff --git a/main/libsecret/support-static-lib.patch b/main/libsecret/support-static-lib.patch
new file mode 100644
index 0000000000..18172cefee
--- /dev/null
+++ b/main/libsecret/support-static-lib.patch
@@ -0,0 +1,13 @@
+diff --git a/libsecret/meson.build b/libsecret/meson.build
+index 09041ce..759b5ef 100644
+--- a/libsecret/meson.build
++++ b/libsecret/meson.build
+@@ -84,7 +84,7 @@ libsecret_cflags = [
+ '-DSECRET_COMPILATION',
+ ]
+
+-libsecret = shared_library('secret-@0@'.format(api_version_major),
++libsecret = library('secret-@0@'.format(api_version_major),
+ [ libsecret_sources, _dbus_generated, _enums_generated ],
+ version: libtool_version,
+ dependencies: libsecret_dependencies,