Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] openpgm: new package
@ 2013-02-11 12:30 Alexander Lukichev
  2013-02-11 12:45 ` Thomas Petazzoni
  0 siblings, 1 reply; 12+ messages in thread
From: Alexander Lukichev @ 2013-02-11 12:30 UTC (permalink / raw)
  To: buildroot

From: Alexander Lukichev <alexander.lukichev@espotel.com>

OpenPGM is an open source implementation of the Pragmatic General
Multicast (PGM) specification in RFC 3208 available at www.ietf.org.
It may be required for PGM/EPGM support in ZeroMQ library. This
adds version 5.1.118-1~dfsg of the package, required by
zeromq-2.2.0. It also adds a patch for cross-compilation of
more recent 5.2.121~dfsg version.

Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
---
 package/Config.in                                  |  1 +
 package/openpgm/Config.in                          | 10 ++++++++++
 .../openpgm-5.1.118-1~dfsg-cross-compile.patch     | 13 ++++++++++++
 .../openpgm-5.2.121~dfsg-cross-compile.patch       | 13 ++++++++++++
 package/openpgm/openpgm.mk                         | 23 ++++++++++++++++++++++
 5 files changed, 60 insertions(+)
 create mode 100644 package/openpgm/Config.in
 create mode 100644 package/openpgm/openpgm-5.1.118-1~dfsg-cross-compile.patch
 create mode 100644 package/openpgm/openpgm-5.2.121~dfsg-cross-compile.patch
 create mode 100644 package/openpgm/openpgm.mk

diff --git a/package/Config.in b/package/Config.in
index 2fad94d..bfaf944 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -524,6 +524,7 @@ source "package/libtorrent/Config.in"
 source "package/libupnp/Config.in"
 source "package/libvncserver/Config.in"
 source "package/nss-mdns/Config.in"
+source "package/openpgm/Config.in"
 source "package/ortp/Config.in"
 source "package/slirp/Config.in"
 source "package/usbredir/Config.in"
diff --git a/package/openpgm/Config.in b/package/openpgm/Config.in
new file mode 100644
index 0000000..e9e5ee6
--- /dev/null
+++ b/package/openpgm/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_OPENPGM
+	bool "OpenPGM"
+	help
+	  OpenPGM is an open source implementation of the Pragmatic General
+	  Multicast (PGM) specification in RFC 3208 available at www.ietf.org.
+	  PGM is a reliable and scalable multicast protocol that enables
+	  receivers to detect loss, request retransmission of lost data, or
+	  notify an application of unrecoverable loss.
+
+	  http://code.google.com/p/openpgm/
diff --git a/package/openpgm/openpgm-5.1.118-1~dfsg-cross-compile.patch b/package/openpgm/openpgm-5.1.118-1~dfsg-cross-compile.patch
new file mode 100644
index 0000000..2e16c0d
--- /dev/null
+++ b/package/openpgm/openpgm-5.1.118-1~dfsg-cross-compile.patch
@@ -0,0 +1,13 @@
+diff -uNrp a/configure.ac b/configure.ac
+--- a/configure.ac	2012-11-07 14:19:08.835373674 +0200
++++ b/configure.ac	2012-11-07 14:19:25.481620103 +0200
+@@ -284,7 +284,8 @@ AC_RUN_IFELSE(
+ 	[AC_MSG_RESULT([yes])
+ 		pgm_unaligned_pointers=yes],
+ 	[AC_MSG_RESULT([no])
+-		pgm_unaligned_pointers=no])
++		pgm_unaligned_pointers=no],
++	pgm_unaligned_pointers=yes)
+ AC_MSG_CHECKING([for intrinsic atomic ops])
+ # AC_PREPROC_IFELSE not always portable
+ AC_COMPILE_IFELSE(
diff --git a/package/openpgm/openpgm-5.2.121~dfsg-cross-compile.patch b/package/openpgm/openpgm-5.2.121~dfsg-cross-compile.patch
new file mode 100644
index 0000000..2e16c0d
--- /dev/null
+++ b/package/openpgm/openpgm-5.2.121~dfsg-cross-compile.patch
@@ -0,0 +1,13 @@
+diff -uNrp a/configure.ac b/configure.ac
+--- a/configure.ac	2012-11-07 14:19:08.835373674 +0200
++++ b/configure.ac	2012-11-07 14:19:25.481620103 +0200
+@@ -284,7 +284,8 @@ AC_RUN_IFELSE(
+ 	[AC_MSG_RESULT([yes])
+ 		pgm_unaligned_pointers=yes],
+ 	[AC_MSG_RESULT([no])
+-		pgm_unaligned_pointers=no])
++		pgm_unaligned_pointers=no],
++	pgm_unaligned_pointers=yes)
+ AC_MSG_CHECKING([for intrinsic atomic ops])
+ # AC_PREPROC_IFELSE not always portable
+ AC_COMPILE_IFELSE(
diff --git a/package/openpgm/openpgm.mk b/package/openpgm/openpgm.mk
new file mode 100644
index 0000000..ed9c041
--- /dev/null
+++ b/package/openpgm/openpgm.mk
@@ -0,0 +1,23 @@
+#############################################################
+#
+# openpgm
+#
+#############################################################
+
+OPENPGM_VERSION = 5.1.118-1~dfsg
+OPENPGM_SOURCE = libpgm-$(OPENPGM_VERSION).tar.gz
+OPENPGM_SITE = http://openpgm.googlecode.com/files/
+OPENPGM_INSTALL_STAGING = YES
+OPENPGM_DEPENDENCIES = 
+OPENPGM_AUTORECONF = YES
+OPENPGM_CONF_ENV = ac_cv_file__proc_cpuinfo=yes ac_cv_file__dev_rtc=no \
+                   ac_cv_file__dev_hpet=no
+
+define OPENPGM_EXTRACT_FIX
+	mv $(@D)/openpgm/pgm/* $(@D)
+	rm -rf $(@D)/openpgm/pgm/
+endef
+
+OPENPGM_POST_EXTRACT_HOOKS += OPENPGM_EXTRACT_FIX
+
+$(eval $(autotools-package))
-- 
1.8.0.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [Buildroot]  [PATCH 0/1] [Re-submitted] openpgm: new package
@ 2013-02-12 10:47 Alexander Lukichev
  2013-02-12 10:47 ` [Buildroot] [PATCH 1/1] " Alexander Lukichev
  0 siblings, 1 reply; 12+ messages in thread
