From a41398dc1268fc2221eceba69d0416712f49e7d7 Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Sun, 23 Jul 2006 12:11:27 +0000 Subject: [PATCH] port gnutls to buildroot-ng SVN-Revision: 4228 --- libs/gnutls/Makefile | 168 ++++++++++++++++++++ libs/gnutls/patches/500-cross-compile.patch | 68 ++++++++ libs/gnutls/patches/501-certtool-libs.patch | 24 +++ 3 files changed, 260 insertions(+) create mode 100644 libs/gnutls/Makefile create mode 100644 libs/gnutls/patches/500-cross-compile.patch create mode 100644 libs/gnutls/patches/501-certtool-libs.patch diff --git a/libs/gnutls/Makefile b/libs/gnutls/Makefile new file mode 100644 index 000000000..9d952b3ed --- /dev/null +++ b/libs/gnutls/Makefile @@ -0,0 +1,168 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# $Id$ + +include $(TOPDIR)/rules.mk + +PKG_NAME:=gnutls +PKG_VERSION:=1.0.25 +PKG_RELEASE:=0 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=ftp://ftp.gnutls.org/pub/gnutls/ \ + ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/ \ + http://www.mirrors.wiretapped.net/security/network-security/gnutls/ \ + ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/ \ + http://josefsson.org/gnutls/releases/ +PKG_MD5SUM:=3585b5b204135e51e0efc9084b3e028b +PKG_CAT:=zcat + +PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install + +include $(INCLUDE_DIR)/package.mk + +define Package/libgnutls + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:=+libgcrypt + TITLE:=GNU TLS library + DESCRIPTION:=The GNU TLS library.\\\ + GnuTLS is a project that aims to develop a library which provides a \\\ + secure layer, over a reliable transport layer. Currently the GnuTLS \\\ + library implements the proposed standards by the IETF's TLS working \\\ + group.\\\ + \\\ + This packages contains the GnuTLS shared libraries, needed by other programs. + URL:=http://www.gnu.org/software/gnutls/ +endef + +define Package/gnutls-utils + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:=libgnutls + TITLE:=GNU TLS utilitis + DESCRIPTION:=The GNU TLS utilities.\\\ + GnuTLS is a project that aims to develop a library which provides a \\\ + secure layer, over a reliable transport layer. Currently the GnuTLS \\\ + library implements the proposed standards by the IETF's TLS working \\\ + group.\\\ + \\\ + This packages contains some GnuTLS utilities. + URL:=http://www.gnu.org/software/gnutls/ +endef + +define Package/libgnutls-openssl + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:=libgnutls + TITLE:=GNU TLS OpenSSL compatibility layer library + DESCRIPTION:=The GNU TLS OpenSSL compatibility layer library.\\\ + GnuTLS is a project that aims to develop a library which provides a \\\ + secure layer, over a reliable transport layer. Currently the GnuTLS \\\ + library implements the proposed standards by the IETF's TLS working \\\ + group.\\\ + \\\ + This packages contains the GnuTLS OpenSSL compatibility layer shared library. + URL:=http://www.gnu.org/software/gnutls/ +endef + +define Build/Configure + (cd $(PKG_BUILD_DIR); rm -f config.cache; \ + touch configure.in ; \ + touch acinclude.m4 ; \ + touch aclocal.m4 ; \ + touch Makefile.in ; \ + touch config.h.in ; \ + touch configure ; \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + CPPFLAGS="-I$(STAGING_DIR)/usr/include" \ + LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --datadir=/usr/share \ + --includedir=/usr/include \ + --infodir=/usr/share/info \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --sbindir=/usr/sbin \ + --sysconfdir=/etc \ + $(DISABLE_NLS) \ + $(DISABLE_LARGEFILE) \ + --enable-shared \ + --enable-static \ + --disable-rpath \ + --disable-srp-authentication \ + --disable-anon-authentication \ + --disable-openpgp-authentication \ + --with-included-opencdk=yes \ + --with-included-libtasn1=yes \ + --with-included-libcfg=yes \ + --without-zlib \ + --without-lzo \ + ); +endef + +define Build/Compile + rm -rf $(PKG_INSTALL_DIR) + mkdir -p $(PKG_INSTALL_DIR) + $(MAKE) -C $(PKG_BUILD_DIR) \ + DESTDIR="$(PKG_INSTALL_DIR)" \ + all install +endef + +define Package/libgnutls/install + install -m0755 -d $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls{,-extra}.so.* $(1)/usr/lib/ +endef + +define Package/libgnutls-openssl/install + install -m0755 -d $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls-openssl.so.* $(1)/usr/lib/ +endef + +define Package/gnutls-utils/install + install -m0755 -d $(1)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/certtool $(1)/usr/bin/ + $(CP) $(PKG_INSTALL_DIR)/usr/bin/gnutls-{cli,serv} $(1)/usr/bin/ +endef + +define Build/InstallDev + mkdir -p $(STAGING_DIR)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/libgnutls{,-extra}-config $(STAGING_DIR)/usr/bin/ + mkdir -p $(STAGING_DIR)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/gnutls $(STAGING_DIR)/usr/include/ + mkdir -p $(STAGING_DIR)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls{,-extra,-openssl}.{a,so*} $(STAGING_DIR)/usr/lib/ + mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gnutls{,-extra}.pc $(STAGING_DIR)/usr/lib/pkgconfig/ + mkdir -p $(STAGING_DIR)/usr/share/aclocal + $(CP) $(PKG_INSTALL_DIR)/usr/share/aclocal/libgnutls{,-extra}.m4 $(STAGING_DIR)/usr/share/aclocal/ +endef + +define Build/UninstallDev + rm -rf \ + $(STAGING_DIR)/usr/bin/libgnutls{,-extra}-config \ + $(STAGING_DIR)/usr/include/gnutls \ + $(STAGING_DIR)/usr/lib/libgnutls{,-extra,-openssl}.{a,so*} \ + $(STAGING_DIR)/usr/lib/pkgconfig/gnutls{,-extra}.pc \ + $(STAGING_DIR)/usr/share/aclocal/libgnutls{,-extra}.m4 +endef + +$(eval $(call BuildPackage,libgnutls)) +$(eval $(call BuildPackage,libgnutls-openssl)) +$(eval $(call BuildPackage,gnutls-utils)) diff --git a/libs/gnutls/patches/500-cross-compile.patch b/libs/gnutls/patches/500-cross-compile.patch new file mode 100644 index 000000000..5694bb25f --- /dev/null +++ b/libs/gnutls/patches/500-cross-compile.patch @@ -0,0 +1,68 @@ +diff -ruN gnutls-1.0.24-orig/configure gnutls-1.0.24-1/configure +--- gnutls-1.0.24-orig/configure 2005-01-18 19:31:03.000000000 +0100 ++++ gnutls-1.0.24-1/configure 2005-03-15 23:23:12.000000000 +0100 +@@ -3633,7 +3633,7 @@ + if test x$opt_developer_mode = xyes; then + CFLAGS="${CFLAGS} -g -Wno-format-y2k -Wall -Wcast-align -W -Wpointer-arith -Wchar-subscripts -Wformat-security -Wmissing-braces -Winline -Wstrict-prototypes" + else +- CFLAGS="${CFLAGS} -O2 -finline-functions" ++ CFLAGS="${CFLAGS} -finline-functions" + fi + + if test x$opt_dmalloc_mode = xyes; then +@@ -25004,8 +25004,8 @@ + + + +-LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" +-LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS -I${includedir}" ++LIBGNUTLS_LIBS="-lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" ++LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS" + + CFLAGS="${CFLAGS} ${LIBGCRYPT_CFLAGS}" + +@@ -25015,8 +25015,8 @@ + SERV_LIBS="$LIBS $SERV_LIBS" + + +-LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS" +-LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS -I${includedir}" ++LIBGNUTLS_EXTRA_LIBS="-lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS" ++LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS $LIBGNUTLS_CFLAGS" + + + +diff -ruN gnutls-1.0.24-orig/configure.in gnutls-1.0.24-1/configure.in +--- gnutls-1.0.24-orig/configure.in 2004-11-14 00:06:57.000000000 +0100 ++++ gnutls-1.0.24-1/configure.in 2005-03-15 23:24:35.000000000 +0100 +@@ -137,7 +137,7 @@ + if test x$opt_developer_mode = xyes; then + CFLAGS="${CFLAGS} -g -Wno-format-y2k -Wall -Wcast-align -W -Wpointer-arith -Wchar-subscripts -Wformat-security -Wmissing-braces -Winline -Wstrict-prototypes" + else +- CFLAGS="${CFLAGS} -O2 -finline-functions" ++ CFLAGS="${CFLAGS} -finline-functions" + fi + + if test x$opt_dmalloc_mode = xyes; then +@@ -489,8 +489,8 @@ + ]) + AM_PROG_LIBTOOL + +-LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" +-LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS -I${includedir}" ++LIBGNUTLS_LIBS="-lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" ++LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS" + + CFLAGS="${CFLAGS} ${LIBGCRYPT_CFLAGS}" + +@@ -500,8 +500,8 @@ + SERV_LIBS="$LIBS $SERV_LIBS" + AC_SUBST(SERV_LIBS) + +-LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS" +-LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS -I${includedir}" ++LIBGNUTLS_EXTRA_LIBS="-lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS" ++LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS $LIBGNUTLS_CFLAGS" + + AC_SUBST(LIBGNUTLS_EXTRA_LIBS) + AC_SUBST(LIBGNUTLS_EXTRA_CFLAGS) diff --git a/libs/gnutls/patches/501-certtool-libs.patch b/libs/gnutls/patches/501-certtool-libs.patch new file mode 100644 index 000000000..db39f88a9 --- /dev/null +++ b/libs/gnutls/patches/501-certtool-libs.patch @@ -0,0 +1,24 @@ +diff -ruN gnutls-1.0.24-orig/src/Makefile.am gnutls-1.0.24-1/src/Makefile.am +--- gnutls-1.0.24-orig/src/Makefile.am 2004-09-17 11:08:24.000000000 +0200 ++++ gnutls-1.0.24-1/src/Makefile.am 2005-03-15 23:28:19.000000000 +0100 +@@ -31,7 +31,7 @@ + cfg/cfg+.c cfg/cfgfile.c cfg/cmdline.c cfg/parse.c cfg/props.c \ + cfg/shared.c cfg/platon/str/dynfgets.c cfg/platon/str/strctype.c \ + cfg/platon/str/strdyn.c cfg/platon/str/strplus.c +-certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) ++certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) + endif + + +diff -ruN gnutls-1.0.24-orig/src/Makefile.in gnutls-1.0.24-1/src/Makefile.in +--- gnutls-1.0.24-orig/src/Makefile.in 2005-01-18 19:31:14.000000000 +0100 ++++ gnutls-1.0.24-1/src/Makefile.in 2005-03-15 23:28:41.000000000 +0100 +@@ -308,7 +308,7 @@ + @HAVE_LIBCFG_FALSE@ cfg/platon/str/strdyn.c cfg/platon/str/strplus.c + + @HAVE_LIBCFG_TRUE@certtool_SOURCES = certtool-gaa.c certtool.c prime.c getpass.c certtool-cfg.c +-@HAVE_LIBCFG_FALSE@certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) ++@HAVE_LIBCFG_FALSE@certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) + @HAVE_LIBCFG_TRUE@certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) -lcfg+ + all: all-recursive + -- 2.30.2