Subject: Re: Audacity has extraneous binary at directory root

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 05 Feb 2022 08:22:32 +0100

Hi Leo,

Am Freitag, dem 04.02.2022 um 17:03 -0500 schrieb Leo Famulari:
> Our Audacity package creates an extraneous "audacity" binary in the
> root of the store item:
> 
> ------
> $ git describe                                   
> v1.3.0-15695-gba60aede97 
> $ ls -la $(./pre-inst-env guix build audacity)    
> total 49012                
> dr-xr-xr-x    6 root root          4096 Dec 31  1969 .
> drwxrwxr-t 3440 root guixbuild 50139136 Feb  4 17:00 ..
> -r-xr-xr-x    1 root root           337 Dec 31  1969 audacity
> dr-xr-xr-x    2 root root          4096 Dec 31  1969 bin
> dr-xr-xr-x    2 root root          4096 Dec 31  1969 etc
> dr-xr-xr-x    3 root root          4096 Dec 31  1969 lib
> dr-xr-xr-x   11 root root          4096 Dec 31  1969 share
> $ ls -la $(./pre-inst-env guix build audacity)/bin
> total 18404
> dr-xr-xr-x 2 root root     4096 Dec 31  1969 .
> dr-xr-xr-x 6 root root     4096 Dec 31  1969 ..
> -r-xr-xr-x 1 root root      600 Dec 31  1969 audacity
> -r-xr-xr-x 2 root root 18827912 Dec 31  1969 .audacity-real
> ------
Looking at the size of this thing compared to our audacity, I thought
to myself "hmm, that's a shell script" and sure enough

--8<---------------cut here---------------start------------->8---
#!/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/sh

lib="${0%/*}/lib/audacity"
share="${0%/*}/share/audacity"

export LD_LIBRARY_PATH="${lib}:${LD_LIBRARY_PATH}"
export AUDACITY_MODULES_PATH="${AUDACITY_MODULES_PATH}:${lib}/modules"
export AUDACITY_PATH="${AUDACITY_PATH}:${share}"

exec "${0%/*}/bin/audacity" "$@"
--8<---------------cut here---------------end--------------->8---
At the time of writing none of these appear particularly needed, though
if the time comes we might just port over the 'wrap-emacs-paths phase.

We can try searching for the bits in CMakeLists that install this
wrapper or we can simply drop the file.  WDYT?