1 (edited by throgh 2021-04-01 22:22:02)

Topic: Hyperbola 0.3 without dbus

Hello everyone,

this is will be an ongoing thread to demonstrate how to get the concurrent stable version 0.3.1 of Hyperbola free from bloatware packages. The following packages should be no longer installed after everything is working:

  • dbus with libdbus included

  • pulseaudio with libpulse and lib32-libpulse included

  • avahi

  • imagemagick as addendum, being using therefore graphicsmagick from the testing-repositories already

As base I'm using a Thinkpad X200 with Libreboot (old stable) installed and therefore a fresh installation of Hyperbola (x86_64). As WM I'm using JWM. Of course others like IceWM are also possible! The generic approach is here also: Testing what's fitting the best for you as Hyperbola is not only strict towards principles of free software, it is also inviting everybody doing modifications.

Please note: You should have some experiences with commands like makepkg and also building your own package using the Arch-standards. If you want some more information about details, have a look here.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

2 (edited by throgh 2021-04-01 21:57:03)

Re: Hyperbola 0.3 without dbus

After the installation of Hyperbola with WM and Xenocara you can start with the compilation of gtk3 itself. Using therefore the official package-sources from the stable-repositories here. The modification needed here is making ATK optional as dependeny. So here is the patch-file, coming up from NetBSD (filename: gtk-optional-atk.patch):

$NetBSD: patch-configure.ac,v 1.2 2014/09/08 12:06:48 wiz Exp $

Make gtk3-atk-bridge an option to avoid unwanted dbus dependency.

--- 1/configure.ac
+++ 2/configure.ac
@@ -1393,8 +1393,13 @@ AC_SUBST(GDK_DEP_CFLAGS)
 # Check for Accessibility Toolkit flags
 ########################################
 
-if test x$enable_x11_backend = xyes; then
+AC_ARG_WITH(atk-bridge,
+           AS_HELP_STRING([--without-atk-bridge], [Do not use atk-bridge-2.0]),
+           :, with_atk_bridge=yes)
+
+if test x$enable_x11_backend = xyes -a x$with_atk_bridge = xyes; then
    ATK_PACKAGES="atk atk-bridge-2.0"
