Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Sep 2016 07:52:27 +0000 (UTC)
From:      Bernard Spil <brnrd@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r421805 - in head/www/nghttp2: . files
Message-ID:  <201609110752.u8B7qRRl069116@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: brnrd
Date: Sun Sep 11 07:52:26 2016
New Revision: 421805
URL: https://svnweb.freebsd.org/changeset/ports/421805

Log:
  www/nghttp2: Update to 1.14.0
  
    - Update to 1.14.0
    - Switch USE_OPENSSL to USES= ssl
    - Add options for APPS and SPDY
    - Default no change (i.e. APPS and SPDY on)
    - Add rc-script for nghttpx
    - Add sample config for nghttpx
  
  PR:             211336, 211494, 211774
  Submitted by:   brnrd (211336, version update)
  Submitted by:   peter (211494, rc-script and sample config)
  Submitted by:   Robert Schulze <rs@bytecamp.net> (211774, APPS and SPDY options)
  Approved by:    Maintainer timeout

Added:
  head/www/nghttp2/files/
  head/www/nghttp2/files/nghttpx.conf.sample   (contents, props changed)
  head/www/nghttp2/files/nghttpx.in   (contents, props changed)
Modified:
  head/www/nghttp2/Makefile
  head/www/nghttp2/distinfo
  head/www/nghttp2/pkg-plist

Modified: head/www/nghttp2/Makefile
==============================================================================
--- head/www/nghttp2/Makefile	Sun Sep 11 07:14:10 2016	(r421804)
+++ head/www/nghttp2/Makefile	Sun Sep 11 07:52:26 2016	(r421805)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	nghttp2
-PORTVERSION=	1.11.1
+PORTVERSION=	1.14.0
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www net
 
@@ -12,23 +12,16 @@ COMMENT=	HTTP/2.0 C Library
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-BUILD_DEPENDS=	libev>=4.15:devel/libev \
-		libevent2>=2.0.8:devel/libevent2 \
-		spdylay>=1.3.0:www/spdylay
-LIB_DEPENDS=	libev.so:devel/libev \
-		libevent_openssl.so:devel/libevent2 \
-		libspdylay.so:www/spdylay
-
-OPTIONS_DEFINE=	ASIO DOCS HPACK
-OPTIONS_DEFAULT=HPACK
+OPTIONS_DEFINE=	APP SPDY ASIO DOCS HPACK
+OPTIONS_DEFAULT=APP HPACK SPDY
 OPTIONS_SUB=	yes
 
+USE_RC_SUBR=	nghttpx
+
 USE_GITHUB=	yes
 
 CONFIGURE_ARGS=	--disable-python-bindings \
-		--enable-app \
-		--enable-examples \
-		--with-spdylay
+		--disable-examples 
 CONFIGURE_ENV=	OPENSSL_CFLAGS="-I${OPENSSLINC}" \
 		OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto -lssl" \
 		ZLIB_CFLAGS="-I${INCLUDEDIR}" \
@@ -37,22 +30,34 @@ GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
 PATHFIX_MAKEFILEIN=	Makefile.am
 USE_CXXSTD=	c++11
-USE_GNOME=	libxml2
 USE_LDCONFIG=	yes
-USE_OPENSSL=	yes
-USES=		autoreconf compiler:c++11-lib gmake libtool localbase pathfix pkgconfig
+USES=		autoreconf compiler:c++11-lib gmake libtool localbase pathfix pkgconfig ssl
 
 PORTDATA=	fetch-ocsp-response
 PORTDOCS=	*
 
