Package Details: beeper-v4-bin 4.2.985-1

Git Clone URL: https://aur.archlinux.org/beeper-v4-bin.git (read-only, click to copy)
Package Base: beeper-v4-bin
Description: The ultimate messaging app
Upstream URL: https://www.beeper.com/beta
Keywords: messaging
Licenses: LicenseRef-beeper
Conflicts: beeper
Provides: beeper
Submitter: mathix
Maintainer: mathix
Last Packager: mathix
Votes: 15
Popularity: 1.84
First Submitted: 2025-03-02 10:24 (UTC)
Last Updated: 2026-07-15 10:01 (UTC)

Required by (0)

Sources (1)

Pinned Comments

mathix commented on 2025-03-05 22:53 (UTC) (edited on 2025-03-28 12:16 (UTC) by mathix)

Beeper Changelog ➡️ https://beeper.notion.site/cdbc7b68526d45f7b8ced8d4ba170c8d

Latest Comments

1 2 3 4 Next › Last »

lexxrexx commented on 2026-07-09 16:01 (UTC) (edited on 2026-07-09 16:11 (UTC) by lexxrexx)

For AMR64 support - Beeper actually publishes an official arm64 Linux AppImage (api.beeper.com/desktop/download/linux/arm64/stable/com.automattic.beeper.desktop redirects to a real aarch64 build), the PKGBUILD just never used it. Tested building and running this on Arch Linux ARM (aarch64) and it works fine — the extract/asar-patch/repackage steps are architecture-agnostic.

Small patch to add aarch64 support:

--- a/PKGBUILD
+++ b/PKGBUILD
@@ -17,7 +17,7 @@ depends=(libappindicator-gtk3 libnotify libsecret hicolor-icon-theme)
 makedepends=(asar)
 url="https://www.beeper.com/beta"
 license=('LicenseRef-beeper')
-arch=('x86_64')
+arch=('x86_64' 'aarch64')

 options=('!strip' '!debug')

