Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Jun 2020 19:29:15 +0000 (UTC)
From:      Alan Somers <asomers@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r539673 - in head/net: . nbdkit nbdkit/files
Message-ID:  <202006191929.05JJTF0m000833@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: asomers (src committer)
Date: Fri Jun 19 19:29:15 2020
New Revision: 539673
URL: https://svnweb.freebsd.org/changeset/ports/539673

Log:
  net/nbdkit: new port
  
  nbdkit is a toolkit for creating NBD servers
  
  Reviewed by:	lwhsu, rgrimes
  Approved by:	lwhsu (ports)
  Sponsored by:	Axcient
  Differential Revision:	https://reviews.freebsd.org/D25354

Added:
  head/net/nbdkit/
  head/net/nbdkit/Makefile   (contents, props changed)
  head/net/nbdkit/distinfo   (contents, props changed)
  head/net/nbdkit/files/
  head/net/nbdkit/files/patch-configure   (contents, props changed)
  head/net/nbdkit/files/patch-plugins_info_Makefile.in   (contents, props changed)
  head/net/nbdkit/files/patch-plugins_ssh_ssh.c   (contents, props changed)
  head/net/nbdkit/pkg-descr   (contents, props changed)
  head/net/nbdkit/pkg-plist   (contents, props changed)
Modified:
  head/net/Makefile

Modified: head/net/Makefile
==============================================================================
--- head/net/Makefile	Fri Jun 19 18:53:57 2020	(r539672)
+++ head/net/Makefile	Fri Jun 19 19:29:15 2020	(r539673)
@@ -476,6 +476,7 @@
     SUBDIR += nats-streaming-server
     SUBDIR += nats-top
     SUBDIR += nbd-server
+    SUBDIR += nbdkit
     SUBDIR += nc
     SUBDIR += ncp
     SUBDIR += ndisc6

Added: head/net/nbdkit/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/nbdkit/Makefile	Fri Jun 19 19:29:15 2020	(r539673)
@@ -0,0 +1,70 @@
+# $FreeBSD$
+
+PORTNAME=	nbdkit
+PORTVERSION=	1.20.2
+CATEGORIES=	net
+# XXX Although nbdkit uses github for its homepage, the release tarballs served
+# by github haven't been through autoconf.  So we must download the sources
+# from libguestfs.org instead.
+MASTER_SITES=	http://download.libguestfs.org/${PORTNAME}/${PORTVERSION:R}-stable/
+
+MAINTAINER=	asomers@FreeBSD.org
+COMMENT=	NBD server toolkit with stable ABI and permissive license
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	bash:shells/bash
+
+USES=	gmake libtool
+
+GNU_CONFIGURE=	yes
+INSTALL_TARGET=	install-strip
+TEST_TARGET=	check
+
+# Rust consumers will download the Rust plugin from crates.io
+CONFIGURE_ARGS+=	--disable-rust
+# These libraries does not exist on ports
+CONFIGURE_ARGS+=	--without-libnbd
+CONFIGURE_ARGS+=	--without-libguestfs
+# We could theoretically build these other plugins, if anybody cares to.
+CONFIGURE_ARGS+=	--disable-ocaml
+CONFIGURE_ARGS+=	--disable-tcl
+CONFIGURE_ARGS+=	--disable-lua
+CONFIGURE_ARGS+=	--disable-golang
+CONFIGURE_ARGS+=	--disable-vddk
+CONFIGURE_ARGS+=	--without-ext2
+CONFIGURE_ARGS+=	--without-iso
+CONFIGURE_ARGS+=	--without-linuxdisk
+USE_LDCONFIG=		yes
+
+OPTIONS_DEFINE=	CURL GNUTLS LIBVIRT LZMA MANPAGES PERL PYTHON RUBY SSH ZLIB
+GNUTLS_BUILD_DEPENDS=	gnutls>0:security/gnutls
+GNUTLS_RUN_DEPENDS=	gnutls>0:security/gnutls
+
+OPTIONS_DEFAULT=	GNUTLS MANPAGES
+OPTIONS_SUB=		yes
+
+CURL_BUILD_DEPENDS+=	curl:ftp/curl
+CURL_BUILD_DEPENDS+=	pkgconf:devel/pkgconf
+CURL_CONFIGURE_WITH=	curl
+CURL_RUN_DEPENDS+=	curl:ftp/curl
+LIBVIRT_CONFIGURE_WITH=	libvirt
+LIBVIRT_LIB_DEPENDS=	libvirt.so:devel/libvirt
+LZMA_BUILD_DEPENDS+=	pkgconf:devel/pkgconf
+LZMA_CONFIGURE_WITH=	liblzma
+LZMA_LIB_DEPENDS=	liblzma.so:archivers/lzmalib
+MANPAGES_USE+=		perl5=build
+MANPAGES_USES+=		perl5
+PERL_CONFIGURE_ENABLE=	perl
+PERL_USE+=		perl5
+PYTHON_CONFIGURE_ENABLE=	python
+PYTHON_USES+=		python:3.3+
+RUBY_CONFIGURE_ENABLE=	ruby
+RUBY_USE+=		ruby
+SSH_CONFIGURE_WITH=	ssh
+SSH_LIB_DEPENDS=	libssh.so:security/libssh
+ZLIB_BUILD_DEPENDS+=	pkgconf:devel/pkgconf
+ZLIB_CONFIGURE_WITH=	zlib
+
+.include <bsd.port.mk>

Added: head/net/nbdkit/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/nbdkit/distinfo	Fri Jun 19 19:29:15 2020	(r539673)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1592531771
+SHA256 (nbdkit-1.20.2.tar.gz) = b78a8b59e74284af6a34f8bcb97c42c5d8846dc59dc94a8f4538d8690953dd31
+SIZE (nbdkit-1.20.2.tar.gz) = 1783082

Added: head/net/nbdkit/files/patch-configure
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/nbdkit/files/patch-configure	Fri Jun 19 19:29:15 2020	(r539673)
@@ -0,0 +1,56 @@
+--- configure.orig	2020-05-02 09:04:50 UTC
++++ configure
+@@ -911,6 +911,7 @@ enable_largefile
+ enable_gcc_warnings
+ with_iconv
+ with_tls_priority
++with_linuxdisk
+ enable_valgrind
+ enable_libfuzzer
+ enable_plugins
+@@ -1645,6 +1646,7 @@ Optional Packages:
+                           compiler's sysroot if not specified).
+   --without-iconv         don't try to link against iconv [default=check]
+   --with-tls-priority     default TLS session priority string [default=NORMAL]
++  --without-linuxdisk     disable linuxdisk plugin [default=check]
+   --without-curl          disable curl plugin [default=check]
+   --without-ssh           disable ssh plugin [default=check]
+   --without-iso           disable iso plugin [default=check]
+@@ -18598,20 +18600,32 @@ done
+ 
+ fi
+ 
++
++# Check whether --with-linuxdisk was given.
++if test "${with_linuxdisk+set}" = set; then :
++  withval=$with_linuxdisk;
++else
++  with_linuxdisk=check
++fi
++
+ mke2fs_with_d=no
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mke2fs supporting the -d option" >&5
++if test "$with_linuxdisk" != "no"; then :
++
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mke2fs supporting the -d option" >&5
+ $as_echo_n "checking for mke2fs supporting the -d option... " >&6; }
+-if mke2fs -V >/dev/null 2>&1; then :
++    if mke2fs -V >/dev/null 2>&1; then :
+ 
+-    if LANG=C mke2fs -d 2>&1 | grep -sq "option requires an argument"; then :
++        if LANG=C mke2fs -d 2>&1 | grep -sq "option requires an argument"; then :
+ 
+-        mke2fs_with_d=yes
++            mke2fs_with_d=yes
+ 
+ fi
+ 
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $mke2fs_with_d" >&5
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $mke2fs_with_d" >&5
+ $as_echo "$mke2fs_with_d" >&6; }
++
++fi
+  if test "x$mke2fs_with_d" = "xyes"; then
+   HAVE_MKE2FS_WITH_D_TRUE=
+   HAVE_MKE2FS_WITH_D_FALSE='#'

Added: head/net/nbdkit/files/patch-plugins_info_Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/nbdkit/files/patch-plugins_info_Makefile.in	Fri Jun 19 19:29:15 2020	(r539673)
@@ -0,0 +1,14 @@
+--- plugins/info/Makefile.in.orig	2020-05-02 09:04:51 UTC
++++ plugins/info/Makefile.in
+@@ -499,7 +499,10 @@ nbdkit_info_plugin_la_CPPFLAGS = \
+ 	-I$(top_srcdir)/common/include \
+ 	$(NULL)
+ 
+-nbdkit_info_plugin_la_CFLAGS = $(WARNINGS_CFLAGS)
++nbdkit_info_plugin_la_CFLAGS = \
++	$(WARNINGS_CFLAGS) \
++	$(GNUTLS_CFLAGS)
++
+ nbdkit_info_plugin_la_LDFLAGS = \
+ 	-module -avoid-version -shared $(SHARED_LDFLAGS) \
+ 	-Wl,--version-script=$(top_srcdir)/plugins/plugins.syms \