+APP_DESC=		Build nghttp, nghttpd, nghttpx, h2load
+APP_BUILD_DEPENDS=	libev>=4.15:devel/libev
+APP_LIB_DEPENDS=	libev.so:devel/libev
+APP_CONFIGURE_ENABLE=	app
+APP_USE=		GNOME=libxml2
+APP_CONFIGURE_OFF=	--without-libxml2
+
 ASIO_BUILD_DEPENDS=	boost-libs>=1.54.0:devel/boost-libs
 ASIO_CONFIGURE_OFF=	--with-boost=no
 ASIO_CONFIGURE_ON=	--enable-asio-lib --with-boost-asio --with-boost-system --with-boost-thread
 ASIO_LIB_DEPENDS=	libboost_thread.so:devel/boost-libs
 ASIO_RUN_DEPENDS=	boost-libs>=1.54.0:devel/boost-libs
+
 HPACK_CONFIGURE_ENABLE=	hpack-tools
 HPACK_LIB_DEPENDS=	libjansson.so:devel/jansson
 
+SPDY_DESC=		Enable SPDY in nghttpx and h2load
+SPDY_BUILD_DEPENDS=	spdylay>=1.3.0:www/spdylay
+SPDY_LIB_DEPENDS=	libspdylay.so:www/spdylay
+SPDY_IMPLIES=		APP
+SPDY_CONFIGURE_WITH=	spdylay
+
 .include <bsd.port.pre.mk>
 
 .if ${OSVERSION} <= 1000000
@@ -63,4 +68,8 @@ CPPFLAGS+=	-D_GLIBCXX_USE_C99
 CONFIGURE_ARGS+=--with-jemalloc
 .endif
 
+post-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/etc/nghttpx
+	${INSTALL_DATA} ${FILESDIR}/nghttpx.conf.sample ${STAGEDIR}${PREFIX}/etc/nghttpx/nghttpx.conf.sample
+
 .include <bsd.port.post.mk>

Modified: head/www/nghttp2/distinfo
==============================================================================
--- head/www/nghttp2/distinfo	Sun Sep 11 07:14:10 2016	(r421804)
+++ head/www/nghttp2/distinfo	Sun Sep 11 07:52:26 2016	(r421805)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1464481528
-SHA256 (nghttp2-nghttp2-v1.11.1_GH0.tar.gz) = 3c134ec8050c02b9b0aec93b9270f51f65800621bd336192f34c37fd34310962
-SIZE (nghttp2-nghttp2-v1.11.1_GH0.tar.gz) = 1630017
+TIMESTAMP = 1472326203
+SHA256 (nghttp2-nghttp2-v1.14.0_GH0.tar.gz) = 3a319de591eea09caa2bba3ce17ab403b58953c959aadae2053e0cf0189a7c47
+SIZE (nghttp2-nghttp2-v1.14.0_GH0.tar.gz) = 1670208

Added: head/www/nghttp2/files/nghttpx.conf.sample
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/nghttp2/files/nghttpx.conf.sample	Sun Sep 11 07:52:26 2016	(r421805)
@@ -0,0 +1,31 @@
+# $FreeBSD$
+# Sample config file for nghttpx in proxy forwarding mode.
+
+# See https://nghttp2.org/documentation/nghttpx.1.html for
+# an online reference.
+
+# Where to relay to, where to listen
+backend=127.0.0.1,80
+frontend=*,443
+
+# Provide the default SSL certificate file and private key
+# You should use a full chain certificate - your certificate
+# with any intermediates appended.
+private-key-file=/etc/ssl/mycert/privkey.pem
+certificate-file=/etc/ssl/mycert/fullchain.pem
+
+# Use subcert= to add extra certificates for SNI processing
+
+# Logs
+accesslog-file=/var/log/nghttpx-access.log
+errorlog-file=/var/log/nghttpx-error.log
+
+# Record where the requests came from
+strip-incoming-x-forwarded-for=yes
+add-x-forwarded-for=yes
+strip-incoming-forwarded=yes
+add-forwarded=by,for,host,proto
+
+# Don't hash forwarded-for stuff, use the actual information
+forwarded-by=ip
+forwarded-for=ip

