| @@ -1,73 +1,71 @@ | | | @@ -1,73 +1,71 @@ |
1 | # $NetBSD: Makefile,v 1.31 2021/12/11 17:28:25 gdt Exp $ | | 1 | # $NetBSD: Makefile,v 1.32 2021/12/11 17:30:07 gdt Exp $ |
2 | | | 2 | |
3 | # Please do not drop this; a new update cycle is likely very soon. | | | |
4 | DISTNAME= unifi-6.5.54 | | 3 | DISTNAME= unifi-6.5.54 |
5 | CATEGORIES= net | | 4 | CATEGORIES= net |
6 | MASTER_SITES= -http://dl.ubnt.com/unifi/${PKGVERSION_NOREV}/UniFi.unix.zip | | 5 | MASTER_SITES= -http://dl.ubnt.com/unifi/${PKGVERSION_NOREV}/UniFi.unix.zip |
7 | EXTRACT_SUFX= .zip | | 6 | EXTRACT_SUFX= .zip |
8 | | | 7 | |
9 | # Updates must be tested to not only build but actually function under | | 8 | # Updates must be tested to not only build but actually function under |
10 | # at least NetBSD 9/amd64 with actual UBNT hardware. | | 9 | # at least NetBSD 9/amd64 with actual UBNT hardware. |
11 | MAINTAINER= gdt@NetBSD.org | | 10 | MAINTAINER= gdt@NetBSD.org |
12 | HOMEPAGE= https://www.ubnt.com/download/unifi/ | | 11 | HOMEPAGE= https://www.ubnt.com/download/unifi/ |
13 | # The content that belongs in NEWS are often in a blog. | | 12 | # The content that belongs in NEWS are often in a blog. |
14 | #BLOGPAGE= https://community.ui.com/releases | | 13 | #BLOGPAGE= https://community.ui.com/releases |
15 | COMMENT= Provisioning software for network products made by Ubiquiti | | 14 | COMMENT= Provisioning software for network products made by Ubiquiti |
16 | LICENSE= ubiquiti-license | | 15 | LICENSE= ubiquiti-license |
17 | | | 16 | |
18 | # Bundled firmware images cannot be redistributed | | 17 | # Bundled firmware images cannot be redistributed |
19 | RESTRICTED= No permission to redistribute | | 18 | RESTRICTED= No permission to redistribute |
20 | NO_BIN_ON_CDROM= ${RESTRICTED} | | 19 | NO_BIN_ON_CDROM= ${RESTRICTED} |
21 | NO_BIN_ON_FTP= ${RESTRICTED} | | 20 | NO_BIN_ON_FTP= ${RESTRICTED} |
22 | NO_SRC_ON_CDROM= ${RESTRICTED} | | 21 | NO_SRC_ON_CDROM= ${RESTRICTED} |
23 | NO_SRC_ON_FTP= ${RESTRICTED} | | 22 | NO_SRC_ON_FTP= ${RESTRICTED} |
24 | | | 23 | |
25 | DISTFILES= ${DEFAULT_DISTFILES} | | 24 | DISTFILES= ${DEFAULT_DISTFILES} |
26 | EXTRACT_ONLY= ${DEFAULT_DISTFILES} | | 25 | EXTRACT_ONLY= ${DEFAULT_DISTFILES} |
27 | | | 26 | |
| | | 27 | |
28 | # Unifi bundles snappy-java-1.0.5.jar, which contains native code. | | 28 | # Unifi bundles snappy-java-1.0.5.jar, which contains native code. |
29 | # We can use the bundled snappy-java but we must recompile the native portion | | 29 | # We can use the bundled snappy-java but we must recompile the native portion |
30 | # because it only ship linux binaries. The rcd script takes care of loading the | | 30 | # because it only ship linux binaries. The rcd script takes care of loading the |
31 | # correct library. | | 31 | # correct library. |
32 | SNAPPY_JAVA= snappy-java-1.0.5.4 | | 32 | SNAPPY_JAVA= snappy-java-1.0.5.4 |
33 | # github.mk only works for the main MASTER_SITES definition and does | | 33 | # github.mk only works for the main MASTER_SITES definition and does |
34 | # not support SITES | | 34 | # not support SITES |
35 | SITES.${SNAPPY_JAVA}.tar.gz= -https://github.com/xerial/snappy-java/archive/${SNAPPY_JAVA:S/snappy-java-//}.tar.gz | | 35 | SITES.${SNAPPY_JAVA}.tar.gz= -https://github.com/xerial/snappy-java/archive/${SNAPPY_JAVA:S/snappy-java-//}.tar.gz |
36 | DISTFILES+= ${SNAPPY_JAVA}.tar.gz | | 36 | DISTFILES+= ${SNAPPY_JAVA}.tar.gz |
37 | EXTRACT_ONLY+= ${SNAPPY_JAVA}.tar.gz | | 37 | EXTRACT_ONLY+= ${SNAPPY_JAVA}.tar.gz |
38 | | | 38 | |
39 | SNAPPY= snappy-1.0.5 | | 39 | SNAPPY= snappy-1.0.5 |
40 | SITES.${SNAPPY}.tar.gz= http://download.openpkg.org/components/cache/snappy/ \ | | 40 | SITES.${SNAPPY}.tar.gz= http://download.openpkg.org/components/cache/snappy/ \ |
41 | http://ftp.NetBSD.org/pub/pkgsrc/distfiles/snappy-java10/ | | 41 | http://ftp.NetBSD.org/pub/pkgsrc/distfiles/snappy-java10/ |
42 | DISTFILES+= ${SNAPPY}.tar.gz | | 42 | DISTFILES+= ${SNAPPY}.tar.gz |
43 | EXTRACT_ONLY+= ${SNAPPY}.tar.gz | | 43 | EXTRACT_ONLY+= ${SNAPPY}.tar.gz |
44 | | | 44 | |
45 | CHECK_SHLIBS_SKIP= unifi/lib/native/* | | 45 | CHECK_SHLIBS_SKIP= unifi/lib/native/* |
46 | INSTALLATION_DIRS= unifi | | 46 | INSTALLATION_DIRS= unifi share/doc/unifi |
47 | | | 47 | |
48 | # Emulated JDK doesn't work due to epoll issues. Also, would require | | 48 | # Emulated JDK doesn't work due to epoll issues. Also, would require |
49 | # matching emulated native libraries, and we only compile actual | | 49 | # matching emulated native libraries, and we only compile actual |
50 | # native libaries. | | 50 | # native libaries. |
51 | # NetBSD openjdk11 fails to listen to https, so disable for now | | 51 | # NetBSD openjdk11 fails to listen to https, so disable for now |
52 | PKG_JVMS_ACCEPTED= openjdk8 | | 52 | PKG_JVMS_ACCEPTED= openjdk8 |
53 | PKGSRC_MAKE_ENV+= JAVA_HOME=${PKG_JAVA_HOME} | | 53 | PKGSRC_MAKE_ENV+= JAVA_HOME=${PKG_JAVA_HOME} |
54 | USE_LANGUAGES= c c++ # for snappy JNI library | | 54 | USE_LANGUAGES= c c++ # for snappy JNI library |
55 | USE_TOOLS+= gmake pax | | 55 | USE_TOOLS+= gmake pax |
56 | WRKSRC= ${WRKDIR} | | 56 | WRKSRC= ${WRKDIR} |
57 | | | 57 | |
58 | # Upstream documents 3.4.15, but 3.4.4 actually works. Avoid mongodb4 because it | | 58 | .include "options.mk" |
59 | # has a problematic license. | | | |
60 | DEPENDS+= mongodb>=3.4.4:../../databases/mongodb3 | | | |
61 | | | 59 | |
62 | FILES_SUBST+= UNIFI_USER=${UNIFI_USER:Q} UNIFI_GROUP=${UNIFI_GROUP:Q} | | 60 | FILES_SUBST+= UNIFI_USER=${UNIFI_USER:Q} UNIFI_GROUP=${UNIFI_GROUP:Q} |
63 | FILES_SUBST+= JAVA=${PKG_JAVA_HOME}/bin/java | | 61 | FILES_SUBST+= JAVA=${PKG_JAVA_HOME}/bin/java |
64 | RCD_SCRIPTS= unifi | | 62 | RCD_SCRIPTS= unifi |
65 | UNIFI_USER?= unifi | | 63 | UNIFI_USER?= unifi |
66 | UNIFI_GROUP?= unifi | | 64 | UNIFI_GROUP?= unifi |
67 | PKG_USERS_VARS= UNIFI_USER | | 65 | PKG_USERS_VARS= UNIFI_USER |
68 | PKG_GROUPS_VARS= UNIFI_GROUP | | 66 | PKG_GROUPS_VARS= UNIFI_GROUP |
69 | PKG_GROUPS= ${UNIFI_GROUP} | | 67 | PKG_GROUPS= ${UNIFI_GROUP} |
70 | PKG_USERS= ${UNIFI_USER}:${UNIFI_GROUP} | | 68 | PKG_USERS= ${UNIFI_USER}:${UNIFI_GROUP} |
71 | | | 69 | |
72 | .for d in data logs run work | | 70 | .for d in data logs run work |
73 | OWN_DIRS_PERMS+= ${PREFIX}/unifi/${d} ${UNIFI_USER} ${UNIFI_GROUP} 0700 | | 71 | OWN_DIRS_PERMS+= ${PREFIX}/unifi/${d} ${UNIFI_USER} ${UNIFI_GROUP} 0700 |
| @@ -104,16 +102,17 @@ post-extract: | | | @@ -104,16 +102,17 @@ post-extract: |
104 | rm -rf ${WRKDIR}/UniFi/lib/native/Mac/x86_64 | | 102 | rm -rf ${WRKDIR}/UniFi/lib/native/Mac/x86_64 |
105 | . endif | | 103 | . endif |
106 | .endif | | 104 | .endif |
107 | | | 105 | |
108 | do-build: | | 106 | do-build: |
109 | # bundled mongod is a linux binary; replace with symlink to native binary | | 107 | # bundled mongod is a linux binary; replace with symlink to native binary |
110 | rm -f ${WRKSRC}/UniFi/bin/mongod | | 108 | rm -f ${WRKSRC}/UniFi/bin/mongod |
111 | ln -s ${PREFIX}/bin/mongod ${WRKSRC}/UniFi/bin/mongod | | 109 | ln -s ${PREFIX}/bin/mongod ${WRKSRC}/UniFi/bin/mongod |
112 | cd ${WRKDIR}/${SNAPPY_JAVA} && ${BUILD_MAKE_CMD} native | | 110 | cd ${WRKDIR}/${SNAPPY_JAVA} && ${BUILD_MAKE_CMD} native |
113 | | | 111 | |
114 | do-install: | | 112 | do-install: |
115 | cd ${WRKSRC}/UniFi && pax -rw . ${DESTDIR}${PREFIX}/unifi | | 113 | cd ${WRKSRC}/UniFi && pax -rw . ${DESTDIR}${PREFIX}/unifi |
116 | ${INSTALL_LIB} ${WRKDIR}/${SNAPPY_JAVA}/target/snappy-1.0.5-Default/libsnappyjava.so ${DESTDIR}${PREFIX}/unifi/lib | | 114 | ${INSTALL_LIB} ${WRKDIR}/${SNAPPY_JAVA}/target/snappy-1.0.5-Default/libsnappyjava.so ${DESTDIR}${PREFIX}/unifi/lib |
| | | 115 | ${INSTALL_DATA} ${FILESDIR}/README.mongodb ${DESTDIR}${PREFIX}/share/doc/unifi |
117 | | | 116 | |
118 | .include "../../mk/java-vm.mk" | | 117 | .include "../../mk/java-vm.mk" |
119 | .include "../../mk/bsd.pkg.mk" | | 118 | .include "../../mk/bsd.pkg.mk" |