Remove expired ports:

2020-01-01 databases/couchdb: No longer supported upstream, move to databases/couchdb2
2020-01-01 databases/riak: No longer supported upstream, see riak 2.9.0 and newer
2020-01-01 lang/erlang-runtime15: No longer supported upstream, use lang/erlang >= 21
2020-01-01 lang/erlang-runtime16: No longer supported upstream, use lang/erlang >=21
2020-01-01 lang/erlang-runtime17: No longer supported upstream, use lang/erlang >=21
2020-01-01 lang/erlang-runtime18: No longer supported upstream, use lang/erlang >=21
2020-01-01 lang/erlang-runtime19: No longer supported upstream, use lang/erlang >=21
This commit is contained in:
Rene Ladan 2020-01-01 14:20:43 +00:00
parent 1748f8c64c
commit 758edde629
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=521720
94 changed files with 7 additions and 4655 deletions

7
MOVED
View File

@ -13717,3 +13717,10 @@ x11-fm/thunar-vfs||2020-01-01|Has expired: Functionality included in Thunar
sysutils/ansible1||2020-01-01|Has expired: please upgrade to sysutils/ansible
sysutils/bsdploy||2020-01-01|Removed, depends on expired sysutils/ansible1
sysutils/py-ploy_ansible||2020-01-01|Removed, depends on expired sysutils/ansible1
databases/couchdb|databases/couchdb2|2020-01-01|Has expired: No longer supported upstream, move to databases/couchdb2
databases/riak||2020-01-01|Has expired: No longer supported upstream, see riak 2.9.0 and newer
lang/erlang-runtime15|lang/erlang-runtime21|2020-01-01|Has expired: No longer supported upstream, use lang/erlang >= 21
lang/erlang-runtime16|lang/erlang-runtime21|2020-01-01|Has expired: No longer supported upstream, use lang/erlang >=21
lang/erlang-runtime17|lang/erlang-runtime21|2020-01-01|Has expired: No longer supported upstream, use lang/erlang >=21
lang/erlang-runtime18|lang/erlang-runtime21|2020-01-01|Has expired: No longer supported upstream, use lang/erlang >=21
lang/erlang-runtime19|lang/erlang-runtime21|2020-01-01|Has expired: No longer supported upstream, use lang/erlang >=21

View File

@ -39,7 +39,6 @@
SUBDIR += cegobridge
SUBDIR += clickhouse
SUBDIR += cockroach
SUBDIR += couchdb
SUBDIR += couchdb2
SUBDIR += courier-authlib-mysql
SUBDIR += courier-authlib-pgsql
@ -882,7 +881,6 @@
SUBDIR += redis_exporter
SUBDIR += redisdesktopmanager
SUBDIR += retcl
SUBDIR += riak
SUBDIR += rocksdb
SUBDIR += rocksdb-lite
SUBDIR += rrdman

View File

@ -1,78 +0,0 @@
# Created by: Ditesh Shashikant Gathani <ditesh@gathani.org>
# $FreeBSD$
PORTNAME= couchdb
DISTVERSION= 1.7.2
PORTREVISION= 5
PORTEPOCH= 2
CATEGORIES= databases
MASTER_SITES= APACHE/couchdb/source/${DISTVERSION}
DISTNAME= apache-couchdb-${DISTVERSION}
MAINTAINER= erlang@FreeBSD.org
COMMENT= Document database server, accessible via a RESTful JSON API
LICENSE= APACHE20 BSD3CLAUSE ISCL WTFPL OFL11
LICENSE_COMB= multi
DEPRECATED= No longer supported upstream, move to databases/couchdb2
EXPIRATION_DATE= 2020-01-01
LIB_DEPENDS= libicudata.so:devel/icu \
libmozjs185.so:lang/spidermonkey185 \
libcurl.so:ftp/curl
BUILD_DEPENDS= ${LOCALBASE}/bin/help2man:misc/help2man \
erlang-runtime19>=19.3:lang/erlang-runtime19
RUN_DEPENDS= erlang-runtime19>=19.3:lang/erlang-runtime19
USES= cpe gmake libtool
USE_RC_SUBR= couchdb
SUB_FILES= pkg-message
PLIST_SUB= VERSION=${DISTVERSION}
CPE_VENDOR= apache
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
CONFIGURE_ARGS= --with-erlang=${LOCALBASE}/lib/erlang19/usr/include \
--localstatedir=/var \
--disable-init \
--with-js-include=${LOCALBASE}/include/js \
--with-js-lib=${LOCALBASE}/lib
CONFIGURE_ENV+= ERL=${LOCALBASE}/lib/erlang19/bin/erl \
ERLC=${LOCALBASE}/lib/erlang19/bin/erlc
USERS= couchdb
GROUPS= couchdb
# Override default value of ${STRIP} because the underlying Makefile
# erroneously tries to install a shell script with ${STRIP}, causing
# an install error.
STRIP= #empty
INFO= CouchDB
OPTIONS_DEFINE= DOCS
.include <bsd.port.options.mk>
post-patch:
# DB files are stored by default in /var/db/couchdb
# Ports framework expects info pages to have an info extension
@${REINPLACE_CMD} '/localstatelibdir=/s|/lib/|/db/|' \
${WRKSRC}/configure
@${REINPLACE_CMD} 's|\(info_file_inst = CouchDB\)$$|\1.info|' \
${WRKSRC}/share/doc/build/Makefile.in
post-patch-DOCS-off:
@${REINPLACE_CMD} -e 's/install-data-am$$//' ${WRKSRC}/Makefile.in
post-configure:
# Cater for parallel Spidermonkey v1.7 and v1.8.5 installs by ensuring that
# jsapi.h gets pulled from /usr/local/include/js/ instead of /usr/local/include
@${FIND} ${WRKSRC} -name Makefile|${XARGS} ${REINPLACE_CMD} \
-e 's|include -I/usr/local/include/js|include/js -I/usr/local/include|'
post-install:
@${MV} ${STAGEDIR}${PREFIX}/lib/couchdb/bin/couchjs ${STAGEDIR}${PREFIX}/bin/couchjs
@${RMDIR} ${STAGEDIR}${PREFIX}/lib/couchdb/bin
@${MV} ${WRKSRC}/etc/couchdb/local.ini ${STAGEDIR}${PREFIX}/etc/couchdb/local.ini.sample
.include <bsd.port.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1531177411
SHA256 (apache-couchdb-1.7.2.tar.gz) = 7b7c0db046ded544a587a8935d495610dd10f01a9cae3cd42cf88c5ae40bc431
SIZE (apache-couchdb-1.7.2.tar.gz) = 10009424

View File

@ -1,82 +0,0 @@
#!/bin/sh
# $FreeBSD$
#
# PROVIDE: couchdb
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# couchdb_enable (bool): Set to NO by default.
# Set it to YES to enable couchdb.
#
# couchdb_enablelogs (bool): Set to YES by default.
#
# couchdb_etcdir (string): In case you want another dir
# for default.ini/local.ini.
#
# couchdb_respawn (int): Set to none by default. If CouchDB crashes,
# respawn after this many seconds.
#
# couchdb_erl_flags (string): Set to none by default. Additional Erlang flags
# that are appended via ERL_ZFLAGS to the Erlang VM parameters.
. /etc/rc.subr
name="couchdb"
rcvar=couchdb_enable
load_rc_config $name
: ${couchdb_enable:="NO"}
couchdb_user="${couchdb_user:-"couchdb"}"
couchdb_enablelogs="${couchdb_enablelogs:-"YES"}"
couchdb_etcdir="${couchdb_etcdir:-"%%PREFIX%%/etc/couchdb"}"
couchdb_respawn="${couchdb_respawn:-"0"}"
couchdb_erl_flags="${couchdb_erl_flags:-""}"
command="%%PREFIX%%/bin/${name}"
pidfile="/var/run/${name}/${name}.pid"
urifile="/var/run/${name}/couch.uri"
command_args="-p ${pidfile} -b"
couchdb_prestart()
{
install -o $couchdb_user /dev/null $pidfile
install -o $couchdb_user /dev/null $urifile
if [ -n "$couchdb_flags" ]; then
case "$couchdb_flags" in
*-[bp]*) err 1 'The -b and -p options should be removed from couchdb_flags' ;;
esac
return 0
fi
if [ $couchdb_respawn -gt 0 ]; then
respawn="-r ${couchdb_respawn}"
fi
if checkyesno couchdb_enablelogs; then
logfile=/var/log/${name}/couch.log
errfile=/var/log/${name}/err.log
else
logfile=/dev/null
errfile=/dev/null
fi
# couchdb supports passing options through to the erlang vm directly in
# ERL_ZFLAGS which is appended to CouchDB own flags.
ERL_ZFLAGS=${couchdb_erl_flags}
export ERL_ZFLAGS
command_args="-a ${couchdb_etcdir}/default.ini -a ${couchdb_etcdir}/local.ini ${respawn} -o ${logfile} -e ${errfile} ${command_args}"
}
start_precmd=${name}_prestart
stop_cmd="${command} -d"
status_cmd="${command} -s"
run_rc_command "$1"

View File

@ -1,10 +0,0 @@
[
{ type: install
message: <<EOM
ADMIN ACCOUNT
By default no admin password or account is configured which leaves the DB
server open. Add accounts to the bottom of %%PREFIX%%/etc/couchdb/local.ini
to secure your installation (by default CouchDB listens on localhost only).
EOM
}
]

View File

@ -1,7 +0,0 @@
Couchdb is a document database server, accessible via a RESTful JSON API. It has
an ad-hoc and schema-free with a flat address space. CouchDB is distributed,
featuring robust, incremental replication with bi-directional conflict detection
and management. It features a table oriented reporting engine that uses
Javascript as a query language.
WWW: http://couchdb.org/

View File

@ -1,611 +0,0 @@
bin/couch-config
bin/couchdb
bin/couchjs
%%ETCDIR%%/default.ini
@dir(couchdb,couchdb,0750) %%ETCDIR%%/default.d
@dir(couchdb,couchdb,0750) %%ETCDIR%%/local.d
@dir(couchdb,couchdb,0750) /var/db/couchdb
@dir(couchdb,couchdb,0750) /var/log/couchdb
@dir(couchdb,couchdb,0750) /var/run/couchdb
@sample(couchdb,couchdb,600) %%ETCDIR%%/local.ini.sample
etc/logrotate.d/couchdb
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch.app
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_app.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_auth_cache.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_btree.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_changes.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_compaction_daemon.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_compress.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_config.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_config_writer.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_db.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_db_update_notifier.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_db_update_notifier_sup.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_db_updater.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_doc.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_drv.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_ejson_compare.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_event_sup.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_external_manager.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_external_server.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_file.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_auth.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_cors.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_db.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_external.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_misc_handlers.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_oauth.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_proxy.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_rewrite.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_stats_handlers.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_httpd_vhost.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_key_tree.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_log.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_native_process.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_os_daemons.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_os_process.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_passwords.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_primary_sup.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_query_servers.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_rand.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_ref_counter.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_secondary_sup.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_server.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_server_sup.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_stats_aggregator.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_stats_collector.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_stream.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_task_status.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_users_db.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_util.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_uuids.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/couch_work_queue.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/ebin/json_stream_parse.beam
lib/couchdb/erlang/lib/couch-%%VERSION%%/include/couch_db.hrl
lib/couchdb/erlang/lib/couch-%%VERSION%%/include/couch_js_functions.hrl
lib/couchdb/erlang/lib/couch-%%VERSION%%/priv/couchspawnkillable
lib/couchdb/erlang/lib/couch-%%VERSION%%/priv/lib/couch_ejson_compare.so
lib/couchdb/erlang/lib/couch-%%VERSION%%/priv/lib/couch_icu_driver.so
lib/couchdb/erlang/lib/couch-%%VERSION%%/priv/stat_descriptions.cfg
lib/couchdb/erlang/lib/couch_dbupdates-0.1/ebin/couch_dbupdates.beam
lib/couchdb/erlang/lib/couch_dbupdates-0.1/ebin/couch_dbupdates_httpd.beam
lib/couchdb/erlang/lib/couch_index-0.1/ebin/couch_index.beam
lib/couchdb/erlang/lib/couch_index-0.1/ebin/couch_index_compactor.beam
lib/couchdb/erlang/lib/couch_index-0.1/ebin/couch_index_server.beam
lib/couchdb/erlang/lib/couch_index-0.1/ebin/couch_index_updater.beam
lib/couchdb/erlang/lib/couch_index-0.1/ebin/couch_index_util.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview.app
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview_cleanup.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview_compactor.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview_http.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview_index.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview_show.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview_test_util.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview_updater.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/ebin/couch_mrview_util.beam
lib/couchdb/erlang/lib/couch_mrview-0.1/include/couch_mrview.hrl
lib/couchdb/erlang/lib/couch_plugins-0.1/ebin/couch_plugins.app
lib/couchdb/erlang/lib/couch_plugins-0.1/ebin/couch_plugins.beam
lib/couchdb/erlang/lib/couch_plugins-0.1/ebin/couch_plugins_httpd.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator.app
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator_api_wrap.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator_httpc.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator_httpc_pool.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator_httpd.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator_job_sup.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator_manager.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator_notifier.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator_utils.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/ebin/couch_replicator_worker.beam
lib/couchdb/erlang/lib/couch_replicator-0.1/include/couch_replicator.hrl
lib/couchdb/erlang/lib/couch_replicator-0.1/include/couch_replicator_api_wrap.hrl
lib/couchdb/erlang/lib/couch_replicator-0.1/include/couch_replicator_js_functions.hrl
lib/couchdb/erlang/lib/ejson-0.1.0/ebin/ejson.app
lib/couchdb/erlang/lib/ejson-0.1.0/ebin/ejson.beam
lib/couchdb/erlang/lib/ejson-0.1.0/ebin/mochijson2.beam
lib/couchdb/erlang/lib/ejson-0.1.0/ebin/mochinum.beam
lib/couchdb/erlang/lib/ejson-0.1.0/priv/ejson.so
lib/couchdb/erlang/lib/erlang-oauth/ebin/oauth.app
lib/couchdb/erlang/lib/erlang-oauth/ebin/oauth.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse.app
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse_app.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse_http_client.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse_lb.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse_lib.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse_socks5.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse_sup.beam
lib/couchdb/erlang/lib/ibrowse-2.2.0/ebin/ibrowse_test.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochifmt.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochifmt_records.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochifmt_std.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiglobal.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochihex.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochijson.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochijson2.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochilists.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochilogfile2.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochinum.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochitemp.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiutf8.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb.app
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_acceptor.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_app.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_charref.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_cookies.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_cover.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_echo.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_headers.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_html.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_http.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_io.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_mime.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_multipart.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_request.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_response.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_skel.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_socket.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_socket_server.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_sup.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/mochiweb_util.beam
lib/couchdb/erlang/lib/mochiweb-1.4.1/ebin/reloader.beam
lib/couchdb/erlang/lib/snappy-1.0.5/ebin/snappy.app
lib/couchdb/erlang/lib/snappy-1.0.5/ebin/snappy.beam
lib/couchdb/erlang/lib/snappy-1.0.5/priv/snappy_nif.so
man/man1/couchdb.1.gz
man/man1/couchjs.1.gz
%%DATADIR%%/server/main-coffee.js
%%DATADIR%%/server/main.js
%%DATADIR%%/www/_sidebar.html
%%DATADIR%%/www/config.html
%%DATADIR%%/www/couch_tests.html
%%DATADIR%%/www/custom_test.html
%%DATADIR%%/www/database.html
%%DATADIR%%/www/dialog/_admin_party.html
%%DATADIR%%/www/dialog/_change_password.html
%%DATADIR%%/www/dialog/_compact_cleanup.html
%%DATADIR%%/www/dialog/_copy_document.html
%%DATADIR%%/www/dialog/_create_admin.html
%%DATADIR%%/www/dialog/_create_config.html
%%DATADIR%%/www/dialog/_create_database.html
%%DATADIR%%/www/dialog/_database_security.html
%%DATADIR%%/www/dialog/_delete_database.html
%%DATADIR%%/www/dialog/_delete_document.html
%%DATADIR%%/www/dialog/_login.html
%%DATADIR%%/www/dialog/_save_view_as.html
%%DATADIR%%/www/dialog/_share_test_reports.html
%%DATADIR%%/www/dialog/_signup.html
%%DATADIR%%/www/dialog/_upload_attachment.html
%%DATADIR%%/www/docs/_images/futon-createdb.png
%%DATADIR%%/www/docs/_images/futon-editdoc.png
%%DATADIR%%/www/docs/_images/futon-editeddoc.png
%%DATADIR%%/www/docs/_images/futon-overview.png
%%DATADIR%%/www/docs/_images/futon-replform.png
%%DATADIR%%/www/docs/_images/intro-consistency-01.png
%%DATADIR%%/www/docs/_images/intro-consistency-02.png
%%DATADIR%%/www/docs/_images/intro-consistency-03.png
%%DATADIR%%/www/docs/_images/intro-consistency-04.png
%%DATADIR%%/www/docs/_images/intro-consistency-05.png
%%DATADIR%%/www/docs/_images/intro-consistency-06.png
%%DATADIR%%/www/docs/_images/intro-consistency-07.png
%%DATADIR%%/www/docs/_images/intro-tour-01.png
%%DATADIR%%/www/docs/_images/intro-tour-03.png
%%DATADIR%%/www/docs/_images/intro-tour-04.png
%%DATADIR%%/www/docs/_images/intro-tour-05.png
%%DATADIR%%/www/docs/_images/intro-tour-06.png
%%DATADIR%%/www/docs/_images/intro-tour-07.png
%%DATADIR%%/www/docs/_images/intro-tour-08.png
%%DATADIR%%/www/docs/_images/intro-tour-09.png
%%DATADIR%%/www/docs/_images/intro-tour-10.png
%%DATADIR%%/www/docs/_images/intro-why-01.png
%%DATADIR%%/www/docs/_images/intro-why-02.png
%%DATADIR%%/www/docs/_images/intro-why-03.png
%%DATADIR%%/www/docs/_images/views-intro-01.png
%%DATADIR%%/www/docs/_images/views-intro-02.png
%%DATADIR%%/www/docs/_images/views-intro-03.png
%%DATADIR%%/www/docs/_images/views-intro-04.png
%%DATADIR%%/www/docs/_sources/about.txt
%%DATADIR%%/www/docs/_sources/api/basics.txt
%%DATADIR%%/www/docs/_sources/api/database/bulk-api.txt
%%DATADIR%%/www/docs/_sources/api/database/changes.txt
%%DATADIR%%/www/docs/_sources/api/database/common.txt
%%DATADIR%%/www/docs/_sources/api/database/compact.txt
%%DATADIR%%/www/docs/_sources/api/database/index.txt
%%DATADIR%%/www/docs/_sources/api/database/misc.txt
%%DATADIR%%/www/docs/_sources/api/database/security.txt
%%DATADIR%%/www/docs/_sources/api/database/temp-views.txt
%%DATADIR%%/www/docs/_sources/api/ddoc/common.txt
%%DATADIR%%/www/docs/_sources/api/ddoc/index.txt
%%DATADIR%%/www/docs/_sources/api/ddoc/render.txt
%%DATADIR%%/www/docs/_sources/api/ddoc/rewrites.txt
%%DATADIR%%/www/docs/_sources/api/ddoc/views.txt
%%DATADIR%%/www/docs/_sources/api/document/attachments.txt
%%DATADIR%%/www/docs/_sources/api/document/common.txt
%%DATADIR%%/www/docs/_sources/api/document/index.txt
%%DATADIR%%/www/docs/_sources/api/index.txt
%%DATADIR%%/www/docs/_sources/api/local.txt
%%DATADIR%%/www/docs/_sources/api/server/authn.txt
%%DATADIR%%/www/docs/_sources/api/server/common.txt
%%DATADIR%%/www/docs/_sources/api/server/configuration.txt
%%DATADIR%%/www/docs/_sources/api/server/index.txt
%%DATADIR%%/www/docs/_sources/config/auth.txt
%%DATADIR%%/www/docs/_sources/config/compaction.txt
%%DATADIR%%/www/docs/_sources/config/couchdb.txt
%%DATADIR%%/www/docs/_sources/config/externals.txt
%%DATADIR%%/www/docs/_sources/config/http-handlers.txt
%%DATADIR%%/www/docs/_sources/config/http.txt
%%DATADIR%%/www/docs/_sources/config/index.txt
%%DATADIR%%/www/docs/_sources/config/intro.txt
%%DATADIR%%/www/docs/_sources/config/logging.txt
%%DATADIR%%/www/docs/_sources/config/misc.txt
%%DATADIR%%/www/docs/_sources/config/proxying.txt
%%DATADIR%%/www/docs/_sources/config/query-servers.txt
%%DATADIR%%/www/docs/_sources/config/replicator.txt
%%DATADIR%%/www/docs/_sources/config/services.txt
%%DATADIR%%/www/docs/_sources/contents.txt
%%DATADIR%%/www/docs/_sources/contributing.txt
%%DATADIR%%/www/docs/_sources/couchapp/ddocs.txt
%%DATADIR%%/www/docs/_sources/couchapp/index.txt
%%DATADIR%%/www/docs/_sources/couchapp/views/collation.txt
%%DATADIR%%/www/docs/_sources/couchapp/views/index.txt
%%DATADIR%%/www/docs/_sources/couchapp/views/intro.txt
%%DATADIR%%/www/docs/_sources/couchapp/views/joins.txt
%%DATADIR%%/www/docs/_sources/couchapp/views/nosql.txt
%%DATADIR%%/www/docs/_sources/couchapp/views/pagination.txt
%%DATADIR%%/www/docs/_sources/cve/2010-0009.txt
%%DATADIR%%/www/docs/_sources/cve/2010-2234.txt
%%DATADIR%%/www/docs/_sources/cve/2010-3854.txt
%%DATADIR%%/www/docs/_sources/cve/2012-5641.txt
%%DATADIR%%/www/docs/_sources/cve/2012-5649.txt
%%DATADIR%%/www/docs/_sources/cve/2012-5650.txt
%%DATADIR%%/www/docs/_sources/cve/index.txt
%%DATADIR%%/www/docs/_sources/experimental.txt
%%DATADIR%%/www/docs/_sources/externals.txt
%%DATADIR%%/www/docs/_sources/install/freebsd.txt
%%DATADIR%%/www/docs/_sources/install/index.txt
%%DATADIR%%/www/docs/_sources/install/mac.txt
%%DATADIR%%/www/docs/_sources/install/unix.txt
%%DATADIR%%/www/docs/_sources/install/windows.txt
%%DATADIR%%/www/docs/_sources/intro/api.txt
%%DATADIR%%/www/docs/_sources/intro/consistency.txt
%%DATADIR%%/www/docs/_sources/intro/curl.txt
%%DATADIR%%/www/docs/_sources/intro/futon.txt
%%DATADIR%%/www/docs/_sources/intro/index.txt
%%DATADIR%%/www/docs/_sources/intro/overview.txt
%%DATADIR%%/www/docs/_sources/intro/security.txt
%%DATADIR%%/www/docs/_sources/intro/tour.txt
%%DATADIR%%/www/docs/_sources/intro/why.txt
%%DATADIR%%/www/docs/_sources/json-structure.txt
%%DATADIR%%/www/docs/_sources/maintenance/compaction.txt
%%DATADIR%%/www/docs/_sources/maintenance/index.txt
%%DATADIR%%/www/docs/_sources/maintenance/performance.txt
%%DATADIR%%/www/docs/_sources/query-server/erlang.txt
%%DATADIR%%/www/docs/_sources/query-server/index.txt
%%DATADIR%%/www/docs/_sources/query-server/javascript.txt
%%DATADIR%%/www/docs/_sources/query-server/protocol.txt
%%DATADIR%%/www/docs/_sources/replication/conflicts.txt
%%DATADIR%%/www/docs/_sources/replication/index.txt
%%DATADIR%%/www/docs/_sources/replication/intro.txt
%%DATADIR%%/www/docs/_sources/replication/protocol.txt
%%DATADIR%%/www/docs/_sources/replication/replicator.txt
%%DATADIR%%/www/docs/_sources/whatsnew/0.10.txt
%%DATADIR%%/www/docs/_sources/whatsnew/0.11.txt
%%DATADIR%%/www/docs/_sources/whatsnew/0.8.txt
%%DATADIR%%/www/docs/_sources/whatsnew/0.9.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.0.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.1.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.2.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.3.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.4.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.5.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.6.txt
%%DATADIR%%/www/docs/_sources/whatsnew/1.7.txt
%%DATADIR%%/www/docs/_sources/whatsnew/index.txt
%%DATADIR%%/www/docs/_static/ajax-loader.gif
%%DATADIR%%/www/docs/_static/basic.css
%%DATADIR%%/www/docs/_static/comment-bright.png
%%DATADIR%%/www/docs/_static/comment-close.png
%%DATADIR%%/www/docs/_static/comment.png
%%DATADIR%%/www/docs/_static/default.css
%%DATADIR%%/www/docs/_static/doctools.js
%%DATADIR%%/www/docs/_static/down-pressed.png
%%DATADIR%%/www/docs/_static/down.png
%%DATADIR%%/www/docs/_static/favicon.ico
%%DATADIR%%/www/docs/_static/file.png
%%DATADIR%%/www/docs/_static/jquery.js
%%DATADIR%%/www/docs/_static/logo.png
%%DATADIR%%/www/docs/_static/minus.png
%%DATADIR%%/www/docs/_static/plus.png
%%DATADIR%%/www/docs/_static/pygments.css
%%DATADIR%%/www/docs/_static/rtd.css
%%DATADIR%%/www/docs/_static/searchtools.js
%%DATADIR%%/www/docs/_static/sidebar.js
%%DATADIR%%/www/docs/_static/underscore.js
%%DATADIR%%/www/docs/_static/up-pressed.png
%%DATADIR%%/www/docs/_static/up.png
%%DATADIR%%/www/docs/_static/websupport.js
%%DATADIR%%/www/docs/about.html
%%DATADIR%%/www/docs/api/basics.html
%%DATADIR%%/www/docs/api/database/bulk-api.html
%%DATADIR%%/www/docs/api/database/changes.html
%%DATADIR%%/www/docs/api/database/common.html
%%DATADIR%%/www/docs/api/database/compact.html
%%DATADIR%%/www/docs/api/database/index.html
%%DATADIR%%/www/docs/api/database/misc.html
%%DATADIR%%/www/docs/api/database/security.html
%%DATADIR%%/www/docs/api/database/temp-views.html
%%DATADIR%%/www/docs/api/ddoc/common.html
%%DATADIR%%/www/docs/api/ddoc/index.html
%%DATADIR%%/www/docs/api/ddoc/render.html
%%DATADIR%%/www/docs/api/ddoc/rewrites.html
%%DATADIR%%/www/docs/api/ddoc/views.html
%%DATADIR%%/www/docs/api/document/attachments.html
%%DATADIR%%/www/docs/api/document/common.html
%%DATADIR%%/www/docs/api/document/index.html
%%DATADIR%%/www/docs/api/index.html
%%DATADIR%%/www/docs/api/local.html
%%DATADIR%%/www/docs/api/server/authn.html
%%DATADIR%%/www/docs/api/server/common.html
%%DATADIR%%/www/docs/api/server/configuration.html
%%DATADIR%%/www/docs/api/server/index.html
%%DATADIR%%/www/docs/config-ref.html
%%DATADIR%%/www/docs/config/auth.html
%%DATADIR%%/www/docs/config/compaction.html
%%DATADIR%%/www/docs/config/couchdb.html
%%DATADIR%%/www/docs/config/externals.html
%%DATADIR%%/www/docs/config/http-handlers.html
%%DATADIR%%/www/docs/config/http.html
%%DATADIR%%/www/docs/config/index.html
%%DATADIR%%/www/docs/config/intro.html
%%DATADIR%%/www/docs/config/logging.html
%%DATADIR%%/www/docs/config/misc.html
%%DATADIR%%/www/docs/config/proxying.html
%%DATADIR%%/www/docs/config/query-servers.html
%%DATADIR%%/www/docs/config/replicator.html
%%DATADIR%%/www/docs/config/services.html
%%DATADIR%%/www/docs/contents.html
%%DATADIR%%/www/docs/contributing.html
%%DATADIR%%/www/docs/couchapp/ddocs.html
%%DATADIR%%/www/docs/couchapp/index.html
%%DATADIR%%/www/docs/couchapp/views/collation.html
%%DATADIR%%/www/docs/couchapp/views/index.html
%%DATADIR%%/www/docs/couchapp/views/intro.html
%%DATADIR%%/www/docs/couchapp/views/joins.html
%%DATADIR%%/www/docs/couchapp/views/nosql.html
%%DATADIR%%/www/docs/couchapp/views/pagination.html
%%DATADIR%%/www/docs/cve/2010-0009.html
%%DATADIR%%/www/docs/cve/2010-2234.html
%%DATADIR%%/www/docs/cve/2010-3854.html
%%DATADIR%%/www/docs/cve/2012-5641.html
%%DATADIR%%/www/docs/cve/2012-5649.html
%%DATADIR%%/www/docs/cve/2012-5650.html
%%DATADIR%%/www/docs/cve/index.html
%%DATADIR%%/www/docs/download.html
%%DATADIR%%/www/docs/experimental.html
%%DATADIR%%/www/docs/externals.html
%%DATADIR%%/www/docs/http-api.html
%%DATADIR%%/www/docs/index.html
%%DATADIR%%/www/docs/install/freebsd.html
%%DATADIR%%/www/docs/install/index.html
%%DATADIR%%/www/docs/install/mac.html
%%DATADIR%%/www/docs/install/unix.html
%%DATADIR%%/www/docs/install/windows.html
%%DATADIR%%/www/docs/intro/api.html
%%DATADIR%%/www/docs/intro/consistency.html
%%DATADIR%%/www/docs/intro/curl.html
%%DATADIR%%/www/docs/intro/futon.html
%%DATADIR%%/www/docs/intro/index.html
%%DATADIR%%/www/docs/intro/overview.html
%%DATADIR%%/www/docs/intro/security.html
%%DATADIR%%/www/docs/intro/tour.html
%%DATADIR%%/www/docs/intro/why.html
%%DATADIR%%/www/docs/json-structure.html
%%DATADIR%%/www/docs/maintenance/compaction.html
%%DATADIR%%/www/docs/maintenance/index.html
%%DATADIR%%/www/docs/maintenance/performance.html
%%DATADIR%%/www/docs/objects.inv
%%DATADIR%%/www/docs/query-server/erlang.html
%%DATADIR%%/www/docs/query-server/index.html
%%DATADIR%%/www/docs/query-server/javascript.html
%%DATADIR%%/www/docs/query-server/protocol.html
%%DATADIR%%/www/docs/replication/conflicts.html
%%DATADIR%%/www/docs/replication/index.html
%%DATADIR%%/www/docs/replication/intro.html
%%DATADIR%%/www/docs/replication/protocol.html
%%DATADIR%%/www/docs/replication/replicator.html
%%DATADIR%%/www/docs/search.html
%%DATADIR%%/www/docs/searchindex.js
%%DATADIR%%/www/docs/whatsnew/0.10.html
%%DATADIR%%/www/docs/whatsnew/0.11.html
%%DATADIR%%/www/docs/whatsnew/0.8.html
%%DATADIR%%/www/docs/whatsnew/0.9.html
%%DATADIR%%/www/docs/whatsnew/1.0.html
%%DATADIR%%/www/docs/whatsnew/1.1.html
%%DATADIR%%/www/docs/whatsnew/1.2.html
%%DATADIR%%/www/docs/whatsnew/1.3.html
%%DATADIR%%/www/docs/whatsnew/1.4.html
%%DATADIR%%/www/docs/whatsnew/1.5.html
%%DATADIR%%/www/docs/whatsnew/1.6.html
%%DATADIR%%/www/docs/whatsnew/1.7.html
%%DATADIR%%/www/docs/whatsnew/index.html
%%DATADIR%%/www/document.html
%%DATADIR%%/www/favicon.ico
%%DATADIR%%/www/image/add.png
%%DATADIR%%/www/image/apply.gif
%%DATADIR%%/www/image/bg.png
%%DATADIR%%/www/image/cancel.gif
%%DATADIR%%/www/image/compact.png
%%DATADIR%%/www/image/copy.png
%%DATADIR%%/www/image/delete-mini.png
%%DATADIR%%/www/image/delete.png
%%DATADIR%%/www/image/grippie.gif
%%DATADIR%%/www/image/hgrad.gif
%%DATADIR%%/www/image/key.png
%%DATADIR%%/www/image/load.png
%%DATADIR%%/www/image/logo.png
%%DATADIR%%/www/image/order-asc.gif
%%DATADIR%%/www/image/order-desc.gif
%%DATADIR%%/www/image/path.gif
%%DATADIR%%/www/image/progress.gif
%%DATADIR%%/www/image/rarrow.png
%%DATADIR%%/www/image/run-mini.png
%%DATADIR%%/www/image/run.png
%%DATADIR%%/www/image/running.png
%%DATADIR%%/www/image/save.png
%%DATADIR%%/www/image/sidebar-toggle.png
%%DATADIR%%/www/image/spinner.gif
%%DATADIR%%/www/image/spinner_33.gif
%%DATADIR%%/www/image/spinner_6b.gif
%%DATADIR%%/www/image/test_failure.gif
%%DATADIR%%/www/image/test_success.gif
%%DATADIR%%/www/image/thead-key.gif
%%DATADIR%%/www/image/thead.gif
%%DATADIR%%/www/image/toggle-collapse.gif
%%DATADIR%%/www/image/toggle-expand.gif
%%DATADIR%%/www/image/twisty.gif
%%DATADIR%%/www/index.html
%%DATADIR%%/www/plugins.html
%%DATADIR%%/www/replicator.html
%%DATADIR%%/www/script/base64.js
%%DATADIR%%/www/script/couch.js
%%DATADIR%%/www/script/couch_test_runner.js
%%DATADIR%%/www/script/couch_tests.js
%%DATADIR%%/www/script/futon.browse.js
%%DATADIR%%/www/script/futon.format.js
%%DATADIR%%/www/script/futon.js
%%DATADIR%%/www/script/jquery-ui-1.10.4.custom.min.js
%%DATADIR%%/www/script/jquery.couch.js
%%DATADIR%%/www/script/jquery.dialog.js
%%DATADIR%%/www/script/jquery.editinline.js
%%DATADIR%%/www/script/jquery.form.js
%%DATADIR%%/www/script/jquery.js
%%DATADIR%%/www/script/jquery.resizer.js
%%DATADIR%%/www/script/jquery.suggest.js
%%DATADIR%%/www/script/json2.js
%%DATADIR%%/www/script/jspec/jspec.css
%%DATADIR%%/www/script/jspec/jspec.jquery.js
%%DATADIR%%/www/script/jspec/jspec.js
%%DATADIR%%/www/script/jspec/jspec.xhr.js
%%DATADIR%%/www/script/oauth.js
%%DATADIR%%/www/script/replicator_db_inc.js
%%DATADIR%%/www/script/sha1.js
%%DATADIR%%/www/script/test/all_docs.js
%%DATADIR%%/www/script/test/attachment_names.js
%%DATADIR%%/www/script/test/attachment_paths.js
%%DATADIR%%/www/script/test/attachment_ranges.js
%%DATADIR%%/www/script/test/attachment_views.js
%%DATADIR%%/www/script/test/attachments.js
%%DATADIR%%/www/script/test/attachments_multipart.js
%%DATADIR%%/www/script/test/auth_cache.js
%%DATADIR%%/www/script/test/basics.js
%%DATADIR%%/www/script/test/batch_save.js
%%DATADIR%%/www/script/test/bulk_docs.js
%%DATADIR%%/www/script/test/changes.js
%%DATADIR%%/www/script/test/coffee.js
%%DATADIR%%/www/script/test/compact.js
%%DATADIR%%/www/script/test/config.js
%%DATADIR%%/www/script/test/conflicts.js
%%DATADIR%%/www/script/test/content_negotiation.js
%%DATADIR%%/www/script/test/cookie_auth.js
%%DATADIR%%/www/script/test/copy_doc.js
%%DATADIR%%/www/script/test/delayed_commits.js
%%DATADIR%%/www/script/test/design_docs.js
%%DATADIR%%/www/script/test/design_options.js
%%DATADIR%%/www/script/test/design_paths.js
%%DATADIR%%/www/script/test/erlang_views.js
%%DATADIR%%/www/script/test/etags_head.js
%%DATADIR%%/www/script/test/etags_views.js
%%DATADIR%%/www/script/test/form_submit.js
%%DATADIR%%/www/script/test/http.js
%%DATADIR%%/www/script/test/invalid_docids.js
%%DATADIR%%/www/script/test/jsonp.js
%%DATADIR%%/www/script/test/large_docs.js
%%DATADIR%%/www/script/test/list_views.js
%%DATADIR%%/www/script/test/lorem.txt
%%DATADIR%%/www/script/test/lorem_b64.txt
%%DATADIR%%/www/script/test/lots_of_docs.js
%%DATADIR%%/www/script/test/method_override.js
%%DATADIR%%/www/script/test/multiple_rows.js
%%DATADIR%%/www/script/test/oauth.js
%%DATADIR%%/www/script/test/oauth_users_db.js
%%DATADIR%%/www/script/test/proxyauth.js
%%DATADIR%%/www/script/test/purge.js
%%DATADIR%%/www/script/test/reader_acl.js
%%DATADIR%%/www/script/test/recreate_doc.js
%%DATADIR%%/www/script/test/reduce.js
%%DATADIR%%/www/script/test/reduce_builtin.js
%%DATADIR%%/www/script/test/reduce_false.js
%%DATADIR%%/www/script/test/reduce_false_temp.js
%%DATADIR%%/www/script/test/replication.js
%%DATADIR%%/www/script/test/replicator_db_bad_rep_id.js
%%DATADIR%%/www/script/test/replicator_db_by_doc_id.js
%%DATADIR%%/www/script/test/replicator_db_compact_rep_db.js
%%DATADIR%%/www/script/test/replicator_db_continuous.js
%%DATADIR%%/www/script/test/replicator_db_credential_delegation.js
%%DATADIR%%/www/script/test/replicator_db_field_validation.js
%%DATADIR%%/www/script/test/replicator_db_filtered.js
%%DATADIR%%/www/script/test/replicator_db_identical.js
%%DATADIR%%/www/script/test/replicator_db_identical_continuous.js
%%DATADIR%%/www/script/test/replicator_db_invalid_filter.js
%%DATADIR%%/www/script/test/replicator_db_security.js
%%DATADIR%%/www/script/test/replicator_db_simple.js
%%DATADIR%%/www/script/test/replicator_db_successive.js
%%DATADIR%%/www/script/test/replicator_db_survives.js
%%DATADIR%%/www/script/test/replicator_db_swap_rep_db.js
%%DATADIR%%/www/script/test/replicator_db_update_security.js
%%DATADIR%%/www/script/test/replicator_db_user_ctx.js
%%DATADIR%%/www/script/test/replicator_db_write_auth.js
%%DATADIR%%/www/script/test/rev_stemming.js
%%DATADIR%%/www/script/test/rewrite.js
%%DATADIR%%/www/script/test/security_validation.js
%%DATADIR%%/www/script/test/show_documents.js
%%DATADIR%%/www/script/test/stats.js
%%DATADIR%%/www/script/test/update_documents.js
%%DATADIR%%/www/script/test/users_db.js
%%DATADIR%%/www/script/test/users_db_security.js
%%DATADIR%%/www/script/test/utf8.js
%%DATADIR%%/www/script/test/uuids.js
%%DATADIR%%/www/script/test/view_collation.js
%%DATADIR%%/www/script/test/view_collation_raw.js
%%DATADIR%%/www/script/test/view_compaction.js
%%DATADIR%%/www/script/test/view_conflicts.js
%%DATADIR%%/www/script/test/view_errors.js
%%DATADIR%%/www/script/test/view_include_docs.js
%%DATADIR%%/www/script/test/view_multi_key_all_docs.js
%%DATADIR%%/www/script/test/view_multi_key_design.js
%%DATADIR%%/www/script/test/view_multi_key_temp.js
%%DATADIR%%/www/script/test/view_offsets.js
%%DATADIR%%/www/script/test/view_pagination.js
%%DATADIR%%/www/script/test/view_sandboxing.js
%%DATADIR%%/www/script/test/view_update_seq.js
%%DATADIR%%/www/session.html
%%DATADIR%%/www/spec/couch_js_class_methods_spec.js
%%DATADIR%%/www/spec/couch_js_instance_methods_1_spec.js
%%DATADIR%%/www/spec/couch_js_instance_methods_2_spec.js
%%DATADIR%%/www/spec/couch_js_instance_methods_3_spec.js
%%DATADIR%%/www/spec/custom_helpers.js
%%DATADIR%%/www/spec/jquery_couch_js_class_methods_spec.js
%%DATADIR%%/www/spec/jquery_couch_js_instance_methods_1_spec.js
%%DATADIR%%/www/spec/jquery_couch_js_instance_methods_2_spec.js
%%DATADIR%%/www/spec/jquery_couch_js_instance_methods_3_spec.js
%%DATADIR%%/www/spec/run.html
%%DATADIR%%/www/status.html
%%DATADIR%%/www/style/jquery-ui-1.8.11.custom.css
%%DATADIR%%/www/style/layout.css
%%DATADIR%%/www/verify_install.html
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS.gz
%%PORTDOCS%%%%DOCSDIR%%/BUGS.gz
%%PORTDOCS%%%%DOCSDIR%%/CouchDB.pdf.gz
%%PORTDOCS%%%%DOCSDIR%%/DEVELOPERS.gz
%%PORTDOCS%%%%DOCSDIR%%/INSTALL.Unix.gz
%%PORTDOCS%%%%DOCSDIR%%/INSTALL.Windows.gz
%%PORTDOCS%%%%DOCSDIR%%/INSTALL.gz
%%PORTDOCS%%%%DOCSDIR%%/LICENSE.gz
%%PORTDOCS%%%%DOCSDIR%%/NOTICE.gz
%%PORTDOCS%%%%DOCSDIR%%/README.gz
%%PORTDOCS%%%%DOCSDIR%%/THANKS.gz