+   AC_DEFINE([HAVE_ATK_BRIDGE], [1], [Define if we're using atk-bridge-2.0])
 else
    ATK_PACKAGES="atk"
 fi
$NetBSD: patch-config.h.in,v 1.2 2014/09/08 12:06:48 wiz Exp $

Make gtk3-atk-bridge an option to avoid unwanted dbus dependency.

--- 1/config.h.in
+++ 1/config.h.in
@@ -10,6 +10,9 @@
 /* Disable deprecation warnings from glib */
 #undef GLIB_DISABLE_DEPRECATION_WARNINGS
 
+/* Define if we're using atk-bridge-2.0 */
+#undef HAVE_ATK_BRIDGE
+
 /* Define to 1 if you have the `bind_textdomain_codeset' function. */
 #undef HAVE_BIND_TEXTDOMAIN_CODESET
 
Make gtk3-atk-bridge an option to avoid unwanted dbus dependency.
--- 1/gtk/a11y/gtkaccessibility.c
+++ 1/gtk/a11y/gtkaccessibility.c
@@ -38,8 +38,10 @@
 #include <gtk/gtkaccessible.h>
 
 #ifdef GDK_WINDOWING_X11
+#ifdef HAVE_ATK_BRIDGE
 #include <atk-bridge.h>
 #endif
+#endif
 
 static gboolean gail_focus_watcher      (GSignalInvocationHint *ihint,
                                          guint                  n_param_values,
@@ -989,8 +991,10 @@ _gtk_accessibility_init (void)
   do_window_event_initialization ();
 
 #ifdef GDK_WINDOWING_X11
+#ifdef HAVE_ATK_BRIDGE
   atk_bridge_adaptor_init (NULL, NULL);
 #endif
+#endif
 
   atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
 }

Afterwards modify the PKGBUILD-script:

# $Id: PKGBUILD 294392 2017-04-24 11:58:32Z jgc $
# Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor (Arch): Ionut Biru <ibiru@archlinux.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>

_pkgbase=gtk+
pkgbase=gtk3
pkgname=(gtk3 gtk-update-icon-cache gtk3-print-backends)
pkgver=3.22.12
_debver=3.22.12
_debrel=1
pkgrel=1.hyperbola2
pkgdesc="GObject-based multi-platform GUI toolkit, without dependencies for dbus"
arch=(i686 x86_64)
url="https://www.gtk.org/"
depends=(atk cairo libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 dconf
         libxcomposite libxdamage pango shared-mime-info wayland libxkbcommon
         adwaita-icon-theme json-glib librsvg wayland-protocols desktop-file-utils mesa)
makedepends=(gobject-introspection libcanberra gtk-doc colord rest libcups glib2-docs quilt)
license=(LGPL)
source=("https://download.gnome.org/sources/$_pkgbase/${pkgver:0:4}/$_pkgbase-$pkgver.tar.xz"
        "https://debian.simnet.is/debian/pool/main/g/gtk+3.0/gtk+3.0_$_debver-$_debrel.debian.tar.xz"
        settings.ini
        gtk-query-immodules-3.0.hook
        gtk-update-icon-cache.hook
        gtk-update-icon-cache.script
        gtk-optional-atk.patch)
sha512sums=('a37121dd4737c68f72f3172830ac3f26faeb09b4040f2a341b04a87cab26876b437777d512ed416a968d68d6a52e0401c045b78c2eac0f87b3b0bf8ef34e3ba9'
            '116aa250397b6e81449bb709ee58a9e498580a6eebe763feec0a2334967d2b756026945c680f3b8b38a52dbf847e9dfde39c7e50cf56d5edd998ce532e02cd26'
            'ad2c0b0388f4169592b9574f0b3db673a969b7c4721548c4ac7c438eddbcdc378fcaac04e2b6c858a1562cc23ddf4804e5f7be08068340b7c9365e2b11ddcfb8'
            'f0ffd95544863f2e10fda81488b4727aa9a8a35a7d39fb96872db6664d03442db2b58af788b5990825c7b3a83681f7220ca481409cca5421dfb39b9a3bbac9ac'
            'abfd73de4faa6f53784182800395aa3c39bb98e15a0eb300fb4142073ff7ce565a0836a2363393b2f132060b5293dbc0c30c380a023f38d5bd39c62cb58389c2'
            '5cd50d93bb6bc203438a2a0764bd717409658e124058b18a1da26a21f10ef7564a16f32fc0633a68b45b2e303fa63a5efefeadd6b0bf1d7f474556df8cdb6c58'
            'cd86ef1f410ba9328ab6c24e558b67864dfc0bee9db118e7a07982140ab06bb64f1ae553df09f0282cba0fecb585ffd467898b90daad354ae7b7dbbfe2e51b01')

prepare() {
  mkdir print-backends
  cd $_pkgbase-$pkgver
  patch -p1 -i ../gtk-optional-atk.patch

  if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian .

    quilt push -av
  fi
}

build() {
  cd $_pkgbase-$pkgver
  autoreconf -i

  CXX=/bin/false ./configure --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --without-atk-bridge \
    --disable-schemas-compile \
    --enable-x11-backend \
    --enable-broadway-backend \
    --enable-wayland-backend \
    --enable-gtk-doc

  #https://bugzilla.gnome.org/show_bug.cgi?id=655517
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool

  make
}

package_gtk3() {
  depends+=(gtk-update-icon-cache)
  optdepends=('libcanberra: gtk3-widget-factory demo'
              'gtk3-print-backends: Printing')
  install=gtk3.install

  cd $_pkgbase-$pkgver
  make DESTDIR="$pkgdir" install

  install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini"
  install -Dm644 ../gtk-query-immodules-3.0.hook "$pkgdir/usr/share/libalpm/hooks/gtk-query-immodules-3.0.hook"

  # split this out to use with gtk2 too
  rm "$pkgdir/usr/bin/gtk-update-icon-cache"

  cd "$pkgdir"
  for _f in usr/lib/*/*/printbackends/*; do
    case $_f in
      *-file.so|*-lpr.so) continue ;;
    esac

    mkdir -p "$srcdir/print-backends/${_f%/*}"
    mv "$_f" "$srcdir/print-backends/$_f"
  done
}

package_gtk-update-icon-cache() {
  pkgdesc="GTK+ icon cache updater"
  depends=(gdk-pixbuf2 hicolor-icon-theme)

  cd $_pkgbase-$pkgver
  install -D gtk/gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
  install -Dm644 ../gtk-update-icon-cache.hook "$pkgdir/usr/share/libalpm/hooks/gtk-update-icon-cache.hook"
  install -D ../gtk-update-icon-cache.script "$pkgdir/usr/share/libalpm/scripts/gtk-update-icon-cache"
}

package_gtk3-print-backends() {
  pkgdesc="Print backends for GTK3"
  depends=(gtk3 rest colord libcups)
  groups=(gnome)

  mv print-backends/* "$pkgdir"
}

# vim:set et sw=2:

You should now be able to make the dependencies towards at-spi2-atk and at-spi2-core complete optional. After compilation you can (re)install gtk3 without dbus-dependencies.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

3

Re: Hyperbola 0.3 without dbus

Please remember here at this point: You only have the first step and package done. When installing for example iceweasel-uxp on your system you will already get libpulse included from the package ffmpeg. So again the look at the official repository and sources to download ffmpeg. Afterwards modify the PKGBUILD-script:

# Maintainer (Arch): Maxime Gauduin <alucryd@archlinux.org>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Ionut Biru <ibiru@archlinux.org>
# Contributor (Arch): Tom Newsom <Jeepster@gmx.co.uk>
# Contributor (Arch): Paul Mattal <paul@archlinux.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgname=ffmpeg
pkgver=3.3.8
pkgrel=5.hyperbola2
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video, without schroedinger support'
arch=('i686' 'x86_64')
url='https://ffmpeg.org/'
license=('GPL-3')
depends=('alsa-lib' 'bzip2' 'fontconfig' 'fribidi' 'glibc' 'gmp' 'gnutls' 'gsm'
         'jack' 'lame' 'libavc1394' 'libiec61883' 'libmodplug'
         'libraw1394' 'libsoxr' 'libssh' 'libtheora' 'libva' 'libvdpau'
         'libwebp' 'libx11' 'libxcb' 'opencore-amr' 'openjpeg2' 'opus'
         'sdl2' 'speex' 'v4l-utils' 'xz' 'zlib'
         'libass.so' 'libbluray.so' 'libfreetype.so' 'libnetcdf.so'
         'libvidstab.so' 'libvorbisenc.so' 'libvorbis.so' 'libvpx.so'
         'libx264.so' 'libx265.so' 'libxvidcore.so')
makedepends=('ladspa' 'libvdpau' 'yasm')
optdepends=('ladspa: LADSPA filters')
replaces=('ffmpeg2.8')
conflicts=('ffmpeg2.8')
provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
          'libavresample.so' 'libavutil.so' 'libpostproc.so' 'libswresample.so'
          'libswscale.so')
source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz")
sha512sums=('06d352c6981495ab85ca27ec7985ed2abe7f9b2d8b48ade21f2f76308605b70ab74ae624697b0d7a4aeedec516d57a6ca451ee2ba7f533c6af62df316761f829')

build() {
  cd ffmpeg-${pkgver}

  ./configure \
    --prefix='/usr' \
    --disable-debug \
    --disable-static \
    --disable-stripping \
    --enable-avisynth \
    --enable-avresample \
    --enable-fontconfig \
    --enable-gmp \
    --enable-gnutls \
    --enable-gpl \
    --enable-ladspa \
    --enable-libass \
    --enable-libbluray \
    --enable-libfreetype \
    --enable-libfribidi \
    --enable-libgsm \
    --enable-libiec61883 \
    --enable-libmodplug \
    --enable-libmp3lame \
    --enable-libopencore_amrnb \
    --enable-libopencore_amrwb \
    --enable-libopenjpeg \
    --enable-libopus \
    --disable-libpulse \
    --disable-libschroedinger \
    --enable-libsoxr \
    --enable-libspeex \
    --enable-libssh \
    --enable-libtheora \
    --enable-libv4l2 \
    --enable-libvidstab \
    --enable-libvorbis \
    --enable-libvpx \
    --enable-libwebp \
    --enable-libx264 \
    --enable-libx265 \
    --enable-libxcb \
    --enable-libxvid \
    --enable-netcdf \
    --enable-shared \
    --enable-version3

  make
  make tools/qt-faststart
  make doc/ff{mpeg,play,server}.1
}

package() {
  cd ffmpeg-${pkgver}

  make DESTDIR="${pkgdir}" install install-man
  install -Dm 755 tools/qt-faststart "${pkgdir}"/usr/bin/
  install -Dm 644 COPYING.GPLv3 "${pkgdir}"/usr/share/licenses/${pkgname}/COPYING.GPLv3
}

# vim: ts=2 sw=2 et:

The point here is to disable the dependencies towards libpulse completely. After the compilation you should be able to remove libpulse completely with:

doas pacman -R libpulse
Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

4

Re: Hyperbola 0.3 without dbus

The next package is sane as it is also needed to recompile colord later on. So download the sources for the package here and modify the PKGBUILD-script:

# Maintainer (Arch): Tobias Powalowski <tpowa@archlinux.org>
# Contributor (Arch): Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor (Arch): Simo L. <neotuli@yahoo.com>
# Contributor (Arch): eric <eric@archlinux.org>
# Contributor (Artix): artoo <artoo@cromnix.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgname=sane
pkgver=1.0.25
_debver=1.0.25
_debrel=4.1
pkgrel=2.hyperbola3
pkgdesc="Scanner Access Now Easy, with OpenRC support"
url="http://www.sane-project.org/"
arch=('i686' 'x86_64')
license=('GPL-2')
depends=('libtiff>=4.0.0' 'libgphoto2' 'libjpeg>=8' 'libusbx' 'libcups' 'libieee1284' 'v4l-utils' 'bash' 'net-snmp')
makedepends=('texlive-latexextra' 'quilt')
backup=(etc/sane.d/{abaton.conf,agfafocus.conf,apple.conf,artec.conf,artec_eplus48u.conf,avision.conf,bh.conf,canon.conf,canon630u.conf,canon_dr.conf,canon_pp.conf,cardscan.conf,coolscan2.conf,coolscan3.conf,coolscan.conf,dc25.conf,dc210.conf,dc240.conf,dell1600n_net.conf,dll.conf,dmc.conf,epjitsu.conf,epson.conf,epson2.conf,epsonds.conf,fujitsu.conf,genesys.conf,gphoto2.conf,gt68xx.conf,hp.conf,hp3900.conf,hp4200.conf,hp5400.conf,hpsj5s.conf,hs2p.conf,ibm.conf,kodak.conf,kodakaio.conf,leo.conf,lexmark.conf,ma1509.conf,magicolor.conf,matsushita.conf,microtek.conf,microtek2.conf,mustek.conf,mustek_pp.conf,mustek_usb.conf,nec.conf,net.conf,p5.conf,pie.conf,pieusb.conf,pixma.conf,plustek.conf,plustek_pp.conf,qcam.conf,ricoh.conf,rts8891.conf,s9036.conf,saned.conf,sceptre.conf,sharp.conf,sm3840.conf,snapscan.conf,sp15c.conf,st400.conf,stv680.conf,tamarack.conf,teco1.conf,teco2.conf,teco3.conf,test.conf,u12.conf,umax.conf,umax1220u.conf,umax_pp.conf,xerox_mfp.conf,v4l.conf} etc/xinetd.d/sane etc/conf.d/saned)
source=(https://debian.simnet.is/debian/pool/main/s/sane-backends/sane-backends_$pkgver.orig.tar.gz
        https://debian.simnet.is/debian/pool/main/s/sane-backends/sane-backends_$_debver-$_debrel.debian.tar.xz
        'sane.xinetd'
        'network.patch'
        'saned.confd'
        'saned.initd')

prepare() {
  cd "${srcdir}/${pkgname}-backends-${pkgver}"

  if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian .

    # Doesn't apply and seems unimportant
    rm -v debian/patches/0005-libsane_deps.patch || true
    rm -v debian/patches/0010-unneeded_doc.patch || true
    rm -v debian/patches/0015-frontend_libs.patch || true
    rm -v debian/patches/0025-multiarch_manpages_libdir.patch || true
    rm -v debian/patches/0035-trim-libraries-in-sane-backends.pc.in.patch || true
    rm -v debian/patches/0110-dll_backend_conf.patch || true
    rm -v debian/patches/0125-multiarch_dll_search_path.patch || true
    rm -v debian/patches/0700-mk_reproducible_results.patch || true
    rm -v debian/patches/0710-sane-desc.c_debian_mods.patch || true

    quilt push -av
  fi

   # fix http://vasks.debian.org/tracker/?func=detail&atid=410366&aid=313760&group_id=30186
   patch -Np1 -i ${srcdir}/network.patch
}

build() {
  cd "${srcdir}/${pkgname}-backends-${pkgver}"

  ./configure --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --with-docdir=/usr/share/doc/sane \
    --disable-avahi \
    --enable-pthread \
    --disable-rpath \
    --enable-libusb_1_0 \
    --disable-locking
  make
}

package () {
  cd "${srcdir}/${pkgname}-backends-${pkgver}"
  make DESTDIR="${pkgdir}" install
  # fix hp officejets
  echo "#hpaio" >> "${pkgdir}/etc/sane.d/dll.conf"
  # install udev files
  install -D -m0644 tools/udev/libsane.rules \
    "${pkgdir}/lib/udev/rules.d/49-sane.rules"
  # fix udev rules
  sed -i 's|NAME="%k", ||g' "${pkgdir}/lib/udev/rules.d/49-sane.rules"

  # install xinetd file
  install -D -m644 "${srcdir}/sane.xinetd" "${pkgdir}/etc/xinetd.d/sane"

  # install pkg-config file
  install -D -m644 tools/sane-backends.pc \
     "${pkgdir}/usr/lib/pkgconfig/sane-backends.pc"

  # install OpenRC files
  install -D -m644 ${srcdir}/saned.confd \
      "${pkgdir}/etc/conf.d/saned"
  install -D -m755 ${srcdir}/saned.initd \
      "${pkgdir}/etc/init.d/saned"

  # install license file
  install -D -m644 COPYING \
     "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}
sha512sums=('b9548646fff13558a4da4a4e9e8bad730f05121bcc65b72d24ded3bfddc6fe574e08c39c8651544b8fbfeab036fffd76cc14d76ef5d5d47e7513a2ce3afcc9df'
            '48c37f62302ece1bf548ac1c62c11d25dfa42f08ed76f81ea7e42ca1f860474c92c90ac8301581fa2744d2ed45f11a98e5f3ddb8e601c444416a93bd0e872ae6'
            '8f9f18d432087e5445aa533be375a811daf320512069c108d41a79121868937e1a7ffa21ee7d33adcf9fbb670bca460ff06423ce39602f35151eccc243d9d4ec'
            '04b65a06d2c76dde6fce501ba823e999eb89ea41573f887f9e7d5347f3aa5e35310fad69313e99f873640e29a9849372d2ff995678593a0781fba73b464bec0d'
            '8f4a99ef24c19b3a7213b3d25ea16f5bca8623735cf25d21e3a706e9e0135ac8cce5d0b8fb8728845977f41dcefe6bd858076d755515fc91b00e05ee5817d751'
            '3dca312125ecaf9da33165a978f877a43b4040638b98d029dfb59909363966e04b85effb613fc92c0e830d8d94d03898da7290303d32d5c4b2d2bfed4665b498')

The depedency towards avahi is removed here.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

5 (edited by throgh 2021-04-01 22:35:38)

Re: Hyperbola 0.3 without dbus

For colord you need the sources and the following modification for the PKGBUILD-script:

# Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor (Arch): Ionut Biru <ibiru@archlinux.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgname=colord
pkgver=1.3.5
pkgrel=1.hyperbola4
pkgdesc="System daemon for managing color devices, with eudev support"
arch=(i686 x86_64)
url="https://www.freedesktop.org/software/colord"
license=(GPL-2)
depends=(lcms2 libgusb polkit sqlite eudev dconf libgudev)
makedepends=(intltool gobject-introspection vala sane bash-completion argyllcms gnome-common
             docbook-utils docbook-sgml perl-sgmls)
optdepends=('sane: scanner support'
            'argyllcms: color profiling')
replaces=(shared-color-profiles)
install=colord.install
source=("https://www.freedesktop.org/software/colord/releases/$pkgname-$pkgver.tar.xz")
sha512sums=('a0084ad2c08ae88c8023b8bade68f6cf25e13c77a6a37ef127b2914e86b06e6a7a783f9ab3585243d975dbbe1120d5daae13bdb586aefe519bf675458683025f')

prepare() {
  cd $pkgname-$pkgver
  NOCONFIGURE=1 ./autogen.sh
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --libexecdir=/usr/libexec/$pkgname \
    --with-systemdsystemunitdir=no \
    --enable-systemd-login=no \
    --with-daemon-user=colord \
    --enable-print-profiles \
    --enable-libcolordcompat \
    --enable-vala \
    --enable-sane \
    --disable-static
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  PATH="$srcdir/path:$PATH" make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install

  # install license
  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"

  # the build system has no colord user, so the chown fails
  chown -R 124:124 "$pkgdir/var/lib/colord"

  # remove systemd stuff
  rm -r "$pkgdir/usr/lib/systemd"
}

# vim:set ts=2 sw=2 et:

The goal here is to rebuild the package without dependencies towards dbus so you can remove dbus later on without problems. The rebuild of colord will take a moment as there are colour-profiles being also created at runtime.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

6

Re: Hyperbola 0.3 without dbus

Congratulations, at this point it should be possible to remove dbus (and if already installed libdbus). So doing this:

doas pacman -R dbus
doas pacman -R libdbus (if installed)
doas pacman -R at-spi2-atk
doas pacman -R at-spi2-core

To get those packages not again and also a warning if they should be installed in the future, you can modify the file pacman.conf under /etc/pacman.conf, using the configuration-parameter IgnorePkg:

IgnorePkg = pulseaudio libpulse avahi libdbus dbus
Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

7

Re: Hyperbola 0.3 without dbus

again, thanks for sharing this smile

8

Re: Hyperbola 0.3 without dbus

dikasp2 wrote:

again, thanks for sharing this smile

Sharing this is a pleasure, learning also. smile
Coming up more: Next with applications. Meaning: Gimp, VLC, Inkscape (without imagemagick), mplayer, mpv and smplayer to be used. Also finding alternatives like mirage as image-viewer.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

9

Re: Hyperbola 0.3 without dbus

Up next is to build packages for Qt, first qt5-base. So download the source-code for the package here and modify the PKGBUILD:

# Maintainer (Arch): Felix Yan <felixonmars@archlinux.org>
# Contributor (Arch): Andrea Scarpino <andrea@archlinux.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgbase=qt5-base
pkgname=(qt5-base qt5-xcb-private-headers)
_qtver=5.8.0
pkgver=${_qtver/-/}
_debver=5.8.0+dfsg
_debrel=3
pkgrel=11.hyperbola3.1
arch=('i686' 'x86_64')
url='https://www.qt.io/developers/'
license=('GPL-3' 'LGPL-3' 'FDL-1.3' 'custom:LGPL-Exception-1.1')
pkgdesc='A cross-platform application and UI framework, without systemd support'
depends=('libjpeg-turbo' 'xcb-util-keysyms' 'xcb-util-renderutil' 'libgl' 'fontconfig'
         'xcb-util-wm' 'libxrender' 'libxi' 'sqlite' 'xcb-util-image' 'icu'
         'tslib' 'libinput' 'libsm' 'libxkbcommon-x11' 'libproxy' 'libcups' 'libressl')
makedepends=('libfbclient' 'libmariadbclient' 'sqlite' 'unixodbc' 'postgresql-libs' 'alsa-lib' 'gst-plugins-base-libs'
             'gtk3' 'cups' 'freetds' 'quilt')
optdepends=('qt5-svg: to use SVG icon themes'
            'postgresql-libs: PostgreSQL driver'
            'libmariadbclient: MariaDB driver'
            'unixodbc: ODBC driver'
            'libfbclient: Firebird/iBase driver'
            'freetds: MS SQL driver'
            'gtk3: GTK platform plugin')
conflicts=('qtchooser')
groups=('qt' 'qt5')
_pkgfqn="${pkgbase/5-/}-opensource-src-${_qtver}"
source=("https://distfiles.macports.org/qt5/${_pkgfqn}.tar.xz"
        "https://snapshot.debian.org/archive/debian/20170216T152027Z/pool/main/q/qtbase-opensource-src/qtbase-opensource-src_5.8.0%2Bdfsg-3.debian.tar.xz"
        plasma-crash-1.patch::https://github.com/qt/qtbase/commit/3bd0fd8f.patch
        plasma-crash-2.patch::https://github.com/qt/qtbase/commit/0874861b.patch
        plasma-crash-3.patch::https://github.com/qt/qtbase/commit/baad82d2.patch
        libressl-const-bio.patch
        CVE-2018-15518.patch
        CVE-2018-19870.patch
        CVE-2018-19873.patch
        CVE-2020-0569.patch)
sha512sums=('36a1ba4b0dba02ae65c3b2b0aa3fb3767cbee4dbdf204c9ded7d1700e70144ce85a3a66167f86cc716a1fdd38d832962b2a752e803b0647d03032b2685da5ced'
            '5aaa5cce7023c7f7c946b6a34c76ae1c4477e42cbf3cb9d8c848b4d3d142473abc1d289e0c2326398202c5dd6910aa9237cddd8ecd84317c754cd4cbd0079438'
            'bae1f3ee51913b6766d75110da9302dd6f7f12fdde2c6d8f568c355c1174a7af9cae307704ea35647b32202bd62a23fe26ac0660517b6f6edcbfc5425bf1a2f7'
            'c04cf680f44ed858db2941aa0b86873a07de9ec60d9bddbf4a5ee3586eef1b4d628dceacc38b401099629b4a52fbf0f6031b508135dbb82a8592513bb54c213e'
            '267b6306591e08c83a4478cbfaf9065d1bc6a5b5b70b8f91b4bedf5c1244c88e836ae74ca8adb691d4681111cfb5f568395c50fe5aa67a5c99f6ec907dcd9b2b'
            '5d596a1e53e3eb91beb5bf940861bc7dad7abaf391dd5b070d24f8867241d90c37493ac26b3229a831f82e0943efb1921396acd3d5f1c7c2dc0c37e548aee959'
            '7f4731afbb5df9645cc6489c88dbcfd5d0e79b4ec897b89f660ee5e971d18a986035b1ac3ee256d8642767d9e8a406db23710892a15f157c7ca92bb811c3985b'
            '2f801f4c6c971d499ca753f8a290678b8b8b32ddfb3106e3fb2560ec9db4e60c43f63489b8faaac4ea5d6f2c0a57175f2a3a328be389f974f92cd16d9368e997'
            'cd476121633e5f0c463f3141d766965edf65e6ea63a0b478031763dd33aa4627527eb4828861e31a478a90a3a984200ce733e13ac72b10fae2baa01b95239709'
            'ddeb0a59cf0901b38669314fd2f14dffba63c6cbd06a3d864cd329081cc2b10323ec52053a6ffe7baf5ee8a1e137331acfe5d874c03596660630dd151828da56')

prepare() {
  cd ${_pkgfqn}

  if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian .

    # Doesn't apply and seems unimportant
    rm -v debian/patches/armv4.diff || true
    rm -v debian/patches/gnukfreebsd.diff || true
    rm -v debian/patches/gnukfreebsd_cloexec.diff || true
    rm -v debian/patches/hurd_tilde.diff || true
    rm -v debian/patches/link_fbclient.diff || true
    rm -v debian/patches/vnc_big_endian.diff || true

    quilt push -av
  fi

  # Build qmake using Arch {C,LD}FLAGS
  # This also sets default {C,CXX,LD}FLAGS for projects built using qmake
  sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CFLAGS}|" \
    mkspecs/common/gcc-base.conf
  sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
    mkspecs/common/g++-unix.conf

  # Use python2 for Python 2.x
  find . -name '*.py' -exec sed -i \
    's|#![ ]*/usr/bin/python$|&2|;s|#![ ]*/usr/bin/env python$|&2|' {} +

  # Fix some Plasma taskbar crashes https://bugs.kde.org/show_bug.cgi?id=342763
  patch -p1 -i ../plasma-crash-1.patch
  patch -p1 -i ../plasma-crash-2.patch
  patch -p1 -i ../plasma-crash-3.patch

  # Fix build with LibreSSL 2.8
  patch -p1 -i ../libressl-const-bio.patch

  patch -p1 -i ../CVE-2018-15518.patch
  patch -p1 -i ../CVE-2018-19870.patch
  patch -p1 -i ../CVE-2018-19873.patch
  patch -p1 -i ../CVE-2020-0569.patch
}

build() {
  cd ${_pkgfqn}

  # FS#38796
  [[ "${CARCH}" = "i686" ]] && SSE2="-no-sse2"

  PYTHON=/usr/bin/python2 ./configure -confirm-license -opensource -v \
    -prefix /usr \
    -docdir /usr/share/doc/qt \
    -headerdir /usr/include/qt \
    -archdatadir /usr/lib/qt \
    -datadir /usr/share/qt \
    -sysconfdir /etc/xdg \
    -examplesdir /usr/share/doc/qt/examples \
    -plugin-sql-{psql,mysql,sqlite,odbc,ibase} \
    -system-sqlite \
    -openssl-linked \
    -nomake examples \
    -no-rpath \
    -optimized-qmake \
    -no-dbus \
    -system-harfbuzz \
    -no-use-gold-linker \
    -reduce-relocations ${SSE2}

  make
}

package_qt5-base() {
  pkgdesc='A cross-platform application and UI framework, without systemd support and with libressl support'

  cd ${_pkgfqn}
  make INSTALL_ROOT="${pkgdir}" install

  # Install licenses
  install -d -m755 "${pkgdir}"/usr/share/licenses/${pkgname}
  install -D -m644 LICENSE.{FDL,GPL3,LGPLv3} LGPL_EXCEPTION.txt \
    "${pkgdir}"/usr/share/licenses/${pkgname}

  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
  find "${pkgdir}/usr/lib" -type f -name '*.prl' \
    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

  # Fix wrong qmake path in pri file
  sed -i "s|${srcdir}/${_pkgfqn}|/usr|" \
    "${pkgdir}"/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri

  # Symlinks for backwards compatibility
  for b in "${pkgdir}"/usr/bin/*; do
    ln -s /usr/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
  done
}

package_qt5-xcb-private-headers() {
  pkgdesc='Private headers for Qt5 Xcb, without systemd support'
  license=('LGPL-3' 'custom:LGPL-Exception-1.1')
  depends=("qt5-base=$pkgver")
  optdepends=()
  groups=()
  conflicts=()

  cd ${_pkgfqn}
  install -d -m755 "$pkgdir"/usr/include/qtxcb-private
  cp -r src/plugins/platforms/xcb/*.h "$pkgdir"/usr/include/qtxcb-private/

  # Install licenses
  install -d -m755 "${pkgdir}"/usr/share/licenses/${pkgname}
  install -D -m644 LICENSE.LGPLv3 LGPL_EXCEPTION.txt \
    "${pkgdir}"/usr/share/licenses/${pkgname}
}

Take your time as compilation can last a little bit longer depending on your machine.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

10

Re: Hyperbola 0.3 without dbus

Next to build is qt4 as preparation for other applications also. Sidenote: You won't be able to use keepassxc for example as it is based on dbus per default and demands on the corresponding Qt-module therefore. So having the older Qt-version back in mind. Downloading the source-code here. Afterwards modify the PKGBUILD-script as follows:

# Maintainer (Arch): Felix Yan <felixonmars@archlinux.org>
# Contributor (Arch): Andrea Scarpino <andrea@archlinux.org>
# Contributor (Arch): Pierre Schmitz <pierre@archlinux.de>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgname=qt4
pkgver=4.8.7
_debver=4.8.7+dfsg
_debrel=11
pkgrel=19.hyperbola3
arch=('i686' 'x86_64')
url='https://www.qt.io'
license=('custom:GPL-3+OpenSSL-Linking-Exception' 'LGPL-3' 'FDL-1.3' 'custom:LGPL-Exception-1.1')
pkgdesc='A cross-platform application and UI framework, with libressl support'
depends=('sqlite' 'ca-certificates' 'fontconfig' 'libgl' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
        'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils' 'libmng' 'libressl')
makedepends=('postgresql-libs' 'mariadb' 'unixodbc' 'cups' 'gtk2' 'libfbclient'
             'mesa' 'libxtst' 'quilt')
optdepends=('postgresql-libs: PostgreSQL driver'
            'libmariadbclient: MariaDB driver'
            'unixodbc: ODBC driver'
            'libfbclient: Firebird/iBase driver'
            'libxinerama: Xinerama support'
            'libxcursor: Xcursor support'
            'libxfixes: Xfixes support'
            'icu: Unicode support'
            'sni-qt: StatusNotifierItem (AppIndicators) support')
replaces=('qt<=4.8.4')
conflicts=('qt')
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
source=("https://download.qt.io/archive/qt/4.8/${pkgver}/${_pkgfqn}.tar.gz"
        "https://debian.simnet.is/debian/pool/main/q/qt4-x11/qt4-x11_$_debver-$_debrel.debian.tar.xz"
        'qtconfig-qt4.desktop' 'assistant-qt4.desktop' 'designer-qt4.desktop'
        'linguist-qt4.desktop' 
        'improve-cups-support.patch'
        'moc-boost-workaround.patch'
        'kubuntu_14_systemtrayicon.diff'
        'kde4-settings.patch'
        'glib-honor-ExcludeSocketNotifiers-flag.diff'
        'l-qclipboard_fix_recursive.patch'
        'l-qclipboard_delay.patch'
        'qt4-gcc6.patch' 'qt4-glibc-2.25.patch' 'qt4-icu59.patch'
        'moc-syslib-workaround.patch'
        'patch-src_network_ssl_qsslsocket_openssl_cpp.diff'
        'patch-src_network_ssl_qsslsocket_openssl_symbols_cpp.diff'
        'libressl-2.8.patch')
sha512sums=('f9f81a2e7205e1fd05c8d923dc73244f29aa33f951fa6b7c5c8193449328b37084796b9b71ad0c317e4e6fd00017c10ea5d67b1b2032551cde00548522218125'
            'daa2d747cb997fcb97ce217ebd3b5b33a1da8ccbd945b9560d9ebe005d18f2dcb4508ee92e13b46840fe8aeebaa26b9369759682dd74c6e714a7dd2ca3f23c56'
            'fbcc1ec9ca04b93941c37d02326f33f3a84cb7630ca83f234845eebdb1875676aa8b27553981d8d42b2d5fcf227c7423228f704efc74a5df25a9ae05c5385fda'
            'c08b74d70e557d968672ad3251c70e23d0447f30f5d62bc63f6165cbb8c372e63b96b1e61e8888e48bc4f589705c95951f9e05723cf998963ddb7585b0f2e246'
            '29b3f2b05e27b2c8db3967bb426dfd2ee96e0715e284fc524d58c33fff55756bbb327ba166af943ce5e3fe825b2a3fc44f85c96d5117d25036b3606d7a49047d'
            'fbe3e343678b6cf7f94c97d5fb151028afdfa2fd27a19cbd583da999782f5a71c61a9282fb6284271290b3f5370e6b214b2edd1c05ee1e09d6345389b98be961'
            '4a8f828c79bde81ab1e39c9eaba4ef553582d85b62d6d182dda02820c4c8e046de6a25cc77d228955ed37fbc5b55f697a0a464af0bb3e171849851639e9ef4ee'
            'b4eced1fe34f09baa987be59fd21a02f4209551f491ae113c9d1cc3c44b00494a909808e22db306bcae0ee4c4f996097ce2c23994b2ac067cf9f599da5a5fc71'
            'c987f478e6da84e26ef5085c2a354cf085227e75af84d24b1497cfb046cfed89858bfed21850cf9dc0f5df2b66f9eed3ca8955a8c9df81cdddc9b98257231319'
            'fe70a3032164233107aa71ba076ca420be3e179225c9cfb3b7f3ff192abb0eecddebf8cec681461ab7c615191028415ff88f98047e383d7388fefe9e267e00a4'
            '6d5216e539d93352cd5f5ca98b5296feba702feba1f198f81de650c399076f0161d8ae712ecd79f1c2833b00b5ce7d4c390e33bbeb7e5542c6860a58a6785cab'
            'bd63961bcb695beebe8686142b84bff7702db4d85d737f5c2da927252b931700d03602f80048223cbbb05d85a5ddb9cb818321d756577f84843690b318f0c413'
            '0215f81fd0ed3483d1f79f46a53d9378f7462901410f4bc3f235325974c155454b0e75cba5222180e5ca62099cba7b80419b5fab86380ac6d951b9ae12714444'
            'efe8e1842882b784a14ba137bc6a8a579d5133e579f98c61674f5d3d9b79ff8e895775a79fcf757f7726377cd221396a678d181fa069416b0760a5241d39845a'
            'a19e76d64bbbf148b088e3531135dc3ababd63ea8e71147dcf7d2966802abb2d83b839766882040e5c9efdea2e364d48bc38aa712dd35b850383c7747ffa9745'
            '483b382da8ad57f9792df1ad0c85948992d8293819c2774a381544235d9b6a7498b12beb3f9d7d06c4a814f8ded514973453314d71381368148d2fcbbf854e65'
            '087c76b5076708e9883a43f0fb7ff4016b937034823ec33edc95aab34a3d2dad7b184d8328d15f7efe6f33037e743bbee253d6c5450ee705f246ac755c9288db'
            'dd87bdb2c3e12f5247b5c36ffa9065eb0bfa9040193d48dcf87f25b808cce47aece9b9dadbc238c0aab4b6fc35aa7b6a3ee3aeb0943ee7deef8315e46c21a3af'
            'aaf3c7314c50717dce4697c69c316d516af47dff00c28355789f2e88ccdfb3d556b715a2ba5e54aae36900bb75ac03a15f2930ab4b9ee0e322326171617ac392'
            '413ebafa62f7a39ad569c6ecac47ca32bfe6e87bc07bccf86a732eaf51f152311db172eb197711e0f263e47b7f2c573026b2ee69ab9393b75573c499fa1593a4')

prepare() {
  cd ${_pkgfqn}

  if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian .

    # Doesn't apply and seems unimportant
    rm -v debian/patches/07_trust_dpkg-arch_over_uname-m.diff || true
    rm -v debian/patches/94_armv6_uname_entry.diff || true
    rm -v debian/patches/aarch64_arm64_qatomic_support.patch || true
    rm -v debian/patches/kfreebsd_monotonic_clock.diff || true
    rm -v debian/patches/no-ssl3.patch || true
    rm -v debian/patches/parisc-atomic.patch || true
    rm -v debian/patches/powerpc_designer_gstabs.diff || true
    rm -v debian/patches/powerpcspe.diff || true
    rm -v debian/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-22829.patch || true
    rm -v debian/patches/s390x_jscore.diff || true
    rm -v debian/patches/sh.diff || true
    rm -v debian/patches/x32.diff || true

    quilt push -av
  else
    # http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/
    patch -p1 -i "${srcdir}"/kubuntu_14_systemtrayicon.diff

    # Fix build with GCC6 (Fedora)
    patch -p1 -i "$srcdir"/qt4-gcc6.patch

    # Fix build of Qt4 applications with glibc 2.25 (Fedora)
    patch -p1 -i "$srcdir"/qt4-glibc-2.25.patch
  fi

  # QTBUG#22829
  patch -p1 -i "${srcdir}"/moc-boost-workaround.patch

  # Workaround a bug where newer kernel headers sys/sysmacros.h define macros like major, minor (Void)
  patch -p1 -i "${srcdir}"/moc-syslib-workaround.patch

  # (FS#28381) (KDEBUG#180051)
  patch -p1 -i "${srcdir}"/improve-cups-support.patch

  # FS#45106
  patch -p0 -i "${srcdir}"/kde4-settings.patch

  # fixes for LibreOffice from the upstream Qt bug tracker FS#46436, FS#41648, FS#39819
  # https://bugreports.qt.io/browse/QTBUG-37380
  patch -p1 -i "${srcdir}"/glib-honor-ExcludeSocketNotifiers-flag.diff
  # https://bugreports.qt.io/browse/QTBUG-34614
  patch -p0 -i "${srcdir}"/l-qclipboard_fix_recursive.patch
  # https://bugreports.qt.io/browse/QTBUG-38585
  patch -p0 -i "${srcdir}"/l-qclipboard_delay.patch

  # React to OpenSSL's OPENSSL_NO_SSL3 define (OpenBSD)
  patch -p1 -i "$srcdir"/patch-src_network_ssl_qsslsocket_openssl_cpp.diff
  patch -p1 -i "$srcdir"/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp.diff

  sed -i "s|-O2|${CXXFLAGS}|" mkspecs/common/{g++,gcc}-base.conf
  sed -i "/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g" mkspecs/common/gcc-base-unix.conf
  sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g" mkspecs/common/gcc-base.conf

  cp mkspecs/common/linux{,32}.conf
  sed -i "/^QMAKE_LIBDIR\s/s|=|= /usr/lib32|g" mkspecs/common/linux32.conf
  sed -i "s|common/linux.conf|common/linux32.conf|" mkspecs/linux-g++-32/qmake.conf

  # Fix build with ICU 59 (pld-linux)
  patch -p1 -i "$srcdir"/qt4-icu59.patch

  # Fix build with LibreSSL 2.8 (Void)
  patch -p1 -i "$srcdir"/libressl-2.8.patch
}

build() {
  export QT4DIR="${srcdir}"/${_pkgfqn}
  export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
  export CXXFLAGS+=" -std=gnu++98" # Fix build with GCC 6

  cd ${_pkgfqn}

  ./configure -confirm-license -opensource \
    -prefix /usr \
    -bindir /usr/libexec/qt4/bin \
    -headerdir /usr/include/qt4 \
    -docdir /usr/share/doc/qt4 \
    -plugindir /usr/lib/qt4/plugins \
    -importdir /usr/lib/qt4/imports \
    -datadir /usr/share/qt4 \
    -translationdir /usr/share/qt4/translations \
    -sysconfdir /etc/xdg \
    -examplesdir /usr/share/doc/qt4/examples \
    -demosdir /usr/share/doc/qt4/demos \
    -plugin-sql-{psql,mysql,sqlite,odbc,ibase} \
    -system-sqlite \
    -no-phonon \
    -no-phonon-backend \
    -no-webkit \
    -graphicssystem raster \
    -openssl-linked \
    -nomake demos \
    -nomake examples \
    -nomake docs \
    -silent \
    -no-rpath \
    -optimized-qmake \
    -no-reduce-relocations \
    -no-dbus \
    -no-openvg
  make
}

package() {
    cd ${_pkgfqn}
    make INSTALL_ROOT="${pkgdir}" install

    # install missing icons and desktop files
    install -D -m644 src/gui/dialogs/images/qtlogo-64.png \
      "${pkgdir}"/usr/share/icons/hicolor/64x64/apps/qt4logo.png
    install -D -m644 tools/assistant/tools/assistant/images/assistant.png \
      "${pkgdir}"/usr/share/icons/hicolor/32x32/apps/assistant-qt4.png
    install -D -m644 tools/assistant/tools/assistant/images/assistant-128.png \
      "${pkgdir}"/usr/share/icons/hicolor/128x128/apps/assistant-qt4.png
    install -D -m644 tools/designer/src/designer/images/designer.png \
      "${pkgdir}"/usr/share/icons/hicolor/128x128/apps/designer-qt4.png
    for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
      size=$(echo $(basename ${icon}) | cut -d- -f2)
      install -D -m644 ${icon} \
          "${pkgdir}"/usr/share/icons/hicolor/${size}x${size}/apps/linguist-qt4.png
    done

    install -d "${pkgdir}"/usr/share/applications
    install -m644 "${srcdir}"/{assistant,designer,linguist,qtconfig}-qt4.desktop \
      "${pkgdir}"/usr/share/applications/

    # Useful symlinks for cmake and configure scripts
    install -d "${pkgdir}"/usr/bin
    for b in "${pkgdir}"/usr/libexec/qt4/bin/*; do
      ln -s /usr/libexec/qt4/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt4
    done

    # install licenses
    install -d -m755 ${pkgdir}/usr/share/licenses/${pkgname}
    install -D -m644 LICENSE.{FDL,GPL3,LGPLv3} LGPL_EXCEPTION.txt \
      ${pkgdir}/usr/share/licenses/${pkgname}

    # Fix wrong libs path in pkgconfig files
    find "${pkgdir}/usr/lib/pkgconfig" -type f -name '*.pc' \
      -exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \;

    # Fix wrong bins path in pkgconfig files
    find "${pkgdir}/usr/lib/pkgconfig" -type f -name '*.pc' \
      -exec sed -i 's|/usr/bin/|/usr/libexec/qt4/bin/|g' {} \;

    # Fix wrong path in prl files
    find "${pkgdir}/usr/lib" -type f -name '*.prl' \
      -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;

    # The TGA plugin is broken (FS#33568)
    rm "${pkgdir}"/usr/lib/qt4/plugins/imageformats/libqtga.so
}

Again take your time as compilation last a little bit longer.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

11

Re: Hyperbola 0.3 without dbus

Having qt5-multimedia without pulse-dependecies is nice, so next up: Use the PKGBUILD-script as follows:

# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>

pkgname=qt5-multimedia
_qtver=5.8.0
pkgver=${_qtver/-/}
pkgrel=1
arch=('i686' 'x86_64')
url='http://qt-project.org/'
license=('GPL3' 'LGPL3' 'FDL' 'custom')
pkgdesc='Classes for audio, video, radio and camera functionality'
depends=('qt5-base' 'gst-plugins-base-libs' 'openal')
makedepends=('qt5-declarative' 'gst-plugins-bad')
optdepends=('qt5-declarative: QML bindings' 'gst-plugins-bad: camera support')
groups=('qt' 'qt5')
_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('c8610023cfe036d3ad7c13f6e99892cf')

prepare() {
  mkdir -p build
}

build() {
  cd build

  qmake ../${_pkgfqn}
  make
}

package() {
  cd build
  make INSTALL_ROOT="$pkgdir" install

  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
  find "$pkgdir/usr/lib" -type f -name '*.prl' \
    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

  install -d "$pkgdir"/usr/share/licenses
  ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
}
Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

12 (edited by throgh 2021-04-02 14:11:54)

Re: Hyperbola 0.3 without dbus

As libpulse should be not part of the system - also to exclude any kind of dependencies towards pulseaudio - the package alsa-plugins should be also recreated with the following PKGBUILD-script:

# Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor (Arch): Daniel Ehlers <danielehlers@mindeye.net>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgname=alsa-plugins
pkgver=1.1.1
_debver=1.1.1
_debrel=1
pkgrel=1.hyperbola1
pkgdesc="Extra ALSA plugins, without libpulse support"
arch=(i686 x86_64)
url="https://alsa-project.org/"
license=(LGPL-2.1)
depends=(alsa-lib)
makedepends=(jack ffmpeg quilt)
optdepends=('jack: Jack plugin'
            'ffmpeg: libavcodec resampling plugin, a52 plugin'
            'libsamplerate: libsamplerate resampling plugin'
            'speex: libspeexdsp resampling plugin')
source=("https://www.mirrorservice.org/sites/ftp.alsa-project.org/pub/plugins/$pkgname-$pkgver.tar.bz2"
        "https://deb.debian.org/debian/pool/main/a/alsa-plugins/alsa-plugins_$_debver-$_debrel.debian.tar.xz")
sha512sums=('9dd277cb5cce144ce4e5e0010cebcba0f8634c783e7bcd80ce6d04b198d6de5150a2764df3087a39a468b5fb7c4578de2e252095568e811dedaa5e7ffdbeb7c9'
            '23d48868ded2efcf1e0bc983219d213d8b41a41d3eb5f4c1863fafb5a157475bd8cba68f157a22aac2ba5fad25fe6a57aae55ffa67ca465021c60840d8f57363')

prepare() {
  cd $pkgname-$pkgver
  if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian .

    quilt push -av
  fi
}

build() {
  cd $pkgname-$pkgver
  CFLAGS+=' -DHAVE_STDINT_H' # We have issue similar to this one https://code.google.com/p/cantata/issues/detail?id=627
  ./configure --prefix=/usr
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install

  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
  install -d "$pkgdir/usr/share/doc/$pkgname"
  install -m644 doc/README* doc/*.txt "$pkgdir/usr/share/doc/$pkgname/"
  rm -v "$pkgdir/usr/share/doc/$pkgname/README-pulse"
}
Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

13

Re: Hyperbola 0.3 without dbus

Now after rebuilding most basic packages there is the first application to be rebuild without dbus, meaning therefore VLC as mediaplayer. So the sources can be downloaded here. Afterwards use the following modifications for the PKGBUILD-scripts:

# Maintainer (Arch): Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor (Arch): Giovanni Scafora <giovanni@archlinux.org>
# Contributor (Arch): Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor (Arch): Martin Sandsmark <martin.sandsmark@kde.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgname=vlc
_vlcver=3.0.11
# optional fixup version including hyphen
_vlcfixupver=
pkgver=${_vlcver}${_vlcfixupver//-/.r}
pkgrel=1.hyperbola0.backports1
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player, without libmicrodns recommendation, without avahi support and with libeudev support'
url='https://www.videolan.org/vlc/'
arch=('i686' 'x86_64')
license=('LGPL-2.1' 'GPL-2')
depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua'
         'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp' 'libmad'
         'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret'
         'libarchive' 'qt5-base' 'qt5-x11extras' 'qt5-svg' 'freetype2'
         'fribidi' 'harfbuzz' 'fontconfig' 'libxml2' 'gnutls'
         'wayland-protocols') # libplacebo will be implemented in Canis Major
makedepends=('gst-plugins-base-libs' 'live-media' 'libbluray'
             'flac' 'libdc1394' 'libavc1394' 'libcaca' 'gtk3'
             'librsvg' 'libgme' 'xosd' 'twolame' 'aalib' 'libeudev'
             'libmtp' 'libupnp' 'libdvdcss' 'smbclient'
             'vcdimager' 'libssh2' 'mesa' 'protobuf' 'libnfs' 'mpg123'
             'libdvdread' 'libdvdnav' 'libogg' 'libshout' 'libmodplug' 'libvpx'
             'libvorbis' 'speex' 'opus' 'libtheora' 'libpng' 'libjpeg-turbo'
             'libx265.so' 'libx264.so' 'zvbi' 'libass' 'libkate' 'libtiger'
             'sdl_image' 'alsa-lib' 'jack' 'libsamplerate' 'libsoxr'
             'lirc' 'libgoom2' 'projectm' 'chromaprint' 'aribb24')
optdepends=('gst-plugins-base-libs: for libgst plugins'
            'libdvdcss: decoding encrypted DVDs'
            'libavc1394: devices using the 1394ta AV/C'
            'libdc1394: IEEE 1394 access plugin'
            'kwallet: kwallet keystore'
            'libva-vdpau-driver: vdpau backend nvidia'
            'libva-intel-driver: video backend intel'
            'libbluray: Blu-Ray video input'
            'flac: Free Lossless Audio Codec plugin'
            'twolame: TwoLAME mpeg2 encoder plugin'
            'libgme: Game Music Emu plugin'
            'vcdimager: navigate VCD with libvcdinfo'
            'libmtp: MTP devices discovery'
            'libeudev: udev services discovery'
            'smbclient: SMB access plugin'
            'libcdio: audio CD playback'
            'ttf-freefont: subtitle font '
            'ttf-dejavu: subtitle font'
            'libssh2: sftp access'
            'libnfs: NFS access'
            'mpg123: mpg123 codec'
            'protobuf: chromecast streaming'
            'lua-socket: http interface'
            'live-media: RTSP input'
            'libdvdread: DVD input module'
            'libdvdnav: DVD with navigation input module'
            'libogg: Ogg and OggSpots codec'
            'libshout: shoutcast/icecast output plugin'
            'libmodplug: MOD output plugin'
            'libvpx: VP8 and VP9 codec'
            'libvorbis: Vorbis decoder/encoder'
            'speex: Speex codec'
            'opus: opus codec'
            'libtheora: theora codec'
            'libpng: PNG support'
            'libjpeg-turbo: JPEG support'
            'librsvg: SVG plugin'
            'x264: H264 encoding'
            'x265: HEVC/H.265 encoder'
            'zvbi: VBI/Teletext decoding'
            'libass: Subtitle support'
            'aribb24: ARIB subtitles'
            'libkate: Kate codec'
            'libtiger: Tiger rendering for Kate streams'
            'sdl_image: SDL image support'
            'aalib: ASCII art video output'
            'libcaca: colored ASCII art video output'
            'alsa-lib: ALSA audio output'
            'jack: jack audio server'
            'libsamplerate: audio Resampler'
            'libsoxr: SoX audio Resampler'
            'chromaprint: Chromaprint audio fingerprinter'
            'lirc: lirc control'
            'libgoom2: Goom visualization'
            'projectm: ProjectM visualisation'
            'ncurses: ncurses interface'
            'gtk3: notification plugin')
conflicts=('vlc-plugin')
replaces=('vlc-plugin')
options=('!emptydirs')
source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz
        update-vlc-plugin-cache.hook
        lua53_compat.patch)
sha512sums=('8219cc46e434c7b2f12321d4e1b21eae123a546eeb22f768c463537a4a4986ab395053f8a794628cfd17236f81665f12b2b3f6867af73b102b81628204b6c444'
            '80357bae69e32b353d3784932d854e294906798e14faffb87c3383c3b6f6bdc57cbabb9c6e3f3c1adf0f8ddbb24153e72104c963cf1934970c2983c96daef9df'
            '33cda373aa1fb3ee19a78748e2687f2b93c8662c9fda62ecd122a2e649df8edaceb54dda3991bc38c80737945a143a9e65baa2743a483bb737bb94cd590dc25f')

prepare() {
  cd ${pkgname}-${_vlcver}
  sed -e 's:truetype/ttf-dejavu:TTF:g' -i modules/visualization/projectm.cpp
  sed -e 's|-Werror-implicit-function-declaration||g' -i configure
  sed 's|whoami|echo builduser|g' -i configure
  sed 's|hostname -f|echo arch|g' -i configure
  local src
  for src in "${source[@]}"; do
    src="${src%%::*}"
    src="${src##*/}"
    [[ $src = *.patch ]] || continue
    msg2 "Applying patch $src..."
    patch -Np1 < "../$src"
  done
}

build() {
  cd ${pkgname}-${_vlcver}

  export CFLAGS+=" -I/usr/include/samba-4.0"
  export CPPFLAGS+=" -I/usr/include/samba-4.0"
  export CXXFLAGS+=" -std=c++11"
  export LUAC=/usr/bin/luac
  export LUA_LIBS="$(pkg-config --libs lua)"
  export RCC=/usr/bin/rcc-qt5

  ./configure --prefix=/usr \
              --sysconfdir=/etc \
              --with-kde-solid=/usr/share/solid/actions/ \
              --disable-rpath \
              --enable-nls \
              --enable-archive \
              --enable-live555 \
              --enable-dc1394 \
              --enable-dv1394 \
              --enable-dvdread \
              --enable-dvdnav \
              --enable-bluray \
              --disable-opencv \
              --enable-smbclient \
              --enable-sftp \
              --enable-nfs \
              --enable-realrtsp \
              --enable-dvbpsi \
              --enable-gme \
              --enable-ogg \
              --enable-shout \
              --enable-matroska \
              --enable-mod \
              --enable-mpc \
              --enable-mad \
              --enable-mpg123 \
              --enable-gst-decode \
              --enable-avcodec \
              --enable-libva \
              --enable-avformat \
              --enable-postproc \
              --enable-faad \
              --enable-vpx \
              --enable-twolame \
              --disable-fdkaac \
              --enable-a52 \
              --enable-dca \
              --enable-flac \
              --enable-libmpeg2 \
              --enable-vorbis \
              --enable-speex \
              --enable-opus \
              --enable-oggspots \
              --disable-schroedinger \
              --enable-png \
              --enable-jpeg \
              --enable-x264 \
              --enable-x265 \
              --enable-zvbi \
              --enable-libass \
              --enable-kate \
              --enable-tiger \
              --enable-vdpau \
              --enable-wayland \
              --enable-sdl-image \
              --enable-freetype \
              --enable-fribidi \
              --enable-harfbuzz \
              --enable-fontconfig \
              --enable-svg \
              --enable-svgdec \
              --enable-aa \
              --enable-caca \
              --disable-pulse \
              --disable-dbus \
              --enable-alsa \
              --enable-jack \
              --enable-samplerate \
              --enable-soxr \
              --enable-chromaprint \
              --enable-chromecast \
              --enable-qt \
              --enable-skins2 \
              --enable-libtar \
              --enable-ncurses \
              --enable-lirc \
              --enable-goom \
              --enable-projectm \
              --disable-avahi \
              --enable-mtp \
              --enable-upnp \
              --disable-microdns \
              --enable-libxml2 \
              --disable-libgcrypt \
              --enable-gnutls \
              --enable-taglib \
              --enable-secret \
              --enable-kwallet \
              --disable-update-check \
              --disable-notify \
              --disable-libplacebo \
              --enable-vlc \
              --enable-aribsub
  make
}

package() {
  cd ${pkgname}-${_vlcver}

  make DESTDIR="${pkgdir}" install

  for res in 16 32 48 128 256; do
    install -Dm 644 "${srcdir}/vlc-${_vlcver}/share/icons/${res}x${res}/vlc.png" \
                     "${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png"
  done
  install -Dm 644 "${srcdir}/update-vlc-plugin-cache.hook" -t "${pkgdir}/usr/share/libalpm/hooks"

  for i in COPYING{,.LIB}; do
    install -Dm 644 ${i} -t "${pkgdir}/usr/share/licenses/${pkgname}"
  done
}

# vim: ts=2 sw=2 et:
Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

14 (edited by throgh 2021-04-02 15:31:55)

Re: Hyperbola 0.3 without dbus

The package ghostscript is the next to follow. Using therefore the one coming up from testing-repositories here. No need for further modifications, just to compile the package for the concurrent system! Please not: You need also the package jbig2dec for this step.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

15

Re: Hyperbola 0.3 without dbus

Yes, I'm in favor of old computer-games and therefore also about software-synthesizer. Therefore here is the PKGBUILD-modification for fluidsynth without libpulse, using the source-code from here.

# $Id: PKGBUILD 280652 2016-11-14 07:40:07Z bpiotrowski $
# Maintainer (Arch): Ray Rashif <schiv@archlinux.org>
# Contributor (Arch): damir <damir@archlinux.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgname=fluidsynth
pkgver=1.1.6
_debver=1.1.6
_debrel=4
pkgrel=5.hyperbola1
pkgdesc="A real-time software synthesizer based on the SoundFont 2 specifications, with OpenRC support"
arch=('i686' 'x86_64')
url="http://www.fluidsynth.org/"
depends=('jack')
makedepends=('cmake' 'ladspa' 'doxygen' 'quilt')
license=('LGPL')
backup=("etc/conf.d/$pkgname")
install=$pkgname.install
source=("https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
        "https://debian.simnet.is/debian/pool/main/f/fluidsynth/fluidsynth_$_debver-$_debrel.debian.tar.xz"
        'fluidsynth.confd'
        'fluidsynth.initd')
sha512sums=('2dcb8a8a1634273cc93c45b6e21b87ac45a023c768cffdadda0a4e611eab8d5bbea0e1ba59e5f147488054cfa6fcaf561399ae275a665c76082b8738a80778bb'
            'a9c817b742e70f50015a8ed625865a68164785b85926568f08307b2c7a8f45ebdf3d40f69435ebb0a51c9ef9ba5b5c1ea873d737fc2e983b067ba18074e2f2cd'
            '40081a5f20491b853fa1d346ce9a06ae197f3ed7d98d57250a31d2e1850e7f6128d26b55c045fa2710c693f05c3d640a3ba1d9d6ad5fbe0eed79a9624fdbb645'
            'e4a2a0d8a578f798b5fa58c591e62a5a5565a0a611d807da6dd28e6a0c19f9b02e6bd5474eea619b4541cef6aa82df71e29c693c7e1202728157e9a24b4c8f00')

prepare() {
  cd "$srcdir/$pkgname-$pkgver"

  if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian .

    quilt push -av
  fi
}

build() {
  cd "$srcdir/$pkgname-$pkgver"

  cmake . -DCMAKE_INSTALL_PREFIX=/usr \
          -DCMAKE_BUILD_TYPE=Release \
          -Denable-ladspa=ON \
          -DLIB_SUFFIX=""
  make
}

package() {
  cd "$srcdir/$pkgname-$pkgver"

  make DESTDIR="$pkgdir" install

  install -Dm644 "$srcdir/$pkgname.confd" \
    "$pkgdir/etc/conf.d/$pkgname"
  install -Dm755 "$srcdir/$pkgname.initd" \
    "$pkgdir/etc/init.d/$pkgname"
  sed -e 's|/var/run|/run|g' \
      -e 's|#!/sbin/openrc-run|#!/usr/bin/openrc-run|g' \
      -i "$pkgdir/etc/init.d/$pkgname"
}

# vim:set ts=2 sw=2 et:
Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

16

Re: Hyperbola 0.3 without dbus

Next on the list is mpv, using the source-code from here. The PKGBUILD-script:

# Maintainer (Arch): Christian Hesse <mail@eworm.de>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Eivind Uggedal <eivind@uggedal.com>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgname=mpv
epoch=1
pkgver=0.25.0
_debver=0.25.0
_debrel=2
pkgrel=2.hyperbola4.1
pkgdesc='a free and cross-platform media player, with hypervideo support'
arch=('i686' 'x86_64')
license=('GPL-2')
url='https://mpv.io/'
depends=(
  'ffmpeg' 'lcms2' 'libcdio-paranoia' 'libgl' 'libxss'
  'libxinerama' 'libxv' 'libxkbcommon' 'libva' 'wayland' 'libcaca'
  'desktop-file-utils' 'hicolor-icon-theme' 'xdg-utils' 'lua52' 'libdvdnav'
  'libxrandr' 'jack' 'smbclient' 'rubberband' 'uchardet'
)
makedepends=('mesa' 'python-docutils' 'ladspa' 'waf' 'quilt')
optdepends=('hypervideo: for video-sharing websites playback')
options=('!emptydirs' '!buildflags')
source=("$pkgname-$pkgver.tar.gz::https://github.com/mpv-player/$pkgname/archive/v$pkgver.tar.gz"
        "https://deb.debian.org/debian/pool/main/m/mpv/mpv_$_debver-$_debrel.debian.tar.xz"
        'libre.patch'
        'ytdl_backports.patch')
sha512sums=('eefc574e2995ddf6bd15c9b62986a5ca277c30949b036d57a11bbfb796c11c1e6dd7c313abd91a909dd98ca0f2b0be29ec6b980d0287a5891b42b0ffba926cbf'
            'f8753377b3df430b75a7a7694118fb148c487d04277912b10f061370845a7ca9a3e74a13782f2efcea004a874c866575d319ba72c8e35f34821807832a9f070d'
            '3c42a613031623d0cc38d87bad61786128eddbff581faa82239c0b9226007c0cc9feeead923a0e1c228a3745343aedb25c9208ed27840290fa971c17566824d8'
            '555abef09fbeafc57b2634458818b2cdb50884d75a0114631c9008a34ebfb3ece4441b20c9711ae0a6f1b723fa95ce023c2b1489e1be9cc27dc05704cec8f8bc')

prepare() {
  cd ${pkgname}-${pkgver}

  if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian .

    # Doesn't apply and seems unimportant
    rm -v debian/patches/03_waf.patch || true
    rm -v debian/patches/04_waf-pie.patch || true

    quilt push -av
  fi

  patch -p1 -i ../libre.patch
  patch -p1 -i ../ytdl_backports.patch
}

build() {
  cd ${pkgname}-${pkgver}

  waf configure --prefix=/usr \
    --confdir=/etc/mpv \
    --enable-libarchive \
    --enable-cdda \
    --enable-dvdread \
    --enable-dvdnav \
    --enable-encoding \
    --enable-libmpv-shared \
    --enable-zsh-comp \
    --disable-pulse

  waf build
}

package() {
  cd ${pkgname}-${pkgver}

  waf install --destdir="$pkgdir"

  install -m644 DOCS/{encoding.rst,tech-overview.txt} \
    "$pkgdir"/usr/share/doc/mpv

  install -Dm644 LICENSE \
    "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

17

Re: Hyperbola 0.3 without dbus

For mplayer use the source-code from here. The PKGBUILD-script:

# Maintainer (Arch): Levente Polyak <anthraxx@archlinux.org>
# Contributor (Arch): Ionut Biru <ibiru@archlinux.org>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Hugo Doria <hugo@archlinux.org>
# Maintainer: André Silva <emulatorman@hyperbola.info>
# Contributor: Márcio Silva <coadde@hyperbola.info>

pkgbase=mplayer
pkgname=('mplayer' 'mencoder')
pkgver=1.3.0
_debver=1.3.0
_debrel=6
pkgrel=1.hyperbola1
pkgdesc='Media player for GNU/Linux, without using of UnRAR executable and nonfree faac support'
url='https://www.mplayerhq.hu/'
arch=('i686' 'x86_64' 'armv7h')
license=('GPL')
makedepends=('libxxf86dga' 'libmad' 'libxinerama' 'libmng' 'libxss' 'smbclient' 'aalib' 'jack'
             'libcaca' 'faad2' 'lirc'  'libxvmc' 'enca' 'libdca' 'a52dec' 'libvpx' 'unzip'
             'mesa' 'live-media' 'yasm' 'git' 'mpg123' 'ladspa' 'libcdio-paranoia' 'subversion'
             'x264' 'libx264' 'rtmpdump' 'libdvdcss' 'libdvdread' 'libdvdnav' 'ffmpeg' 'quilt')
options=('!buildflags' '!emptydirs')
source=(https://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.3.0.tar.xz
        https://debian.simnet.is/debian/pool/main/m/mplayer/mplayer_$_debver-$_debrel.debian.tar.xz
        mplayer.desktop
        include-samba-4.0.patch
        revert-icl-fixes.patch)
sha512sums=('10007e471a941f8a3dabf6149e6e44fc1a364a9ccb5cd08c670fc22560e5053a15f3249e9d3e18cdda06b6b7e77e537026b5d33dc356e928c63747d6ed73dbae'
            'd7310f67dceb281416305d2786ce4c79b54a72e3dfa08e37931d97df7a0ed3feca369e1cbd194c687363160904ebdc13378875c0e2b77af52995a6d376116609'
            'd3c5cbf0035279c6f307e4e225473d7b77f9b56566537a26aa694e68446b9e3240333296da627ad5af83b04cc8f476d1a3f8c05e4cf81cd6e77153feb4ed74bc'
            '9debb8c58b996f6c716c22c86c720bf9dc49b4ee9b76c57519f791667ae1de2cc6f5add878fbf4ac02c6b6fd1865e1bcfa6105e75de4bf7ec596c338ed0cae99'
            '0cae0b26d3d97fd4c962962c43a481de20335369cbca406cadfc9bda1a0608b32f5374e76c477cb9a85bda83a568a1ed17126df224ae61579d0a402c1824aea8')

prepare() {
  cd MPlayer-${pkgver}

  if [[ $pkgver = $_debver ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian/patches debian

    # Doesn't apply and seems unimportant
    rm -v debian/patches/0001_version.patch || true
    rm -v debian/patches/0002_mplayer_debug_printf.patch || true

    quilt push -av
  fi

  patch -p1 < "../include-samba-4.0.patch"
  patch -p0 < "../revert-icl-fixes.patch"
  ./version.sh
}

build() {
  cd MPlayer-${pkgver}

  # CPU detection doesn't work in ARM
  if [ "$CARCH" != "armv7h" ]; then
    extra=--enable-runtime-cpudetection
  fi

  ./configure --prefix=/usr \
    --disable-gui \
    --disable-arts \
    --disable-liblzo \
    --disable-speex \
    --disable-openal \
    --disable-libdv \
    --disable-musepack \
    --disable-esd \
    --disable-mga \
    --disable-ass-internal \
    --disable-faac \
    --disable-unrarexec \
    --disable-cdparanoia \
    --disable-ffmpeg_a \
    --disable-pulse \
    --enable-xvmc \
    --enable-radio \
    --enable-radio-capture \
    --enable-smb \
    --language=all \
    --confdir=/etc/mplayer \
    $extra
  [[ "${CARCH}" = "i686" ]] && sed 's|-march=i486|-march=i686|g' -i config.mak
  make
}

package_mplayer() {
  pkgdesc='Media player for GNU/Linux, without using of UnRAR executable and nonfree faac support'
  backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
  depends=('desktop-file-utils' 'ttf-font' 'enca' 'libxss' 'a52dec' 'libvpx'
           'lirc' 'libx264' 'libmng' 'libdca' 'aalib' 'libxinerama' 'smbclient'
           'jack' 'libmad' 'libcaca' 'libxxf86dga' 'faad2' 'libxvmc' 'mpg123'
           'libcdio-paranoia' 'rtmpdump' 'libdvdnav' 'ffmpeg')
  replaces=('mplayer-libre' 'mplayer-parabola')
  conflicts=('mplayer-libre' 'mplayer-parabola')

  cd MPlayer-${pkgver}
  make DESTDIR="${pkgdir}" install-mplayer install-mplayer-man

  install -Dm 644 etc/{codecs.conf,input.conf,example.conf} "${pkgdir}/etc/mplayer"
  install -Dm 644 "${srcdir}/mplayer.desktop" -t "${pkgdir}/usr/share/applications"
  install -Dm 644 etc/mplayer256x256.png "${pkgdir}/usr/share/pixmaps/mplayer.png"
}

package_mencoder() {
  pkgdesc='Free command line video decoding, encoding and filtering tool, without using of UnRAR executable and nonfree faac support'
  depends=('enca' 'a52dec' 'libvpx' 'libx264' 'libmng' 'libdca' 'smbclient' 'libmad'
           'faad2' 'mpg123' 'libcdio-paranoia' 'rtmpdump' 'libdvdnav' 'ffmpeg')
  replaces=('mencoder-libre' 'mencoder-parabola')
  conflicts=('mencoder-libre' 'mencoder-parabola')

  make -C MPlayer-${pkgver} DESTDIR="${pkgdir}" install-mencoder install-mencoder-man
  find "${pkgdir}/usr/share/man" -name mplayer.1 -exec rename mplayer.1 mencoder.1 {} +
}

# vim: ts=2 sw=2 et:
Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

18

Re: Hyperbola 0.3 without dbus

The package for smplayer, download here. Afterwards following a patch for removing dbus:

(filename: disable-dbus.patch)

diff --git a/src/smplayer.pro b/src/smplayer.pro
index badce22..82890c5 100644
--- a/src/smplayer.pro
+++ b/src/smplayer.pro
@@ -23,10 +23,10 @@
 DEFINES += MINIGUI
 DEFINES += MPCGUI
 DEFINES += SKINS
-DEFINES += MPRIS2
+#DEFINES += MPRIS2
 DEFINES += UPDATE_CHECKER
 DEFINES += CHECK_UPGRADED
-DEFINES += AUTO_SHUTDOWN_PC
+#DEFINES += AUTO_SHUTDOWN_PC
 DEFINES += CAPTURE_STREAM
 DEFINES += BOOKMARKS
 DEFINES += MOUSE_GESTURES

The PKGBUILD-script to follow:

# Maintainer (Arch): Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor (Arch): Ionut Biru <ibiru@archlinux.org>
# Contributor (Arch): Allan McRae <allan@archlinux.org>
# Contributor (Arch): Alessio 'mOLOk' Bolognino <themolok@gmail.com>
# Contributor (Arch): shamrok <szamrok@gmail.com>
# Maintainer (Parabola): Omar Vega Ramos <ovruni@gnu.org.pe>
# Maintainer: André Silva <emulatorman@hyperbola.info>

pkgname=smplayer
pkgver=17.4.2
_debver=17.3.0
_debrel=1
pkgrel=1.hyperbola4
pkgdesc='Media player with built-in codecs that can play virtually all video and audio formats, without nonfree smtube support and with hypervideo support'
url='http://smplayer.sourceforge.net/'
arch=('i686' 'x86_64')
license=('GPL')
depends=('qt5-script' 'mpv' 'hicolor-icon-theme')
makedepends=('qt5-tools' 'quilt')
optdepends=('smplayer-themes: icon themes collection'
            'smplayer-skins: skin themes collection'
            'hypervideo: youtube videos and streaming'
            'mplayer: alternative multimedia engine')
source=(https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2
        https://deb.debian.org/debian/pool/main/s/smplayer/smplayer_$_debver~ds0-$_debrel.debian.tar.xz
        add-missing-QClipboard-include.patch
        libre.patch
        disable-dbus.patch)
sha512sums=('bb0169dc1e2d6b56f3617986647664eda677229bce5b2aa898b64574319a84ac4d51c78f5a68ab57df5dce48c1f76d0d9e0dbdefa5baee351c0a22c2a9cb5186'
            '43982b8c97766b31fff1e6387e31455c47a070460f1d40d25eab17c5035d443e9d09070850f635ed8ef857c64f37bb124c2e16d69c1cbe92744ae576beca0f3f'
            '619b8a236b36518bf0f9984d87384d9c5be10fdbda17598d57736064c0c2d6d9f920c9d3f1eb059ba390670ec28559f0dda6f85757ef8696540c424b08863e39'
            '4f1384395a39abb8b65aa81558372177452bb7d9780af9dfa492db9f1b3fc93d258af2081a19f72bfee37899277fd7b487a616a73c04eaca8ea63925e0c96290'
            'e227b450b35a10ce99bc9abfbf7cdcac68f61796e578b38ba304239c2856033170f5ce7d2c0b746171da30ea3ef6307abbf39d62926f6efa70065ac2f9d84d79')

prepare() {
  cd ${pkgname}-${pkgver}

  if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
    # Debian patches
    export QUILT_PATCHES=debian/patches
    export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
    export QUILT_DIFF_ARGS='--no-timestamps'

    mv "$srcdir"/debian .

    quilt push -av
  fi

  # add missing QClipboard include
  patch -p1 -i ${srcdir}/add-missing-QClipboard-include.patch

  # disable SMTube support and rename youtube-dl to hypervideo
  patch -p1 -i ${srcdir}/libre.patch

  # disable dbus
  patch -p1 -i ${srcdir}/disable-dbus.patch

  # fix GNU/Linux name
  sed -i 's|Linux|GNU/Linux|' src/smplayer.cpp
}

build() {
  cd ${pkgname}-${pkgver}
  make PREFIX=/usr \
    DOC_PATH="\\\"/usr/share/doc/smplayer\\\"" \
    QMAKE_OPTS=DEFINES+=NO_DEBUG_ON_CONSOLE
}

package() {
  cd ${pkgname}-${pkgver}
  make DOC_PATH=/usr/share/doc/smplayer \
    DESTDIR="${pkgdir}" PREFIX=/usr install
}

# vim: ts=2 sw=2 et:
Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

19

Re: Hyperbola 0.3 without dbus

the script works like a charm.

but may i suggest to ditch qt and adopt only gtk and others tough ?

i think qt is one of those software that not being believevable. ditching qt will save very big labor work.

gtk also had provided many qt equivalent apps that we need if we choose to.

qt is fine now but im just affraid they are those libre software that good now but not later.

what are my suspicion ?
- main qt developed by corporate interest
- creeps already crawled and coupled into main component that forcing adoption eg. qtwebengine, makes me doubt the qt future
- attempt of corporate interest, qt lts no longer free (search the web)

contrast to other toolkit:
- it developed mainly by foss people or have flexible design
- creeps might crawled into but at least they not a main component that forcing adoption eg. geoclue
- no attempt for corporate interest outside main toolkit component

note that this is just a proposal that need further discussion, dont be so panicked people smile

20 (edited by throgh 2021-04-04 01:50:37)

Re: Hyperbola 0.3 without dbus

Yes, I have the same problems with Qt and also my throughts about that are the same. There are possibilities so far. But the first thing is: VLC needs qt5-base as basic, so I had to rebuild them. Looking here: https://wiki.videolan.org/Interfaces/

The alternative would be: Doing a fork for Qt within the concurrent "open-source"-edition. But there seems not that much interest from the community into that. sad

In fact there are many applications and also frameworks depending onto Qt, that it would be really complicated to ditch everything - even as I'm in favor of that. But as I've searched for an alternative towards VLC and found not so many. Most of them also depending again onto dbus, parole for example. Proposal: First restricting packages like qt-webkit. Furthermore collecting GTK-alternatives for ditching Qt finally outside of Hyperbola / HyperbolaBSD within the future.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!