diff --git a/net-im/signal-desktop/Makefile b/net-im/signal-desktop/Makefile index 9f2508ae86e9..3d2157409b95 100644 --- a/net-im/signal-desktop/Makefile +++ b/net-im/signal-desktop/Makefile @@ -1,183 +1,185 @@ PORTNAME= signal-desktop DISTVERSIONPREFIX= v -DISTVERSION= 5.46.0 +DISTVERSION= 5.47.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 BUILD_DEPENDS= ${LOCALBASE}/lib/libringrtc.so:multimedia/ringrtc \ ${LOCALBASE}/lib/libsignal_node.so:net-im/libsignal-node \ app-builder>0:devel/app-builder \ - electron18:devel/electron18 \ + 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/electron18 \ +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 _BUILD_DATE= $$(date +'%s') -NPM_SIGNAL_DIR= npm-@signalapp-libsignal-client-0.16.0-7acba54b7ba05f513cdcf7f555efa1ccc6ce0145-integrity -NPM_RINGRTC_DIR= npm-ringrtc-2.20.8-ebd88d19b7a520f5887e5bed529db9fa5631d07e +ELECTRON_VER_MAJOR= 19 + +NPM_SIGNAL_DIR= npm-@signalapp-libsignal-client-0.17.0-ffe6763d80f56148b45192bca29deb16f9a0aea8-integrity +NPM_RINGRTC_DIR= npm-ringrtc-2.20.10-4450aa43e0f95e09e61cf49e970d864b19fa9d50 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 NPM_ESBUILD_DIR= npm-esbuild-${NPM_ESBUILD_VERS}-7738635d2ea19e446bd319d83a1802545e6aebb8-integrity 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/electron18/electron with WRITE priv -# copy ${LOCALBASE}/share/electron18 in WRKDIR +# 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) - @${CP} -pR ${LOCALBASE}/share/electron18 ${WRKDIR}/electron18 - ${CHMOD} -R a+w ${WRKDIR}/electron18 + @${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-x64 \ ${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-x64/node.napi.node ${CP} ${LOCALBASE}/lib/libringrtc.so \ ${WRKDIR}/.cache/yarn/v6/${NPM_RINGRTC_DIR}/node_modules/ringrtc/build/freebsd/libringrtc-x64.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 ${MKDIR} ${WRKDIR}/esbuild-freebsd-64-${NPM_ESBUILD_VERS} ${TAR} -xf ${WRKDIR}/yarn-cache/esbuild-freebsd-64-${NPM_ESBUILD_VERS}.tgz -C ${WRKDIR}/esbuild-freebsd-64-${NPM_ESBUILD_VERS} ${CP} ${WRKDIR}/esbuild-freebsd-64-${NPM_ESBUILD_VERS}/package/bin/esbuild \ ${WRKDIR}/.cache/yarn/v6/${NPM_ESBUILD_DIR}/node_modules/esbuild/lib/downloaded-esbuild-freebsd-64-esbuild # # 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=18 \ - --config.electronDist=${WRKDIR}/electron18 + --config.electronVersion=${ELECTRON_VER_MAJOR} \ + --config.electronDist=${WRKDIR}/electron${ELECTRON_VER_MAJOR} ${MKDIR} ${STAGEDIR}${DATADIR} cd ${BUILD_WRKSRC}/dist/linux-unpacked && \ ${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 67562e800d3b..5115eadca62f 100644 --- a/net-im/signal-desktop/distinfo +++ b/net-im/signal-desktop/distinfo @@ -1,11 +1,11 @@ -TIMESTAMP = 1655970160 -SHA256 (signal-desktop-5.46.0-yarn-cache.tar.gz) = 5d0de21f40a0b0c176078b6de8495eaca20af9f679931a013a170825ee6df000 -SIZE (signal-desktop-5.46.0-yarn-cache.tar.gz) = 935434061 -SHA256 (signal-desktop-5.46.0-electron-gyp-cache.tar.gz) = 9594b6dd908a8778d59fa421a970c0456f5bfd9582d60ab48b2a30fd860a39dc -SIZE (signal-desktop-5.46.0-electron-gyp-cache.tar.gz) = 260284 -SHA256 (signal-desktop-5.46.0-npm-cache.tar.gz) = bc17b1f363140931361d49a47cd0c38123eb86bf8d5cfa270b6fac7df19d68fe -SIZE (signal-desktop-5.46.0-npm-cache.tar.gz) = 8184368 +TIMESTAMP = 1656320908 +SHA256 (signal-desktop-5.47.0-yarn-cache.tar.gz) = b1334754082963dadda7a8a54c428e9e96187b7b00b19ac4cd9338c7c680e5f6 +SIZE (signal-desktop-5.47.0-yarn-cache.tar.gz) = 1079235353 +SHA256 (signal-desktop-5.47.0-electron-gyp-cache.tar.gz) = a751601d263a45caeb3cd7d23cddd5df0c114fb1b0577e8fadf39316220c5882 +SIZE (signal-desktop-5.47.0-electron-gyp-cache.tar.gz) = 520434 +SHA256 (signal-desktop-5.47.0-npm-cache.tar.gz) = 20f0a91ef70c52da04d8be55cb1628a3ce9f21077f64276b9827b2992f12a544 +SIZE (signal-desktop-5.47.0-npm-cache.tar.gz) = 7430740 SHA256 (sqlcipher.tar.gz) = fe8bdc5e2f182970fb63a71ec4c519c8192453800bf142f755d7ed99e79fff84 SIZE (sqlcipher.tar.gz) = 25833894 -SHA256 (signalapp-Signal-Desktop-v5.46.0_GH0.tar.gz) = f9ffce286fcf90b14a3b9f90cab3383c7a666383b5b012e27e995695322ad04b -SIZE (signalapp-Signal-Desktop-v5.46.0_GH0.tar.gz) = 37763735 +SHA256 (signalapp-Signal-Desktop-v5.47.0_GH0.tar.gz) = d563b9be5ea5690ec2579c688db5bedbba3787b9b46428fa4164fc172e0c9322 +SIZE (signalapp-Signal-Desktop-v5.47.0_GH0.tar.gz) = 37818277 diff --git a/net-im/signal-desktop/files/patch-package.json b/net-im/signal-desktop/files/patch-package.json new file mode 100644 index 000000000000..8bee8148561d --- /dev/null +++ b/net-im/signal-desktop/files/patch-package.json @@ -0,0 +1,28 @@ +--- package.json.orig 2022-06-23 21:39:35 UTC ++++ package.json +@@ -189,7 +189,6 @@ + "@babel/preset-typescript": "7.17.12", + "@electron/fuses": "1.5.0", + "@mixer/parallel-prettier": "2.0.1", +- "@signalapp/mock-server": "1.5.1", + "@storybook/addon-a11y": "6.5.6", + "@storybook/addon-actions": "6.5.6", + "@storybook/addon-controls": "6.5.6", +@@ -266,7 +265,7 @@ + "cross-env": "5.2.0", + "css-loader": "3.2.0", + "debug": "4.3.3", +- "electron": "19.0.5", ++ "electron": "19.0.6", + "electron-builder": "23.0.8", + "electron-mocha": "11.0.2", + "electron-notarize": "1.2.1", +@@ -313,7 +312,7 @@ + "sharp/color/color-string": "1.7.4" + }, + "engines": { +- "node": "16.13.2" ++ "node": "16.15.1" + }, + "build": { + "appId": "org.whispersystems.signal-desktop", diff --git a/net-im/signal-desktop/files/patch-packages.json b/net-im/signal-desktop/files/patch-packages.json deleted file mode 100644 index 98a60920159d..000000000000 --- a/net-im/signal-desktop/files/patch-packages.json +++ /dev/null @@ -1,20 +0,0 @@ ---- package.json.orig 2022-06-16 19:08:59 UTC -+++ package.json -@@ -264,7 +264,7 @@ - "cross-env": "5.2.0", - "css-loader": "3.2.0", - "debug": "4.3.3", -- "electron": "18.3.2", -+ "electron": "18.3.3", - "electron-builder": "23.0.8", - "electron-mocha": "11.0.2", - "electron-notarize": "1.2.1", -@@ -309,7 +309,7 @@ - "sharp/color/color-string": "1.7.4" - }, - "engines": { -- "node": "16.13.2" -+ "node": "16.15.1" - }, - "build": { - "appId": "org.whispersystems.signal-desktop", diff --git a/net-im/signal-desktop/files/patch-signal-desktop b/net-im/signal-desktop/files/patch-signal-desktop index 1e8b0ab804ff..1ecb066caf3f 100644 --- a/net-im/signal-desktop/files/patch-signal-desktop +++ b/net-im/signal-desktop/files/patch-signal-desktop @@ -1,183 +1,188 @@ --- ts/models/messages.ts 2022-02-12 02:48:01 UTC +++ ts/models/messages.ts @@ -722,7 +722,7 @@ export class MessageModel extends window.Backbone.Mode // Linux emoji support is mixed, so we disable it. (Note that this doesn't touch // the `text`, which can contain emoji.) - const shouldIncludeEmoji = Boolean(emoji) && !window.Signal.OS.isLinux(); + const shouldIncludeEmoji = Boolean(emoji) && !(window.Signal.OS.isLinux() || window.Signal.OS.isFreeBSD()); if (shouldIncludeEmoji) { return window.i18n('message--getNotificationText--text-with-emoji', { text: modifiedText, --- ts/OS.ts 2022-02-12 02:48:01.000000000 +0100 +++ ts/OS.ts 2022-02-18 20:38:13.220898000 +0100 @@ -7,6 +7,7 @@ import semver from 'semver'; export const isMacOS = (): boolean => process.platform === 'darwin'; export const isLinux = (): boolean => process.platform === 'linux'; +export const isFreeBSD = (): boolean => process.platform === 'freebsd'; export const isWindows = (minVersion?: string): boolean => { const osRelease = os.release(); --- ts/services/notifications.ts 2022-02-12 02:48:01.000000000 +0100 +++ ts/services/notifications.ts 2022-02-18 20:39:11.725928000 +0100 @@ -143,7 +143,7 @@ class NotificationService extends EventEmitter { const audioNotificationSupport = getAudioNotificationSupport(); const notification = new window.Notification(title, { - body: OS.isLinux() ? filterNotificationText(message) : message, + body: (OS.isFreeBSD() || OS.isLinux()) ? filterNotificationText(message) : message, icon, silent: silent || audioNotificationSupport !== AudioNotificationSupport.Native, --- ts/set_os_class.ts 2022-02-12 02:48:01.000000000 +0100 +++ ts/set_os_class.ts 2022-02-18 20:39:35.451014000 +0100 @@ -9,6 +9,8 @@ $(document).ready(() => { className = 'os-macos'; } else if (window.Signal.OS.isLinux()) { className = 'os-linux'; + } else if (window.Signal.OS.isFreeBSD()) { + className = 'os-freebsd'; } else { throw new Error('Unexpected operating system; not applying '); } --- ts/test-node/types/Settings_test.ts 2022-02-12 02:48:01.000000000 +0100 +++ ts/test-node/types/Settings_test.ts 2022-02-18 20:41:29.688721000 +0100 @@ -27,6 +27,15 @@ describe('Settings', () => { ); }); + it('returns custom support on FreeBSD', () => { + sandbox.stub(process, 'platform').value('freebsd'); + assert.strictEqual( + Settings.getAudioNotificationSupport(), + Settings.AudioNotificationSupport.Custom + ); + }); + + it('returns no support on Windows 7', () => { sandbox.stub(process, 'platform').value('win32'); sandbox.stub(os, 'release').returns('7.0.0'); @@ -60,6 +69,11 @@ describe('Settings', () => { assert.isTrue(Settings.isAudioNotificationSupported()); }); + it('returns true on FreeBSD', () => { + sandbox.stub(process, 'platform').value('freebsd'); + assert.isTrue(Settings.isAudioNotificationSupported()); + }); + it('returns false on Windows 7', () => { sandbox.stub(process, 'platform').value('win32'); sandbox.stub(os, 'release').returns('7.0.0'); @@ -84,6 +98,11 @@ describe('Settings', () => { assert.isTrue(Settings.isNotificationGroupingSupported()); }); + it('returns true on FreeBSD', () => { + sandbox.stub(process, 'platform').value('freebsd'); + assert.isTrue(Settings.isNotificationGroupingSupported()); + }); + it('returns true on Windows 7', () => { sandbox.stub(process, 'platform').value('win32'); sandbox.stub(os, 'release').returns('7.0.0'); @@ -126,6 +145,11 @@ describe('Settings', () => { assert.isFalse(Settings.isHideMenuBarSupported()); }); + it('returns true on FreeBSD', () => { + sandbox.stub(process, 'platform').value('freebsd'); + assert.isTrue(Settings.isHideMenuBarSupported()); + }); + it('returns true on Windows 7', () => { sandbox.stub(process, 'platform').value('win32'); sandbox.stub(os, 'release').returns('7.0.0'); @@ -148,6 +172,11 @@ describe('Settings', () => { it('returns false on macOS', () => { sandbox.stub(process, 'platform').value('darwin'); assert.isFalse(Settings.isDrawAttentionSupported()); + }); + + it('returns true on FreeBSD', () => { + sandbox.stub(process, 'platform').value('freebsd'); + assert.isTrue(Settings.isDrawAttentionSupported()); }); it('returns true on Windows 7', () => { --- ts/test-node/util/getUserAgent_test.ts 2022-02-12 02:48:01.000000000 +0100 +++ ts/test-node/util/getUserAgent_test.ts 2022-02-18 20:42:25.165838000 +0100 -@@ -30,8 +30,8 @@ describe('getUserAgent', () => { - assert.strictEqual(getUserAgent('1.2.3'), 'Signal-Desktop/1.2.3 Linux'); +@@ -39,6 +39,14 @@ describe('getUserAgent', () => { + ); }); -- it('omits the platform on unsupported platforms', function test() { -+ it('returns the right User-Agent on Linux', function test() { ++ it('returns the right User-Agent on FreeBSD', function test() { ++ this.sandbox.stub(process, 'platform').get(() => 'freebsd'); ++ assert.strictEqual( ++ getUserAgent('1.2.3', '13.1'), ++ 'Signal-Desktop/1.2.3 FreeBSD 13.1' ++ ); ++ }); ++ + it('omits the platform on unsupported platforms', function test() { this.sandbox.stub(process, 'platform').get(() => 'freebsd'); -- assert.strictEqual(getUserAgent('1.2.3'), 'Signal-Desktop/1.2.3'); -+ assert.strictEqual(getUserAgent('1.2.3'), 'Signal-Desktop/1.2.3 Linux'); - }); - }); + assert.strictEqual(getUserAgent('1.2.3', '13.1'), 'Signal-Desktop/1.2.3'); + --- ts/util/getUserAgent.ts 2022-02-12 02:48:01.000000000 +0100 +++ ts/util/getUserAgent.ts 2022-02-18 20:43:07.232944000 +0100 @@ -7,6 +7,7 @@ const PLATFORM_STRINGS: { [platform: string]: string } win32: 'Windows', darwin: 'macOS', linux: 'Linux', + freebsd: 'FreeBSD', }; export function getUserAgent(appVersion: string): string { --- ts/types/Settings.ts.orig 2022-02-16 16:11:39.000000000 +0100 +++ ts/types/Settings.ts 2022-02-19 22:18:16.945135000 +0100 @@ -19,7 +19,7 @@ export function getAudioNotificationSupport(): AudioNo if (OS.isWindows(MIN_WINDOWS_VERSION) || OS.isMacOS()) { return AudioNotificationSupport.Native; } - if (OS.isLinux()) { + if (OS.isLinux() || OS.isFreeBSD) { return AudioNotificationSupport.Custom; } return AudioNotificationSupport.None; @@ -60,7 +60,7 @@ export const getTitleBarVisibility = (): TitleBarVisib */ export const isSystemTraySupported = (appVersion: string): boolean => // We eventually want to support Linux in production. - OS.isWindows() || (OS.isLinux() && !isProduction(appVersion)); + OS.isWindows() || (OS.isLinux() && !isProduction(appVersion)) || (OS.isFreeBSD() && !isProduction(appVersion)); export const isAutoDownloadUpdatesSupported = (): boolean => OS.isWindows() || OS.isMacOS(); --- app/main.ts.orig 2022-02-24 15:35:11.986213000 +0100 +++ app/main.ts 2022-02-24 15:34:26.610207000 +0100 @@ -451,7 +451,7 @@ let windowIcon: string; if (OS.isWindows()) { windowIcon = join(__dirname, '../build/icons/win/icon.ico'); -} else if (OS.isLinux()) { +} else if (OS.isLinux() || OS.isFreeBSD()) { windowIcon = join(__dirname, '../images/signal-logo-desktop-linux.png'); } else { windowIcon = join(__dirname, '../build/icons/png/512x512.png'); --- ts/scripts/get-expire-time.ts.orig 2022-02-16 15:11:39.000000000 +0000 +++ ts/scripts/get-expire-time.ts 2022-02-25 12:31:18.650062000 +0000 @@ -2,15 +2,12 @@ // SPDX-License-Identifier: AGPL-3.0-only import { join } from 'path'; -import { execSync } from 'child_process'; import { writeFileSync } from 'fs'; import { DAY } from '../util/durations'; -const unixTimestamp = parseInt( - execSync('git show -s --format=%ct').toString('utf8'), - 10 -); +const unixTimestamp = %%EPOCH%%; + const buildCreation = unixTimestamp * 1000; const buildExpiration = buildCreation + DAY * 90; diff --git a/net-im/signal-desktop/files/patch-yarn.lock b/net-im/signal-desktop/files/patch-yarn.lock index a3e3dcaef46c..6dbad52251af 100644 --- a/net-im/signal-desktop/files/patch-yarn.lock +++ b/net-im/signal-desktop/files/patch-yarn.lock @@ -1,17 +1,17 @@ ---- yarn.lock.orig 2022-06-16 19:08:59 UTC +--- yarn.lock.orig 2022-06-23 21:39:35 UTC +++ yarn.lock -@@ -6220,10 +6220,10 @@ electron-window@^0.8.0: +@@ -6870,10 +6870,10 @@ electron-window@^0.8.0: dependencies: is-electron-renderer "^2.0.0" --electron@18.3.2: -- version "18.3.2" -- resolved "https://registry.yarnpkg.com/electron/-/electron-18.3.2.tgz#015a8f4c92c62855d7f33206f2166d3e33b053b7" -- integrity sha512-Q1ciZ1M90L71WvyLbkD8Iwaq4YCwo8NUpBiLQUsd6M4E7i5vrzsA4g5Ylfzyela8DgRCNVknDVDfj6s+7YVWpA== -+electron@18.3.3: -+ version "18.3.3" -+ resolved "https://registry.yarnpkg.com/electron/-/electron-18.3.3.tgz#1c48273c1ad1522b8c18f19575e862c7ccd9f409" -+ integrity "sha512-LYxf3uCDc/r0klu7LL0eZLxkseoGIY/vrCfS0Qj4YTU3M7LLjOaIqrajI7icKwaI2dgxiuJJH3n4eqALFpJAFg==" +-electron@19.0.5: +- version "19.0.5" +- resolved "https://registry.yarnpkg.com/electron/-/electron-19.0.5.tgz#852042c3f598cf2b3874cbcccc0308002c2b3fe9" +- integrity sha512-gC4kPr/Mf7QbeE5NAo1AC4Zg/SXLnW0ttlyzhVdyB2aErBspWh231UhHLJUlOdaVNqitdbnppdaXjoZHsR5QzQ== ++electron@19.0.6: ++ version "19.0.6" ++ resolved "https://registry.npmjs.org/electron/-/electron-19.0.6.tgz#7aacfa4e968f134eecc36a1b03e3f9954ed8f6a5" ++ integrity sha512-S9Yud32nKhB0iWC0lGl2JXz4FQnCiLCnP5Vehm1/CqyeICcQGmgQaZl2HYpCJ2pesKIsYL9nsgmku/10cxm/gg== dependencies: - "@electron/get" "^1.13.0" + "@electron/get" "^1.14.1" "@types/node" "^16.11.26" diff --git a/net-im/signal-desktop/pkg-plist b/net-im/signal-desktop/pkg-plist index bd891fab7afd..be1863b8bd50 100644 --- a/net-im/signal-desktop/pkg-plist +++ b/net-im/signal-desktop/pkg-plist @@ -1,96 +1,94 @@ bin/signal-desktop share/applications/signal-desktop.desktop share/pixmaps/signal-desktop.png %%DATADIR%%/LICENSE.electron.txt %%DATADIR%%/LICENSES.chromium.html %%DATADIR%%/chrome_100_percent.pak %%DATADIR%%/chrome_200_percent.pak %%DATADIR%%/icudtl.dat %%DATADIR%%/libEGL.so %%DATADIR%%/libGLESv2.so %%DATADIR%%/libffmpeg.so %%DATADIR%%/libvk_swiftshader.so %%DATADIR%%/libvulkan.so %%DATADIR%%/locales/af.pak %%DATADIR%%/locales/am.pak %%DATADIR%%/locales/ar.pak %%DATADIR%%/locales/az.pak %%DATADIR%%/locales/bg.pak %%DATADIR%%/locales/bn.pak %%DATADIR%%/locales/ca.pak %%DATADIR%%/locales/cs.pak %%DATADIR%%/locales/cy.pak %%DATADIR%%/locales/da.pak %%DATADIR%%/locales/de.pak %%DATADIR%%/locales/el.pak %%DATADIR%%/locales/en-GB.pak %%DATADIR%%/locales/en-US.pak %%DATADIR%%/locales/eo.pak %%DATADIR%%/locales/es-419.pak %%DATADIR%%/locales/es.pak %%DATADIR%%/locales/et.pak %%DATADIR%%/locales/eu.pak %%DATADIR%%/locales/fa.pak %%DATADIR%%/locales/fi.pak %%DATADIR%%/locales/fil.pak %%DATADIR%%/locales/fr.pak %%DATADIR%%/locales/gd.pak %%DATADIR%%/locales/gu.pak %%DATADIR%%/locales/he.pak %%DATADIR%%/locales/hi.pak %%DATADIR%%/locales/hr.pak %%DATADIR%%/locales/hu.pak %%DATADIR%%/locales/id.pak %%DATADIR%%/locales/is.pak %%DATADIR%%/locales/it.pak %%DATADIR%%/locales/ja.pak %%DATADIR%%/locales/km.pak %%DATADIR%%/locales/kn.pak %%DATADIR%%/locales/ko.pak %%DATADIR%%/locales/ku.pak %%DATADIR%%/locales/lo.pak %%DATADIR%%/locales/lt.pak %%DATADIR%%/locales/lv.pak %%DATADIR%%/locales/mk.pak %%DATADIR%%/locales/ml.pak %%DATADIR%%/locales/mr.pak %%DATADIR%%/locales/ms.pak %%DATADIR%%/locales/nb.pak %%DATADIR%%/locales/nl.pak %%DATADIR%%/locales/nn.pak %%DATADIR%%/locales/no.pak %%DATADIR%%/locales/pa.pak %%DATADIR%%/locales/pl.pak %%DATADIR%%/locales/ps.pak %%DATADIR%%/locales/pt-BR.pak %%DATADIR%%/locales/pt-PT.pak %%DATADIR%%/locales/ro.pak %%DATADIR%%/locales/ru.pak %%DATADIR%%/locales/sk.pak %%DATADIR%%/locales/sl.pak %%DATADIR%%/locales/sq.pak %%DATADIR%%/locales/sr.pak %%DATADIR%%/locales/sv.pak %%DATADIR%%/locales/sw.pak %%DATADIR%%/locales/ta.pak %%DATADIR%%/locales/te.pak %%DATADIR%%/locales/th.pak %%DATADIR%%/locales/tr.pak %%DATADIR%%/locales/ug.pak %%DATADIR%%/locales/uk.pak %%DATADIR%%/locales/ur.pak %%DATADIR%%/locales/vi.pak %%DATADIR%%/locales/zh-CN.pak %%DATADIR%%/locales/zh-TW.pak %%DATADIR%%/resources.pak %%DATADIR%%/resources/app.asar %%DATADIR%%/resources/app.asar.unpacked/node_modules/@signalapp/libsignal-client/prebuilds/freebsd-x64/node.napi.node %%DATADIR%%/resources/app.asar.unpacked/node_modules/better-sqlite3/build/Release/better_sqlite3.node %%DATADIR%%/resources/app.asar.unpacked/node_modules/ringrtc/build/freebsd/libringrtc-x64.node %%DATADIR%%/resources/app.asar.unpacked/node_modules/sharp/build/Release/sharp-freebsd-x64.node @(,,755) %%DATADIR%%/signal-desktop %%DATADIR%%/snapshot_blob.bin -%%DATADIR%%/swiftshader/libEGL.so -%%DATADIR%%/swiftshader/libGLESv2.so %%DATADIR%%/v8_context_snapshot.bin %%DATADIR%%/vk_swiftshader_icd.json