summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/ucl')
-rw-r--r--dev-libs/ucl/Manifest1
-rw-r--r--dev-libs/ucl/files/ucl-1.03-CFLAGS.patch134
-rw-r--r--dev-libs/ucl/files/ucl-1.03-x32.patch173
-rw-r--r--dev-libs/ucl/metadata.xml7
-rw-r--r--dev-libs/ucl/ucl-1.03-r1.ebuild41
5 files changed, 356 insertions, 0 deletions
diff --git a/dev-libs/ucl/Manifest b/dev-libs/ucl/Manifest
new file mode 100644
index 000000000000..1d414da3d9a3
--- /dev/null
+++ b/dev-libs/ucl/Manifest
@@ -0,0 +1 @@
+DIST ucl-1.03.tar.gz 534881 SHA256 b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348 SHA512 7dd1824d01b4bb41ee03bbceddc634a9f7f910d235e5cca163d783680d6743f0f3cc309bbbcc1e094d897d549d3805a555f9093b4d77805443d896dd1862aa34 WHIRLPOOL 64b9124cf863248e74c97c45631a0fca7337fa6a99bd08dfbd5e7ca65d8fd509ba6a331059f87472d7dbcd56f9f354359d0c2da412224f9f4fda8ff3c8b6d2a6
diff --git a/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch b/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch
new file mode 100644
index 000000000000..07c925b4888e
--- /dev/null
+++ b/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch
@@ -0,0 +1,134 @@
+From: Nathan Phillip Brink <binki@gentoo.org>
+Subject: Respect CCASFLAGS (which often defaults to CFLAGS). Fixes
+ compilation for portage-multilib users.
+
+diff -r c090ed619e90 configure.ac
+--- a/configure.ac Sun Jun 26 16:00:09 2011 -0400
++++ b/configure.ac Sun Jun 26 20:52:01 2011 -0400
+@@ -47,14 +47,12 @@
+ AC_CANONICAL_TARGET
+ AM_MAINTAINER_MODE
+
+-if test -z "$ac_abs_top_srcdir"; then
+- _AC_SRCPATHS(.)
+-fi
+ if test -r .Conf.settings1; then
+ . ./.Conf.settings1
+ fi
+
+ AC_PROG_CC
++AM_PROG_AS
+ AC_PROG_CPP
+ mfx_PROG_CPPFLAGS
+ AC_C_CONST
+@@ -84,13 +82,13 @@
+ if test "X$enable_asm" != Xno; then
+ mfx_compile_S='${CC-cc} -c conftest.S 1>&AS_MESSAGE_LOG_FD'
+ cat > conftest.S <<EOF
+-#include "$ac_abs_top_srcdir/asm/i386/src_gas/crc_asm.S"
++#include "$srcdir/asm/i386/src_gas/crc_asm.S"
+ EOF
+ enable_asm=no
+ if AC_TRY_EVAL(mfx_compile_S); then
+ if AC_TRY_COMMAND([test -s conftest.$ac_objext]); then
+ enable_asm=yes
+- UCL_ASM_VPATH=":$ac_abs_top_srcdir/asm/i386/src_gas"
++ UCL_ASM_VPATH=":\$(top_srcdir)/asm/i386/src_gas"
+ fi
+ fi
+ if test "X$enable_asm" = Xno; then
+@@ -160,11 +158,6 @@
+ AC_SUBST(UCL_CFLAGS)
+ AC_SUBST(UCL_EXTRA_CFLAGS)
+
+-configure_CPPFLAGS=$CPPFLAGS
+-configure_CFLAGS=$CFLAGS
+-AC_SUBST(configure_CPPFLAGS)
+-AC_SUBST(configure_CFLAGS)
+-
+ AC_CONFIG_FILES([Makefile examples/Makefile include/Makefile include/ucl/Makefile src/Makefile])
+ AC_OUTPUT
+
+diff -r c090ed619e90 src/Makefile.am
+--- a/src/Makefile.am Sun Jun 26 16:00:09 2011 -0400
++++ b/src/Makefile.am Sun Jun 26 20:52:01 2011 -0400
+@@ -4,11 +4,10 @@
+ #
+
+ VPATH = @srcdir@@UCL_ASM_VPATH@
+-SUFFIXES = .S
+
+ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
+-CPPFLAGS = $(UCL_CPPFLAGS) $(configure_CPPFLAGS) $(UCL_EXTRA_CPPFLAGS)
+-CFLAGS = $(UCL_CFLAGS) $(configure_CFLAGS) $(UCL_EXTRA_CFLAGS)
++AM_CPPFLAGS = $(UCL_CPPFLAGS) $(UCL_EXTRA_CPPFLAGS)
++AM_CFLAGS = $(UCL_CFLAGS) $(UCL_EXTRA_CFLAGS)
+
+ lib_LTLIBRARIES = libucl.la
+
+@@ -16,51 +15,37 @@
+
+ libucl_la_SOURCES = \
+ alloc.c \
++ getbit.h \
+ n2b_99.c n2b_d.c n2b_ds.c n2b_to.c \
+ n2d_99.c n2d_d.c n2d_ds.c n2d_to.c \
+ n2e_99.c n2e_d.c n2e_ds.c n2e_to.c \
++ ucl_conf.h \
+ ucl_crc.c \
+ ucl_init.c \
+- ucl_ptr.c \
++ ucl_ptr.c ucl_ptr.h \
+ ucl_str.c \
+ ucl_util.c
+
+ EXTRA_DIST = \
+- getbit.h \
+ n2_99.ch \
+- ucl_conf.h \
+ ucl_dll.ch \
+ ucl_mchw.ch \
+- ucl_ptr.h \
+ ucl_swd.ch
+
+-libucl_la_LIBADD = $(UCL_ASM_OBJECTS)
+-libucl_la_DEPENDENCIES = $(libucl_la_LIBADD)
+-
+-
+ # /***********************************************************************
+ # // assembler support
+ # ************************************************************************/
+
+ if UCL_USE_ASM
+-
+-UCL_ASM_OBJECTS = \
+- cpuid.lo crc_asm.lo crcs_asm.lo rdtsc.lo rdtsca.lo \
+- n2b_d_f1.lo n2b_d_f2.lo n2b_d_f3.lo n2b_d_f4.lo n2b_d_f5.lo n2b_d_f6.lo \
+- n2b_d_n1.lo n2b_d_n2.lo n2b_d_n3.lo n2b_d_n4.lo n2b_d_n5.lo n2b_d_n6.lo \
+- n2b_d_s1.lo n2b_d_s2.lo n2b_d_s3.lo n2b_d_s4.lo n2b_d_s5.lo n2b_d_s6.lo \
+- n2d_d_f1.lo n2d_d_f2.lo n2d_d_f3.lo n2d_d_f4.lo n2d_d_f5.lo n2d_d_f6.lo \
+- n2d_d_n1.lo n2d_d_n2.lo n2d_d_n3.lo n2d_d_n4.lo n2d_d_n5.lo n2d_d_n6.lo \
+- n2d_d_s1.lo n2d_d_s2.lo n2d_d_s3.lo n2d_d_s4.lo n2d_d_s5.lo n2d_d_s6.lo \
+- n2e_d_f1.lo n2e_d_f2.lo n2e_d_f3.lo n2e_d_f4.lo n2e_d_f5.lo n2e_d_f6.lo \
+- n2e_d_n1.lo n2e_d_n2.lo n2e_d_n3.lo n2e_d_n4.lo n2e_d_n5.lo n2e_d_n6.lo \
+- n2e_d_s1.lo n2e_d_s2.lo n2e_d_s3.lo n2e_d_s4.lo n2e_d_s5.lo n2e_d_s6.lo
+-
+-.S.o:
+- $(CC) -c $<
+-
+-.S.lo:
+- $(LIBTOOL) --mode=compile $(CC) -c $<
+-
++libucl_la_SOURCES += \
++ cpuid.S crc_asm.S crcs_asm.S rdtsc.S rdtsca.S \
++ n2b_d_f1.S n2b_d_f2.S n2b_d_f3.S n2b_d_f4.S n2b_d_f5.S n2b_d_f6.S \
++ n2b_d_n1.S n2b_d_n2.S n2b_d_n3.S n2b_d_n4.S n2b_d_n5.S n2b_d_n6.S \
++ n2b_d_s1.S n2b_d_s2.S n2b_d_s3.S n2b_d_s4.S n2b_d_s5.S n2b_d_s6.S \
++ n2d_d_f1.S n2d_d_f2.S n2d_d_f3.S n2d_d_f4.S n2d_d_f5.S n2d_d_f6.S \
++ n2d_d_n1.S n2d_d_n2.S n2d_d_n3.S n2d_d_n4.S n2d_d_n5.S n2d_d_n6.S \
++ n2d_d_s1.S n2d_d_s2.S n2d_d_s3.S n2d_d_s4.S n2d_d_s5.S n2d_d_s6.S \
++ n2e_d_f1.S n2e_d_f2.S n2e_d_f3.S n2e_d_f4.S n2e_d_f5.S n2e_d_f6.S \
++ n2e_d_n1.S n2e_d_n2.S n2e_d_n3.S n2e_d_n4.S n2e_d_n5.S n2e_d_n6.S \
++ n2e_d_s1.S n2e_d_s2.S n2e_d_s3.S n2e_d_s4.S n2e_d_s5.S n2e_d_s6.S
+ endif
+-
diff --git a/dev-libs/ucl/files/ucl-1.03-x32.patch b/dev-libs/ucl/files/ucl-1.03-x32.patch
new file mode 100644
index 000000000000..ac8657880f31
--- /dev/null
+++ b/dev-libs/ucl/files/ucl-1.03-x32.patch
@@ -0,0 +1,173 @@
+port ucl to the x32 ABI
+
+https://bugs.gentoo.org/426334
+
+--- a/acc/acc_arch.h
++++ b/acc/acc_arch.h
+@@ -19,6 +19,7 @@
+ * ACC_ARCH_UNKNOWN [default]
+ * ACC_ARCH_ALPHA
+ * ACC_ARCH_AMD64 aka x86-64 or ia32e
++ * ACC_ARCH_X32 aka x86-32
+ * ACC_ARCH_C166
+ * ACC_ARCH_IA16 Intel Architecture (8088, 8086, 80186, 80286)
+ * ACC_ARCH_IA32 Intel Architecture (80386+)
+@@ -42,8 +43,13 @@
+ # define ACC_ARCH_IA16 1
+ # define ACC_INFO_ARCH "ia16"
+ #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
++# ifdef __ILP32__
++# define ACC_ARCH_X32 1
++# define ACC_INFO_ARCH "x32"
++# else
+ # define ACC_ARCH_AMD64 1
+ # define ACC_INFO_ARCH "amd64"
++# endif
+ #elif (UINT_MAX <= ACC_0xffffL) && defined(__AVR__)
+ # define ACC_ARCH_AVR 1
+ # define ACC_INFO_ARCH "avr"
+@@ -92,7 +98,7 @@
+ #endif
+
+
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA16 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA16 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ # define ACC_ENDIAN_LITTLE_ENDIAN 1
+ # define ACC_INFO_ENDIAN "little-endian"
+ #elif (ACC_ARCH_M68K)
+--- a/acc/acc_chk.ch
++++ b/acc/acc_chk.ch
+@@ -407,7 +407,7 @@
+ #if (ACC_ARCH_IA16)
+ ACCCHK_ASSERT(sizeof(size_t) == 2)
+ ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
+-#elif (ACC_ARCH_IA32 || ACC_ARCH_M68K)
++#elif (ACC_ARCH_IA32 || ACC_ARCH_M68K || ACC_ARCH_X32)
+ ACCCHK_ASSERT(sizeof(size_t) == 4)
+ ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
+ ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
+--- a/acc/acc_lib.h
++++ b/acc/acc_lib.h
+@@ -423,13 +423,13 @@ ACCLIB_EXTERN(void, acc_set_le64) (acc_hvoid_p, acc_uint64l_t);
+ #endif
+
+ /* inline versions */
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ # define ACC_GET_LE16(p) (* (const unsigned short *) (p))
+ # define ACC_GET_LE32(p) (* (const acc_uint32e_t *) (p))
+ # define ACC_SET_LE16(p,v) (* (unsigned short *) (p) = (unsigned short) (v))
+ # define ACC_SET_LE32(p,v) (* (acc_uint32e_t *) (p) = (acc_uint32e_t) (v))
+ #endif
+-#if (ACC_ARCH_AMD64)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
+ # define ACC_GET_LE64(p) (* (const acc_uint64l_t *) (p))
+ # define ACC_SET_LE64(p,v) (* (acc_uint64l_t *) (p) = (acc_uint64l_t) (v))
+ #endif
+--- a/acc/acclib/bele.ch
++++ b/acc/acclib/bele.ch
+@@ -71,7 +71,7 @@ ACCLIB_PUBLIC(void, acc_set_be32) (acc_hvoid_p p, acc_uint32l_t v)
+
+ ACCLIB_PUBLIC(unsigned, acc_get_le16) (const acc_hvoid_p p)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ return (* (const unsigned short *) (p));
+ #else
+ const acc_hbyte_p b = (const acc_hbyte_p) p;
+@@ -87,7 +87,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le24) (const acc_hvoid_p p)
+
+ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p p)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ return (* (const acc_uint32e_t *) (p));
+ #else
+ const acc_hbyte_p b = (const acc_hbyte_p) p;
+@@ -102,7 +102,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p p)
+
+ ACCLIB_PUBLIC(void, acc_set_le16) (acc_hvoid_p p, unsigned v)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ (* (unsigned short *) (p) = (unsigned short) (v));
+ #else
+ acc_hbyte_p b = (acc_hbyte_p) p;
+@@ -121,7 +121,7 @@ ACCLIB_PUBLIC(void, acc_set_le24) (acc_hvoid_p p, acc_uint32l_t v)
+
+ ACCLIB_PUBLIC(void, acc_set_le32) (acc_hvoid_p p, acc_uint32l_t v)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ (* (acc_uint32e_t *) (p) = (acc_uint32e_t) (v));
+ #else
+ acc_hbyte_p b = (acc_hbyte_p) p;
+@@ -191,7 +191,7 @@ ACCLIB_PUBLIC(void, acc_set_be64) (acc_hvoid_p p, acc_uint64l_t v)
+
+ ACCLIB_PUBLIC(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p p)
+ {
+-#if (ACC_ARCH_AMD64)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
+ return (* (const acc_uint64l_t *) (p));
+ #elif (ACC_ARCH_IA32)
+ const acc_uint32e_t* b = (const acc_uint32e_t*) p;
+@@ -211,7 +211,7 @@ ACCLIB_PUBLIC(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p p)
+
+ ACCLIB_PUBLIC(void, acc_set_le64) (acc_hvoid_p p, acc_uint64l_t v)
+ {
+-#if (ACC_ARCH_AMD64)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
+ (* (acc_uint64l_t *) (p)) = v;
+ #elif (ACC_ARCH_IA32)
+ (((acc_uint32e_t *)(p))[0] = (acc_uint32e_t) (v >> 0));
+--- a/acc/acclib/perfctr.ch
++++ b/acc/acclib/perfctr.ch
+@@ -63,7 +63,7 @@ ACCLIB_PUBLIC(int, acc_perfctr_open) (acc_perfctr_handle_p h)
+ break; /* no working TSC available */
+ case PERFCTR_X86_AMD_K7:
+ #endif
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ case PERFCTR_X86_AMD_K8:
+ case PERFCTR_X86_AMD_K8C:
+ cc->tsc_on = 1; cc->nractrs = 2;
+--- a/acc/acclib/rdtsc.ch
++++ b/acc/acclib/rdtsc.ch
+@@ -21,7 +21,7 @@
+ #if defined(acc_int32e_t)
+
+
+-#if ((ACC_ARCH_AMD64 || ACC_ARCH_IA32) && ACC_CC_GNUC)
++#if ((ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && ACC_CC_GNUC)
+ # if (ACC_CC_GNUC >= 0x020000ul)
+ # define __ACCLIB_RDTSC_REGS : : "r" (t) : "cc", "memory", "eax", "edx"
+ # else
+@@ -38,7 +38,7 @@
+
+ ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32) && defined(__ACCLIB_RDTSC_REGS)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && defined(__ACCLIB_RDTSC_REGS)
+ __asm__ __volatile__(
+ "clc \n" ".byte 0x0f, 0x31\n"
+ "movl %%eax,(%0)\n" "movl %%edx,4(%0)\n"
+@@ -73,7 +73,7 @@ ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
+
+ ACCLIB_PUBLIC(int, acc_tsc_read_add) (acc_uint32e_t* t)
+ {
+-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32) && defined(__ACCLIB_RDTSC_REGS)
++#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && defined(__ACCLIB_RDTSC_REGS)
+ __asm__ __volatile__(
+ "clc \n" ".byte 0x0f, 0x31\n"
+ "addl %%eax,(%0)\n" "adcl $0,%%edx\n" "addl %%edx,4(%0)\n"
+--- a/src/ucl_conf.h
++++ b/src/ucl_conf.h
+@@ -172,7 +172,7 @@
+ #undef UA_SET2
+ #undef UA_GET4
+ #undef UA_SET4
+-#if 1 && (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
++#if 1 && (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
+ # define UA_GET2(p) (* (const ucl_ushortp) (p))
+ # define UA_SET2(p) (* (ucl_ushortp) (p))
+ # define UA_GET4(p) (* (const acc_uint32e_t *) (p))
diff --git a/dev-libs/ucl/metadata.xml b/dev-libs/ucl/metadata.xml
new file mode 100644
index 000000000000..ff62877c67ae
--- /dev/null
+++ b/dev-libs/ucl/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/ucl/ucl-1.03-r1.ebuild b/dev-libs/ucl/ucl-1.03-r1.ebuild
new file mode 100644
index 000000000000..906fda7117a8
--- /dev/null
+++ b/dev-libs/ucl/ucl-1.03-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="the UCL Compression Library"
+HOMEPAGE="http://www.oberhumer.com/opensource/ucl/"
+SRC_URI="http://www.oberhumer.com/opensource/ucl/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-CFLAGS.patch
+ epatch "${FILESDIR}"/${P}-x32.patch #426334
+
+ # lzo (and ucl) have some weird sort of mfx_* set of autoconf macros
+ # which may only be distributed with lzo itself? Rescue them and
+ # place them into acinclude.m4 because there doesn't seem to be an
+ # m4/...
+ sed -n -e '/^AC_DEFUN.*mfx_/,/^])#$/p' aclocal.m4 > acinclude.m4 || die "Unable to rescue mfx_* autoconf macros."
+
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}