View File

@ -1,91 +0,0 @@
# $FreeBSD$
PORTNAME= riak
PORTVERSION= 1.4.12
PORTREVISION= 5
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
DEPRECATED= No longer supported upstream, see riak 2.9.0 and newer
EXPIRATION_DATE= 2020-01-01
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>

View File

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

View File

@ -1,29 +0,0 @@
--- 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

@ -1,36 +0,0 @@
--- 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

@ -1,18 +0,0 @@
--- 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

@ -1,20 +0,0 @@
The same patch as here:
https://bugzilla.mozilla.org/show_bug.cgi?id=1444953
Fix build on -current after 1200059
--- 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

@ -1,28 +0,0 @@
--- 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

@ -1,16 +0,0 @@
--- 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

@ -1,41 +0,0 @@
--- 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

@ -1,84 +0,0 @@
#!/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"

View File

@ -1,6 +0,0 @@
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/

View File

@ -1,19 +0,0 @@
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%%

View File

@ -64,11 +64,6 @@
SUBDIR += erlang-java
SUBDIR += erlang-man
SUBDIR += erlang-riak
SUBDIR += erlang-runtime15
SUBDIR += erlang-runtime16
SUBDIR += erlang-runtime17
SUBDIR += erlang-runtime18
SUBDIR += erlang-runtime19
SUBDIR += erlang-runtime20
SUBDIR += erlang-runtime21
SUBDIR += erlang-runtime22

View File