@@ -141,7 +141,12 @@ _update_version() {
     return
   fi

-  _dl_url="https://api.beeper.com/desktop/download/linux/x64/stable/com.automattic.beeper.desktop"
+  case "$CARCH" in
+    x86_64) _beeper_arch=x64 ;;
+    aarch64) _beeper_arch=arm64 ;;
+    *) echo "error: unsupported CARCH: $CARCH" >&2; return 1 ;;
+  esac
+  _dl_url="https://api.beeper.com/desktop/download/linux/${_beeper_arch}/stable/com.automattic.beeper.desktop"

   _filename=$(
     curl -v -L --no-progress-meter -r 0-1 "$_dl_url" 2>&1 > /dev/null \

Would be great to get this merged so arm64 users don't have to patch it themselves each update.

Sanitary4788 commented on 2026-06-11 15:43 (UTC)

@mooremaster @Cheek yeah sorry took the liberty to make my "own" package. As I was just annoyed that the package was just not updated regularly so I made a automated workflow for it that checks every day at midnight if there is an update. If @mathix does not like that I can delete "mine".

Maxb0tbeep commented on 2026-06-11 03:44 (UTC)

it would be nice if there was aarch64 support!

mathix commented on 2026-06-10 08:43 (UTC)

sorry for the delay, package should be fixed now

Cheek commented on 2026-06-10 00:40 (UTC)

@moormaster looking at it i'm thinking beeper-bin might be a reupload by someone else because this hasn't been working for a while (without editing PKBUILD) and has also recently been flagged out of date. Could be wrong

moormaster commented on 2026-06-07 14:45 (UTC)

What is the difference between beeper-v4-bin and beeper-bin AUR package?

nemonein commented on 2026-06-02 06:26 (UTC)

@baodrate Thanks a lot. It works.

baodrate commented on 2026-05-28 13:25 (UTC)

broken for v4.2.876

fix:

diff --git a/PKGBUILD b/PKGBUILD
index 656e12d..a08a711 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,10 +10,11 @@
 # basic info
 _pkgname='beeper'
 pkgname="$_pkgname${_pkgtype:-}"
-pkgver=4.2.860
+pkgver=4.2.876
 pkgrel=1
 pkgdesc="The ultimate messaging app"
 depends=(libappindicator-gtk3 libnotify libsecret hicolor-icon-theme)
+makedepends=(pnpm)
 url="https://www.beeper.com/beta"
 license=('LicenseRef-beeper')
 arch=('x86_64')
@@ -47,18 +48,19 @@ _package_beeper() {
   # apprun script
   install -Dm755 "$srcdir/squashfs-root/AppRun" "$pkgdir/usr/bin/beeper"

-  # everything else
-  install -dm755 "$pkgdir/$_install_path"
-  mv "$srcdir/squashfs-root" "$pkgdir/$_install_path/beeper"
-
-  # remove default .desktop file
-  rm -f "$pkgdir/$_install_path/beeper/beepertexts.desktop"
+  # source is asar-packed, so to modify we have to extract first
+  local _app_dir="${srcdir}/squashfs-root/resources"
+  local _asar_file="${_app_dir}/app.asar"
+  local _unpacked_files_glob
+  _unpacked_files_glob="{$(cd "${_asar_file}.unpacked" && find . -type f | sed -E 's,^\./,,' | paste -s -d, -)}"
+  local _extract_dir="app-${pkgver}"
+  pnpx @electron/asar extract "${_asar_file}" "${_extract_dir}"

   # replace registerLinuxConfig function
   # Find the file that exports registerLinuxConfig and replace the export statement.
   # The upstream filename has changed across versions (e.g. linux-*.mjs, main-entry-*.mjs),
   # so locate it by content instead of hardcoding the name.
-  local _main_dir="$pkgdir/$_install_path/beeper/resources/app/build/main"
+  local _main_dir="${_extract_dir}/build/main"
   local _linux_config_file
   _linux_config_file=$(grep -lE 'export\{[a-zA-Z0-9_]+ as registerLinuxConfig\};' "$_main_dir"/*.mjs | head -n1)
   if [ -z "$_linux_config_file" ]; then
@@ -66,6 +68,25 @@ _package_beeper() {
     return 1
   fi
   sed -i 's/export{[a-zA-Z0-9_]* as registerLinuxConfig};/const noopFunc=function(){};export{noopFunc as registerLinuxConfig};/' "$_linux_config_file"
+
+  # repack the results into an asar file
+  pnpx @electron/asar pack --unpack "${_extract_dir}/${_unpacked_files_glob}" "${_extract_dir}" app.asar
+  diff --side-by-side <(pnpx @electron/asar list -i "${_asar_file}" | sort -t: -k2) <(pnpx @electron/asar list -i app.asar | sort -t: -k2) || true
+  # check that we have the exact same set of unpacked-files
+  # we can't just replace the entire app.asar.unpacked directory because we lose the executable bit during extraction
+  for fp in $(cd "${_app_dir}/app.asar.unpacked" && find . -type f); do
+    cmp "${_app_dir}/app.asar.unpacked/${fp}" "app.asar.unpacked/${fp}" || return
+  done
+  # replace the original asar
+  rm "${_asar_file}"
+  mv -T "app.asar" "${_asar_file}"
+
+  # everything else
+  install -dm755 "$pkgdir/$_install_path"
+  mv "$srcdir/squashfs-root" "$pkgdir/$_install_path/beeper"
+
+  # remove default .desktop file
+  rm -f "$pkgdir/$_install_path/beeper/beepertexts.desktop"
 }

 package() {

cwtopel commented on 2026-05-20 22:01 (UTC)

Fix for sed: can't read linux-*.mjs build failure (v4.2.858)

The AppImage's internal build naming changed and linux-*.mjs no longer exists. The registerLinuxConfig patch now needs to target main-entry-*.mjs instead.

In ~/.cache/yay/beeper-v4-bin/PKGBUILD, find the last line of _package_beeper() and change linux-"*.mjs to main-entry-"*.mjs:

sed -i 's/export{[a-zA-Z0-9_]* as registerLinuxConfig};/const noopFunc=function(){};export{noopFunc as registerLinuxConfig};/' "$pkgdir/$_install_path/beeper/resources/app/build/main/main-entry-"*.mjs