diff --git a/net-im/signal-desktop/Makefile b/net-im/signal-desktop/Makefile index f1b1e78b16d3..22c20999baf8 100644 --- a/net-im/signal-desktop/Makefile +++ b/net-im/signal-desktop/Makefile @@ -1,185 +1,185 @@ PORTNAME= signal-desktop DISTVERSIONPREFIX= v DISTVERSION= 8.13.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net-im MASTER_SITES= LOCAL/mikael/signal-desktop/:npm DISTFILES= signal-desktop-${DISTVERSION}-npm-cache.tar.gz:npm MAINTAINER= mikael@FreeBSD.org COMMENT= Cross-platform centralized encrypted messaging service WWW= https://signal.org/ LICENSE= AGPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= amd64 BUILD_DEPENDS= ${LOCALBASE}/lib/libringrtc.so:multimedia/ringrtc \ ${LOCALBASE}/lib/libsignal_node.so:net-im/libsignal-node \ ${LOCALBASE}/lib/libsignal_sqlcipher_extension.a:devel/signal-sqlcipher-extension \ ${LOCALBASE}/lib/node_sqlcipher.node:security/node-sqlcipher \ app-builder>0:devel/app-builder \ electron${ELECTRON_VER_MAJOR}:devel/electron${ELECTRON_VER_MAJOR} \ npm:www/npm${NODEJS_SUFFIX} LIB_DEPENDS= libasound.so:audio/alsa-lib \ libatk-bridge-2.0.so:accessibility/at-spi2-core \ libcups.so:print/cups \ libdbus-1.so:devel/dbus \ libdrm.so:graphics/libdrm \ libepoll-shim.so:devel/libepoll-shim \ libevent.so:devel/libevent \ libexpat.so:textproc/expat2 \ libFLAC.so:audio/flac \ libffi.so:devel/libffi \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libicuuc.so:devel/icu \ libnspr4.so:devel/nspr \ libnss3.so:security/nss \ libopenh264.so:multimedia/openh264 \ libopus.so:audio/opus \ libpci.so:devel/libpci \ libpipewire-0.3.so:multimedia/pipewire \ libpng16.so:graphics/png \ libpulse.so:audio/pulseaudio \ libsnappy.so:archivers/snappy \ libsndio.so:audio/sndio \ libwayland-client.so:graphics/wayland \ libwebp.so:graphics/webp \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence USES= desktop-file-utils gettext-runtime gl gnome jpeg nodejs:24,build pkgconfig python:build ssl xorg USE_GITHUB= yes GH_ACCOUNT= signalapp GH_PROJECT= Signal-Desktop USE_GL= gbm gl USE_GNOME= atk cairo gdkpixbuf glib20 gtk30 libxml2 libxslt pango USE_XORG= x11 xcb xcomposite xdamage xext xfixes xi xrandr xrender xtst PACKAGE_ENV= SIGNAL_ENV=production \ npm_config_runtime=electron \ npm_config_target=${ELECTRON_VER_MAJOR} \ npm_config_nodedir=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR}/node_headers MAKE_ENV+= ELECTRON_OVERRIDE_DIST_PATH=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} \ HOME=${WRKDIR} \ USE_SYSTEM_APP_BUILDER=true \ SOURCE_DATE_EPOCH=${_BUILD_DATE} \ PATH=${WRKSRC}/node_modules/.bin:${WRKSRC}/pnpmbin/node_modules/.bin:${LOCALBASE}/bin:${PATH} \ PYTHON=${PYTHON_CMD} # 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') ELECTRON_VER_MAJOR= 41 PNPM_VERS= 10.18.1 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/} .include .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " .elif ${ARCH} == amd64 PLIST_SUB+= NOT_AARCH64="" .endif do-build: # electron-builder is stupid and tries to open ${LOCALBASE}/share/electron41/electron with WRITE priv # copy ${LOCALBASE}/share/electron41 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} ${ECHO_CMD} offline=true >> ${WRKSRC}/.npmrc ${ECHO_CMD} store-dir=true >> ${WRKSRC}/.pnpm-store ${CP} ${FILESDIR}/pnpm-lock.yaml ${WRKSRC} ${CP} ${FILESDIR}/pnpmfile.cjs ${WRKSRC}/.pnpmfile.cjs # Install pnpm in its own dir otherwise all hell breaks loose ${MKDIR} ${WRKSRC}/pnpmbin ${CP} ${FILESDIR}/pnpm/package* ${WRKSRC}/pnpmbin cd ${WRKSRC}/pnpmbin && \ ${SETENV} ${MAKE_ENV} npm install --ignore-scripts pnpm@${PNPM_VERS} cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} npm_config_nodedir=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR}/node_headers pnpm install --ignore-scripts || ${TRUE} # Install libsignal_node.so, libringrtc.so and node_sqlcipher.node binaries in node_modules ${MKDIR} ${WRKSRC}/node_modules/@signalapp/libsignal-client/prebuilds/freebsd-${NODE_ARCH} \ ${WRKSRC}/node_modules/@signalapp/ringrtc/build/freebsd \ ${WRKSRC}/node_modules/@signalapp/sqlcipher/prebuilds/freebsd-${NODE_ARCH} ${CP} ${LOCALBASE}/lib/libsignal_node.so \ ${WRKSRC}/node_modules/@signalapp/libsignal-client/prebuilds/freebsd-${NODE_ARCH}/@signalapp+libsignal-client.node ${CP} ${LOCALBASE}/lib/libringrtc.so \ ${WRKSRC}/node_modules/@signalapp/ringrtc/build/freebsd/libringrtc-${NODE_ARCH}.node ${CP} ${LOCALBASE}/lib/node_sqlcipher.node \ ${WRKSRC}/node_modules/@signalapp/sqlcipher/prebuilds/freebsd-${NODE_ARCH} cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} npm_config_nodedir=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR}/node_headers pnpm install cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} pnpm run clean-transpile # found in reproducible-builds/docker-entrypoint.sh cd ${WRKSRC}/sticker-creator && \ ${SETENV} ${MAKE_ENV} pnpm install --frozen-lock cd ${WRKSRC}/sticker-creator && \ ${SETENV} ${MAKE_ENV} pnpm run build cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} pnpm run generate 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} npm run build:electron -- \ --linux --dir --config.npmRebuild=false \ --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 ${RM} -r ${STAGEDIR}${DATADIR}/resources/app.asar.unpacked/node_modules/pnpm create-caches-tarball: # do some cleanup first ${RM} -r ${WRKDIR}/.npm/_logs ${WRKDIR}/.npm/_update-notifier-last-checked cd ${WRKDIR} && \ ${TAR} czf signal-desktop-${DISTVERSION}-npm-cache.tar.gz .npm pnpm .cache .include diff --git a/net-im/teams/Makefile b/net-im/teams/Makefile index b5eb9d097bb0..675fcd54eb29 100644 --- a/net-im/teams/Makefile +++ b/net-im/teams/Makefile @@ -1,49 +1,49 @@ PORTNAME= teams DISTVERSIONPREFIX= v DISTVERSION= 2.10.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net-im MAINTAINER= tagattie@FreeBSD.org COMMENT= Unofficial Microsoft Teams client WWW= https://github.com/IsmaelMartinez/teams-for-linux LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/LICENSE.md USES= desktop-file-utils electron:41 localbase:ldflags \ nodejs:24,build python:build USE_GITHUB= yes GH_ACCOUNT= IsmaelMartinez GH_PROJECT= teams-for-linux BINARY_ALIAS= python3=${PYTHON_CMD} SUB_FILES= ${PORTNAME} PORTDOCS= CONTRIBUTING.md HISTORY.md README.md SECURITY.md OPTIONS_DEFINE= DOCS USE_ELECTRON= npm:npm appbuilder:devel prefetch extract rebuild build:builder do-install: ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin ${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.desktop ${STAGEDIR}${DESKTOPDIR} .for size in 16 24 32 48 64 96 128 256 512 1024 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${size}x${size}/apps ${INSTALL_DATA} ${WRKSRC}/build/icons/${size}x${size}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${size}x${size}/apps/${PORTNAME}.png .endfor @${MKDIR} ${STAGEDIR}${DATADIR} cd ${WRKSRC}/dist/${ELECTRON_BUILDER_APP_OUT_DIR} && \ ${COPYTREE_SHARE} resources ${STAGEDIR}${DATADIR} do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} do-test: cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} npm run test:unit .include diff --git a/x11/waveterm/Makefile b/x11/waveterm/Makefile index a2a4f7efdf7e..af15c5f1b0a0 100644 --- a/x11/waveterm/Makefile +++ b/x11/waveterm/Makefile @@ -1,111 +1,111 @@ # Notes for port maintainer(s) # # Before copying package.json and package-lock.json to ${PKGJSONSDIR}, # do the following steps: # 1. Add node-addon-api and node-gyp to devDependencies in ${WRKSRC} # $ npm install --save-dev --ignore-scripts node-addon-api node-gyp # This is required for building sharp node module from source. # https://sharp.pixelplumbing.com/install/#building-from-source # 2. Generate package.json and package-lock.json in ${WRKSRC}/tsunami/template # $ cd tsunami/templates && cp package.json.tmpl package.json && npm install --ignore-scripts PORTNAME= waveterm DISTVERSIONPREFIX= v DISTVERSION= 0.14.5 -PORTREVISION= 12 +PORTREVISION= 13 CATEGORIES= x11 DISTFILES= tsunami/go.mod:prefetch MAINTAINER= tagattie@FreeBSD.org COMMENT= Open source, AI-native terminal that sees your entire workspace WWW= https://www.waveterm.dev/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= task:devel/task LIB_DEPENDS= libvips.so:graphics/vips USES= cargo electron:41 gmake go:1.25+,modules,no_targets \ nodejs:24,build python:build USE_GITHUB= yes GH_ACCOUNT= wavetermdev GH_TUPLE= swc-project:swc:v1.15.11:swc/swc CARGO_CARGOTOML=${WRKSRC}/swc/Cargo.toml CARGO_CARGOLOCK=${WRKSRC}/swc/Cargo.lock CARGO_BUILD= no CARGO_INSTALL= no CARGO_TEST= no CARGO_ENV+= CARGO_FEATURE_LOCAL_DYNAMIC_TLS=1 GO_MOD_DIST= github GO_MODULE= github.com/wavetermdev/waveterm BINARY_ALIAS= python3=${PYTHON_CMD} SUB_FILES= ${PORTNAME} PLIST_SUB= ARCH=${ARCH:S/aarch64/arm64/:S/amd64/x64/} \ DISTVERSION=${DISTVERSION} PORTDOCS= CONTRIBUTING.md README.md SECURITY.md OPTIONS_DEFINE= DOCS USE_ELECTRON= npm:npm appbuilder:devel prefetch extract rebuild build:builder ELECTRON_MAKE_FLAGS+= -c electron-builder.config.cjs pre-fetch: @${MKDIR} ${DISTDIR}/${DIST_SUBDIR}/tsunami @if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/tsunami/go.mod ]; then \ ${FETCH_CMD} ${FETCH_BEFORE_ARGS} \ https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/tsunami/go.mod \ -o ${DISTDIR}/${DIST_SUBDIR}/tsunami/go.mod; \ fi pre-build: cd ${WRKSRC}/swc && \ ${SETENV} ${MAKE_ENV} ${CARGO_ENV} ${CARGO} build \ --manifest-path ${CARGO_CARGOTOML} \ --package binding_core_node --release --verbose --verbose ${CP} ${CARGO_TARGET_DIR}/*/libbinding_core_node.so \ ${WRKSRC}/node_modules/@swc/core/swc.freebsd-${ELECTRON_ARCH}.node cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} ${GO_ENV} task --verbose build:backend cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} ${GO_ENV} task --verbose build:tsunamiscaffold .for mod in lqip-loader plugin-ideal-image cd ${WRKSRC}/node_modules/@docusaurus/${mod}/node_modules/sharp && \ ${SETENV} ${MAKE_ENV} ${ELECTRON_REBUILD_ENV} npm run install .endfor cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} npm run build:prod # generate icon files cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} app-builder icon \ --input=icon.icns --out=icons --format=set --root=build .for size in 16 48 ${MV} ${WRKSRC}/icons/icon_${size}x${size}.png ${WRKSRC}/icons/icon_${size}.png .endfor do-install: ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin ${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.desktop ${STAGEDIR}${DESKTOPDIR} .for size in 16 32 48 64 128 256 512 1024 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${size}x${size}/apps ${INSTALL_DATA} ${WRKSRC}/icons/icon_${size}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${size}x${size}/apps/${PORTNAME}.png .endfor @${MKDIR} ${STAGEDIR}${DATADIR} cd ${WRKSRC}/make/${ELECTRON_BUILDER_APP_OUT_DIR} && \ ${COPYTREE_SHARE} resources ${STAGEDIR}${DATADIR} ${FIND} ${STAGEDIR}${DATADIR}/resources -type f -exec ${FILE} {} ';' | \ ${GREP} 'ELF.*FreeBSD' | ${AWK} -F ': ' '{print $$1}' | ${XARGS} ${STRIP_CMD} do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} do-test: cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} npm run test .include