@ -1,131 +0,0 @@
# Created by: ruslan@shevchenko.kiev.ua
# $FreeBSD$
PORTNAME= erlang
DISTVERSIONPREFIX= OTP_R
DISTVERSION= 15B03-1
PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= lang parallel java
PKGNAMESUFFIX= -runtime15
DIST_SUBDIR= erlang
MAINTAINER= rm@FreeBSD.org
COMMENT= Functional programming language from Ericsson
DEPRECATED= No longer supported upstream, use lang/erlang >= 21
EXPIRATION_DATE= 2020-01-01
USES= autoreconf:build gmake ncurses perl5
USE_GITHUB= yes
GH_PROJECT= otp
USE_PERL5= build
GNU_CONFIGURE= yes
MAKE_JOBS_UNSAFE=yes
SUB_FILES= pkg-message
SUB_LIST= ERLANG_LIB=${ERLANG_LIB}
ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//}
OPTIONS_DEFINE= DTRACE GS HIPE JAVA KQUEUE ODBC OPENSSL SCTP SMP THREADS WX
OPTIONS_DEFAULT=KQUEUE OPENSSL SCTP SMP THREADS
GS_DESC= Enable GS application (deprecated)
HIPE_DESC= Build native HiPE compiler
KQUEUE_DESC= Enable Kernel Poll (kqueue) support
SCTP_DESC= Enable SCTP support
SMP_DESC= Enable SMP support
WX_DESC= Enable WX application
.if !exists(/usr/sbin/dtrace)
OPTIONS_EXCLUDE+= DTRACE
.endif
OPTIONS_EXCLUDE_DragonFly= HIPE SCTP
OPENSSL_VARS= BROKEN_SSL=openssl111
# If you run Erlang and get a message resembling "WARNING: number of
# probes fixed does not match the number of defined probes (54 != 132,
# respectively)" you probably misconfigured DTrace in some way.
DTRACE_CFLAGS= -fno-omit-frame-pointer
DTRACE_CONFIGURE_WITH= dynamic-trace=dtrace
DTRACE_VARS= STRIP=""
GS_USES= tk:run
HIPE_CONFIGURE_ENABLE= hipe
JAVA_CONFIGURE_ENV= ac_cv_prog_JAVAC="${JAVAC}"
JAVA_CONFIGURE_WITH= javac
JAVA_VARS= USE_JAVA=yes
KQUEUE_CONFIGURE_ENABLE=kernel-poll
ODBC_CONFIGURE_WITH= odbc
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
OPENSSL_CONFIGURE_WITH= ssl=${OPENSSLBASE}
OPENSSL_USES= ssl
SCTP_CONFIGURE_ENABLE= sctp
SMP_CONFIGURE_ENABLE= smp-support
THREADS_CONFIGURE_ENABLE= threads
WX_CONFIGURE_WITH= wx-config=${WX_CONFIG}
WX_USES= gl
WX_VARS= USE_WX=2.8+ WX_COMPS="wx contrib" USE_GL="gl glu"
.include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD
. if ${OSVERSION} >= 1200085 && ${SSL_DEFAULT} == base
BROKEN= Does not support OpenSSL 1.1, use Erlang 19+
. endif
.endif
.if ${OPSYS} == FreeBSD
CFLAGS+= -DMAP_NORESERVE=0
.endif
.if ${ARCH} == i386
MAKE_ARGS+= ARCH=x86
.endif
.if ${ARCH} == armv6 || ${ARCH} == armv7
MAKE_ARGS+= ARCH=arm
.endif
pre-configure:
@cd ${WRKSRC} && ./otp_build autoconf
pre-configure-WX-off:
echo "disabled by port options" > ${WRKSRC}/lib/debugger/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/et/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/observer/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP
post-configure-ODBC-on:
${RM} ${WRKSRC}/lib/odbc/SKIP
post-install-GS-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/gs-*
post-install-JAVA-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/jinterface-*
post-install-ODBC-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/odbc-*
post-install-OPENSSL-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/crypto-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssh-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssl-*
post-install-WX-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/debugger-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/et-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/observer-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/wx-*
post-stage:
${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
@cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \
| ${SORT} >> ${TMPPLIST}
.include <bsd.port.post.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1552839129
SHA256 (erlang/erlang-otp-OTP_R15B03-1_GH0.tar.gz) = bc0defdb2b234e56a39a28ca8341ea102d5aa09a41b64258bee199ef912b47eb
SIZE (erlang/erlang-otp-OTP_R15B03-1_GH0.tar.gz) = 33936773

View File

@ -1,20 +0,0 @@
--- Makefile.in.orig
+++ Makefile.in
@@ -56,7 +56,7 @@
libdir = @libdir@
# Where Erlang/OTP is located
-libdir_suffix = /erlang
+libdir_suffix = /erlang15
erlang_libdir = $(libdir)$(libdir_suffix)
erlang_bindir = $(erlang_libdir)/bin
@@ -913,7 +913,7 @@
#
# Order is important here, don't change it!
#
-INST_DEP += install.dirs install.emulator install.libs install.Install install.bin
+INST_DEP += install.dirs install.emulator install.libs install.Install
install: $(INST_DEP)

View File

@ -1,11 +0,0 @@
--- erts/emulator/Makefile.in.orig
+++ erts/emulator/Makefile.in
@@ -544,7 +546,7 @@
endif
$(OBJDIR)/%.o: beam/%.c
- $(CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@
+ $(CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@
else

View File

@ -1,341 +0,0 @@
--- erts/emulator/drivers/common/efile_drv.c.orig
+++ erts/emulator/drivers/common/efile_drv.c
@@ -311,6 +311,18 @@
unsigned flags; /* Original flags from FILE_OPEN. */
void (*invoke)(void *);
struct t_data *d;
+ /*
+ * If an operation against a compressed file is being executed
+ * by an async thread, ensure the stop callback doesn't close
+ * the fd (gzFile) while the async thread doesn't finish using
+ * the fd (gzFile) - otherwise it accesses a dangling pointer.
+ * The following comp_op_* variables are used to coordinate the
+ * driver stop callback with the ongoing async operation.
+ */
+ int comp_op_in_progress;
+ volatile int comp_op_done;
+ erts_mtx_t comp_op_mtx;
+ erts_cnd_t comp_op_cnd;
void (*free)(void *);
struct t_data *cq_head; /* Queue of incoming commands */
struct t_data *cq_tail; /* -""- */
@@ -426,6 +438,9 @@
struct t_data *next;
int command;
int level;
+ int volatile *comp_op_done;
+ erts_mtx_t *comp_op_mtx;
+ erts_cnd_t *comp_op_cnd;
void (*invoke)(void *);
void (*free)(void *);
int again;
@@ -714,6 +729,14 @@
return d;
}
+static void signal_comp_op_done(struct t_data *d) {
+ if (d->comp_op_done != NULL) {
+ erts_mtx_lock(d->comp_op_mtx);
+ *(d->comp_op_done) = 1;
+ erts_cnd_signal(d->comp_op_cnd);
+ erts_mtx_unlock(d->comp_op_mtx);
+ }
+}
/*********************************************************************
* Driver entry point -> init
@@ -757,6 +780,8 @@
desc->key = (unsigned int) (UWord) port;
desc->flags = 0;
desc->invoke = NULL;
+ desc->comp_op_in_progress = 0;
+ desc->comp_op_done = 0;
desc->d = NULL;
desc->free = NULL;
desc->cq_head = NULL;
@@ -800,6 +825,7 @@
DTRACE_INVOKE_SETUP(FILE_CLOSE);
d->again = 0;
do_close(d->flags, d->fd);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_CLOSE);
}
@@ -814,9 +840,20 @@
TRACE_C('p');
if (desc->fd != FILE_FD_INVALID) {
+ if (desc->comp_op_in_progress) {
+ erts_mtx_lock(&desc->comp_op_mtx);
+ while (!desc->comp_op_done) {
+ erts_cnd_wait(&desc->comp_op_cnd, &desc->comp_op_mtx);
+ }
+ erts_mtx_unlock(&desc->comp_op_mtx);
+ }
do_close(desc->flags, desc->fd);
desc->fd = FILE_FD_INVALID;
desc->flags = 0;
+ if (sys_info.async_threads > 0 && (desc->flags & EFILE_COMPRESSED)) {
+ erts_cnd_destroy(&desc->comp_op_cnd);
+ erts_mtx_destroy(&desc->comp_op_mtx);
+ }
}
if (desc->read_binp) {
driver_free_binary(desc->read_binp);
@@ -1032,6 +1069,7 @@
{
DTRACE_INVOKE_SETUP_BY_NAME(FILE_MKDIR);
invoke_name(data, efile_mkdir);
+ signal_comp_op_done((struct t_data *) data);
DTRACE_INVOKE_RETURN(FILE_MKDIR);
}
@@ -1039,6 +1077,7 @@
{
DTRACE_INVOKE_SETUP_BY_NAME(FILE_RMDIR);
invoke_name(data, efile_rmdir);
+ signal_comp_op_done((struct t_data *) data);
DTRACE_INVOKE_RETURN(FILE_RMDIR);
}
@@ -1046,6 +1085,7 @@
{
DTRACE_INVOKE_SETUP_BY_NAME(FILE_DELETE);
invoke_name(data, efile_delete_file);
+ signal_comp_op_done((struct t_data *) data);
DTRACE_INVOKE_RETURN(FILE_DELETE);
}
@@ -1053,6 +1093,7 @@
{
DTRACE_INVOKE_SETUP_BY_NAME(FILE_CHDIR);
invoke_name(data, efile_chdir);
+ signal_comp_op_done((struct t_data *) data);
DTRACE_INVOKE_RETURN(FILE_CHDIR);
}
@@ -1064,6 +1105,7 @@
d->again = 0;
d->result_ok = efile_fdatasync(&d->errInfo, fd);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_FDATASYNC);
}
@@ -1075,6 +1117,7 @@
d->again = 0;
d->result_ok = efile_fsync(&d->errInfo, fd);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_FSYNC);
}
@@ -1086,6 +1129,7 @@
d->again = 0;
d->result_ok = efile_truncate_file(&d->errInfo, &fd, d->flags);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_TRUNCATE);
}
@@ -1129,6 +1173,7 @@
} else {
d->again = 0;
}
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_READ);
}
@@ -1238,6 +1283,7 @@
break;
}
} while (local_loop);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_READ_LINE);
}
@@ -1298,6 +1344,7 @@
done:
d->again = 0;
chop_done:
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_READ_FILE);
}
@@ -1363,6 +1410,7 @@
}
d->again = 0;
done:
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_PREADV);
}
@@ -1434,6 +1482,7 @@
done:
d->result_ok = !0;
d->again = 0;
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_IPREAD);
}
@@ -1531,6 +1580,7 @@
TRACE_F(("w%lu", (unsigned long)size));
}
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_WRITE);
}
@@ -1550,6 +1600,7 @@
d->again = 0;
d->result_ok = efile_getdcwd(&d->errInfo,d->drive, d->b+1,
RESBUFSIZE-1);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_PWD);
}
@@ -1564,6 +1615,7 @@
RESBUFSIZE-1);
if (d->result_ok != 0)
FILENAME_COPY((char *) d->b + 1, resbuf+1);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_READLINK);
}
@@ -1578,6 +1630,7 @@
RESBUFSIZE-1);
if (d->result_ok != 0)
FILENAME_COPY((char *) d->b + 1, resbuf+1);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_ALTNAME);
}
@@ -1670,6 +1723,7 @@
}
}
done:
+ signal_comp_op_done(d);
EF_FREE(iov); /* Free our copy of the vector, nothing to restore */
DTRACE_INVOKE_RETURN(FILE_PWRITEV);
}
@@ -1695,6 +1749,7 @@
DTRACE3(efile_drv_int_entry, d->sched_i1, d->sched_i2,
d->command == FILE_LSTAT ? FILE_LSTAT : FILE_FSTAT);
gcc_optimizer_hack++;
+ signal_comp_op_done(d);
}
static void invoke_link(void *data)
@@ -1707,6 +1762,7 @@
d->again = 0;
new_name = name+FILENAME_BYTELEN(name)+FILENAME_CHARSIZE;
d->result_ok = efile_link(&d->errInfo, name, new_name);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_LINK);
}
@@ -1720,6 +1776,7 @@
d->again = 0;
new_name = name+FILENAME_BYTELEN(name)+FILENAME_CHARSIZE;
d->result_ok = efile_symlink(&d->errInfo, name, new_name);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_SYMLINK);
}
@@ -1733,6 +1790,7 @@
d->again = 0;
new_name = name+FILENAME_BYTELEN(name)+FILENAME_CHARSIZE;
d->result_ok = efile_rename(&d->errInfo, name, new_name);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_RENAME);
}
@@ -1743,6 +1801,7 @@
d->again = 0;
d->result_ok = efile_write_info(&d->errInfo, &d->info, d->b);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_WRITE_INFO);
}
@@ -1775,6 +1834,7 @@
&d->c.lseek.location);
}
d->result_ok = status;
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_LSEEK);
}
@@ -1822,6 +1882,7 @@
} while(res);
d->result_ok = (d->errInfo.posix_errno == 0);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_READDIR);
}
@@ -1876,6 +1937,7 @@
d->again = 0;
d->result_ok = efile_fadvise(&d->errInfo, fd, offset, length, advise);
+ signal_comp_op_done(d);
DTRACE_INVOKE_RETURN(FILE_FADVISE);
}
@@ -1901,11 +1963,14 @@
d->result_ok = 1;
if (d->c.sendfile.nbytes != 0)
d->c.sendfile.nbytes -= nbytes;
+ } else if (nbytes == 0 && d->c.sendfile.nbytes == 0) {
+ d->result_ok = 1;
} else
d->result_ok = 0;
} else {
d->result_ok = -1;
}
+ signal_comp_op_done(d);
}
static void free_sendfile(void *data) {
@@ -2023,6 +2088,21 @@
return;
TRACE_F(("x%i", (int) d->command));
d->again = sys_info.async_threads == 0;
+
+ if ((desc->flags & EFILE_COMPRESSED) && (sys_info.async_threads > 0) &&
+ (desc->fd != FILE_FD_INVALID)) {
+
+ desc->comp_op_in_progress = 1;
+ desc->comp_op_done = 0;
+ d->comp_op_done = &desc->comp_op_done;
+ d->comp_op_mtx = &desc->comp_op_mtx;
+ d->comp_op_cnd = &desc->comp_op_cnd;
+ } else {
+ d->comp_op_done = NULL;
+ d->comp_op_mtx = NULL;
+ d->comp_op_cnd = NULL;
+ }
+
DRIVER_ASYNC(d->level, desc, d->invoke, void_ptr=d, d->free);
}
@@ -2247,6 +2327,8 @@
return;
}
+ desc->comp_op_in_progress = 0;
+
switch (d->command)
{
case FILE_READ:
@@ -2375,6 +2457,10 @@
} else {
desc->fd = d->fd;
desc->flags = d->flags;
+ if (sys_info.async_threads > 0 && (desc->flags & EFILE_COMPRESSED)) {
+ erts_mtx_init(&desc->comp_op_mtx, "efile_drv comp op mutex");
+ erts_cnd_init(&desc->comp_op_cnd);
+ }
reply_Uint(desc, d->fd);
}
free_data(data);

View File

