Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: PACAUR depends on AURACLE which depends on SYSTEMD (Read 1938 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

PACAUR depends on AURACLE which depends on SYSTEMD

Tonight I tried to install Pacaur besides Trizen and Yaourt. It didn't succed as auracle-git didn't compile:

Code: [Select]
In Datei, eingebunden von ../src/auracle/auracle.hh:7,
                 von ../src/auracle/auracle.cc:1:
../src/aur/aur.hh:13:10: schwerwiegender Fehler: systemd/sd-event.h: Datei oder Verzeichnis nicht gefunden
   13 | #include <systemd/sd-event.h>
      |          ^~~~~~~~~~~~~~~~~~~~
Kompilierung beendet.
Code: [Select]
ARTIX Dinit + SDDM + Enlightenment

Re: PACAUR depends on AURACLE which depends on SYSTEMD

Reply #1
Thank you for information.
Please contact developers.

Re: PACAUR depends on AURACLE which depends on SYSTEMD

Reply #2
EDIT:
edit some changes to patch file and added check() function back to PKGBUILD

As @SGOrava said, you need to contact auracle developer to add support for nonsystemd users (with libelogind.so).

Here's a workaround that I wrote in the meantime:

Make a folder (name it auracle or whatever). Create a PKGBUILD file with this as a content:

Code: [Select]
pkgname=auracle-git
_pkgname=auracle
pkgver=r276.176a603
pkgrel=1
pkgdesc='A flexible client for the AUR'
arch=('x86_64' 'i686')
url="https://github.com/falconindy/auracle.git"
license=('MIT')
depends=('pacman' 'libarchive.so' 'libcurl.so' 'libelogind.so')
makedepends=('meson' 'git' 'perl')
checkdepends=('gtest' 'gmock')
provides=("$_pkgname")
conflicts=("$_pkgname")
source=(git+https://github.com/falconindy/auracle.git
        nosystemd.patch)
sha256sums=("SKIP"
            "SKIP")

pkgver() {
  cd "$_pkgname"
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

prepare() {
  cd "$_pkgname"
  patch -Np1 -i ../nosystemd.patch
}

build() {
  cd "$_pkgname"

  local meson_args=(
    --prefix=/usr
    --buildtype=plain
    --default-library=static
  )

  [[ -d build ]] && meson_args+=(--wipe)

  meson build "${meson_args[@]}"

  ninja -C build
}

check() {
  meson test -C "$_pkgname/build"
}

package () {
  cd "$_pkgname"

  DESTDIR=$pkgdir ninja -C build install
  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

# vim: et ts=2 sw=2

then create a patch file named nosystemd.patch (Make sure you put the file beside PKGBUILD) with below content:

Code: [Select]
diff --git a/src/aur/aur.hh b/src/aur/aur.hh
index 0de2c1e..682cb98 100644
--- a/src/aur/aur.hh
+++ b/src/aur/aur.hh
@@ -10,7 +10,7 @@
 #include <variant>
 
 #include <curl/curl.h>
-#include <systemd/sd-event.h>
+#include <elogind/sd-event.h>
 
 #include "request.hh"
 #include "response.hh"
diff --git a/tests/raw_query.py b/tests/raw_query.py
index 1934741..3eea851 100644
--- a/tests/raw_query.py
+++ b/tests/raw_query.py
@@ -37,7 +37,7 @@ class TestRawQuery(auracle_test.TestCase):
 
 
     def testMultipleRawSearch(self):
-        r = self.Auracle(['rawsearch', 'aura', 'systemd'])
+        r = self.Auracle(['rawsearch', 'aura'])
         self.assertEqual(r.process.returncode, 0)
 
         for line in r.process.stdout.splitlines():
@@ -46,7 +46,6 @@ class TestRawQuery(auracle_test.TestCase):
 
         self.assertCountEqual(r.request_uris, [
             '/rpc?v=5&type=search&by=name-desc&arg=aura',
-            '/rpc?v=5&type=search&by=name-desc&arg=systemd',
         ])
 
 

Then build the package (The packages should be easily built because I tested it myself)


(NOTE: this goes without saying, but always check and compare the files given from strangers before building in case there's a malicious code)
If I can hit that bullseye, the rest of the dominoes will fall like a house of cards. Checkmate!


Re: PACAUR depends on AURACLE which depends on SYSTEMD

Reply #4
This is great! Thank you for caring!
Code: [Select]
ARTIX Dinit + SDDM + Enlightenment