Package not found: openSUSE:Factory:Staging:adi:1/fcitx5-skk

File desktop_native-rust-arch.patch of Package bitwarden

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) {
openSUSE Build Service is sponsored by