[arch-proaudio] Test my rebuilds

Ralf Mardorf ralf.mardorf at alice-dsl.net
Sat Dec 9 15:06:35 UTC 2017


Hi David,

I don't have time to seriously test audio software now. However, for
some time now, I'm already using jack2 build from git.

[rocketmouse at archlinux ~]$ grep jack2 /var/log/pacman.log | grep 1.9.10.r | grep upgrade
[2016-02-27 18:33] [ALPM] upgraded jack2 (1.9.10-3 -> 1.9.10.r177.g7bdad49-1)
[2016-11-23 02:34] [ALPM] upgraded jack2 (1.9.10.r177.g7bdad49-1 -> 1.9.10.r202.gf2ece24-1)
[2017-03-02 18:22] [ALPM] upgraded jack2 (1.9.10.r202.gf2ece24-1 -> 1.9.10.r241.ge0281d82-1)
[2017-03-28 08:06] [ALPM] upgraded jack2 (1.9.10.r241.ge0281d82-1 -> 1.9.10.r261.g2d1d3235-1)
[2017-05-21 18:04] [ALPM] upgraded jack2 (1.9.10.r261.g2d1d3235-1 -> 1.9.10.r262.g31d4ae97-1)
[2017-06-14 05:10] [ALPM] upgraded jack2 (1.9.10.r262.g31d4ae97-1 -> 1.9.10.r263.gf3a6b3e4-1)
[2017-07-20 16:51] [ALPM] upgraded jack2 (1.9.10.r263.gf3a6b3e4-1 -> 1.9.10.r276.g0f277def-1)
[2017-08-07 15:06] [ALPM] upgraded jack2 (1.9.10.r276.g0f277def-1 -> 1.9.10.r279.g9c929bef-1)
[2017-08-12 00:44] [ALPM] upgraded jack2 (1.9.10.r279.g9c929bef-1 -> 1.9.10.r283.g288df203-1)
[2017-08-18 13:16] [ALPM] upgraded jack2 (1.9.10.r283.g288df203-1 -> 1.9.10.r287.g929009dd-1)
[2017-09-16 16:06] [ALPM] upgraded jack2 (1.9.10.r287.g929009dd-1 -> 1.9.10.r293.gc44a220f-1)

c44a220 is still the latest commit and f3a6b3e is "1.9.11-RC1
release" [1]. I didn't use all builds to make music, but IIRC all
passed at least short usage, so unless you didn't do something very
unusual your 1.9.11_RC1-3 [2] should do the job.

There was an issue with building jackdbus 288df20 [3], which isn't
related to this thread ;).

That's the PKGBUILD I used:

[rocketmouse at archlinux ~]$ cat /usr/src/jack2/jack2-rocketmouse/PKGBUILD 
pkgbase=jack2
pkgname=('jack2')
#pkgname=('jack2' 'jack2-dbus')
#pkgname= # single build (overrides split)
_tarname=jack
pkgver=1.9.10.r293.gc44a220f
pkgrel=1
arch=('i686' 'x86_64')
url="http://jackaudio.org/"
backup=(etc/security/limits.d/99-audio.conf)
license=('GPL')
makedepends=('python2-dbus' 'celt' 'opus' 'libsamplerate' 'git' 'libffado')
source=("git+https://github.com/jackaudio/jack2"
        '99-audio.conf'
        '40-hpet-permissions.rules')
md5sums=('SKIP'
         'ae65b7c9ebe0fff6c918ba9d97ae342d'
         '471aad533ff56c5d3cbbf65ce32cadef')

_gitname='jack2'

_pyfix() {
  sed -i 's:bin/env python:bin/env python2:' \
    "$pkgdir/usr/bin/jack_control"
}

_wafconf() {
  # default=64,  AUR=128,  kxstudio=256  --clients= 
  # default=768, AUR=1536, kxstudio=2048 --ports-per-application= 

  python2 waf configure --prefix=/usr \
    --clients=64 --ports-per-application=768 \
    --alsa  --firewire $@
}

_isbuild() {
  printf "%s\n" ${pkgname[@]} | grep -qx $1
}

pkgver() {
  cd jack2
  echo $(git describe|sed -r 's/^v//;s/([^-]*-g)/r\1/;s/-/./g')
}

#prepare() {
  # we may do 2 different builds
  #cp -r $_gitname $_gitname-dbus
#}

build() {
  cd "$srcdir"

  # mixed dbus/classic build
  if _isbuild jack2; then
    cd $_gitname
    msg2 "Running Mixed D-Bus/Classic build with dbus commented out"
    _wafconf --classic #--dbus
    python2 waf build $MAKEFLAGS
    cd ..
  fi

  # dbus-ONLY build
  #if _isbuild jack2-dbus; then
  #  cd $_gitname-dbus
  #  msg2 "Running D-Bus-only build"
  #  _wafconf --dbus
  #  python2 waf build $MAKEFLAGS
  #  cd ..
  #fi
}

package_jack2() {
  ! _isbuild jack2 && return 0

  pkgdesc="The next-generation JACK with SMP support"
  depends=('libsamplerate' 'opus' 'celt' 'libffado')
  optdepends=('python2-dbus: jack_control')
  conflicts=('jack')
  provides=('jack' 'jackmp' 'jackdmp' 'jackdbus')

  cd "$srcdir/$_gitname"

  python2 waf install --destdir="$pkgdir"

  # fix for major python transition
  _pyfix

  # configure realtime access/scheduling
  install -Dm644 "$srcdir/99-audio.conf" \
    "$pkgdir/etc/security/limits.d/99-audio.conf"

  install -Dm644 "$srcdir/40-hpet-permissions.rules" \
    "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules"
}

package_jack2-dbus() {
  ! _isbuild jack2-dbus && return 0

  pkgdesc="The next-generation JACK with SMP support (for D-BUS interaction only)"
  depends=('libsamplerate' 'celt' 'opus' 'libffado')
  optdepends=('python2-dbus: jack_control')
  conflicts=('jack' 'jack2')
  provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus')

  cd "$srcdir/$_gitname-dbus"

  python2 waf install --destdir="$pkgdir"

  _pyfix

  install -Dm644 "$srcdir/99-audio.conf" \
    "$pkgdir/etc/security/limits.d/99-audio.conf"

  install -Dm644 "$srcdir/40-hpet-permissions.rules" \
    "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules"
}

With a not up to date makepkg.conf ;).

$ ls -hAl /etc/makepkg.conf*
-rw-r--r-- 1 root root 5.7K Feb 26  2016 /etc/makepkg.conf
-rw-r--r-- 1 root root 5.7K May  7  2013 /etc/makepkg.conf-20130715_000209.bak
-rw-r--r-- 1 root root 5.8K Jul  4 11:29 /etc/makepkg.conf.pacnew

[1] https://github.com/jackaudio/jack2/commits/master
[2] https://www.archlinux.org/packages/community-testing/x86_64/jack2/
[3] https://github.com/jackaudio/jack2/issues/288

-- 
$ pacman -Q linux{,-rt{,-cornflower,-pussytoes}}|awk '{print $2}'
4.14.4-1
4.13.13_rt5-1
4.11.12_rt16-1
4.14_rt1-1


More information about the arch-proaudio mailing list