From patchwork Fri Mar 27 15:02:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jared Bents X-Patchwork-Id: 1262829 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=rockwellcollins.com Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48plTD06kCz9sSH for ; Sat, 28 Mar 2020 02:02:37 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 7A92E88A82; Fri, 27 Mar 2020 15:02:33 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id q9ws6sRmW3-K; Fri, 27 Mar 2020 15:02:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id C4959888D3; Fri, 27 Mar 2020 15:02:30 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id B377F1BF5DB for ; Fri, 27 Mar 2020 15:02:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id B07C9888D3 for ; Fri, 27 Mar 2020 15:02:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id htxqNsr1+D9q for ; Fri, 27 Mar 2020 15:02:28 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from ch3vs02.rockwellcollins.com (ch3vs02.rockwellcollins.com [205.175.226.29]) by whitealder.osuosl.org (Postfix) with ESMTPS id 7801F88794 for ; Fri, 27 Mar 2020 15:02:28 +0000 (UTC) IronPort-SDR: GyPJ9SbJvNIXyaOtjcF7R+NbVeSFCroN6ilrp7UYquOgPmA7vN/JT8MV88YZdA/0iI2hbv5gc0 dQkWHnzDQnMkeFqGzg7Xg4BQ5HfRtdWJmYLp27wt5suxj1tOWU8Z1FR9+jkYLjtoZnRd2/SiG/ N+wxbTvOCYHsYFyO3iLCdpIGYYLl5hxCdzEgFbPj7JrSBqO4lnV9SofelrePCZbMA8Sp+R+dqc qVea8P0d2j4us0EqG3hBpdG3q/VKbJNrQMAhEXd50Coo/7sZyIjhk+cwgdfZb7xAQgfAp5FRvt b5Q= Received: from ofwch3n02.rockwellcollins.com (HELO ciulimr01.rockwellcollins.com) ([205.175.226.14]) by ch3vs02.rockwellcollins.com with ESMTP; 27 Mar 2020 10:02:27 -0500 X-Received: from gravy.rockwellcollins.lab (gravy.rockwellcollins.lab [10.148.114.119]) by ciulimr01.rockwellcollins.com (Postfix) with ESMTP id 5F51D603C4; Fri, 27 Mar 2020 10:02:27 -0500 (CDT) From: Jared Bents To: buildroot@busybox.net Date: Fri, 27 Mar 2020 10:02:25 -0500 Message-Id: <20200327150225.15277-1-jared.bents@rockwellcollins.com> X-Mailer: git-send-email 2.17.1 Subject: [Buildroot] [PATCH v2 1/1] package/libtalloc: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: thomas.petazzoni@bootlin.com, Jared Bents MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" libtalloc is a hierarchical, reference counted memory pool system with destructors. It is the core memory allocator used in Samba. Signed-off-by: Jared Bents --- v2: - updated commit message to fit new package standard - updated to waf package type - added developers entry - added toolchain dependencies - license and license file updates - removed TARGET_NLS_LIBS dependency - removed empty python_LDFLAGS and python_LIBDIR --- DEVELOPERS | 1 + package/Config.in | 1 + package/libtalloc/Config.in | 20 +++++++++ package/libtalloc/libtalloc.hash | 4 ++ package/libtalloc/libtalloc.mk | 72 ++++++++++++++++++++++++++++++++ 5 files changed, 98 insertions(+) create mode 100644 package/libtalloc/Config.in create mode 100644 package/libtalloc/libtalloc.hash create mode 100644 package/libtalloc/libtalloc.mk diff --git a/DEVELOPERS b/DEVELOPERS index fd312a44af..afad4fad12 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1166,6 +1166,7 @@ F: package/zynq-boot-bin/ N: Jared Bents F: package/davici/ +F: package/libtalloc/ N: Jarkko Sakkinen F: package/quota/ diff --git a/package/Config.in b/package/Config.in index 091f5d39f7..37c2c3df12 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1769,6 +1769,7 @@ menu "Other" source "package/libsigc/Config.in" source "package/libsigsegv/Config.in" source "package/libspatialindex/Config.in" + source "package/libtalloc/Config.in" source "package/libtasn1/Config.in" source "package/libtommath/Config.in" source "package/libtpl/Config.in" diff --git a/package/libtalloc/Config.in b/package/libtalloc/Config.in new file mode 100644 index 0000000000..333d7305ac --- /dev/null +++ b/package/libtalloc/Config.in @@ -0,0 +1,20 @@ +comment "libtalloc needs a uClibc or glibc toolchain w/ wchar, dynamic library, NPTL" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_MUSL \ + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_USE_MMU + +config BR2_PACKAGE_LIBTALLOC + bool "libtalloc" + depends on BR2_USE_MMU # fork() + depends on BR2_USE_WCHAR # python + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # python -> libffi + depends on !BR2_STATIC_LIBS # cmocka, python, gnutls + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_USES_MUSL + help + talloc is a hierarchical, reference counted memory pool + system with destructors. It is the core memory allocator + used in Samba. + + https://talloc.samba.org/talloc/doc/html/index.html diff --git a/package/libtalloc/libtalloc.hash b/package/libtalloc/libtalloc.hash new file mode 100644 index 0000000000..34e41ddd9f --- /dev/null +++ b/package/libtalloc/libtalloc.hash @@ -0,0 +1,4 @@ +# Locally calculated after checking pgp signature +sha256 ef4822d2fdafd2be8e0cabc3ec3c806ae29b8268e932c5e9a4cd5585f37f9f77 talloc-2.3.1.tar.gz +sha256 15c2767545d1e43dc35832736253bde5be956f8ffec0474a6d0f70349b646ed3 talloc.h +sha256 8742f2dad3aaf885c7b4b699c20bfa0e9edeab380689f91a88aa90af03e6947b pytalloc.h diff --git a/package/libtalloc/libtalloc.mk b/package/libtalloc/libtalloc.mk new file mode 100644 index 0000000000..c050cf2033 --- /dev/null +++ b/package/libtalloc/libtalloc.mk @@ -0,0 +1,72 @@ +################################################################################ +# +# libtalloc +# +################################################################################ + +LIBTALLOC_VERSION = 2.3.1 +LIBTALLOC_SITE = https://www.samba.org/ftp/talloc +LIBTALLOC_SOURCE = talloc-$(LIBTALLOC_VERSION).tar.gz +LIBTALLOC_LICENSE = LGPL-3.0+, GPL-3.0+ +LIBTALLOC_LICENSE_FILES = talloc.h pytalloc.h +LIBTALLOC_INSTALL_STAGING = YES +LIBTALLOC_CFLAGS = $(TARGET_CFLAGS) +LIBTALLOC_LDFLAGS = $(TARGET_LDFLAGS) +LIBTALLOC_CONF_ENV = \ + CFLAGS="$(LIBTALLOC_CFLAGS)" \ + LDFLAGS="$(LIBTALLOC_LDFLAGS)" \ + XSLTPROC=false \ + WAF_NO_PREFORK=1 + +ifeq ($(BR2_PACKAGE_LIBTIRPC),y) +LIBTALLOC_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` +LIBTALLOC_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc` +LIBTALLOC_DEPENDENCIES += libtirpc host-pkgconf +endif + +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBTALLOC_PYTHON = \ + PYTHON="$(HOST_DIR)/bin/python3" \ + PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python3-config" +LIBTALLOC_DEPENDENCIES += host-python3 python3 +LIBTALLOC_CONF_ENV += \ + $(LIBTALLOC_PYTHON) +# There is not a --enable-python configuration option +else +LIBTALLOC_CONF_OPTS += --disable-python +endif + +define LIBTALLOC_CONFIGURE_CMDS + $(INSTALL) -m 0644 package/samba4/samba4-cache.txt $(@D)/cache.txt; + echo 'Checking uname machine type: $(BR2_ARCH)' >>$(@D)/cache.txt; + (cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) \ + $(LIBTALLOC_CONF_ENV) \ + ./buildtools/bin/waf configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-libiconv=$(STAGING_DIR)/usr \ + --cross-compile \ + --cross-answers=$(@D)/cache.txt \ + --hostcc=gcc \ + --disable-rpath \ + --disable-rpath-install \ + --bundled-libraries='!asn1_compile,!compile_et' \ + $(LIBTALLOC_CONF_OPTS) \ + ) +endef + +define LIBTALLOC_BUILD_CMDS + $(TARGET_MAKE_ENV) $(LIBTALLOC_PYTHON) $(MAKE) -C $(@D) +endef + +define LIBTALLOC_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(LIBTALLOC_PYTHON) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +define LIBTALLOC_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(LIBTALLOC_PYTHON) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(waf-package))