[149803] trunk/dports/devel/libedit
jmr at macports.org
jmr at macports.org
Thu Jun 30 02:02:15 PDT 2016
Revision: 149803
https://trac.macports.org/changeset/149803
Author: jmr at macports.org
Date: 2016-06-30 02:02:15 -0700 (Thu, 30 Jun 2016)
Log Message:
-----------
libedit: add a getline implementation for older systems
Modified Paths:
--------------
trunk/dports/devel/libedit/Portfile
Added Paths:
-----------
trunk/dports/devel/libedit/files/configure.patch
trunk/dports/devel/libedit/files/getline.c
trunk/dports/devel/libedit/files/src__Makefile.in.patch
Modified: trunk/dports/devel/libedit/Portfile
===================================================================
--- trunk/dports/devel/libedit/Portfile 2016-06-30 07:33:46 UTC (rev 149802)
+++ trunk/dports/devel/libedit/Portfile 2016-06-30 09:02:15 UTC (rev 149803)
@@ -25,8 +25,15 @@
depends_lib port:ncurses
-patchfiles doc__Makefile.in.patch src__sys.h.patch
+patchfiles doc__Makefile.in.patch \
+ src__Makefile.in.patch \
+ src__sys.h.patch \
+ configure.patch
+post-patch {
+ copy ${filespath}/getline.c ${worksrcpath}/src
+}
+
configure.args --disable-silent-rules --disable-examples
livecheck.type regex
Added: trunk/dports/devel/libedit/files/configure.patch
===================================================================
--- trunk/dports/devel/libedit/files/configure.patch (rev 0)
+++ trunk/dports/devel/libedit/files/configure.patch 2016-06-30 09:02:15 UTC (rev 149803)
@@ -0,0 +1,26 @@
+--- configure.orig 2016-06-18 22:35:29.000000000 +1000
++++ configure 2016-06-30 18:41:02.000000000 +1000
+@@ -13623,6 +13623,23 @@
+ fi
+
+
++# getline
++ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline"
++if test "x$ac_cv_func_getline" = xyes; then :
++ found_getline=yes
++else
++ found_getline=no
++fi
++
++ if test "x$found_getline" = xyes; then
++ HAVE_GETLINE_TRUE=
++ HAVE_GETLINE_FALSE='#'
++else
++ HAVE_GETLINE_TRUE='#'
++ HAVE_GETLINE_FALSE=
++fi
++
++
+ # vis
+ ac_fn_c_check_func "$LINENO" "vis" "ac_cv_func_vis"
+ if test "x$ac_cv_func_vis" = xyes; then :
Added: trunk/dports/devel/libedit/files/getline.c
===================================================================
--- trunk/dports/devel/libedit/files/getline.c (rev 0)
+++ trunk/dports/devel/libedit/files/getline.c 2016-06-30 09:02:15 UTC (rev 149803)
@@ -0,0 +1,60 @@
+/* CC0, from https://github.com/digilus/getline */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+#define GETLINE_MINSIZE 16
+ssize_t getline(char **lineptr, size_t *n, FILE *fp) {
+ int ch;
+ int i = 0;
+ char free_on_err = 0;
+ char *p;
+
+ errno = 0;
+ if (lineptr == NULL || n == NULL || fp == NULL) {
+ errno = EINVAL;
+ return -1;
+ }
+ if (*lineptr == NULL) {
+ *n = GETLINE_MINSIZE;
+ *lineptr = (char *)malloc( sizeof(char) * (*n));
+ if (*lineptr == NULL) {
+ errno = ENOMEM;
+ return -1;
+ }
+ free_on_err = 1;
+ }
+
+ for (i=0; ; i++) {
+ ch = fgetc(stream);
+ while (i >= (*n) - 2) {
+ *n *= 2;
+ p = realloc(*lineptr, sizeof(char) * (*n));
+ if (p == NULL) {
+ if (free_on_err)
+ free(*lineptr);
+ errno = ENOMEM;
+ return -1;
+ }
+ *lineptr = p;
+ }
+ if (ch == EOF) {
+ if (i == 0) {
+ if (free_on_err)
+ free(*lineptr);
+ return -1;
+ }
+ (*lineptr)[i] = '\0';
+ *n = i;
+ return i;
+ }
+
+ if (ch == '\n') {
+ (*lineptr)[i] = '\n';
+ (*lineptr)[i+1] = '\0';
+ *n = i+1;
+ return i+1;
+ }
+ (*lineptr)[i] = (char)ch;
+ }
+}
Added: trunk/dports/devel/libedit/files/src__Makefile.in.patch
===================================================================
--- trunk/dports/devel/libedit/files/src__Makefile.in.patch (rev 0)
+++ trunk/dports/devel/libedit/files/src__Makefile.in.patch 2016-06-30 09:02:15 UTC (rev 149803)
@@ -0,0 +1,34 @@
+--- src/Makefile.in.orig 2016-06-18 22:35:31.000000000 +1000
++++ src/Makefile.in 2016-06-30 18:37:25.000000000 +1000
+@@ -93,6 +93,7 @@
+ @HAVE_STRLCAT_FALSE at am__append_2 = strlcat.c
+ @HAVE_VIS_FALSE at am__append_3 = vis.c
+ @HAVE_UNVIS_FALSE at am__append_4 = unvis.c
++ at HAVE_GETLINE_FALSE@am__append_5 = getline.c
+ subdir = src
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+@@ -149,12 +150,13 @@
+ @HAVE_STRLCAT_FALSE at am__objects_2 = strlcat.lo
+ @HAVE_VIS_FALSE at am__objects_3 = vis.lo
+ @HAVE_UNVIS_FALSE at am__objects_4 = unvis.lo
++ at HAVE_GETLINE_FALSE@am__objects_6 = getline.lo
+ am_libedit_la_OBJECTS = chared.lo common.lo el.lo eln.lo emacs.lo \
+ hist.lo keymacro.lo map.lo chartype.lo parse.lo prompt.lo \
+ read.lo refresh.lo search.lo sig.lo terminal.lo tty.lo vi.lo \
+ wcsdup.lo tokenizer.lo tokenizern.lo history.lo historyn.lo \
+ filecomplete.lo readline.lo $(am__objects_1) $(am__objects_2) \
+- $(am__objects_3) $(am__objects_4)
++ $(am__objects_3) $(am__objects_4) $(am__objects_6)
+ am__objects_5 =
+ nodist_libedit_la_OBJECTS = $(am__objects_5)
+ libedit_la_OBJECTS = $(am_libedit_la_OBJECTS) \
+@@ -360,7 +362,7 @@
+ parse.h prompt.h read.h refresh.h search.h sig.h sys.h \
+ terminal.h tty.h vis.h filecomplete.h editline/readline.h \
+ $(am__append_1) $(am__append_2) $(am__append_3) \
+- $(am__append_4)
++ $(am__append_4) $(am__append_5)
+ EXTRA_DIST = makelist shlib_version
+ nobase_include_HEADERS = histedit.h editline/readline.h
+ nodist_libedit_la_SOURCES = $(BUILT_SOURCES)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160630/3f935cef/attachment.html>
More information about the macports-changes
mailing list