From: Alexander Lukichev @ 2013-02-12 10:47 UTC (permalink / raw)
  To: buildroot

The patch has been improved according to community suggestions:
- legal information supplied;
- OPENPGM_SUBDIR is used instead of a post extract hook;
- more recent release of the package is used;
- cross-compilation fix uses cached values instead of hard-coded ones.

The last thing has been implemented as recommended in Autoconf manual
(http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Runtime.html#Runtime)
for cross-compilation-friendly runtime tests. Direct caching of
pgm_unaligned_pointers variable produced a warning during autoreconfigure
that said that only variables containing _cv_ were cached, and
ac_cv_lbl_unaligned_fail was already used in Buildroot, so I based the
test on that one and set pgm_unaligned_pointers later from its result.

Re-submitted patch: [PATCH 1/1] openpgm: new package

--
Best regards,
  Alexander Lukichev

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-02-13  7:30 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-11 12:30 [Buildroot] [PATCH 1/1] openpgm: new package Alexander Lukichev
2013-02-11 12:45 ` Thomas Petazzoni
2013-02-11 12:49   ` Yann E. MORIN
2013-02-11 12:54     ` Thomas Petazzoni
2013-02-11 13:18   ` Alexander Lukichev
2013-02-11 14:14     ` Thomas Petazzoni
2013-02-12 10:08       ` Alexander Lukichev
  -- strict thread matches above, loose matches on Subject: below --
2013-02-12 10:47 [Buildroot] [PATCH 0/1] [Re-submitted] " Alexander Lukichev
2013-02-12 10:47 ` [Buildroot] [PATCH 1/1] " Alexander Lukichev
2013-02-12 10:53   ` Thomas Petazzoni
2013-02-12 10:57     ` Alexander Lukichev
2013-02-12 17:47       ` Arnout Vandecappelle
2013-02-13  7:30         ` Alexander Lukichev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox