Package Details: bluespec-git r721.a6304315-1

Git Clone URL: https://aur.archlinux.org/bluespec-git.git (read-only, click to copy)
Package Base: bluespec-git
Description: Bluespec Compiler (BSC)
Upstream URL: https://github.com/B-Lang-org/bsc
Licenses: BSD
Submitter: Sequencer
Maintainer: Sequencer (thotypous)
Last Packager: thotypous
Votes: 6
Popularity: 0.032713
First Submitted: 2020-02-05 02:51 (UTC)
Last Updated: 2023-06-08 17:27 (UTC)

Latest Comments

thotypous commented on 2023-06-08 17:37 (UTC)

I ended up following @yan12125 advice and removing dynamic pkgrel.

Since a few months ago, we were already overriding it at chaotic-aur because it didn't work well (when some Haskell package's pkgver is incremented, pkgrel of that package is reset to 1, so the sum of pkgrels goes backwards), thus we devised another hack to bump pkgrel more properly at the builder.

Since the dynamic pkgrel is more of a hassle than useful for AUR helpers, and since it has no use anymore for the chaotic-aur builder, let's get rid of it.

yan12125 commented on 2023-06-06 14:26 (UTC)

Don't use dynamic pkgrel. It will not work as well-behaved AUR helpers rely on .SRCINFO to determine if a package is updated, and pkgrel in .SRCINFO is always static. Furthermore, it causes issues with namcap: https://gitlab.archlinux.org/pacman/namcap/-/issues/32. If users want to rebuild packages automatically, something like https://archlinux.org/packages/extra/any/rebuild-detector/ may be useful.

Vekhir commented on 2023-05-23 19:46 (UTC)

Hi, since the last commit, pkgrel is updated using pacman -Q, but that doesn't work when building from scratch in a clean chroot because the dependencies aren't yet installed (i.e. pacman -Q doesn't find the packages). The only similar option that pacman -S has is -l to list all known packages with their versions, where we then have to manually grep our dependencies: eval pkgrel=$(pacman -Sl | grep -E $(echo "${depends[@]}" | sed -e 's: :|:g') | cut -d" " -f3 | cut -d"-" -f2 | awk '{sum+=$0}END{print sum}')

This works afaict and is probably the closest to the current version, whether it is faster than the previous one is unclear. It certainly doesn't depend on user settings, though the clean chroot deals with that already. What do you think?

thotypous commented on 2021-12-06 19:05 (UTC)

@Vekhir Since scripts should not rely on the structure of a particular language, we will instead add LC_ALL=C to force this particular command to produce English output. Please note, however, that it is preferable to always build packages in a clean chroot (and there would be no point in changing the locale of that chroot). You can find packages prebuilt by us on a clean chroot at https://pkgs.org/search/?q=bluespec or https://aur.chaotic.cx

Vekhir commented on 2021-12-06 16:48 (UTC) (edited on 2021-12-06 16:49 (UTC) by Vekhir)

My makepkg fails because pkgrel is 0, when computed. That seems to happen due to my language settings changing the output of 'pacman -Si', which means that the string 'Version' cannot be found. The issue can be fixed by first asking what the word in the 3. line is (where the version is) and then using that word instead. This should be language-independent.

The code for that would be:

# dynamically get Version string as that depends on system language; the 3 below means that the third line contains the version string
Version=$(pacman -Si $(depends[0]) | sed '3q;d' | sed -e 's/\s.*$//')
eval pkgrel=$(pacman -Si ${depends[@]} | awk '/'"$Version"'/{sum+=substr($0,match($0,/[^-]+$/))}END{print sum}')

This fixed the issue for me.

thotypous commented on 2020-04-11 01:35 (UTC)

I managed to make it work: https://gist.github.com/thotypous/cf40bbb2cb7b3d89a0d1671e839c1e7e

Could you please put me as co-maintainer of this package? I'm a long time bsc user - I use the commercial version since 2008.