Package Details: flare 0.20.3-0

Git Clone URL: https://aur.archlinux.org/flare.git (read-only, click to copy)
Package Base: flare
Description: Chat with your friends on Signal
Upstream URL: https://gitlab.com/schmiddi-on-mobile/flare
Licenses: AGPL-3.0-only
Submitter: julianfairfax
Maintainer: Schmiddi (heapifyman)
Last Packager: heapifyman
Votes: 8
Popularity: 0.50
First Submitted: 2023-04-27 14:57 (UTC)
Last Updated: 2026-04-05 12:59 (UTC)

Latest Comments

1 2 Next › Last »

14mRh4X0r commented on 2026-03-27 14:03 (UTC) (edited on 2026-03-27 14:05 (UTC) by 14mRh4X0r)

Of course, you're also welcome to send a patch.

Thought I'd take a stab, mostly taking inspiration from fractal's PKGBUILD, here you go:

diff --git a/PKGBUILD b/PKGBUILD
index 506e8f6..5f01570 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -17,12 +17,20 @@ source=("https://gitlab.com/schmiddi-on-mobile/$pkgname/-/archive/$pkgver/$pkgna
 sha256sums=("2fc4f62743c736c82197bb16b0c921218f25a0e6c2c4da60010d617c08a5250a")
 options=(!lto)

+prepare() {
+  cd "${srcdir}"/$pkgname-$pkgver
+  export RUSTUP_TOOLCHAIN=stable
+  CARGO_HOME=_build/cargo-home cargo fetch --locked --target host-tuple
+}
+
+
 build() {
   cd "${srcdir}"/$pkgname-$pkgver
   arch-meson . _build
+  CARGO_NET_OFFLINE=true meson compile -C _build
 }

 package() {
   cd "${srcdir}"/$pkgname-$pkgver
-  DESTDIR="${pkgdir}" ninja -C _build install
+  meson install -C _build --destdir "$pkgdir" --no-rebuild
 }

dreieck commented on 2025-12-05 11:15 (UTC) (edited on 2026-03-08 12:37 (UTC) by dreieck)

Ahoj,

We can look into your suggestions for the build but it might take some time because we are currently busy with other things.

that's fine!,

We did not find anything in the guidelines, though, that prohibits network access in build(). Before we start anything could you please provide a bit more detail why you think these changes would be necessary?

↗ Here is a forum discussion about it. Comment #4 says:

But in any case, yes, build() and package() should be able to run with no network access (anything requiring network access should be either pushed into the source array, or if necessary handled in the prepare() function); and a PKGBUILDshould absolutely not save anything outside of srcdir or pkgdir.

Use case is e.g. that makepkg -e can be used to re-build without network access (e.g. on the go). Or hyptothetically some very restricted build environments.

But anyway, what is even more problematic is that package() downloads and compiles again, after build() has already done so.

Of course, you're also welcome to send a patch.

I might try at some time.

I see that you use meson, which in turn uses cargo. I am not familiar with meson, but it looks that either upstream needs to be pinged to change their meson scripts, or that this package should call cargo manually.

Regarding git submodules, I don't think the package uses any.

I think you are right in that.

Regards!

heapifyman commented on 2025-12-04 22:46 (UTC)

@dreieck We can look into your suggestions for the build but it might take some time because we are currently busy with other things.

We did not find anything in the guidelines, though, that prohibits network access in build(). Before we start anything could you please provide a bit more detail why you think these changes would be necessary? What benefits do you hope to gain? Of course, you're also welcome to send a patch.

Regarding git submodules, I don't think the package uses any.

As for the license identifier. That indeed should be fixed. So thanks for pointing that out.

dreieck commented on 2025-12-03 13:31 (UTC) (edited on 2025-12-03 13:33 (UTC) by dreieck)

You updated the package, but you still compile and download stuff in package(). (In build(), compilation and download happens, in package() again).

  • Make sure that in package() no compilation nor download is happening.
  • Make sure that in build() no download is happening: Please add the cargo commands to download the rust dependencies to prepare(), so that build() can run on fully prepared sources in an offline environment.
    See the Rust Package Guidelines in the Arch Linux wiki for this part.

Regards!

==> Starting package()...
ninja: Entering directory `_build'
[40/43] Generating data/resources/blueprints with a custom command
warning: Gtk.ShortcutsWindow is deprecated
at ../data/resources/ui/shortcuts.blp line 3 column 1:
   3 |ShortcutsWindow help_overlay {
     |^^^^^^^^^^^^^^^
[...]
[41/43] Generating src/cargo-build with a custom command
    Updating git repository `https://github.com/signalapp/curve25519-dalek`
    Updating crates.io index
    Updating git repository `https://github.com/whisperfish/blurhash-rs`
    Updating git repository `https://github.com/whisperfish/libsignal-service-rs.git`
    Updating git repository `https://github.com/whisperfish/presage.git`
    Updating git repository `https://github.com/signalapp/libsignal`
    Updating git repository `https://github.com/signalapp/SparsePostQuantumRatchet.git`
  Downloaded futures-task v0.3.31
  Downloaded aead v0.5.2
[...]
  Downloaded gettext-sys v0.26.0
  Downloaded 456 crates (52.5MiB) in 2.59s (largest was `gettext-sys` at 9.2MiB)
   Compiling proc-macro2 v1.0.103
   Compiling quote v1.0.42
[...]
   Compiling flare v0.17.4 (/var/cache/makepkg/build/flare/src/flare-0.17.4)
    Finished `release` profile [optimized] target(s) in 4m 35s
[42/43] Installing files
[...]

dreieck commented on 2025-11-25 21:12 (UTC)

this PKGBUILD downloads and compiles stuff in package().

STILL happening. MUST BE FIXED!

dreieck commented on 2025-04-17 08:32 (UTC) (edited on 2025-04-17 08:34 (UTC) by dreieck)

Ahoj,

this PKGBUILD downloads and compiles stuff in package().

This should not happen.

Please:

  • Move the download, that cannot be handled in the source array, to the prepare() function, so that build() and package() can run in an offline environment,
  • move the compilation into the build() function.

Also, please download git submodules via the source array and reference them in prepare(), es explained here in the Arch Linux wiki for -git packages.

Here an excerpt from the terminal:

==> Starting package()...
ninja: Entering directory `_build'
[39/42] Generating data/resources/blueprints with a custom command
[...]
[40/42] Generating src/cargo-build with a custom command
    Updating git repository `https://github.com/signalapp/curve25519-dalek`
    Updating crates.io index
    Updating git repository `https://github.com/whisperfish/blurhash-rs`
    Updating git repository `https://github.com/whisperfish/libsignal-service-rs`
    Updating git repository `https://github.com/whisperfish/presage`
    Updating git repository `https://github.com/signalapp/libsignal`
    Updating git submodule `https://github.com/signalapp/Signal-Message-Backup-Tests.git`
  Downloaded num v0.4.3
  Downloaded arg_enum_proc_macro v0.3.4
  Downloaded noop_proc_macro v0.3.0
[...]
  Downloaded color_quant v1.1.0
  Downloaded gettext-sys v0.22.5
  Downloaded 405 crates (43.8 MB) in 7.51s (largest was `gettext-sys` at 10.3 MB)
   Compiling proc-macro2 v1.0.94
   Compiling unicode-ident v1.0.18
   Compiling libc v0.2.170
   Compiling serde v1.0.218
[...]
   Compiling libspelling v0.3.0
   Compiling flare v0.15.16 (/var/cache/makepkg/build/flare/src/flare-0.15.16)
    Finished `release` profile [optimized] target(s) in 7m 15s
[41/42] Installing files
[...]

Also the license identifier should be updated to be SPDX compliant:

flare E: AGPL3 is not a valid SPDX license identifier. See https://spdx.org/licenses/ for valid identifiers, or prefix the identifier with 'LicenseRef-', if it is custom.

(e.g. AGPL-3.0-only or AGPL-3.0-or-later)

Regards and thanks for the package!

julianfairfax commented on 2024-03-27 12:27 (UTC)

I have downgraded the AUR package to 0.13.0 while we wait for blueprint-compiler to be updated. Thank you to those who reported the latest build's failure to build.

marmistrz commented on 2024-03-25 10:09 (UTC)

0.14.1 fails with:

[25/28] Generating data/resources/blueprints with a custom command
FAILED: data/resources 
/usr/bin/blueprint-compiler batch-compile data/resources/. ../data/resources ../data/resources/ui/about.blp ../data/resources/ui/attachment.blp ../data/resources/ui/call_message_item.blp ../data/resources/ui/channel_messages.blp ../data/resources/ui/channel_item.blp ../data/resources/ui/channel_item_compact.blp ../data/resources/ui/channel_list.blp ../data/resources/ui/channel_info_dialog.blp ../data/resources/ui/dialog_clear_messages.blp ../data/resources/ui/dialog_unlink.blp ../data/resources/ui/error_dialog.blp ../data/resources/ui/setup_window.blp ../data/resources/ui/linked_devices_window.blp ../data/resources/ui/message_item.blp ../data/resources/ui/preferences_window.blp ../data/resources/ui/shortcuts.blp ../data/resources/ui/text_entry.blp ../data/resources/ui/window.blp ../data/resources/ui/submit_captcha_dialog.blp ../data/resources/ui/new_channel_dialog.blp ../data/resources/ui/components/context_menu_bin.blp ../data/resources/ui/components/emoji_picker.blp ../data/resources/ui/components/attachment_audio.blp ../data/resources/ui/components/attachment_file.blp ../data/resources/ui/components/attachment_photo.blp ../data/resources/ui/components/attachment_video.blp ../data/resources/ui/components/item_row.blp ../data/resources/ui/components/time_divider.blp ../data/resources/ui/components/letter_divider.blp ../data/resources/ui/components/label.blp ../data/resources/ui/components/indicators.blp
error: Adw.AlertDialog is not a Adw.MessageDialog, so it doesn't have responses
at ../data/resources/ui/dialog_clear_messages.blp line 10 column 3:
  10 |  responses [
     |  ^

marmistrz commented on 2024-01-02 16:11 (UTC)

For me the build seems to hang after cargo finishes:

   Compiling flare v0.11.1 (/home/marcin/.cache/yay/flare/src/flare-0.11.1)
    Finished release [optimized] target(s) in 7m 58s
(hangs here)

dreieck commented on 2023-08-17 07:28 (UTC) (edited on 2023-08-17 07:35 (UTC) by dreieck)

Installing gnome-keyring solves the issue reported at 2023-08-17, 07:22 UTC. Maybe it needs be added to the depends array?

But it is really inconvenient to have to store secrets in gnome-keyring, if I use other methods :-(.