diff --git a/net-im/signal-desktop/Makefile b/net-im/signal-desktop/Makefile index 906c0a43193c..d74a9794398b 100644 --- a/net-im/signal-desktop/Makefile +++ b/net-im/signal-desktop/Makefile @@ -1,197 +1,197 @@ PORTNAME= signal-desktop DISTVERSIONPREFIX= v -DISTVERSION= 5.54.0 +DISTVERSION= 5.56.0 CATEGORIES= net-im MASTER_SITES= LOCAL/mikael/signal-desktop/:yarn \ LOCAL/mikael/signal-desktop/:electron_gyp \ LOCAL/mikael/signal-desktop/:npm \ LOCAL/mikael/signal-desktop/:sqlite DISTFILES= signal-desktop-${DISTVERSION}-yarn-cache.tar.gz:yarn \ signal-desktop-${DISTVERSION}-electron-gyp-cache.tar.gz:electron_gyp \ signal-desktop-${DISTVERSION}-npm-cache.tar.gz:npm \ sqlcipher.tar.gz:sqlite MAINTAINER= mikael@FreeBSD.org COMMENT= Cross-platform centralized encrypted messaging service LICENSE= AGPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= aarch64 amd64 BUILD_DEPENDS= ${LOCALBASE}/lib/libringrtc.so:multimedia/ringrtc \ ${LOCALBASE}/lib/libsignal_node.so:net-im/libsignal-node \ app-builder>0:devel/app-builder \ electron${ELECTRON_VER_MAJOR}:devel/electron${ELECTRON_VER_MAJOR} \ npm:www/npm-node16 \ openssl>0:security/openssl \ vips>0:graphics/vips \ yarn:www/yarn-node16 LIB_DEPENDS= libasound.so:audio/alsa-lib \ libatk-bridge-2.0.so:accessibility/at-spi2-atk \ libatspi.so:accessibility/at-spi2-core \ libcups.so:print/cups \ libdbus-1.so:devel/dbus \ libdrm.so:graphics/libdrm \ libexpat.so:textproc/expat2 \ libFLAC.so:audio/flac \ libfontconfig.so:x11-fonts/fontconfig \ libharfbuzz-subset.so:print/harfbuzz \ libharfbuzz.so:print/harfbuzz \ libnspr4.so:devel/nspr \ libnss3.so:security/nss \ libnssutil3.so:security/nss \ libopenh264.so:multimedia/openh264 \ libopus.so:audio/opus \ libpci.so:devel/libpci \ libplc4.so:devel/nspr \ libplds4.so:devel/nspr \ libpng16.so:graphics/png \ libsmime3.so:security/nss \ libsnappy.so:archivers/snappy \ libwebp.so:graphics/webp \ libwebpdemux.so:graphics/webp \ libwebpmux.so:graphics/webp \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence USES= desktop-file-utils gettext-runtime gl gnome jpeg xorg USE_GITHUB= yes GH_ACCOUNT= signalapp GH_PROJECT= Signal-Desktop USE_GL= gbm gl USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk30 libxml2 libxslt pango USE_XORG= x11 xcb xcomposite xdamage xext xfixes xi xrandr xrender xtst PACKAGE_ENV= SIGNAL_ENV=production MAKE_ENV+= ELECTRON_OVERRIDE_DIST_PATH=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} \ HOME=${WRKDIR} \ PLAYWRIGHT_BROWSERS_PATH=${WRKDIR}/.cache \ PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=true \ PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS=true \ USE_SYSTEM_APP_BUILDER=true # Don't download electron binary distribution on electron node_modules installation MAKE_ENV+= ELECTRON_SKIP_BINARY_DOWNLOAD=1 # Don't create __pycache__ directory when executing node-gyp # This is a workaround to avoid filesystem violations during poudriere build MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 MAKE_ENV+= ESBUILD_BINARY_PATH=${WRKDIR}/esbuild-freebsd-64/package/bin/esbuild _BUILD_DATE= $$(date +'%s') ELECTRON_VER_MAJOR= 19 NPM_SIGNAL_DIR= npm-@signalapp-libsignal-client-0.19.2-319da45eac91fe0809bd602528f841346050b7f4-integrity -NPM_RINGRTC_DIR= npm-ringrtc-2.20.13-009b3eec4f1c4ce1485ff6931f086d0f54469500 +NPM_RINGRTC_DIR= npm-ringrtc-2.20.14-928dae72e8009c5cc4dfb218d3007e2808acf5ab NPM_SQLITE3_DIR= npm-better-sqlite3-7.5.0-3c4a7eebba3d5f5d8cb88fe83be1c01b8c0dea7d NPM_PLAYWRITE_DIR= npm-playwright-core-1.17.1-a16e0f89284a0ed8ae6d77e1c905c84b8a2ba022-integrity NPM_ESBUILD_VERS= 0.14.28 ESBUILD_ARCH= ${ARCH:S/aarch64/arm/:S/amd64//} NODE_ARCH= ${ARCH:S/aarch64/arm64/:S/amd64/x64/} APP_OUT_DIR= linux-${ARCH:S/aarch64/arm64-/:S/amd64//}unpacked PLIST_SUB= NODE_ARCH=${NODE_ARCH} \ SHARP_ARCH=${ARCH:S/aarch64/arm64v8/:S/amd64/x64/} post-patch: ${REINPLACE_CMD} "s#%%EPOCH%%#${_BUILD_DATE}#" \ ${WRKSRC}/ts/scripts/get-expire-time.ts do-build: ${ECHO_CMD} 'yarn-offline-mirror "../yarn-cache"' > ${WRKSRC}/.yarnrc # electron-builder is stupid and tries to open ${LOCALBASE}/share/electron19/electron with WRITE priv # copy ${LOCALBASE}/share/electron19 in WRKDIR # it's needed for the do-install phase, it's here because of this issue # https://github.com/MikaelUrankar/signal-desktop/issues/6 (I don't know why it fails though) @${RM} -r ${WRKDIR}/electron${ELECTRON_VER_MAJOR} @${CP} -pR ${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} ${WRKDIR}/electron${ELECTRON_VER_MAJOR} ${CHMOD} -R a+w ${WRKDIR}/electron${ELECTRON_VER_MAJOR} # Install libsignal_node.so and libringrtc.so binaries in the yarn cache ${MKDIR} ${WRKDIR}/.cache/yarn/v6/${NPM_SIGNAL_DIR}/node_modules/@signalapp/libsignal-client/prebuilds/freebsd-${NODE_ARCH} \ ${WRKDIR}/.cache/yarn/v6/${NPM_RINGRTC_DIR}/node_modules/ringrtc/build/freebsd ${CP} ${LOCALBASE}/lib/libsignal_node.so \ ${WRKDIR}/.cache/yarn/v6/${NPM_SIGNAL_DIR}/node_modules/@signalapp/libsignal-client/prebuilds/freebsd-${NODE_ARCH}/node.napi.node ${CP} ${LOCALBASE}/lib/libringrtc.so \ ${WRKDIR}/.cache/yarn/v6/${NPM_RINGRTC_DIR}/node_modules/ringrtc/build/freebsd/libringrtc-${NODE_ARCH}.node # sqlcipher.tar.gz requires git-lfs to fetch, just copy a previously downloaded one (I've had to use ubuntu for that, # as I didn't manage to do it with FreeBSD, see https://github.com/signalapp/Signal-Desktop/blob/development/CONTRIBUTING.md for instructions) ${MKDIR} ${WRKDIR}/.cache/yarn/v6/${NPM_SQLITE3_DIR}/node_modules/better-sqlite3/deps ${CP} ${DISTDIR}/sqlcipher.tar.gz \ ${WRKDIR}/.cache/yarn/v6/${NPM_SQLITE3_DIR}/node_modules/better-sqlite3/deps/sqlcipher.tar.gz # patch-package can't patch playwright-core, patch the yarn cache instead ${CP} ${FILESDIR}/playwrigth-registry.js \ ${WRKDIR}/.cache/yarn/v6/${NPM_PLAYWRITE_DIR}/node_modules/playwright-core/lib/utils/registry.js # patch-package can't patch sqlite3 on aarch64, patch the yarn cache instead cd ${WRKDIR}/.cache/yarn/v6 && ${PATCH} -s -N -i ${FILESDIR}/sqlite3.gyp.diff ${MKDIR} ${WRKDIR}/esbuild-freebsd-64 ${TAR} -xf ${WRKDIR}/yarn-cache/esbuild-freebsd-${ESBUILD_ARCH}64-${NPM_ESBUILD_VERS}.tgz -C ${WRKDIR}/esbuild-freebsd-64 # # For online build # ${RM} ${WRKDIR}/.npmrc # cd ${WRKSRC} && \ # ${SETENV} ${MAKE_ENV} yarn install --frozen-lockfile --ignore-optional # cd ${WRKSRC} && \ # ${SETENV} ${MAKE_ENV} yarn generate # cd ${WRKSRC} && \ # ${SETENV} ${MAKE_ENV} yarn build:webpack # For offline build ${ECHO_CMD} offline=true > ${WRKDIR}/.npmrc cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} yarn install --frozen-lockfile --ignore-optional --offline cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} yarn --offline generate cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} yarn --offline build:webpack do-install: # taken from https://github.com/tagattie/FreeBSD-Electron/blob/master/Mk/Uses/electron.mk#L387 # and editors/vscode cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} ${PACKAGE_ENV} yarn run electron-builder \ --linux --dir --config.npmRebuild=false \ --config.electronVersion=${ELECTRON_VER_MAJOR} \ --config.electronDist=${WRKDIR}/electron${ELECTRON_VER_MAJOR} ${MKDIR} ${STAGEDIR}${DATADIR} cd ${BUILD_WRKSRC}/dist/${APP_OUT_DIR} && \ ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${INSTALL_DATA} ${WRKSRC}/images/signal-logo-desktop-linux.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/signal-desktop.png ${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.desktop \ ${STAGEDIR}${PREFIX}/share/applications .for f in chromedriver mksnapshot v8_context_snapshot_generator ${RM} ${STAGEDIR}${DATADIR}/${f} .endfor ${RM} -r ${STAGEDIR}${DATADIR}/gen ${RM} -r ${STAGEDIR}${DATADIR}/node_headers ${RM} -r ${STAGEDIR}${DATADIR}/resources/completions ${RLN} ${STAGEDIR}${DATADIR}/signal-desktop ${STAGEDIR}${PREFIX}/bin create-caches-tarball: # do some cleanup first ${RM} -r ${WRKDIR}/.npm/_logs ${WRKDIR}/.npm/_update-notifier-last-checked ${WRKDIR}/.cache/yarn/v6/.tmp ${FIND} ${WRKDIR}/.cache -type f -perm 755 -exec file {} \; | ${EGREP} "ELF|PE32+|Mach-O" | ${AWK} -F ':' '{print $$1}' | ${XARGS} ${RM} cd ${WRKDIR} && \ ${TAR} czf signal-desktop-${DISTVERSION}-yarn-cache.tar.gz .cache yarn-cache cd ${WRKDIR} && \ ${TAR} czf signal-desktop-${DISTVERSION}-electron-gyp-cache.tar.gz .electron-gyp cd ${WRKDIR} && \ ${TAR} czf signal-desktop-${DISTVERSION}-npm-cache.tar.gz .npm .include diff --git a/net-im/signal-desktop/distinfo b/net-im/signal-desktop/distinfo index dcac0eb72fef..457b2351f5cf 100644 --- a/net-im/signal-desktop/distinfo +++ b/net-im/signal-desktop/distinfo @@ -1,11 +1,11 @@ -TIMESTAMP = 1660589005 -SHA256 (signal-desktop-5.54.0-yarn-cache.tar.gz) = f097fbcebd6747cf38fecb786a6ee2bab939380c15bc5d14dabe6e8a1fd0a19f -SIZE (signal-desktop-5.54.0-yarn-cache.tar.gz) = 1028686243 -SHA256 (signal-desktop-5.54.0-electron-gyp-cache.tar.gz) = 778e79c749fad08a0f160e1d58f21c6eb3cbfddb9fc470d9d8e280979917d812 -SIZE (signal-desktop-5.54.0-electron-gyp-cache.tar.gz) = 261884 -SHA256 (signal-desktop-5.54.0-npm-cache.tar.gz) = 46e53967846c0b1943e11fe8fd9a09ab2756cf7107c733b57c4170a460ae459f -SIZE (signal-desktop-5.54.0-npm-cache.tar.gz) = 4385847 +TIMESTAMP = 1661953631 +SHA256 (signal-desktop-5.56.0-yarn-cache.tar.gz) = e768f4bac1db9ee83004a129ec12407ca9d9aaef76126188231b5e0b4aedbc92 +SIZE (signal-desktop-5.56.0-yarn-cache.tar.gz) = 1028520620 +SHA256 (signal-desktop-5.56.0-electron-gyp-cache.tar.gz) = 25894bac4eb7fddf3e83325d14f5ce9fa236f8b11454a7c71350988914a66cda +SIZE (signal-desktop-5.56.0-electron-gyp-cache.tar.gz) = 259813 +SHA256 (signal-desktop-5.56.0-npm-cache.tar.gz) = 43e30865913f241e16e704a124c685f42b81ad992188ee0611454724a7a13aa8 +SIZE (signal-desktop-5.56.0-npm-cache.tar.gz) = 4396873 SHA256 (sqlcipher.tar.gz) = fe8bdc5e2f182970fb63a71ec4c519c8192453800bf142f755d7ed99e79fff84 SIZE (sqlcipher.tar.gz) = 25833894 -SHA256 (signalapp-Signal-Desktop-v5.54.0_GH0.tar.gz) = e46ad5ceda562cfc4b35de04f6e9fd85e597658445f3ddf73240fa1f7ec75fa1 -SIZE (signalapp-Signal-Desktop-v5.54.0_GH0.tar.gz) = 38467653 +SHA256 (signalapp-Signal-Desktop-v5.56.0_GH0.tar.gz) = ddec149fcb53253a26e8436fd1157e28ccf32673663d3b6a51753af31efa883b +SIZE (signalapp-Signal-Desktop-v5.56.0_GH0.tar.gz) = 38520711 diff --git a/net-im/signal-desktop/files/patch-package.json b/net-im/signal-desktop/files/patch-package.json index a2a921ecc4c2..d0c84c29bfc2 100644 --- a/net-im/signal-desktop/files/patch-package.json +++ b/net-im/signal-desktop/files/patch-package.json @@ -1,19 +1,19 @@ --- package.json.orig 2022-08-05 12:53:58 UTC +++ package.json -@@ -190,7 +190,6 @@ +@@ -191,7 +191,6 @@ "@babel/preset-typescript": "7.17.12", "@electron/fuses": "1.5.0", "@mixer/parallel-prettier": "2.0.1", -- "@signalapp/mock-server": "2.4.1", +- "@signalapp/mock-server": "2.8.0", "@storybook/addon-a11y": "6.5.6", "@storybook/addon-actions": "6.5.6", "@storybook/addon-controls": "6.5.6", -@@ -318,7 +317,7 @@ +@@ -319,7 +318,7 @@ "sharp/color/color-string": "1.9.0" }, "engines": { - "node": "16.13.2" + "node": "16.16.0" }, "build": { "appId": "org.whispersystems.signal-desktop", diff --git a/net-im/signal-desktop/get_deps.sh b/net-im/signal-desktop/get_deps.sh index 029159fe2d99..a38fce05fda8 100644 --- a/net-im/signal-desktop/get_deps.sh +++ b/net-im/signal-desktop/get_deps.sh @@ -1,14 +1,14 @@ #!/bin/sh -SIGNAL_VERS=v5.54.0 +SIGNAL_VERS=v5.56.0 ringrtc_hash=$(fetch -qo - https://raw.githubusercontent.com/signalapp/Signal-Desktop/${SIGNAL_VERS}/package.json | grep '"ringrtc": "https' | awk -F "#" '{print $2}' | sed 's#",##') # echo "RINGRTC_HASH= ${ringrtc_hash} ; https://raw.githubusercontent.com/signalapp/Signal-Desktop/${SIGNAL_VERS}/package.json" ringrtc_version=$(fetch -qo - https://raw.githubusercontent.com/signalapp/signal-ringrtc-node/${ringrtc_hash}/package.json | grep '"version":' | awk -F ":" '{print $2}' | sed -e 's# "##' -e 's#",##') echo "RINGRTC_VERSION= ${ringrtc_version} ; https://raw.githubusercontent.com/signalapp/signal-ringrtc-node/${ringrtc_hash}/package.json" webrtc_version=$(fetch -qo - https://raw.githubusercontent.com/signalapp/ringrtc/v${ringrtc_version}/config/version.sh | awk -F '=' /WEBRTC_VERSION/'{print $2}') echo "WEBRTC_REV= ${webrtc_version} ; https://raw.githubusercontent.com/signalapp/ringrtc/v${ringrtc_version}/config/version.sh" libsignalclient_version=$(fetch -qo - https://raw.githubusercontent.com/signalapp/Signal-Desktop/${SIGNAL_VERS}/yarn.lock | grep 'signalapp/libsignal-client@' | awk -F '@' '{print $3}' | sed 's#", "##') echo "LIBSIGNAL_VERSION= ${libsignalclient_version}"