Added: head/www/nghttp2/files/nghttpx.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/nghttp2/files/nghttpx.in	Sun Sep 11 07:52:26 2016	(r421805)
@@ -0,0 +1,47 @@
+#!/bin/sh
+# $FreeBSD$
+
+# PROVIDE: nghttpx
+# REQUIRE: LOGIN cleanvar
+# KEYWORD: shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable nghttpx:
+# nghttpx_enable (bool):	Set to "NO" by default.
+#				Set it to "YES" to enable nghttpx
+# nghttpx_flags (str):		Set to "" by default.
+#				Extra flags passed to start command.
+#				Use --user=foo here if you wish. Make sure
+#				fetch-ocsp-response can read the certificate files and
+#				log-file directives can write their files.
+
+. /etc/rc.subr
+
+name="nghttpx"
+rcvar=nghttpx_enable
+
+command="%%PREFIX%%/bin/nghttpx"
+reopenlogs_cmd="nghttpx_reopenlogs"
+extra_commands="reload reopenlogs"
+pidfile="/var/run/${name}.pid"
+sig_reload="USR2"		# exec-self reload; Note: future versions have SIGHUP to reload
+sig_stop="QUIT"			# graceful stop
+
+# read configuration and set defaults
+load_rc_config "$name"
+: ${nghttpx_enable="NO"}
+: ${nghttpx_configfile:=%%PREFIX%%/etc/nghttpx/${name}.conf}
+: ${nghttpx_env:="PATH=/bin:/usr/bin:%%PREFIX%%/bin"}	# Must include %%PREFIX%%/bin for python and fetch-ocsp-response
+
+required_files="$nghttpx_configfile"
+
+command_args="--conf ${nghttpx_configfile} --pid-file=${pidfile} --daemon"
+
+nghttpx_reopenlogs()
+{
+	echo "Reopening log files:"
+	sig_reload="USR1"
+	run_rc_command ${rc_prefix}reload $rc_extra_args || return 1
+}
+
+run_rc_command "$1"

Modified: head/www/nghttp2/pkg-plist
==============================================================================
--- head/www/nghttp2/pkg-plist	Sun Sep 11 07:14:10 2016	(r421804)
+++ head/www/nghttp2/pkg-plist	Sun Sep 11 07:52:26 2016	(r421805)
@@ -1,9 +1,10 @@
 %%HPACK%%bin/deflatehd
-bin/h2load
+%%APP%%bin/h2load
 %%HPACK%%bin/inflatehd
-bin/nghttp
-bin/nghttpd
-bin/nghttpx
+%%APP%%bin/nghttp
+%%APP%%bin/nghttpd
+%%APP%%bin/nghttpx
+@sample etc/nghttpx/nghttpx.conf.sample etc/nghttpx/nghttpx.conf
 %%ASIO%%include/nghttp2/asio_http2.h
 %%ASIO%%include/nghttp2/asio_http2_client.h
 %%ASIO%%include/nghttp2/asio_http2_server.h
@@ -12,14 +13,14 @@ include/nghttp2/nghttp2ver.h
 lib/libnghttp2.a
 lib/libnghttp2.so
 lib/libnghttp2.so.14
-lib/libnghttp2.so.14.8.0
+lib/libnghttp2.so.14.10.0
 %%ASIO%%lib/libnghttp2_asio.a
 %%ASIO%%lib/libnghttp2_asio.so
 %%ASIO%%lib/libnghttp2_asio.so.1
 %%ASIO%%lib/libnghttp2_asio.so.1.0.0
 libdata/pkgconfig/libnghttp2.pc
 %%ASIO%%libdata/pkgconfig/libnghttp2_asio.pc
-man/man1/h2load.1.gz
-man/man1/nghttp.1.gz
-man/man1/nghttpd.1.gz
-man/man1/nghttpx.1.gz
+%%APP%%man/man1/h2load.1.gz
+%%APP%%man/man1/nghttp.1.gz
+%%APP%%man/man1/nghttpd.1.gz
+%%APP%%man/man1/nghttpx.1.gz



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609110752.u8B7qRRl069116>