Date: Tuesday, April 11, 2023 @ 18:19:37
Author: arojas
Revision: 1444728
archrelease: copy trunk to community-staging-x86_64
Added:
libsigrok/repos/community-staging-x86_64/
libsigrok/repos/community-staging-x86_64/PKGBUILD
(from rev 1444727, libsigrok/trunk/PKGBUILD)
libsigrok/repos/community-staging-x86_64/fix_swig4_java_bindings.patch
(from rev 1444727, libsigrok/trunk/fix_swig4_java_bindings.patch)
libsigrok/repos/community-staging-x86_64/libsigrok-0.5.2-swig-4.1.patch
(from rev 1444727, libsigrok/trunk/libsigrok-0.5.2-swig-4.1.patch)
--------------------------------+
PKGBUILD | 49 +++++++++++++++++++++++++++++++++++++++
fix_swig4_java_bindings.patch | 38 ++++++++++++++++++++++++++++++
libsigrok-0.5.2-swig-4.1.patch | 45 +++++++++++++++++++++++++++++++++++
3 files changed, 132 insertions(+)
Copied: libsigrok/repos/community-staging-x86_64/PKGBUILD (from rev 1444727,
libsigrok/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2023-04-11 18:19:37 UTC (rev 1444728)
@@ -0,0 +1,49 @@
+# Maintainer: Filipe LaĆns (FFY00) <[email protected]>
+# Contributor: Thomas Krug <[email protected]>
+
+pkgname=libsigrok
+pkgver=0.5.2
+pkgrel=11
+pkgdesc='Client software that supports various hardware logic analyzers, core
library'
+arch=('x86_64')
+url='https://www.sigrok.org/wiki/Libsigrok'
+license=('GPL3')
+depends=('libftdi' 'libserialport' 'glibmm' 'libzip' 'libieee1284'
'bluez-libs' 'hidapi' 'libudev.so')
+makedepends=('cmake' 'doxygen' 'ruby' 'jdk8-openjdk' 'swig' 'python'
'pygobject-devel' 'python-numpy' 'python-setuptools' 'autoconf-archive')
+optdepends=('python' 'ruby' 'jdk8-openjdk'
+ 'sigrok-firmware-fx2lafw: Cypress FX2-based device support')
+source=("https://sigrok.org/download/source/$pkgname/$pkgname-$pkgver.tar.gz"
+ "fix_swig4_java_bindings.patch"
+ "libsigrok-0.5.2-swig-4.1.patch"
+
"fix_ruby_bindings.patch::https://sigrok.org/bugzilla/attachment.cgi?id=640")
+sha512sums=('cf673dad6280302d69050c29490621f66c6d6a73932d019a53ec3501316d3f2e23e7667a04f866dbe6ed73f86a63de73d2173e2b6cea563631d705e06f887092'
+
'0e6bdddb2dcc03d76e5d16708bb127ec8a9207fba0e04b436ac92e370618cc0b1bc9d3e2c86a0878783626f2a8b59961c3a1a52a1e180e69005e3585e5766a89'
+
'7a1e35b6b268d117e67dff55c2ff1320257525eedb7454a068732d79074b6d743036ab2c11043952738dd3990ca084782feeb15ad92a306b3b58c73ecc530154'
+
'0e5b9ed566605acac02de6f559f9029929be7ca34d9688ed35d24d66c1b014f89a16902a4de79d0a1ef6347be257f24f77ea37b880aab757b2c338497de23030')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -p1 < ../fix_swig4_java_bindings.patch #
https://sigrok.org/bugzilla/show_bug.cgi?id=1527
+ patch -p1 < ../fix_ruby_bindings.patch #
https://sigrok.org/bugzilla/show_bug.cgi?id=1526
+ patch -p1 < ../libsigrok-0.5.2-swig-4.1.patch #
https://sigrok.org/bugzilla/show_bug.cgi?id=1827
+
+ # regenerate ./configure so it can detect Python 3.10
+ autoreconf -vi
+}
+
+build() {
+ cd $pkgname-$pkgver
+
+ ./configure --prefix=/usr --enable-ruby
+
+ make
+}
+
+package() {
+ cd libsigrok-$pkgver
+
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+
+ install -m644 -D contrib/60-libsigrok.rules
"$pkgdir"/usr/lib/udev/rules.d/60-libsigrok.rules
+ install -m644 -D contrib/61-libsigrok-uaccess.rules
"$pkgdir"/usr/lib/udev/rules.d/61-libsigrok-uaccess.rules
+}
Copied: libsigrok/repos/community-staging-x86_64/fix_swig4_java_bindings.patch
(from rev 1444727, libsigrok/trunk/fix_swig4_java_bindings.patch)
===================================================================
--- community-staging-x86_64/fix_swig4_java_bindings.patch
(rev 0)
+++ community-staging-x86_64/fix_swig4_java_bindings.patch 2023-04-11
18:19:37 UTC (rev 1444728)
@@ -0,0 +1,38 @@
+From e803574173bdac8a7f33085a648c29eaf248a394 Mon Sep 17 00:00:00 2001
+From: Uwe Hermann <[email protected]>
+Date: Sat, 4 Apr 2020 21:54:13 +0200
+Subject: [PATCH 1/1] bindings/java: Fix build issue with SWIG 4.x.
+
+Tested with SWIG 3.x and SWIG 4.x.
+
+This fixes bug #1527.
+---
+ bindings/java/org/sigrok/core/classes/classes.i | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/bindings/java/org/sigrok/core/classes/classes.i
b/bindings/java/org/sigrok/core/classes/classes.i
+index 75793b25..e953fe5d 100644
+--- a/bindings/java/org/sigrok/core/classes/classes.i
++++ b/bindings/java/org/sigrok/core/classes/classes.i
+@@ -94,10 +94,18 @@ VECTOR(std::shared_ptr<sigrok::HardwareDevice>,
HardwareDevice)
+ "java.util.Map<JKey, JValue>"
+
+ %typemap(javain,
++/* SWIG 4.0.0 changed the std::map wrappers in an incompatible way. */
++#if SWIG_VERSION >= 0x040000
++ pre=" $javaclassname temp$javainput = new $javaclassname();
++ for (java.util.Map.Entry<JKey, JValue> entry : $javainput.entrySet())
++ temp$javainput.put(entry.getKey(), entry.getValue());",
++ pgcppname="temp$javainput")
++#else
+ pre=" $javaclassname temp$javainput = new $javaclassname();
+ for (java.util.Map.Entry<JKey, JValue> entry : $javainput.entrySet())
+ temp$javainput.set(entry.getKey(), entry.getValue());",
+ pgcppname="temp$javainput")
++#endif
+ std::map< CKey, CValue > "$javaclassname.getCPtr(temp$javainput)"
+
+ %typemap(javaout) std::map< CKey, CValue > {
+--
+2.24.0.rc2
+
Copied: libsigrok/repos/community-staging-x86_64/libsigrok-0.5.2-swig-4.1.patch
(from rev 1444727, libsigrok/trunk/libsigrok-0.5.2-swig-4.1.patch)
===================================================================
--- community-staging-x86_64/libsigrok-0.5.2-swig-4.1.patch
(rev 0)
+++ community-staging-x86_64/libsigrok-0.5.2-swig-4.1.patch 2023-04-11
18:19:37 UTC (rev 1444728)
@@ -0,0 +1,45 @@
+diff --git a/Makefile.am b/Makefile.am
+index 280cf64d..2080b27b 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -876,7 +876,7 @@ python-build: $(PDIR)/timestamp
+
+ $(PDIR)/timestamp: $(PDIR)/sigrok/core/classes.i \
+ bindings/swig/classes.i bindings/swig/templates.i \
+- bindings/swig/enums.i $(PDOC_START) $(PDOC_END) \
++ $(PDOC_START) $(PDOC_END) \
+ $(library_include_HEADERS) \
+ $(nodist_library_include_HEADERS) \
+ $(bindings_cxx_libsigrokcxx_la_include_HEADERS) \
+@@ -918,8 +918,7 @@ $(RDOC): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
+ $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py ruby $(CPPXMLDOC) >
$@
+
+ $(RWRAP): $(srcdir)/$(RDIR)/classes.i $(RDOC) \
+- bindings/swig/classes.i bindings/swig/templates.i \
+- bindings/swig/enums.i
++ bindings/swig/classes.i bindings/swig/templates.i
+ $(AM_V_GEN)$(SWIG) -ruby -c++ -Ibindings -Ibindings/cxx/include
-I$(RDIR) $(local_includes) $(swig_defs) -o $@ $(srcdir)/$(RDIR)/classes.i
+
+ $(ROBJ): $(RWRAP) \
+@@ -977,7 +976,7 @@ $(JDOC): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
+ $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py java $(CPPXMLDOC) >
$@
+
+ $(JCXX): $(srcdir)/$(JSWG) $(JDOC) bindings/swig/classes.i \
+- bindings/swig/templates.i bindings/swig/enums.i \
++ bindings/swig/templates.i \
+ $(bindings_cxx_libsigrokcxx_la_include_HEADERS) \
+ $(nodist_bindings_cxx_libsigrokcxx_la_include_HEADERS)
+ -$(AM_V_at)rm -f $(java_cleanfiles)
+diff --git a/bindings/swig/classes.i b/bindings/swig/classes.i
+index 523995da..3e1d8a6c 100644
+--- a/bindings/swig/classes.i
++++ b/bindings/swig/classes.i
+@@ -215,6 +215,8 @@ typedef std::map<const sigrok::ConfigKey *,
Glib::VariantBase>
+
+ %include <libsigrokcxx/libsigrokcxx.hpp>
+
++#ifdef SWIGCXX
+ %include "swig/enums.i"
++#endif
+
+ %include <libsigrokcxx/enums.hpp>