SHA256
1
0
forked from pool/bitwarden
bitwarden/desktop_native-rust-arch.patch
Bruno Pitrus 381d9976c3 - New upstream release 2024.7.0
* Deprecated setting for approving logins. Desktop now receives login requests by default.
- Drop no longer needed argon2-binary-path.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=61
2024-07-16 09:54:55 +00:00

211 lines
6.5 KiB
Diff

Replace wrong path to Rust native module with something we actually control (we aren't using the napi-rs script which is awful).
I have no idea wtf musl is even doing there, as Electron is officially supported only on GNU systems.
--- clients/apps/desktop/desktop_native/napi/index.js.orig 2024-07-15 19:10:33.919215714 +0200
+++ clients/apps/desktop/desktop_native/napi/index.js 2024-07-15 19:33:23.753781579 +0200
@@ -1,203 +1,7 @@
-const { existsSync, readFileSync } = require('fs')
-const { join } = require('path')
-
-const { platform, arch } = process
-
let nativeBinding = null
-let localFileExisted = false
let loadError = null
-function isMusl() {
- // For Node 10
- if (!process.report || typeof process.report.getReport !== 'function') {
- try {
- return readFileSync('/usr/bin/ldd', 'utf8').includes('musl')
- } catch (e) {
- return true
- }
- } else {
- const { glibcVersionRuntime } = process.report.getReport().header
- return !glibcVersionRuntime
- }
-}
-
-switch (platform) {
- case 'android':
- switch (arch) {
- case 'arm64':
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.android-arm64.node'))
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.android-arm64.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-android-arm64')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'arm':
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.android-arm-eabi.node'))
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.android-arm-eabi.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-android-arm-eabi')
- }
- } catch (e) {
- loadError = e
- }
- break
- default:
- throw new Error(`Unsupported architecture on Android ${arch}`)
- }
- break
- case 'win32':
- switch (arch) {
- case 'x64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.win32-x64-msvc.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.win32-x64-msvc.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-win32-x64-msvc')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'ia32':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.win32-ia32-msvc.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.win32-ia32-msvc.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-win32-ia32-msvc')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'arm64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.win32-arm64-msvc.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.win32-arm64-msvc.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-win32-arm64-msvc')
- }
- } catch (e) {
- loadError = e
- }
- break
- default:
- throw new Error(`Unsupported architecture on Windows: ${arch}`)
- }
- break
- case 'darwin':
- switch (arch) {
- case 'x64':
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.darwin-x64.node'))
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.darwin-x64.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-darwin-x64')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'arm64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.darwin-arm64.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.darwin-arm64.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-darwin-arm64')
- }
- } catch (e) {
- loadError = e
- }
- break
- default:
- throw new Error(`Unsupported architecture on macOS: ${arch}`)
- }
- break
- case 'freebsd':
- if (arch !== 'x64') {
- throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
- }
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.freebsd-x64.node'))
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.freebsd-x64.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-freebsd-x64')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'linux':
- switch (arch) {
- case 'x64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.linux-x64-musl.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.linux-x64-musl.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-linux-x64-musl')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'arm64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.linux-arm64-musl.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.linux-arm64-musl.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-linux-arm64-musl')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'arm':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.linux-arm-gnueabihf.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.linux-arm-gnueabihf.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-linux-arm-gnueabihf')
- }
- } catch (e) {
- loadError = e
- }
- break
- default:
- throw new Error(`Unsupported architecture on Linux: ${arch}`)
- }
- break
- default:
- throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
-}
+nativeBinding = require('./desktop_napi.node')
if (!nativeBinding) {
if (loadError) {