Date: Tuesday, October 25, 2022 @ 15:14:49 Author: heftig Revision: 458888
1.10.2-2: use gcr-4 Added: libnma/trunk/0001-build-unbreak-build-with-gcr-3.92.patch Modified: libnma/trunk/PKGBUILD ----------------------------------------------+ 0001-build-unbreak-build-with-gcr-3.92.patch | 456 +++++++++++++++++++++++++ PKGBUILD | 49 ++ 2 files changed, 495 insertions(+), 10 deletions(-) Added: 0001-build-unbreak-build-with-gcr-3.92.patch =================================================================== --- 0001-build-unbreak-build-with-gcr-3.92.patch (rev 0) +++ 0001-build-unbreak-build-with-gcr-3.92.patch 2022-10-25 15:14:49 UTC (rev 458888) @@ -0,0 +1,456 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel <[email protected]> +Date: Thu, 6 Oct 2022 14:24:49 +0200 +Subject: [PATCH] build: unbreak build with gcr-3.92 + +Newer gcr pre-release removed the widgets and therefore the library is +not reliant on Gtk anymore, no matter which version. That's good -- we +were only using the GcrCertificate, not the widgets. + +Details here: +https://gitlab.gnome.org/GNOME/gcr/-/issues/100 + +In fact, we weren't even needing the UI part of gcr-3, just the +gcr-base-3 part. That would've not conflicted with Gtk4. + +This allows use to simplify things considerably: both gcr-base-3 and +gcr-4 are fine for use for either Gtk3 or Gtk4. +--- + .gitlab-ci.yml | 12 +++---- + Makefile.am | 16 ++++----- + config.h.meson | 5 +-- + configure.ac | 42 ++++++---------------- + meson.build | 53 ++++++++++------------------ + meson_options.txt | 1 - + src/meson.build | 4 +-- + src/nma-cert-chooser-button.c | 8 ++--- + src/nma-pkcs11-cert-chooser-dialog.c | 4 +++ + 9 files changed, 52 insertions(+), 93 deletions(-) + +diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml +index 98a681f87632..67e241bb8097 100644 +--- a/.gitlab-ci.yml ++++ b/.gitlab-ci.yml +@@ -176,30 +176,30 @@ fedora_autotools_full: + image: fedora:latest + stage: test + +-# Fedora 37 includes gcr-gtk4 support. +-# gcr-gtk4 support can be moved above and the four jobs below can be removed ++# Fedora 37 includes gcr version that no longer pulls in gtk3. ++# gcr-4 support can be moved above and the four jobs below can be removed + # once fedora:latest is actually fedora:37 or later. + + f37_meson_gcr4: + <<: *fedora_meson_full + variables: +- EXTRA_PACKAGES: gcr-gtk3-devel gcr-gtk4-devel +- EXTRA_MESON_FLAGS: -Dlibnma_gtk4=true -Dgcr_gtk4=true ++ EXTRA_PACKAGES: gcr-devel ++ EXTRA_MESON_FLAGS: -Dlibnma_gtk4=true + image: fedora:37 + stage: test + + f37_meson_gcr3: + <<: *fedora_meson_full + variables: + EXTRA_PACKAGES: gcr3-devel + image: fedora:37 + stage: test + + f37_autotools_gcr4: + <<: *fedora_autotools_full + variables: +- EXTRA_PACKAGES: gcr-gtk3-devel gcr-gtk4-devel +- EXTRA_CONFIGURE_FLAGS: --with-libnma-gtk4 --with-gcr-gtk4 ++ EXTRA_PACKAGES: gcr-devel ++ EXTRA_CONFIGURE_FLAGS: --with-libnma-gtk4 + image: fedora:37 + stage: test + +diff --git a/Makefile.am b/Makefile.am +index ceb422304ca8..8206c907cc95 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -269,60 +269,60 @@ src_libnma_la_SOURCES = \ + $(libnma_h_priv_real) \ + $(libnma_c_real) + +-if WITH_GCR_GTK3 ++if WITH_GCR + src_libnma_la_SOURCES += \ + $(libnma_h_priv_gcr) \ + $(libnma_c_gcr) + endif + + nodist_src_libnma_la_SOURCES = \ + $(libnma_h_priv_gen) \ + $(libnma_c_gen) + + src_libnma_la_CFLAGS = \ + $(dflt_cppflags) \ + -DICONDIR=\""$(datadir)/icons"\" \ + -DBINDIR=\""$(bindir)"\" \ + -DSYSCONFDIR=\""$(sysconfdir)"\" \ + -DLIBEXECDIR=\""$(libexecdir)"\" \ + -DDATADIR=\""$(datadir)"\" \ + -DAUTOSTARTDIR=\""$(sysconfdir)/xdg/autostart"\" \ + -DNMALOCALEDIR=\"$(datadir)/locale\" \ + -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB \ + "-I$(srcdir)/shared" \ + "-I$(srcdir)/src/utils" \ + "-I$(srcdir)/src/nma-ws" \ + "-I$(srcdir)/src" \ + -Isrc \ + $(GTK3_CFLAGS) \ + $(LIBNM_CFLAGS) \ +- $(GCR_GTK3_CFLAGS) ++ $(GCR_CFLAGS) + + src_libnma_la_LIBADD = \ + src/utils/libutils-libnm.la \ + $(GTK3_LIBS) \ + $(LIBNM_LIBS) \ +- $(GCR_GTK3_LIBS) ++ $(GCR_LIBS) + + EXTRA_src_libnma_la_DEPENDENCIES = src/libnma.ver + + src_libnma_la_LDFLAGS = \ + -Wl,-no-undefined \ + -Wl,--version-script=$(srcdir)/src/libnma.ver + + + pkgconfig_DATA += src/libnma.pc + + if HAVE_INTROSPECTION + src/NMA-1.0.gir: src/libnma.la + src_NMA_1_0_gir_INCLUDES = NM-1.0 Gtk-3.0 + src_NMA_1_0_gir_EXPORT_PACKAGES = libnma + src_NMA_1_0_gir_CFLAGS = $(src_libnma_la_CFLAGS) + src_NMA_1_0_gir_LIBS = src/libnma.la + src_NMA_1_0_gir_FILES = \ + $(libnma_h_pub) \ + $(libnma_c_real) +-if WITH_GCR_GTK3 ++if WITH_GCR + src_NMA_1_0_gir_FILES += \ + $(libnma_c_gcr) + endif +@@ -482,59 +482,59 @@ src_libnma_gtk4_la_SOURCES = \ + $(libnma_h_priv_real) \ + $(libnma_c_real) + +-if WITH_GCR_GTK4 ++if WITH_GCR + src_libnma_gtk4_la_SOURCES += \ + $(libnma_h_priv_gcr) \ + $(libnma_c_gcr) + endif + + nodist_src_libnma_gtk4_la_SOURCES = \ + $(libnma_h_priv_gen) \ + $(libnma_gtk4_c_gen) + + src_libnma_gtk4_la_CFLAGS = \ + -DICONDIR=\""$(datadir)/icons"\" \ + -DBINDIR=\""$(bindir)"\" \ + -DSYSCONFDIR=\""$(sysconfdir)"\" \ + -DLIBEXECDIR=\""$(libexecdir)"\" \ + -DDATADIR=\""$(datadir)"\" \ + -DAUTOSTARTDIR=\""$(sysconfdir)/xdg/autostart"\" \ + -DNMALOCALEDIR=\"$(datadir)/locale\" \ + -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB \ + "-I$(srcdir)/shared" \ + "-I$(srcdir)/src/utils" \ + "-I$(srcdir)/src/nma-ws" \ + "-I$(srcdir)/src" \ + -Isrc \ + $(GTK4_CFLAGS) \ + $(LIBNM_CFLAGS) \ +- $(GCR_GTK4_CFLAGS) ++ $(GCR_CFLAGS) + + src_libnma_gtk4_la_LIBADD = \ + src/utils/libutils-libnm-gtk4.la \ + $(GTK4_LIBS) \ + $(LIBNM_LIBS) \ +- $(GCR_GTK4_LIBS) ++ $(GCR_LIBS) + + EXTRA_src_libnma_gtk4_la_DEPENDENCIES = src/libnma.ver + + src_libnma_gtk4_la_LDFLAGS = \ + -Wl,-no-undefined \ + -Wl,--version-script=$(srcdir)/src/libnma.ver + + + pkgconfig_DATA += src/libnma-gtk4.pc + + if HAVE_INTROSPECTION + src/NMA4-1.0.gir: src/libnma-gtk4.la + src_NMA4_1_0_gir_INCLUDES = NM-1.0 Gtk-4.0 + src_NMA4_1_0_gir_EXPORT_PACKAGES = libnma-gtk4 + src_NMA4_1_0_gir_CFLAGS = $(src_libnma_gtk4_la_CFLAGS) + src_NMA4_1_0_gir_LIBS = src/libnma-gtk4.la + src_NMA4_1_0_gir_FILES = \ + $(libnma_h_pub) \ + $(libnma_c_real) +-if WITH_GCR_GTK4 ++if WITH_GCR + src_NMA4_1_0_gir_FILES += \ + $(libnma_c_gcr) + endif +diff --git a/config.h.meson b/config.h.meson +index b56cd0b3745a..e73e38bc2cd7 100644 +--- a/config.h.meson ++++ b/config.h.meson +@@ -39,10 +39,7 @@ + #mesondefine VERSION + + /* Define if Gcr is available */ +-#mesondefine WITH_GCR_GTK3 +- +-/* Define if GTK4 Gcr is available */ +-#mesondefine WITH_GCR_GTK4 ++#mesondefine WITH_GCR + + /* Define to 1 if on MINIX. */ + #mesondefine _MINIX +diff --git a/configure.ac b/configure.ac +index 16bbc471f748..f02070afccef 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -153,8 +153,12 @@ AC_DEFUN([CHECK_GCR], [ + CFLAGS="$CFLAGS $[$1]_CFLAGS" + AC_MSG_CHECKING([for $1 usefulness]) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ +- #include <gcr/gcr.h> + #include <gck/gck.h> ++ #if GCK_CHECK_VERSION(3,90,0) ++ #include <gcr/gcr.h> ++ #else ++ #include <gcr/gcr-base.h> ++ #endif + + const GckAttribute *gck_attributes_find (GckAttributes *attrs, gulong attr_type); + gboolean gck_attributes_find_string (GckAttributes *attrs, gulong attr_type, gchar **value); +@@ -213,44 +217,19 @@ AC_ARG_WITH(gcr, AS_HELP_STRING([--with-gcr], [Enable advanced certificate choos + if (test "${with_gcr}" == "no"); then + have_gcr=no + else +- CHECK_GCR(GCR_GTK3, [gcr-4-gtk3 >= 3.90], have_gcr=yes, +- [CHECK_GCR(GCR_GTK3, [gcr-3 >= 3.14, gck-1 >= 3.14], have_gcr=yes, have_gcr=no)]) ++ CHECK_GCR(GCR, [gcr-4 >= 3.92, gck-2 >= 3.92], have_gcr=yes, ++ [CHECK_GCR(GCR, [gcr-base-3 >= 3.14, gck-1 >= 3.14], have_gcr=yes, have_gcr=no)]) + fi + + if (test "${have_gcr}" == "yes"); then +- AC_DEFINE(WITH_GCR_GTK3, 1, [Define if Gcr is available for Gtk3]) ++ AC_DEFINE(WITH_GCR, 1, [Define if Gcr is available for Gtk3]) + else + if (test "${with_gcr}" == "yes"); then + AC_MSG_ERROR([gcr support was requested, but the gcr library is not available.]) + fi +- AC_DEFINE(WITH_GCR_GTK3, 0, [Define if Gcr is available for Gtk3]) ++ AC_DEFINE(WITH_GCR, 0, [Define if Gcr is available for Gtk3]) + fi +-AM_CONDITIONAL(WITH_GCR_GTK3, test "${have_gcr}" == "yes") +- +-dnl GCR for PKCS#11 enabled certificate chooser with Gtk4 +-AC_ARG_WITH(gcr_gtk4, AS_HELP_STRING([--with-gcr-gtk4], [Enable EXPERIMENTAL advanced certificate chooser for Gtk4 (default: auto)])) +-if (test "$with_libnma_gtk4" = "yes"); then +- if (test "${with_gcr_gtk4}" = "no"); then +- have_gcr_gtk4=no +- else +- CHECK_GCR(GCR_GTK4, [gcr-4-gtk4 >= 3.90], have_gcr_gtk4=yes, have_gcr_gtk4=no) +- fi +-else +- if (test "${with_gcr_gtk4}" = "yes"); then +- AC_MSG_ERROR([gcr-gtk4 support was requested, but the libnma-gtk4 build was not enabled.]) +- fi +- have_gcr_gtk4=no +-fi +- +-if (test "${have_gcr_gtk4}" = "yes"); then +- AC_DEFINE(WITH_GCR_GTK4, 1, [Define if Gcr is available for Gtk4]) +-else +- if (test "${with_gcr_gtk4}" = "yes"); then +- AC_MSG_ERROR([gcr-gtk4 support was requested, but the gcr-gtk4 library is not available.]) +- fi +- AC_DEFINE(WITH_GCR_GTK4, 0, [Define if Gcr is available for Gtk4]) +-fi +-AM_CONDITIONAL(WITH_GCR_GTK4, test "${have_gcr_gtk4}" = "yes") ++AM_CONDITIONAL(WITH_GCR, test "${have_gcr}" == "yes") + + dnl Check for gobject introspection + GOBJECT_INTROSPECTION_CHECK([0.9.6]) +@@ -301,7 +280,6 @@ AC_OUTPUT + echo "" + echo " Build libnma-gtk4 library for use with GTK4: --with-libnma-gtk4=${with_libnma_gtk4}" + echo " GCR: --with-gcr=$have_gcr" +-echo " GCR_GTK4 (EXPERIMENTAL): --with-gcr-gtk4=$have_gcr_gtk4" + echo " LTO: --enable-lto=$enable_lto" + echo " Linker garbage collection: --enable-ld-gc=$enable_ld_gc" + echo "" +diff --git a/meson.build b/meson.build +index aed3989516d1..895c987fc0d8 100644 +--- a/meson.build ++++ b/meson.build +@@ -187,15 +187,12 @@ libnm_dep = declare_dependency( + + # GCR API is declared subject to change, do an extensive check of the prototypes + gcr_api_check_src = ''' +- #ifndef GCR_API_SUBJECT_TO_CHANGE +- # define GCR_API_SUBJECT_TO_CHANGE +- #endif +- #ifndef GCK_API_SUBJECT_TO_CHANGE +- # define GCK_API_SUBJECT_TO_CHANGE +- #endif +- +- #include <gcr/gcr.h> + #include <gck/gck.h> ++ #if GCK_CHECK_VERSION(3,90,0) ++ #include <gcr/gcr.h> ++ #else ++ #include <gcr/gcr-base.h> ++ #endif + + const GckAttribute *gck_attributes_find (GckAttributes *attrs, gulong attr_type); + gboolean gck_attributes_find_string (GckAttributes *attrs, gulong attr_type, gchar **value); +@@ -242,51 +239,37 @@ gcr_api_check_src = ''' + GcrCertificate *gcr_simple_certificate_new (const guchar *data, gsize n_data); + ''' + +-gcr_cflags = [ +- '-DGCR_API_SUBJECT_TO_CHANGE', +- '-DGCK_API_SUBJECT_TO_CHANGE' +-] +- + # GCR for PKCS#11 enabled certificate chooser + enable_gcr = get_option('gcr') + if enable_gcr +- gcr4_gtk3_deps = dependency('gcr-4-gtk3', version: '>= 3.90', required: false) ++ gcr4_deps = [ ++ dependency('gcr-4', version: '>= 3.92', required: false), ++ dependency('gck-2', version: '>= 3.92', required: false) ++ ] + gcr3_deps = [ +- dependency('gcr-3', version: '>= 3.14', required: false), ++ dependency('gcr-base-3', version: '>= 3.14', required: false), + dependency('gck-1', version: '>= 3.14', required: false) + ] ++ gcr_cflags = [ ++ '-DGCR_API_SUBJECT_TO_CHANGE', ++ '-DGCK_API_SUBJECT_TO_CHANGE' ++ ] + +- if cc.compiles(gcr_api_check_src, dependencies: gcr4_gtk3_deps) ++ if cc.compiles(gcr_api_check_src, dependencies: gcr4_deps, args: gcr_cflags) + gcr_dep = declare_dependency( +- dependencies: gcr4_gtk3_deps, ++ dependencies: gcr4_deps, + compile_args: gcr_cflags + ) + else +- assert(cc.compiles(gcr_api_check_src, dependencies: gcr3_deps), ++ assert(cc.compiles(gcr_api_check_src, dependencies: gcr3_deps, args: gcr_cflags), + 'gcr support was requested, but the gcr library is not available. Use -Dgcr=false to build without it.') + gcr_dep = declare_dependency( + dependencies: gcr3_deps, + compile_args: gcr_cflags + ) + endif + endif +-config_h.set10('WITH_GCR_GTK3', enable_gcr) +- +-# GCR for PKCS#11 enabled certificate chooser for libnma-gtk4 +-enable_gcr_gtk4 = get_option('gcr_gtk4') +-if enable_gcr_gtk4 +- assert(enable_libnma_gtk4, 'gcr-gtk4 support was requested, but the libnma-gtk4 build was not enabled.') +- +- gcr4_gtk4_deps = dependency('gcr-4-gtk4', version: '>= 3.90', required: false) +- assert(cc.compiles(gcr_api_check_src, dependencies: gcr4_gtk4_deps), +- 'gcr-gtk4 support was requested with -Dgcr_gtk4=true, but the gcr-gtk4 library is not available.') +- +- gcr_gtk4_dep = declare_dependency( +- dependencies: gcr4_gtk4_deps, +- compile_args: gcr_cflags +- ) +-endif +-config_h.set10('WITH_GCR_GTK4', enable_gcr_gtk4) ++config_h.set10('WITH_GCR', enable_gcr) + + # introspection support + enable_introspection = get_option('introspection') +diff --git a/meson_options.txt b/meson_options.txt +index f0c21d7a85af..459422d49b1b 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,5 @@ + option('libnma_gtk4', type: 'boolean', value: false, description: 'build library libnma-gtk4 for use with GTK4') + option('gcr', type: 'boolean', value: true, description: 'Enable advanced certificate chooser.') +-option('gcr_gtk4', type: 'boolean', value: false, description: 'Enable EXPERIMENTAL advanced certificate chooser for library libnma-gtk4.') + option('more_asserts', type: 'string', value: '0', description: 'Enable more assertions for debugging.') + option('iso_codes', type: 'boolean', value: true, description: 'check for iso-codes at build-time') + option('mobile_broadband_provider_info', type: 'boolean', value: true, description: 'check for mobile-broadband-provider-info at build-time') +diff --git a/src/meson.build b/src/meson.build +index 7547fa60f0f8..052619036a21 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -170,9 +170,9 @@ if enable_libnma_gtk4 + + nma_gtk4_deps = [ deps, gtk4_dep ] + nma_gtk4_sources = [ gir_sources, gtk4_built_sources ] +- if enable_gcr_gtk4 ++ if enable_gcr + nma_gtk4_sources += pkcs11_sources +- nma_gtk4_deps += gcr_gtk4_dep ++ nma_gtk4_deps += gcr_dep + endif + + libnma_gtk4 = shared_library( +diff --git a/src/nma-cert-chooser-button.c b/src/nma-cert-chooser-button.c +index 863af63a9893..bb78fc1295af 100644 +--- a/src/nma-cert-chooser-button.c ++++ b/src/nma-cert-chooser-button.c +@@ -12,12 +12,10 @@ + #include "nma-cert-chooser-button.h" + #include "utils.h" + +-#if GTK_CHECK_VERSION(4,0,0) ? WITH_GCR_GTK4 : WITH_GCR_GTK3 ++#if WITH_GCR + #include "nma-pkcs11-cert-chooser-dialog.h" + #include <gck/gck.h> +-/* GCK version numbers are funny: version 3 is older than version 1.9x. +- * See: https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/109 */ +-#if !GCK_CHECK_VERSION(1,90,0) || (GCK_MAJOR_VERSION == 3 && GCK_MINOR_VERSION < 90) ++#if !GCK_CHECK_VERSION(3,90,0) + #define gck_uri_data_parse gck_uri_parse + #endif + #endif +@@ -69,7 +67,7 @@ enum { + static void + update_title (NMACertChooserButton *button); + +-#if GTK_CHECK_VERSION(4,0,0) ? WITH_GCR_GTK4 : WITH_GCR_GTK3 ++#if WITH_GCR + static gboolean + is_this_a_slot_nobody_loves (GckSlot *slot) + { +diff --git a/src/nma-pkcs11-cert-chooser-dialog.c b/src/nma-pkcs11-cert-chooser-dialog.c +index 92665c7ada56..bb007cbb249a 100644 +--- a/src/nma-pkcs11-cert-chooser-dialog.c ++++ b/src/nma-pkcs11-cert-chooser-dialog.c +@@ -14,7 +14,11 @@ + + #include <string.h> + #include <gck/gck.h> ++#if GCK_CHECK_VERSION(3,90,0) + #include <gcr/gcr.h> ++#else ++#include <gcr/gcr-base.h> ++#endif + + #if !GCR_CHECK_VERSION(3,90,0) + #define gck_slot_open_session_async(self, options, interaction, cancellable, callback, user_data) \ Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-10-25 14:58:20 UTC (rev 458887) +++ PKGBUILD 2022-10-25 15:14:49 UTC (rev 458888) @@ -3,17 +3,33 @@ pkgbase=libnma pkgname=(libnma-common libnma libnma-gtk4) pkgver=1.10.2 -pkgrel=1 +pkgrel=2 pkgdesc="NetworkManager GUI client library" url="https://gitlab.gnome.org/GNOME/libnma" arch=(x86_64) license=(GPL LGPL) -makedepends=(gobject-introspection git gtk-doc meson vala libnm gcr gtk3 gtk4 - iso-codes mobile-broadband-provider-info dconf) +makedepends=( + dconf + gcr-4 + git + gobject-introspection + gtk-doc + gtk3 + gtk4 + iso-codes + libnm + meson + mobile-broadband-provider-info + vala +) options=(debug) -_commit=0b0295005cdf10bfb3e38c02509750fcc8416956 # tags/1.10.3-dev~1 -source=("git+https://gitlab.gnome.org/GNOME/libnma.git#commit=$_commit") -sha256sums=('SKIP') +_commit=0b0295005cdf10bfb3e38c02509750fcc8416956 # tags/1.10.2 +source=( + "git+https://gitlab.gnome.org/GNOME/libnma.git#commit=$_commit" + 0001-build-unbreak-build-with-gcr-3.92.patch +) +sha256sums=('SKIP' + '73092ed103dce40cf2d15cb7361ea9cbfc3a47a9058525b6bacb1b6b15417ef0') pkgver() { cd libnma @@ -22,10 +38,17 @@ prepare() { cd libnma + + # Support gcr-4 + git apply -3 ../0001-build-unbreak-build-with-gcr-3.92.patch } build() { - arch-meson libnma build -D libnma_gtk4=true + local meson_options=( + -D libnma_gtk4=true + ) + + arch-meson libnma build "${meson_options[@]}" meson compile -C build } @@ -45,7 +68,13 @@ package_libnma-common() { pkgdesc+=" (common files)" - depends=(libnm iso-codes mobile-broadband-provider-info dconf) + depends=( + dconf + gcr-4 + iso-codes + libnm + mobile-broadband-provider-info + ) meson install -C build --destdir "$pkgdir" @@ -66,7 +95,7 @@ package_libnma() { pkgdesc+=" (GTK3)" - depends=(libnma-common="$pkgver-$pkgrel" gtk3 gcr) + depends=(libnma-common="$pkgver-$pkgrel" gtk3) provides=(libnma.so) mv gtk3/* "$pkgdir" @@ -80,4 +109,4 @@ mv gtk4/* "$pkgdir" } -# vim:set sw=2 et: +# vim:set sw=2 sts=-1 et:
