Package Details: seadrive-gui 3.0.21-1

Git Clone URL: https://aur.archlinux.org/seadrive-gui.git (read-only, click to copy)
Package Base: seadrive-gui
Description: GUI part of seadrive
Upstream URL: https://github.com/haiwen/seadrive-gui
Licenses: Apache
Submitter: eolianoe
Maintainer: orax
Last Packager: orax
Votes: 13
Popularity: 1.01
First Submitted: 2017-04-27 13:44 (UTC)
Last Updated: 2026-03-26 14:42 (UTC)

Required by (0)

Sources (2)

Pinned Comments

river_wunsch commented on 2025-08-21 10:57 (UTC)

Rebuild seadrive-daemon if SeaDrive fails to start. (For example: paru -S seadrive-daemon --rebuild or yay -S seadrive-daemon --rebuild)

See: https://aur.archlinux.org/packages/seafile-client

Latest Comments

1 2 3 4 5 Next › Last »

orax commented on 2025-11-22 22:44 (UTC)

Thanks @bionade24, I have updated and checked that all dependencies are present in a clean environment (including the git make dependency that I forgot to add when we moved to a git based source).

bionade24 commented on 2025-11-22 19:07 (UTC)

@orax: This pkg needs qt6-5compat as dependency to build & run in a clean environment.

-- Could NOT find Qt6Core5Compat (missing: Qt6Core5Compat_DIR)
CMake Error at CMakeLists.txt:122 (FIND_PACKAGE):
Found package configuration file:

/usr/lib/cmake/Qt6/Qt6Config.cmake

but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
FOUND. Reason given by package:

Failed to find required Qt component "Core5Compat".

Expected Config file at
"/usr/lib/cmake/Qt6Core5Compat/Qt6Core5CompatConfig.cmake" does NOT exist



Configuring with --debug-find-pkg=Qt6Core5Compat might reveal details why
the package was not found.

orax commented on 2025-11-16 16:58 (UTC)

As requested by @bionade24 and using the patch provided by @makinori, I have updated the package to use Qt6 dependencies. I have given the proper authoring credits to @makinori in the Git history. Thanks a lot for your submission.

orax commented on 2025-11-15 18:21 (UTC)

@bionade42, sure I will push an update during the weekend for this release. I was initially waiting for a new release to be pushed upstream before updating to Qt6 so not everybody had to rebuild it just for that.

bionade24 commented on 2025-11-15 18:15 (UTC)

@orax: May you please update the pkg to use Qt6 as provided by @mak? Lots of the qt5 dependencies are EOL already.

makinori commented on 2025-11-10 20:11 (UTC)

I updated the package to use qt6 as it's supported in the seadrive-gui repo. Building qt5-webengine also isn't working right now. Here's the patch: (use patch -Np1 < patch.diff)

diff --git a/PKGBUILD b/PKGBUILD
index 596a97f..1630195 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -11,12 +11,19 @@ pkgdesc="GUI part of seadrive"
 arch=('i686' 'x86_64' 'armv7h' 'armv6h' 'aarch64')
 url="https://github.com/haiwen/${pkgname}"
 license=('Apache')
-depends=('qt5-webengine' 'qt5-tools' 'seadrive-daemon' 'libsearpc')
+depends=('qt6-webengine' 'qt6-tools' 'seadrive-daemon' 'libsearpc')
 makedepends=("cmake")
-source=("${pkgname}-v${pkgver}::git+${url}.git#tag=v${pkgver}")
-sha256sums=('SKIP')
+source=(
+    "${pkgname}-v${pkgver}::git+${url}.git#tag=v${pkgver}"
+    "use-qt6.patch"
+)
+sha256sums=('SKIP' 'SKIP')

 prepare() {
+    # Apply patch to the source code
+    cd "${srcdir}/${pkgname}-v${pkgver}"
+    patch -Np1 < "${srcdir}/use-qt6.patch"
+
     # Create build dir
     rm -rf build
     mkdir -p build
@@ -24,18 +31,18 @@ prepare() {

 build () {
     # Build seadrive-gui
-    cd "$srcdir/build"
+    cd "${srcdir}/${pkgname}-v${pkgver}/build"
     cmake \
         -Wno-dev \
         -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
         -DCMAKE_BUILD_TYPE=Release \
         -DCMAKE_INSTALL_PREFIX=/usr \
         "${srcdir}/${pkgname}-v${pkgver}"
-    make
+    make -j$(nproc)
 }

 package () {
     # Install seadrive-gui
-    cd "${srcdir}/build"
+    cd "${srcdir}/${pkgname}-v${pkgver}/build"
     make DESTDIR="${pkgdir}" install
 }
diff --git a/use-qt6.patch b/use-qt6.patch
new file mode 100644
index 0000000..be90f13
--- /dev/null
+++ b/use-qt6.patch
@@ -0,0 +1,31 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6df464c..a29e58c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -85,15 +85,14 @@ ENDIF()
+ ###### BEGIN: QT configuration
+ ####################
+ 
+-FIND_PROGRAM(qmake_executable NAMES qmake qmake.exe)
+ EXECUTE_PROCESS(COMMAND
+-    bash -c "${qmake_executable} --version | grep -iE '^using qt version [0-9.]+' | awk '{print $4}'"
++    bash -c "qmake6 --version | grep -iE '^using qt version [0-9.]+' | awk '{print $4}'"
+     OUTPUT_VARIABLE DETECTED_QT_VERSION
+     OUTPUT_STRIP_TRAILING_WHITESPACE)
+ MESSAGE("Qt version: ${DETECTED_QT_VERSION}")
+ 
+ EXECUTE_PROCESS(COMMAND
+-    bash -c "qmake --version|grep -iE '^using qt version [0-9]'|awk '{print $4}'|grep -iE '^[0-9]'|awk -F . '{print $1}'"
++    bash -c "qmake6 --version|grep -iE '^using qt version [0-9]'|awk '{print $4}'|grep -iE '^[0-9]'|awk -F . '{print $1}'"
+     OUTPUT_VARIABLE QT_VERSION_MAJOR
+     OUTPUT_STRIP_TRAILING_WHITESPACE)
+ MESSAGE("QT_VERSION_MAJOR: ${QT_VERSION_MAJOR}")
+@@ -583,7 +582,7 @@ ENDIF()
+ IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "BSD")
+ IF(QT_VERSION_MAJOR EQUAL 6)
+     FIND_PACKAGE(Qt6 COMPONENTS DBus REQUIRED)
+-    TARGET_LINK_LIBRARIES(seadrive-gui PRIVATE Qt6::DBus)
++    TARGET_LINK_LIBRARIES(seadrive-gui Qt6::DBus)
+ ELSE()
+     TARGET_LINK_LIBRARIES(seadrive-gui ${QT_QTDBUS_LIBRARIES})
+     QT5_USE_MODULES(seadrive-gui ${USE_QT_LIBRARIES})

river_wunsch commented on 2025-08-21 10:57 (UTC)

Rebuild seadrive-daemon if SeaDrive fails to start. (For example: paru -S seadrive-daemon --rebuild or yay -S seadrive-daemon --rebuild)

See: https://aur.archlinux.org/packages/seafile-client

orax commented on 2025-05-14 22:12 (UTC)

@bionade24, I see, it made sense to me in a -git package to have the sums as SKIP as the HEAD always change but as you said this is not really a valid attack vector here as we are using the official company Git repository as our source. This kind of precaution makes sense inside pre-compiled packages in the main arch repository but isn't really required here. I will update the package one last time to skip checksum verification. Thanks for the suggestion and explanation.

bionade24 commented on 2025-05-13 12:11 (UTC)

@orax Imho when you use a git tag as source you can 'SKIP' the pkg checksum, as git guarantees the integrity (that's what the -git pkgs in AUR do). In the linked xz PKGBUILD they either do it to prevent malicious attackers from force-pushing or because the git repo still uses SHA1 which one can compute collisions for with loads of gpus. I think neither 2 things are reasonable attack vectors for seadrive-gui, as it's much less popular than xz, maintained by a company and not some overworked guy in his free time. So when I proposed this, it did indeed solve the issue cause by Seafile force-pushing tags.

orax commented on 2025-05-13 08:29 (UTC) (edited on 2025-05-13 08:31 (UTC) by orax)

@bionade24 Thank you very much for those infos. Let me try to see what I can do. The issue here is more that they force-push the tag than the tarball itself (which as you said is generated by Github, this is not something the owner can manually updates).

On the other hand, I completely agree with you that it removes a potential attack vector to use the git repo directly, so I will be updating it to use that.

This will not fix the issue permanently tho as I said and I will still need to update the sources checksums regularly if they do indeed force-push over the tag.

In the end its a pretty ok tradeoff in my opinion as it forces me to check that everything do indeed still works even if it can be frustrating to see a broken build file sometimes.

@jbrouhard, as already stated by bionade, your build environment might be compromised. I just reran a build inside a completely clean container with just base-dev and the stated dependencies in this package and everything built fine.