# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # security/highwayhash # security/highwayhash/distinfo # security/highwayhash/pkg-descr # security/highwayhash/Makefile # security/highwayhash/pkg-plist # security/highwayhash/files # security/highwayhash/files/patch-highwayhash_os__specific.cc # echo c - security/highwayhash mkdir -p security/highwayhash > /dev/null 2>&1 echo x - security/highwayhash/distinfo sed 's/^X//' >security/highwayhash/distinfo << 'c960f78d09baf3340ad0a389593ee881' XTIMESTAMP = 1502493406 XSHA256 (google-highwayhash-g20170512-2b666ae_GH0.tar.gz) = 294320a52169a3365818b98c7ee8438583d9f627ec84e4b61f2cb94f86796a73 XSIZE (google-highwayhash-g20170512-2b666ae_GH0.tar.gz) = 139398 c960f78d09baf3340ad0a389593ee881 echo x - security/highwayhash/pkg-descr sed 's/^X//' >security/highwayhash/pkg-descr << '30c6488422a99af087ae5fbfd95b7858' XStrong (well-distributed and unpredictable) hashes: X* Portable implementation of SipHash X* HighwayHash, a 5x faster SIMD hash with security claims X XWWW: https://github.com/google/highwayhash 30c6488422a99af087ae5fbfd95b7858 echo x - security/highwayhash/Makefile sed 's/^X//' >security/highwayhash/Makefile << '61d5ccf8a77cd430155afdbd3daef7d6' X# Created by: Yuri Victorovich X# $FreeBSD$ X XPORTNAME= highwayhash XPORTVERSION= g20170512 XCATEGORIES= security X XMAINTAINER= yuri@rawbw.com XCOMMENT= Fast strong hash functions: SipHash/HighwayHash X XLICENSE= APACHE20 XLICENSE_FILE= ${WRKSRC}/LICENSE X XUSES= gmake XUSE_GITHUB= yes XGH_ACCOUNT= google XGH_TAGNAME= 2b666ae XUSE_LDCONFIG= yes XONLY_FOR_ARCHS= amd64 arm64 powerpc powerpc64 XONLY_FOR_ARCHS_REASON= Assembly is implemented only for specific architectures in highwayhash/tsc_timer.h X Xpost-patch: X @${REINPLACE_CMD} -e '\ X s|LIBDIR|XLIBDIR|; \ X s| -O3||; \ X s|install -m0755 highwayhash|install -m0444 highwayhash|' \ X ${WRKSRC}/Makefile X Xpost-install: X @cd ${STAGEDIR}${PREFIX}/lib && \ X ${RM} libhighwayhash.so && \ X ${LN} -s libhighwayhash.so.0 libhighwayhash.so && \ X ${CHMOD} 0555 libhighwayhash.so* && \ X ${CHMOD} 0644 libhighwayhash.a X @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libhighwayhash.so.0 X X.include 61d5ccf8a77cd430155afdbd3daef7d6 echo x - security/highwayhash/pkg-plist sed 's/^X//' >security/highwayhash/pkg-plist << 'ae7a5980874f5f4e93d32ce8534e84ea' Xinclude/highwayhash/arch_specific.h Xinclude/highwayhash/c_bindings.h Xinclude/highwayhash/compiler_specific.h Xinclude/highwayhash/data_parallel.h Xinclude/highwayhash/endianess.h Xinclude/highwayhash/hh_avx2.h Xinclude/highwayhash/hh_buffer.h Xinclude/highwayhash/hh_portable.h Xinclude/highwayhash/hh_sse41.h Xinclude/highwayhash/hh_types.h Xinclude/highwayhash/highwayhash.h Xinclude/highwayhash/highwayhash_target.h Xinclude/highwayhash/highwayhash_test_target.h Xinclude/highwayhash/iaca.h Xinclude/highwayhash/instruction_sets.h Xinclude/highwayhash/load3.h Xinclude/highwayhash/nanobenchmark.h Xinclude/highwayhash/os_specific.h Xinclude/highwayhash/profiler.h Xinclude/highwayhash/robust_statistics.h Xinclude/highwayhash/scalar.h Xinclude/highwayhash/scalar_sip_tree_hash.h Xinclude/highwayhash/sip_hash.h Xinclude/highwayhash/sip_tree_hash.h Xinclude/highwayhash/state_helpers.h Xinclude/highwayhash/tsc_timer.h Xinclude/highwayhash/vector128.h Xinclude/highwayhash/vector256.h Xinclude/highwayhash/vector_test_target.h Xlib/libhighwayhash.a Xlib/libhighwayhash.so Xlib/libhighwayhash.so.0 ae7a5980874f5f4e93d32ce8534e84ea echo c - security/highwayhash/files mkdir -p security/highwayhash/files > /dev/null 2>&1 echo x - security/highwayhash/files/patch-highwayhash_os__specific.cc sed 's/^X//' >security/highwayhash/files/patch-highwayhash_os__specific.cc << '0b1d63ea8684343328c3e2a7e3b998e3' X--- highwayhash/os_specific.cc.orig 2017-05-08 14:09:02 UTC X+++ highwayhash/os_specific.cc X@@ -40,6 +40,16 @@ X #define OS_LINUX 0 X #endif X X+#ifdef __FreeBSD__ X+#define OS_FREEBSD 1 X+#include X+#include X+#include X+#include X+#else X+#define OS_FREEBSD 0 X+#endif X+ X #ifdef __MACH__ X #define OS_MAC 1 X #include X@@ -134,6 +144,10 @@ ThreadAffinity* GetThreadAffinity() { X const int err = cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, pid, X sizeof(cpuset_t), &affinity->set); X CHECK(err == 0); X+#elif OS_FREEBSD X+ const pid_t pid = 0; // current thread X+ const int err = cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, pid, sizeof(cpuset_t), &affinity->set); X+ CHECK(err == 0); X #endif X return affinity; X } X@@ -165,6 +179,10 @@ void SetThreadAffinity(ThreadAffinity* a X const int err = cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, pid, X sizeof(cpuset_t), &affinity->set); X CHECK(err == 0); X+#elif OS_FREEBSD X+ const pid_t pid = 0; // current thread X+ const int err = cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, pid, sizeof(cpuset_t), &affinity->set); X+ CHECK(err == 0); X #else X #error "port" X #endif X@@ -192,6 +210,12 @@ std::vector AvailableCPUs() { X cpus.push_back(cpu); X } X } X+#elif OS_FREEBSD X+ for (size_t cpu = 0; cpu < sizeof(cpuset_t) * 8; ++cpu) { X+ if (CPU_ISSET(cpu, &affinity->set)) { X+ cpus.push_back(cpu); X+ } X+ } X #else X #error "port" X #endif X@@ -208,6 +232,9 @@ void PinThreadToCPU(const int cpu) { X #elif OS_FREEBSD X CPU_ZERO(&affinity.set); X CPU_SET(cpu, &affinity.set); X+#elif OS_FREEBSD X+ CPU_ZERO(&affinity.set); X+ CPU_SET(cpu, &affinity.set); X #else X #error "port" X #endif 0b1d63ea8684343328c3e2a7e3b998e3 exit