Added: head/net/nbdkit/files/patch-plugins_ssh_ssh.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/nbdkit/files/patch-plugins_ssh_ssh.c	Fri Jun 19 19:29:15 2020	(r539673)
@@ -0,0 +1,10 @@
+--- plugins/ssh/ssh.c.orig	2020-06-18 20:38:31 UTC
++++ plugins/ssh/ssh.c
+@@ -30,6 +30,7 @@
+  * SUCH DAMAGE.
+  */
+ 
++#include <sys/stat.h>
+ #include <config.h>
+ 
+ #include <stdio.h>

Added: head/net/nbdkit/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/nbdkit/pkg-descr	Fri Jun 19 19:29:15 2020	(r539673)
@@ -0,0 +1,20 @@
+nbdkit is a toolkit for creating NBD servers.
+
+The key features are:
+
+ * Multithreaded NBD server written in C with good performance.
+
+ * Minimal dependencies for the basic server.
+
+ * Liberal license (BSD) allows nbdkit to be linked to proprietary
+   libraries or included in proprietary code.
+
+ * Well-documented, simple plugin API with a stable ABI guarantee.
+   Lets you export "unconventional" block devices easily.
+
+ * You can write plugins in C, Go, Lua, Perl, Python, OCaml, Ruby,
+   Rust, shell script or Tcl.
+
+ * Filters can be stacked in front of plugins to transform the output.
+
+WWW: https://github.com/libguestfs/nbdkit

