Changeset View
Standalone View
net/rabbitmq/Makefile
# Created by: Phillip Neumann <pneumann@gmail.com> | # Created by: Phillip Neumann <pneumann@gmail.com> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= rabbitmq | PORTNAME= rabbitmq | ||||
PORTVERSION= 3.7.7 | PORTVERSION= 3.7.8 | ||||
PORTREVISION= 1 | |||||
CATEGORIES= net | CATEGORIES= net | ||||
MASTER_SITES= https://github.com/rabbitmq/rabbitmq-server/releases/download/v${PORTVERSION}/ | MASTER_SITES= https://github.com/rabbitmq/rabbitmq-server/releases/download/v${PORTVERSION}/ | ||||
jrm: USE_GITHUB? | |||||
Done Inline ActionsThe port is using files attached to a GitHub release, not a Git clone. Furthermore, the downloaded source archive is more than what is available in this repository. Therefore, no, it can't use USE_GITHUB. dumbbell: The port is using files attached to a GitHub release, not a Git clone. Furthermore, the… | |||||
DISTNAME= ${PORTNAME}-server-${PORTVERSION} | DISTNAME= ${PORTNAME}-server-${PORTVERSION} | ||||
MAINTAINER= erlang@FreeBSD.org | MAINTAINER= erlang@FreeBSD.org | ||||
COMMENT= RabbitMQ is an implementation of AMQP | COMMENT= Message broker supporting AMQP 0.9.1, 1.0, MQTT 3.1, STOMP and more | ||||
LICENSE= MPL11 | LICENSE= MPL11 | ||||
LICENSE_FILE= ${WRKSRC}/LICENSE-MPL-RabbitMQ | LICENSE_FILE= ${WRKSRC}/LICENSE-MPL-RabbitMQ | ||||
BROKEN_powerpc64= fails to build: (ArgumentError) argument error | BROKEN_powerpc64= fails to build: (ArgumentError) argument error | ||||
Done Inline ActionsAt least one leading TAB is missing here. jrm: At least one leading TAB is missing here. | |||||
Done Inline ActionsSo what are the rules for tabs? currently I only put a tab in when the varname length is < 16. dch: So what are the rules for tabs? currently I only put a tab in when the varname length is < 16. | |||||
BUILD_DEPENDS= erlang-runtime19>=19.3:lang/erlang-runtime19 \ | BUILD_DEPENDS= erlang-runtime${ERLANG_VERSION}>=${ERLANG_VERSION}:lang/erlang-runtime${ERLANG_VERSION} \ | ||||
elixir:lang/elixir \ | elixir:lang/elixir \ | ||||
${PYTHON_PKGNAMEPREFIX}simplejson>=2.0:devel/py-simplejson@${PY_FLAVOR} \ | ${PYTHON_PKGNAMEPREFIX}simplejson>=2.0:devel/py-simplejson@${PY_FLAVOR} \ | ||||
xmlto:textproc/xmlto \ | xmlto:textproc/xmlto \ | ||||
zip:archivers/zip \ | zip:archivers/zip \ | ||||
rsync:net/rsync | rsync:net/rsync | ||||
RUN_DEPENDS= erlang-runtime19>=19.3:lang/erlang-runtime19 | RUN_DEPENDS= erlang-runtime${ERLANG_VERSION}>=${ERLANG_VERSION}:lang/erlang-runtime${ERLANG_VERSION} | ||||
USES= cpe gmake shebangfix tar:xz | |||||
USE_LOCALE= en_US.UTF-8 | |||||
USE_RC_SUBR= rabbitmq | |||||
OPTIONS_DEFINE= ADMIN | OPTIONS_DEFINE= ADMIN | ||||
OPTIONS_DEFAULT=OTP20 | |||||
OPTIONS_SUB= yes | OPTIONS_SUB= yes | ||||
OPTIONS_SINGLE= ENV | |||||
OPTIONS_SINGLE_ENV=OTP20 OTP21 | |||||
OTP20_DESC= Use Erlang OTP20 | |||||
OTP20_VARS= ERLANG_VERSION=20 | |||||
OTP21_DESC= Use Erlang OTP21 | |||||
OTP21_VARS= ERLANG_VERSION=21 | |||||
ADMIN_DESC= Install rabbitmqadmin script | ADMIN_DESC= Install rabbitmqadmin script | ||||
ADMIN_USES= python | ADMIN_USES= python | ||||
Done Inline ActionsYour defining BUILD_DEPENDS and RUN_DEPENDS again here and hardcoding the erlang version. jrm: Your defining `BUILD_DEPENDS` and `RUN_DEPENDS` again here and hardcoding the erlang version. | |||||
Done Inline ActionsCringe.... Your -> You're jrm: Cringe.... Your -> You're | |||||
Done Inline Actions<shivers> I will revisit the licenses once the rest is ironed out, RMQ has a lot more than just MPL code. dch: <shivers>
I will revisit the licenses once the rest is ironed out, RMQ has a lot more than… | |||||
ADMIN_USES_OFF= python:build | ADMIN_USES_OFF= python:build | ||||
ALL_TARGET= all manpages | ALL_TARGET= all manpages | ||||
USES= cpe gmake shebangfix tar:xz | |||||
USE_LOCALE= en_US.UTF-8 | |||||
USE_RC_SUBR= rabbitmq | |||||
NO_ARCH= yes | NO_ARCH= yes | ||||
Done Inline ActionsSeparate block placed above. jrm: Separate block placed above. | |||||
USERS= rabbitmq | USERS= rabbitmq | ||||
GROUPS= rabbitmq | GROUPS= rabbitmq | ||||
PLIST_SUB= VERSION=${PORTVERSION} | PLIST_SUB= VERSION=${PORTVERSION} | ||||
CPE_VENDOR= pivotal_software | CPE_VENDOR= pivotal_software | ||||
REINPLACE_ARGS= -i "" | REINPLACE_ARGS= -i "" | ||||
SCRIPTS_DIR= ${WRKSRC}/deps/rabbit/scripts | SCRIPTS_DIR= ${WRKSRC}/deps/rabbit/scripts | ||||
SHEBANG_FILES= deps/rabbitmq_management/bin/rabbitmqadmin | SHEBANG_FILES= deps/rabbitmq_management/bin/rabbitmqadmin | ||||
MAKE_ARGS+= PYTHON=${PYTHON_CMD} | MAKE_ARGS+= PYTHON=${PYTHON_CMD} | ||||
MAKE_ENV+= PATH="${LOCALBASE}/lib/erlang19/bin:${PATH}" \ | MAKE_ENV+= PATH="${LOCALBASE}/lib/erlang${ERLANG_VERSION}/bin:${PATH}" \ | ||||
TARGET_DIR="${STAGEDIR}${PREFIX}/lib/erlang/lib/rabbitmq_server-${PORTVERSION}" \ | TARGET_DIR="${STAGEDIR}${PREFIX}/lib/erlang/lib/rabbitmq_server-${PORTVERSION}" \ | ||||
SBIN_DIR="${STAGEDIR}${PREFIX}/sbin/" \ | SBIN_DIR="${STAGEDIR}${PREFIX}/sbin/" \ | ||||
MAN_DIR="${STAGEDIR}${PREFIX}/man" \ | MAN_DIR="${STAGEDIR}${PREFIX}/man" \ | ||||
DOC_INSTALL_DIR="${STAGEDIR}${EXAMPLESDIR}" \ | DOC_INSTALL_DIR="${STAGEDIR}${EXAMPLESDIR}" \ | ||||
VERSION="${PORTVERSION}" | VERSION="${PORTVERSION}" | ||||
MAKE_JOBS_UNSAFE= yes | MAKE_JOBS_UNSAFE= yes | ||||
.include <bsd.port.options.mk> | .include <bsd.port.options.mk> | ||||
post-patch: | post-patch: | ||||
@${REINPLACE_CMD} -e 's|/etc/rabbitmq|${PREFIX}/etc/rabbitmq|g ; s|/var/lib|/var/db|g ; s|$${ERL_DIR}erl|${PREFIX}/lib/erlang19/bin/erl|g' \ | @${REINPLACE_CMD} -e 's|/etc/rabbitmq|${PREFIX}/etc/rabbitmq|g ; s|/var/lib|/var/db|g ; s|$${ERL_DIR}erl|${PREFIX}/lib/erlang${ERLANG_VERSION}/bin/erl|g' \ | ||||
dumbbellUnsubmitted Not Done Inline ActionsThis is not enough: RabbitMQ calls cuttlefish at runtime and it is an escript: it will therefore defaults to escript(1) available in $PATH. So either cuttlefish's shebang line is patched to point to the correct escript(1), or rabbitmq-env and rabbitmq-server are patched to modify $PATH. Also, instead of using sed(1) to replace $ERL_DIR, it's probably easier to set the variable once in rabbitmq-defaults. The current value is empty (ERL_DIR=). dumbbell: This is not enough: RabbitMQ calls `cuttlefish` at runtime and it is an escript: it will… | |||||
${SCRIPTS_DIR}/rabbitmq-server \ | ${SCRIPTS_DIR}/rabbitmq-server \ | ||||
${SCRIPTS_DIR}/rabbitmqctl \ | ${SCRIPTS_DIR}/rabbitmqctl \ | ||||
${SCRIPTS_DIR}/rabbitmq-env \ | ${SCRIPTS_DIR}/rabbitmq-env \ | ||||
${SCRIPTS_DIR}/rabbitmq-plugins \ | ${SCRIPTS_DIR}/rabbitmq-plugins \ | ||||
${SCRIPTS_DIR}/rabbitmq-defaults \ | ${SCRIPTS_DIR}/rabbitmq-defaults \ | ||||
${WRKSRC}/deps/rabbit/docs/rabbitmq-env.conf.5 | ${WRKSRC}/deps/rabbit/docs/rabbitmq-env.conf.5 | ||||
post-install: | post-install: | ||||
Show All 17 Lines |
USE_GITHUB?