summaryrefslogtreecommitdiff
path: root/dev-libs/libmix
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libmix')
-rw-r--r--dev-libs/libmix/Manifest6
-rw-r--r--dev-libs/libmix/files/libmix-2.05-fix-pattern.patch12
-rw-r--r--dev-libs/libmix/files/libmix-2.05-gentoo-r1.patch287
-rw-r--r--dev-libs/libmix/files/libmix-2.05-libnet.patch27
-rw-r--r--dev-libs/libmix/libmix-2.05-r7.ebuild42
-rw-r--r--dev-libs/libmix/metadata.xml5
6 files changed, 379 insertions, 0 deletions
diff --git a/dev-libs/libmix/Manifest b/dev-libs/libmix/Manifest
new file mode 100644
index 000000000000..26362f1296e4
--- /dev/null
+++ b/dev-libs/libmix/Manifest
@@ -0,0 +1,6 @@
+AUX libmix-2.05-fix-pattern.patch 415 BLAKE2B 7a203b13fb8718ceccc8f173c08306bef060da2ad8539eff911b1b29f59529cf19a691e61dcefd1bf96531b3350832fcdc6574ade9b73fa01e4087963068ab15 SHA512 5b74e4a61126e9b5e7abc9ffeff116894ae84ed305bddcf21a2fe0d16e58776599f72e7b85b93845a45f48c877ecc63a3729c2932410c30683d48a96ef410c4b
+AUX libmix-2.05-gentoo-r1.patch 8328 BLAKE2B 56c32ae2f6d8c69a461c360bc8a2f73d642b9031ab216e296b99a89074883a057ec82cd9470dd145ee97a4d6e20d80ec4aebfead90c6cb4f53418aee9dbf48db SHA512 24043efc6a7ebdee97425e63e97bcd298d0e920604277bdcd176c22e20119cacd6ef33a296df815cd98ae327bd149003e3e34c33f939d96bee71be3bac79bf75
+AUX libmix-2.05-libnet.patch 509 BLAKE2B ab9f57a1f49750d32f77095824637a9588dd8234b90cc5fc906c29105c1df0547552488a38d54ffe48755b0a27e8a46b30fc4553ebead19ce2f806ca5006398e SHA512 3c5204728db7fdecadbd3149a4edb544dafadedffa7d8f1afe2e3290a378865f68ac1189eeab7a6e73176bb4af045f4049dfc75417c143a5aad705906c96b498
+DIST libmix-205.tgz 79860 BLAKE2B 35f2480c609ed62bb0f277cba38e325cb387acf250d78d6db81dcf83cdc8002be9482d834d14f3e026452b493f4794b0a9ffff42b5ba3cf15b1263fb5ebe59da SHA512 412a1506d15b5ff3fff7f32caf50dca9283c9d667e4bce40a20be45465fcfe72e177159f546d4b8059de94c107faf641d116621ea395bc0ddb91c2a1d77257ec
+EBUILD libmix-2.05-r7.ebuild 877 BLAKE2B 7cb9c116607fd72611e86c19e1ce959de7cabc3cb15ed674fed012ba848910868dffef0408c6c75c30b1e19856a27af686f8ae6abb62190358708b620962788b SHA512 c2adfa9597732fb7fac2d140bf04550d25dfb713fb2d585aa8b7b7e2799540aa3112842281a21d9a7d464767f033ca69e5f26091240a622771142011b1973abe
+MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84
diff --git a/dev-libs/libmix/files/libmix-2.05-fix-pattern.patch b/dev-libs/libmix/files/libmix-2.05-fix-pattern.patch
new file mode 100644
index 000000000000..58d978e96df6
--- /dev/null
+++ b/dev-libs/libmix/files/libmix-2.05-fix-pattern.patch
@@ -0,0 +1,12 @@
+diff -durp libmix-v2.05/misc/misc.c libmix-v2.05-fix-pattern/misc/misc.c
+--- libmix-v2.05/misc/misc.c 2002-05-19 09:51:23.000000000 +0100
++++ libmix-v2.05-fix-pattern/misc/misc.c 2007-08-25 22:48:14.000000000 +0100
+@@ -209,7 +209,7 @@ pattern(char *data, char **list)
+ {
+ int i = 0;
+
+- while (strcmp(list[i++], NULL) != 0)
++ while (list[i++] != NULL)
+ if (strstr(data, list[i]) != NULL)
+ return 1;
+
diff --git a/dev-libs/libmix/files/libmix-2.05-gentoo-r1.patch b/dev-libs/libmix/files/libmix-2.05-gentoo-r1.patch
new file mode 100644
index 000000000000..b7405cead6ba
--- /dev/null
+++ b/dev-libs/libmix/files/libmix-2.05-gentoo-r1.patch
@@ -0,0 +1,287 @@
+Fix install paths, respect user flags, build shared libs with -fPIC,
+make static libs optional, convert use "--with/without-net2" instead
+"--without-no-net2"
+
+http://bugs.gentoo.org/268444
+
+Thanks to Doktor Notor <notordoktor@gmail.com>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,16 +1,18 @@
+-INSTALL_INCLUDES_IN = /usr/include
+-INSTALL_LIBRARY_IN = /usr/lib
+-INSTALL_MANPAGE_IN = /usr/local/man
+-
+-# Compiler to produce C/C++ libraries with (autodetected)
+-GCC = @CCAUTO@
+-GPP = @CXAUTO@
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++libdir = @libdir@
++includedir = @includedir@
++mandir = @mandir@
++BUILD_STATIC = @BUILD_STATIC@
+
+ RANLIB = @RANLIB@
+ AR = @AR@
+ INSTALL = @INSTALL@
+
+ CFLAGS = @CFLAGS@
++CXXFLAGS = @CXXFLAGS@
++LDFLAGS = @LDFLAGS@
++CCOPTS = @CCOPTS@
+ CLIB = @CLIB@
+
+ AESOBJ = aes/aes.o aes/cast-256.o aes/mars.o aes/saferp.o aes/twofish.o aes/rijndael.o aes/md5.o
+@@ -21,120 +19,80 @@
+ NETOBJPP = net/net++.o net/net2++.o
+ MISCOBJPP = misc/misc++.o misc/exclude++.o
+
+-all: libmix.a libmix.so libmix++.a libmix++.so
++OBJS_C = $(AESOBJ) $(NETOBJ) $(MISCOBJ)
++OBJS_PP = $(AESOBJPP) $(NETOBJPP) $(MISCOBJPP)
++
++OBJS_C_A = $(OBJS_C:%.o=%.lo)
++OBJS_PP_A = $(OBJS_PP:%.o=%.lo)
++
++TARGETS = libmix.so libmix++.so
++ifdef BUILD_STATIC
++TARGETS += libmix.a libmix++.a
++endif
++
++all: $(TARGETS)
+ @echo ""
+ @echo Check the install location in the Makefile, and type 'make install'.
+ @echo You may also want to run './libtest' to see all functions work reliably.
+ @echo "Attention: libmix for C++ is now called libmix++[.so|.a]. The original libmix.[so|.a] name will be a plain C library."
+ @echo ""
+
+-libmix.so: mix/net.h ${AESOBJ} ${NETOBJ} ${MISCOBJ}
+- ${GCC} ${CFLAGS} -shared ${AESOBJ} ${NETOBJ} ${MISCOBJ} -o libmix.so ${CLIB}
++libmix.so: $(OBJS_C)
++ $(CC) $(CFLAGS) $(LDFLAGS) -shared $^ -o $@ -Wl,-soname,$@ $(CLIB)
+
+-libmix.a: mix/net.h ${AESOBJ} ${NETOBJ} ${MISCOBJ}
+- ${AR} -cr libmix.a ${AESOBJ} ${NETOBJ} ${MISCOBJ}
+- ${RANLIB} libmix.a
++libmix.a: $(OBJS_C_A)
++ $(AR) -cr $@ $^
++ $(RANLIB) $@
+
+-libmix++.so: mix/net.h ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP}
+- ${GPP} ${CFLAGS} -shared ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP} -o libmix++.so ${CLIB}
++libmix++.so: $(OBJS_PP)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $^ -o $@ -Wl,-soname,$@ $(CLIB)
+
+-libmix++.a: mix/net.h ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP}
+- ${AR} -cr libmix++.a ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP}
+- ${RANLIB} libmix++.a
++libmix++.a: $(OBJS_PP_A)
++ $(AR) -cr $@ $^
++ $(RANLIB) $@
+
+ libtest: libtest.o
+- ${GPP} ${CFLAGS} -static -I. -L. libtest++.o -o libtest -lmix++ @LIBS@ ${CLIB}
++ $(CXX) $(CXXFLAGS) $(CCOPTS) -static -I. -L. $^ -o $@ -lmix++ $(CLIB)
+
+ libtest.o:
+- ${GPP} ${CFLAGS} -c libtest.c -o libtest.o
+- ${GPP} ${CFLAGS} -c libtest.c -o libtest++.o
+-
+-aes/aes++.o:
+- ${GPP} ${CFLAGS} -c aes/aes.c -o aes/aes++.o
+-
+-aes/cast-256++.o:
+- ${GPP} ${CFLAGS} -c aes/cast-256.c -o aes/cast-256++.o
+-
+-aes/mars++.o:
+- ${GPP} ${CFLAGS} -c aes/mars.c -o aes/mars++.o
+-
+-aes/saferp++.o:
+- ${GPP} ${CFLAGS} -c aes/saferp.c -o aes/saferp++.o
+-
+-aes/twofish++.o:
+- ${GPP} ${CFLAGS} -c aes/twofish.c -o aes/twofish++.o
+-
+-aes/rijndael++.o:
+- ${GPP} ${CFLAGS} -c aes/rijndael.c -o aes/rijndael++.o
+-
+-aes/md5++.o:
+- ${GPP} ${CFLAGS} -c aes/md5.c -o aes/md5++.o
+-
+-net/net++.o:
+- ${GPP} ${CFLAGS} -c net/net.c -o net/net++.o
+-
+-net/net2++.o:
+- ${GPP} ${CFLAGS} -c net/net2.c -o net/net2++.o
+-
+-misc/misc++.o:
+- ${GPP} ${CFLAGS} -c misc/misc.c -o misc/misc++.o
+-
+-misc/exclude++.o:
+- ${GPP} ${CFLAGS} -c misc/exclude.c -o misc/exclude++.o
+-
+-aes/aes.o:
+- ${GCC} ${CFLAGS} -c aes/aes.c -o aes/aes.o
+-
+-aes/cast-256.o:
+- ${GCC} ${CFLAGS} -c aes/cast-256.c -o aes/cast-256.o
+-
+-aes/mars.o:
+- ${GCC} ${CFLAGS} -c aes/mars.c -o aes/mars.o
+-
+-aes/saferp.o:
+- ${GCC} ${CFLAGS} -c aes/saferp.c -o aes/saferp.o
+-
+-aes/twofish.o:
+- ${GCC} ${CFLAGS} -c aes/twofish.c -o aes/twofish.o
+-
+-aes/rijndael.o:
+- ${GCC} ${CFLAGS} -c aes/rijndael.c -o aes/rijndael.o
+-
+-aes/md5.o:
+- ${GCC} ${CFLAGS} -c aes/md5.c -o aes/md5.o
+-
+-net/net.o:
+- ${GCC} ${CFLAGS} -c net/net.c -o net/net.o
+-
+-net/net2.o:
+- ${GCC} ${CFLAGS} -c net/net2.c -o net/net2.o
++ $(CC) $(CCOPTS) $(CFLAGS) -c libtest.c -o libtest.o
++ $(CXX) $(CCOPTS) $(CXXFLAGS) -c libtest.c -o libtest++.o
+
+-misc/misc.o:
+- ${GCC} ${CFLAGS} -c misc/misc.c -o misc/misc.o
+
+-misc/exclude.o:
+- ${GCC} ${CFLAGS} -c misc/exclude.c -o misc/exclude.o
++%++.o: %.c
++ $(CXX) $(CCOPTS) $(CXXFLAGS) -fPIC -c $< -o $@
+
+-install: mix/mix.h mix/net.h mix/aes.h mix/misc.h libmix.so libmix.a
+- ${INSTALL} -d ${INSTALL_INCLUDES_IN}/mix/
+- ${INSTALL} -d ${INSTALL_LIBRARY_IN}/
+- ${INSTALL} -d ${INSTALL_MANPAGE_IN}/man3/
+- ${INSTALL} -m 0644 libmix.3 ${INSTALL_MANPAGE_IN}/man3/libmix.3
+- ${INSTALL} -m 0644 mix/misc.h ${INSTALL_INCLUDES_IN}/mix/misc.h
+- ${INSTALL} -m 0644 mix/net.h ${INSTALL_INCLUDES_IN}/mix/net.h
+- ${INSTALL} -m 0644 mix/aes.h ${INSTALL_INCLUDES_IN}/mix/aes.h
+- ${INSTALL} -m 0644 mix/mix.h ${INSTALL_INCLUDES_IN}/mix/mix.h
+- ${INSTALL} -m 0644 mix/lmconfig.h ${INSTALL_INCLUDES_IN}/mix/lmconfig.h
+- ${INSTALL} -m 0755 libmix.so ${INSTALL_LIBRARY_IN}/libmix.so
+- ${INSTALL} -m 0755 libmix.a ${INSTALL_LIBRARY_IN}/libmix.a
+- ${INSTALL} -m 0755 libmix++.so ${INSTALL_LIBRARY_IN}/libmix++.so
+- ${INSTALL} -m 0755 libmix++.a ${INSTALL_LIBRARY_IN}/libmix++.a
++%++.lo: %.c
++ $(CXX) $(CCOPTS) $(CXXFLAGS) -c $< -o $@
++
++%.o: %.c
++ $(CC) $(CCOPTS) $(CFLAGS) -fPIC -c $< -o $@
++
++%.lo: %.c
++ $(CC) $(CCOPTS) $(CFLAGS) -c $< -o $@
++
++install: mix/mix.h mix/net.h mix/aes.h mix/misc.h $(TARGETS)
++ ${INSTALL} -d $(DESTDIR)/$(includedir)/mix/
++ ${INSTALL} -d $(DESTDIR)/$(libdir)/
++ ${INSTALL} -d $(DESTDIR)/$(mandir)/man3/
++ ${INSTALL} -m 0644 libmix.3 $(DESTDIR)/$(mandir)/man3/libmix.3
++ ${INSTALL} -m 0644 mix/misc.h $(DESTDIR)/$(includedir)/mix/misc.h
++ ${INSTALL} -m 0644 mix/net.h $(DESTDIR)/$(includedir)/mix/net.h
++ ${INSTALL} -m 0644 mix/aes.h $(DESTDIR)/$(includedir)/mix/aes.h
++ ${INSTALL} -m 0644 mix/mix.h $(DESTDIR)/$(includedir)/mix/mix.h
++ ${INSTALL} -m 0644 mix/lmconfig.h $(DESTDIR)/$(includedir)/mix/lmconfig.h
++ ${INSTALL} -m 0755 libmix.so $(DESTDIR)/$(libdir)/libmix.so
++ ${INSTALL} -m 0755 libmix++.so $(DESTDIR)/$(libdir)/libmix++.so
++ifdef BUILD_STATIC
++ ${INSTALL} -m 0755 libmix.a $(DESTDIR)/$(libdir)/libmix.a
++ ${INSTALL} -m 0755 libmix++.a $(DESTDIR)/$(libdir)/libmix++.a
++endif
+ @echo ""
+ @echo "Installation complete."
+ @echo ""
+
+ uninstall:
+- rm -fr /usr/include/mix /usr/lib/libmix* /usr/local/man/man3/libmix.3
++ rm -fr $(includedir)/mix $(libdir)/libmix* $(mandir)/man3/libmix.3
+
+ cleanobj:
+ rm -f ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP} ${AESOBJ} ${NETOBJ} ${MISCOBJ} */core */*~ core *~ *.o libtest
+--- a/configure.in
++++ b/configure.in
+@@ -4,7 +4,6 @@
+ AC_CONFIG_HEADER(mix/lmconfig.h)
+
+ compileas="0"
+-net2="1"
+
+ dnl AC_ARG_WITH(libraries-as-c,
+ dnl [ --with-libraries-as-c Generate LibMix binaries with GCC ],
+@@ -24,30 +23,33 @@
+ dnl ]
+ dnl )
+
+-AC_ARG_WITH(no-net2,
+- [ --with-no-net2 Don't use net2 functions, don't require libnet/libpcap.],
+- [
+- if test "x$withval" != "$xno" ; then
+- net2="0"
+- fi
+- ]
+-)
++AC_ARG_WITH([net2],
++ AS_HELP_STRING([--with-net2], [Use net2 functions from libnet/libpcap.]))
++AS_IF([test "x$with_net2" = "xyes"], [
++ AC_DEFINE(LM_USE_NET2)
++ CLIB="-lnet-1.0 -lpcap"
++], [CLIB=""])
++
++AC_ARG_ENABLE([static],
++ AS_HELP_STRING([--enable-static], [Build static libs]))
++AS_IF([test "x$enable_static" = "xyes"], [
++ BUILD_STATIC=1
++ AC_SUBST(BUILD_STATIC)
++])
+
+ AC_PROG_CC
+ AC_MSG_CHECKING(accepted compiler flags)
+ if test $ac_cv_prog_gcc = yes; then
+- CCOPTS='-I. -Wall -O3 -funroll-loops -ansi -D_LIBMIX_'
++ CCOPTS='-I. -Wall -ansi -D_LIBMIX_'
+ AC_MSG_RESULT(GNU CC/ANSI (good))
+ else
+ CCOPTS='-I. -D_LIBMIX_'
+ AC_MSG_RESULT(crappy :P)
+ fi
+- CFLAGS="$CCOPTS"
+
+ AC_PROG_CXX
+
+ CXAUTO="null"
+-CLIB=""
+
+ CCAUTO=$CC
+ CXAUTO=$CXX
+@@ -60,10 +62,6 @@
+ dnl CXAUTO=$CXX
+ dnl fi
+
+-if test $net2 = "1"; then
+- AC_DEFINE(LM_USE_NET2)
+- CLIB="-lnet -lpcap"
+-fi
+
+ if test $CXAUTO = "null"; then
+ AC_MSG_ERROR( *** Please use either ./configure --with-libraries-as-c
+@@ -74,6 +72,11 @@
+ AC_SUBST(CXAUTO)
+ AC_SUBST(AR)
+ AC_SUBST(CLIB)
++AC_SUBST(LDFLAGS)
++AC_SUBST(libdir)
++AC_SUBST(mandir)
++AC_SUBST(includedir)
++AC_SUBST(CCOPTS)
+ AC_CHECK_PROGS(AR, ar, @true)
+ AC_PROG_RANLIB
+ AC_PROG_INSTALL
diff --git a/dev-libs/libmix/files/libmix-2.05-libnet.patch b/dev-libs/libmix/files/libmix-2.05-libnet.patch
new file mode 100644
index 000000000000..a9866e221580
--- /dev/null
+++ b/dev-libs/libmix/files/libmix-2.05-libnet.patch
@@ -0,0 +1,27 @@
+--- a/mix/net.h.in
++++ b/mix/net.h.in
+@@ -78,11 +78,11 @@
+ #endif
+ #ifdef __cplusplus
+ extern "C" {
+-#include <libnet.h>
++#include <libnet-1.0.h>
+ #include <pcap.h>
+ }
+ #else
+-#include <libnet.h>
++#include <libnet-1.0.h>
+ #include <pcap.h>
+ #endif
+
+--- a/net/net2.c
++++ b/net/net2.c
+@@ -260,7 +260,7 @@
+ lm_libpcap_init();
+
+ rawpacket = (unsigned char *)pcap_next(pcap_fd, &hdr);
+- (char *)rawpacket += pcap_l2offset;
++ *rawpacket += pcap_l2offset;
+
+ ih = (struct lmip *)rawpacket;
+ switch(ih->pro)
diff --git a/dev-libs/libmix/libmix-2.05-r7.ebuild b/dev-libs/libmix/libmix-2.05-r7.ebuild
new file mode 100644
index 000000000000..9d54fe56def6
--- /dev/null
+++ b/dev-libs/libmix/libmix-2.05-r7.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools base multilib toolchain-funcs
+
+DESCRIPTION="Programs Crypto/Network/Multipurpose Library"
+HOMEPAGE="http://mixter.void.ru/"
+SRC_URI="http://mixter.void.ru/${P/.}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="static-libs"
+
+S=${WORKDIR}/${PN}-v${PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-pattern.patch
+ "${FILESDIR}"/${P}-gentoo-r1.patch
+ "${FILESDIR}"/${P}-libnet.patch
+)
+
+DOCS=( CHANGES )
+
+src_prepare() {
+ base_src_prepare
+
+ sed -i \
+ -e 's/expf/libmix_expf/g' \
+ -e 's/logf/libmix_logf/g' \
+ aes/saferp.c || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC CXX
+ econf \
+ $(use_enable static-libs static) \
+ --without-net2
+}
diff --git a/dev-libs/libmix/metadata.xml b/dev-libs/libmix/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/dev-libs/libmix/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>