Index: sysutils/nix/Makefile =================================================================== --- /dev/null +++ sysutils/nix/Makefile @@ -0,0 +1,39 @@ +# $FreeBSD$ + +PORTNAME= nix +DISTVERSION= 2.1.3 +CATEGORIES= sysutils + +MAINTAINER= 0mp@FreeBSD.org +COMMENT= Purely functional package manager + +LICENSE= LGPL21 +LICENSE_FILE= ${WRKSRC}/COPYING + +LIB_DEPDENDS= liblzma.so:archives/lzmalib \ + libsodium.so:security/libsodium +BUILD_DEPENDS= bash:shells/bash \ + autoconf-archive>=0:devel/autoconf-archive \ + boost-libs>0:devel/boost-libs \ + xsltproc:textproc/libxslt \ + xmllint:textproc/libxml2 \ + ${LOCALBASE}/include/brotli/decode.h:archivers/brotli \ + ${LOCALBASE}/include/curl/curl.h:ftp/curl \ + boehm-gc>=0:devel/boehm-gc \ + libsodium>=0:security/libsodium + # flex>=0:textproc/flex + +# bzip2 libbz2 seems to be required as well. +USES= autoreconf bison:build compiler:c++14-lang gmake pkgconfig ssl sqlite:3 tar:xz + +USE_GITHUB= yes +GH_ACCOUNT= NixOS + +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-seccomp-sandboxing --enable-gc + +pre-build: + ${REINPLACE_CMD} -e 's|@OPENSSL_LIBS@|-L${OPENSSLLIB} -lcrypto|' ${WRKSRC}/Makefile.config.in + ${REINPLACE_CMD} -e 's|@LIBBROTLI_LIBS@|-L${LOCALBASE}/lib -lbrotlienc -lbrotlidec|' ${WRKSRC}/Makefile.config.in + +.include Index: sysutils/nix/distinfo =================================================================== --- /dev/null +++ sysutils/nix/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1545959080 +SHA256 (NixOS-nix-2.1.3_GH0.tar.gz) = 666b8af30b7d49b7893dee5a4875d5e19d4c6ba8e899ee828392359ad3cefabd +SIZE (NixOS-nix-2.1.3_GH0.tar.gz) = 864004 Index: sysutils/nix/files/patch-Makefile =================================================================== --- /dev/null +++ sysutils/nix/files/patch-Makefile @@ -0,0 +1,11 @@ +--- Makefile.orig 2018-12-28 23:07:47 UTC ++++ Makefile +@@ -25,7 +25,7 @@ makefiles = \ + tests/local.mk \ + tests/plugins/local.mk + +-GLOBAL_CXXFLAGS += -g -Wall -include config.h ++GLOBAL_CXXFLAGS += -g -Wall -v -include config.h + + -include Makefile.config + Index: sysutils/nix/files/patch-configure.ac =================================================================== --- /dev/null +++ sysutils/nix/files/patch-configure.ac @@ -0,0 +1,60 @@ +--- configure.ac.orig 2018-10-01 20:51:23 UTC ++++ configure.ac +@@ -147,7 +147,7 @@ AC_SUBST(storedir) + + + # Look for OpenSSL, a required dependency. +-PKG_CHECK_MODULES([OPENSSL], [libcrypto], [CXXFLAGS="$OPENSSL_CFLAGS $CXXFLAGS"]) ++AC_CHECK_HEADERS([openssl/ssl.h], [CXXFLAGS="$OPENSSL_CFLAGS $CXXFLAGS"]) + + + # Look for libbz2, a required dependency. +@@ -162,7 +162,7 @@ PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.6.19], [CXX + + + # Look for libcurl, a required dependency. +-PKG_CHECK_MODULES([LIBCURL], [libcurl], [CXXFLAGS="$LIBCURL_CFLAGS $CXXFLAGS"]) ++AC_CHECK_HEADERS([/usr/local/include/curl/curl.h], [CXXFLAGS="$LIBCURL_CFLAGS $CXXFLAGS"]) + + + # Look for libsodium, an optional dependency. +@@ -180,7 +180,7 @@ AC_CHECK_LIB([lzma], [lzma_stream_encoder_mt], + + + # Look for libbrotli{enc,dec}. +-PKG_CHECK_MODULES([LIBBROTLI], [libbrotlienc libbrotlidec], [CXXFLAGS="$LIBBROTLI_CFLAGS $CXXFLAGS"]) ++AC_CHECK_HEADERS([/usr/local/include/brotli/decode.h], [CXXFLAGS="$LIBBROTLI_CFLAGS $CXXFLAGS"]) + + + # Look for libseccomp, required for Linux sandboxing. +@@ -212,9 +212,11 @@ AC_SUBST(ENABLE_S3, [$enable_s3]) + AC_LANG_POP(C++) + + if test -n "$enable_s3"; then +- declare -a aws_version_tokens=($(printf '#include \nAWS_SDK_VERSION_STRING' | $CPP $CPPFLAGS - | grep -v '^#.*' | sed 's/"//g' | tr '.' ' ')) +- AC_DEFINE_UNQUOTED([AWS_VERSION_MAJOR], ${aws_version_tokens@<:@0@:>@}, [Major version of aws-sdk-cpp.]) +- AC_DEFINE_UNQUOTED([AWS_VERSION_MINOR], ${aws_version_tokens@<:@1@:>@}, [Minor version of aws-sdk-cpp.]) ++ aws_version_tokens="$(printf '#include \nAWS_SDK_VERSION_STRING' | $CPP $CPPFLAGS - | grep -v '^#.*' | sed 's/"//g' | tr '.' ' ')" ++ aws_major_version="$(awk -v ver="${aws_version_tokens}" '{print $1}')" ++ aws_minor_version="$(awk -v ver="${aws_version_tokens}" '{print $2}')" ++ AC_DEFINE_UNQUOTED([AWS_VERSION_MAJOR], ${aws_major_version}, [Major version of aws-sdk-cpp.]) ++ AC_DEFINE_UNQUOTED([AWS_VERSION_MINOR], ${aws_minor_version}, [Minor version of aws-sdk-cpp.]) + fi + + +@@ -277,9 +279,12 @@ AC_SUBST(sandbox_shell) + test "$prefix" = NONE && prefix=$ac_default_prefix + test "$exec_prefix" = NONE && exec_prefix='${prefix}' + for name in $ac_subst_vars; do +- declare $name="$(eval echo "${!name}")" +- declare $name="$(eval echo "${!name}")" +- declare $name="$(eval echo "${!name}")" ++ for _ in 1 2 3; do ++ if printf '%s' "${name}" | egrep '^[_[:alpha:]][_[:alnum:]]*$' ++ then ++ eval "${name}"="$(eval echo "\${${name}}")" ++ fi ++ done + done + + rm -f Makefile.config Index: sysutils/nix/files/patch-src_libexpr_primops_fetchGit.cc =================================================================== --- /dev/null +++ sysutils/nix/files/patch-src_libexpr_primops_fetchGit.cc @@ -0,0 +1,10 @@ +--- src/libexpr/primops/fetchGit.cc.orig 2018-12-28 21:26:26 UTC ++++ src/libexpr/primops/fetchGit.cc +@@ -5,6 +5,7 @@ + #include "pathlocks.hh" + + #include ++#include + + #include + Index: sysutils/nix/files/patch-src_linenoise_linenoise.cpp =================================================================== --- /dev/null +++ sysutils/nix/files/patch-src_linenoise_linenoise.cpp @@ -0,0 +1,11 @@ +--- src/linenoise/linenoise.cpp.orig 2018-12-28 20:56:06 UTC ++++ src/linenoise/linenoise.cpp +@@ -117,6 +117,8 @@ + + #endif /* _WIN32 */ + ++#include ++ + #include + #include + #include