Package Details: fsv3 3.0-2

Git Clone URL: https://aur.archlinux.org/fsv3.git (read-only, click to copy)
Package Base: fsv3
Description: A 3D file system explorer (GTK3 port)
Upstream URL: https://github.com/jabl/fsv
Licenses: LGPL2.1
Conflicts: fsv2
Provides: fsv2
Replaces: fsv, fsv2
Submitter: fbrennan
Maintainer: fbrennan
Last Packager: fbrennan
Votes: 3
Popularity: 0.89
First Submitted: 2023-07-04 23:26 (UTC)
Last Updated: 2023-07-04 23:28 (UTC)

Latest Comments

drutt commented on 2025-11-22 05:57 (UTC)

In addition to meow6969's comment and patch, I experienced some compile errors that required additional patching:

../src/animation.c: In function ‘schedule_event’:
../src/animation.c:55:32: error: assignment to ‘void (*)(void *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
   55 |         new_schevent->event_cb = event_cb;
      |                                ^
../src/gui.c: In function ‘gui_colorsel_window’:
../src/gui.c:1097:17: error: too many arguments to function ‘ok_callback’; expected 0, have 2
 1097 |                 (ok_callback)(&color, ok_callback_data);
      |                 ^             ~~~~~~
../src/gui.c: In function ‘gui_window_icon_xpm’:

I was able to fix this with this patch to PKGBUILD:

diff --git a/PKGBUILD b/PKGBUILD
index cf8cfd2..f88104e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -16,14 +16,16 @@ replaces=(fsv2 fsv)
 source=("$_pkgname-$pkgver-$pkgrel.tar.gz::$url/archive/refs/tags/$_pkgname-$pkgver.tar.gz"
    disable_assertions.patch
    disable_ogl_abort.patch
+   disable_ok_callback.patch
    non-fatal-assertions.h)
 b2sums=('44d6f202b50581b193e15c2a9252e6a2db6b579f0fd2716d48f5d1de256443a5fcb366e27d8f4f31dc7fabb0ffd71868908e5950a66c7b8bed3f87dc6a85c99b'
-        '6d826eb41536fc95811c9ccf48d4f6dc1a65995992ac39bc9f9e48bb2bd088ce14a1db0fd44d74bb5148b6cb66b41948b5f2b4f0abeb99932cd2bf6dfb97c59f'
-        '415071f6f8cf6afd01fd01fcf122474ae2ffbf35d2cf4bf40aabe8742c0ef711e320a7a1fda64e94c0891e5e9e38ee25c75b44e3f075fbe9447f8b0ea6598f0e'
-        '710db356167d187b85e6ae71aa20c83fd5c83946130912bba6a691f0b4dbe3c82a69147346f868f4844b363a9728ca4c21e4fbc6ae638b64ebfa296c06e9b037')
+   '6d826eb41536fc95811c9ccf48d4f6dc1a65995992ac39bc9f9e48bb2bd088ce14a1db0fd44d74bb5148b6cb66b41948b5f2b4f0abeb99932cd2bf6dfb97c59f'
+   '415071f6f8cf6afd01fd01fcf122474ae2ffbf35d2cf4bf40aabe8742c0ef711e320a7a1fda64e94c0891e5e9e38ee25c75b44e3f075fbe9447f8b0ea6598f0e'
+   '7f4c94ec823206f0c0767379c0ef9764a4592d43810a2ca44aa97a71103edfcc205de9ceb58d080fea1f432ed3babd3d90087e9f162deb01630bdabc30f59403'
+   '710db356167d187b85e6ae71aa20c83fd5c83946130912bba6a691f0b4dbe3c82a69147346f868f4844b363a9728ca4c21e4fbc6ae638b64ebfa296c06e9b037')

 function _check_debug() {
-    . /etc/makepkg.conf
+    eval $(cat /etc/makepkg.conf | grep -Po "^OPTIONS=\\([\\w\! ]*?\\)$") # AJM
     for option in "${OPTIONS[@]}"; do
         if [[ $option == "debug" ]]; then
             echo "debugoptimized"
@@ -41,6 +43,7 @@ prepare() {
    cd "$srcdir/$_pkgname-$_pkgname-$pkgver"
    patch -p1 src/common.h ../disable_assertions.patch 
    patch -p1 src/ogl.c ../disable_ogl_abort.patch 
+   patch -p1 src/gui.c ../disable_ok_callback.patch 
    cp ../non-fatal-assertions.h src
    [ ! -f po/LINGUAS ] && touch po/LINGUAS || true
 }
@@ -48,7 +51,7 @@ prepare() {
 build() {
    cd "$srcdir/$_pkgname-$_pkgname-$pkgver"
    RECONFIGURE=$([ -d builddir ] && cat <<< --reconfigure || true)
-   export CFLAGS="$CFLAGS -Wno-maybe-uninitialized"
+   export CFLAGS="$CFLAGS -Wno-maybe-uninitialized -Wno-incompatible-pointer-types"
    meson setup $RECONFIGURE -Dbuildtype=`_check_debug` -Dc_args="$CFLAGS" -Ddefault_library=both -Dprefix=/usr builddir
    cd builddir
    ninja

Content of disable_ok_callback.patch:

--- a/src/gui.c 2022-09-28 17:07:03.000000000 +1000
+++ b/src/gui.c 2025-11-22 16:36:34.337412891 +1100
@@ -1094,7 +1094,7 @@
        gtk_color_chooser_get_rgba(chooser, &gcolor);
        RGBcolor color = GdkRGBA2RGB(&gcolor);
        /* Call user callback */
-       (ok_callback)(&color, ok_callback_data);
+       /* (ok_callback)(&color, ok_callback_data); */
         }

    gtk_widget_destroy(widget);

meow6969 commented on 2025-04-27 06:47 (UTC)

hello trying to build in a clean chroot gives the error:

==> Starting build()...
/etc/makepkg.conf: line 70: BUILDENV: readonly variable
The Meson build system
Version: 1.7.2
Source dir: /build/fsv3/src/fsv-fsv-3.0
Build dir: /build/fsv3/src/fsv-fsv-3.0/builddir
Build type: native build

meson.build:3:0: ERROR: Value "." (of type "string") for option "buildtype" is not one of the choices. Possible choices are (as string): "plain", "debug", "debugoptimized", "release", "minsize", "custom".

A full log can be found at /build/fsv3/src/fsv-fsv-3.0/builddir/meson-logs/meson-log.txt
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Build failed, check /home/meow/.local/chroot/meow/build

i was able to fix it with this patch for the PKGBUILD:

diff --git a/PKGBUILD b/PKGBUILD
index cf8cfd2..3c5a318 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -23,7 +23,7 @@ b2sums=('44d6f202b50581b193e15c2a9252e6a2db6b579f0fd2716d48f5d1de256443a5fcb366e
         '710db356167d187b85e6ae71aa20c83fd5c83946130912bba6a691f0b4dbe3c82a69147346f868f4844b363a9728ca4c21e4fbc6ae638b64ebfa296c06e9b037')

 function _check_debug() {
-    . /etc/makepkg.conf
+    eval $(cat /etc/makepkg.conf | grep -Po "^OPTIONS=\\([\\w\! ]*?\\)$")
     for option in "${OPTIONS[@]}"; do
         if [[ $option == "debug" ]]; then
             echo "debugoptimized"

ok