@ -1,11 +0,0 @@
--- erts/emulator/utils/beam_makeops.orig 2015-04-12 21:52:03 UTC
+++ erts/emulator/utils/beam_makeops
@@ -1711,7 +1711,7 @@ sub tr_gen_to {
my $prev_last;
$prev_last = pop(@{$gen_transform{$key}})
- if defined @{$gen_transform{$key}}; # Fail
+ if defined($gen_transform{$key}) && @{$gen_transform{$key}}; # Fail
if ($prev_last && !is_instr($prev_last, 'fail')) {
error("Line $line: A previous transformation shadows '$orig_transform'");

View File

@ -1,12 +0,0 @@
--- erts/etc/unix/run_erl.c.orig
+++ erts/etc/unix/run_erl.c
@@ -69,9 +69,6 @@
#ifdef HAVE_UTMP_H
# include <utmp.h>
#endif
-#ifdef HAVE_UTIL_H
-# include <util.h>
-#endif
#ifdef HAVE_SYS_IOCTL_H
# include <sys/ioctl.h>
#endif

View File

@ -1,12 +0,0 @@
--- lib/erl_interface/src/connect/ei_resolve.c.orig
+++ lib/erl_interface/src/connect/ei_resolve.c
@@ -621,7 +621,8 @@
return result;
#else
- return gethostbyname_r(name,hostp,buffer,buflen,h_errnop);
+ struct hostent *dummy;
+ return gethostbyname_r(name,hostp,buffer,buflen,&dummy,h_errnop);
#endif
#endif
#endif

View File

@ -1,10 +0,0 @@
--- lib/et/src/et_gs_contents_viewer.erl.orig 2010-03-11 16:24:41.000000000 +0800
+++ lib/et/src/et_gs_contents_viewer.erl 2010-03-11 16:24:53.000000000 +0800
@@ -347,7 +347,6 @@ handle_info({gs, _Obj, keypress, _, [Key
'Caps_Lock' ->
{noreply, S};
_ ->
- io:format("~p: ignored: ~p~n", [?MODULE, KeySym]),
{noreply, S}
end;
handle_info({gs, _Obj, configure, [], [W, H | _]}, S) ->

View File

@ -1,12 +0,0 @@
--- lib/et/src/et_gs_viewer.erl.orig 2010-03-11 16:26:59.000000000 +0800
+++ lib/et/src/et_gs_viewer.erl 2010-03-11 16:27:16.000000000 +0800
@@ -855,8 +855,7 @@ close_all_others(S) ->
noreply(S).
click_error(Click, S) ->
- gs:config(S#state.canvas, beep),
- io:format("~p: ignored: ~p~n", [?MODULE, Click]).
+ gs:config(S#state.canvas, beep).
%%%----------------------------------------------------------------------
%%% Clone viewer

View File

@ -1,84 +0,0 @@
--- lib/gs/src/tool_utils.erl.orig
+++ lib/gs/src/tool_utils.erl
@@ -27,6 +27,9 @@
-export([file_dialog/1]).
-export([notify/2, confirm/2, confirm_yesno/2, request/2]).
+%% Browser executable list (openURL command line protocol required)
+-define(BROWSERS, ["netscape", "mozilla", "MozillaFirebird", "opera", "firefox", "seamonkey"]).
+
%%----------------------------------------------------------------------
%% open_help(GS, File)
%% GS = gsobj() (GS root object returned by gs:start/0,1)
@@ -67,7 +70,7 @@
{unix,Type} ->
case Type of
darwin -> "open " ++ File;
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
+ _Else -> unix_url_command("file:" ++ File)
end;
{win32,_AnyType} ->
"start " ++ filename:nativename(File);
@@ -82,7 +85,7 @@
{unix,Type} ->
case Type of
darwin -> "open " ++ File;
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
+ _Else -> unix_url_command("file:" ++ File)
end;
{win32,_AnyType} ->
"netscape.exe -h " ++ regexp:gsub(File,"\\\\","/");
@@ -342,3 +345,53 @@
[Last];
insert_newlines(Other) ->
Other.
+
+%% find_browser(BrowserList) => string() | false
+%% BrowserList - [string()]
+%% Given a list of basenames, find the first available executable.
+
+find_browser([]) ->
+ false;
+
+find_browser([H | T]) ->
+ case os:find_executable(H) of
+ false ->
+ find_browser(T);
+ Browser ->
+ Browser
+ end.
+
+%% unix_url_command(URL) => string()
+%% URL - string()
+%% Open an URL, using a browser which supports the openURL command
+%% line protocol. If no browser is found, the empty string will be
+%% returned.
+
+unix_url_command(URL) ->
+ Template = "BROWSER -remote \"openURL(" ++ URL ++ ")\" || BROWSER " ++ URL ++ "&",
+
+ case os:getenv("BROWSER") of
+ false ->
+ %% look for a compatible browser
+ case find_browser(?BROWSERS) of
+ false ->
+ "";
+ Browser ->
+ case regexp:gsub(Template, "BROWSER", Browser) of
+ {ok, Command, 0} ->
+ %% Template does not contain "BROWSER" placeholder
+ "";
+ {ok, Command, _} ->
+ Command
+ end
+ end;
+
+ Value ->
+ case regexp:gsub(Template, "BROWSER", Value) of
+ {ok, Command2, 0} ->
+ %% no placeholder
+ "";
+ {ok, Command2, _} ->
+ Command2
+ end
+ end.

View File

@ -1,80 +0,0 @@
--- lib/kernel/test/file_SUITE.erl.orig
+++ lib/kernel/test/file_SUITE.erl
@@ -60,7 +60,8 @@
-export([ read_not_really_compressed/1,
read_compressed_cooked/1, read_compressed_cooked_binary/1,
read_cooked_tar_problem/1,
- write_compressed/1, compress_errors/1, catenated_gzips/1]).
+ write_compressed/1, compress_errors/1, catenated_gzips/1,
+ compress_async_crash/1]).
-export([ make_link/1, read_link_info_for_non_link/1, symlinks/1]).
@@ -133,7 +134,8 @@
{compression, [],
[read_compressed_cooked, read_compressed_cooked_binary,
read_cooked_tar_problem, read_not_really_compressed,
- write_compressed, compress_errors, catenated_gzips]},
+ write_compressed, compress_errors, catenated_gzips,
+ compress_async_crash]},
{links, [],
[make_link, read_link_info_for_non_link, symlinks]}].
@@ -2271,6 +2273,57 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+compress_async_crash(suite) -> [];
+compress_async_crash(doc) -> [];
+compress_async_crash(Config) when is_list(Config) ->
+ ?line DataDir = ?config(data_dir, Config),
+ ?line Path = filename:join(DataDir, "test.gz"),
+ ExpectedData = <<"qwerty">>,
+
+ ?line _ = ?FILE_MODULE:delete(Path),
+ ?line {ok, Fd} = ?FILE_MODULE:open(Path, [write, binary, compressed]),
+ ?line ok = ?FILE_MODULE:write(Fd, ExpectedData),
+ ?line ok = ?FILE_MODULE:close(Fd),
+
+ % Test that when using async thread pool, the emulator doesn't crash
+ % when the efile port driver is stopped while a compressed file operation
+ % is in progress (being carried by an async thread).
+ ?line ok = compress_async_crash_loop(10000, Path, ExpectedData),
+ ?line ok = ?FILE_MODULE:delete(Path),
+ ok.
+
+compress_async_crash_loop(0, _Path, _ExpectedData) ->
+ ok;
+compress_async_crash_loop(N, Path, ExpectedData) ->
+ Parent = self(),
+ {Pid, Ref} = spawn_monitor(
+ fun() ->
+ ?line {ok, Fd} = ?FILE_MODULE:open(
+ Path, [read, compressed, raw, binary]),
+ Len = byte_size(ExpectedData),
+ Parent ! {self(), continue},
+ ?line {ok, ExpectedData} = ?FILE_MODULE:read(Fd, Len),
+ ?line ok = ?FILE_MODULE:close(Fd),
+ receive foobar -> ok end
+ end),
+ receive
+ {Pid, continue} ->
+ exit(Pid, shutdown),
+ receive
+ {'DOWN', Ref, _, _, Reason} ->
+ ?line shutdown = Reason
+ end;
+ {'DOWN', Ref, _, _, Reason2} ->
+ test_server:fail({worker_exited, Reason2})
+ after 60000 ->
+ exit(Pid, shutdown),
+ erlang:demonitor(Ref, [flush]),
+ test_server:fail(worker_timeout)
+ end,
+ compress_async_crash_loop(N - 1, Path, ExpectedData).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
altname(doc) ->
"Test the file:altname/1 function";
altname(suite) ->

View File

@ -1,11 +0,0 @@
--- lib/odbc/c_src/odbcserver.c.orig
+++ lib/odbc/c_src/odbcserver.c
@@ -1150,7 +1150,7 @@
(column.type.strlen_or_indptr_array[j]));
break;
case SQL_C_SLONG:
- ei_x_encode_long(&dynamic_buffer(state), ((long*)values)[j]);
+ ei_x_encode_long(&dynamic_buffer(state), ((SQLINTEGER*)values)[j]);
break;
case SQL_C_DOUBLE:
ei_x_encode_double(&dynamic_buffer(state),

View File

@ -1,11 +0,0 @@
--- lib/runtime_tools/src/observer_backend.erl.orig
+++ lib/runtime_tools/src/observer_backend.erl
@@ -83,7 +83,7 @@
ets -> ets:info(Table, size);
mnesia -> mnesia:table_info(Table, size)
end,
- case Size > 0 of
+ case Size =/= undefined andalso Size > 0 of
false ->
Parent ! {self(), '$end_of_table'},
normal;

View File

@ -1,11 +0,0 @@
--- lib/ssl/src/ssl_manager.erl.orig
+++ lib/ssl/src/ssl_manager.erl
@@ -145,7 +145,7 @@
call({new_session_id, Port}).
clean_cert_db(Ref, File) ->
- erlang:send_after(?CLEAN_CERT_DB, self(), {clean_cert_db, Ref, File}).
+ erlang:send_after(?CLEAN_CERT_DB, get(ssl_manager), {clean_cert_db, Ref, File}).
%%--------------------------------------------------------------------
-spec register_session(inet:port_number(), #session{}) -> ok.

View File

@ -1,26 +0,0 @@
--- lib/stdlib/src/calendar.erl.orig
+++ lib/stdlib/src/calendar.erl
@@ -215,11 +215,19 @@
-spec local_time_to_universal_time_dst(t_datetime1970()) -> [t_datetime1970()].
local_time_to_universal_time_dst(DateTime) ->
- UtDst = erlang:localtime_to_universaltime(DateTime, true),
- Ut = erlang:localtime_to_universaltime(DateTime, false),
%% Reverse check the universal times
- LtDst = erlang:universaltime_to_localtime(UtDst),
- Lt = erlang:universaltime_to_localtime(Ut),
+ {UtDst, LtDst} =
+ try
+ UtDst0 = erlang:localtime_to_universaltime(DateTime, true),
+ {UtDst0, erlang:universaltime_to_localtime(UtDst0)}
+ catch error:badarg -> {error, error}
+ end,
+ {Ut, Lt} =
+ try
+ Ut0 = erlang:localtime_to_universaltime(DateTime, false),
+ {Ut0, erlang:universaltime_to_localtime(Ut0)}
+ catch error:badarg -> {error, error}
+ end,
%% Return the valid universal times
case {LtDst,Lt} of
{DateTime,DateTime} when UtDst =/= Ut ->

View File

@ -1,8 +0,0 @@
[
{ type: install
message: <<EOM
To use this runtime port for development or testing, just prepend
its binary path ("%%LOCALBASE%%/lib/%%ERLANG_LIB%%/bin") to your PATH variable.
EOM
}
]

View File

@ -1,10 +0,0 @@
Erlang is a programming language used to build massively scalable soft
real-time systems with requirements on high availability. Some of its
uses are in telecoms, banking, e-commerce, computer telephony and
instant messaging. Erlang's runtime system has built-in support for
concurrency, distribution and fault tolerance.
This port contains a standalone runtime environment of Erlang R15
to be used during the development of OTP applications.
WWW: https://www.erlang.org/

View File

@ -1,131 +0,0 @@
# Created by: ruslan@shevchenko.kiev.ua
# $FreeBSD$
PORTNAME= erlang
DISTVERSIONPREFIX= OTP_R
DISTVERSION= 16B03-1
PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= lang parallel java
PKGNAMESUFFIX= -runtime16
DIST_SUBDIR= erlang
MAINTAINER= erlang@FreeBSD.org
COMMENT= Functional programming language from Ericsson
DEPRECATED= No longer supported upstream, use lang/erlang >=21
EXPIRATION_DATE= 2020-01-01
USES= autoreconf:build gmake ncurses perl5
USE_GITHUB= yes
GH_PROJECT= otp
USE_PERL5= build
GNU_CONFIGURE= yes
MAKE_JOBS_UNSAFE=yes
SUB_FILES= pkg-message
SUB_LIST= ERLANG_LIB=${ERLANG_LIB}
ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//}
OPTIONS_DEFINE= DTRACE GS HIPE JAVA KQUEUE ODBC OPENSSL SCTP SMP THREADS WX
OPTIONS_DEFAULT=KQUEUE OPENSSL SCTP SMP THREADS
GS_DESC= Enable GS application (deprecated)
HIPE_DESC= Build native HiPE compiler
KQUEUE_DESC= Enable Kernel Poll (kqueue) support
SCTP_DESC= Enable SCTP support
SMP_DESC= Enable SMP support
WX_DESC= Enable WX application
.if !exists(/usr/sbin/dtrace)
OPTIONS_EXCLUDE+= DTRACE
.endif
OPTIONS_EXCLUDE_DragonFly= HIPE SCTP
OPENSSL_VARS= BROKEN_SSL=openssl111
# If you run Erlang and get a message resembling "WARNING: number of
# probes fixed does not match the number of defined probes (54 != 132,
# respectively)" you probably misconfigured DTrace in some way.
DTRACE_CFLAGS= -fno-omit-frame-pointer
DTRACE_CONFIGURE_WITH= dynamic-trace=dtrace
DTRACE_VARS= STRIP=""
GS_USES= tk:run
HIPE_CONFIGURE_ENABLE= hipe
JAVA_CONFIGURE_ENV= ac_cv_prog_JAVAC="${JAVAC}"
JAVA_CONFIGURE_WITH= javac
JAVA_VARS= USE_JAVA=yes
KQUEUE_CONFIGURE_ENABLE=kernel-poll
ODBC_CONFIGURE_WITH= odbc
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
OPENSSL_CONFIGURE_WITH= ssl=${OPENSSLBASE}
OPENSSL_USES= ssl
SCTP_CONFIGURE_ENABLE= sctp
SMP_CONFIGURE_ENABLE= smp-support
THREADS_CONFIGURE_ENABLE= threads
WX_CONFIGURE_WITH= wx-config=${WX_CONFIG}
WX_USES= gl
WX_VARS= USE_WX=2.8+ WX_COMPS="wx contrib" USE_GL="gl glu"
.include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD
. if ${OSVERSION} >= 1200085 && ${SSL_DEFAULT} == base
BROKEN= Does not support OpenSSL 1.1, use Erlang 19+
. endif
.endif
.if ${OPSYS} == FreeBSD
CFLAGS+= -DMAP_NORESERVE=0
.endif
.if ${ARCH} == i386
MAKE_ARGS+= ARCH=x86
.endif
.if ${ARCH} == armv6 || ${ARCH} == armv7
MAKE_ARGS+= ARCH=arm
.endif
pre-configure:
@cd ${WRKSRC} && ./otp_build autoconf
pre-configure-WX-off:
echo "disabled by port options" > ${WRKSRC}/lib/debugger/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/et/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/observer/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP
post-configure-ODBC-on:
${RM} ${WRKSRC}/lib/odbc/SKIP
post-install-GS-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/gs-*
post-install-JAVA-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/jinterface-*
post-install-ODBC-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/odbc-*
post-install-OPENSSL-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/crypto-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssh-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssl-*
post-install-WX-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/debugger-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/et-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/observer-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/wx-*
post-stage:
${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
@cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \
| ${SORT} >> ${TMPPLIST}
.include <bsd.port.post.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1552763013
SHA256 (erlang/erlang-otp-OTP_R16B03-1_GH0.tar.gz) = bf2aea30104526999d9d1547da84fc115dd706a24fa5b706dfcace1290b351ef
SIZE (erlang/erlang-otp-OTP_R16B03-1_GH0.tar.gz) = 32821912

View File

@ -1,20 +0,0 @@
--- Makefile.in.orig
+++ Makefile.in
@@ -56,7 +56,7 @@
libdir = @libdir@
# Where Erlang/OTP is located
-libdir_suffix = /erlang
+libdir_suffix = /erlang16
erlang_libdir = $(libdir)$(libdir_suffix)
erlang_bindir = $(erlang_libdir)/bin
@@ -913,7 +913,7 @@
#
# Order is important here, don't change it!
#
-INST_DEP += install.dirs install.emulator install.libs install.Install install.bin
+INST_DEP += install.dirs install.emulator install.libs install.Install
install: $(INST_DEP)

View File

@ -1,11 +0,0 @@
--- erts/emulator/drivers/common/efile_drv.c.orig
+++ erts/emulator/drivers/common/efile_drv.c
@@ -1938,6 +1938,8 @@
d->result_ok = 1;
if (d->c.sendfile.nbytes != 0)
d->c.sendfile.nbytes -= nbytes;
+ } else if (nbytes == 0 && d->c.sendfile.nbytes == 0) {
+ d->result_ok = 1;
} else
d->result_ok = 0;
} else {

View File

@ -1,12 +0,0 @@
--- erts/etc/unix/run_erl.c.orig
+++ erts/etc/unix/run_erl.c
@@ -69,9 +69,6 @@
#ifdef HAVE_UTMP_H
# include <utmp.h>
#endif
-#ifdef HAVE_UTIL_H
-# include <util.h>
-#endif
#ifdef HAVE_SYS_IOCTL_H
# include <sys/ioctl.h>
#endif

View File

@ -1,11 +0,0 @@
--- lib/crypto/c_src/Makefile.in.orig 2016-03-14 20:11:15 UTC
+++ lib/crypto/c_src/Makefile.in
@@ -90,7 +90,7 @@ endif
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
-SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@
+SSL_DED_LD_RUNTIME_LIBRARY_PATH =
CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME)
EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB
else

View File

@ -1,11 +0,0 @@
--- lib/crypto/priv/Makefile.orig 2016-03-14 20:11:15 UTC
+++ lib/crypto/priv/Makefile
@@ -61,7 +61,7 @@ OBJS = $(OBJDIR)/crypto.o
# ----------------------------------------------------
$(SO_NIFLIB): $(OBJS)
- $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) -Wl,-R$(SO_SSL_LIBDIR) \
+ $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) \
-o $@ $^ -lcrypto
$(DLL_NIFLIB): $(OBJS)

View File

@ -1,12 +0,0 @@
--- lib/erl_interface/src/connect/ei_resolve.c.orig
+++ lib/erl_interface/src/connect/ei_resolve.c
@@ -621,7 +621,8 @@
return result;
#else
- return gethostbyname_r(name,hostp,buffer,buflen,h_errnop);
+ struct hostent *dummy;
+ return gethostbyname_r(name,hostp,buffer,buflen,&dummy,h_errnop);
#endif
#endif
#endif

View File