Added: head/net/nbdkit/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/nbdkit/pkg-plist	Fri Jun 19 19:29:15 2020	(r539673)
@@ -0,0 +1,130 @@
+include/nbd-protocol.h
+include/nbdkit-common.h
+include/nbdkit-filter.h
+include/nbdkit-plugin.h
+include/nbdkit-version.h
+lib/nbdkit/filters/nbdkit-blocksize-filter.so
+lib/nbdkit/filters/nbdkit-cache-filter.so
+lib/nbdkit/filters/nbdkit-cacheextents-filter.so
+lib/nbdkit/filters/nbdkit-cow-filter.so
+lib/nbdkit/filters/nbdkit-delay-filter.so
+lib/nbdkit/filters/nbdkit-error-filter.so
+lib/nbdkit/filters/nbdkit-exitlast-filter.so
+lib/nbdkit/filters/nbdkit-extentlist-filter.so
+lib/nbdkit/filters/nbdkit-fua-filter.so
+lib/nbdkit/filters/nbdkit-ip-filter.so
+lib/nbdkit/filters/nbdkit-limit-filter.so
+lib/nbdkit/filters/nbdkit-log-filter.so
+lib/nbdkit/filters/nbdkit-nocache-filter.so
+lib/nbdkit/filters/nbdkit-noextents-filter.so
+lib/nbdkit/filters/nbdkit-nofilter-filter.so
+lib/nbdkit/filters/nbdkit-noparallel-filter.so
+lib/nbdkit/filters/nbdkit-nozero-filter.so
+lib/nbdkit/filters/nbdkit-offset-filter.so
+lib/nbdkit/filters/nbdkit-partition-filter.so
+lib/nbdkit/filters/nbdkit-rate-filter.so
+lib/nbdkit/filters/nbdkit-readahead-filter.so
+lib/nbdkit/filters/nbdkit-retry-filter.so
+lib/nbdkit/filters/nbdkit-stats-filter.so
+lib/nbdkit/filters/nbdkit-truncate-filter.so
+%%LZMA%%lib/nbdkit/filters/nbdkit-xz-filter.so
+%%CURL%%lib/nbdkit/plugins/nbdkit-curl-plugin.so
+lib/nbdkit/plugins/nbdkit-data-plugin.so
+lib/nbdkit/plugins/nbdkit-eval-plugin.so
+lib/nbdkit/plugins/nbdkit-example1-plugin.so
+lib/nbdkit/plugins/nbdkit-example2-plugin.so
+lib/nbdkit/plugins/nbdkit-example3-plugin.so
+%%PERL%%lib/nbdkit/plugins/nbdkit-example4-plugin
+lib/nbdkit/plugins/nbdkit-file-plugin.so
+lib/nbdkit/plugins/nbdkit-floppy-plugin.so
+lib/nbdkit/plugins/nbdkit-full-plugin.so
+%%ZLIB%%lib/nbdkit/plugins/nbdkit-gzip-plugin.so
+lib/nbdkit/plugins/nbdkit-info-plugin.so
+%%LIBVIRT%%lib/nbdkit/plugins/nbdkit-libvirt-plugin.so
+lib/nbdkit/plugins/nbdkit-memory-plugin.so
+lib/nbdkit/plugins/nbdkit-null-plugin.so
+lib/nbdkit/plugins/nbdkit-partitioning-plugin.so
+lib/nbdkit/plugins/nbdkit-pattern-plugin.so
+%%PERL%%lib/nbdkit/plugins/nbdkit-perl-plugin.so
+%%PYTHON%%lib/nbdkit/plugins/nbdkit-python-plugin.so
+lib/nbdkit/plugins/nbdkit-random-plugin.so
+lib/nbdkit/plugins/nbdkit-sh-plugin.so
+lib/nbdkit/plugins/nbdkit-split-plugin.so
+%%SSH%%lib/nbdkit/plugins/nbdkit-ssh-plugin.so
+lib/nbdkit/plugins/nbdkit-streaming-plugin.so
+%%PERL%%lib/nbdkit/plugins/nbdkit-tar-plugin
+lib/nbdkit/plugins/nbdkit-tmpdisk-plugin.so
+lib/nbdkit/plugins/nbdkit-zero-plugin.so
+libdata/pkgconfig/nbdkit.pc
+%%MANPAGES%%man/man1/nbdkit-blocksize-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-cache-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-cacheextents-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-captive.1.gz
+%%MANPAGES%%man/man1/nbdkit-cow-filter.1.gz
+%%MANPAGES%%%%CURL%%man/man1/nbdkit-curl-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-data-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-delay-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-error-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-eval-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-example1-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-example2-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-example3-plugin.1.gz
+%%MANPAGES%%%%PERL%%man/man1/nbdkit-example4-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-exitlast-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-extentlist-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-file-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-floppy-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-fua-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-full-plugin.1.gz
+%%MANPAGES%%%%ZLIB%%man/man1/nbdkit-gzip-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-info-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-ip-filter.1.gz
+%%MANPAGES%%%%LIBVIRT%%man/man1/nbdkit-libvirt-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-limit-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-log-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-loop.1.gz
+%%MANPAGES%%man/man1/nbdkit-memory-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-nocache-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-noextents-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-nofilter-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-noparallel-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-nozero-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-null-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-offset-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-partition-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-partitioning-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-pattern-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-probing.1.gz
+%%MANPAGES%%man/man1/nbdkit-protocol.1.gz
+%%MANPAGES%%man/man1/nbdkit-random-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-rate-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-readahead-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-release-notes-1.10.1.gz
+%%MANPAGES%%man/man1/nbdkit-release-notes-1.12.1.gz
+%%MANPAGES%%man/man1/nbdkit-release-notes-1.14.1.gz
+%%MANPAGES%%man/man1/nbdkit-release-notes-1.16.1.gz
+%%MANPAGES%%man/man1/nbdkit-release-notes-1.18.1.gz
+%%MANPAGES%%man/man1/nbdkit-release-notes-1.20.1.gz
+%%MANPAGES%%man/man1/nbdkit-release-notes-1.4.1.gz
+%%MANPAGES%%man/man1/nbdkit-release-notes-1.6.1.gz
+%%MANPAGES%%man/man1/nbdkit-release-notes-1.8.1.gz
+%%MANPAGES%%man/man1/nbdkit-retry-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-security.1.gz
+%%MANPAGES%%man/man1/nbdkit-service.1.gz
+%%MANPAGES%%man/man1/nbdkit-split-plugin.1.gz
+%%MANPAGES%%%%SSH%%man/man1/nbdkit-ssh-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-stats-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-streaming-plugin.1.gz
+%%MANPAGES%%%%PERL%%man/man1/nbdkit-tar-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-tls.1.gz
+%%MANPAGES%%man/man1/nbdkit-tmpdisk-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit-truncate-filter.1.gz
+%%MANPAGES%%%%LZMA%%man/man1/nbdkit-xz-filter.1.gz
+%%MANPAGES%%man/man1/nbdkit-zero-plugin.1.gz
+%%MANPAGES%%man/man1/nbdkit.1.gz
+%%MANPAGES%%man/man3/nbdkit-filter.3.gz
+%%MANPAGES%%%%PERL%%man/man3/nbdkit-perl-plugin.3.gz
+%%MANPAGES%%man/man3/nbdkit-plugin.3.gz
+%%MANPAGES%%%%PYTHON%%man/man3/nbdkit-python-plugin.3.gz
+%%MANPAGES%%man/man3/nbdkit-sh-plugin.3.gz
+sbin/nbdkit



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