tenacity-legacy icon indicating copy to clipboard operation
tenacity-legacy copied to clipboard

Arch Linux packages

Open vincens2005 opened this issue 3 years ago • 37 comments

vincens2005 avatar Jul 06 '21 06:07 vincens2005

Reasonable request, Arch user here too. We will take care of this when we decide on a name and some other things.

n0toose avatar Jul 06 '21 06:07 n0toose

I have some experience in AUR pkgbuilds too

FabioLolix avatar Jul 06 '21 07:07 FabioLolix

We could also use Audacity's PKGBUILD for that matter, but let's get code out first.

n0toose avatar Jul 06 '21 07:07 n0toose

We could also use Audacity's PKGBUILD for that matter, but let's get code out first.

By that point, Arch Team will probably swap. Audacity is not compliant as-is, it violates its own licensing and given they had "many lawyers" but couldnt figure that out, point out clearly they have no cares about it.

EndlessEden avatar Jul 06 '21 07:07 EndlessEden

I guess packaging this fork is not that difficult as it using cmake and conon (already in AUR)

fossdd avatar Jul 06 '21 14:07 fossdd

I tried to make an aur build of the fork from yonderbread@ (now at https://gitlab.com/yonderbread/audacity) some time ago but without success due to the borked wxwidgets and shared library build.

I always picked up the local build directory as RPATH for all shared libraries which failed namcap, e.g.:

audacity-git E: Insecure RPATH '/home/user/aur/audacity-git/src/foss_audacity/build/bin/Release/lib/audacity' in file ('usr/lib/audacity/modules/mod-script-pipe.so')

This was my PKGBUILD based on https://aur.archlinux.org/packages/audacity-git/ commit 6e7e5f5:

pkgname=audacity-git
pkgver=c549dc717
pkgrel=1
pkgdesc="A program that lets you manipulate digital audio waveforms"
arch=(i686 x86_64)
url="https://github.com/yonderbread/foss_audacity"
license=(GPL3 CCPL)
groups=(pro-audio)
depends=(gtk3 libid3tag libsecret
  lilv lv2 portsmf suil libmad twolame vamp-plugin-sdk jack2 sdl2 libsoxr soundtouch)
makedepends=(git cmake clang sdl2 libsoup libnotify gstreamer gst-plugins-bad-libs
  ffmpeg)
# can't find system lame portmidi
optdepends=('ffmpeg: additional import/export capabilities')
provides=(audacium)
conflicts=(audacity)
source=("git+https://github.com/yonderbread/foss_audacity.git#branch=dev")
sha256sums=('SKIP')

pkgver() {
  cd foss_audacity
  git rev-parse --short HEAD
}

build() {
  mkdir -p foss_audacity/build
  cd foss_audacity/build
  cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_CXX_FLAGS="-fPIC" \
    -DCMAKE_INSTALL_PREFIX=/usr/ \
    -DCMAKE_INSTALL_RPATH=/usr/lib \
    -DwxBUILD_TOOLKIT:STRING=gtk3 \
    -DwxBUILD_SHARED:BOOL=off \
    -Daudacity_use_wxwidgets=local \
    -Daudacity_use_ffmpeg:STRING=loaded \
    ..
  make .
    #-DCMAKE_INSTALL_RPATH=/usr/lib/audacity/
    #-DwxBUILD_MONOLITHIC:BOOL=off
}

package() {
  cd foss_audacity/build
  make DESTDIR="${pkgdir}" install
#  for so in lib/libwx*.so; do
#      cp "$so" ${pkgdir}/usr/lib/audacity/
#  done
}

The "-fPIC" together with the "wxBUILD_SHARED:BOOL=off" build wxwidgets statically and avoids the RPATH issue for the wxwidgets shared libraries.

mmmaisel avatar Jul 06 '21 14:07 mmmaisel

I agree wholeheartedly :+1:

peepo5 avatar Jul 06 '21 17:07 peepo5

Ahh, I'm sorry about this but I've already published a PKGBUILD based on the current audacity-git and I didn't notice this issue. Sooo, yeah. https://aur.archlinux.org/packages/tenacity-git/ If anyone wants to co-maintain it, let me know I guess?

LukeHuckman avatar Jul 07 '21 12:07 LukeHuckman

Ahh, I'm sorry about this but I've already published a PKGBUILD based on the current audacity-git and I didn't notice this issue. Sooo, yeah.

https://aur.archlinux.org/packages/tenacity-git/

If anyone wants to co-maintain it, let me know I guess?

I can help co-maintain the aur package, but hopefully it gets added to the community repo soon

caughtquick avatar Jul 07 '21 17:07 caughtquick

Ahh, I'm sorry about this but I've already published a PKGBUILD based on the current audacity-git and I didn't notice this issue. Sooo, yeah. https://aur.archlinux.org/packages/tenacity-git/ If anyone wants to co-maintain it, let me know I guess?

I can help co-maintain the aur package, but hopefully it gets added to the community repo soon

I don't think that Arch Linux does add devel AUR packages (-git,..) to their community repo.

So @LukeHuckman do you also can add a tenacity package that would candidate for the community repo?

I would also co-maintain both packages, if you want so. My username there is fossdd

PS: Do not forget: The tenacity package should require manuell "bumping" the versions.

fossdd avatar Jul 07 '21 18:07 fossdd

@LukeHuckman I would like to co-maintain, my AUR name is FabioLolix and previous maintainer of audacity-git

I don't think that Arch Linux does add devel AUR packages (-git,..) to their community repo.

Indeed, they will wait some time and several release

FabioLolix avatar Jul 07 '21 18:07 FabioLolix

We've contacted the maintainer of the Audacity project on Arch, and they're willing to package the application for us.

nbsp avatar Jul 07 '21 20:07 nbsp

Oh, thats awesome news

fossdd avatar Jul 07 '21 22:07 fossdd

So @LukeHuckman do you also can add a tenacity package that would candidate for the community repo?

I'll add it once there is a proper release on this repo, because from what I can see the "alpha" release isn't exactly ready yet.

I would also co-maintain both packages, if you want so. My username there is fossdd

@LukeHuckman I would like to co-maintain, my AUR name is FabioLolix and previous maintainer of audacity-git

Alright, I'll add you guys as co-maintainers.

LukeHuckman avatar Jul 08 '21 01:07 LukeHuckman

I just installed the package and tested it, the menu item should be renamed, from Audacity to Tenacity.

ZeroDot1 avatar Jul 23 '21 09:07 ZeroDot1

I just installed the package and tested it, the menu item should be renamed, from Audacity to Tenacity.

Done: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=tenacity-git&id=a786cfbc7cdad8fdc0acbed6bf4362ae0465a253

fossdd avatar Jul 24 '21 13:07 fossdd

build 8c4278 Arch linux

The file exists: /usr/lib/tenacity/modules/mod-script-pipe.so

But that's not working. I use it to synchronize blender with audacity Another thing that happens to me is that I don't show up in Spanish, and it's only available in English

b4zz4 avatar Aug 13 '21 14:08 b4zz4

https://github.com/tenacityteam/tenacity/blob/master/BUILDING.md#arch

Any particular reason to prefer wxgtk3-dev-light over wxgtk3-dev-opt ?

FabioLolix avatar Sep 14 '21 16:09 FabioLolix

https://github.com/tenacityteam/tenacity/blob/master/BUILDING.md#arch

Any particular reason to prefer wxgtk3-dev-light over wxgtk3-dev-opt ?

I guess it does make things simpler since there's no need to specify the location of the libraries and include folders in the PKGBUILD, not to mention it reportedly fixed the issue with the .desktop file and trying to run it in general without manually setting the library path environment variable.

LukeHuckman avatar Sep 14 '21 16:09 LukeHuckman

wxgtk3-dev-opt installs into a non-standard location where the runtime linker doesn't find things, nor does it add its paths into ld.so.conf.d to have it find them.

So anything using that package will need to make the consumer look there, which is why you can see talks about a LD_CONFIG_PATH setting in other tickets here at over at Arch side. If it's in /opt on purpose, any consumers of it need to put these paths into its ELF binaries RPATH, which isn't an upstream problem, as it's inflicted from where and how wxgtk3-dev-opt installs things.

I think using wxgtk3-dev-opt in an AUR package can be fine, but that package needs to deal with the RPATH/RUNPATH pecularity then, not fail to launch at runtime. RPATH is basically what LD_CONFIG_PATH env var does, but done at the right level then for the purpose of a package (I consider LD_CONFIG_PATH a hacky workaround). wxgtk3-dev-opt could also get its wx-config script to output the compiler flags to request such a rpath embedded into binaries linking against that wxGTK, I think.

To me it feels like wxgtk3-dev-opt is installing in /opt and not putting things in ld.so.conf.d very much on purpose, as a package you can use to develop your own wxWidgets programs, not for use by other packages. It's even in the package name that it isn't in your usual /usr prefix, but in /opt.

leio avatar Sep 14 '21 16:09 leio

I have emailed the wxgtk3-dev-opt pkgbuild maintainer to add a ld.so.conf.d config and made a pkgbuild (not in the AUR now) that have it

Patches used by wxgtk3-dev-light pkgbuild aren't a hacky workaround either

not for use by other packages. It's even in the package name that it isn't in your usual /usr prefix, but in /opt.

Because installing wxgtk3-dev in /usr will make unusable all packages build with wxgtk3

FabioLolix avatar Sep 14 '21 17:09 FabioLolix

Because installing wxgtk3-dev in /usr will make unusable all packages build with wxgtk3

I'm not sure what you mean. wxGTK-3.0 is fully parallel-installable with wxGTK-3.1 into the same prefix.

Edit: well, yes, with some small patch used by distributions that offer this parallel installing packages (I do in Gentoo, what I see in wxgtk3-dev-light looks nearly identical)

leio avatar Sep 14 '21 17:09 leio

Is there any chance of getting a prebuilt package in the repositories in observable future?

ygabuev avatar Oct 03 '21 17:10 ygabuev

Is there any chance of getting a prebuilt package in the repositories in observable future?

After fixed releases will be published; could be likely

FabioLolix avatar Oct 03 '21 17:10 FabioLolix

Is there any chance of getting a prebuilt package in the repositories in observable future?

I can use the existing PKGBUILD of the git package as a reference point, but yeah, it's best to wait for 0.1.0 release before considering prebuilt packages.

LukeHuckman avatar Oct 03 '21 18:10 LukeHuckman

Hi guys, quick question regarding the tenacity-git package available on the aur, I have it installed and its failing to update due to local changes to the source code (git error) but i can't figure out where it clones to, I tried clearing the yay cache but i still get the error. Any help pointing me towards the cloned repo would be much appreciated :)

RandomExplosion avatar Nov 21 '21 20:11 RandomExplosion

I use paru, not yay, so I can't check for myself, but from looking around this command should clear all cache:

yay -Sc

nbsp avatar Nov 22 '21 06:11 nbsp

oh, shoot, should've read the message better. sorry!

nbsp avatar Nov 22 '21 06:11 nbsp

its failing to update due to local changes to the source code (git error)

@RandomExplosion Would you like to post the error?

FabioLolix avatar Nov 22 '21 10:11 FabioLolix

Hi, I'm using pipewire, with pipewire-jack, which conflicts with jack2 but should provides the necessary jack libs. Is it possible to depend on jack rather than jack2? Then the choice is free between all providers of jack.

nils-van-zuijlen avatar Jan 25 '22 14:01 nils-van-zuijlen