Could someone give this a try? I have no idea whether I'm hitting a nasty runtime failure or a pebkac case. Note that the version we have in tree doesn't build with /usr/bin/g++ (now that clang is used to build boost?).
Index: Makefile =================================================================== RCS file: /d/cvs/ports/security/encfs/Makefile,v retrieving revision 1.12 diff -u -p -r1.12 Makefile --- Makefile 9 Aug 2017 17:57:27 -0000 1.12 +++ Makefile 21 Aug 2017 11:03:29 -0000 @@ -1,40 +1,32 @@ # $OpenBSD: Makefile,v 1.12 2017/08/09 17:57:27 jca Exp $ -BROKEN-hppa = configure: error: Could not link against boost_serialization-boost_serialization -BROKEN-sparc64 = configure: error: Could not link against boost_serialization-boost_serialization - COMMENT = fuse-based cryptographic filesystem -DISTNAME = encfs-1.7.4 -REVISION = 2 - -SHARED_LIBS = encfs 0.0 # 6.1 +V = 1.9.2 +DISTNAME = encfs-$V CATEGORIES = security HOMEPAGE = http://www.arg0.net/encfs -# GPLv3 +# GPLv3+ PERMIT_PACKAGE_CDROM = Yes -WANTLIB = boost_filesystem boost_serialization boost_system c \ - crypto fuse m pthread rlog ssl ${COMPILER_LIBCXX} +WANTLIB += ${COMPILER_LIBCXX} c crypto fuse intl m ssl tinyxml2 + +MASTER_SITES = https://github.com/vgough/encfs/releases/download/v$V/ + +COMPILER = clang gcc -MASTER_SITES = ${MASTER_SITE_GOOGLECODE:=encfs/} -EXTRACT_SUFX = .tgz +MODULES = devel/cmake +BUILD_DEPENDS = devel/gettext-tools +LIB_DEPENDS = devel/gettext \ + textproc/tinyxml2 -MODULES = devel/gettext -LIB_DEPENDS = devel/boost \ - devel/rlog - -CONFIGURE_STYLE = gnu -CONFIGURE_ARGS += --with-boost-serialization=boost_serialization \ - --with-boost-filesystem=boost_filesystem \ - --with-boost-system=boost_system -# TODO convert code to use utimensat() instead of lutimes() -CONFIGURE_ENV += CPPFLAGS="-Dlutimes=utimes -D_DIRENT_HAVE_D_TYPE" +CONFIGURE_ARGS = -DUSE_INTERNAL_TINYXML:Bool=Off +CONFIGURE_ENV = CXXFLAGS="-DHAVE_UTIMENSAT -D_DIRENT_HAVE_D_TYPE" -do-test: - ${WRKSRC}/encfs/test +post-extract: + sed -i 's,\./build/,${WRKBUILD}/,g' ${WRKSRC}/tests/*.pl .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /d/cvs/ports/security/encfs/distinfo,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 distinfo --- distinfo 17 Jan 2014 10:10:58 -0000 1.1.1.1 +++ distinfo 21 Aug 2017 11:03:29 -0000 @@ -1,2 +1,2 @@ -SHA256 (encfs-1.7.4.tgz) = KC7w8E8t17o1J7RWIfq0hbfMUQws7uEWYA0DSNwhcKg= -SIZE (encfs-1.7.4.tgz) = 931048 +SHA256 (encfs-1.9.2.tar.gz) = zZ6XLNlWXNwmRzyG0sd8mN4x/G9gT6fRSd1dbjXUbqo= +SIZE (encfs-1.9.2.tar.gz) = 11043181 Index: patches/patch-CMakeLists_txt =================================================================== RCS file: patches/patch-CMakeLists_txt diff -N patches/patch-CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-CMakeLists_txt 21 Aug 2017 11:03:29 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: CMakeLists.txt +--- CMakeLists.txt.orig ++++ CMakeLists.txt +@@ -244,7 +244,7 @@ if (POD2MAN) + ${CMAKE_CURRENT_LIST_DIR}/encfs/encfsctl.pod encfsctl.1) + + install (FILES ${CMAKE_BINARY_DIR}/encfs.1 ${CMAKE_BINARY_DIR}/encfsctl.1 +- DESTINATION share/man/man1) ++ DESTINATION man/man1) + endif (POD2MAN) + + # Tests Index: patches/patch-encfs_SSL_Compat_h =================================================================== RCS file: patches/patch-encfs_SSL_Compat_h diff -N patches/patch-encfs_SSL_Compat_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-encfs_SSL_Compat_h 21 Aug 2017 11:03:29 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: encfs/SSL_Compat.h +--- encfs/SSL_Compat.h.orig ++++ encfs/SSL_Compat.h +@@ -22,7 +22,7 @@ + #define _SSL_Compat_incl_ + + // OpenSSL < 1.1.0 +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + + // Equivalent methods + #define EVP_MD_CTX_new EVP_MD_CTX_create Index: patches/patch-encfs_encfssh =================================================================== RCS file: patches/patch-encfs_encfssh diff -N patches/patch-encfs_encfssh --- patches/patch-encfs_encfssh 9 May 2015 12:18:58 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,13 +0,0 @@ -$OpenBSD: patch-encfs_encfssh,v 1.1 2015/05/09 12:18:58 jca Exp $ - -- no fusermount(1) on OpenBSD, umount(8) is enough - ---- encfs/encfssh.orig Sun Nov 29 23:04:12 2009 -+++ encfs/encfssh Thu May 7 19:58:09 2015 -@@ -63,5 +63,5 @@ orig_dir=$(pwd) - cd $unenc_dir - - # Set the shell up --exec /bin/sh -c "$SHELL ; cd $orig_dir ; fusermount -u $unenc_dir ; if ! $unenc_dir_given; then rmdir $unenc_dir; fi" -+exec /bin/sh -c "$SHELL ; cd $orig_dir ; umount $unenc_dir ; if ! $unenc_dir_given; then rmdir $unenc_dir; fi" - Index: patches/patch-encfs_main_cpp =================================================================== RCS file: patches/patch-encfs_main_cpp diff -N patches/patch-encfs_main_cpp --- patches/patch-encfs_main_cpp 9 May 2015 12:18:24 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,37 +0,0 @@ -$OpenBSD: patch-encfs_main_cpp,v 1.3 2015/05/09 12:18:24 jca Exp $ ---- encfs/main.cpp.orig Sun Nov 29 23:04:12 2009 -+++ encfs/main.cpp Thu May 7 19:19:29 2015 -@@ -28,6 +28,8 @@ - #include <cstdio> - #include <unistd.h> - #include <sys/time.h> -+#include <sys/param.h> -+#include <sys/mount.h> - #include <cerrno> - #include <cstring> - -@@ -51,11 +53,6 @@ - - #include "openssl.h" - --// Fuse version >= 26 requires another argument to fuse_unmount, which we --// don't have. So use the backward compatible call instead.. --extern "C" void fuse_unmount_compat22(const char *mountpoint); --# define fuse_unmount fuse_unmount_compat22 -- - #include <locale.h> - - #include "i18n.h" -@@ -756,7 +753,11 @@ static bool unmountFS(EncFS_Context *ctx) - // xgroup(diag) - rWarning(_("Unmounting filesystem %s due to inactivity"), - arg->mountPoint.c_str()); -- fuse_unmount( arg->mountPoint.c_str() ); -+ if (unmount( arg->mountPoint.c_str(), MNT_FORCE ) != 0) -+ { -+ rWarning(_("Unmounting filesystem %s failed: %s"), -+ arg->mountPoint.c_str(), strerror(errno) ); -+ } - return true; - } - } Index: patches/patch-encfs_openssl_cpp =================================================================== RCS file: patches/patch-encfs_openssl_cpp diff -N patches/patch-encfs_openssl_cpp --- patches/patch-encfs_openssl_cpp 17 Jan 2014 10:10:58 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,16 +0,0 @@ -$OpenBSD: patch-encfs_openssl_cpp,v 1.1.1.1 2014/01/17 10:10:58 stsp Exp $ ---- encfs/openssl.cpp.orig Sun Nov 29 23:04:12 2009 -+++ encfs/openssl.cpp Thu Jan 16 14:13:07 2014 -@@ -78,8 +78,10 @@ void openssl_init(bool threaded) - SSL_library_init(); - - unsigned int randSeed = 0; -- RAND_bytes( (unsigned char*)&randSeed, sizeof(randSeed) ); -- srand( randSeed ); -+ if (RAND_bytes( (unsigned char*)&randSeed, sizeof(randSeed)) == 1) -+ srand( randSeed ); -+ else -+ srand( arc4random() ); - - #ifndef OPENSSL_NO_ENGINE - /* Load all bundled ENGINEs into memory and make them visible */ Index: patches/patch-encfs_test_cpp =================================================================== RCS file: patches/patch-encfs_test_cpp diff -N patches/patch-encfs_test_cpp --- patches/patch-encfs_test_cpp 17 Jan 2014 10:10:58 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -$OpenBSD: patch-encfs_test_cpp,v 1.1.1.1 2014/01/17 10:10:58 stsp Exp $ ---- encfs/test.cpp.orig Thu Jan 16 14:11:17 2014 -+++ encfs/test.cpp Thu Jan 16 14:11:44 2014 -@@ -65,7 +65,7 @@ int checkErrorPropogation( const shared_ptr<Cipher> &c - - for(int i=0; i<size; ++i) - { -- unsigned char tmp = rand(); -+ unsigned char tmp = arc4random(); - orig.data[i] = tmp; - data.data[i] = tmp; - } -@@ -81,7 +81,7 @@ int checkErrorPropogation( const shared_ptr<Cipher> &c - unsigned char previousValue = data.data[byteToChange]; - do - { -- data.data[byteToChange] = rand(); -+ data.data[byteToChange] = arc4random(); - } while(data.data[byteToChange] == previousValue); - } - Index: patches/patch-internal_easylogging++_h =================================================================== RCS file: patches/patch-internal_easylogging++_h diff -N patches/patch-internal_easylogging++_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-internal_easylogging++_h 21 Aug 2017 11:03:29 -0000 @@ -0,0 +1,38 @@ +$OpenBSD$ + +Index: internal/easylogging++.h +--- internal/easylogging++.h.orig ++++ internal/easylogging++.h +@@ -98,13 +98,18 @@ + #else + # define ELPP_OS_FREEBSD 0 + #endif ++#if (defined(__OpenBSD__)) ++# define ELPP_OS_OPENBSD 1 ++#else ++# define ELPP_OS_OPENBSD 0 ++#endif + #if (defined(__sun)) + # define ELPP_OS_SOLARIS 1 + #else + # define ELPP_OS_SOLARIS 0 + #endif + // Unix +-#if ((ELPP_OS_LINUX || ELPP_OS_MAC || ELPP_OS_FREEBSD || ELPP_OS_SOLARIS) && (!ELPP_OS_WINDOWS)) ++#if ((ELPP_OS_LINUX || ELPP_OS_MAC || ELPP_OS_FREEBSD || ELPP_OS_OPENBSD || ELPP_OS_SOLARIS) && (!ELPP_OS_WINDOWS)) + # define ELPP_OS_UNIX 1 + #else + # define ELPP_OS_UNIX 0 +@@ -283,7 +288,11 @@ ELPP_INTERNAL_DEBUGGING_OUT_INFO << ELPP_INTERNAL_DEBU + #define ELPP_VARIADIC_TEMPLATES_SUPPORTED \ + (ELPP_COMPILER_GCC || ELPP_COMPILER_CLANG || ELPP_COMPILER_INTEL || (ELPP_COMPILER_MSVC && _MSC_VER >= 1800)) + // Logging Enable/Disable macros +-#define ELPP_LOGGING_ENABLED (!defined(ELPP_DISABLE_LOGS)) ++#if defined(ELPP_DISABLE_LOGS) ++# define ELPP_LOGGING_ENABLED 0 ++#else ++# define ELPP_LOGGING_ENABLED 1 ++#endif + #if (!defined(ELPP_DISABLE_DEBUG_LOGS) && (ELPP_LOGGING_ENABLED) && ((defined(_DEBUG)) || (!defined(NDEBUG)))) + # define ELPP_DEBUG_LOG 1 + #else Index: pkg/DESCR =================================================================== RCS file: /d/cvs/ports/security/encfs/pkg/DESCR,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 DESCR --- pkg/DESCR 17 Jan 2014 10:10:58 -0000 1.1.1.1 +++ pkg/DESCR 21 Aug 2017 11:03:29 -0000 @@ -6,7 +6,7 @@ and can be backed-up on a file-by-file b EncFS does NOT encrypt or otherwise hide the following information: - The number of files you have encrypted - - The permissions on the files (readable, writable, executable) + - The permissions on the files (readable, writable, executable) - The size of each file - The approximate size of each filename (to within 16 bytes using AES, or 8 bytes using Blowfish) Index: pkg/PLIST =================================================================== RCS file: /d/cvs/ports/security/encfs/pkg/PLIST,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 PLIST --- pkg/PLIST 17 Jan 2014 10:10:58 -0000 1.1.1.1 +++ pkg/PLIST 21 Aug 2017 11:03:29 -0000 @@ -2,22 +2,32 @@ @bin bin/encfs @bin bin/encfsctl bin/encfssh -lib/libencfs.a -lib/libencfs.la -@lib lib/libencfs.so.${LIBencfs_VERSION} @man man/man1/encfs.1 @man man/man1/encfsctl.1 +share/locale/ share/locale/ar/ share/locale/ar/LC_MESSAGES/ share/locale/ar/LC_MESSAGES/encfs.mo +share/locale/be/ +share/locale/be/LC_MESSAGES/ share/locale/be/LC_MESSAGES/encfs.mo +share/locale/bg/ +share/locale/bg/LC_MESSAGES/ share/locale/bg/LC_MESSAGES/encfs.mo share/locale/bs/ share/locale/bs/LC_MESSAGES/ share/locale/bs/LC_MESSAGES/encfs.mo +share/locale/ca/ +share/locale/ca/LC_MESSAGES/ share/locale/ca/LC_MESSAGES/encfs.mo +share/locale/cs/ +share/locale/cs/LC_MESSAGES/ share/locale/cs/LC_MESSAGES/encfs.mo +share/locale/da/ +share/locale/da/LC_MESSAGES/ share/locale/da/LC_MESSAGES/encfs.mo +share/locale/de/ +share/locale/de/LC_MESSAGES/ share/locale/de/LC_MESSAGES/encfs.mo share/locale/de_AT/ share/locale/de_AT/LC_MESSAGES/ @@ -28,17 +38,14 @@ share/locale/de_CH/LC_MESSAGES/encfs.mo share/locale/de_DE/ share/locale/de_DE/LC_MESSAGES/ share/locale/de_DE/LC_MESSAGES/encfs.mo +share/locale/el/ +share/locale/el/LC_MESSAGES/ share/locale/el/LC_MESSAGES/encfs.mo -share/locale/en_AU/ -share/locale/en_AU/LC_MESSAGES/ -share/locale/en_AU/LC_MESSAGES/encfs.mo -share/locale/en_CA/ -share/locale/en_CA/LC_MESSAGES/ -share/locale/en_CA/LC_MESSAGES/encfs.mo -share/locale/en_GB/ -share/locale/en_GB/LC_MESSAGES/ -share/locale/en_GB/LC_MESSAGES/encfs.mo +share/locale/eo/ +share/locale/eo/LC_MESSAGES/ share/locale/eo/LC_MESSAGES/encfs.mo +share/locale/es/ +share/locale/es/LC_MESSAGES/ share/locale/es/LC_MESSAGES/encfs.mo share/locale/es_ES/ share/locale/es_ES/LC_MESSAGES/ @@ -46,62 +53,105 @@ share/locale/es_ES/LC_MESSAGES/encfs.mo share/locale/es_PE/ share/locale/es_PE/LC_MESSAGES/ share/locale/es_PE/LC_MESSAGES/encfs.mo +share/locale/et/ +share/locale/et/LC_MESSAGES/ share/locale/et/LC_MESSAGES/encfs.mo +share/locale/fi/ +share/locale/fi/LC_MESSAGES/ share/locale/fi/LC_MESSAGES/encfs.mo +share/locale/fr/ +share/locale/fr/LC_MESSAGES/ share/locale/fr/LC_MESSAGES/encfs.mo share/locale/fr_FR/ share/locale/fr_FR/LC_MESSAGES/ share/locale/fr_FR/LC_MESSAGES/encfs.mo +share/locale/gl/ +share/locale/gl/LC_MESSAGES/ share/locale/gl/LC_MESSAGES/encfs.mo +share/locale/he/ +share/locale/he/LC_MESSAGES/ share/locale/he/LC_MESSAGES/encfs.mo -share/locale/hi/ -share/locale/hi/LC_MESSAGES/ -share/locale/hi/LC_MESSAGES/encfs.mo +share/locale/hr/ +share/locale/hr/LC_MESSAGES/ share/locale/hr/LC_MESSAGES/encfs.mo +share/locale/hu/ +share/locale/hu/LC_MESSAGES/ share/locale/hu/LC_MESSAGES/encfs.mo -share/locale/hu_HU/ -share/locale/hu_HU/LC_MESSAGES/ -share/locale/hu_HU/LC_MESSAGES/encfs.mo +share/locale/id/ +share/locale/id/LC_MESSAGES/ share/locale/id/LC_MESSAGES/encfs.mo +share/locale/it/ +share/locale/it/LC_MESSAGES/ share/locale/it/LC_MESSAGES/encfs.mo +share/locale/ja/ +share/locale/ja/LC_MESSAGES/ share/locale/ja/LC_MESSAGES/encfs.mo -share/locale/ka/ -share/locale/ka/LC_MESSAGES/ -share/locale/ka/LC_MESSAGES/encfs.mo +share/locale/ko/ +share/locale/ko/LC_MESSAGES/ share/locale/ko/LC_MESSAGES/encfs.mo +share/locale/lv/ +share/locale/lv/LC_MESSAGES/ share/locale/lv/LC_MESSAGES/encfs.mo -share/locale/mr/ -share/locale/mr/LC_MESSAGES/ -share/locale/mr/LC_MESSAGES/encfs.mo +share/locale/nb/ +share/locale/nb/LC_MESSAGES/ share/locale/nb/LC_MESSAGES/encfs.mo share/locale/nds/ share/locale/nds/LC_MESSAGES/ share/locale/nds/LC_MESSAGES/encfs.mo +share/locale/nl/ +share/locale/nl/LC_MESSAGES/ share/locale/nl/LC_MESSAGES/encfs.mo +share/locale/nn/ +share/locale/nn/LC_MESSAGES/ share/locale/nn/LC_MESSAGES/encfs.mo share/locale/oc/ share/locale/oc/LC_MESSAGES/ share/locale/oc/LC_MESSAGES/encfs.mo +share/locale/pl/ +share/locale/pl/LC_MESSAGES/ share/locale/pl/LC_MESSAGES/encfs.mo +share/locale/pt/ +share/locale/pt/LC_MESSAGES/ share/locale/pt/LC_MESSAGES/encfs.mo +share/locale/pt_BR/ +share/locale/pt_BR/LC_MESSAGES/ share/locale/pt_BR/LC_MESSAGES/encfs.mo share/locale/pt_PT/ share/locale/pt_PT/LC_MESSAGES/ share/locale/pt_PT/LC_MESSAGES/encfs.mo +share/locale/ro/ +share/locale/ro/LC_MESSAGES/ share/locale/ro/LC_MESSAGES/encfs.mo +share/locale/ru/ +share/locale/ru/LC_MESSAGES/ share/locale/ru/LC_MESSAGES/encfs.mo +share/locale/sk/ +share/locale/sk/LC_MESSAGES/ share/locale/sk/LC_MESSAGES/encfs.mo +share/locale/sr/ +share/locale/sr/LC_MESSAGES/ share/locale/sr/LC_MESSAGES/encfs.mo +share/locale/sv/ +share/locale/sv/LC_MESSAGES/ share/locale/sv/LC_MESSAGES/encfs.mo share/locale/ta/ share/locale/ta/LC_MESSAGES/ share/locale/ta/LC_MESSAGES/encfs.mo -share/locale/te/ -share/locale/te/LC_MESSAGES/ -share/locale/te/LC_MESSAGES/encfs.mo +share/locale/tr/ +share/locale/tr/LC_MESSAGES/ share/locale/tr/LC_MESSAGES/encfs.mo +share/locale/uk/ +share/locale/uk/LC_MESSAGES/ share/locale/uk/LC_MESSAGES/encfs.mo +share/locale/vi/ +share/locale/vi/LC_MESSAGES/ share/locale/vi/LC_MESSAGES/encfs.mo +share/locale/zh_CN/ +share/locale/zh_CN/LC_MESSAGES/ share/locale/zh_CN/LC_MESSAGES/encfs.mo +share/locale/zh_HK/ +share/locale/zh_HK/LC_MESSAGES/ share/locale/zh_HK/LC_MESSAGES/encfs.mo +share/locale/zh_TW/ +share/locale/zh_TW/LC_MESSAGES/ share/locale/zh_TW/LC_MESSAGES/encfs.mo -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE