diff options
author | sunpoet <sunpoet@FreeBSD.org> | 2013-09-14 22:40:33 +0800 |
---|---|---|
committer | sunpoet <sunpoet@FreeBSD.org> | 2013-09-14 22:40:33 +0800 |
commit | 2d357d5567d8d535651b61ab1a7acfd165e441f9 (patch) | |
tree | 3c63b077d0b6e29f652336ef6d3ba9db81d53408 /security/ruby-tcpwrap | |
parent | d4a21dd670d631810223f17515eca0c8733aad76 (diff) | |
download | freebsd-ports-gnome-2d357d5567d8d535651b61ab1a7acfd165e441f9.tar.gz freebsd-ports-gnome-2d357d5567d8d535651b61ab1a7acfd165e441f9.tar.zst freebsd-ports-gnome-2d357d5567d8d535651b61ab1a7acfd165e441f9.zip |
- Fix build with ruby19 [1]
- Remove DEPRECATED and EXPIRATION_DATE
- Convert to new LIB_DEPENDS format
- Convert to new options framework
- Simplify DOC_EN and DOC_JA installation
Obtained from: NetBSD [1]
Diffstat (limited to 'security/ruby-tcpwrap')
-rw-r--r-- | security/ruby-tcpwrap/Makefile | 25 | ||||
-rw-r--r-- | security/ruby-tcpwrap/files/patch-tcpwrap.c | 73 |
2 files changed, 82 insertions, 16 deletions
diff --git a/security/ruby-tcpwrap/Makefile b/security/ruby-tcpwrap/Makefile index 4bcb31abaed7..9fe037c041f6 100644 --- a/security/ruby-tcpwrap/Makefile +++ b/security/ruby-tcpwrap/Makefile @@ -13,16 +13,15 @@ DIST_SUBDIR= ruby MAINTAINER= ruby@FreeBSD.org COMMENT= TCP wrappers library for Ruby -DEPRECATED= Does not work with Ruby 1.9 -EXPIRATION_DATE= 2013-05-02 +LIB_DEPENDS= libident.so:${PORTSDIR}/security/libident -LIB_DEPENDS= ident.0:${PORTSDIR}/security/libident +OPTIONS_DEFINE= DOCS USE_RUBY= yes USE_RUBY_EXTCONF= yes WRKSRC= ${WRKDIR}/ruby-${PORTNAME} -CONFIGURE_ARGS= --with-libwrap-dir="/usr" \ +CONFIGURE_ARGS= --with-libwrap-dir=/usr \ --with-ident-dir="${LOCALBASE}" INSTALL_TARGET= site-install @@ -30,21 +29,15 @@ INSTALL_TARGET= site-install DOCS_EN= README.en doc/tcpwrap.html.en DOCS_JA= README.ja doc/tcpwrap.html.ja +.include <bsd.port.options.mk> + post-install: -.if !defined(NOPORTDOCS) +.if ${PORT_OPTIONS:MDOCS} ${MKDIR} ${RUBY_MODEXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/sample/echod.rb ${RUBY_MODEXAMPLESDIR}/ ${MKDIR} ${RUBY_MODDOCDIR}/ja -.for f in ${DOCS_EN} - ${INSTALL_DATA} ${WRKSRC}/${f} ${RUBY_MODDOCDIR}/ -.endfor -.for f in ${DOCS_JA} - ${INSTALL_DATA} ${WRKSRC}/${f} ${RUBY_MODDOCDIR}/ja/ -.endfor + cd ${WRKSRC}/ && ${INSTALL_DATA} ${DOCS_EN} ${RUBY_MODDOCDIR}/ + cd ${WRKSRC}/ && ${INSTALL_DATA} ${DOCS_JA} ${RUBY_MODDOCDIR}/ja/ .endif -.include <bsd.port.pre.mk> -.if ${RUBY_VER} == 1.9 -BROKEN= does not build with ruby 1.9 -.endif -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/security/ruby-tcpwrap/files/patch-tcpwrap.c b/security/ruby-tcpwrap/files/patch-tcpwrap.c new file mode 100644 index 000000000000..47d6b67625b0 --- /dev/null +++ b/security/ruby-tcpwrap/files/patch-tcpwrap.c @@ -0,0 +1,73 @@ +--- tcpwrap.c.orig 2003-08-20 03:30:10.000000000 +0000 ++++ tcpwrap.c +@@ -25,7 +25,12 @@ + */ + + #include "ruby.h" ++#ifdef HAVE_RUBY_IO_H /* Ruby 1.9 and later */ ++#include "ruby/io.h" ++#else /* Ruby 1.8.x */ + #include "rubyio.h" ++#define rb_io_stdio_file(iot) ((iot)->f) ++#endif + #include <sys/types.h> + #include <sys/socket.h> + #include <netinet/in.h> +@@ -101,7 +106,7 @@ static VALUE tcpd_accept(VALUE self) + tcp_wrapper_t *tcpd; + VALUE sock; + int sockfd; +- OpenFile *fptr; ++ rb_io_t *fptr; + struct sockaddr_storage addr; + char client_name[NI_MAXHOST] = STRING_UNKNOWN; + char client_addr[NI_MAXHOST] = STRING_UNKNOWN; +@@ -113,7 +118,7 @@ static VALUE tcpd_accept(VALUE self) + again: + sock = rb_funcall(tcpd->server, rb_intern("accept"), 0); + GetOpenFile(sock, fptr); +- sockfd = fileno(fptr->f); ++ sockfd = fileno(rb_io_stdio_file(fptr)); + if (getpeername(sockfd, (struct sockaddr*) &addr, &len) < 0) + rb_sys_fail("getpeername(2)"); + error = getnameinfo((struct sockaddr*) &addr, len, +@@ -132,7 +137,7 @@ static VALUE tcpd_accept(VALUE self) + if (tcpd->ident_lookup) + client_user = ident_id(sockfd, tcpd->ident_timeout); + #endif +- if (!hosts_ctl(RSTRING(tcpd->daemon)->ptr, ++ if (!hosts_ctl(RSTRING_PTR(tcpd->daemon), + client_name, + client_addr, + (client_user == NULL) ? STRING_UNKNOWN : client_user)) { +@@ -156,8 +161,8 @@ tcpd_s_set_hosts_allow(VALUE self, VALUE + { + static char hosts_allow[MAXPATHLEN]; + +- Check_SafeStr(s); +- snprintf(hosts_allow, sizeof(hosts_allow), "%s", RSTRING(s)->ptr); ++ SafeStringValue(s); ++ snprintf(hosts_allow, sizeof(hosts_allow), "%s", RSTRING_PTR(s)); + if(access(hosts_allow, R_OK) < 0) + rb_warning("cannot read %s", hosts_allow); + hosts_allow_table = hosts_allow; +@@ -176,8 +181,8 @@ tcpd_s_set_hosts_deny(VALUE self, VALUE + { + static char hosts_deny[MAXPATHLEN]; + +- Check_SafeStr(s); +- snprintf(hosts_deny, sizeof(hosts_deny), "%s", RSTRING(s)->ptr); ++ SafeStringValue(s); ++ snprintf(hosts_deny, sizeof(hosts_deny), "%s", RSTRING_PTR(s)); + if(access(hosts_deny, R_OK) < 0) + rb_warning("cannot read %s", hosts_deny); + hosts_deny_table = hosts_deny; +@@ -196,7 +201,7 @@ str_to_ctlstr(VALUE s) + { + if(NIL_P(s)) return STRING_UNKNOWN; + Check_Type(s, T_STRING); +- return RSTRING(s)->ptr; ++ return RSTRING_PTR(s); + } + + static VALUE |