diff --git a/net-im/signal-desktop/Makefile b/net-im/signal-desktop/Makefile index 49432b0769c0..19be85ba8bd5 100644 --- a/net-im/signal-desktop/Makefile +++ b/net-im/signal-desktop/Makefile @@ -1,192 +1,192 @@ PORTNAME= signal-desktop DISTVERSIONPREFIX= v -DISTVERSION= 5.56.0 -PORTREVISION= 1 +DISTVERSION= 6.1.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 WWW= https://signal.org/ 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.so:print/harfbuzz \ libnspr4.so:devel/nspr \ libnss3.so:security/nss \ libopenh264.so:multimedia/openh264 \ libopus.so:audio/opus \ libpci.so:devel/libpci \ libpng16.so:graphics/png \ libsnappy.so:archivers/snappy \ libwebp.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 +ELECTRON_VER_MAJOR= 21 -NPM_SIGNAL_DIR= npm-@signalapp-libsignal-client-0.19.2-319da45eac91fe0809bd602528f841346050b7f4-integrity -NPM_RINGRTC_DIR= npm-ringrtc-2.20.14-928dae72e8009c5cc4dfb218d3007e2808acf5ab -NPM_SQLITE3_DIR= npm-better-sqlite3-7.5.0-3c4a7eebba3d5f5d8cb88fe83be1c01b8c0dea7d +# ll work/.cache/yarn/v6 | egrep "ringrtc|signal-client|npm-better-sqlite3|esbuild-freebsd-64" +NPM_SIGNAL_DIR= npm-@signalapp-libsignal-client-0.21.1-381d6162ae0e7719dc625780c1d6c3f9f558c33d-integrity +NPM_RINGRTC_DIR= npm-ringrtc-2.22.0-9a9d9fbc1ca43e7a0707a960ce9642dbf82dc64a/ +NPM_SQLITE3_DIR= npm-better-sqlite3-7.5.1-afdbd49cf18d0046d7385ca4d23da20c66f00d50/ NPM_PLAYWRITE_DIR= npm-playwright-core-1.17.1-a16e0f89284a0ed8ae6d77e1c905c84b8a2ba022-integrity -NPM_ESBUILD_VERS= 0.14.28 +NPM_ESBUILD_VERS= 0.15.8 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 +# electron-builder is stupid and tries to open ${LOCALBASE}/share/electron21/electron with WRITE priv +# copy ${LOCALBASE}/share/electron21 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 + # 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 01ec0a6b0ec7..cc8233d55117 100644 --- a/net-im/signal-desktop/distinfo +++ b/net-im/signal-desktop/distinfo @@ -1,11 +1,11 @@ -TIMESTAMP = 1668368500 -SHA256 (signal-desktop-5.56.0-yarn-cache.tar.gz) = bccabce101a998f26c45f2c21d6af2c00ba26f37c18678504c8017ec3b77f256 -SIZE (signal-desktop-5.56.0-yarn-cache.tar.gz) = 1008120275 -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 +TIMESTAMP = 1671199606 +SHA256 (signal-desktop-6.1.0-yarn-cache.tar.gz) = 377cc4aef808c0dbdd939e5f6b101d67b41af36240f6153e83c4ea1242d933e5 +SIZE (signal-desktop-6.1.0-yarn-cache.tar.gz) = 1084112692 +SHA256 (signal-desktop-6.1.0-electron-gyp-cache.tar.gz) = 0cf1ecdb87c699e99ce3af4a2378d95e5440c7e532c209222ddd122deb1d3a4e +SIZE (signal-desktop-6.1.0-electron-gyp-cache.tar.gz) = 267010 +SHA256 (signal-desktop-6.1.0-npm-cache.tar.gz) = 7695f2e5c39eb6aa36a704ba77f34925e5e1e54f65b8b2d8e1f2905730ee512a +SIZE (signal-desktop-6.1.0-npm-cache.tar.gz) = 4429759 SHA256 (sqlcipher.tar.gz) = fe8bdc5e2f182970fb63a71ec4c519c8192453800bf142f755d7ed99e79fff84 SIZE (sqlcipher.tar.gz) = 25833894 -SHA256 (signalapp-Signal-Desktop-v5.56.0_GH0.tar.gz) = ddec149fcb53253a26e8436fd1157e28ccf32673663d3b6a51753af31efa883b -SIZE (signalapp-Signal-Desktop-v5.56.0_GH0.tar.gz) = 38520711 +SHA256 (signalapp-Signal-Desktop-v6.1.0_GH0.tar.gz) = f981ca229651826dcf2b511499612217719827ab98edac46f931fe2751eccd6f +SIZE (signalapp-Signal-Desktop-v6.1.0_GH0.tar.gz) = 38301590 diff --git a/net-im/signal-desktop/files/patch-package.json b/net-im/signal-desktop/files/patch-package.json index 24e938ebe703..df02f10d522d 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 -@@ -191,7 +191,6 @@ +@@ -192,7 +192,6 @@ "@babel/preset-typescript": "7.17.12", "@electron/fuses": "1.5.0", "@mixer/parallel-prettier": "2.0.1", -- "@signalapp/mock-server": "2.8.0", +- "@signalapp/mock-server": "2.11.0", "@storybook/addon-a11y": "6.5.6", "@storybook/addon-actions": "6.5.6", "@storybook/addon-controls": "6.5.6", @@ -319,7 +318,7 @@ - "sharp/color/color-string": "1.9.0" + "read-last-lines/mz/thenify-all/thenify": "3.3.1" }, "engines": { -- "node": "16.13.2" -+ "node": "16.18.1" +- "node": "16.16.0" ++ "node": "16.19.0" }, "build": { "appId": "org.whispersystems.signal-desktop", diff --git a/net-im/signal-desktop/files/patch-ts_components_SearchInput.tsx b/net-im/signal-desktop/files/patch-ts_components_SearchInput.tsx new file mode 100644 index 000000000000..fe49c84b6323 --- /dev/null +++ b/net-im/signal-desktop/files/patch-ts_components_SearchInput.tsx @@ -0,0 +1,11 @@ +--- ts/components/SearchInput.tsx.orig 2022-12-04 09:59:26 UTC ++++ ts/components/SearchInput.tsx +@@ -67,7 +67,7 @@ export const SearchInput = forwardRef