diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-apps/gawk | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-apps/gawk')
-rw-r--r-- | sys-apps/gawk/Manifest | 4 | ||||
-rw-r--r-- | sys-apps/gawk/files/filefuncs/Makefile | 57 | ||||
-rw-r--r-- | sys-apps/gawk/files/filefuncs/filefuncs.c | 485 | ||||
-rw-r--r-- | sys-apps/gawk/files/gawk-4.1.0-ports.patch | 189 | ||||
-rw-r--r-- | sys-apps/gawk/files/gawk-4.1.3-bsd_configure_readline.patch | 63 | ||||
-rw-r--r-- | sys-apps/gawk/gawk-3.1.8.ebuild | 78 | ||||
-rw-r--r-- | sys-apps/gawk/gawk-4.0.2.ebuild | 74 | ||||
-rw-r--r-- | sys-apps/gawk/gawk-4.1.2.ebuild | 74 | ||||
-rw-r--r-- | sys-apps/gawk/gawk-4.1.3.ebuild | 77 | ||||
-rw-r--r-- | sys-apps/gawk/metadata.xml | 8 |
10 files changed, 1109 insertions, 0 deletions
diff --git a/sys-apps/gawk/Manifest b/sys-apps/gawk/Manifest new file mode 100644 index 000000000000..aaeb0a1f6369 --- /dev/null +++ b/sys-apps/gawk/Manifest @@ -0,0 +1,4 @@ +DIST gawk-3.1.8.tar.bz2 1984129 SHA256 5dbc7b2c4c328711337c2aacd09a122c7313122262e3ff034590f014067412b4 SHA512 a8046c1a5a6ffc8bd90cc6062d97ba6301b7a707f4a34a06355a83aaaea2ccdf4c4476563fc6f444b529a2d8d3a2de2126b53434ba50aad8bd898fb3299904dd WHIRLPOOL e24079d7c2aee57e48db2ef76df4c217ea0fa435304a563c6df8d0442f8a5e5e4cff2141809f68430939d66a3a6eda981edefa94b2b8c85e5f0a3ee7ba8a7649 +DIST gawk-4.0.2.tar.xz 1626808 SHA256 21e1f28c51b5160f0a4bf1a735c6109b46a3bd6a43de808eabc21c17bb026d13 SHA512 069f68b6792521d94d4003764006ad8fbe9a17c60a88212629204d9a5eb3f662903fff6d91dd3c1834597b76c18f9d3231c93a033f456c59c0571ac13eb77b27 WHIRLPOOL 8b2916d964c5fa67a46c0a5fc39d424b03e6b39a3335ad796a224feb760528631199c1ec6ee2b6719bdc014ab190ddf38092211685020c92851d617e6ca08690 +DIST gawk-4.1.2.tar.xz 2279136 SHA256 ea8b53c5834ee27012fecba7273f97fca7104884975cf81ddae6f85c5581f481 SHA512 89aed50a4bd335bd6a3045b1b738c76788f3d8d5745153683c990f021e424c31d8a3b2599f8e57f18f64022d5d1b57f4766ccf1a7d2a1b9fb4b20dabdf099117 WHIRLPOOL 254900ce8ce9992551e89ed5ccf6ba9b0bdb8324643d0c84573404c59d3d756aa64de2d054194d424958f9aa4c52bd9b12ba6185ada0d39b38cd046e1192c336 +DIST gawk-4.1.3.tar.xz 2311268 SHA256 e3cf55e91e31ea2845f8338bedd91e40671fc30e4d82ea147d220e687abda625 SHA512 8b9470a1bba397353f10e4e652e8589a637a49e8235fb39ca7681ae662fd27cd140c193d0634179c800f99e19b0e49aef55dfa6612f9695ba80760a36936a1c3 WHIRLPOOL ddcd0f218a08c7d54beaaa28db3a965c57b1d394dd294f142970cbf3b4777a407bbb491b7442f9e4de0b7435167919e76b16f4c5ab28eb62758a3d44d11a49e1 diff --git a/sys-apps/gawk/files/filefuncs/Makefile b/sys-apps/gawk/files/filefuncs/Makefile new file mode 100644 index 000000000000..615ae02512ca --- /dev/null +++ b/sys-apps/gawk/files/filefuncs/Makefile @@ -0,0 +1,57 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# Author: Martin Schlemmer <azarah@gentoo.org> +# $Id$ + +CC ?= gcc +LD = $(CC) + +MAJORVER = 0 +MINORVER = 0.1 + +AWKINCDIR = /usr/include/awk +DESTDIR = + +TARGET = filefuncs +TARGET_LIB = $(TARGET).so.$(MAJORVER).$(MINORVER) + +LIBDIR = lib + +# Gentoo specific cruft, you like it dont ya idiot +ifdef D +DESTDIR = $(D) +endif +ifdef S +AWKINCDIR = $(S) +endif + +DOIT = yes +ifeq ($(USERLAND),Darwin) +DOIT = no +endif + +ifeq ($(DOIT),yes) + +all: $(TARGET_LIB) + +$(TARGET).o: $(TARGET).c + $(CC) $(CFLAGS) $(CPPFLAGS) -shared -Wall -DHAVE_CONFIG_H -c -O2 -fPIC -I$(AWKINCDIR) $^ + +$(TARGET_LIB): $(TARGET).o + $(LD) $(LDFLAGS) -o $@ -shared -Wl,-soname -Wl,$(TARGET).so.$(MAJORVER) $^ + +install: $(TARGET_LIB) + install -m 0755 -d $(DESTDIR)/$(LIBDIR)/rcscripts + install -m 0755 $(TARGET_LIB) $(DESTDIR)/$(LIBDIR)/rcscripts + ln -s $(TARGET_LIB) $(DESTDIR)/$(LIBDIR)/rcscripts/$(TARGET).so.$(MAJORVER) + ln -s $(TARGET_LIB) $(DESTDIR)/$(LIBDIR)/rcscripts/$(TARGET).so + +clean: + rm -f $(TARGET) + rm -f *.o *~ core + +else + +all install clean: + +endif diff --git a/sys-apps/gawk/files/filefuncs/filefuncs.c b/sys-apps/gawk/files/filefuncs/filefuncs.c new file mode 100644 index 000000000000..fcab2a62912d --- /dev/null +++ b/sys-apps/gawk/files/filefuncs/filefuncs.c @@ -0,0 +1,485 @@ +/* + * filefuncs.c - Builtin functions that provide initial minimal iterface + * to the file system. + * + * Arnold Robbins, update for 3.1, Mon Nov 23 12:53:39 EST 1998 + */ + +/* + * Copyright (C) 2001 the Free Software Foundation, Inc. + * + * This file is part of GAWK, the GNU implementation of the + * AWK Programming Language. + * + * GAWK is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GAWK is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +/* + * Copyright 1999-2004 Gentoo Foundation + * Distributed under the terms of the GNU General Public License v2 + * Author: Martin Schlemmer <azarah@gentoo.org>, Nov 2002 + * $Id$ + * + * Extended with: do_symlink() + * do_unlink() + * do_mkdir() + * do_rmdir() + * + * for use in the Gentoo rcscripts + * + */ + +#include "awk.h" + +#include <unistd.h> + +/* do_chdir --- provide dynamically loaded chdir() builtin for gawk */ + +static NODE * +do_chdir(tree) +NODE *tree; +{ + NODE *newdir; + int ret = -1; + + if (do_lint && tree->param_cnt > 1) + lintwarn("chdir: called with too many arguments"); + + newdir = get_argument(tree, 0); + if (newdir != NULL) { + (void) force_string(newdir); + ret = chdir(newdir->stptr); + if (ret < 0) + update_ERRNO(); + + free_temp(newdir); + } else if (do_lint) + lintwarn("chdir: called with no arguments"); + + + /* Set the return value */ + set_value(tmp_number((AWKNUM) ret)); + + /* Just to make the interpreter happy */ + return tmp_number((AWKNUM) 0); +} + +/* do_symlink --- provide dynamically loaded symlink() builtin for gawk */ + +static NODE * +do_symlink(tree) +NODE *tree; +{ + NODE *oldpath, *newpath; + int ret = -1; + + if (do_lint && tree->param_cnt > 2) + lintwarn("symlink: called with too many arguments"); + + oldpath = get_argument(tree, 0); + newpath = get_argument(tree, 1); + if ((oldpath != NULL) && (newpath)) { + (void) force_string(oldpath); + (void) force_string(newpath); + ret = symlink(oldpath->stptr, newpath->stptr); + if (ret < 0) + update_ERRNO(); + + free_temp(oldpath); + free_temp(newpath); + } else if (do_lint) + lintwarn("symlink: called with not enough arguments"); + + /* Set the return value */ + set_value(tmp_number((AWKNUM) ret)); + + /* Just to make the interpreter happy */ + return tmp_number((AWKNUM) 0); +} + +/* do_unlink --- provide dynamically loaded unlink() builtin for gawk */ + +static NODE * +do_unlink(tree) +NODE *tree; +{ + NODE *pathname; + int ret = -1; + + if (do_lint && tree->param_cnt > 1) + lintwarn("unlink: called with too many arguments"); + + pathname = get_argument(tree, 0); + if (pathname != NULL) { + (void) force_string(pathname); + ret = unlink(pathname->stptr); + if (ret < 0) + update_ERRNO(); + + free_temp(pathname); + } else if (do_lint) + lintwarn("unlink: called with no arguments"); + + /* Set the return value */ + set_value(tmp_number((AWKNUM) ret)); + + /* Just to make the interpreter happy */ + return tmp_number((AWKNUM) 0); +} + +/* do_mkdir --- provide dynamically loaded mkdir() builtin for gawk */ + +static NODE * +do_mkdir(tree) +NODE *tree; +{ + NODE *pathname, *mode; + int ret = -1; + + if (do_lint && tree->param_cnt > 2) + lintwarn("mkdir: called with too many arguments"); + + pathname = get_argument(tree, 0); + mode = get_argument(tree, 1); + if ((pathname != NULL) && (mode != NULL)) { + (void) force_string(pathname); + (void) force_number(mode); + ret = mkdir(pathname->stptr, mode->numbr); + if (ret < 0) + update_ERRNO(); + + free_temp(pathname); + free_temp(mode); + } else if (do_lint) + lintwarn("mkdir: called with not enough arguments"); + + /* Set the return value */ + set_value(tmp_number((AWKNUM) ret)); + + /* Just to make the interpreter happy */ + return tmp_number((AWKNUM) 0); +} + +/* do_rmdir --- provide dynamically loaded rmdir() builtin for gawk */ + +static NODE * +do_rmdir(tree) +NODE *tree; +{ + NODE *pathname; + int ret = -1; + + if (do_lint && tree->param_cnt > 1) + lintwarn("rmdir: called with too many arguments"); + + pathname = get_argument(tree, 0); + if (pathname != NULL) { + (void) force_string(pathname); + ret = rmdir(pathname->stptr); + if (ret < 0) + update_ERRNO(); + + free_temp(pathname); + } else if (do_lint) + lintwarn("rmdir: called with no arguments"); + + /* Set the return value */ + set_value(tmp_number((AWKNUM) ret)); + + /* Just to make the interpreter happy */ + return tmp_number((AWKNUM) 0); +} + +/* format_mode --- turn a stat mode field into something readable */ + +static char * +format_mode(fmode) +unsigned long fmode; +{ + static char outbuf[12]; + int i; + + strcpy(outbuf, "----------"); + /* first, get the file type */ + i = 0; + switch (fmode & S_IFMT) { +#ifdef S_IFSOCK + case S_IFSOCK: + outbuf[i] = 's'; + break; +#endif +#ifdef S_IFLNK + case S_IFLNK: + outbuf[i] = 'l'; + break; +#endif + case S_IFREG: + outbuf[i] = '-'; /* redundant */ + break; + case S_IFBLK: + outbuf[i] = 'b'; + break; + case S_IFDIR: + outbuf[i] = 'd'; + break; +#ifdef S_IFDOOR /* Solaris weirdness */ + case S_IFDOOR: + outbuf[i] = 'D'; + break; +#endif /* S_IFDOOR */ + case S_IFCHR: + outbuf[i] = 'c'; + break; +#ifdef S_IFIFO + case S_IFIFO: + outbuf[i] = 'p'; + break; +#endif + } + + i++; + if ((fmode & S_IRUSR) != 0) + outbuf[i] = 'r'; + i++; + if ((fmode & S_IWUSR) != 0) + outbuf[i] = 'w'; + i++; + if ((fmode & S_IXUSR) != 0) + outbuf[i] = 'x'; + i++; + + if ((fmode & S_IRGRP) != 0) + outbuf[i] = 'r'; + i++; + if ((fmode & S_IWGRP) != 0) + outbuf[i] = 'w'; + i++; + if ((fmode & S_IXGRP) != 0) + outbuf[i] = 'x'; + i++; + + if ((fmode & S_IROTH) != 0) + outbuf[i] = 'r'; + i++; + if ((fmode & S_IWOTH) != 0) + outbuf[i] = 'w'; + i++; + if ((fmode & S_IXOTH) != 0) + outbuf[i] = 'x'; + i++; + + outbuf[i] = '\0'; + + if ((fmode & S_ISUID) != 0) { + if (outbuf[3] == 'x') + outbuf[3] = 's'; + else + outbuf[3] = 'S'; + } + + /* setgid without execute == locking */ + if ((fmode & S_ISGID) != 0) { + if (outbuf[6] == 'x') + outbuf[6] = 's'; + else + outbuf[6] = 'l'; + } + + if ((fmode & S_ISVTX) != 0) { + if (outbuf[9] == 'x') + outbuf[9] = 't'; + else + outbuf[9] = 'T'; + } + + return outbuf; +} + +/* do_stat --- provide a stat() function for gawk */ + +static NODE * +do_stat(tree) +NODE *tree; +{ + NODE *file, *array; + struct stat sbuf; + int ret; + NODE **aptr; + char *pmode; /* printable mode */ + char *type = "unknown"; + + /* check arg count */ + if (tree->param_cnt != 2) + fatal( + "stat: called with incorrect number of arguments (%d), should be 2", + tree->param_cnt); + + /* directory is first arg, array to hold results is second */ + file = get_argument(tree, 0); + array = get_argument(tree, 1); + + /* empty out the array */ + assoc_clear(array); + + /* lstat the file, if error, set ERRNO and return */ + (void) force_string(file); + ret = lstat(file->stptr, & sbuf); + if (ret < 0) { + update_ERRNO(); + + set_value(tmp_number((AWKNUM) ret)); + + free_temp(file); + return tmp_number((AWKNUM) 0); + } + + /* fill in the array */ + aptr = assoc_lookup(array, tmp_string("name", 4), FALSE); + *aptr = dupnode(file); + + aptr = assoc_lookup(array, tmp_string("dev", 3), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_dev); + + aptr = assoc_lookup(array, tmp_string("ino", 3), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_ino); + + aptr = assoc_lookup(array, tmp_string("mode", 4), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_mode); + + aptr = assoc_lookup(array, tmp_string("nlink", 5), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_nlink); + + aptr = assoc_lookup(array, tmp_string("uid", 3), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_uid); + + aptr = assoc_lookup(array, tmp_string("gid", 3), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_gid); + + aptr = assoc_lookup(array, tmp_string("size", 4), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_size); + + aptr = assoc_lookup(array, tmp_string("blocks", 6), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_blocks); + + aptr = assoc_lookup(array, tmp_string("atime", 5), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_atime); + + aptr = assoc_lookup(array, tmp_string("mtime", 5), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_mtime); + + aptr = assoc_lookup(array, tmp_string("ctime", 5), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_ctime); + + /* for block and character devices, add rdev, major and minor numbers */ + if (S_ISBLK(sbuf.st_mode) || S_ISCHR(sbuf.st_mode)) { + aptr = assoc_lookup(array, tmp_string("rdev", 4), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_rdev); + + aptr = assoc_lookup(array, tmp_string("major", 5), FALSE); + *aptr = make_number((AWKNUM) major(sbuf.st_rdev)); + + aptr = assoc_lookup(array, tmp_string("minor", 5), FALSE); + *aptr = make_number((AWKNUM) minor(sbuf.st_rdev)); + } + +#ifdef HAVE_ST_BLKSIZE + aptr = assoc_lookup(array, tmp_string("blksize", 7), FALSE); + *aptr = make_number((AWKNUM) sbuf.st_blksize); +#endif /* HAVE_ST_BLKSIZE */ + + aptr = assoc_lookup(array, tmp_string("pmode", 5), FALSE); + pmode = format_mode(sbuf.st_mode); + *aptr = make_string(pmode, strlen(pmode)); + + /* for symbolic links, add a linkval field */ + if (S_ISLNK(sbuf.st_mode)) { + char buf[BUFSIZ*2]; + int linksize; + + linksize = readlink(file->stptr, buf, sizeof buf); + /* should make this smarter */ + if (linksize == sizeof(buf)) + fatal("size of symbolic link too big"); + buf[linksize] = '\0'; + + aptr = assoc_lookup(array, tmp_string("linkval", 7), FALSE); + *aptr = make_string(buf, linksize); + } + + /* add a type field */ + switch (sbuf.st_mode & S_IFMT) { +#ifdef S_IFSOCK + case S_IFSOCK: + type = "socket"; + break; +#endif +#ifdef S_IFLNK + case S_IFLNK: + type = "symlink"; + break; +#endif + case S_IFREG: + type = "file"; + break; + case S_IFBLK: + type = "blockdev"; + break; + case S_IFDIR: + type = "directory"; + break; +#ifdef S_IFDOOR + case S_IFDOOR: + type = "door"; + break; +#endif + case S_IFCHR: + type = "chardev"; + break; +#ifdef S_IFIFO + case S_IFIFO: + type = "fifo"; + break; +#endif + } + + aptr = assoc_lookup(array, tmp_string("type", 4), FALSE); + *aptr = make_string(type, strlen(type)); + + free_temp(file); + + /* Set the return value */ + set_value(tmp_number((AWKNUM) ret)); + + /* Just to make the interpreter happy */ + return tmp_number((AWKNUM) 0); +} + +/* dlload --- load new builtins in this library */ + +NODE * +dlload(tree, dl) +NODE *tree; +void *dl; +{ + make_builtin("chdir", do_chdir, 1); + make_builtin("symlink", do_symlink, 2); + make_builtin("unlink", do_unlink, 1); + make_builtin("mkdir", do_mkdir, 2); + make_builtin("rmdir", do_rmdir, 1); + make_builtin("stat", do_stat, 2); + + return tmp_number((AWKNUM) 0); +} + diff --git a/sys-apps/gawk/files/gawk-4.1.0-ports.patch b/sys-apps/gawk/files/gawk-4.1.0-ports.patch new file mode 100644 index 000000000000..9aba7e8a2df3 --- /dev/null +++ b/sys-apps/gawk/files/gawk-4.1.0-ports.patch @@ -0,0 +1,189 @@ +AIX port, bug#490266. + +This is from 2 upstream commits: + +http://git.savannah.gnu.org/cgit/gawk.git/commit/?h=gawk-4.1-stable&id=21c8b6d547b12942775d675ead2994992285c04c +http://git.savannah.gnu.org/cgit/gawk.git/commit/?h=gawk-4.1-stable&id=29e3ae329c550b884169b7db20775cd74b95b77a + +#diff --git a/extension/ChangeLog b/extension/ChangeLog +#index e01d6d1..4d1af22 100644 +#--- a/extension/ChangeLog +#+++ b/extension/ChangeLog +#@@ -1,3 +1,20 @@ +#+2013-10-23 Michael Haubenwallner <michael.haubenwallner@salomon.at> +#+ +#+ Fix portability for AIX. +#+ +#+ * inplace.c (_XOPEN_SOURCE): Define when not defined yet. +#+ (_XOPEN_SOURCE_EXTENDED): Ditto. Needs to define a number. +#+ +#+2013-06-10 Arnold D. Robbins <arnold@skeeve.com> +#+ +#+ * configure.ac (AC_HEADER_MAJOR): New macro added. +#+ Add check for limits.h header. +#+ * filefuncs.c: Add the right stuff to get the major/minor macros. +#+ * readdir.c: Add include of limits.h appropriately wrapped. +#+ +#+ Thanks to ICHII Takashi <ichii386@schweetheart.jp> for the reports +#+ and pointers. +#+ +# 2013-05-09 Arnold D. Robbins <arnold@skeeve.com> +# +# * 4.1.0: Release tar ball made. +#diff --git a/extension/configure.ac b/extension/configure.ac +#index 53ed588..3ad03ed 100644 +#--- a/extension/configure.ac +#+++ b/extension/configure.ac +#@@ -64,7 +64,8 @@ else +# AC_MSG_RESULT([no]) +# fi +# +#-AC_CHECK_HEADERS(dirent.h fnmatch.h time.h sys/time.h sys/select.h) +#+AC_HEADER_MAJOR +#+AC_CHECK_HEADERS(dirent.h fnmatch.h limits.h time.h sys/time.h sys/select.h) +# +# AC_CHECK_FUNCS(fdopendir fnmatch gettimeofday \ +# getdtablesize nanosleep select GetSystemTimeAsFileTime) +diff --git a/extension/configh.in b/extension/configh.in +index 9162ce4..02954ee 100644 +--- a/extension/configh.in ++++ b/extension/configh.in +@@ -66,6 +66,9 @@ + /* Define to 1 if you have the <inttypes.h> header file. */ + #undef HAVE_INTTYPES_H + ++/* Define to 1 if you have the <limits.h> header file. */ ++#undef HAVE_LIMITS_H ++ + /* Define to 1 if you have the <memory.h> header file. */ + #undef HAVE_MEMORY_H + +@@ -109,6 +112,14 @@ + */ + #undef LT_OBJDIR + ++/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>. ++ */ ++#undef MAJOR_IN_MKDEV ++ ++/* Define to 1 if `major', `minor', and `makedev' are declared in ++ <sysmacros.h>. */ ++#undef MAJOR_IN_SYSMACROS ++ + /* Name of package */ + #undef PACKAGE + +diff --git a/extension/configure b/extension/configure +index f848b9b..c3f8f1c 100755 +--- a/extension/configure ++++ b/extension/configure +@@ -13885,7 +13885,57 @@ else + $as_echo "no" >&6; } + fi + +-for ac_header in dirent.h fnmatch.h time.h sys/time.h sys/select.h ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5 ++$as_echo_n "checking whether sys/types.h defines makedev... " >&6; } ++if ${ac_cv_header_sys_types_h_makedev+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include <sys/types.h> ++int ++main () ++{ ++return makedev(0, 0); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_header_sys_types_h_makedev=yes ++else ++ ac_cv_header_sys_types_h_makedev=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5 ++$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; } ++ ++if test $ac_cv_header_sys_types_h_makedev = no; then ++ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : ++ ++$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h ++ ++fi ++ ++ ++ ++ if test $ac_cv_header_sys_mkdev_h = no; then ++ ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" ++if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : ++ ++$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h ++ ++fi ++ ++ ++ fi ++fi ++ ++for ac_header in dirent.h fnmatch.h limits.h time.h sys/time.h sys/select.h + do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` + ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +diff --git a/extension/filefuncs.c b/extension/filefuncs.c +index 1e8fc8d..9e637aa 100644 +--- a/extension/filefuncs.c ++++ b/extension/filefuncs.c +@@ -46,6 +46,12 @@ + #include <sys/types.h> + #include <sys/stat.h> + ++#ifdef MAJOR_IN_MKDEV ++#include <sys/mkdev.h> ++#elif defined(MAJOR_IN_SYSMACROS) ++#include <sys/sysmacros.h> ++#endif ++ + #include "gawkapi.h" + + #include "gettext.h" +diff --git a/extension/inplace.c b/extension/inplace.c +index ded4746..69d452a 100644 +--- a/extension/inplace.c ++++ b/extension/inplace.c +@@ -27,8 +27,12 @@ + #include <config.h> + #endif + +-#define _XOPEN_SOURCE +-#define _XOPEN_SOURCE_EXTENDED ++#ifndef _XOPEN_SOURCE ++# define _XOPEN_SOURCE ++#endif ++#ifndef _XOPEN_SOURCE_EXTENDED ++# define _XOPEN_SOURCE_EXTENDED 1 ++#endif + + #include <stdio.h> + #include <assert.h> +diff --git a/extension/readdir.c b/extension/readdir.c +index 5ca4dc6..c2a626a 100644 +--- a/extension/readdir.c ++++ b/extension/readdir.c +@@ -44,6 +44,10 @@ + #include <sys/types.h> + #include <sys/stat.h> + ++#ifdef HAVE_LIMITS_H ++#include <limits.h> ++#endif ++ + #ifdef HAVE_DIRENT_H + #include <dirent.h> + #else diff --git a/sys-apps/gawk/files/gawk-4.1.3-bsd_configure_readline.patch b/sys-apps/gawk/files/gawk-4.1.3-bsd_configure_readline.patch new file mode 100644 index 000000000000..3bd267efd179 --- /dev/null +++ b/sys-apps/gawk/files/gawk-4.1.3-bsd_configure_readline.patch @@ -0,0 +1,63 @@ +http://git.savannah.gnu.org/cgit/gawk.git/commit/?id=ac0ef52fe407b89c7968b927c7b2b513cc13963a + +--- gawk-4.1.3/configure 2015-05-19 15:38:35.000000000 +0200 ++++ gawk-4.1.3/configure 2015-05-19 15:38:35.000000000 +0200 +@@ -10825,7 +10825,46 @@ + + if test $_found_readline = yes ; then + case $host_os in +- *bsd* ) _combo="$_combo -ltermcap" ++ *bsd* ) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 ++$as_echo_n "checking for tgetent in -ltermcap... " >&6; } ++if ${ac_cv_lib_termcap_tgetent+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-ltermcap $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char tgetent (); ++int ++main () ++{ ++return tgetent (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_termcap_tgetent=yes ++else ++ ac_cv_lib_termcap_tgetent=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5 ++$as_echo "$ac_cv_lib_termcap_tgetent" >&6; } ++if test "x$ac_cv_lib_termcap_tgetent" = xyes; then : ++ _combo="$_combo -ltermcap" ++fi ++ + ;; + esac + +--- gawk-4.1.3/m4/readline.m4 2015-04-05 12:19:19.000000000 +0200 ++++ gawk-4.1.3/m4/readline.m4 2015-04-05 12:19:19.000000000 +0200 +@@ -92,7 +92,7 @@ + + if test $_found_readline = yes ; then + case $host_os in +- *bsd* ) _combo="$_combo -ltermcap" ++ *bsd* ) AC_CHECK_LIB(termcap, tgetent, _combo="$_combo -ltermcap") + ;; + esac + AC_DEFINE(HAVE_LIBREADLINE,1, diff --git a/sys-apps/gawk/gawk-3.1.8.ebuild b/sys-apps/gawk/gawk-3.1.8.ebuild new file mode 100644 index 000000000000..3d75e9eb59a4 --- /dev/null +++ b/sys-apps/gawk/gawk-3.1.8.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils toolchain-funcs multilib + +DESCRIPTION="GNU awk pattern-matching language" +HOMEPAGE="http://www.gnu.org/software/gawk/gawk.html" +SRC_URI="mirror://gnu/gawk/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" +IUSE="nls" + +RDEPEND="!>=virtual/awk-1" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext )" + +SFFS=${WORKDIR}/filefuncs + +src_unpack() { + unpack ${A} + + # Copy filefuncs module's source over ... + cp -r "${FILESDIR}"/filefuncs "${SFFS}" || die "cp failed" +} + +src_prepare() { + # use symlinks rather than hardlinks, and disable version links + sed -i \ + -e '/^LN =/s:=.*:= $(LN_S):' \ + -e '/install-exec-hook:/s|$|\nfoo:|' \ + Makefile.in doc/Makefile.in +} + +src_configure() { + export ac_cv_libsigsegv=no + econf \ + --libexec='$(libdir)/misc' \ + $(use_enable nls) \ + --enable-switch +} + +src_compile() { + emake || die + emake -C "${SFFS}" CC="$(tc-getCC)" || die "filefuncs emake failed" +} + +src_install() { + emake install DESTDIR="${D}" || die + emake -C "${SFFS}" LIBDIR="$(get_libdir)" install || die + + # Keep important gawk in /bin + if use userland_GNU ; then + dodir /bin + mv "${D}"/usr/bin/gawk "${D}"/bin/ || die + dosym /bin/gawk /usr/bin/gawk + + # Provide canonical `awk` + dosym gawk /bin/awk + dosym gawk /usr/bin/awk + dosym gawk.1 /usr/share/man/man1/awk.1 + fi + + # Install headers + insinto /usr/include/awk + doins *.h || die + # We do not want 'acconfig.h' in there ... + rm -f "${D}"/usr/include/awk/acconfig.h + + dodoc AUTHORS ChangeLog FUTURES LIMITATIONS NEWS PROBLEMS POSIX.STD README README_d/*.* + for x in */ChangeLog ; do + newdoc ${x} ${x##*/}.${x%%/*} + done +} diff --git a/sys-apps/gawk/gawk-4.0.2.ebuild b/sys-apps/gawk/gawk-4.0.2.ebuild new file mode 100644 index 000000000000..0440ee376106 --- /dev/null +++ b/sys-apps/gawk/gawk-4.0.2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils toolchain-funcs multilib + +DESCRIPTION="GNU awk pattern-matching language" +HOMEPAGE="http://www.gnu.org/software/gawk/gawk.html" +SRC_URI="mirror://gnu/gawk/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="nls readline" + +# older gawk's provided shared lib for baselayout-1 +RDEPEND="!<sys-apps/baselayout-2.0.1 + readline? ( sys-libs/readline )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext )" + +src_prepare() { + # use symlinks rather than hardlinks, and disable version links + sed -i \ + -e '/^LN =/s:=.*:= $(LN_S):' \ + -e '/install-exec-hook:/s|$|\nfoo:|' \ + Makefile.in doc/Makefile.in + sed -i '/^pty1:$/s|$|\n_pty1:|' test/Makefile.in #413327 +} + +src_configure() { + export ac_cv_libsigsegv=no + econf \ + --libexec='$(libdir)/misc' \ + $(use_enable nls) \ + $(use_with readline) +} + +src_install() { + emake install DESTDIR="${D}" || die + + # Install headers + insinto /usr/include/awk + doins *.h || die + rm "${ED}"/usr/include/awk/config.h || die + + dodoc AUTHORS ChangeLog FUTURES LIMITATIONS NEWS PROBLEMS POSIX.STD README README_d/*.* + for x in */ChangeLog ; do + newdoc ${x} ${x##*/}.${x%%/*} + done +} + +pkg_postinst() { + # symlink creation here as the links do not belong to gawk, but to any awk + if has_version app-admin/eselect \ + && has_version app-eselect/eselect-awk ; then + eselect awk update ifunset + else + local l + for l in "${EROOT}"usr/share/man/man1/gawk.1* "${EROOT}"usr/bin/gawk; do + [[ -e ${l} && ! -e ${l/gawk/awk} ]] && ln -s "${l##*/}" "${l/gawk/awk}" + done + [[ ! -e ${EROOT}bin/awk ]] && ln -s "../usr/bin/gawk" "${EROOT}bin/awk" + fi +} + +pkg_postrm() { + if has_version app-admin/eselect \ + && has_version app-eselect/eselect-awk ; then + eselect awk update ifunset + fi +} diff --git a/sys-apps/gawk/gawk-4.1.2.ebuild b/sys-apps/gawk/gawk-4.1.2.ebuild new file mode 100644 index 000000000000..4a6de0e5adc2 --- /dev/null +++ b/sys-apps/gawk/gawk-4.1.2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils toolchain-funcs multilib + +DESCRIPTION="GNU awk pattern-matching language" +HOMEPAGE="http://www.gnu.org/software/gawk/gawk.html" +SRC_URI="mirror://gnu/gawk/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="mpfr nls readline" + +RDEPEND="mpfr? ( dev-libs/mpfr ) + readline? ( sys-libs/readline )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext )" + +src_prepare() { + # use symlinks rather than hardlinks, and disable version links + sed -i \ + -e '/^LN =/s:=.*:= $(LN_S):' \ + -e '/install-exec-hook:/s|$|\nfoo:|' \ + Makefile.in doc/Makefile.in || die + sed -i '/^pty1:$/s|$|\n_pty1:|' test/Makefile.in #413327 + # disable pointless build time hack that breaks cross-compiling #493362 + sed -i \ + -e '/check-recursive all-recursive: check-for-shared-lib-support/d' \ + extension/Makefile.in || die +} + +src_configure() { + export ac_cv_libsigsegv=no + econf \ + --libexec='$(libdir)/misc' \ + $(use_with mpfr) \ + $(use_enable nls) \ + $(use_with readline) +} + +src_install() { + rm -rf README_d # automatic dodocs barfs + default + + # Install headers + insinto /usr/include/awk + doins *.h || die + rm "${ED}"/usr/include/awk/config.h || die +} + +pkg_postinst() { + # symlink creation here as the links do not belong to gawk, but to any awk + if has_version app-admin/eselect \ + && has_version app-eselect/eselect-awk ; then + eselect awk update ifunset + else + local l + for l in "${EROOT}"usr/share/man/man1/gawk.1* "${EROOT}"usr/bin/gawk; do + [[ -e ${l} && ! -e ${l/gawk/awk} ]] && ln -s "${l##*/}" "${l/gawk/awk}" + done + [[ ! -e ${EROOT}bin/awk ]] && ln -s "../usr/bin/gawk" "${EROOT}bin/awk" + fi +} + +pkg_postrm() { + if has_version app-admin/eselect \ + && has_version app-eselect/eselect-awk ; then + eselect awk update ifunset + fi +} diff --git a/sys-apps/gawk/gawk-4.1.3.ebuild b/sys-apps/gawk/gawk-4.1.3.ebuild new file mode 100644 index 000000000000..262b1b8f64e4 --- /dev/null +++ b/sys-apps/gawk/gawk-4.1.3.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils toolchain-funcs multilib + +DESCRIPTION="GNU awk pattern-matching language" +HOMEPAGE="http://www.gnu.org/software/gawk/gawk.html" +SRC_URI="mirror://gnu/gawk/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="mpfr nls readline" + +RDEPEND="mpfr? ( dev-libs/mpfr:0= ) + readline? ( sys-libs/readline:0= )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext )" + +src_prepare() { + # use symlinks rather than hardlinks, and disable version links + sed -i \ + -e '/^LN =/s:=.*:= $(LN_S):' \ + -e '/install-exec-hook:/s|$|\nfoo:|' \ + Makefile.in doc/Makefile.in || die + sed -i '/^pty1:$/s|$|\n_pty1:|' test/Makefile.in #413327 + # disable pointless build time hack that breaks cross-compiling #493362 + sed -i \ + -e '/check-recursive all-recursive: check-for-shared-lib-support/d' \ + extension/Makefile.in || die + + EPATCH_OPTS="-Z" \ + epatch "${FILESDIR}/${P}-bsd_configure_readline.patch" #507468 +} + +src_configure() { + export ac_cv_libsigsegv=no + econf \ + --libexec='$(libdir)/misc' \ + $(use_with mpfr) \ + $(use_enable nls) \ + $(use_with readline) +} + +src_install() { + rm -rf README_d # automatic dodocs barfs + default + + # Install headers + insinto /usr/include/awk + doins *.h || die + rm "${ED}"/usr/include/awk/config.h || die +} + +pkg_postinst() { + # symlink creation here as the links do not belong to gawk, but to any awk + if has_version app-admin/eselect \ + && has_version app-eselect/eselect-awk ; then + eselect awk update ifunset + else + local l + for l in "${EROOT}"usr/share/man/man1/gawk.1* "${EROOT}"usr/bin/gawk; do + [[ -e ${l} && ! -e ${l/gawk/awk} ]] && ln -s "${l##*/}" "${l/gawk/awk}" + done + [[ ! -e ${EROOT}bin/awk ]] && ln -s "../usr/bin/gawk" "${EROOT}bin/awk" + fi +} + +pkg_postrm() { + if has_version app-admin/eselect \ + && has_version app-eselect/eselect-awk ; then + eselect awk update ifunset + fi +} diff --git a/sys-apps/gawk/metadata.xml b/sys-apps/gawk/metadata.xml new file mode 100644 index 000000000000..22beef61923b --- /dev/null +++ b/sys-apps/gawk/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>base-system</herd> +<use> + <flag name='mpfr'>use mpfr for high precision arithmetic (-M / --bignum)</flag> +</use> +</pkgmetadata> |