2021-03-21 10:03:04 +01:00
|
|
|
# $NetBSD: Makefile,v 1.20 2021/03/21 09:03:04 tnn Exp $
|
2017-06-24 16:16:37 +02:00
|
|
|
|
2020-08-30 08:03:53 +02:00
|
|
|
DISTNAME= unifi-5.14.23
|
2021-03-21 10:03:04 +01:00
|
|
|
PKGREVISION= 1
|
2017-06-24 16:16:37 +02:00
|
|
|
CATEGORIES= net
|
2019-06-29 16:40:01 +02:00
|
|
|
MASTER_SITES= -http://dl.ubnt.com/unifi/${PKGVERSION_NOREV}/UniFi.unix.zip
|
2017-06-24 16:16:37 +02:00
|
|
|
EXTRACT_SUFX= .zip
|
|
|
|
|
2019-10-25 02:41:37 +02:00
|
|
|
# Updates must be tested to not only build but actually function under
|
|
|
|
# at least NetBSD 8/amd64 with actual UBNT hardware.
|
2019-06-28 18:41:06 +02:00
|
|
|
MAINTAINER= gdt@NetBSD.org
|
2017-06-24 16:16:37 +02:00
|
|
|
HOMEPAGE= https://www.ubnt.com/download/unifi/
|
2019-08-08 18:47:26 +02:00
|
|
|
# The content that belongs in NEWS are often in a blog.
|
|
|
|
#BLOGPAGE= https://community.ui.com/releases
|
2017-06-24 16:16:37 +02:00
|
|
|
COMMENT= Provisioning software for network products made by Ubiquiti
|
|
|
|
LICENSE= ubiquiti-license
|
|
|
|
|
|
|
|
# Bundled firmware images cannot be redistributed
|
2019-08-08 15:24:41 +02:00
|
|
|
RESTRICTED= No permission to redistribute
|
2017-06-24 16:16:37 +02:00
|
|
|
NO_BIN_ON_CDROM= ${RESTRICTED}
|
|
|
|
NO_BIN_ON_FTP= ${RESTRICTED}
|
|
|
|
NO_SRC_ON_CDROM= ${RESTRICTED}
|
|
|
|
NO_SRC_ON_FTP= ${RESTRICTED}
|
|
|
|
|
|
|
|
DISTFILES= ${DEFAULT_DISTFILES}
|
|
|
|
EXTRACT_ONLY= ${DEFAULT_DISTFILES}
|
|
|
|
|
|
|
|
# Unifi bundles snappy-java-1.0.5.jar, which contains native code.
|
|
|
|
# We can use the bundled snappy-java but we must recompile the native portion
|
|
|
|
# because it only ship linux binaries. The rcd script takes care of loading the
|
|
|
|
# correct library.
|
|
|
|
SNAPPY_JAVA= snappy-java-1.0.5.4
|
|
|
|
SITES.${SNAPPY_JAVA}.tar.gz= -https://github.com/xerial/snappy-java/archive/${SNAPPY_JAVA:S/snappy-java-//}.tar.gz
|
|
|
|
DISTFILES+= ${SNAPPY_JAVA}.tar.gz
|
|
|
|
EXTRACT_ONLY+= ${SNAPPY_JAVA}.tar.gz
|
|
|
|
|
|
|
|
SNAPPY= snappy-1.0.5
|
|
|
|
SITES.${SNAPPY}.tar.gz= http://download.openpkg.org/components/cache/snappy/ \
|
|
|
|
http://ftp.NetBSD.org/pub/pkgsrc/distfiles/snappy-java10/
|
|
|
|
DISTFILES+= ${SNAPPY}.tar.gz
|
|
|
|
EXTRACT_ONLY+= ${SNAPPY}.tar.gz
|
|
|
|
|
|
|
|
CHECK_SHLIBS_SKIP= unifi/lib/native/*
|
|
|
|
INSTALLATION_DIRS= unifi
|
2019-08-08 15:24:41 +02:00
|
|
|
|
|
|
|
# Emulated JDK doesn't work due to epoll issues. Also, would require
|
|
|
|
# matching emulated native libraries, and we only compile actual
|
|
|
|
# native libaries.
|
2021-03-21 10:03:04 +01:00
|
|
|
PKG_JVMS_ACCEPTED= openjdk11 openjdk8
|
2017-06-24 16:16:37 +02:00
|
|
|
PKGSRC_MAKE_ENV+= JAVA_HOME=${PKG_JAVA_HOME}
|
|
|
|
USE_LANGUAGES= c c++ # for snappy JNI library
|
|
|
|
USE_TOOLS+= gmake pax
|
|
|
|
WRKSRC= ${WRKDIR}/UniFi
|
|
|
|
|
2019-08-08 15:24:41 +02:00
|
|
|
# Upstream documents 3.4.15, but 3.4.4 actually works. Avoid mongodb4 because it
|
|
|
|
# has a problematic license.
|
|
|
|
DEPENDS+= mongodb>=3.4.4:../../databases/mongodb3
|
2017-06-24 16:16:37 +02:00
|
|
|
|
|
|
|
FILES_SUBST+= UNIFI_USER=${UNIFI_USER:Q} UNIFI_GROUP=${UNIFI_GROUP:Q}
|
|
|
|
FILES_SUBST+= JAVA=${PKG_JAVA_HOME}/bin/java
|
|
|
|
RCD_SCRIPTS= unifi
|
|
|
|
UNIFI_USER?= unifi
|
|
|
|
UNIFI_GROUP?= unifi
|
|
|
|
PKG_USERS_VARS= UNIFI_USER
|
|
|
|
PKG_GROUPS_VARS= UNIFI_GROUP
|
|
|
|
PKG_GROUPS= ${UNIFI_GROUP}
|
|
|
|
PKG_USERS= ${UNIFI_USER}:${UNIFI_GROUP}
|
|
|
|
|
|
|
|
.for d in data logs run work
|
|
|
|
OWN_DIRS_PERMS+= ${PREFIX}/unifi/${d} ${UNIFI_USER} ${UNIFI_GROUP} 0700
|
|
|
|
.endfor
|
|
|
|
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
|
|
|
|
post-extract:
|
|
|
|
# drop executable bit
|
2020-03-14 14:43:40 +01:00
|
|
|
find ${WRKSRC} -type f -print0 | xargs -0 chmod -x
|
2017-06-24 16:16:37 +02:00
|
|
|
mkdir ${WRKDIR}/${SNAPPY_JAVA}/target
|
|
|
|
ln -s ${WRKDIR}/${SNAPPY} ${WRKDIR}/${SNAPPY_JAVA}/target
|
|
|
|
|
|
|
|
do-build:
|
2019-08-08 15:24:41 +02:00
|
|
|
# bundled mongod is a linux binary; replace with symlink to native binary
|
2017-06-24 16:16:37 +02:00
|
|
|
rm -f ${WRKSRC}/bin/mongod
|
|
|
|
ln -s ${PREFIX}/bin/mongod ${WRKSRC}/bin/mongod
|
|
|
|
cd ${WRKDIR}/${SNAPPY_JAVA} && ${BUILD_MAKE_CMD} native
|
|
|
|
|
|
|
|
do-install:
|
|
|
|
cd ${WRKSRC} && pax -rw . ${DESTDIR}${PREFIX}/unifi
|
|
|
|
${INSTALL_LIB} ${WRKDIR}/${SNAPPY_JAVA}/target/snappy-1.0.5-Default/libsnappyjava.so ${DESTDIR}${PREFIX}/unifi/lib
|
|
|
|
|
|
|
|
.include "../../mk/java-vm.mk"
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|