diff options
author | Sören Tempel <soeren+git@soeren-tempel.net> | 2016-08-28 23:33:59 +0200 |
---|---|---|
committer | Sören Tempel <soeren+git@soeren-tempel.net> | 2016-08-28 23:33:59 +0200 |
commit | b339507046ba955f1fa55752aeb371c2a1d203d2 (patch) | |
tree | 2275ba2e9a6c2ffb3c2cca7a8ca25ab6e35ee45c /unmaintained | |
parent | 4a89828778ec910031d919ffe52b27d66b8c62c2 (diff) | |
download | aports-b339507046ba955f1fa55752aeb371c2a1d203d2.tar.bz2 aports-b339507046ba955f1fa55752aeb371c2a1d203d2.tar.xz |
community/mmh: move from unmaintained
Also upgrade to 0.3 and cleanup a bit.
Diffstat (limited to 'unmaintained')
-rw-r--r-- | unmaintained/mmh/APKBUILD | 58 | ||||
-rw-r--r-- | unmaintained/mmh/musl-fixes.patch | 468 | ||||
-rw-r--r-- | unmaintained/mmh/symlinks.patch | 12 |
3 files changed, 0 insertions, 538 deletions
diff --git a/unmaintained/mmh/APKBUILD b/unmaintained/mmh/APKBUILD deleted file mode 100644 index 808e3f1d58..0000000000 --- a/unmaintained/mmh/APKBUILD +++ /dev/null @@ -1,58 +0,0 @@ -# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> -# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net> -pkgname=mmh -pkgver=0.2 -pkgrel=0 -pkgdesc="MUA for users who like the unix philosophy" -url="http://marmaro.de/prog/mmh/" -arch="all" -license="BSD" -depends="" -depends_dev="" -makedepends="ncurses-dev autoconf flex" -install="" -subpackages="$pkgname-doc" -source="http://marmaro.de/prog/${pkgname}/files/${pkgname}-${pkgver}.tar.gz - musl-fixes.patch - symlinks.patch" - -_builddir="$srcdir"/$pkgname-$pkgver -prepare() { - cd "$_builddir" - update_config_sub || return 1 - - local i= - for i in $source; do - case $i in - *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1 ;; - esac - done -} - -build() { - cd "$_builddir" - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc/$pkgname \ - --mandir=/usr/share/man \ - --localstatedir=/var \ - || return 1 - make || return 1 -} - -package() { - make DESTDIR="${pkgdir}" \ - -C "$_builddir" install || return 1 -} - -md5sums="f783e729a25cc3bbe4b856aca89b85b2 mmh-0.2.tar.gz -eb7946984ca385c6ad49e0f2ea5b2fa3 musl-fixes.patch -4351aef49407471609d1ab6047cafae2 symlinks.patch" -sha256sums="23a9f3bec1b43260b8a0b327825ce35b370ef19454585b3d4c8757599a7539ab mmh-0.2.tar.gz -a694cf2212787d7e924f61f23e276f92184cfb10fc38561deb88e532faec85ea musl-fixes.patch -bc91f0053297eeedb7dbffd5ca627cc6805f8b9987a4fd74c1eca5dee0a4666b symlinks.patch" -sha512sums="5fb38f94a8ff1b81e69af2d80f529796cb3c6685ece96f75a7c0f442a4b0d8ab2f21f7b97bcaf7fb7f1b1b29aff93750cbac33b370be20ff7f0730cf136893af mmh-0.2.tar.gz -a7a9df6c93cdc1fbd8c93b33eafa8f3749e56cc3bf10c97c18b6bf745fd2423b848aecd2334aa2c2531c0164ca558c592a44a3642c29436a9a7f159300ffc00b musl-fixes.patch -d6b92f582a15a2664f275b32e6ddf827fd0176e5e289a27bb210e9c58e02fa159bdf26c01f1227dad64ec5fb55ab5aac4b86246ba66ef46c656749be2a11842f symlinks.patch" diff --git a/unmaintained/mmh/musl-fixes.patch b/unmaintained/mmh/musl-fixes.patch deleted file mode 100644 index a1c0c8fe1c..0000000000 --- a/unmaintained/mmh/musl-fixes.patch +++ /dev/null @@ -1,468 +0,0 @@ -diff -upr mmh-0.2.orig/sbr/m_getfld.c mmh-0.2/sbr/m_getfld.c ---- mmh-0.2.orig/sbr/m_getfld.c 2015-12-21 03:36:00.060760463 +0100 -+++ mmh-0.2/sbr/m_getfld.c 2015-12-21 03:38:04.080205306 +0100 -@@ -149,26 +149,81 @@ static int edelimlen; - - static int (*eom_action)(int) = NULL; - --#ifdef _FSTDIO --# define _ptr _p /* Gag */ --# define _cnt _r /* Retch */ --# define _filbuf __srget /* Puke */ --# define DEFINED__FILBUF_TO_SOMETHING_SPECIFIC --#endif -- --#ifndef DEFINED__FILBUF_TO_SOMETHING_SPECIFIC --extern int _filbuf(FILE*); --#endif -+/* -+** This replaces the old approach, which included direct access to -+** stdio internals. It uses one fread() to load a buffer that we -+** manage. -+*/ -+#define MSG_INPUT_SIZE 8192 -+static struct m_getfld_buffer { -+ unsigned char msg_buf[2 * MSG_INPUT_SIZE]; -+ unsigned char *readpos; -+ unsigned char *end; /* One past the last character read in. */ -+} m; -+ -+static void -+setup_buffer(FILE *iob, struct m_getfld_buffer *m) -+{ -+ /* -+ ** Rely on Restrictions that m_getfld() calls on different file -+ ** streams are not interleaved, and no other file stream read -+ ** methods are used. And, the first call to m_getfld (), etc., on -+ ** a stream always reads at least 1 byte. -+ ** I don't think it's necessary to use ftello() because we just -+ ** need to determine whether the current offset is 0 or not. -+ */ -+ if (ftell(iob) == 0) { -+ /* A new file stream, so reset the buffer state. */ -+ m->readpos = m->end = m->msg_buf; -+ } -+} -+ -+static size_t -+read_more(struct m_getfld_buffer *m, FILE *iob) -+{ -+ size_t num_read; -+ -+ /* Move any leftover at the end of buf to the beginning. */ -+ if (m->end > m->readpos) { -+ memmove(m->msg_buf, m->readpos, m->end - m->readpos); -+ } -+ m->readpos = m->msg_buf + (m->end - m->readpos); -+ num_read = fread(m->readpos, 1, MSG_INPUT_SIZE, iob); -+ m->end = m->readpos + num_read; - -+ return num_read; -+} -+ -+static int -+Getc(FILE *iob) -+{ -+ if (m.end - m.readpos < 1) { -+ if (read_more(&m, iob) == 0) { -+ /* -+ ** Pretend that we read a character. -+ ** That's what stdio does. -+ */ -+ ++m.readpos; -+ return EOF; -+ } -+ } -+ return (m.readpos < m.end) ? *m.readpos++ : EOF; -+} -+ -+static int -+Ungetc(int c, FILE *iob) -+{ -+ return (m.readpos == m.msg_buf) ? EOF : (*--m.readpos = c); -+} - - int - m_getfld(int state, unsigned char *name, unsigned char *buf, - int bufsz, FILE *iob) - { - unsigned char *bp, *cp, *ep, *sp; -- int cnt, c, i, j; -+ int cnt, c, i, j, k; - -- if ((c = getc(iob)) < 0) { -+ if ((c = Getc(iob)) < 0) { - msg_count = 0; - *buf = 0; - return FILEEOF; -@@ -176,10 +231,10 @@ m_getfld(int state, unsigned char *name, - if (eom(c, iob)) { - if (! eom_action) { - /* flush null messages */ -- while ((c = getc(iob)) >= 0 && eom(c, iob)) -+ while ((c = Getc(iob)) >= 0 && eom(c, iob)) - ; - if (c >= 0) -- ungetc(c, iob); -+ Ungetc(c, iob); - } - msg_count = 0; - *buf = 0; -@@ -192,16 +247,16 @@ m_getfld(int state, unsigned char *name, - case FLD: - if (c == '\n' || c == '-') { - /* we hit the header/body separator */ -- while (c != '\n' && (c = getc(iob)) >= 0) -+ while (c != '\n' && (c = Getc(iob)) >= 0) - ; - -- if (c < 0 || (c = getc(iob)) < 0 || eom(c, iob)) { -+ if (c < 0 || (c = Getc(iob)) < 0 || eom(c, iob)) { - if (!eom_action) { - /* flush null messages */ -- while ((c = getc(iob)) >= 0 && eom(c, iob)) -+ while ((c = Getc(iob)) >= 0 && eom(c, iob)) - ; - if (c >= 0) -- ungetc(c, iob); -+ Ungetc(c, iob); - } - msg_count = 0; - *buf = 0; -@@ -218,47 +273,28 @@ m_getfld(int state, unsigned char *name, - cp = name; - i = NAMESZ - 1; - for (;;) { --#ifdef LINUX_STDIO -- bp = sp = (unsigned char *) iob->_IO_read_ptr - 1; -- j = (cnt = ((long) iob->_IO_read_end - -- (long) iob->_IO_read_ptr) + 1) < i ? cnt : i; --#elif defined(__DragonFly__) -- bp = sp = (unsigned char *) ((struct __FILE_public *)iob)->_p - 1; -- j = (cnt = ((struct __FILE_public *)iob)->_r+1) < i ? cnt : i; --#else -- bp = sp = (unsigned char *) iob->_ptr - 1; -- j = (cnt = iob->_cnt+1) < i ? cnt : i; --#endif -+ /* Store current pos, ungetting the last char. */ -+ bp = sp = (unsigned char *) m.readpos - 1; -+ j = ((cnt = m.end - m.readpos + 1) < i) ? cnt : i; -+ - while (--j >= 0 && (c = *bp++) != ':' && c != '\n') - *cp++ = c; - - j = bp - sp; - if ((cnt -= j) <= 0) { --#ifdef LINUX_STDIO -- iob->_IO_read_ptr = iob->_IO_read_end; -- if (__underflow(iob) == EOF) { --#elif defined(__DragonFly__) -- if (__srget(iob) == EOF) { --#else -- if (_filbuf(iob) == EOF) { --#endif -+ /* -+ ** Used to explicitly force refill of the -+ ** buffer here, but Getc() will do that -+ ** if necessary. -+ */ -+ if (Getc (iob) == EOF) { - *cp = *buf = 0; - advise(NULL, "eof encountered in field \"%s\"", name); - return FMTERR; - } --#ifdef LINUX_STDIO -- iob->_IO_read_ptr++; /* NOT automatic in __underflow()! */ --#endif - } else { --#ifdef LINUX_STDIO -- iob->_IO_read_ptr = bp + 1; --#elif defined(__DragonFly__) -- ((struct __FILE_public *)iob)->_p = bp + 1; -- ((struct __FILE_public *)iob)->_r = cnt - 1; --#else -- iob->_ptr = bp + 1; -- iob->_cnt = cnt - 1; --#endif -+ /* Restore the current offset. */ -+ m.readpos = bp + 1; - } - if (c == ':') - break; -@@ -312,7 +348,14 @@ m_getfld(int state, unsigned char *name, - ** that should be harmless enough, right? - ** This is a corrupt message anyway. - */ -- fseek(iob, ftell(iob) - 2, SEEK_SET); -+ /* emulates: fseek(iob, ftell(iob) -(-2 + cnt + 1), SEEK_SET) */ -+ m.readpos += cnt - 1; -+ /* -+ ** Reset file stream position so caller, -+ ** e.g., get_content, can use ftell(), etc. -+ */ -+ fseek(iob, -cnt - 1, SEEK_CUR); -+ - return BODY; - } - if ((i -= j) <= 0) { -@@ -336,16 +379,9 @@ m_getfld(int state, unsigned char *name, - */ - cp = buf; i = bufsz-1; - for (;;) { --#ifdef LINUX_STDIO -- cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr; -- bp = (unsigned char *) --iob->_IO_read_ptr; --#elif defined(__DragonFly__) -- cnt = ((struct __FILE_public *)iob)->_r++; -- bp = (unsigned char *) --((struct __FILE_public *)iob)->_p; --#else -- cnt = iob->_cnt++; -- bp = (unsigned char *) --iob->_ptr; --#endif -+ /* Set and save the current pos and update cnt. */ -+ cnt = m.end - m.readpos; -+ bp = --m.readpos; - c = cnt < i ? cnt : i; - while ((ep = locc( c, bp, '\n' ))) { - /* -@@ -353,21 +389,14 @@ m_getfld(int state, unsigned char *name, - ** return. - */ - if ((j = *++ep) != ' ' && j != '\t') { --#ifdef LINUX_STDIO -- j = ep - (unsigned char *) iob->_IO_read_ptr; -- memcpy(cp, iob->_IO_read_ptr, j); -- iob->_IO_read_ptr = ep; --#elif defined(__DragonFly__) -- j = ep - (unsigned char *) ((struct __FILE_public *)iob)->_p; -- memcpy(cp, ((struct __FILE_public *)iob)->_p, j); -- ((struct __FILE_public *)iob)->_p = ep; -- ((struct __FILE_public *)iob)->_r -= j; --#else -- j = ep - (unsigned char *) iob->_ptr; -- memcpy(cp, iob->_ptr, j); -- iob->_ptr = ep; -- iob->_cnt -= j; --#endif -+ /* -+ ** Save the text and update the -+ ** current position. -+ */ -+ j = ep - m.readpos; -+ memcpy (cp, m.readpos, j); -+ m.readpos = ep; -+ - cp += j; - state = FLD; - goto finish; -@@ -379,64 +408,33 @@ m_getfld(int state, unsigned char *name, - ** end of input or dest buffer - copy what - ** we've found. - */ --#ifdef LINUX_STDIO -- c += bp - (unsigned char *) iob->_IO_read_ptr; -- memcpy(cp, iob->_IO_read_ptr, c); --#elif defined(__DragonFly__) -- c += bp - (unsigned char *) ((struct __FILE_public *)iob)->_p; -- memcpy(cp, ((struct __FILE_public *)iob)->_p, c); --#else -- c += bp - (unsigned char *) iob->_ptr; -- memcpy(cp, iob->_ptr, c); --#endif -- i -= c; -- cp += c; -+ c += bp - m.readpos; -+ for (k = 0; k < c; ++k, --i) { -+ *cp++ = Getc (iob); -+ } - if (i <= 0) { - /* the dest buffer is full */ --#ifdef LINUX_STDIO -- iob->_IO_read_ptr += c; --#elif defined(__DragonFly__) -- ((struct __FILE_public *)iob)->_r -= c; -- ((struct __FILE_public *)iob)->_p += c; --#else -- iob->_cnt -= c; -- iob->_ptr += c; --#endif -- state = FLDPLUS; - break; - } - /* - ** There's one character left in the input -- ** buffer. Copy it & fill the buffer. -- ** If the last char was a newline and the -- ** next char is not whitespace, this is -- ** the end of the field. Otherwise loop. -+ ** buffer. Copy it & fill the buffer (that -+ ** fill used to be explicit, but now Getc() -+ ** does it). If the last char was a newline -+ ** and the next char is not whitespace, this -+ ** is the end of the field. Otherwise loop. - */ - --i; --#ifdef LINUX_STDIO -- *cp++ = j = *(iob->_IO_read_ptr + c); -- iob->_IO_read_ptr = iob->_IO_read_end; -- c = __underflow(iob); -- iob->_IO_read_ptr++; /* NOT automatic! */ --#elif defined(__DragonFly__) -- *cp++ =j = *(((struct __FILE_public *)iob)->_p + c); -- c = __srget(iob); --#else -- *cp++ = j = *(iob->_ptr + c); -- c = _filbuf(iob); --#endif -+ *cp++ = j = Getc(iob); -+ c = Getc(iob); - if (c == EOF || ((j == '\0' || j == '\n') - && c != ' ' && c != '\t')) { - if (c != EOF) { --#ifdef LINUX_STDIO -- --iob->_IO_read_ptr; --#elif defined(__DragonFly__) -- --((struct __FILE_public *)iob)->_p; -- ++((struct __FILE_public *)iob)->_r; --#else -- --iob->_ptr; -- ++iob->_cnt; --#endif -+ /* -+ ** Put the character back for -+ ** the next call. -+ */ -+ --m.readpos; - } - state = FLD; - break; -@@ -454,17 +452,10 @@ m_getfld(int state, unsigned char *name, - ** don't add an eos. - */ - i = (bufsz < 0) ? -bufsz : bufsz-1; --#ifdef LINUX_STDIO -- bp = (unsigned char *) --iob->_IO_read_ptr; -- cnt = (long) iob->_IO_read_end - (long) iob->_IO_read_ptr; --#elif defined(__DragonFly__) -- bp = (unsigned char *) --((struct __FILE_public *)iob)->_p; -- cnt = ++((struct __FILE_public *)iob)->_r; --#else -- bp = (unsigned char *) --iob->_ptr; -- cnt = ++iob->_cnt; --#endif -- c = (cnt < i ? cnt : i); -+ /* Back up and store the current position and update cnt. */ -+ bp = --m.readpos; -+ cnt = m.end - m.readpos; -+ c = (cnt < i) ? cnt : i; - if (ismbox && c > 1) { - /* - ** packed maildrop - only take up to the (possible) -@@ -547,15 +538,8 @@ m_getfld(int state, unsigned char *name, - } - } - memcpy( buf, bp, c ); --#ifdef LINUX_STDIO -- iob->_IO_read_ptr += c; --#elif defined(__DragonFly__) -- ((struct __FILE_public *)iob)->_r -= c; -- ((struct __FILE_public *)iob)->_p += c; --#else -- iob->_cnt -= c; -- iob->_ptr += c; --#endif -+ /* Advance the current position to reflect the copy out. */ -+ m.readpos += c; - if (bufsz < 0) { - msg_count = c; - return (state); -@@ -581,11 +565,13 @@ thisisanmbox(FILE *iob) - char *cp; - char *delimstr; - -- c = getc(iob); -+ setup_buffer(iob, &m); -+ -+ c = Getc(iob); - if (feof(iob)) { - return; - } -- ungetc(c, iob); -+ Ungetc(c, iob); - - /* - ** Figure out what the message delimitter string is for this -@@ -599,7 +585,12 @@ thisisanmbox(FILE *iob) - ** abort. - */ - -- if (fread(text, sizeof(*text), 5, iob) != 5) { -+ for (c=0, cp=text; c<5; ++c, ++cp) { -+ if ((*cp = Getc(iob)) == EOF) { -+ break; -+ } -+ } -+ if (c != 5) { - adios(EX_IOERR, NULL, "Read error"); - } - if (strncmp(text, "From ", 5)!=0) { -@@ -607,7 +598,7 @@ thisisanmbox(FILE *iob) - } - ismbox = TRUE; - delimstr = "\nFrom "; -- while ((c = getc(iob)) != '\n' && c >= 0) { -+ while ((c = Getc(iob)) != '\n' && c >= 0) { - continue; - } - c = strlen(delimstr); -@@ -630,8 +621,9 @@ thisisanmbox(FILE *iob) - */ - pat_map = (unsigned char **) mh_xcalloc(256, sizeof(unsigned char *)); - -- for (cp = (char *) fdelim + 1; cp < (char *) delimend; cp++ ) -+ for (cp = (char *) fdelim + 1; cp < (char *) delimend; cp++) { - pat_map[(unsigned char)*cp] = (unsigned char *) cp; -+ } - } - - -@@ -645,24 +637,31 @@ m_Eom(int c, FILE *iob) - long pos = 0L; - int i; - char text[10]; -+ char *cp; - -- pos = ftell(iob); -- if ((i = fread(text, sizeof *text, edelimlen, iob)) != edelimlen || -- (strncmp(text, (char *)edelim, edelimlen)!=0)) { -- if (i == 0 && ismbox) -+ pos = m.readpos; /* ftell */ -+ for (i=0, cp=text; i<edelimlen; ++i, ++cp) { -+ if ((*cp = Getc(iob)) == EOF) { -+ break; -+ } -+ } -+ -+ if (i != edelimlen || -+ (strncmp(text, (char *)edelim, edelimlen)!=0)) { -+ if (i == 0 && ismbox) { - /* - ** the final newline in the (brain damaged) unix-format - ** maildrop is part of the delimitter - delete it. - */ - return 1; -- -- fseek(iob, (long)(pos-1), SEEK_SET); -- getc(iob); /* should be OK */ -+ } -+ m.readpos = pos - 1; /* fseek(iob, pos - 1, SEEK_SET) */ -+ Getc(iob); /* should be OK */ - return 0; - } - - if (ismbox) { -- while ((c = getc(iob)) != '\n' && c >= 0) { -+ while ((c = Getc(iob)) != '\n' && c >= 0) { - continue; - } - } diff --git a/unmaintained/mmh/symlinks.patch b/unmaintained/mmh/symlinks.patch deleted file mode 100644 index f0679cc769..0000000000 --- a/unmaintained/mmh/symlinks.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -upr mmh-0.2.orig/uip/Makefile.in mmh-0.2/uip/Makefile.in ---- mmh-0.2.orig/uip/Makefile.in 2015-12-21 03:41:33.425934861 +0100 -+++ mmh-0.2/uip/Makefile.in 2015-12-21 03:42:09.715772415 +0100 -@@ -33,7 +33,7 @@ LEXLIB = @LEXLIB@ - - COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CFLAGS) - LINK = $(CC) $(LDFLAGS) -o $@ --LN = ln -+LN = ln -s - - INSTALL = @INSTALL@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ |