Package Details: auracle-git r366.8739929-4

Git Clone URL: https://aur.archlinux.org/auracle-git.git (read-only, click to copy)
Package Base: auracle-git
Description: A flexible client for the AUR
Upstream URL: https://github.com/falconindy/auracle.git
Keywords: aur
Licenses: MIT
Conflicts: auracle
Provides: auracle
Submitter: Foxboron
Maintainer: artafinde
Last Packager: artafinde
Votes: 112
Popularity: 3.18
First Submitted: 2017-07-02 16:40 (UTC)
Last Updated: 2022-01-29 10:31 (UTC)

Pinned Comments

artafinde commented on 2022-01-26 09:15 (UTC) (edited on 2022-01-29 10:24 (UTC) by artafinde)

If the build fails:

  • Clear your aur helper cache and SRCPKGDEST directory
  • Rebuild in clean chroot 1
  • If it still fails, use a paste bin 2 to show full build logs

There's a package build already which you can try out from my repo.

falconindy commented on 2020-05-31 15:35 (UTC)

FAQ:

  • The dependencies are correct. fmt and nlohmann_json are configured as subprojects for ease of development on my end, and it's only natural to statically link C++ projects, as ABI stability with exported C++ libraries isn't a thing (compared to C).
  • If you think pod2man is missing, it's a configuration problem on your end. pod2man is part of the perl package, but in a perl-specific PATH handled by /etc/profile.d/perlbin.sh
  • I'm only able to test auracle on i686 and x86_64, so that's what I'm willing to commit to in the PKGBUILD. If you want to build this on some other architecture, use makepkg -A. The "any" architecture is reserved for packages with architecture independent files (and compiled C++ is not).

Latest Comments

bergentroll commented on 2022-04-20 11:12 (UTC)

Why? GitHub '.git' ended URL is officially suggested URL for cloning.

dreieck commented on 2022-04-20 10:13 (UTC)

Please remove .git from $url.

Thanks for maintaining!

StormEngineer commented on 2022-02-22 14:49 (UTC)

As others mentioned, the pod2man dependency is still missing.

ttoirrah commented on 2022-02-02 11:38 (UTC)

Build fails, so how do I clear auracle's "aur helper cache"?

kseistrup commented on 2022-01-29 15:03 (UTC)

The package wouldn't build unless I install pod2man:

abseil-cpp| Run-time dependency corefoundation found: NO (tried pkgconfig and cmake)
Program pod2man found: NO
meson.build:61:0: ERROR: Program 'pod2man' not found or not executable

hcjehg commented on 2022-01-29 07:04 (UTC)

It seems patch is a missing dependency :-)

artafinde commented on 2022-01-28 21:53 (UTC) (edited on 2022-01-28 21:55 (UTC) by artafinde)

jaap: can't reproduce locally - building in clean chroot works just fine. Not sure why according to your log you can download the fmt-release artifact but not the fmt-meson-patch meson patch.

Clearly this is not running on a clean chroot environment as suggested because your logs show evidence of cmake which is not included in dependencies.

jaap commented on 2022-01-28 21:14 (UTC) (edited on 2022-01-28 21:15 (UTC) by jaap)

This package wont build with the following log: https://pastebin.com/2VvN7V65

I do have internet, as evident by this post, and can download the linked file fine via firefox

(This is a clean build, after hitting the cache issue)

artafinde commented on 2022-01-26 09:15 (UTC) (edited on 2022-01-29 10:24 (UTC) by artafinde)

If the build fails:

  • Clear your aur helper cache and SRCPKGDEST directory
  • Rebuild in clean chroot 1
  • If it still fails, use a paste bin 2 to show full build logs

There's a package build already which you can try out from my repo.

jfernandz commented on 2022-01-26 04:30 (UTC)

Hi guys, I'm having problems for building this package:

==> Starting build()...
Directory does not contain a valid build tree:
/home/pisotte/AUR/auracle-git/src/auracle/build
==> ERROR: A failure occurred in build().

haug1 commented on 2022-01-14 16:46 (UTC)

For anyone else stupid like me, the solution for the validity check error was to delete the cache as explained below by @Volker_Weissmann, but your cache path will be different from "~/.cache/pacaur/auracle-git" if you are not using the "pacaur" package manager

artafinde commented on 2022-01-13 15:53 (UTC)

There's a package build already which you can try out if you have issues from my repo.

Volker_Weissmann commented on 2022-01-13 15:12 (UTC)

Same problem as xiretza here. rm -rf ~/.cache/pacaur/auracle-git/ solved it

Awebb commented on 2022-01-13 12:53 (UTC)

Remember to delete the abseil patch manually, if you have configured your own src folder (for some reason).

kleim commented on 2022-01-10 09:25 (UTC)

xiretza is right. I use no AUR helper, only makepkg and got the same error. My "fix" was deleting auracle-git folder then clone it again. (Yes, I know I am lazy).

14mRh4X0r commented on 2022-01-06 11:53 (UTC) (edited on 2022-01-06 11:54 (UTC) by 14mRh4X0r)

xiretza is right. That is, if makepkg downloaded the patch files previously, it won't try to redownload them if the URL changed (because how would it know?).

Considering they're patches, perhaps they should be included in the AUR repository itself?

xiretza commented on 2022-01-05 21:28 (UTC)

I know how to fix it. This isn't related to AUR helpers though, the same thing would happen with plain makepkg.

artafinde commented on 2022-01-05 19:59 (UTC)

@xiretza clear your aur helper cache.

xiretza commented on 2022-01-05 19:51 (UTC)

==> Making package: auracle-git r366.8739929-3 (2022-01-05T20:46:35 CET)
==> Retrieving sources...
  -> Updating auracle git repo...
Fetching origin
  -> Found abseil-fix.patch
  -> Found static-fmt.patch
==> Validating source files with b2sums...
    auracle ... Skipped
    abseil-fix.patch ... FAILED
    static-fmt.patch ... Passed
==> ERROR: One or more files did not pass the validity check!
==> ERROR: Could not download sources.

When pulling remote sources, please version the file names accordingly so they are refetched by makepkg when required.

sekret commented on 2021-09-09 20:50 (UTC)

@artafinde, thanks, yes, I missed to update it locally. Sorry for the false alarm :-)

artafinde commented on 2021-09-09 10:09 (UTC)

@sekret: It seems like you are using an old version without the abseil-fix.patch. Make sure you use the latest AUR package.

sekret commented on 2021-09-08 19:47 (UTC) (edited on 2021-09-08 19:48 (UTC) by sekret)

Fails to build right now:


[…]
[97/148] Compiling C++ object subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_graphcycles.cc.o
FAILED: subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_graphcycles.cc.o
c++ -Isubprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p -Isubprojects/abseil-cpp-20200225.2 -I../subprojects/abseil-cpp-20200225.2 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++17 -Wno-sign-compare -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -fPIC -MD -MQ subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_graphcycles.cc.o -MF subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_graphcycles.cc.o.d -o subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_graphcycles.cc.o -c ../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc
../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc: In member function ‘void absl::lts_2020_02_25::synchronization_internal::GraphCycles::RemoveNode(void*)’:
../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:451:26: error: ‘numeric_limits’ is not a member of ‘std’
  451 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
      |                          ^~~~~~~~~~~~~~
../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:451:49: error: expected primary-expression before ‘>’ token
  451 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
      |                                                 ^
../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:451:52: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  451 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
      |                                                    ^~~
      |                                                    std::max
In file included from /usr/include/c++/11.1.0/algorithm:62,
                 from ../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:38:
/usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
[98/148] Compiling C++ object subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_create_thread_identity.cc.o
[99/148] Compiling C++ object subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_per_thread_sem.cc.o
[100/148] Compiling C++ object subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_waiter.cc.o
[101/148] Compiling C++ object subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_notification.cc.o
[102/148] Compiling C++ object subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_mutex.cc.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Build failed, check /home/sekret/.chroot/sekret/build

kozaki commented on 2021-07-28 16:27 (UTC) (edited on 2021-07-28 16:27 (UTC) by kozaki)

@a821 Detailed explanations with explicite links much appreciated here, thank you! ...even so too lazy to do the clean chroot this month.
@artafinde: at least I saw it ;)

  -> Downloading static-fmt.patch...

tallero commented on 2021-07-23 22:04 (UTC)

please add pentium4 arch

schimicata commented on 2021-07-23 07:03 (UTC)

@artafinde: thx, that worked out!

artafinde commented on 2021-07-22 17:09 (UTC)

@schimicata: Rebuild the package and show full logs (preferably in a clean chroot).

schimicata commented on 2021-07-22 17:00 (UTC) (edited on 2021-07-22 17:01 (UTC) by schimicata)

I'm getting always this error, using auracle: "auracle: symbol lookup error: auracle: undefined symbol: _ZTIN3fmt2v712format_errorE"

philo commented on 2021-07-21 17:51 (UTC)

Easiest way to notfify users that a pkg has changed is still to change the version/release numbers.

bergentroll commented on 2021-07-20 10:29 (UTC)

Yes, but package actually had been changed, not upstream.

artafinde commented on 2021-07-20 10:25 (UTC)

Rebuilding -git packages is common practice in AUR.

philo commented on 2021-07-20 07:04 (UTC)

Since March 2021, the PKGBUILD had changes but the package version/release numbers remain unchanged?

artafinde commented on 2021-07-18 15:12 (UTC)

static fmt pactch added.

a821 commented on 2021-07-17 19:26 (UTC)

@kozaki: the issue is that fmt is an automagic dependency (fifth paragraph), which means you will get different results whether or not fmt is installed. To avoid this, you can build in a clean chroot (not ideal but IMHO good practice).

The other solution is too disable dynamic linking by patching auracle's meson or something, but this has to be escalated to upstream, which has gone stale... (patches are welcome??)

kozaki commented on 2021-07-17 18:34 (UTC)

@artafinde I use no AUR helper (beside auracle). The error I reported happened running makepkg manually on auracle-git PKGBUILD, with then without fmt installed. So I dunno what I'm missing.

artafinde commented on 2021-07-16 10:41 (UTC)

TLDR: A rebuild in clean chroot will force fmt being statically linked.

a821: I didn't say I don't recognize or not acknowledge the issue. The reason this happened is fmt changed major version recently and so the libfmt.so.7 changed to libfmt.so.8 and "broke" auracle because the runtime dependency changed - makes perfect sense and expected - and users are expected to rebuild the AUR package. Now why would you remove fmt after you rebuild auracle, if you had it installed before, is beyond me and I can't understand it.

Upstream project is stale so I'm doing my best to keep the package working.

a821 commented on 2021-07-16 08:36 (UTC)

@artafinde: It seems that @xaad and @kozaki are correct; auracle will not download fmt if it is present in the system and it will be linked dynamically. I can easily reproduce it by compiling auracle in a clean chroot with fmt in it (see below). I guess a flag has to be passed to meson so it does not try to detect system fmt and forces its downloading (no idea how to do that though).

Here I'm building with fmt and base-devel. The configuration files are the ones extra-x86_64-build uses.

$ mkarchroot -C /usr/share/devtools/pacman-extra.conf -M /usr/share/devtools/makepkg-x86_64.conf /mnt/chroot/root base-devel fmt
...
$ makechrootpkg -r /mnt/chroot
...
Run-time dependency fmt found: YES 8.0.0
...
$ namcap auracle-git-r366.8739929-1-x86_64.pkg.tar.zst
auracle-git W: Referenced library 'libfmt.so.8' is an uninstalled dependency
auracle-git W: Dependency included and not needed ('libcurl.so')

Here you see fmt is found and it was not downloaded. The final package is linked to auracle as reported by namcap (you can check with ldd I guess). Compare building in a clean chroot with only base-devel

$ mkarchroot -C /usr/share/devtools/pacman-extra.conf -M /usr/share/devtools/makepkg-x86_64.conf /mnt/chroot/root base-devel 
...
$ makechrootpkg -r /mnt/chroot
...
Run-time dependency fmt found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency fmt
Downloading fmt source from https://github.com/fmtlib/fmt/archive/7.0.1.tar.gz
Downloading file of unknown size.
Downloading fmt patch from https://github.com/mesonbuild/fmt/releases/download/7.0.1-1/fmt.zip
Download size: 1238
Downloading: ..........

Executing subproject fmt

fmt| Project name: fmt
fmt| Project version: 7.0.1
fmt| C++ compiler for the host machine: c++ (gcc 11.1.0 "c++ (GCC) 11.1.0")
fmt| C++ linker for the host machine: c++ ld.bfd 2.36.1
fmt| Build targets in project: 1
fmt| Subproject fmt finished.

Dependency fmt from subproject subprojects/fmt-7.0.1 found: YES 7.0.1
...

$ namcap auracle-git-r366.8739929-1-x86_64.pkg.tar.zst
auracle-git W: Dependency included and not needed ('libcurl.so')

here fmt is downloaded automatically as expected and is linked statically (namcap does not report it)

Full logs with fmt: http://sprunge.us/UO2Jk6 Full logs without fmt: http://sprunge.us/NmjcO4

PS: I deleted the chroot dir between tries.

artafinde commented on 2021-07-15 21:05 (UTC)

kozaki: I'm not sure what aur helper you might be using which does this described workflow, but fmt is not listed as dependency because auracle build tool will download it and statically link it (for reasons explained in pinned comment).

kozaki commented on 2021-07-15 17:36 (UTC)

Continuing where xaap resolved his or her own issue:

  1. Read pinned comment twice (may not be enough) ;)
  2. Have fmt installed.
  3. Build auracle-git and update it succesfully.
  4. Run auracle clone [AUR_application]: error while loading shared libraries: libfmt.so.7: cannot open shared object file: No such file or directory.
  5. Uninstall fmt (removing dependencies as reported by pacman).
  6. Rebuilding auracle-git (does not pull fmt, only deps fakechroot, gtest & meson).
  7. Same result as step 3.

artafinde commented on 2021-07-11 14:33 (UTC)

L0ric0: Seems fine to me, remove your aur helper cache and rebuild. If problem persists paste your full makepkg logs (in a pastebin)

Xaap: seems like you resolved your issue.

L0ric0 commented on 2021-07-11 11:04 (UTC)

the sha256sum for the abseil-fix.patch seems to be wrong

Xaap commented on 2021-07-10 21:20 (UTC) (edited on 2021-07-10 21:21 (UTC) by Xaap)

The dependencies are correct. fmt and nlohmann_json are configured as subprojects (...)

Well there's still some issue that I just run into:
1. Have fmt installed
2. Build auracle-git and install it
3. Uninstall fmt (no dependency break reported by pacman)
4. auracle is now broken
5. Rebuilding will eventually pull fmt as subproject and the issue goes away

Might still be some easy to fix case by simply requiring fmt as a depend?

artafinde commented on 2021-06-20 09:09 (UTC) (edited on 2021-06-20 09:11 (UTC) by artafinde)

@rekoil: Technically aarch64 is not on the supported arch list but if you want to compile it there the easiest way would be:

diff --git a/PKGBUILD b/PKGBUILD
index caec419..8d2851f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -43,6 +43,7 @@ build() {

   # Some tests fail with these enabled
   CFLAGS=${CFLAGS/,-D_GLIBCXX_ASSERTIONS/}
+  CFLAGS=${CFLAGS/armv8-a/armv8-a+crypto}
   CXXFLAGS="${CFLAGS}"
   meson build "${meson_args[@]}"

The explanation is that the abseil subproject defines properly the march if it detects you are in ARM architecture but meson then adds the CXXFLAGS from makepkg.conf after whatever the projects definitions and that makes the march set back to the one from makepkg.conf. Visible here:

[..] -march=armv8-a+crypto -march=armv8-a [..]

-march=armv8-a+crypto : from abseil subproject

-march=armv8-a : from makepkg.conf

rekoil commented on 2021-06-20 07:23 (UTC)

This does not build on aarch64 anymore.

[72/156] Compiling C++ object subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o
FAILED: subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o
c++ -Isubprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p -Isubprojects/abseil-cpp-20210324.1 -I../subprojects/abseil-cpp-20210324.1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -std=c++17 -Wno-sign-compare -march=armv8-a+crypto -march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fPIC -MD -MQ subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o -MF subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o.d -o subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o -c ../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc
In file included from ../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc:229:
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/include/arm_neon.h: In function ‘Vector128 {anonymous}::AesRound(const Vector128&, const Vector128&)’:
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/include/arm_neon.h:12321:1: error: inlining failed in call to ‘always_inline’ ‘uint8x16_t vaesmcq_u8(uint8x16_t)’: target specific option mismatch
12321 | vaesmcq_u8 (uint8x16_t data)
      | ^~~~~~~~~~
../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc:255:20: note: called from here
  255 |   return vaesmcq_u8(vaeseq_u8(state, uint8x16_t{})) ^ round_key;
      |          ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc:229:
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/include/arm_neon.h:12307:1: error: inlining failed in call to ‘always_inline’ ‘uint8x16_t vaeseq_u8(uint8x16_t, uint8x16_t)’: target specific option mismatch
12307 | vaeseq_u8 (uint8x16_t data, uint8x16_t key)
      | ^~~~~~~~~
../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc:255:20: note: called from here
  255 |   return vaesmcq_u8(vaeseq_u8(state, uint8x16_t{})) ^ round_key;
      |          ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

13ean commented on 2021-06-15 18:53 (UTC)

tallero: read the pinned comment.

tallero commented on 2021-06-15 17:50 (UTC)

Add nlohmann-json, pod2man deps.

artafinde commented on 2021-06-14 14:42 (UTC)

tallero: read the pinned comment.

tallero commented on 2021-06-14 12:38 (UTC)

can add architecture=any?

a821 commented on 2021-06-03 09:02 (UTC)

@haawda I tried today in the morning (~3h ago) and got the same checksum as you, but now it works again with checksum 'ca65cb7f...' github weirdness is going on...

haawda commented on 2021-06-02 20:00 (UTC)

I get 'bd0fbc1020a51bf24176221586935a59ee5dbc4b2b9e5d9c2d37f79626b7ad2b' as checksum for the patch.

martynjy commented on 2021-06-01 17:32 (UTC)

@artafinde Please unflag as it was my mistake.

martynjy commented on 2021-06-01 17:30 (UTC)

@13ean Thanks. Yes,should have checked! It does not require a specific pacman release, unlike 'pkgbrowser' and 'kalu-kde' which are broken.

13ean commented on 2021-06-01 15:06 (UTC)

@martynjy you should be able to just rebuild the package

martynjy commented on 2021-06-01 14:39 (UTC)

pacman 6.0.0-2 released.

'auracle: error while loading shared libraries: libalpm.so.12: cannot open shared object file: No such file or directory'

artafinde commented on 2021-05-29 09:42 (UTC)

@a821: cheers, dropped the gmock dependency.

a821 commented on 2021-05-29 06:51 (UTC)

Thanks for updating. Just one minor thing: gmock has been merged[1][2] with gtest, so you could remove gmock from checkdepends

[1] https://bugs.archlinux.org/task/70567 [2] https://github.com/archlinux/svntogit-community/commit/1d55644034217da69c046bd8555e20f3cf3bed57

artafinde commented on 2021-05-28 23:21 (UTC)

I've updated the package to build again with latest changes. Do note though that upstream seems abandoned so I'd be looking for alternatives..

plymouth commented on 2021-05-26 04:30 (UTC)

Until this package is updated for the out-dated-abseil/gcc11 build errors (see CantoroMC post below), you can build and install with the script:

#!/bin/sh

set -e

git clone https://aur.archlinux.org/auracle-git.git
#curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/auracle-git.tar.gz
#tar -xzf auracle-git.tar.gz
cd auracle-git
cat >./abseil-cpp-20210324.1.patch <<EOL
diff --unified --recursive --text src.orig/auracle/subprojects/abseil-cpp.wrap src/auracle/subprojects/abseil-cpp.wrap
--- src.orig/auracle/subprojects/abseil-cpp.wrap    2021-05-25 21:48:51.674595142 -0600
+++ src/auracle/subprojects/abseil-cpp.wrap 2021-05-25 21:48:59.411113648 -0600
@@ -1,11 +1,10 @@
 [wrap-file]
-directory = abseil-cpp-20200225.2
+directory = abseil-cpp-20210324.1

-source_url = https://github.com/abseil/abseil-cpp/archive/20200225.2.zip
-source_filename = abseil-cpp-20200225.2.zip
-source_hash = f342aac71a62861ac784cadb8127d5a42c6c61ab1cd07f00aef05f2cc4988c42
+source_url = https://github.com/abseil/abseil-cpp/archive/20210324.1.zip
+source_filename = abseil-cpp-20210324.1.zip
+source_hash = cfb1f22164808eb0a233ad91287df84c2af2084cfc8b429eca1be1e57511065d

-
-patch_url = https://github.com/mesonbuild/abseil-cpp/releases/download/20200225.2-2/abseil-cpp.zip
-patch_filename = abseil-cpp-20200225.2-2-wrap.zip
-patch_hash = cc2bc7caab91de737637ec7f8438455836a02b444d306b447d59573991717088
+patch_url = https://github.com/mesonbuild/abseil-cpp/releases/download/20210324.1-1/abseil-cpp.zip
+patch_filename = abseil-cpp-20210324.1-wrap.zip
+patch_hash = 91ff1bca7a181cd1cdd95b2bcf2119acbab9a24ae5ef6a78185a02fa034f41da
EOL
makepkg --nobuild
cd src/
patch --strip=1 < ../abseil-cpp-20210324.1.patch
cd ..
makepkg --noextract --nocheck
cp auracle-git-*.pkg.tar.zst ./..
cd ..
echo "SUCCESS. To install package: 'pacman -U ./$( ls auracle-git-*.pkg.tar.zst )'"

If you just want the patch file:

diff --unified --recursive --text src.orig/auracle/subprojects/abseil-cpp.wrap src/auracle/subprojects/abseil-cpp.wrap
--- src.orig/auracle/subprojects/abseil-cpp.wrap    2021-05-25 21:48:51.674595142 -0600
+++ src/auracle/subprojects/abseil-cpp.wrap 2021-05-25 21:48:59.411113648 -0600
@@ -1,11 +1,10 @@
 [wrap-file]
-directory = abseil-cpp-20200225.2
+directory = abseil-cpp-20210324.1

-source_url = https://github.com/abseil/abseil-cpp/archive/20200225.2.zip
-source_filename = abseil-cpp-20200225.2.zip
-source_hash = f342aac71a62861ac784cadb8127d5a42c6c61ab1cd07f00aef05f2cc4988c42
+source_url = https://github.com/abseil/abseil-cpp/archive/20210324.1.zip
+source_filename = abseil-cpp-20210324.1.zip
+source_hash = cfb1f22164808eb0a233ad91287df84c2af2084cfc8b429eca1be1e57511065d

-
-patch_url = https://github.com/mesonbuild/abseil-cpp/releases/download/20200225.2-2/abseil-cpp.zip
-patch_filename = abseil-cpp-20200225.2-2-wrap.zip
-patch_hash = cc2bc7caab91de737637ec7f8438455836a02b444d306b447d59573991717088
+patch_url = https://github.com/mesonbuild/abseil-cpp/releases/download/20210324.1-1/abseil-cpp.zip
+patch_filename = abseil-cpp-20210324.1-wrap.zip
+patch_hash = 91ff1bca7a181cd1cdd95b2bcf2119acbab9a24ae5ef6a78185a02fa034f41da

@falconindy @artafinde - thanks!

artafinde commented on 2021-05-23 09:42 (UTC)

That's correct, this is an upstream issue and the fix is to bump the abseil wrap to latest LTS version.

a821 commented on 2021-05-23 07:25 (UTC)

I can reproduce the error in a clean chroot. There's an open issue upstream.

The last comment suggests to bump the abseil-cpp subproject. I tried that, but the last meson.build file for abseil-cpp is for version 20200923.2, which is apparently older than the fix since I saw the same error. I guess one could try to update the meson.build

As a workaround, compiling with gcc10 works for me:

diff --git a/PKGBUILD b/PKGBUILD
index 4cd4132..e852c01 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,13 +1,13 @@
 pkgname=auracle-git
 _pkgname=auracle
 pkgver=r366.8739929
-pkgrel=1
+pkgrel=2
 pkgdesc='A flexible client for the AUR'
 arch=('x86_64' 'i686')
 url="https://github.com/falconindy/auracle.git"
 license=('MIT')
 depends=('pacman' 'libcurl.so' 'libsystemd')
-makedepends=('meson' 'git' 'perl' 'systemd')
+makedepends=('meson' 'git' 'perl' 'systemd' 'gcc10')
 checkdepends=('gtest' 'gmock')
 provides=("$_pkgname")
 conflicts=("$_pkgname")
@@ -21,6 +21,9 @@ pkgver() {
 }

 build() {
+  export CC=cc-10
+  export CXX=c++-10
+
   cd "$_pkgname"

   local meson_args=(

CantoroMC commented on 2021-05-22 16:51 (UTC) (edited on 2021-05-22 16:51 (UTC) by CantoroMC)

Building the package fails with error

ninja: Entering directory `build'
[92/148] Compiling C++ object subprojects/abseil-cpp-2...lib.a.p/absl_synchronization_internal_graphcycles.cc.o
FAILED: subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_graphcycles.cc.o
c++ -Isubprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p -Isubprojects/abseil-cpp-20200225.2 -I../subprojects/abseil-cpp-20200225.2 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++17 -Wno-sign-compare -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -D_FORTIFY_SOURCE=2 -fPIC -MD -MQ subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_graphcycles.cc.o -MF subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_graphcycles.cc.o.d -o subprojects/abseil-cpp-20200225.2/libabsl_synchronization_lib.a.p/absl_synchronization_internal_graphcycles.cc.o -c ../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc
../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc: In member function ‘void absl::lts_2020_02_25::synchronization_internal::GraphCycles::RemoveNode(void*)’:
../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:451:26: error: ‘numeric_limits’ is not a member of ‘std’
  451 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
      |                          ^~~~~~~~~~~~~~
../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:451:49: error: expected primary-expression before ‘>’ token
  451 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
      |                                                 ^
../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:451:52: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  451 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
      |                                                    ^~~
      |                                                    std::max
In file included from /usr/include/c++/11.1.0/algorithm:62,
                 from ../subprojects/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:38:
/usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
[101/148] Compiling C++ object subprojects/abseil-cpp-...ynchronization_lib.a.p/absl_synchronization_mutex.cc.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...

artafinde commented on 2021-04-07 09:42 (UTC)

jaap: read the pinned comment.

jaap commented on 2021-04-07 09:37 (UTC)

Could you please add pod2man as a dependency. I am not sure what you mean my a mis configuration, its just a missing package on my system. Installing the package fixes it, its simple as that.

dreieck commented on 2021-03-08 17:19 (UTC)

Can you change the dependency libsystemd.so to libsystemd? So there is also compatibility with Artix Linux, which is not based on systemd (but contains some compatibility layers).

a821 commented on 2021-02-25 09:35 (UTC)

@shizcow: read pinned comment

shizcow commented on 2021-02-25 03:33 (UTC)

Missing build dependency pod2man

sandsmark commented on 2021-02-12 11:50 (UTC) (edited on 2021-02-12 11:54 (UTC) by sandsmark)

build() tries to download source code (bypassing the checksums and whatnot, and fails if you try to build offline after makepkg -o online)

(and fwiw, stable ABIs in C++ is fairly common (at least for "serious" libraries), Qt preserves backwards compatible ABI for all major versions, so qt5 has had it for 8 years and counting, same with all the KF5 libraries)

artafinde commented on 2021-01-19 10:32 (UTC)

@dr460nf1r3: Can't reproduce this - weird - https://gist.github.com/e5412ae9334a77437e0ee672a6fa4971

dr460nf1r3 commented on 2021-01-19 08:39 (UTC)

Well even though this might be provided by perl, in a clean chroot this wouldnt build without pod2man.

artafinde commented on 2021-01-11 18:48 (UTC) (edited on 2021-01-11 18:51 (UTC) by artafinde)

@dr460nf1r3:pod2man provided from perl - see comment-745278

dr460nf1r3 commented on 2021-01-11 18:32 (UTC)

Program pod2man found: NO meson.build:59:0: ERROR: Program 'pod2man' not found

Alad commented on 2021-01-01 13:27 (UTC)

Libgxps: read the pinned comment.

Libgxps commented on 2020-12-01 09:49 (UTC)

Please add the aarch64 architecture or make it any. It builds quite nicely. Thank you for your support.

a821 commented on 2020-10-14 20:05 (UTC)

Neither cmake nor clang are required. Do you have base-devel installed?

kevr commented on 2020-10-14 09:22 (UTC)

makedepends doesn't include cmake or gcc/clang and the build complains.

redfish commented on 2020-08-22 22:16 (UTC)

If you get this error when building for ARM aarch64:

In file included from ../subprojects/abseil-cpp-20200225.2/absl/random/internal/randen_hwaes.cc:225:
/usr/lib/gcc/aarch64-unknown-linux-gnu/9.3.0/include/arm_neon.h: In function 'Vector128 {anonymous}::AesRound(const Vector128&, const Vector128&)':
/usr/lib/gcc/aarch64-unknown-linux-gnu/9.3.0/include/arm_neon.h:12452:1: error: inlining failed in call to always_inline 'uint8x16_t vaesmcq_u8(uint8x16_t)': target specific option mismatch
12452 | vaesmcq_u8 (uint8x16_t data)

Then check that in /etc/makepkg.conf CFLAGS and CXXFLAGS have the +crypto suffix in -march flag, like -march=armv8-a+crypto (the base identifier may very depending on your hardware)

Build of abseil-cpp package works because it uses CMake which adds the correct -march flag regardless of makepkg.conf, whereas when abseil-cpp is build as a subproject within this package, it uses meson, which does not add the flag and thus fails with the above error.

csts commented on 2020-08-10 11:35 (UTC)

Never mind. I reinstalled Auracle using yay and everything is fine now.

csts commented on 2020-08-10 11:06 (UTC)

I use pacaur that uses Auracle and today I get:

auracle: error while loading shared libraries: libfmt.so.6: cannot open shared object file: No such file or directory

fmt is installed, and Auracle worked fine yesterday, any solutions?

falconindy commented on 2020-08-08 23:52 (UTC)

I fully appreciate you ignoring the pinned comment.

shizcow commented on 2020-08-08 23:41 (UTC)

I was able to successfully build this package on a clean armv7h system with no problems. This was done with makepkg -A.

Missing build dependencies: pkg-config, clang (or other C++ compiler)

a821 commented on 2020-06-20 07:46 (UTC) (edited on 2020-06-20 08:15 (UTC) by a821)

Post the full logs, not the logs you think are relevant. Is your system up to date? Otherwise try to build in a clean chroot.

Edit: did you ever sudo pip install?

the-pete commented on 2020-06-20 03:50 (UTC)

Missed the log:

Log of Meson test suite run on 2020-06-19T17:28:05.858629

Inherited environment: SHELL='/bin/bash' SESSION_MANAGER='local/billie:@/tmp/.ICE-unix/1143,unix/billie:/tmp/.ICE-unix/1143' NVM_RC_VERSION='' COLORTERM='truecolor' HISTCONTROL='ignorespace' XDG_MENU_PREFIX='gnome-' HISTSIZE='10000' TEXTDOMAINDIR='/usr/share/locale' SSH_AUTH_SOCK='/home/user/.ssh/SSH-Agent-Socket' IRCNICK='the-pete' XMODIFIERS='@im=ibus' DESKTOP_SESSION='gnome' SSH_AGENT_PID='3398' EDITOR='/usr/bin/vim' PWD='/home/user/working/auracle/auracle-git/src' SOURCE_DATE_EPOCH='1592612816' XDG_SESSION_DESKTOP='gnome' LOGNAME='user' XDG_SESSION_TYPE='wayland' CXXFLAGS='-march=x86-64 -mtune=generic -O2 -pipe -fno-plt' XAUTHORITY='/run/user/1000/.mutter-Xwaylandauth.QD5EM0' TZ='UTC' GJS_DEBUG_TOPICS='JS ERROR;JS LOG' GDM_LANG='en_US.UTF-8' COMMAND_MODE='legacy' LDFLAGS='-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' HOME='/home/user' USERNAME='user' LANG='en_US.UTF-8' XDG_CURRENT_DESKTOP='GNOME' VTE_VERSION='6003' WAYLAND_DISPLAY='wayland-0' GNOME_TERMINAL_SCREEN='/org/gnome/Terminal/screen/9db57823_42f6_4785_9b75_abbbac36bbb5' CPPFLAGS='-D_FORTIFY_SOURCE=2' INVOCATION_ID='2ce64f56dd6f48c5a060ae6c768a7c31' MANAGERPID='1094' GJS_DEBUG_OUTPUT='stderr' NVM_DIR='/home/user/.nvm' GNOME_SETUP_DISPLAY=':1' XDG_SESSION_CLASS='user' TERM='xterm-256color' USER='user' GNOME_TERMINAL_SERVICE=':1.97' DISPLAY=':0' SHLVL='2' NVM_CD_FLAGS='' PAGER='/usr/bin/less' QT_IM_MODULE='ibus' MOZ_PLUGIN_PATH='/usr/lib/mozilla/plugins' XDG_RUNTIME_DIR='/run/user/1000' JOURNAL_STREAM='9:31008' XDG_DATA_DIRS='/home/user/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/' CHOST='x86_64-pc-linux-gnu' PATH='/home/user/.gem/ruby/2.7.0/bin:/home/user/bin:/home/user/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl' GDMSESSION='gnome' CFLAGS='-march=x86-64 -mtune=generic -O2 -pipe -fno-plt' DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/1000/bus' MAIL='/var/spool/mail/user' OLDPWD='/home/user/working/auracle/auracle-git/src/auracle' TEXTDOMAIN='pacman-scripts' _='/usr/bin/meson'

the-pete commented on 2020-06-20 03:49 (UTC)

s/tester -v/gtester -v/ That seems like it's not relevant here. I don't have venv installed on this box. I can attach the head of the menson log with the env, i'm not seeing other logs that are relevant. The last half of that log is attached to the previous comment.

(03:41) <billie> [/home/user/working $ which pyenv
which: no pyenv in (/home/user/.gem/ruby/2.7.0/bin:/home/user/bin:/home/user/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
(03:41) <billie> [/home/user/working $ sudo updatedb && locate pyenv
(03:42) <billie> [/home/user/working $

falconindy commented on 2020-06-20 01:14 (UTC)

The gtest-based tests look fine based on what you've posted. The integration tests are python. My guess is you've got something going on with a virtualenv, but I have no idea without logs. The regex_search test failure looks separately suspicious since it's aborting via an exception.

No idea what 'tester' is at the end of your output.

the-pete commented on 2020-06-20 01:06 (UTC) (edited on 2020-06-20 01:07 (UTC) by the-pete)

I'm having trouble building since the last week or two. System is up to date but the gtest tests are timing out.

 6/17 libauracle_sort_test                   OK             0.01s
 7/17 auracle_buildorder_integration_test    TIMEOUT        30.02s
 8/17 auracle_clone_integration_test         TIMEOUT        30.01s
 9/17 auracle_custom_format_integration_test TIMEOUT        30.02s
10/17 auracle_info_integration_test          TIMEOUT        30.02s
11/17 auracle_outdated_integration_test      TIMEOUT        30.03s
12/17 auracle_raw_query_integration_test     TIMEOUT        30.05s
13/17 auracle_regex_search_integration_test  FAIL           10.85s (exit status 1)
14/17 auracle_search_integration_test        TIMEOUT        30.07s
15/17 auracle_show_integration_test          TIMEOUT        30.01s
16/17 auracle_sort_integration_test          TIMEOUT        30.02s
17/17 auracle_update_integration_test        TIMEOUT        30.03s

 7/17 auracle_buildorder_integration_test    TIMEOUT        30.02s

--- command ---
00:28:05 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/buildorder.py
--- stderr ---
FF
-------

 8/17 auracle_clone_integration_test         TIMEOUT        30.01s

--- command ---
00:28:05 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/clone.py
--- stderr ---
FF
-------

 9/17 auracle_custom_format_integration_test TIMEOUT        30.02s

--- command ---
00:28:05 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/custom_format.py
--- stderr ---
FF
testInvalidFormat (__main__.TestInfo) (0.0832s)
-------

10/17 auracle_info_integration_test          TIMEOUT        30.02s

--- command ---
00:28:05 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/info.py
--- stderr ---
F
testExitFailureOnNotFound (__main__.TestInfo) (10.1s)
-------

11/17 auracle_outdated_integration_test      TIMEOUT        30.03s

--- command ---
00:28:35 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/outdated.py
--- stderr ---

testExitsNonZeroWithoutUpgrades (__main__.TestDownload) (10.0s)F
-------

12/17 auracle_raw_query_integration_test     TIMEOUT        30.05s

--- command ---
00:28:35 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/raw_query.py
--- stderr ---
FF
-------

13/17 auracle_regex_search_integration_test  FAIL           10.85s (exit status 1)

--- command ---
00:28:35 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/regex_search.py
--- stderr ---

testFragmentTooShort (__main__.TestRegexSearch) (0.0378s)
testInvalidRegex (__main__.TestRegexSearch) (0.0263s)F
======================================================================
FAIL: testMultipleSearchesWithFiltering (__main__.TestRegexSearch)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/working/auracle/auracle-git/src/auracle/tests/regex_search.py", line 25, in testMultipleSearchesWithFiltering
    self.assertEqual(r.process.returncode, 0)
AssertionError: -6 != 0

----------------------------------------------------------------------
Ran 3 tests in 10.490s

FAILED (failures=1)
-------

14/17 auracle_search_integration_test        TIMEOUT        30.07s

--- command ---
00:28:35 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/search.py
--- stderr ---

testExitFailureOnAurError (__main__.TestSearch) (10.0s)F
-------

15/17 auracle_show_integration_test          TIMEOUT        30.01s

--- command ---
00:28:46 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/show.py
--- stderr ---
FF
-------

16/17 auracle_sort_integration_test          TIMEOUT        30.02s

--- command ---
00:29:05 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/sort.py
--- stderr ---

testRSortByInvalidKey (__main__.SortTest) (0.0223s)FF
testSortByInvalidKey (__main__.SortTest) (0.0171s)
-------

17/17 auracle_update_integration_test        TIMEOUT        30.03s

--- command ---
00:29:05 PYTHONDONTWRITEBYTECODE='1' /usr/bin/python3 /home/working/auracle/auracle-git/src/auracle/tests/update.py
--- stderr ---

testExitsNonZeroWithoutUpgrades (__main__.TestDownload) (10.0s)F
-------


Ok:                 6   
Expected Fail:      0   
Fail:               1   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            10

tester -v
gtester version 2.64.3

Let me know if I can help provide more info. On IRC under the same name.

Un1Gfn commented on 2020-06-17 13:49 (UTC) (edited on 2020-06-17 13:54 (UTC) by Un1Gfn)

With all due respect to your subprojects approach but access to them are either inaccessible or unstable here w/o proxy. And by "here" I mean places taking up at least 27% of the whole world's population.

Would you be so kind as to do the following so that we could proxychains -q makepkg --nobuild and makepkg -si separately?

proxychains -q makepkg -si directly would be insane because proxychains hijacks the libraries and produces garbage build outputs.

Many a thanks.

diff --git a/PKGBUILD b/PKGBUILD
index cf47e27..7ef3657 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,14 @@
+# Maintainer: Dave Reisner <dreisner AT archlinux.org>
+
+_sAS="abseil-cpp.zip"
+_sAP="abseil-cpp-wrap.zip"
+_sFS="fmt.tar.gz"
+_sFP="fmt-wrap.zip"
+_sNS="nlohmann_json.zip"
+
 pkgname=auracle-git
 _pkgname=auracle
-pkgver=r316.dfbd170
+pkgver=r333.83acb95
 pkgrel=1
 pkgdesc='A flexible client for the AUR'
 arch=('x86_64' 'i686')
@@ -11,8 +19,40 @@ makedepends=('meson' 'git' 'perl' 'systemd')
 checkdepends=('gtest' 'gmock')
 provides=("$_pkgname")
 conflicts=("$_pkgname")
-source=("git+https://github.com/falconindy/auracle.git")
-sha256sums=('SKIP')
+source=(
+  # grep https src/auracle/subprojects/*.wrap
+     "git+https://github.com/falconindy/auracle.git"
+  "$_sAS::https://github.com/abseil/abseil-cpp/archive/20200225.2.zip"
+  "$_sAP::https://github.com/mesonbuild/abseil-cpp/releases/download/20200225.2-1/abseil-cpp.zip"
+  "$_sFS::https://github.com/fmtlib/fmt/archive/6.2.0.tar.gz"
+  "$_sFP::https://github.com/mesonbuild/fmt/releases/download/6.2.0-1/fmt.zip"
+  "$_sNS::https://github.com/nlohmann/json/releases/download/v3.7.3/include.zip"
+)
+noextract=(
+  "$_sAS"
+  "$_sAP"
+  "$_sFS"
+  "$_sFP"
+  "$_sNS"
+)
+sha256sums=(
+  'SKIP'
+  'SKIP'
+  'SKIP'
+  'SKIP'
+  'SKIP'
+  'SKIP'
+)
+
+prepare() {
+  # subl src/auracle/subprojects/*.wrap
+  cd "$srcdir/auracle/subprojects/"
+  sed -i    "abseil-cpp.wrap" -e "s#source_url.*#source_url = file://$srcdir/$_sAS#g" \
+                              -e   "s#patch_url.*#patch_url = file://$srcdir/$_sAP#g"
+  sed -i           "fmt.wrap" -e "s#source_url.*#source_url = file://$srcdir/$_sFS#g" \
+                              -e   "s#patch_url.*#patch_url = file://$srcdir/$_sFP#g"
+  sed -i "nlohmann_json.wrap" -e "s#source_url.*#source_url = file://$srcdir/$_sNS#g"
+}

 pkgver() {
   cd "$_pkgname"

ftheile commented on 2020-06-16 05:22 (UTC)

@rarvolt I had the same issue on an less-frequently updated Arch Linux system today. After a system update, everything went fine. Amongst others, gtest was updated from 1.8.1-3 -> 1.10.0-1.

falconindy commented on 2020-06-15 11:36 (UTC)

I don't support Manjaro. They're shipping an old version of gtest.

rarvolt commented on 2020-06-15 11:33 (UTC) (edited on 2020-06-15 11:34 (UTC) by rarvolt)

Can't build auracle on fresh install of Manjaro:

The Meson build system
Version: 0.54.2
Source dir: /home/rarvolt/AUR/auracle-git/src/auracle
Build dir: /home/rarvolt/AUR/auracle-git/src/auracle/build
Build type: native build
Project name: auracle
Project version: 0
Using 'CXXFLAGS' from environment with value: '-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt'
Using 'LDFLAGS' from environment with value: '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Using 'CPPFLAGS' from environment with value: '-D_FORTIFY_SOURCE=2'
Using 'CXXFLAGS' from environment with value: '-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt'
Using 'LDFLAGS' from environment with value: '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Using 'CPPFLAGS' from environment with value: '-D_FORTIFY_SOURCE=2'
C++ compiler for the host machine: c++ (gcc 10.1.0 "c++ (GCC) 10.1.0")
C++ linker for the host machine: c++ ld.bfd 2.34.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -ffunction-sections: YES 
Compiler for C++ supports arguments -fdata-sections: YES 
Compiler for C++ supports link arguments -Wl,--gc-sections: YES 
Found pkg-config: /usr/bin/pkg-config (1.7.3)
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency nlohmann_json found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency nlohmann_json
Downloading nlohmann_json source from https://github.com/nlohmann/json/releases/download/v3.7.3/include.zip
Download size: 280969
Downloading: ..........

|Executing subproject nlohmann_json method meson 
|
|Project name: nlohmann_json
|Project version: 3.7.3
|C++ compiler for the host machine: c++ (gcc 10.1.0 "c++ (GCC) 10.1.0")
|C++ linker for the host machine: c++ ld.bfd 2.34.0
|Build targets in project: 0
|Subproject nlohmann_json finished.

Dependency nlohmann_json from subproject subprojects/nlohmann_json found: YES 3.7.3
Run-time dependency libalpm found: YES 12.0.1
Run-time dependency libcurl found: YES 7.70.0
Run-time dependency fmt found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency fmt
Downloading fmt source from https://github.com/fmtlib/fmt/archive/6.2.0.tar.gz
Downloading file of unknown size.
Downloading fmt patch from https://github.com/mesonbuild/fmt/releases/download/6.2.0-1/fmt.zip
Download size: 1078
Downloading: ..........

|Executing subproject fmt method meson 
|
|Project name: fmt
|Project version: 6.2.0
|C++ compiler for the host machine: c++ (gcc 10.1.0 "c++ (GCC) 10.1.0")
|C++ linker for the host machine: c++ ld.bfd 2.34.0
|Build targets in project: 1
|Subproject fmt finished.

Dependency fmt from subproject subprojects/fmt found: YES 6.2.0
Run-time dependency libsystemd found: YES 245
Run-time dependency GTest found: YES 1.8.1
Run-time dependency GMock found: YES 1.8.1
Downloading abseil-cpp source from https://github.com/abseil/abseil-cpp/archive/20200225.2.zip
Downloading file of unknown size.
Downloading abseil-cpp patch from https://github.com/mesonbuild/abseil-cpp/releases/download/20200225.2-1/abseil-cpp.zip
Download size: 2585
Downloading: ..........

|Executing subproject abseil-cpp method meson 
|
|Project name: abseil-cpp
|Project version: 20200225.2
|C++ compiler for the host machine: c++ (gcc 10.1.0 "c++ (GCC) 10.1.0")
|C++ linker for the host machine: c++ ld.bfd 2.34.0
|Compiler for C++ supports arguments -Wno-sign-compare -Wsign-compare: YES 
|Run-time dependency threads found: YES
|Build targets in project: 13
|Subproject abseil-cpp finished.

Program pod2man found: YES (/usr/bin/core_perl/pod2man)
Program python3 found: YES (/usr/bin/python3)
Build targets in project: 26

auracle 0

  Subprojects
       abseil-cpp: YES
              fmt: YES
    nlohmann_json: YES

Found ninja-1.10.0 at /usr/bin/ninja
ninja: Entering directory `build'
[134/150] Compiling C++ object...xe/src_auracle_sort_test.cc.o'
FAILED: sort_test@exe/src_auracle_sort_test.cc.o 
c++ -Isort_test@exe -I. -I.. -I../src -Isubprojects/abseil-cpp-20200225.2 -I../subprojects/abseil-cpp-20200225.2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++17 '-DPROJECT_VERSION="0"' -ffunction-sections -fdata-sections -march=x86-64 -mtune=generic -O2 -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -pthread -DGTEST_HAS_PTHREAD=1 -MD -MQ 'sort_test@exe/src_auracle_sort_test.cc.o' -MF 'sort_test@exe/src_auracle_sort_test.cc.o.d' -o 'sort_test@exe/src_auracle_sort_test.cc.o' -c ../src/auracle/sort_test.cc
../src/auracle/sort_test.cc:110:25: error: expected constructor, destructor, or type conversion before ‘(’ token
  110 | INSTANTIATE_TEST_SUITE_P(BothOrderings, SortOrderTest,
      |                         ^
../src/auracle/sort_test.cc:121:27: error: expected unqualified-id before ‘)’ token
  121 |                          });
      |                           ^
[141/150] Compiling C++ object...@sta/src_auracle_auracle.cc.o'
ninja: build stopped: subcommand failed.

falconindy commented on 2020-05-31 15:35 (UTC)

FAQ:

  • The dependencies are correct. fmt and nlohmann_json are configured as subprojects for ease of development on my end, and it's only natural to statically link C++ projects, as ABI stability with exported C++ libraries isn't a thing (compared to C).
  • If you think pod2man is missing, it's a configuration problem on your end. pod2man is part of the perl package, but in a perl-specific PATH handled by /etc/profile.d/perlbin.sh
  • I'm only able to test auracle on i686 and x86_64, so that's what I'm willing to commit to in the PKGBUILD. If you want to build this on some other architecture, use makepkg -A. The "any" architecture is reserved for packages with architecture independent files (and compiled C++ is not).

falconindy commented on 2020-05-25 21:13 (UTC)

fmt is something of a moving target in terms of API, and ABI stability isn't a thing with exported c++ libraries. Therefore, for my own sanity, working with an embedded fmt that I can guarantee compiles with current auracle is ideal.

Long term, the dep will go away and I'll move to std::format.

yshui commented on 2020-05-25 17:00 (UTC)

While it's indeed not, why download it when you can pull it in as a dependency?

falconindy commented on 2020-05-22 22:39 (UTC)

No, it's not.

bartus commented on 2020-05-22 21:55 (UTC)

fmt missing from makedepends

falconindy commented on 2020-05-14 20:18 (UTC)

And what package is pod2man part of?

I'll answer that for you. It's perl. It's in the makedepends already. It's not part of the standard PATH, but /etc/profile.d/perlbin.sh ensures you have this available.

miguelmsoler commented on 2020-05-14 19:53 (UTC) (edited on 2020-05-14 19:56 (UTC) by miguelmsoler)

Hi, I thing there is a missing dependency: pod2man. After installing it, everything runs smoothly.

This is my log for the error:

⇒  makepkg -i PKGBUILD --noconfirm -L --clean --syncdeps
==> Making package: auracle-git r316.dfbd170-1 (Thu 14 May 2020 04:51:04 PM -03)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating auracle git repo...
Fetching origin
==> Validating source files with sha256sums...
    auracle ... Skipped
==> Extracting sources...
  -> Creating working copy of auracle git repo...
Reset branch 'makepkg'
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
The Meson build system
Version: 0.54.1
Source dir: /home/miguelmsoler/.cache/aurutils/sync/auracle-git/src/auracle
Build dir: /home/miguelmsoler/.cache/aurutils/sync/auracle-    git/src/auracle/build
Build type: native build
Project name: auracle
Project version: 0
Using 'CXXFLAGS' from environment with value: '-march=x86-64 -mtune=generic     -O2 -pipe -fno-plt'
Using 'LDFLAGS' from environment with value: '-Wl,-O1,--sort-common,--as-    needed,-z,relro,-z,now'
Using 'CPPFLAGS' from environment with value: '-D_FORTIFY_SOURCE=2'
Using 'CXXFLAGS' from environment with value: '-march=x86-64 -mtune=generic     -O2 -pipe -fno-plt'
Using 'LDFLAGS' from environment with value: '-Wl,-O1,--sort-common,--as-    needed,-z,relro,-z,now'
Using 'CPPFLAGS' from environment with value: '-D_FORTIFY_SOURCE=2'
C++ compiler for the host machine: c++ (gcc 10.1.0 "c++ (GCC) 10.1.0")
C++ linker for the host machine: c++ ld.bfd 2.34.50.20200508
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -ffunction-sections: YES 
Compiler for C++ supports arguments -fdata-sections: YES 
Compiler for C++ supports link arguments -Wl,--gc-sections: YES 
Found pkg-config: /usr/sbin/pkg-config (1.6.3)
Found CMake: /usr/sbin/cmake (3.17.2)
Using 'CFLAGS' from environment with value: '-march=x86-64 -mtune=generic -    O2 -pipe -fno-plt'
Using 'LDFLAGS' from environment with value: '-Wl,-O1,--sort-common,--as-    needed,-z,relro,-z,now'
Using 'CPPFLAGS' from environment with value: '-D_FORTIFY_SOURCE=2'
Run-time dependency nlohmann_json found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency nlohmann_json

|Executing subproject nlohmann_json method meson 
|
|Project name: nlohmann_json
|Project version: 3.7.1
|C++ compiler for the host machine: c++ (gcc 10.1.0 "c++ (GCC) 10.1.0")
|C++ linker for the host machine: c++ ld.bfd 2.34.50.20200508
|Build targets in project: 0
|Subproject nlohmann_json finished.

Dependency nlohmann_json from subproject subprojects/nlohmann_json found:     YES 3.7.1
Run-time dependency libalpm found: YES 12.0.1
Run-time dependency libcurl found: YES 7.70.0
Run-time dependency fmt found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency fmt

|Executing subproject fmt method meson 
|
|Project name: fmt
|Project version: 6.0.0
|C++ compiler for the host machine: c++ (gcc 10.1.0 "c++ (GCC) 10.1.0")
|C++ linker for the host machine: c++ ld.bfd 2.34.50.20200508
|Build targets in project: 1
|Subproject fmt finished.

Dependency fmt from subproject subprojects/fmt found: YES 6.0.0
Run-time dependency libsystemd found: YES 245
Run-time dependency GTest found: YES 1.8.1
Run-time dependency GMock found: YES 1.8.1
Library stdc++fs found: YES
Program pod2man found: NO

meson.build:38:0: ERROR: Program(s) ['pod2man'] not found or not executable

yshui commented on 2020-05-14 14:22 (UTC)

Thanks.

falconindy commented on 2020-05-14 12:56 (UTC)

systemd is now in makedepends.

a821 commented on 2020-05-13 17:46 (UTC)

Here is my failed build log http://sprunge.us/ouCwpA and the respective meson logs http://sprunge.us/gphjVq. Note I'm using extra-x86_64-build which only installs base-devel AFAICT. Also, the wiki (https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_clean_chroot#Classic_way) does not mention base, only base-devel. Maybe the wiki is wrong :-P

FWIW, my last auracle clean-build on 2020.04.27 was successful.

yshui commented on 2020-05-13 15:05 (UTC)

Thanks for looking into this. Now I tried again, nlohmann_json is indeeded downloaded, but it wasn't last time, and I did rerun the build to make sure. Maybe a transient network failure?

systemd is in base, but it is not in base-devel, which is what I created my chroot with.

falconindy commented on 2020-05-13 14:31 (UTC) (edited on 2020-05-13 14:31 (UTC) by falconindy)

Here's a build log in a clean chroot (using makechrootpkg -C -r $root):

https://0x0.st/iL8e.txt

You'll notice that:

a) systemd is part of base, so it's implied (base is mandatory: https://www.archlinux.org/news/base-group-replaced-by-mandatory-base-package-manual-intervention-required/).

b) nlohmann_json is downloaded by meson as part of the build.

What am I missing?

AndyRTR commented on 2020-05-13 13:40 (UTC)

me2 - clean chroot fails here:

Determining dependency 'libsystemd' with pkg-config executable '/usr/bin/pkg-config' PKG_CONFIG_PATH: Called /usr/bin/pkg-config --modversion libsystemd -> 1 ... Run-time dependency libsystemd found: NO (tried pkgconfig and cmake)

meson.build:33:0: ERROR: Dependency "libsystemd" not found, tried pkgconfig and cmake

Probably because /usr/share/pkgconfig/systemd.pc is part of systemd package and not inliced in systemd-libs. Adding systemd to makedepends solves this.

yshui commented on 2020-05-13 13:37 (UTC) (edited on 2020-05-13 13:39 (UTC) by yshui)

Dependencies are incorrect, which you can easily verify using makechrootpkg with a fresh chroot. Whether you want to fix it is up to you.

Also, you wrote the code yourself, how could you not know what are the dependencies? (https://github.com/falconindy/auracle/blob/master/meson.build#L25)

falconindy commented on 2020-05-13 11:24 (UTC)

Dependencies are correct. If you think otherwise, you'll need to provide a log showing the makepkg invocation and subsequent failure.

a821 commented on 2020-05-13 08:05 (UTC)

As of today (2020/05/13) the package fails to build in a clean chroot, unless I add systemd in the makedepends array.

yshui commented on 2020-05-13 00:07 (UTC) (edited on 2020-05-13 00:09 (UTC) by yshui)

This package is missing a dependencies on nlohmann_json, and systemd should also be a make dependency.

swyter commented on 2020-04-21 17:28 (UTC)

Maybe, but I don't see the point of making them a part of the default workflow. Sounds backwards.

falconindy commented on 2020-04-21 16:53 (UTC)

You're missing the part where you can run makepkg --nocheck to skip the tests.

swyter commented on 2020-04-21 16:40 (UTC)

Maybe I'm missing something, but I don't think the tests should be built by end-users. Looking at the Meson thingie, both gmock and gtest are completely optional. Removing checkdepends and the check function seems to work just fine. Less bloat.

graysky commented on 2020-04-12 07:46 (UTC)

Setting to 'any' is wrong. It implies compile-specific is not needed. Just build with the -A flag.

lvspais commented on 2020-03-16 21:47 (UTC)

I've built this package on armv7h without any issues just putting the 'armv7h' on the architecture list in PKGBUILD.

I truly think this package architecture could be set to 'any'.

Jarshvor commented on 2020-03-12 23:20 (UTC)

Just to add to TAAPAye's comment I've built it successfully on 'pentium4' architecture by simply listing it in the PKGBUILD.

TAAPAye commented on 2020-02-21 06:59 (UTC)

Is there a reason why only 'x86_64' 'i686' are supported? I built it without problems on aarch64.

user20159 commented on 2020-01-14 17:14 (UTC)

I don't know whether wrapdb is a dependency. But the build failed as there was no fmt available, so therefore I think fmt still is a dependency. And isn't that the main reason why we are using a package manager? That each application doesn't bring it's own dependencys and we end up with multiple copies of the same libraries? And instead having just one copy of that library every application can use? If each project downloads their requirements on it's own, we wouldn't need a centralized package management system. Am I wrong?

falconindy commented on 2020-01-14 17:07 (UTC)

wrapdb is no longer a dependency. I won't dictate whether you install fmt from the repos or via the subproject.

user20159 commented on 2020-01-14 08:29 (UTC) (edited on 2020-01-14 08:30 (UTC) by user20159)

This should depend on fmt, as fmt is a runtime dependency. If makepkg is called without fmt, build will try to use a fallback dependency, which might even fail. As we have fmt in the official repositories, we should use it.

Run-time dependency fmt found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency fmt
Downloading fmt source from https://github.com/fmtlib/fmt/archive/6.0.0.tar.gz
Downloading file of unknown size.
Downloading fmt patch from https://wrapdb.mesonbuild.com/v1/projects/fmt/6.0.0/1/get_zip

meson.build:42:0: ERROR: WrapDB connection failed to https://wrapdb.mesonbuild.com/v1/projects/fmt/6.0.0/1/get_zip with error <urlopen error [Errno 113] No route to host>

oats commented on 2020-01-12 19:47 (UTC)

All tests pass on Rpi 4 (armv7h)

falconindy commented on 2019-12-05 18:18 (UTC)

You're expected to have base-devel installed if you want to be building packages. I have no idea why you think pacutils is required.

trougnouf commented on 2019-12-05 17:05 (UTC) (edited on 2019-12-05 17:09 (UTC) by trougnouf)

Requires binutils, gcc, pacutils, pkgconf

Darkshado commented on 2019-12-01 03:12 (UTC)

auracle-git-r301.9542d8c-1 builds and installs successfully on armv6h as well, just had to add it to the arch section in the MAKEPKG

saber-nyan commented on 2019-11-30 22:32 (UTC)

All tests pass on Cubieboard 2 (armv7h).

nostalgix commented on 2019-11-29 08:16 (UTC)

Thanks to @a_grizzli. This did the trick. I reinstalled just all the perl-related packages (I did not install anything via cpan manually) and afterwards building auracle did not fail on the '}'. Weird.

a_grizzli commented on 2019-11-28 11:55 (UTC)

I could solve the problem reported on 2019-11-27 09:59. Indeed the error happened before C++ compilations. It was in some Perl scripts. Problem consisted in new Perl version after update of the system: 5.28 -> 5.30. I had some conflicting modules from the old version manually installed by CPAN. I had to delete all of them and to reinstall Perl again to solve the problem.

g99 commented on 2019-11-28 09:54 (UTC) (edited on 2019-11-28 09:54 (UTC) by g99)

"'auracle update' now exists" … well,

but is it a blessing or a curse? easily half of AUR breaks! so you wanna stick with whatever it was that actually built once upon a time.

a_grizzli commented on 2019-11-27 09:59 (UTC)

Trying to build package manually fails:

[14/27] Compiling C++ object 'auracle@sta/src_auracle_auracle.cc.o'. ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in build(). Aborting...

I have updated my system recently and using GCC 9.2.

lisu_ml commented on 2019-11-15 09:28 (UTC)

Indeed, it builds after upgrading python to 3.8. Thanks for pointing this out.

falconindy commented on 2019-11-14 23:47 (UTC)

Partial upgrades aren't my responsibility. Notice your stack trace says python 3.7. Arch has moved onto python 3.8.

lisu_ml commented on 2019-11-14 21:55 (UTC)

@SanskritFritz: I build AUR packages I use and upload them to my 'custom' pacman repository. I also have some script that goes through all packages in 'custom' and compares pgkver, pkgrel and epoch with what's available in AUR and triggers AUR package rebuild if the version in AUR is newer than the one available in 'custom' repo.

lisu_ml commented on 2019-11-14 21:44 (UTC)

I'm getting this on build():

Traceback (most recent call last):
  File "/usr/bin/meson", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3250, in <module>
    @_call_aside
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3234, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3263, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'meson==0.52.0' distribution was not found and is required by the application

falconindy commented on 2019-11-10 17:00 (UTC)

'auracle update' now exists, and does what 'cower -ud' used to do. 'auracle sync' is deprecated (verb still exists, but is now undocumented) and is replaced by 'auracle outdated'.

falconindy commented on 2019-11-03 14:11 (UTC)

I'm not interested in adding arm support if I can't actually test. The GitHub repo needs an ARM CI if you want this.

razer commented on 2019-11-03 07:26 (UTC)

Please add 'armv6h', 'armv7h' to have it working on arm boards like the raspberry

SanskritFritz commented on 2019-10-24 12:20 (UTC)

lisu_ml How do you get notified by a pkgrel change anyway? In what manner does pkgrel bump help you in this situation?

lisu_ml commented on 2019-10-24 10:23 (UTC)

I agree, it's really sad.

Let's people maintain their packages all along, who needs AUR anyway?

Was nice talking to you. So long.

falconindy commented on 2019-10-24 10:19 (UTC)

Nah, it's annoying that people don't understand how the AUR works.

Packages you install from the AUR are your responsibility. As is, you need to uninstall auracle, upgrade, and then rebuild/reinstall. Changing the pkgrel doesn't offer anything here.

lisu_ml commented on 2019-10-24 10:10 (UTC)

Also, something to think about. Imagine situation like this:

Someone has some AUR packages installed on the system. But he/she prefers to keep packages build from AUR in the private custom repository so they can be updated automatically with pacman. The person has some scripts to automatically rebuild and upload to the repo all AUR packages he uses. The script automatically checks if there is new version of the package available in AUR. What happens with auracle-git right now? It's not being rebuilt by the script as both pkgver and pkgrel are the same as previously. Nothing has changed to tell the script there is new version or release of the package. So what he does? He clones the auracle-git AUR repo, manually bumps pkgrel, rebuilds and uploads new release to the repository as otherwise pacman wouldn't pick it up on system upgrade.

This sucks. And could be avoided with simple pkgrel build, which is totally proper thing to do in cases like that.

Not my package, but it's really annoying people don't understand the difference between version and release.

lisu_ml commented on 2019-10-24 10:01 (UTC)

What you have just said is absolutely true, correct and expected.

The pkgrel bump is required only now, only for r290.d59f80b as this specific GitHub release results in broken shared dependencies in AUR if anyone has it already built and installed and it means the package has to be rebuilt. Once upstream commits new changes to the repo, makepkg would trigger pkgver() which will trigger automatic rebuild, so pkgrel should be lowered as having it set to 2 is not required anymore, as the version has changed.

So yes, users with already installed package could rebuild the package manually, and trigger manual update or maintainer could simply bump pkgrel and it would be picked up automatically by any AUR software manager / helper.

For me, the choice is obvious.

SanskritFritz commented on 2019-10-24 09:46 (UTC) (edited on 2019-10-24 09:46 (UTC) by SanskritFritz)

In your example the version was not changed so pkgver() was not run. When the version changes (meaning there was new commits upstream) then pkgver() is fired and it resets the pkgrel to 1.

lisu_ml commented on 2019-10-24 09:41 (UTC) (edited on 2019-10-24 09:43 (UTC) by lisu_ml)

But the pkgrel will be updated also when you rebuild the package.

No, it won't

Unchanged pkgrel:

Finished making: auracle-git r290.d59f80b-1 (Thu 24 Oct 2019 11:32:07 CEST)

Bumped pkgrel:

Finished making: auracle-git r290.d59f80b-2 (Thu 24 Oct 2019 11:33:46 CEST)

So again: Git package users are expected to follow upstream development and rebuild the package themselves when necessary. https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning

Not sure what I should get from it? The link points to arch packaging guidelines and there is no even mention about VCS AUR packages.

Following the link:

Package releases (i.e. PKGBUILD#pkgrel) are specific to Arch Linux packages.

So again: pkgrel are specific to packages, so they can be bumped on demand if required.

Here is more suitable link: https://wiki.archlinux.org/index.php/VCS_package_guidelines#Guidelines

Which says:

If the resulting package is different after changing the dependencies, URL, sources, etc. increasing the pkgrel is mandatory. Touching the pkgver is not.

And in auracle-git case, the resulting package is different as it's built using new version of shared library, so the pkgrel should be bumped.

That's my opinion.

SanskritFritz commented on 2019-10-24 09:29 (UTC)

But the pkgrel will be updated also when you rebuild the package. So again: Git package users are expected to follow upstream development and rebuild the package themselves when necessary. https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning

lisu_ml commented on 2019-10-24 09:04 (UTC) (edited on 2019-10-24 09:05 (UTC) by lisu_ml)

@falconindy: I'm not talking about pkgver, but about pkgrel. Yes, I'm aware the version will be automatically updated once there is new commit to the upstream repo. But before that happens, people will keep getting cannot open shared object file: No such file or directory messages unless they manually rebuild the package, so I still don't understand why pkgrel cannot be bumped. pkgrel is something local to the PKGBUILD, it's not affected by upstream changes.

SanskritFritz commented on 2019-10-24 08:46 (UTC)

@lisu_ml: This is a -git package, where the version does not reflect the current status anyway. Git package users are expected to follow upstream development and rebuild the package themselves when necessary. This way the version will automatically updated locally independently from the package version on the AUR.

lisu_ml commented on 2019-10-24 08:42 (UTC)

That's not how this works. That's not how any of this works. Rebuild auracle yourself.

@falconindy: and what do you mean by that? It's a common practice to bump pkgrel when there is new version of shared library the package depends on. IMO, bumping pkgrel is not something difficult to do and can save other users' time as it would trigger automatic rebuild on their end. I don't understand what is the problem with simple pkgrel bump? Please elaborate.

Cthulhu82 commented on 2019-10-24 07:03 (UTC)

@HiImTye "auracle sync -q | xargs auracle clone" should do it. Of course, it is a little bit more verbose.

HiImTye commented on 2019-10-24 06:01 (UTC)

is there an equivalent operation to cower -ud, or do we need to write a custom script to facilitate that functionality?

falconindy commented on 2019-10-24 00:22 (UTC)

That's not how this works. That's not how any of this works. Rebuild auracle yourself.

lisu_ml commented on 2019-10-24 00:05 (UTC) (edited on 2019-10-24 00:12 (UTC) by lisu_ml)

@falconindy: please bump the pkgrel to resolve libalpm.so.11 issue.

gj545rndmu commented on 2019-10-23 10:50 (UTC)

For everyone who just updated pacman and is wondering why they get following error:

auracle: error while loading shared libraries: libalpm.so.11: cannot open shared object file: No such file or directory

Just recompile auracle-git and install it again ;)

Lollieisenbrot commented on 2019-10-01 23:47 (UTC)

Thank you very much! Though I have rwx ownership of the drive, it is indeed ntfs formatted. Building it on my ext4 partition worked as intended :) I hadn't thought about that...

falconindy commented on 2019-10-01 22:53 (UTC)

If I had to guess, I'd say you're attempting to build auracle on an ntfs or vfat filesystem and mounted it with a mode or fmask that disables the executable bit.

Lollieisenbrot commented on 2019-10-01 22:44 (UTC) (edited on 2019-10-01 22:44 (UTC) by Lollieisenbrot)

When build() starts, I get the following error:

meson.build:1:0: ERROR: Could not invoke sanity test executable: [Errno 13] Permission denied: '/media/hdd/arch/builds/auracle-git/src/auracle/build/meson-private/sanitycheckcpp.exe'.

Do I have to manually permit meson to perform the sanity test on the C++ compiler?

plutonium commented on 2019-09-21 19:42 (UTC)

FYI, I was using auracle successfully under armv7 (RPi3, 32bit) and after switching to armv8/aarch64 (RPi3, 64bit) I was not able to build the package using gcc (took forever, nearly freezing the board and crashed at step 3/27), but it went smoothly with clang (export CXX=clang++ && makepkg -A).

Mythra commented on 2019-09-09 17:16 (UTC)

Ah thanks! I forgot about that. I appreciate the help for something so simple :)

helirexi commented on 2019-09-09 15:19 (UTC)

I can confirm - works fine with fmt-6. I was only rebuild package in ~/.cache/pacaur/auracle-git and install after with sudo pacman -U auracle-git-r287.93fd134-1-x86_64.pkg.tar.xz All work now.

falconindy commented on 2019-09-07 13:47 (UTC)

Just like every other soname bump, it's up to you to rebuild AUR packages.

auracle has no problems building and linking against fmt-6

Mythra commented on 2019-09-07 13:40 (UTC)

FWIW it looks like this breaks with the latest version of fmt installed. Using the old version:

$ pacman -Q --info fmt | rg Version
Version         : 5.3.0-1
$ auracle show q
# Maintainer: Fabien Dubosson <fabien.dubosson@gmail.com>

[...]
$ sudo pacman -Syu
[...]
Packages (1) fmt-6.0.0-1

Total Installed Size:  0.56 MiB
Net Upgrade Size:      0.01 MiB
[...]
$ auracle show git
auracle: error while loading shared libraries: libfmt.so.5: cannot open shared object file: No such file or directory

Installing the old version of fmt works:

$ sudo pacman -U /var/cache/pacman/pkg/fmt-5.3.0-1-x86_64.pkg.tar.xz

(FWIW version of auracle: auracle-git-r287.93fd134-1.)

BrainwreckedTech commented on 2019-08-04 10:27 (UTC) (edited on 2019-08-04 10:28 (UTC) by BrainwreckedTech)

Is there a reason for limiting this package to i686 and x86_64 architectures?

This is a binary package. The arch=('any') designation is reserved for scripts and such. Arch only supports i686 and x86_64 in the AUR. Use makepkg -A to ignore arch designations and attempt to build anyway. AUR helpers will never be officially supported.

plutonium commented on 2019-06-14 08:47 (UTC) (edited on 2019-06-14 09:11 (UTC) by plutonium)

Is there a reason for limiting this package to i686 and x86_64 architectures ? I just built it on ArchlinuxARM (running on a raspberry pi 3) and it works perfectly :)

I just replaced the arch line with arch=('any') in the PKGBUILD, but could/should have used arch=('armv7h')

helirexi commented on 2019-05-30 18:50 (UTC)

1) install fmt package 2) remove all src dir in ~/.cache/pacaur/auracle-git/src/ install again. all work for me. thnks @salexan for idea!

thehamzan6 commented on 2019-05-30 07:57 (UTC) (edited on 2019-05-30 07:58 (UTC) by thehamzan6)

==> Starting build()...

Directory does not contain a valid build tree: /auracle-git/src/auracle/build ==> ERROR: A failure occurred in build(). Aborting... :: failed to build auracle-git package(s)

Ronik commented on 2019-05-29 12:22 (UTC)

after update gcc --- yaourt -S auracle-git and everything worked out!

Ronik commented on 2019-05-29 11:47 (UTC)

Where do you see spam? I asked for help. I did not create a problem with this package

alfredo.ardito commented on 2019-05-29 11:30 (UTC)

Builds successfully after last commit.

falconindy commented on 2019-05-29 11:14 (UTC)

Please stop spamming my inbox. pkgrel=2 conditionally appends --wipe when the build dir exists.

Ronik commented on 2019-05-29 11:01 (UTC)

I'm new to Linux! Updated gcc compiler (GCC) 9.1.0, but still not updated auracle-git

Ronik commented on 2019-05-29 10:58 (UTC)

please give me a manual to fix auracle-git update

alfredo.ardito commented on 2019-05-29 08:10 (UTC) (edited on 2019-05-29 08:11 (UTC) by alfredo.ardito)

Failed to build. I tried to build the package with helpers and in chroot
Got this error:
===============
Directory does not contain a valid build tree:
/build/auracle-git/src/auracle/build
==> ERROR: A failure occurred in build().
Aborting...

salexan commented on 2019-05-29 07:11 (UTC) (edited on 2019-05-29 07:13 (UTC) by salexan)

I had to drop the --wipe flag and additionally install the dependency fmt (in Extra) to make it work.

bartus commented on 2019-05-29 06:04 (UTC)

just dropping the --wipe flag to meson seams to fixes the issue.

SolarAquarion commented on 2019-05-29 03:01 (UTC)

I created a patch that doesn't fail http://ix.io/1KkF

Jesin commented on 2019-05-29 01:06 (UTC)

The new PKGBUILD is failing with this error: http://ix.io/1Kks

Jesin commented on 2019-05-28 19:42 (UTC)

You can get gcc9 by adding this before the first official repo in /etc/pacman.conf:

[gcc9]

Server = https://pkgbuild.com/~bpiotrowski/gcc9

falconindy commented on 2019-05-28 19:32 (UTC)

It's a gcc8 bug. You can compile with gcc9 (yanked from the repos) or with clang.

makepkg -C -- CXX=clang++

mrstobbe commented on 2019-05-28 19:14 (UTC)

aurcale upstream is currently borked with a compilation error about how a wrapped call is ambiguous. I swear it worked the other day when I was trying out Arch in a VM.

I tried going into its directory and checking out a previous commit, but it seems that makepkg just checks out the head again.

I'm 100% new to Arch (very fresh install), so I'm not sure what to do at this point. Is there a way to tell the build system to use a different commit while waiting for upstream to get fixed?

ThecaTTony commented on 2019-05-10 06:34 (UTC)

Thanks for the app and package. Can you please add aarch64 to supported arch's?

I successfully compiled and packaged on aarch64 for raspberry pi:

[thecattony@pilar auracle-git]$ sudo pacman -Ql auracle-git 
auracle-git /usr/
auracle-git /usr/bin/
auracle-git /usr/bin/auracle
auracle-git /usr/share/
auracle-git /usr/share/bash-completion/
auracle-git /usr/share/bash-completion/completions/
auracle-git /usr/share/bash-completion/completions/auracle
auracle-git /usr/share/licenses/
auracle-git /usr/share/licenses/auracle-git/
auracle-git /usr/share/licenses/auracle-git/LICENSE
auracle-git /usr/share/man/
auracle-git /usr/share/man/man1/
auracle-git /usr/share/man/man1/auracle.1.gz
auracle-git /usr/share/zsh/
auracle-git /usr/share/zsh/site-functions/
auracle-git /usr/share/zsh/site-functions/_auracle
[thecattony@pilar auracle-git]$ file /usr/bin/auracle
/usr/bin/auracle: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=c81ecd5d9d20fdfec9aecb0300c2bcb88174d407, stripped

falconindy commented on 2019-04-14 14:15 (UTC)

Well, --nocheck is a thing.

FTR, what terrible hardware is this running on? I assume it's some sort of ARM device? Tests are all subsecond for me. Do tests run any faster if you limit the number of processes to your cpu count? (--num-processes)

larsch commented on 2019-04-14 09:47 (UTC)

Can't install. Keep getting timeout on tests during check():

 1/13 request_test                            OK       0.02 s 
 2/13 response_test                           OK       0.02 s 
 3/13 buildorder_integration_test             OK      20.46 s 
 4/13 clone_integration_test                  TIMEOUT 30.02 s 
 5/13 custom_format_integration_test          OK      25.47 s 
 6/13 download_integration_test               TIMEOUT 30.01 s 
 7/13 info_integration_test                   OK      15.25 s 
 8/13 raw_query_integration_test              OK      25.35 s 
 9/13 regex_search_integration_test           OK      20.33 s 
10/13 search_integration_test                 TIMEOUT 30.01 s 
11/13 show_integration_test                   OK      20.32 s 
12/13 sort_integration_test                   TIMEOUT 30.01 s 
13/13 sync_integration_test                   OK      10.22 s

Can be build with a modified PKGBUILD:

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

dreieck commented on 2019-04-02 10:29 (UTC)

I get a similar, but in the details different, build error:

ninja: Entering directory `build'
[4/21] Compiling C++ object 'auracle@sta/src_auracle_auracle.cc.o'.
FAILED: auracle@sta/src_auracle_auracle.cc.o 
ccache c++ -Iauracle@sta -I. -I.. -I../src -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++17 -include config.h -ffunction-sections -fdata-sections -O3 -g0 -march=native -ftree-vectorize -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -Wl,-z,relro,-z,now -D_FORTIFY_SOURCE=2 -fPIC -pie -fPIE -fstack-protector -fpermissive -fPIC  -MD -MQ 'auracle@sta/src_auracle_auracle.cc.o' -MF 'auracle@sta/src_auracle_auracle.cc.o.d' -o 'auracle@sta/src_auracle_auracle.cc.o' -c ../src/auracle/auracle.cc
In file included from ../src/auracle/auracle.hh:7,
                 from ../src/auracle/auracle.cc:1:
../src/aur/aur.hh:13:10: fatal error: systemd/sd-event.h: No such file or directory
 #include <systemd/sd-event.h>
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[5/21] Compiling C++ object 'aur@sta/src_aur_response.cc.o'.
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...

falconindy commented on 2019-03-31 01:29 (UTC)

@Heziode: I don't know why your compiler is broken. The filesystem header is included with libstdc++ in Arch (in c++17 mode), and is found by both g++ and clang++.

Heziode commented on 2019-03-27 15:40 (UTC)

Hi I get this error when I try to install it:

[1/21] Compiling C++ object 'libaur@sta/src_aur_aur.cc.o'.
FAILED: libaur@sta/src_aur_aur.cc.o 
c++ -Ilibaur@sta -I. -I.. -I../src -I../third_party/nlohmann_json -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++17 -include config.h -ffunction-sections -fdata-sections -march=x86-64 -mtune=generic -O2 -fno-plt -D_FORTIFY_SOURCE=2 -fPIC  -MD -MQ 'libaur@sta/src_aur_aur.cc.o' -MF 'libaur@sta/src_aur_aur.cc.o.d' -o 'libaur@sta/src_aur_aur.cc.o' -c ../src/aur/aur.cc
../src/aur/aur.cc:8:10: fatal error: filesystem: No such file or directory
 #include <filesystem>
          ^~~~~~~~~~~~
compilation terminated.
[2/21] Compiling C++ object 'libauracle@sta/src_auracle_auracle.cc.o'.
FAILED: libauracle@sta/src_auracle_auracle.cc.o 
c++ -Ilibauracle@sta -I. -I.. -I../src -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++17 -include config.h -ffunction-sections -fdata-sections -march=x86-64 -mtune=generic -O2 -fno-plt -D_FORTIFY_SOURCE=2 -fPIC  -MD -MQ 'libauracle@sta/src_auracle_auracle.cc.o' -MF 'libauracle@sta/src_auracle_auracle.cc.o.d' -o 'libauracle@sta/src_auracle_auracle.cc.o' -c ../src/auracle/auracle.cc
../src/auracle/auracle.cc:7:10: fatal error: filesystem: No such file or directory
 #include <filesystem>
          ^~~~~~~~~~~~
compilation terminated.
[10/21] Compiling C++ object 'libaur@sta/src_aur_response.cc.o'.
ninja: build stopped: subcommand failed.

falconindy commented on 2019-02-15 15:42 (UTC)

No, not really. The point is that fmt doesn't need to be present in order for auracle to build. I have an explicit fallback to build with a known-working fmtlib if fmt isn't installed.

sl1pkn07 commented on 2019-02-15 14:35 (UTC)

seems need ad fmt to depends: (1 extra/fmt 5.3.0-1)

Dependency fmt found: NO (tried pkgconfig and cmake)
Downloading fmt source from https://github.com/fmtlib/fmt/archive/5.3.0.tar.gz
Download size: 662493
Downloading: ..........
Downloading fmt patch from https://wrapdb.mesonbuild.com/v1/projects/fmt/5.3.0/1/get_zip
Download size: 1080
Downloading: ..........

falconindy commented on 2018-12-02 22:54 (UTC)

Should be fixed in pkgrel=2

Jesin commented on 2018-12-02 22:03 (UTC)

Installing the latest update fails with the error message auracle-git: /usr/local/share/man exists in filesystem (owned by filesystem)

ILMostro7 commented on 2018-11-22 17:54 (UTC)

I do see previous comments here regarding the "any" architecture option. Your explanations are valid, albeit somewhat disappointing :).

falconindy commented on 2018-11-22 17:44 (UTC)

No, I won't. 'any' is wrong for compiled software, and I can't commit to supporting arm as I have no way to test it.

ILMostro7 commented on 2018-11-22 17:37 (UTC) (edited on 2018-11-22 17:52 (UTC) by ILMostro7)

Please update the PKGBUILD for auracle-git to include the armv7h architecture, either by specifying the any architecture option or the following:

arch=('x86_64' 'i686' 'armv7h')

For what it's worth, I have tested this on a raspberry-pi-2 with success.

falconindy commented on 2018-10-14 22:42 (UTC)

Latest commit ought to deflake the tests.

falconindy commented on 2018-10-13 22:10 (UTC)

Theyre likely just flakey. Those tests depend on locally installed packages.

haawda commented on 2018-10-13 18:52 (UTC) (edited on 2018-10-13 18:53 (UTC) by haawda)

Currently two of the tests in the check function fail

3/10 clone_integration_test FAIL 1.55 s (exit status 1)

4/10 download_integration_test FAIL 1.82 s (exit status 1)

artafinde commented on 2018-06-22 05:21 (UTC)

Can you switch to use arch-meson instead of meson to pick CXXFLAGS from makepkg.conf ?

haawda commented on 2018-04-02 20:07 (UTC) (edited on 2018-04-02 20:09 (UTC) by haawda)

The nlohmann-json-bin package does not take long to build. It just installs the needed files without building.

heftig commented on 2018-02-21 10:31 (UTC)

Can't you use https://github.com/nlohmann/json/releases/download/v3.1.1/include.zip directly? The nlohmann-json package has no point.

bhoppi commented on 2018-02-08 01:03 (UTC)

Maybe nlohmann-json is just a makedepends? After compiling auracle, it won't be needed any more.

eschwartz commented on 2018-01-31 14:42 (UTC)

Since nlohmann-json takes so long to build, I have a custom repo for it here: https://wiki.archlinux.org/index.php/Unofficial_user_repositories#eschwartz

falconindy commented on 2017-12-02 20:14 (UTC)

No, it's optional and adds nothing when present.

ilpianista commented on 2017-12-02 19:51 (UTC)

> Program ragel found: NO Does this require ragel as dependency?

severach commented on 2017-10-23 13:47 (UTC)

Please fix this so the 280MB git download is downloaded by the package instead of the build system.

imran27 commented on 2017-08-01 06:52 (UTC)

I have the aur package nlohmann_json-git installed but it still clones the complete repo every time I build this PKGBUILD. Can you please use the installed nlohmann_json-git instead of cloning another one?

falconindy commented on 2017-07-07 15:25 (UTC)

I have no idea what you're talking about.

buttcake commented on 2017-07-07 15:23 (UTC)

Why does this download gcc ?

Foxboron commented on 2017-07-03 12:45 (UTC)

Orphaned the package for you falconindy

falconindy commented on 2017-07-03 12:32 (UTC)

That isn't substantially better. auracle links directly to libarchive and libcurl, so omitting them from the dependencies is disingenuous at best. It's conceivable that the pacman dep might be dropped in the future, which would then break your depends array. Ragel is also optional right now, and is really only of interest to me while I figure out how I'm going to support custom formatting. I'm happy to just maintain this package myself if you'd prefer...

Foxboron commented on 2017-07-02 20:56 (UTC)

Removed both curl and libarchive from makedepens because they are pacman deps. Fixed the arch to x86_64 and i686. Hope that works out :)

falconindy commented on 2017-07-02 20:31 (UTC)

- curl and libarchive are both depends, not makedepends. - arch is not 'any' since auracle is c++.