summaryrefslogtreecommitdiff
path: root/openwrt/package/libgcrypt
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/package/libgcrypt')
-rw-r--r--openwrt/package/libgcrypt/Config.in15
-rw-r--r--openwrt/package/libgcrypt/Makefile89
-rw-r--r--openwrt/package/libgcrypt/ipkg/libgcrypt.control10
-rw-r--r--openwrt/package/libgcrypt/patches/500-cross-compile.patch24
4 files changed, 138 insertions, 0 deletions
diff --git a/openwrt/package/libgcrypt/Config.in b/openwrt/package/libgcrypt/Config.in
new file mode 100644
index 0000000000..891dd5601a
--- /dev/null
+++ b/openwrt/package/libgcrypt/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_LIBGCRYPT
+ tristate "libgcrypt - The GNU crypto library"
+# default m if CONFIG_DEVEL
+ default n
+ select BR2_PACKAGE_LIBGPG_ERROR
+ help
+ This is a general purpose cryptographic library based on the code from
+ GnuPG. It provides functions for all cryptograhic building blocks:
+ symmetric ciphers (AES, DES, Blowfish, CAST5, Twofish, Arcfour), hash
+ algorithms (MD4, MD5, RIPE-MD160, SHA-1, TIGER-192), MACs (HMAC for all
+ hash algorithms), public key algorithms (RSA, ElGamal, DSA), large
+ integer functions, random numbers and a lot of supporting functions.
+
+ http://directory.fsf.org/security/libgcrypt.html
+
diff --git a/openwrt/package/libgcrypt/Makefile b/openwrt/package/libgcrypt/Makefile
new file mode 100644
index 0000000000..8716448ec3
--- /dev/null
+++ b/openwrt/package/libgcrypt/Makefile
@@ -0,0 +1,89 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libgcrypt
+PKG_VERSION:=1.2.1
+PKG_RELEASE:=0
+PKG_MD5SUM:=b6d3217c9333c520fe54d2e8dc5e60ec
+
+PKG_SOURCE_URL:=http://ftp.gnupg.org/gcrypt/libgcrypt/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_CAT:=bzcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,LIBGCRYPT,libgcrypt,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+ (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="-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 \
+ --with-gpg-error-prefix="$(STAGING_DIR)/usr" \
+ );
+ touch $@
+
+$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.configured
+ rm -rf $(PKG_INSTALL_DIR)
+ mkdir -p $(PKG_INSTALL_DIR)
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ all install
+ touch $@
+
+$(IPKG_LIBGCRYPT): $(STAGING_DIR)/usr/lib/libgcrypt.so
+ install -m0755 -d $(IDIR_LIBGCRYPT)/usr/lib
+ cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libgcrypt.so.* $(IDIR_LIBGCRYPT)/usr/lib/
+ $(RSTRIP) $(IDIR_LIBGCRYPT)
+ $(IPKG_BUILD) $(IDIR_LIBGCRYPT) $(PACKAGE_DIR)
+
+$(STAGING_DIR)/usr/lib/libgcrypt.so: $(PKG_BUILD_DIR)/.built
+ mkdir -p $(STAGING_DIR)/usr/bin
+ cp -fpR $(PKG_INSTALL_DIR)/usr/bin/libgcrypt-config $(STAGING_DIR)/usr/bin/
+ mkdir -p $(STAGING_DIR)/usr/include
+ cp -fpR $(PKG_INSTALL_DIR)/usr/include/gcrypt*.h $(STAGING_DIR)/usr/include/
+ mkdir -p $(STAGING_DIR)/usr/lib
+ cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libgcrypt.{a,so*} $(STAGING_DIR)/usr/lib/
+ mkdir -p $(STAGING_DIR)/usr/share/aclocal
+ cp -fpR $(PKG_INSTALL_DIR)/usr/share/aclocal/libgcrypt.m4 $(STAGING_DIR)/usr/share/aclocal/
+ touch $@
+
+install-dev: $(STAGING_DIR)/usr/lib/libgcrypt.so
+
+uninstall-dev:
+ rm -rf \
+ $(STAGING_DIR)/usr/bin/libgcrypt-config \
+ $(STAGING_DIR)/usr/include/gcrypt*.h \
+ $(STAGING_DIR)/usr/lib/libgcrypt.{a,so*} \
+ $(STAGING_DIR)/usr/share/aclocal/libgcrypt.m4 \
+
+compile: install-dev
+clean: uninstall-dev
diff --git a/openwrt/package/libgcrypt/ipkg/libgcrypt.control b/openwrt/package/libgcrypt/ipkg/libgcrypt.control
new file mode 100644
index 0000000000..b66b03ac8a
--- /dev/null
+++ b/openwrt/package/libgcrypt/ipkg/libgcrypt.control
@@ -0,0 +1,10 @@
+Package: libgcrypt
+Priority: optional
+Section: libs
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: OpenWrt Developers Team <bugs@openwrt.org>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/libgcrypt/
+Description: GNU crypto library
+Depends: libgpg-error
+
diff --git a/openwrt/package/libgcrypt/patches/500-cross-compile.patch b/openwrt/package/libgcrypt/patches/500-cross-compile.patch
new file mode 100644
index 0000000000..e7d4d5877b
--- /dev/null
+++ b/openwrt/package/libgcrypt/patches/500-cross-compile.patch
@@ -0,0 +1,24 @@
+diff -ruN libgcrypt-1.2.1-orig/tests/Makefile.am libgcrypt-1.2.1-1/tests/Makefile.am
+--- libgcrypt-1.2.1-orig/tests/Makefile.am 2004-03-03 09:08:05.000000000 +0100
++++ libgcrypt-1.2.1-1/tests/Makefile.am 2005-03-15 21:36:49.000000000 +0100
+@@ -21,7 +21,7 @@
+ TESTS = prime register ac basic tsexp keygen pubkey benchmark
+
+ INCLUDES = -I$(top_srcdir)/src
+-LDADD = ../src/libgcrypt.la
++LDADD = ../src/libgcrypt.la @LTLIBOBJS@ @GPG_ERROR_LIBS@
+
+ EXTRA_PROGRAMS = testapi
+ noinst_PROGRAMS = $(TESTS)
+diff -ruN libgcrypt-1.2.1-orig/tests/Makefile.in libgcrypt-1.2.1-1/tests/Makefile.in
+--- libgcrypt-1.2.1-orig/tests/Makefile.in 2005-01-05 14:53:23.000000000 +0100
++++ libgcrypt-1.2.1-1/tests/Makefile.in 2005-03-15 21:37:12.000000000 +0100
+@@ -258,7 +258,7 @@
+ target_vendor = @target_vendor@
+ TESTS = prime register ac basic tsexp keygen pubkey benchmark
+ INCLUDES = -I$(top_srcdir)/src
+-LDADD = ../src/libgcrypt.la
++LDADD = ../src/libgcrypt.la @LTLIBOBJS@ @GPG_ERROR_LIBS@
+ AM_CFLAGS = @GPG_ERROR_CFLAGS@
+ all: all-am
+