@ -1,10 +0,0 @@
--- lib/et/src/et_gs_contents_viewer.erl.orig 2010-03-11 16:24:41.000000000 +0800
+++ lib/et/src/et_gs_contents_viewer.erl 2010-03-11 16:24:53.000000000 +0800
@@ -347,7 +347,6 @@ handle_info({gs, _Obj, keypress, _, [Key
'Caps_Lock' ->
{noreply, S};
_ ->
- io:format("~p: ignored: ~p~n", [?MODULE, KeySym]),
{noreply, S}
end;
handle_info({gs, _Obj, configure, [], [W, H | _]}, S) ->

View File

@ -1,12 +0,0 @@
--- lib/et/src/et_gs_viewer.erl.orig 2010-03-11 16:26:59.000000000 +0800
+++ lib/et/src/et_gs_viewer.erl 2010-03-11 16:27:16.000000000 +0800
@@ -855,8 +855,7 @@ close_all_others(S) ->
noreply(S).
click_error(Click, S) ->
- gs:config(S#state.canvas, beep),
- io:format("~p: ignored: ~p~n", [?MODULE, Click]).
+ gs:config(S#state.canvas, beep).
%%%----------------------------------------------------------------------
%%% Clone viewer

View File

@ -1,84 +0,0 @@
--- lib/gs/src/tool_utils.erl.orig
+++ lib/gs/src/tool_utils.erl
@@ -27,6 +27,9 @@
-export([file_dialog/1]).
-export([notify/2, confirm/2, confirm_yesno/2, request/2]).
+%% Browser executable list (openURL command line protocol required)
+-define(BROWSERS, ["netscape", "mozilla", "MozillaFirebird", "opera", "firefox", "seamonkey"]).
+
%%----------------------------------------------------------------------
%% open_help(GS, File)
%% GS = gsobj() (GS root object returned by gs:start/0,1)
@@ -67,7 +70,7 @@
{unix,Type} ->
case Type of
darwin -> "open " ++ File;
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
+ _Else -> unix_url_command("file:" ++ File)
end;
{win32,_AnyType} ->
"start " ++ filename:nativename(File);
@@ -82,7 +85,7 @@
{unix,Type} ->
case Type of
darwin -> "open " ++ File;
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
+ _Else -> unix_url_command("file:" ++ File)
end;
{win32,_AnyType} ->
"netscape.exe -h " ++ regexp:gsub(File,"\\\\","/");
@@ -342,3 +345,53 @@
[Last];
insert_newlines(Other) ->
Other.
+
+%% find_browser(BrowserList) => string() | false
+%% BrowserList - [string()]
+%% Given a list of basenames, find the first available executable.
+
+find_browser([]) ->
+ false;
+
+find_browser([H | T]) ->
+ case os:find_executable(H) of
+ false ->
+ find_browser(T);
+ Browser ->
+ Browser
+ end.
+
+%% unix_url_command(URL) => string()
+%% URL - string()
+%% Open an URL, using a browser which supports the openURL command
+%% line protocol. If no browser is found, the empty string will be
+%% returned.
+
+unix_url_command(URL) ->
+ Template = "BROWSER -remote \"openURL(" ++ URL ++ ")\" || BROWSER " ++ URL ++ "&",
+
+ case os:getenv("BROWSER") of
+ false ->
+ %% look for a compatible browser
+ case find_browser(?BROWSERS) of
+ false ->
+ "";
+ Browser ->
+ case regexp:gsub(Template, "BROWSER", Browser) of
+ {ok, Command, 0} ->
+ %% Template does not contain "BROWSER" placeholder
+ "";
+ {ok, Command, _} ->
+ Command
+ end
+ end;
+
+ Value ->
+ case regexp:gsub(Template, "BROWSER", Value) of
+ {ok, Command2, 0} ->
+ %% no placeholder
+ "";
+ {ok, Command2, _} ->
+ Command2
+ end
+ end.

View File

@ -1,26 +0,0 @@
--- lib/stdlib/src/calendar.erl.orig
+++ lib/stdlib/src/calendar.erl
@@ -215,11 +215,19 @@
-spec local_time_to_universal_time_dst(t_datetime1970()) -> [t_datetime1970()].
local_time_to_universal_time_dst(DateTime) ->
- UtDst = erlang:localtime_to_universaltime(DateTime, true),
- Ut = erlang:localtime_to_universaltime(DateTime, false),
%% Reverse check the universal times
- LtDst = erlang:universaltime_to_localtime(UtDst),
- Lt = erlang:universaltime_to_localtime(Ut),
+ {UtDst, LtDst} =
+ try
+ UtDst0 = erlang:localtime_to_universaltime(DateTime, true),
+ {UtDst0, erlang:universaltime_to_localtime(UtDst0)}
+ catch error:badarg -> {error, error}
+ end,
+ {Ut, Lt} =
+ try
+ Ut0 = erlang:localtime_to_universaltime(DateTime, false),
+ {Ut0, erlang:universaltime_to_localtime(Ut0)}
+ catch error:badarg -> {error, error}
+ end,
%% Return the valid universal times
case {LtDst,Lt} of
{DateTime,DateTime} when UtDst =/= Ut ->

View File

@ -1,20 +0,0 @@
--- lib/wx/c_src/wxe_impl.cpp.orig 2017-01-30 23:13:25 UTC
+++ lib/wx/c_src/wxe_impl.cpp
@@ -666,7 +666,7 @@ void * WxeApp::getPtr(char * bp, wxeMemE
throw wxe_badarg(index);
}
void * temp = memenv->ref2ptr[index];
- if((index < memenv->next) && ((index == 0) || (temp > NULL)))
+ if((index < memenv->next) && ((index == 0) || (temp != NULL)))
return temp;
else {
throw wxe_badarg(index);
@@ -678,7 +678,7 @@ void WxeApp::registerPid(char * bp, ErlD
if(!memenv)
throw wxe_badarg(index);
void * temp = memenv->ref2ptr[index];
- if((index < memenv->next) && ((index == 0) || (temp > NULL))) {
+ if((index < memenv->next) && ((index == 0) || (temp != NULL))) {
ptrMap::iterator it;
it = ptr2ref.find(temp);
if(it != ptr2ref.end()) {

View File

@ -1,8 +0,0 @@
[
{ type: install
message: <<EOM
To use this runtime port for development or testing, just prepend
its binary path ("%%LOCALBASE%%/lib/%%ERLANG_LIB%%/bin") to your PATH variable.
EOM
}
]

View File

@ -1,10 +0,0 @@
Erlang is a programming language used to build massively scalable soft
real-time systems with requirements on high availability. Some of its
uses are in telecoms, banking, e-commerce, computer telephony and
instant messaging. Erlang's runtime system has built-in support for
concurrency, distribution and fault tolerance.
This port contains a standalone runtime environment of Erlang R16
to be used during the development of OTP applications.
WWW: https://www.erlang.org/

View File

@ -1,144 +0,0 @@
# Created by: ruslan@shevchenko.kiev.ua
# $FreeBSD$
PORTNAME= erlang
DISTVERSIONPREFIX= OTP-
DISTVERSION= 17.5.6.10
PORTREVISION= 1
CATEGORIES= lang parallel java
PKGNAMESUFFIX= -runtime17
DIST_SUBDIR= erlang
MAINTAINER= erlang@FreeBSD.org
COMMENT= Functional programming language from Ericsson
DEPRECATED= No longer supported upstream, use lang/erlang >=21
EXPIRATION_DATE= 2020-01-01
USES= autoreconf:build gmake ncurses perl5
USE_GITHUB= yes
GH_PROJECT= otp
USE_PERL5= build
GNU_CONFIGURE= yes
MAKE_JOBS_UNSAFE=yes
SUB_FILES= pkg-message
SUB_LIST= ERLANG_LIB=${ERLANG_LIB}
ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//}
OPTIONS_DEFINE= DIRTY DTRACE GS HIPE JAVA KQUEUE NATIVE ODBC OPENSSL SCTP SMP THREADS WX
OPTIONS_DEFAULT=DTRACE HIPE KQUEUE OPENSSL SCTP SMP THREADS
DIRTY_DESC= Enable Dirty schedulers (experimental)
GS_DESC= Enable GS application (deprecated)
HIPE_DESC= Build native HiPE compiler
KQUEUE_DESC= Enable Kernel Poll (kqueue) support
NATIVE_DESC= Enable native libraries
SCTP_DESC= Enable SCTP support
SMP_DESC= Enable SMP support
WX_DESC= Enable WX application
NATIVE_IMPLIES= HIPE
.if !exists(/usr/sbin/dtrace)
OPTIONS_EXCLUDE+= DTRACE
.endif
OPTIONS_EXCLUDE_DragonFly= HIPE NATIVE SCTP
# ld(1) fails to link probes: missing __dtrace_erlang___* symbols
OPTIONS_EXCLUDE_aarch64= DTRACE
OPTIONS_EXCLUDE_armv6= DTRACE
OPTIONS_EXCLUDE_armv7= DTRACE
OPTIONS_EXCLUDE_i386= DTRACE
OPENSSL_VARS= BROKEN_SSL=openssl111
# If you run Erlang and get a message resembling "WARNING: number of
# probes fixed does not match the number of defined probes (54 != 132,
# respectively)" you probably misconfigured DTrace in some way.
DIRTY_CONFIGURE_ENABLE= dirty-schedulers
DTRACE_CFLAGS= -fno-omit-frame-pointer
DTRACE_CONFIGURE_WITH= dynamic-trace=dtrace
DTRACE_VARS= STRIP=""
GS_USES= tk:run
HIPE_CONFIGURE_ENABLE= hipe
JAVA_CONFIGURE_ENV= ac_cv_prog_JAVAC="${JAVAC}"
JAVA_CONFIGURE_WITH= javac
JAVA_VARS= USE_JAVA=yes
KQUEUE_CONFIGURE_ENABLE=kernel-poll
NATIVE_CONFIGURE_ENABLE=native-libs
ODBC_CONFIGURE_WITH= odbc
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
OPENSSL_CONFIGURE_WITH= ssl=${OPENSSLBASE}
OPENSSL_USES= ssl
SCTP_CONFIGURE_ENABLE= sctp
SMP_CONFIGURE_ENABLE= smp-support
THREADS_CONFIGURE_ENABLE= threads
WX_CONFIGURE_WITH= wx-config=${WX_CONFIG}
WX_USES= gl
WX_VARS= USE_WX=2.8+ WX_COMPS="wx contrib" USE_GL="gl glu"
.include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD
. if ${OSVERSION} >= 1200085 && ${SSL_DEFAULT} == base
BROKEN= Does not support OpenSSL 1.1, use Erlang 19+
. endif
.endif
.if ${OPSYS} == FreeBSD
CFLAGS+= -DMAP_NORESERVE=0
.endif
.if ${ARCH} == i386
MAKE_ARGS+= ARCH=x86
.endif
.if ${ARCH} == armv6 || ${ARCH} == armv7
MAKE_ARGS+= ARCH=arm
.endif
pre-configure:
@cd ${WRKSRC} && ./otp_build autoconf
pre-configure-WX-off:
echo "disabled by port options" > ${WRKSRC}/lib/debugger/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/et/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/observer/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP
post-configure-ODBC-on:
${RM} ${WRKSRC}/lib/odbc/SKIP
pre-build-NATIVE-on:
@cd ${WRKSRC} && ${MAKE_CMD} clean
post-install-GS-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/gs-*
post-install-JAVA-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/jinterface-*
post-install-ODBC-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/odbc-*
post-install-OPENSSL-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/crypto-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssh-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssl-*
post-install-WX-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/debugger-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/et-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/observer-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/wx-*
post-stage:
${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
@cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \
| ${SORT} >> ${TMPPLIST}
.include <bsd.port.post.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1552762113
SHA256 (erlang/erlang-otp-OTP-17.5.6.10_GH0.tar.gz) = ceea65d9326a3a0324b4963a982c610692c087ab23eaf637a626370dfb81fe50
SIZE (erlang/erlang-otp-OTP-17.5.6.10_GH0.tar.gz) = 33136407

View File

@ -1,20 +0,0 @@
--- Makefile.in.orig
+++ Makefile.in
@@ -59,7 +59,7 @@
libdir = @libdir@
# Where Erlang/OTP is located
-libdir_suffix = /erlang
+libdir_suffix = /erlang17
erlang_libdir = $(libdir)$(libdir_suffix)
erlang_bindir = $(erlang_libdir)/bin
@@ -1007,7 +1007,7 @@
#
# Order is important here, don't change it!
#
-INST_DEP += install.dirs install.emulator install.libs install.Install install.otp_version install.bin
+INST_DEP += install.dirs install.emulator install.libs install.Install install.otp_version
install: $(INST_DEP)

View File

@ -1,11 +0,0 @@
--- erts/emulator/drivers/common/efile_drv.c.orig 2015-03-31 12:32:52 UTC
+++ erts/emulator/drivers/common/efile_drv.c
@@ -1938,6 +1938,8 @@ static void invoke_sendfile(void *data)
d->result_ok = 1;
if (d->c.sendfile.nbytes != 0)
d->c.sendfile.nbytes -= nbytes;
+ } else if (nbytes == 0 && d->c.sendfile.nbytes == 0) {
+ d->result_ok = 1;
} else
d->result_ok = 0;
} else {

View File

@ -1,12 +0,0 @@
--- erts/etc/unix/run_erl.c.orig 2015-03-31 12:32:52 UTC
+++ erts/etc/unix/run_erl.c
@@ -73,9 +73,6 @@
#ifdef HAVE_UTMP_H
# include <utmp.h>
#endif
-#ifdef HAVE_UTIL_H
-# include <util.h>
-#endif
#ifdef HAVE_SYS_IOCTL_H
# include <sys/ioctl.h>
#endif

View File

@ -1,11 +0,0 @@
--- lib/crypto/c_src/Makefile.in.orig 2016-03-14 20:11:15 UTC
+++ lib/crypto/c_src/Makefile.in
@@ -90,7 +90,7 @@ endif
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
-SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@
+SSL_DED_LD_RUNTIME_LIBRARY_PATH =
CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME)
EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB
else

View File

@ -1,11 +0,0 @@
--- lib/crypto/priv/Makefile.orig 2016-03-14 20:11:15 UTC
+++ lib/crypto/priv/Makefile
@@ -61,7 +61,7 @@ OBJS = $(OBJDIR)/crypto.o
# ----------------------------------------------------
$(SO_NIFLIB): $(OBJS)
- $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) -Wl,-R$(SO_SSL_LIBDIR) \
+ $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) \
-o $@ $^ -lcrypto
$(DLL_NIFLIB): $(OBJS)

View File

@ -1,12 +0,0 @@
--- lib/erl_interface/src/connect/ei_resolve.c.orig 2015-03-31 12:32:52 UTC
+++ lib/erl_interface/src/connect/ei_resolve.c
@@ -649,7 +649,8 @@ struct hostent *ei_gethostbyname_r(const
return result;
#else
- return gethostbyname_r(name,hostp,buffer,buflen,h_errnop);
+ struct hostent *dummy;
+ return gethostbyname_r(name,hostp,buffer,buflen,&dummy,h_errnop);
#endif
#endif
#endif

View File

@ -1,30 +0,0 @@
--- lib/ssl/src/ssl_connection.erl.orig 2015-03-31 12:32:52.000000000 +0000
+++ lib/ssl/src/ssl_connection.erl 2017-12-14 13:13:46.570861000 +0000
@@ -1135,8 +1135,25 @@
request_client_cert(State2, Connection).
certify_client_key_exchange(#encrypted_premaster_secret{premaster_secret= EncPMS},
- #state{private_key = Key} = State, Connection) ->
- PremasterSecret = ssl_handshake:premaster_secret(EncPMS, Key),
+ #state{private_key = Key, client_hello_version = {Major, Minor} = Version } = State, Connection) ->
+
+ %% Countermeasure for Bleichenbacher attack always provide some kind of premaster secret
+ %% and fail handshake later.RFC 5246 section 7.4.7.1.
+ PremasterSecret =
+ try ssl_handshake:premaster_secret(EncPMS, Key) of
+ Secret when erlang:byte_size(Secret) == ?NUM_OF_PREMASTERSECRET_BYTES ->
+ case Secret of
+ <<?BYTE(Major), ?BYTE(Minor), _/binary>> -> %% Correct
+ Secret;
+ <<?BYTE(_), ?BYTE(_), Rest/binary>> -> %% Version mismatch
+ <<?BYTE(Major), ?BYTE(Minor), Rest/binary>>
+ end;
+ _ -> %% erlang:byte_size(Secret) =/= ?NUM_OF_PREMASTERSECRET_BYTES
+ make_premaster_secret(Version, rsa)
+ catch
+ #alert{description = ?DECRYPT_ERROR} ->
+ make_premaster_secret(Version, rsa)
+ end,
calculate_master_secret(PremasterSecret, State, Connection, certify, cipher);
certify_client_key_exchange(#client_diffie_hellman_public{dh_public = ClientPublicDhKey},

View File

@ -1,12 +0,0 @@
--- lib/ssl/src/ssl_connection.hrl.orig 2015-03-31 12:32:52.000000000 +0000
+++ lib/ssl/src/ssl_connection.hrl 2017-12-14 13:18:02.736638000 +0000
@@ -53,7 +53,8 @@
session :: #session{} | secret_printout(),
session_cache :: db_handle(),
session_cache_cb :: atom(),
- negotiated_version :: ssl_record:ssl_version(),
+ negotiated_version :: ssl_record:ssl_version() | 'undefined',
+ client_hello_version :: ssl_record:ssl_version() | 'undefined',
client_certificate_requested = false :: boolean(),
key_algorithm :: ssl_cipher:key_algo(),
hashsign_algorithm = {undefined, undefined},

View File

@ -1,10 +0,0 @@
--- lib/ssl/src/tls_connection.erl.orig 2015-03-31 12:32:52.000000000 +0000
+++ lib/ssl/src/tls_connection.erl 2017-12-14 13:22:41.792681000 +0000
@@ -197,6 +197,7 @@
ssl_connection:hello({common_client_hello, Type, ServerHelloExt, HashSign},
State#state{connection_states = ConnectionStates,
negotiated_version = Version,
+ client_hello_version = ClientVersion,
session = Session,
client_ecc = {EllipticCurves, EcPointFormats}}, ?MODULE);
#alert{} = Alert ->

View File

@ -1,26 +0,0 @@
--- lib/stdlib/src/calendar.erl.orig 2015-03-31 12:32:52 UTC
+++ lib/stdlib/src/calendar.erl
@@ -279,11 +279,19 @@ local_time_to_universal_time(DateTime, I
DateTime1 :: datetime1970(),
DateTime :: datetime1970().
local_time_to_universal_time_dst(DateTime) ->
- UtDst = erlang:localtime_to_universaltime(DateTime, true),
- Ut = erlang:localtime_to_universaltime(DateTime, false),
%% Reverse check the universal times
- LtDst = erlang:universaltime_to_localtime(UtDst),
- Lt = erlang:universaltime_to_localtime(Ut),
+ {UtDst, LtDst} =
+ try
+ UtDst0 = erlang:localtime_to_universaltime(DateTime, true),
+ {UtDst0, erlang:universaltime_to_localtime(UtDst0)}
+ catch error:badarg -> {error, error}
+ end,
+ {Ut, Lt} =
+ try
+ Ut0 = erlang:localtime_to_universaltime(DateTime, false),
+ {Ut0, erlang:universaltime_to_localtime(Ut0)}
+ catch error:badarg -> {error, error}
+ end,
%% Return the valid universal times
case {LtDst,Lt} of
{DateTime,DateTime} when UtDst =/= Ut ->

View File

@ -1,20 +0,0 @@
--- lib/wx/c_src/wxe_impl.cpp.orig 2017-01-30 23:13:25 UTC
+++ lib/wx/c_src/wxe_impl.cpp
@@ -666,7 +666,7 @@ void * WxeApp::getPtr(char * bp, wxeMemE
throw wxe_badarg(index);
}
void * temp = memenv->ref2ptr[index];
- if((index < memenv->next) && ((index == 0) || (temp > NULL)))
+ if((index < memenv->next) && ((index == 0) || (temp != NULL)))
return temp;
else {
throw wxe_badarg(index);
@@ -678,7 +678,7 @@ void WxeApp::registerPid(char * bp, ErlD
if(!memenv)
throw wxe_badarg(index);
void * temp = memenv->ref2ptr[index];
- if((index < memenv->next) && ((index == 0) || (temp > NULL))) {
+ if((index < memenv->next) && ((index == 0) || (temp != NULL))) {
ptrMap::iterator it;
it = ptr2ref.find(temp);
if(it != ptr2ref.end()) {

View File

@ -1,8 +0,0 @@
[
{ type: install
message: <<EOM
To use this runtime port for development or testing, just prepend
its binary path ("%%LOCALBASE%%/lib/%%ERLANG_LIB%%/bin") to your PATH variable.
EOM
}
]

View File

@ -1,10 +0,0 @@
Erlang is a programming language used to build massively scalable soft
real-time systems with requirements on high availability. Some of its
uses are in telecoms, banking, e-commerce, computer telephony and
instant messaging. Erlang's runtime system has built-in support for
concurrency, distribution and fault tolerance.
This port contains a standalone runtime environment of Erlang 17
to be used during the development of OTP applications.
WWW: https://www.erlang.org/

View File

@ -1,146 +0,0 @@
# Created by: ruslan@shevchenko.kiev.ua
# $FreeBSD$
PORTNAME= erlang
DISTVERSIONPREFIX= OTP-
DISTVERSION= 18.3.4.11
PORTREVISION= 1
CATEGORIES= lang parallel java
PKGNAMESUFFIX= -runtime18
DIST_SUBDIR= erlang
MAINTAINER= erlang@FreeBSD.org
COMMENT= Functional programming language from Ericsson
LICENSE= APACHE20
DEPRECATED= No longer supported upstream, use lang/erlang >=21
EXPIRATION_DATE= 2020-01-01
USES= autoreconf:build gmake ncurses perl5
USE_GITHUB= yes
GH_PROJECT= otp
USE_PERL5= build
GNU_CONFIGURE= yes
MAKE_JOBS_UNSAFE=yes
SUB_FILES= pkg-message
SUB_LIST= ERLANG_LIB=${ERLANG_LIB}
ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//}
OPTIONS_DEFINE= DIRTY DTRACE GS HIPE JAVA KQUEUE NATIVE ODBC OPENSSL SCTP SMP THREADS WX
OPTIONS_DEFAULT=DTRACE HIPE KQUEUE OPENSSL SCTP SMP THREADS
DIRTY_DESC= Enable Dirty schedulers (experimental)
GS_DESC= Enable GS application (deprecated)
HIPE_DESC= Build native HiPE compiler
KQUEUE_DESC= Enable Kernel Poll (kqueue) support
NATIVE_DESC= Enable native libraries
SCTP_DESC= Enable SCTP support
SMP_DESC= Enable SMP support
WX_DESC= Enable WX application
NATIVE_IMPLIES= HIPE
.if !exists(/usr/sbin/dtrace)
OPTIONS_EXCLUDE+= DTRACE
.endif
OPTIONS_EXCLUDE_DragonFly= HIPE NATIVE SCTP
# ld(1) fails to link probes: missing __dtrace_erlang___* symbols
OPTIONS_EXCLUDE_aarch64= DTRACE
OPTIONS_EXCLUDE_armv6= DTRACE
OPTIONS_EXCLUDE_armv7= DTRACE
OPTIONS_EXCLUDE_i386= DTRACE
OPENSSL_VARS= BROKEN_SSL=openssl111
# If you run Erlang and get a message resembling "WARNING: number of
# probes fixed does not match the number of defined probes (54 != 132,
# respectively)" you probably misconfigured DTrace in some way.
DIRTY_CONFIGURE_ENABLE= dirty-schedulers
DTRACE_CFLAGS= -fno-omit-frame-pointer
DTRACE_CONFIGURE_WITH= dynamic-trace=dtrace
DTRACE_VARS= STRIP=""
GS_USES= tk:run
HIPE_CONFIGURE_ENABLE= hipe
JAVA_CONFIGURE_ENV= ac_cv_prog_JAVAC="${JAVAC}"
JAVA_CONFIGURE_WITH= javac
JAVA_VARS= USE_JAVA=yes
KQUEUE_CONFIGURE_ENABLE=kernel-poll
NATIVE_CONFIGURE_ENABLE=native-libs
ODBC_CONFIGURE_WITH= odbc
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
OPENSSL_CONFIGURE_WITH= ssl=${OPENSSLBASE}
OPENSSL_USES= ssl
SCTP_CONFIGURE_ENABLE= sctp
SMP_CONFIGURE_ENABLE= smp-support
THREADS_CONFIGURE_ENABLE= threads
WX_CONFIGURE_WITH= wx-config=${WX_CONFIG}
WX_USES= gl
WX_VARS= USE_WX=2.8+ WX_COMPS="wx contrib" USE_GL="gl glu"
.include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD
. if ${OSVERSION} >= 1200085 && ${SSL_DEFAULT} == base
BROKEN= Does not support OpenSSL 1.1, use Erlang 19+
. endif
.endif
.if ${OPSYS} == FreeBSD
CFLAGS+= -DMAP_NORESERVE=0
.endif
.if ${ARCH} == i386
MAKE_ARGS+= ARCH=x86
.endif
.if ${ARCH} == armv6 || ${ARCH} == armv7
MAKE_ARGS+= ARCH=arm
.endif
pre-configure:
@cd ${WRKSRC} && ./otp_build autoconf
pre-configure-WX-off:
echo "disabled by port options" > ${WRKSRC}/lib/debugger/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/et/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/observer/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP
post-configure-ODBC-on:
${RM} ${WRKSRC}/lib/odbc/SKIP
pre-build-NATIVE-on:
@cd ${WRKSRC} && ${MAKE_CMD} clean
post-install-GS-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/gs-*
post-install-JAVA-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/jinterface-*
post-install-ODBC-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/odbc-*
post-install-OPENSSL-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/crypto-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssh-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssl-*
post-install-WX-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/debugger-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/et-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/observer-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/wx-*
post-stage:
${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
@cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \
| ${SORT} >> ${TMPPLIST}
.include <bsd.port.post.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1552761002
SHA256 (erlang/erlang-otp-OTP-18.3.4.11_GH0.tar.gz) = 94f84e8ca0db0dcadd3411fa7a05dd937142b6ae830255dc341c30b45261b01a
SIZE (erlang/erlang-otp-OTP-18.3.4.11_GH0.tar.gz) = 33679922

View File

@ -1,20 +0,0 @@
--- Makefile.in.orig 2015-06-23 18:56:21 UTC
+++ Makefile.in
@@ -60,7 +60,7 @@ bindir = @bindir@
libdir = @libdir@
# Where Erlang/OTP is located
-libdir_suffix = /erlang
+libdir_suffix = /erlang18
erlang_libdir = $(libdir)$(libdir_suffix)
erlang_bindir = $(erlang_libdir)/bin
@@ -1013,7 +1013,7 @@ $(TEST_DIRS):
#
# Order is important here, don't change it!
#
-INST_DEP += install.dirs install.emulator install.libs install.Install install.otp_version install.bin
+INST_DEP += install.dirs install.emulator install.libs install.Install install.otp_version
install: $(INST_DEP)

View File

@ -1,12 +0,0 @@
--- erts/etc/unix/run_erl.c.orig 2015-03-31 12:32:52 UTC
+++ erts/etc/unix/run_erl.c
@@ -73,9 +73,6 @@
#ifdef HAVE_UTMP_H
# include <utmp.h>
#endif
-#ifdef HAVE_UTIL_H
-# include <util.h>
-#endif
#ifdef HAVE_SYS_IOCTL_H
# include <sys/ioctl.h>
#endif

View File

@ -1,11 +0,0 @@
--- lib/crypto/c_src/Makefile.in.orig 2016-03-14 20:11:15 UTC
+++ lib/crypto/c_src/Makefile.in
@@ -90,7 +90,7 @@ endif
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
-SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@
+SSL_DED_LD_RUNTIME_LIBRARY_PATH =
CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME)
EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB
else

View File

@ -1,11 +0,0 @@
--- lib/crypto/priv/Makefile.orig 2016-03-14 20:11:15 UTC
+++ lib/crypto/priv/Makefile
@@ -61,7 +61,7 @@ OBJS = $(OBJDIR)/crypto.o
# ----------------------------------------------------
$(SO_NIFLIB): $(OBJS)
- $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) -Wl,-R$(SO_SSL_LIBDIR) \
+ $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) \
-o $@ $^ -lcrypto
$(DLL_NIFLIB): $(OBJS)

View File

@ -1,12 +0,0 @@
--- lib/erl_interface/src/connect/ei_resolve.c.orig 2015-03-31 12:32:52 UTC
+++ lib/erl_interface/src/connect/ei_resolve.c
@@ -649,7 +649,8 @@ struct hostent *ei_gethostbyname_r(const
return result;
#else
- return gethostbyname_r(name,hostp,buffer,buflen,h_errnop);
+ struct hostent *dummy;
+ return gethostbyname_r(name,hostp,buffer,buflen,&dummy,h_errnop);
#endif
#endif
#endif

View File

@ -1,26 +0,0 @@
--- lib/stdlib/src/calendar.erl.orig 2015-03-31 12:32:52 UTC
+++ lib/stdlib/src/calendar.erl
@@ -279,11 +279,19 @@ local_time_to_universal_time(DateTime, I
DateTime1 :: datetime1970(),
DateTime :: datetime1970().
local_time_to_universal_time_dst(DateTime) ->
- UtDst = erlang:localtime_to_universaltime(DateTime, true),
- Ut = erlang:localtime_to_universaltime(DateTime, false),
%% Reverse check the universal times
- LtDst = erlang:universaltime_to_localtime(UtDst),
- Lt = erlang:universaltime_to_localtime(Ut),
+ {UtDst, LtDst} =
+ try
+ UtDst0 = erlang:localtime_to_universaltime(DateTime, true),
+ {UtDst0, erlang:universaltime_to_localtime(UtDst0)}
+ catch error:badarg -> {error, error}
+ end,
+ {Ut, Lt} =
+ try
+ Ut0 = erlang:localtime_to_universaltime(DateTime, false),
+ {Ut0, erlang:universaltime_to_localtime(Ut0)}
+ catch error:badarg -> {error, error}
+ end,
%% Return the valid universal times
case {LtDst,Lt} of
{DateTime,DateTime} when UtDst =/= Ut ->

View File

@ -1,20 +0,0 @@
--- lib/wx/c_src/wxe_impl.cpp.orig 2017-01-30 23:13:25 UTC
+++ lib/wx/c_src/wxe_impl.cpp
@@ -666,7 +666,7 @@ void * WxeApp::getPtr(char * bp, wxeMemE
throw wxe_badarg(index);
}
void * temp = memenv->ref2ptr[index];
- if((index < memenv->next) && ((index == 0) || (temp > NULL)))
+ if((index < memenv->next) && ((index == 0) || (temp != NULL)))
return temp;
else {
throw wxe_badarg(index);
@@ -678,7 +678,7 @@ void WxeApp::registerPid(char * bp, ErlD
if(!memenv)
throw wxe_badarg(index);
void * temp = memenv->ref2ptr[index];
- if((index < memenv->next) && ((index == 0) || (temp > NULL))) {
+ if((index < memenv->next) && ((index == 0) || (temp != NULL))) {
ptrMap::iterator it;
it = ptr2ref.find(temp);
if(it != ptr2ref.end()) {

View File

@ -1,8 +0,0 @@
[
{ type: install
message: <<EOM
To use this runtime port for development or testing, just prepend
its binary path ("%%LOCALBASE%%/lib/%%ERLANG_LIB%%/bin") to your PATH variable.
EOM
}
]

View File

@ -1,10 +0,0 @@
Erlang is a programming language used to build massively scalable soft
real-time systems with requirements on high availability. Some of its
uses are in telecoms, banking, e-commerce, computer telephony and
instant messaging. Erlang's runtime system has built-in support for
concurrency, distribution and fault tolerance.
This port contains a standalone runtime environment of Erlang 18
to be used during the development of OTP applications.
WWW: https://www.erlang.org/

View File

@ -1,143 +0,0 @@
# Created by: ruslan@shevchenko.kiev.ua
# $FreeBSD$
PORTNAME= erlang
DISTVERSIONPREFIX= OTP-
DISTVERSION= 19.3.6.13
PORTREVISION= 1
CATEGORIES= lang parallel java
PKGNAMESUFFIX= -runtime19
DIST_SUBDIR= erlang
MAINTAINER= erlang@FreeBSD.org
COMMENT= Functional programming language from Ericsson
LICENSE= APACHE20
DEPRECATED= No longer supported upstream, use lang/erlang >=21
EXPIRATION_DATE= 2020-01-01
BROKEN_sparc64= Fails to build: error: fp_except undeclared
USES= autoreconf:build gmake ncurses perl5
USE_GITHUB= yes
GH_PROJECT= otp
USE_PERL5= build
GNU_CONFIGURE= yes
MAKE_JOBS_UNSAFE=yes
SUB_FILES= pkg-message
SUB_LIST= ERLANG_LIB=${ERLANG_LIB}
ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//}
OPTIONS_DEFINE= DIRTY DTRACE GS HIPE JAVA KQUEUE NATIVE ODBC OPENSSL SCTP SMP THREADS WX
OPTIONS_DEFAULT=DTRACE HIPE KQUEUE OPENSSL SCTP SMP THREADS
DIRTY_DESC= Enable Dirty schedulers (experimental)
GS_DESC= Enable GS application (deprecated)
HIPE_DESC= Build native HiPE compiler
KQUEUE_DESC= Enable Kernel Poll (kqueue) support
NATIVE_DESC= Enable native libraries
SCTP_DESC= Enable SCTP support
SMP_DESC= Enable SMP support
WX_DESC= Enable WX application
NATIVE_IMPLIES= HIPE
.if !exists(/usr/sbin/dtrace)
OPTIONS_EXCLUDE+= DTRACE
.endif
OPTIONS_EXCLUDE_DragonFly= HIPE NATIVE SCTP
# ld(1) fails to link probes: missing __dtrace_erlang___* symbols
OPTIONS_EXCLUDE_aarch64= DTRACE
OPTIONS_EXCLUDE_armv6= DTRACE
OPTIONS_EXCLUDE_armv7= DTRACE
OPTIONS_EXCLUDE_i386= DTRACE
OPTIONS_EXCLUDE_powerpc64= ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}}
OPTIONS_EXCLUDE_powerpc64_13= DTRACE
OPENSSL_VARS= BROKEN_SSL=openssl111
# If you run Erlang and get a message resembling "WARNING: number of
# probes fixed does not match the number of defined probes (54 != 132,
# respectively)" you probably misconfigured DTrace in some way.
DIRTY_CONFIGURE_ENABLE= dirty-schedulers
DTRACE_CFLAGS= -fno-omit-frame-pointer
DTRACE_CONFIGURE_WITH= dynamic-trace=dtrace
DTRACE_VARS= STRIP=""
GS_USES= tk:run
HIPE_CONFIGURE_ENABLE= hipe
JAVA_CONFIGURE_ENV= ac_cv_prog_JAVAC="${JAVAC}"
JAVA_CONFIGURE_WITH= javac
JAVA_VARS= USE_JAVA=yes
KQUEUE_CONFIGURE_ENABLE=kernel-poll
NATIVE_CONFIGURE_ENABLE=native-libs
ODBC_CONFIGURE_WITH= odbc
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
OPENSSL_CONFIGURE_WITH= ssl=${OPENSSLBASE}
OPENSSL_USES= ssl
SCTP_CONFIGURE_ENABLE= sctp
SMP_CONFIGURE_ENABLE= smp-support
THREADS_CONFIGURE_ENABLE= threads
WX_CONFIGURE_WITH= wx-config=${WX_CONFIG}
WX_USES= gl
WX_VARS= USE_WX=2.8+ WX_COMPS="wx contrib" USE_GL="gl glu"
.include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD
CFLAGS+= -DMAP_NORESERVE=0
.endif
.if ${ARCH} == i386
MAKE_ARGS+= ARCH=x86
.endif
.if ${ARCH} == armv6 || ${ARCH} == armv7
MAKE_ARGS+= ARCH=arm
.endif
pre-configure:
@cd ${WRKSRC} && ./otp_build autoconf
pre-configure-WX-off:
echo "disabled by port options" > ${WRKSRC}/lib/debugger/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/et/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/observer/SKIP
echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP
post-configure-ODBC-on:
${RM} ${WRKSRC}/lib/odbc/SKIP
pre-build-NATIVE-on:
@cd ${WRKSRC} && ${MAKE_CMD} clean
post-install-GS-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/gs-*
post-install-JAVA-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/jinterface-*
post-install-ODBC-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/odbc-*
post-install-OPENSSL-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/crypto-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssh-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssl-*
post-install-WX-off:
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/debugger-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/et-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/observer-*
${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/wx-*
post-stage:
${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
@cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \
| ${SORT} >> ${TMPPLIST}
.include <bsd.port.post.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1552760892
SHA256 (erlang/erlang-otp-OTP-19.3.6.13_GH0.tar.gz) = 11a914176a33068226644f4e999ecc6e965ab1c60a324d90020f164641631fae
SIZE (erlang/erlang-otp-OTP-19.3.6.13_GH0.tar.gz) = 34006014

View File

@ -1,20 +0,0 @@
--- Makefile.in.orig 2015-06-23 18:56:21 UTC
+++ Makefile.in
@@ -60,7 +60,7 @@ bindir = @bindir@
libdir = @libdir@
# Where Erlang/OTP is located
-libdir_suffix = /erlang
+libdir_suffix = /erlang19
erlang_libdir = $(libdir)$(libdir_suffix)
erlang_bindir = $(erlang_libdir)/bin
@@ -1013,7 +1013,7 @@ $(TEST_DIRS):
#
# Order is important here, don't change it!
#
-INST_DEP += install.dirs install.emulator install.libs install.Install install.otp_version install.bin
+INST_DEP += install.dirs install.emulator install.libs install.Install install.otp_version
install: $(INST_DEP)

File diff suppressed because it is too large Load Diff

View File

@ -1,293 +0,0 @@
From 4dddb3c0b286e13f2cbccb0cdaa4bffcfee60033 Mon Sep 17 00:00:00 2001
From: Yuki Ito <yuki@gnnk.net>
Date: Tue, 20 Dec 2016 17:45:51 +0900
Subject: [PATCH] crypto: Support chacha20_poly1305
This commit reactivates chacha20_poly1305 and fixes the imprementation
for the released OpenSSL 1.1.0 or later.
---
lib/crypto/c_src/crypto.c | 152 ++++++++++++-------------------
lib/crypto/test/crypto_SUITE.erl | 49 ++++++++--
2 files changed, 101 insertions(+), 100 deletions(-)
diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c
index 0031f9b9620..68784cd24c9 100644
--- lib/crypto/c_src/crypto.c
+++ lib/crypto/c_src/crypto.c
@@ -117,7 +117,7 @@
# endif
#endif
-#if defined(NID_chacha20) && !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
+#if OPENSSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION_PLAIN(1,1,0)
# define HAVE_CHACHA20_POLY1305
#endif
@@ -131,20 +131,6 @@
#include <openssl/ecdsa.h>
#endif
-#if defined(HAVE_CHACHA20_POLY1305)
-#include <openssl/chacha.h>
-#include <openssl/poly1305.h>
-
-#if !defined(CHACHA20_NONCE_LEN)
-# define CHACHA20_NONCE_LEN 8
-#endif
-#if !defined(POLY1305_TAG_LEN)
-# define POLY1305_TAG_LEN 16
-#endif
-
-#endif
-
-
#ifdef VALGRIND
# include <valgrind/memcheck.h>
@@ -2038,71 +2024,61 @@
}
#endif /* HAVE_GCM_EVP_DECRYPT_BUG */
-#if defined(HAVE_CHACHA20_POLY1305)
-static void
-poly1305_update_with_length(poly1305_state *poly1305,
- const unsigned char *data, size_t data_len)
-{
- size_t j = data_len;
- unsigned char length_bytes[8];
- unsigned i;
- for (i = 0; i < sizeof(length_bytes); i++) {
- length_bytes[i] = j;
- j >>= 8;
- }
-
- CRYPTO_poly1305_update(poly1305, data, data_len);
- CRYPTO_poly1305_update(poly1305, length_bytes, sizeof(length_bytes));
-}
-#endif
-
static ERL_NIF_TERM chacha20_poly1305_encrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
{/* (Key,Iv,AAD,In) */
#if defined(HAVE_CHACHA20_POLY1305)
+ EVP_CIPHER_CTX *ctx;
+ const EVP_CIPHER *cipher = NULL;
ErlNifBinary key, iv, aad, in;
- unsigned char *outp;
+ unsigned char *outp, *tagp;
ERL_NIF_TERM out, out_tag;
- ErlNifUInt64 in_len_64;
- unsigned char poly1305_key[32];
- poly1305_state poly1305;
+ int len;
if (!enif_inspect_iolist_as_binary(env, argv[0], &key) || key.size != 32
- || !enif_inspect_binary(env, argv[1], &iv) || iv.size != CHACHA20_NONCE_LEN
+ || !enif_inspect_binary(env, argv[1], &iv) || iv.size == 0 || iv.size > 16
|| !enif_inspect_iolist_as_binary(env, argv[2], &aad)
|| !enif_inspect_iolist_as_binary(env, argv[3], &in)) {
return enif_make_badarg(env);
}
- /* Take from OpenSSL patch set/LibreSSL:
- *
- * The underlying ChaCha implementation may not overflow the block
- * counter into the second counter word. Therefore we disallow
- * individual operations that work on more than 2TB at a time.
- * in_len_64 is needed because, on 32-bit platforms, size_t is only
- * 32-bits and this produces a warning because it's always false.
- * Casting to uint64_t inside the conditional is not sufficient to stop
- * the warning. */
- in_len_64 = in.size;
- if (in_len_64 >= (1ULL << 32) * 64 - 64)
- return enif_make_badarg(env);
+ cipher = EVP_chacha20_poly1305();
- memset(poly1305_key, 0, sizeof(poly1305_key));
- CRYPTO_chacha_20(poly1305_key, poly1305_key, sizeof(poly1305_key), key.data, iv.data, 0);
+ ctx = EVP_CIPHER_CTX_new();
+ if (EVP_EncryptInit_ex(ctx, cipher, NULL, NULL, NULL) != 1)
+ goto out_err;
+
+ EVP_CIPHER_CTX_set_padding(ctx, 0);
+
+ if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, iv.size, NULL) != 1)
+ goto out_err;
+ if (EVP_EncryptInit_ex(ctx, NULL, NULL, key.data, iv.data) != 1)
+ goto out_err;
+ if (EVP_EncryptUpdate(ctx, NULL, &len, aad.data, aad.size) != 1)
+ goto out_err;
+
outp = enif_make_new_binary(env, in.size, &out);
- CRYPTO_poly1305_init(&poly1305, poly1305_key);
- poly1305_update_with_length(&poly1305, aad.data, aad.size);
- CRYPTO_chacha_20(outp, in.data, in.size, key.data, iv.data, 1);
- poly1305_update_with_length(&poly1305, outp, in.size);
+ if (EVP_EncryptUpdate(ctx, outp, &len, in.data, in.size) != 1)
+ goto out_err;
+ if (EVP_EncryptFinal_ex(ctx, outp+len, &len) != 1)
+ goto out_err;
- CRYPTO_poly1305_finish(&poly1305, enif_make_new_binary(env, POLY1305_TAG_LEN, &out_tag));
+ tagp = enif_make_new_binary(env, 16, &out_tag);
+ if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16, tagp) != 1)
+ goto out_err;
+
+ EVP_CIPHER_CTX_free(ctx);
+
CONSUME_REDS(env, in);
return enif_make_tuple2(env, out, out_tag);
+out_err:
+ EVP_CIPHER_CTX_free(ctx);
+ return atom_error;
#else
return enif_raise_exception(env, atom_notsup);
#endif
@@ -2111,53 +2087,52 @@
static ERL_NIF_TERM chacha20_poly1305_decrypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
{/* (Key,Iv,AAD,In,Tag) */
#if defined(HAVE_CHACHA20_POLY1305)
+ EVP_CIPHER_CTX *ctx;
+ const EVP_CIPHER *cipher = NULL;
ErlNifBinary key, iv, aad, in, tag;
unsigned char *outp;
ERL_NIF_TERM out;
- ErlNifUInt64 in_len_64;
- unsigned char poly1305_key[32];
- unsigned char mac[POLY1305_TAG_LEN];
- poly1305_state poly1305;
+ int len;
if (!enif_inspect_iolist_as_binary(env, argv[0], &key) || key.size != 32
- || !enif_inspect_binary(env, argv[1], &iv) || iv.size != CHACHA20_NONCE_LEN
+ || !enif_inspect_binary(env, argv[1], &iv) || iv.size == 0 || iv.size > 16
|| !enif_inspect_iolist_as_binary(env, argv[2], &aad)
|| !enif_inspect_iolist_as_binary(env, argv[3], &in)
- || !enif_inspect_iolist_as_binary(env, argv[4], &tag) || tag.size != POLY1305_TAG_LEN) {
+ || !enif_inspect_iolist_as_binary(env, argv[4], &tag) || tag.size != 16) {
return enif_make_badarg(env);
}
- /* Take from OpenSSL patch set/LibreSSL:
- *
- * The underlying ChaCha implementation may not overflow the block
- * counter into the second counter word. Therefore we disallow
- * individual operations that work on more than 2TB at a time.
- * in_len_64 is needed because, on 32-bit platforms, size_t is only
- * 32-bits and this produces a warning because it's always false.
- * Casting to uint64_t inside the conditional is not sufficient to stop
- * the warning. */
- in_len_64 = in.size;
- if (in_len_64 >= (1ULL << 32) * 64 - 64)
- return enif_make_badarg(env);
+ cipher = EVP_chacha20_poly1305();
- memset(poly1305_key, 0, sizeof(poly1305_key));
- CRYPTO_chacha_20(poly1305_key, poly1305_key, sizeof(poly1305_key), key.data, iv.data, 0);
+ ctx = EVP_CIPHER_CTX_new();
- CRYPTO_poly1305_init(&poly1305, poly1305_key);
- poly1305_update_with_length(&poly1305, aad.data, aad.size);
- poly1305_update_with_length(&poly1305, in.data, in.size);
- CRYPTO_poly1305_finish(&poly1305, mac);
+ if (EVP_DecryptInit_ex(ctx, cipher, NULL, NULL, NULL) != 1)
+ goto out_err;
+ if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, iv.size, NULL) != 1)
+ goto out_err;
+ if (EVP_DecryptInit_ex(ctx, NULL, NULL, key.data, iv.data) != 1)
+ goto out_err;
+ if (EVP_DecryptUpdate(ctx, NULL, &len, aad.data, aad.size) != 1)
+ goto out_err;
- if (memcmp(mac, tag.data, POLY1305_TAG_LEN) != 0)
- return atom_error;
-
outp = enif_make_new_binary(env, in.size, &out);
- CRYPTO_chacha_20(outp, in.data, in.size, key.data, iv.data, 1);
+ if (EVP_DecryptUpdate(ctx, outp, &len, in.data, in.size) != 1)
+ goto out_err;
+ if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, tag.size, tag.data) != 1)
+ goto out_err;
+ if (EVP_DecryptFinal_ex(ctx, outp+len, &len) != 1)
+ goto out_err;
+ EVP_CIPHER_CTX_free(ctx);
+
CONSUME_REDS(env, in);
return out;
+
+out_err:
+ EVP_CIPHER_CTX_free(ctx);
+ return atom_error;
#else
return enif_raise_exception(env, atom_notsup);
#endif
diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl
index 0c3b7a0445d..31f4e89ffe1 100644
--- lib/crypto/test/crypto_SUITE.erl
+++ lib/crypto/test/crypto_SUITE.erl
@@ -2249,16 +2249,49 @@ aes_gcm() ->
1} %% TagLength
].
-%% http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-04
+%% https://tools.ietf.org/html/rfc7539#appendix-A.5
chacha20_poly1305() ->
[
- {chacha20_poly1305, hexstr2bin("4290bcb154173531f314af57f3be3b500" %% Key
- "6da371ece272afa1b5dbdd1100a1007"),
- hexstr2bin("86d09974840bded2a5ca"), %% PlainText
- hexstr2bin("cd7cf67be39c794a"), %% Nonce
- hexstr2bin("87e229d4500845a079c0"), %% AAD
- hexstr2bin("e3e446f7ede9a19b62a4"), %% CipherText
- hexstr2bin("677dabf4e3d24b876bb284753896e1d6")} %% CipherTag
+ {chacha20_poly1305,
+ hexstr2bin("1c9240a5eb55d38af333888604f6b5f0" %% Key
+ "473917c1402b80099dca5cbc207075c0"),
+ hexstr2bin("496e7465726e65742d44726166747320" %% PlainText
+ "61726520647261667420646f63756d65"
+ "6e74732076616c696420666f72206120"
+ "6d6178696d756d206f6620736978206d"
+ "6f6e74687320616e64206d6179206265"
+ "20757064617465642c207265706c6163"
+ "65642c206f72206f62736f6c65746564"
+ "206279206f7468657220646f63756d65"
+ "6e747320617420616e792074696d652e"
+ "20497420697320696e617070726f7072"
+ "6961746520746f2075736520496e7465"
+ "726e65742d4472616674732061732072"
+ "65666572656e6365206d617465726961"
+ "6c206f7220746f206369746520746865"
+ "6d206f74686572207468616e20617320"
+ "2fe2809c776f726b20696e2070726f67"
+ "726573732e2fe2809d"),
+ hexstr2bin("000000000102030405060708"), %% Nonce
+ hexstr2bin("f33388860000000000004e91"), %% AAD
+ hexstr2bin("64a0861575861af460f062c79be643bd" %% CipherText
+ "5e805cfd345cf389f108670ac76c8cb2"
+ "4c6cfc18755d43eea09ee94e382d26b0"
+ "bdb7b73c321b0100d4f03b7f355894cf"
+ "332f830e710b97ce98c8a84abd0b9481"
+ "14ad176e008d33bd60f982b1ff37c855"
+ "9797a06ef4f0ef61c186324e2b350638"
+ "3606907b6a7c02b0f9f6157b53c867e4"
+ "b9166c767b804d46a59b5216cde7a4e9"
+ "9040c5a40433225ee282a1b0a06c523e"
+ "af4534d7f83fa1155b0047718cbc546a"
+ "0d072b04b3564eea1b422273f548271a"
+ "0bb2316053fa76991955ebd63159434e"
+ "cebb4e466dae5a1073a6727627097a10"
+ "49e617d91d361094fa68f0ff77987130"
+ "305beaba2eda04df997b714d6c6f2c29"
+ "a6ad5cb4022b02709b"),
+ hexstr2bin("eead9d67890cbb22392336fea1851f38")} %% CipherTag
].
rsa_plain() ->

View File

@ -1,12 +0,0 @@
--- erts/etc/unix/run_erl.c.orig 2015-03-31 12:32:52 UTC
+++ erts/etc/unix/run_erl.c
@@ -73,9 +73,6 @@
#ifdef HAVE_UTMP_H
# include <utmp.h>
#endif
-#ifdef HAVE_UTIL_H
-# include <util.h>
-#endif
#ifdef HAVE_SYS_IOCTL_H
# include <sys/ioctl.h>
#endif

View File

@ -1,11 +0,0 @@
--- lib/crypto/c_src/Makefile.in.orig 2016-03-14 20:11:15 UTC
+++ lib/crypto/c_src/Makefile.in
@@ -90,7 +90,7 @@ endif
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
-SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@
+SSL_DED_LD_RUNTIME_LIBRARY_PATH =
CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME)
EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB
else

View File

@ -1,11 +0,0 @@
--- lib/crypto/priv/Makefile.orig 2016-03-14 20:11:15 UTC
+++ lib/crypto/priv/Makefile
@@ -61,7 +61,7 @@ OBJS = $(OBJDIR)/crypto.o
# ----------------------------------------------------
$(SO_NIFLIB): $(OBJS)
- $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) -Wl,-R$(SO_SSL_LIBDIR) \
+ $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) \
-o $@ $^ -lcrypto
$(DLL_NIFLIB): $(OBJS)

View File

@ -1,12 +0,0 @@
--- lib/erl_interface/src/connect/ei_resolve.c.orig 2015-03-31 12:32:52 UTC
+++ lib/erl_interface/src/connect/ei_resolve.c
@@ -649,7 +649,8 @@ struct hostent *ei_gethostbyname_r(const
return result;
#else
- return gethostbyname_r(name,hostp,buffer,buflen,h_errnop);
+ struct hostent *dummy;
+ return gethostbyname_r(name,hostp,buffer,buflen,&dummy,h_errnop);
#endif
#endif
#endif

View File

@ -1,11 +0,0 @@
--- lib/hipe/llvm/hipe_llvm_main.erl.orig 2015-06-27 20:52:09 UTC
+++ lib/hipe/llvm/hipe_llvm_main.erl
@@ -474,7 +474,7 @@ unique_folder(FunName, Arity, Options) -
true -> %% Store folder in current directory
DirName;
false -> %% Temporarily store folder in tempfs (/dev/shm/)
- "/dev/shm/" ++ DirName
+ "/tmp/" ++ DirName
end,
%% Make sure it does not exist
case dir_exists(Dir) of

View File

@ -1,26 +0,0 @@
--- lib/stdlib/src/calendar.erl.orig 2015-03-31 12:32:52 UTC
+++ lib/stdlib/src/calendar.erl
@@ -279,11 +279,19 @@ local_time_to_universal_time(DateTime, I
DateTime1 :: datetime1970(),
DateTime :: datetime1970().
local_time_to_universal_time_dst(DateTime) ->
- UtDst = erlang:localtime_to_universaltime(DateTime, true),
- Ut = erlang:localtime_to_universaltime(DateTime, false),
%% Reverse check the universal times
- LtDst = erlang:universaltime_to_localtime(UtDst),
- Lt = erlang:universaltime_to_localtime(Ut),
+ {UtDst, LtDst} =
+ try
+ UtDst0 = erlang:localtime_to_universaltime(DateTime, true),
+ {UtDst0, erlang:universaltime_to_localtime(UtDst0)}
+ catch error:badarg -> {error, error}
+ end,
+ {Ut, Lt} =
+ try
+ Ut0 = erlang:localtime_to_universaltime(DateTime, false),
+ {Ut0, erlang:universaltime_to_localtime(Ut0)}
+ catch error:badarg -> {error, error}
+ end,
%% Return the valid universal times
case {LtDst,Lt} of
{DateTime,DateTime} when UtDst =/= Ut ->

View File

@ -1,20 +0,0 @@
--- lib/wx/c_src/wxe_impl.cpp.orig 2017-01-30 23:13:25 UTC
+++ lib/wx/c_src/wxe_impl.cpp
@@ -666,7 +666,7 @@ void * WxeApp::getPtr(char * bp, wxeMemE
throw wxe_badarg(index);
}
void * temp = memenv->ref2ptr[index];
- if((index < memenv->next) && ((index == 0) || (temp > NULL)))
+ if((index < memenv->next) && ((index == 0) || (temp != NULL)))
return temp;
else {
throw wxe_badarg(index);
@@ -678,7 +678,7 @@ void WxeApp::registerPid(char * bp, ErlD
if(!memenv)
throw wxe_badarg(index);
void * temp = memenv->ref2ptr[index];
- if((index < memenv->next) && ((index == 0) || (temp > NULL))) {
+ if((index < memenv->next) && ((index == 0) || (temp != NULL))) {
ptrMap::iterator it;
it = ptr2ref.find(temp);
if(it != ptr2ref.end()) {

View File

@ -1,8 +0,0 @@
[
{ type: install
message: <<EOM
To use this runtime port for development or testing, just prepend
its binary path ("%%LOCALBASE%%/lib/%%ERLANG_LIB%%/bin") to your PATH variable.
EOM
}
]

View File

@ -1,10 +0,0 @@
Erlang is a programming language used to build massively scalable soft
real-time systems with requirements on high availability. Some of its
uses are in telecoms, banking, e-commerce, computer telephony and
instant messaging. Erlang's runtime system has built-in support for
concurrency, distribution and fault tolerance.
This port contains a standalone runtime environment of Erlang 19
to be used during the development of OTP applications.
WWW: https://www.erlang.org/