Bring back databases/riak port

Distfiles are actually still available and we still using it at work

While here:
- take up maintainership
- pacify portlint (make makepatch, knobs ordering, add license file)
- unbreak build on recent -current
- remove JOBS_UNSAFE - builds fine here in poudriere with -J 4
This commit is contained in:
Ruslan Makhmatkhanov 2018-07-10 12:46:35 +00:00
parent 16113ce425
commit c4d0b9fbaa
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=474358
14 changed files with 384 additions and 1 deletions

1
MOVED
View File

@ -10236,7 +10236,6 @@ converters/pdf2djvu||2018-06-07|Has expired: Broken for more than 6 months
databases/rdb||2018-06-07|Has expired: Broken for more than 6 months
databases/animenfo-client||2018-06-07|Has expired: Broken for more than 6 months
databases/ruby-mysql||2018-06-07|Has expired: Broken for more than 6 months
databases/riak||2018-06-07|Has expired: Broken for more than 6 months
databases/animenfo-client-gtk||2018-06-07|Has expired: Broken for more than 6 months
databases/rdfdb||2018-06-07|Has expired: Broken for more than 6 months
databases/riak2||2018-06-07|Has expired: Broken for more than 6 months

View File

@ -901,6 +901,7 @@
SUBDIR += redis_exporter
SUBDIR += redisdesktopmanager
SUBDIR += retcl
SUBDIR += riak
SUBDIR += rocksdb
SUBDIR += rocksdb-lite
SUBDIR += rrdman

89
databases/riak/Makefile Normal file
View File

@ -0,0 +1,89 @@
# $FreeBSD$
PORTNAME= riak
PORTVERSION= 1.4.12
PORTREVISION= 3
CATEGORIES= databases
MASTER_SITES= http://s3.amazonaws.com/downloads.basho.com/riak/${PORTVERSION:R}/${PORTVERSION}/ \
http://downloads.basho.com.s3.amazonaws.com/riak/${PORTVERSION:R}/${PORTVERSION}/
MAINTAINER= rm@FreeBSD.org
COMMENT= Open source, distributed, noSQL database
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_aarch64= Does not compile: error: Unknown CPU architecture
BROKEN_powerpc64= Does not compile: error: Unknown CPU architecture
BROKEN_sparc64= Does not compile: Please implement AtomicPointer for this platform
BUILD_DEPENDS= ${LOCALBASE}/lib/erlang15/bin/erlc:lang/erlang-runtime15
USES= gmake readline shebangfix
SHEBANG_FILES= deps/eper/priv/bin/dtop \
deps/eper/priv/bin/gperf \
deps/eper/priv/bin/ntop \
deps/eper/priv/bin/redbug \
deps/eper/priv/bin/sherk
USE_RC_SUBR= riak
PLIST= ${WRKDIR}/pkg-plist
PLIST_SUB+= GROUPS=${GROUPS} \
RIAK_CONFDIR=${RIAK_CONFDIR} \
RIAK_DBDIR=${RIAK_DBDIR} \
RIAK_HOMEDIR=${RIAK_HOMEDIR} \
RIAK_LIBDIR=${RIAK_LIBDIR} \
RIAK_LOGDIR=${RIAK_LOGDIR} \
USERS=${USERS}
USERS= riak
GROUPS= riak
RIAK_CONFDIR?= ${PREFIX}/etc/${PORTNAME}
RIAK_LOGDIR?= /var/log/${PORTNAME}
RIAK_DBDIR?= /var/db/${PORTNAME}
RIAK_LIBDIR?= ${PREFIX}/lib/${PORTNAME}/lib
RIAK_HOMEDIR?= ${PREFIX}/lib/${PORTNAME}
ALL_TARGET= rel
MAKE_ENV= PATH=${LOCALBASE}/lib/erlang15/bin:${PATH}
.include <bsd.port.pre.mk>
post-patch:
@${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/rel/vars.config
pre-install:
${RM} ${PLIST}
${CAT} ${PKGDIR}/pkg-plist >> ${PLIST}
(cd ${WRKSRC}/rel/${PORTNAME}; ${FIND} releases -type f \
| ${AWK} '{print length, $$0}' | ${SORT} -rn | ${SED} -e 's/^/lib\//' \
| ${AWK} '{print "lib/riak/"$$2 }' >> ${PLIST})
(cd ${WRKSRC}/rel/${PORTNAME}; ${FIND} erts-* -type f \
| ${AWK} '{print length, $$0}' | ${SORT} -rn \
| ${AWK} '{print "lib/riak/"$$2 }' >> ${PLIST})
(cd ${WRKSRC}/rel; ${FIND} ${PORTNAME}/lib -type f \
| ${AWK} '{print length, $$0}' | ${SORT} -rn | ${SED} -e 's/^/lib\//' \
| ${AWK} '{print "lib/"$$2 }' >> ${PLIST})
${ECHO} "@owner" >> ${PLIST}
${ECHO} "@group" >> ${PLIST}
do-install:
.for d in ${RIAK_CONFDIR} ${RIAK_LOGDIR} ${RIAK_DBDIR} ${RIAK_LIBDIR} ${RIAK_HOMEDIR}
${MKDIR} ${STAGEDIR}${d}
.endfor
${INSTALL_DATA} ${WRKSRC}/rel/riak/etc/vm.args ${STAGEDIR}${RIAK_CONFDIR}/vm.args.sample
${INSTALL_DATA} ${WRKSRC}/rel/riak/etc/app.config ${STAGEDIR}${RIAK_CONFDIR}/app.config.sample
${INSTALL_DATA} ${WRKSRC}/rel/riak/etc/cert.pem ${STAGEDIR}${RIAK_CONFDIR}/cert.pem.sample
${INSTALL_DATA} ${WRKSRC}/rel/riak/etc/key.pem ${STAGEDIR}${RIAK_CONFDIR}/key.pem.sample
(cd ${WRKSRC}/rel/riak/lib/ && ${COPYTREE_BIN} . ${STAGEDIR}${RIAK_LIBDIR})
(cd ${WRKSRC}/rel/riak/bin/ && ${COPYTREE_BIN} . ${STAGEDIR}${PREFIX}/sbin/)
(cd ${WRKSRC}/rel/riak/lib/basho-patches && ${COPYTREE_SHARE} . ${STAGEDIR}${RIAK_LIBDIR}/basho-patches)
(cd ${WRKSRC}/rel/riak/releases && ${COPYTREE_SHARE} . ${STAGEDIR}${RIAK_HOMEDIR}/releases)
${CP} -R ${WRKSRC}/rel/riak/erts-* ${STAGEDIR}${RIAK_HOMEDIR}
${INSTALL_MAN} ${WRKSRC}/doc/man/man1/riak.1.gz ${STAGEDIR}${MANPREFIX}/man/man1/
${INSTALL_MAN} ${WRKSRC}/doc/man/man1/riak-admin.1.gz ${STAGEDIR}${MANPREFIX}/man/man1/
${INSTALL_MAN} ${WRKSRC}/doc/man/man1/riak-debug.1.gz ${STAGEDIR}${MANPREFIX}/man/man1/
${INSTALL_MAN} ${WRKSRC}/doc/man/man1/search-cmd.1.gz ${STAGEDIR}${MANPREFIX}/man/man1/
.include <bsd.port.post.mk>

2
databases/riak/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (riak-1.4.12.tar.gz) = 2ae63ba183ce457399a21542c75aa6149481c972ebac739a1599e93e81982c91
SIZE (riak-1.4.12.tar.gz) = 13821609

View File

@ -0,0 +1,29 @@
--- deps/eleveldb/c_src/leveldb/build_detect_platform.orig 2014-12-04 17:57:13 UTC
+++ deps/eleveldb/c_src/leveldb/build_detect_platform
@@ -134,7 +134,7 @@ if [ "$CROSS_COMPILE" = "true" ]; then
true
else
# If -std=c++0x works, use <cstdatomic>. Otherwise use port_posix.h.
- $CXX $CFLAGS -std=c++0x -x c++ - -o /dev/null 2>/dev/null <<EOF
+ $CXX $CFLAGS -std=c++0x -x c++ - 2>/dev/null <<EOF
#include <cstdatomic>
int main() {}
EOF
@@ -147,7 +147,7 @@ EOF
# Test whether Snappy library is installed
# http://code.google.com/p/snappy/
- $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
+ $CXX $CFLAGS -x c++ - 2>/dev/null <<EOF
#include <snappy.h>
int main() {}
EOF
@@ -157,7 +157,7 @@ EOF
fi
# Test whether tcmalloc is available
- $CXX $CFLAGS -x c++ - -o /dev/null -ltcmalloc 2>/dev/null <<EOF
+ $CXX $CFLAGS -x c++ - -ltcmalloc 2>/dev/null <<EOF
int main() {}
EOF
if [ "$?" = 0 ]; then

View File

@ -0,0 +1,36 @@
--- deps/eleveldb/c_src/leveldb/db/version_set.cc.orig 2014-12-04 17:57:13 UTC
+++ deps/eleveldb/c_src/leveldb/db/version_set.cc
@@ -2,10 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. See the AUTHORS file for names of contributors.
+#define __STDC_CONSTANT_MACROS
#include "db/version_set.h"
#include <algorithm>
#include <stdio.h>
+#include <stdint.h>
#include "db/filename.h"
#include "db/log_reader.h"
#include "db/log_writer.h"
@@ -56,13 +58,13 @@ static struct
// WARNING: m_OverlappedFiles flags need to match config::kNumOverlapFiles ... until unified
{
- {10485760, 262144000, 57671680, 209715200, 0, 300000000, true},
- {10485760, 82914560, 57671680, 419430400, 0, 209715200, true},
- {10485760, 314572800, 57671680, 1006632960, 200000000, 314572800, false},
- {10485760, 419430400, 57671680, 4094304000ULL, 3355443200ULL, 419430400, false},
- {10485760, 524288000, 57671680, 41943040000ULL, 33554432000ULL, 524288000, false},
- {10485760, 629145600, 57671680, 419430400000ULL, 335544320000ULL, 629145600, false},
- {10485760, 734003200, 57671680, 4194304000000ULL, 3355443200000ULL, 734003200, false}
+ {UINT64_C(10485760), UINT64_C(262144000), INT64_C(57671680), UINT64_C( 209715200), UINT64_C( 0), UINT64_C(300000000), true},
+ {UINT64_C(10485760), UINT64_C( 82914560), INT64_C(57671680), UINT64_C( 419430400), UINT64_C( 0), UINT64_C(209715200), true},
+ {UINT64_C(10485760), UINT64_C(314572800), INT64_C(57671680), UINT64_C( 1006632960), UINT64_C( 200000000), UINT64_C(314572800), false},
+ {UINT64_C(10485760), UINT64_C(419430400), INT64_C(57671680), UINT64_C( 4094304000), UINT64_C( 3355443200), UINT64_C(419430400), false},
+ {UINT64_C(10485760), UINT64_C(524288000), INT64_C(57671680), UINT64_C( 41943040000), UINT64_C( 33554432000), UINT64_C(524288000), false},
+ {UINT64_C(10485760), UINT64_C(629145600), INT64_C(57671680), UINT64_C( 419430400000), UINT64_C( 335544320000), UINT64_C(629145600), false},
+ {UINT64_C(10485760), UINT64_C(734003200), INT64_C(57671680), UINT64_C(4194304000000), UINT64_C(3355443200000), UINT64_C(734003200), false}
};
/// ULL above needed to compile on OSX 10.7.3

View File

@ -0,0 +1,18 @@
--- deps/erlang_js/c_src/patches/js-src-config-FreeBSD.mk.patch.orig 2013-01-29 20:13:01 UTC
+++ deps/erlang_js/c_src/patches/js-src-config-FreeBSD.mk.patch
@@ -1,6 +1,6 @@
--- c_src.orig/js/src/config/FreeBSD.mk 1969-12-31 19:00:00.000000000 -0500
+++ c_src/js/src/config/FreeBSD.mk 2011-03-30 20:12:51.000000000 -0400
-@@ -0,0 +1,99 @@
+@@ -0,0 +1,100 @@
+# -*- Mode: makefile -*-
+#
+# ***** BEGIN LICENSE BLOCK *****
@@ -46,6 +46,7 @@
+
+CC ?= gcc
+CCC ?= g++
++LD = $(CC)
+CFLAGS += -Wall -Wno-format
+OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
+

View File

@ -0,0 +1,15 @@
--- deps/erlang_js/c_src/patches/nspr-src-ptsynch.c.patch 1970-01-01 03:00:00 UTC
+++ deps/erlang_js/c_src/patches/nspr-src-ptsynch.c.patch
@@ -0,0 +1,12 @@
+--- c_src/nsprpub/pr/src/pthreads/ptsynch.c.orig 2009-03-19 00:29:32.000000000 +0300
++++ c_src/nsprpub/pr/src/pthreads/ptsynch.c 2018-07-10 14:59:52.818165000 +0300
+@@ -828,7 +828,8 @@
+ * From the semctl(2) man page in glibc 2.0
+ */
+ #if (defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)) \
+- || defined(FREEBSD) || defined(OPENBSD) || defined(BSDI) \
++ || (defined(FREEBSD) && __FreeBSD_version < 1200059) \
++ || defined(OPENBSD) || defined(BSDI) \
+ || defined(DARWIN) || defined(SYMBIAN)
+ /* union semun is defined by including <sys/sem.h> */
+ #else

View File

@ -0,0 +1,28 @@
--- deps/node_package/priv/base/env.sh.orig 2013-11-08 18:56:54 UTC
+++ deps/node_package/priv/base/env.sh
@@ -100,7 +100,7 @@ ping_node() {
# read/write/delete .pid files during startup/shutdown
create_pid_dir() {
# Validate RUNNER_USER is set and they have permissions to write to /var/run
- # Don't continue if we've already sudo'd to RUNNER_USER
+ # Don't continue if we've already su'd to RUNNER_USER
if ([ "$RUNNER_USER" ] && [ "x$WHOAMI" != "x$RUNNER_USER" ]); then
if [ -w $RUN_DIR ]; then
mkdir -p $PID_DIR
@@ -161,12 +161,13 @@ check_user() {
# Validate that the user running the script is the owner of the
# RUN_DIR.
if ([ "$RUNNER_USER" ] && [ "x$WHOAMI" != "x$RUNNER_USER" ]); then
- type sudo > /dev/null 2>&1
+ type su > /dev/null 2>&1
if [ "$?" -ne 0 ]; then
- echoerr "sudo doesn't appear to be installed and your EUID isn't $RUNNER_USER" 1>&2
+ echoerr "su doesn't appear to be installed and your EUID isn't $RUNNER_USER" 1>&2
exit 1
fi
- exec sudo -H -u $RUNNER_USER -i $RUNNER_SCRIPT_DIR/$RUNNER_SCRIPT $@
+ ESCAPED_ARGS=`echo "$@" | sed -e 's/\([{}"]\)/\\\\\1/g'`
+ exec su - $RUNNER_USER -c "$RUNNER_SCRIPT_DIR/$RUNNER_SCRIPT $ESCAPED_ARGS"
fi
}

View File

@ -0,0 +1,16 @@
--- rel/reltool.config.orig 2014-12-04 17:55:03 UTC
+++ rel/reltool.config
@@ -37,8 +37,12 @@
{boot_rel, "riak"},
{profile, embedded},
{excl_sys_filters, ["^bin/.*",
- "^erts.*/bin/(dialyzer|typer)"]},
+ "^erts.*/bin/(dialyzer|typer)",
+ "^erts.*/bin/(dialyzer|typer)",
+ "^erts.*/doc",
+ "^erts.*/man"]},
{excl_archive_filters, [".*"]},
+ {app, mnesia, [{incl_app_filters, ["ebin/*"]}]},
{app, cluster_info, [{incl_cond, include}]},
{app, erlang_js, [{incl_cond, include}]},
{app, ebloom, []},

View File

@ -0,0 +1,41 @@
--- rel/vars.config.orig 2014-12-04 17:55:03 UTC
+++ rel/vars.config
@@ -2,11 +2,12 @@
%% ex: ft=erlang ts=4 sw=4 et
%% Platform-specific installation paths
-{platform_bin_dir, "./bin"}.
-{platform_data_dir, "./data"}.
-{platform_etc_dir, "./etc"}.
-{platform_lib_dir, "./lib"}.
-{platform_log_dir, "./log"}.
+{platform_bin_dir, "/usr/local/sbin"}.
+{platform_data_dir, "/var/db/riak"}.
+{platform_etc_dir, "/usr/local/etc/riak"}.
+{platform_base_dir, "/usr/local/lib/riak"}.
+{platform_lib_dir, "/usr/local/lib/riak/lib"}.
+{platform_log_dir, "/var/log/riak"}.
%%
%% etc/app.config
@@ -47,12 +48,12 @@
%%
%% bin/riak
%%
-{runner_script_dir, "$(cd ${0%/*} && pwd)"}.
-{runner_base_dir, "{{runner_script_dir}}/.."}.
-{runner_etc_dir, "$RUNNER_BASE_DIR/etc"}.
-{runner_log_dir, "$RUNNER_BASE_DIR/log"}.
-{runner_lib_dir, "$RUNNER_BASE_DIR/lib"}.
-{runner_patch_dir, "$RUNNER_BASE_DIR/lib/basho-patches"}.
-{pipe_dir, "/tmp/$RUNNER_BASE_DIR/"}.
-{runner_user, ""}.
+{runner_script_dir, "{{platform_bin_dir}}"}.
+{runner_base_dir, "{{platform_base_dir}}"}.
+{runner_etc_dir, "{{platform_etc_dir}}"}.
+{runner_log_dir, "{{platform_log_dir}}"}.
+{runner_lib_dir, "{{platform_lib_dir}}"}.
+{runner_patch_dir, "{{platform_lib_dir}}/basho-patches"}.
+{pipe_dir, "/tmp/riak"}.
+{runner_user, "riak"}.
{runner_wait_process, "riak_core_node_watcher"}.

View File

@ -0,0 +1,84 @@
#!/bin/sh
# $FreeBSD$
# PROVIDE: riak
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable riak:
# riak_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable riak on boot.
#
. /etc/rc.subr
name="riak"
rcvar=riak_enable
pidfile=/var/run/riak/riak.pid
start_cmd="riak_start"
stop_cmd="riak_stop"
restart_cdm="riak_restart"
status_cmd="riak_status"
command="%%PREFIX%%/sbin/riak"
load_rc_config $name
# Read rc.d config and set defaults
load_rc_config "$name"
: ${riak_enable="NO"}
riak_start()
{
echo "Starting Riak."
%%PREFIX%%/sbin/riak start
return 0
}
riak_stop()
{
echo "Stopping Riak processes"
%%PREFIX%%/sbin/riak stop
killall -9 epmd
return 0
}
riak_restart()
{
riak_stop
riak_start
return 0
}
riak_status()
{
if riak_running; then
echo "Riak is running."
return 0
else
echo "Riak is not running"
return 1
fi
}
riak_running()
{
local pid result ps
pid=`%%PREFIX%%/sbin/riak getpid`
result=`echo $?`
if [ "$result" == 0 ]; then
ps=`ps -waux | grep ${pid} | grep riak`
result=`echo $?`
if [ "$result" ]; then
return 0
else
return 1
fi
else
return 1
fi
}
run_rc_command "$1"

6
databases/riak/pkg-descr Normal file
View File

@ -0,0 +1,6 @@
Riak is a distributed database designed for maximum availability:
so long as your client can reach one server, it should be able to
write data. In most failure scenarios the data you want to read
should be available, albeit possibly stale.
WWW: http://basho.com/products/riak-kv/

19
databases/riak/pkg-plist Normal file
View File

@ -0,0 +1,19 @@
sbin/riak
sbin/riak-admin
sbin/riak-debug
sbin/search-cmd
man/man1/riak-admin.1.gz
man/man1/riak-debug.1.gz
man/man1/riak.1.gz
man/man1/search-cmd.1.gz
@sample %%ETCDIR%%/vm.args.sample
@sample %%ETCDIR%%/app.config.sample
@sample %%ETCDIR%%/cert.pem.sample
@sample %%ETCDIR%%/key.pem.sample
@dir %%RIAK_CONFDIR%%
@owner %%USERS%%
@group %%GROUPS%%
@dir %%RIAK_DBDIR%%
@dir %%RIAK_HOMEDIR%%
@dir %%RIAK_LIBDIR%%
@dir %%RIAK_LOGDIR%%