1

Topic: [Collection] Packages never getting into the repositories or not ready

Hello together,

within this thread I want to collect PKGBUILDs for components and more never getting into the repositories for obvious reasoning: They cannot be part of our future HyperbolaBSD, but nevertheless they can be also helpful on other ways like motivation to learn more about packaging. For the beginning here is libstdc++5, not finally tested under chroot, so I will look after it later on again.

PKGBUILD

# Maintainer (Arch): JustKidding <jk@vin.ovh>
# Contributor (Arch): Jan de Groot <jgc@archlinux.org>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=libstdc++5
pkgver=3.3.6
pkgrel=1
pkgdesc="GNU Standard C++ library version 3"
arch=('i686' 'x86_64')
url='https://gcc.gnu.org'
license=('GPL-2' 'LGPL-2.1')
depends=('gcc-libs')
makedepends=('gcc' 'binutils' 'bash')
options=('!makeflags')
source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++}-${pkgver}.tar.bz2
        gcc-3.4.3-no_multilib_amd64.patch
        gcc-3.4.6-ucontext.patch
        siginfo.patch)
sha512sums=('6a68d5b293f4a2cca28b6443de88189b704e5b5fd80b50c3ac3ee5679b6fac2cb915a9744a82cdce0bc4b69609ab1a285cddd9a0021e127f9625f1be18bdffd8'
            '41d828f32e8acf38e14bc84930d453a01aaa54d26f8cd1f5959b2a27cef4c3b208acc3a9b0b56404f6f65f0771357dc8b5e42e4b4ab0589b45681ec7a48f620f'
            '27681d69284628717f9cfad3615e5653b9c7ddbde3c3ed78bf015083409f1852e1275cd9a33511de4a23f9daced3d79797bd81d6b8c95647760c420d23d43154'
            'f9eab82e2297c25d13181857ee5994e4f3ecb59598d0183e09a7be005769a2427c2b1006b1f96391afe7fc461bb598eb5ead71e9eca5d0482ee870855b8cca56'
            '9e69a80a9e3f154ef3ba97777a1218fabfa402466d3b1ca4c38cf931739860d8dc5d58089fa3cf1300465f46984bd6efaf56651f0264710fec44d3dbbfd8bb71')

prepare() {
  cd gcc-$pkgver

  patch -Np1 -i $srcdir/gcc-3.4.3-no_multilib_amd64.patch
  # fix build issue with recent gcc
  sed -i "s#O_CREAT#O_CREAT, 0666#" gcc/collect2.c

  # No fixincludes
  sed -e 's@\./fixinc\.sh@-c true@' \
      -e '# Clean up some warnings that arent our business' \
      -e 's:-Wstrict-prototypes::g' \
      -e 's:-Wtraditional::g' \
      -e 's:-pedantic::g' \
      -e 's:-Wall::g' \
    -i 'gcc/Makefile.in'
  sed -e 's:-Wall -Wtraditional -pedantic::g' -i 'libiberty/configure'

  # Patches are the wrong way to do this
  sed -e '# gcc-3.4.6-ucontext.patch' \
      -e 's:\bstruct ucontext\b:ucontext_t:g' \
      -e '# siginfo.patch' \
      -e 's:\bstruct siginfo\b:siginfo_t:g' \
    -i $(grep --include 'linux*.h' -lrFe $'struct ucontext\nstruct siginfo' gcc/config/)

  mkdir ../gcc-build
}

build(){
  export CFLAGS="-march=${CARCH/_/-} -O2"
  export CXXFLAGS="-march=${CARCH/_/-} -O2"
  export SHELL='/bin/bash' # doesn't work with fish
  unset CPPFLAGS

  cd gcc-build
  CPP=/usr/bin/cpp ../gcc-${pkgver}/configure --prefix=/usr --enable-shared \
      --enable-languages=c++ --enable-threads=posix --enable-__cxa_atexit \
      --disable-multilib --libdir=/usr/lib
  make all-target-libstdc++-v3 BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" -j$(nproc)
}

package() {
  cd gcc-build
  make DESTDIR="${pkgdir}" install-target-libstdc++-v3

  # Remove includefiles and libs provided by gcc
  rm -rf "${pkgdir}"/usr/{include,share/locale}
  rm -f "${pkgdir}"/usr/lib/*.a
  rm -f "${pkgdir}"/usr/lib/libstdc++.so

  # Add licenses
  install -Dm644 "${srcdir}/gcc-$pkgver"/COPYING{,.LIB} -t "${pkgdir}"/usr/share/licenses/$pkgname
}

gcc-3.4.3-no_multilib_amd64.patch

--- gcc-3.4.3/gcc/config/i386/t-linux64
+++ gcc-3.4.3/gcc/config/i386/t-linux64
@@ -6,7 +6,7 @@
 
 MULTILIB_OPTIONS = m64/m32
 MULTILIB_DIRNAMES = 64 32 
-MULTILIB_OSDIRNAMES = ../lib64 ../lib
+MULTILIB_OSDIRNAMES = . ../lib
 
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib

gcc-3.4.6-ucontext.patch

--- gcc-3.4.6/gcc/config/i386/linux64.h
+++ gcc-3.4.6/gcc/config/i386/linux64.h
@@ -90,7 +90,7 @@
     if (*(unsigned char *)(pc_+0) == 0x48                \
     && *(unsigned long *)(pc_+1) == 0x050f0000000fc0c7)        \
       {                                    \
-    struct ucontext *uc_ = (CONTEXT)->cfa;                \
+    ucontext_t *uc_ = (CONTEXT)->cfa;                \
     sc_ = (struct sigcontext *) &uc_->uc_mcontext;            \
       }                                    \
     else                                \
@@ -160,7 +160,7 @@
       struct siginfo *pinfo;                    \
       void *puc;                            \
       struct siginfo info;                        \
-      struct ucontext uc;                        \
+      ucontext_t uc;                        \
     } *rt_ = (CONTEXT)->cfa;                    \
     sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext;        \
       }                                    \

siginfo.patch

--- gcc/config/i386/linux.h.orig    2014-04-28 10:00:16.556121683 +0000
+++ gcc/config/i386/linux.h    2014-04-28 10:00:43.105959247 +0000
@@ -257,9 +257,9 @@
       {                                    \
     struct rt_sigframe {                        \
       int sig;                            \
-      struct siginfo *pinfo;                    \
+      siginfo_t *pinfo;                    \
       void *puc;                            \
-      struct siginfo info;                        \
+      siginfo_t info;                        \
       struct ucontext uc;                        \
     } *rt_ = (CONTEXT)->cfa;                    \
     sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext;        \

To underline again: Those packages will never get any kind of commit as they depend fully on GNU/Linux and will only run within that.

Also to note: Please use ONLY packages with full free, libre and permissive licensing!

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

Re: [Collection] Packages never getting into the repositories or not ready

smstools as possible service for hosting a SMS-gateway.

PKGBUILD

# Maintainer (Arch): Denis Yantarev <denis dot yantarev at gmail dot com>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=smstools
pkgver=3.1.21
_debver=$pkgver
_debrel=4
pkgrel=1
pkgdesc="Free and libre SMS gateway which can send and receive messages through GSM modems and mobile phones"
arch=('i686' 'x86_64')
url='http://smstools3.kekekasvi.com/'
license=('GPL')
backup=('etc/smsd.conf'
        'etc/logrotate.d/smsd')
#install=smsd.install
depends=('bash')
makedepends=('quilt')
source=("https://deb.debian.org/debian/pool/main/s/smstools/${pkgname}_${pkgver}.orig.tar.gz"
        "https://deb.debian.org/debian/pool/main/s/smstools/smstools_${_debver}-${_debrel}.debian.tar.xz"
    "smsd.conf"
    "smsd.logrotate"
        "smsd.initd")
sha512sums=('0587e5020a0318351ca99b68baa1c19411824279055857a5b5aa4e346cae373fe94a811eaca6767bcf991cf849eaaa66ec120f046420531a6088cdde9373db31'
            'ae2317ba5b15868049bae93b5c19b65613b1d2ffe0c67c8b7b2222307b1a020b3ea65ec2e10e16d67bae10b74e144ab7d6dbef7624d08b0192738e5b2106a551'
            '79d6a47706e591ede00609d7df26ae6bcec74ace80703d34ab8f9c3f492b0f791a5e59a0793c935edf4cdb36f7e9db3f92f4cf83052f6829bc8c119a103980ca'
            'be17eaa869efb298533e4dffc05a07674b73b9497127e4f92e1d0a619a526ebcd562948da11c6e04ed6a0f9162336316d3ea3a47eee17386a16528f703060c41'
            '0ea806c9754b96f6e94269c0beb334027f3d4ca50c7afe20ce2145369fd5e4ce88dc43242ec0b5f681209a3d128697c9d624b8ef7e150f856c7559fcca2f5614')

prepare() {
  mv "smstools3" "$pkgname-$pkgver"
  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 .

    # Doesn't apply
    rm -v debian/patches/enable-statistics.patch || true
    rm -v debian/patches/gcc10.patch || true
    rm -v debian/patches/hardening.patch || true
    rm -v debian/patches/kfreebsd.patch || true

    quilt push -av
  fi
}

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

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

  install -Dm755 src/smsd -t $pkgdir/usr/sbin

  cd ./scripts
  for bin in sendsms sms2html sms2unicode unicode2sms; do
    install -Dm755 $bin -t $pkgdir/usr/bin
  done

  install -Dm644 $srcdir/smsd.conf $pkgdir/etc/smsd.conf
  install -Dm755 $srcdir/smsd.initd $pkgdir/etc/init.d/smsd
  install -Dm644 $srcdir/smsd.logrotate $pkgdir/etc/logrotate.d/smsd

  mkdir -p $pkgdir/var/spool/sms/incoming
  mkdir -p $pkgdir/var/spool/sms/outgoing
  mkdir -p $pkgdir/var/spool/sms/checked
  chmod 0750 $pkgdir/var/spool/sms
  chmod 0770 $pkgdir/var/spool/sms/*

  mkdir -p $pkgdir/var/log/smsd
  chmod 0770 $pkgdir/var/log/smsd
}

smsd.conf

# Example smsd.conf. Read the manual for a description

devices = GSM1
logfile = /var/log/smsd/smsd.log
loglevel = 7

[GSM1]
device = /dev/ttyS0
incoming = yes
#pin = 1111

smsd.initd

#!/sbin/openrc-run

command="/usr/sbin/smsd"
pidfile="/run/smsd/smsd.pid"
command_args="-p $pidfile -i ${pidfile%/*}/smsd.working}"
: ${command_user:=smsd}
: ${command_group:=smsd}
: ${cfgfile:=/etc/smsd.conf}

depend() {
    after firewall
}

start_pre() {
    checkpath --directory --owner $command_user:$command_group ${pidfile%/*} \
        /var/log/smsd \
        /var/spool/sms/incoming \
        /var/spool/sms/outgoing \
        /var/spool/sms/checked
}

smsd.logrotate

/var/log/smsd/smsd.log {
    notifempty
    missingok
    sharedscripts
    copytruncate
    su root smsd
}
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: [Collection] Packages never getting into the repositories or not ready

The emulator noods:

PKGBUILD

# Maintainer (Arch): Darvin Delgado <dnmodder@gmail.com>
# Contributor: Tobias Dausend <throgh@hyperbola.info>

pkgname=noods
pkgver=202210
pkgrel=1
pkgdesc="A (hopefully!) speedy NDS emulator."
arch=('i686' 'x86_64')
url='https://github.com/Hydr8gon/NooDS'
license=('GPL-3')
depends=('wxgtk3' 'portaudio')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Hydr8gon/NooDS/archive/refs/tags/release.tar.gz")
sha512sums=('8e4f77182eed0e75a904670dbfd33ad0b2f0f9464671fd9b2e88c1e9c9ffc541cdfff82432c0e661983772321d2d645a9ca81a7fc356243bdf55c73dbc251154')

prepare() {
  mv "NooDS-release" "NooDS-$pkgver"
}

build() {
  cd "$srcdir/NooDS-$pkgver"
  make
}

package() {
  cd "$srcdir/NooDS-$pkgver"
  make DESTDIR="$pkgdir/usr" install
  install -Dm644 LICENSE -t "$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!

4

Re: [Collection] Packages never getting into the repositories or not ready

I underline again the purpose of this thread and therefore also the invitation of everyone being interested to share own packages: The point about this is to share personal packages, which will never be part of Hyperbola out of reasoning. It may be the focus of the application, the used base (as we won't support the GNU glibc for a longer)or something else. For smstools I'm not even sure if it could run completely because there is need for a GSM modem. Nevertheless I have shared the package back on the state I have left it when getting into that service.

It is an idea, a motivation for learning together. Feel free to be invited and perhaps we find packages nevertheless being ready for added later on? Remember therefore: Hyperbola is not that big. But it has that kind of a flexible base so you can update, add or remove on your own and build it on your needs. wink

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

Re: [Collection] Packages never getting into the repositories or not ready

Possible package for stratagus:

PKGBUILD

# Maintainer (Arch): Angelo Theodorou <encelo at users dot sourceforge dot net>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=stratagus
pkgver=3.3.2
pkgrel=1
pkgdesc="A free and libre cross-platform real-time strategy gaming engine"
arch=('i686' 'x86_64')
url='https://github.com/Wargus/stratagus'
license=('GPL-2')
depends=('sdl2_image' 'sdl2_mixer' 'libmng' 'libtheora' 'tolua++')
makedepends=('cmake' 'glu')
groups=('games')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Wargus/stratagus/archive/refs/tags/v${pkgver}.tar.gz")
sha512sums=('0e5d0127ba4e1025ceb7f46c91d90b82dc7c1b194030738abf95bd2c9cadc04d7431f333a514fc6d6b300ea3a1f5c7405bea735471f72fa547031634a23b01d1')

build() {
  cmake -S $pkgname-$pkgver \
  -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX=/usr \
  -DGAMEDIR=/usr/games \
  -DSBINDIR=/usr/games \
  -DLUA_INCLUDE_DIR=/usr/include/lua5.1 \
  -DWITH_STACKTRACE=OFF \
  -Wno-dev

  make -C build
}

package() {
  make -C build DESTDIR=${pkgdir} install
  mv ${pkgdir}/usr/bin/png2stratagus ${pkgdir}/usr/games
  rm -rf ${pkgdir}/usr/bin

  mkdir -p ${pkgdir}/usr/include
  cp ${srcdir}/$pkgname-$pkgver/gameheaders/stratagus-game-launcher.h ${pkgdir}/usr/include
  cp ${srcdir}/$pkgname-$pkgver/gameheaders/stratagus-gameutils.h ${pkgdir}/usr/include
  cp ${srcdir}/$pkgname-$pkgver/gameheaders/stratagus-tinyfiledialogs.h ${pkgdir}/usr/include

  install -Dm644 ${srcdir}/$pkgname-$pkgver/COPYING -t ${pkgdir}/usr/share/licenses/$pkgname
}

No BSD-port available.

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: [Collection] Packages never getting into the repositories or not ready

Possible package  for sharutils:

PKGBUILD

# Maintainer (Arch): Gaetan Bisson <bisson@archlinux.org>
# Contributor (Arch): Kevin Piche <kevin@archlinux.org>
# Contributor (Arch): Tom Newsom <Jeepster@gmx.co.uk>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=sharutils
pkgver=4.15.2
_debver=$pkgver
_debrel=5
pkgrel=1
pkgdesc="Makes so-called shell archives out of many files"
url='https://www.gnu.org/software/sharutils/'
license=('GPL-3')
arch=('i686' 'x86_64')
depends=('perl' 'glibc' 'texinfo')
makedepends=('quilt')
source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}
        "https://deb.debian.org/debian/pool/main/s/sharutils/sharutils_${_debver}-${_debrel}.debian.tar.xz")
sha512sums=('80d0b804a0617e11e5c23dc0d59b218bbf93e40aaf5e9a5401a18ef9cb700390aab711e2b2e2f26c8fd5b8ef99a91d3405e01d02cadabcba7639979314e59f8d'
            'SKIP'
            '9194761e95aa7a72ace68a0a045bfa198eef2bf7195b6b99c1c852b62dec706f34a5d78ffd7777446f0b43678a478c61e734ee73dc5f19a297c03fb7e8e32581')
validpgpkeys=('1F967B15DEB2349CACDF3D71D9204CB5BFBF0221') # Bruce Korb <bkorb@gnu.org>

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
  sed 's/FUNC_FFLUSH_STDIN/-1/g' -i lib/fseeko.c
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  CFLAGS+=' -fcommon'
  ./configure \
    --prefix=/usr \
    --mandir=/usr/share/man \
    --infodir=/usr/share/info
  make
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  make DESTDIR="${pkgdir}" install
  install -Dm644 COPYING -t "${pkgdir}/usr/share/licenses/$pkgname"
}

Port available: https://openports.se/archivers/gshar+gunshar

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 (edited by anthk 2022-12-30 18:58:25)

Re: [Collection] Packages never getting into the repositories or not ready

Attempt for qt5-styleplugins. Incredibily useful with qtct and gtk2/3 theming.
After installing it, install qtct, edit /etc/profile.d/qt5ct.sh with this content:

#!/bin/sh
export QT_QPA_PLATFORMTHEME="qt5ct"

Then run

doas chmod +x /etc/profile.d/qt5ct.sh
. /etc/profile.d/qt5ct.sh
qt5ct

Set your qt5 theme to gtk2 and adapt your fonts accordingly.

Then, log out and login again. Your qt5 applications, such as kristall, will
get your GTK theme.


0001-fix-build-against-Qt-5.15.patch

From 335dbece103e2cbf6c7cf819ab6672c2956b17b3 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
Date: Thu, 28 May 2020 12:35:42 +0200
Subject: [PATCH] fix build against Qt 5.15

With 0a93db4d82c051164923a10e4382b12de9049b45 ("Unify application
palette handling between QGuiApplication and QApplication")
QApplicationPrivate::setSystemPalette is no longer used and necessary.
---
 src/plugins/styles/gtk2/qgtkstyle.cpp   | 2 ++
 src/plugins/styles/gtk2/qgtkstyle_p.cpp | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/plugins/styles/gtk2/qgtkstyle.cpp b/src/plugins/styles/gtk2/qgtkstyle.cpp
index 36169c9..2544593 100644
--- a/src/plugins/styles/gtk2/qgtkstyle.cpp
+++ b/src/plugins/styles/gtk2/qgtkstyle.cpp
@@ -440,7 +440,9 @@ void QGtkStyle::polish(QApplication *app)
     // not supported as these should be entirely determined by
     // current Gtk settings
     if (app->desktopSettingsAware() && d->isThemeAvailable()) {
+#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
         QApplicationPrivate::setSystemPalette(standardPalette());
+#endif
         QApplicationPrivate::setSystemFont(d->getThemeFont());
         d->applyCustomPaletteHash();
         if (!d->isKDE4Session())
diff --git a/src/plugins/styles/gtk2/qgtkstyle_p.cpp b/src/plugins/styles/gtk2/qgtkstyle_p.cpp
index e57b3d8..e71beb0 100644
--- a/src/plugins/styles/gtk2/qgtkstyle_p.cpp
+++ b/src/plugins/styles/gtk2/qgtkstyle_p.cpp
@@ -508,7 +508,9 @@ void QGtkStyleUpdateScheduler::updateTheme()
       if (oldTheme != QGtkStylePrivate::getThemeName()) {
           oldTheme = QGtkStylePrivate::getThemeName();
           QPalette newPalette = qApp->style()->standardPalette();
+#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
           QApplicationPrivate::setSystemPalette(newPalette);
+#endif
           QApplication::setPalette(newPalette);
           if (!QGtkStylePrivate::instances.isEmpty()) {
               QGtkStylePrivate::instances.last()->initGtkWidgets();
-- 
2.26.2

0002-fix-gtk2-background.patch

From 20b0985a77df913585628d49a3b541fb957ae366 Mon Sep 17 00:00:00 2001
From: gamezelda
Date: Thu, 4 Jun 2020 00:06:50 +0200
Subject: [PATCH] fix setting background palette

---
 src/plugins/styles/gtk2/qgtkstyle.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/plugins/styles/gtk2/qgtkstyle.cpp b/src/plugins/styles/gtk2/qgtkstyle.cpp
index 2544593..6138bd2 100644
--- a/src/plugins/styles/gtk2/qgtkstyle.cpp
+++ b/src/plugins/styles/gtk2/qgtkstyle.cpp
@@ -442,6 +442,8 @@ void QGtkStyle::polish(QApplication *app)
     if (app->desktopSettingsAware() && d->isThemeAvailable()) {
 #if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
         QApplicationPrivate::setSystemPalette(standardPalette());
+#else
+        QApplication::setPalette(standardPalette());
 #endif
         QApplicationPrivate::setSystemFont(d->getThemeFont());
         d->applyCustomPaletteHash();
-- 
2.27.0

PKGBUILD

# Maintainer: Eli Schwartz <eschwartz@archlinux.org>

pkgname=qt5-styleplugins
pkgver=5.0.0.20170311
_commit=335dbece103e2cbf6c7cf819ab6672c2956b17b3
pkgdesc='Additional style plugins for Qt5'
pkgrel=34
arch=('x86_64' 'aarch64' 'i686')
url="https://github.com/qt/qtstyleplugins"
license=('LGPL')
depends=('qt5-base' 'gtk2')
source=(
    "${pkgname}-${_commit}.tar.gz::${url}/archive/${_commit}.tar.gz"
    "0001-fix-build-against-Qt-5.15.patch"
    "0002-fix-gtk2-background.patch"
    "${pkgname}.hook"
)
sha512sums=('e8c2d0e9c6b0a47cab04ffd2e9384606638905b63a7c1580f9b629bbcc84ebff19743363ffee3dbd31c3de1dcda684211ad3052932b5aa0081e529afd9cbb14d'
            'f5cedadceb7c4243ba69b5041c6c524223ce742ec9c2c483e706f31e32e9e03e4efb6ed54fa2aada867a7c0145a8f3ec1193377d177c6c77066b5f3ec191e9ce'
            'c39b468c93eaada7d49df9547627fbf91d50292523566ef93287ce0e958b29e6c3635f6e77ad42c4f449a062cc63b68e9f2a24c89524165649f776d205fb5382'
            '5f976142d27eabacd1e1050bb39801d2e4cd68ec7459662e0352541d42d6a75740d3238b5120fb47641a125d6e3200f3a39c304497ac603457e3a97e641dabc2')

prepare() {
    cd qtstyleplugins-${_commit}

    for p in "$srcdir"/*.patch; do
        patch -p1 < "$p"
    done
}

build() {
    cd qtstyleplugins-${_commit}

    qmake PREFIX='/usr' \
        CONFIG+='nostrip' \
        QMAKE_CFLAGS_RELEASE="$CFLAGS" \
        QMAKE_CXXFLAGS_RELEASE="$CXXFLAGS"
    make
}

package() {
    cd qtstyleplugins-${_commit}

    make INSTALL_ROOT="${pkgdir}" install
    install -Dm644 "$srcdir/${pkgname}.hook" "$pkgdir/usr/share/libalpm/hooks/90-${pkgname}.hook"
}

qt5-styleplugins.hook

[Trigger]
Type = Package
Operation = Upgrade
Target = qt5-base

[Action]
Description = Qt5 Upgrade Warning
When = PostTransaction
Exec = /usr/bin/echo "[WARNING] qt5-base was updated, qt5 applications will break until qt5-styleplugins is rebuilt."

8 (edited by aloniv 2022-12-31 16:50:12)

Re: [Collection] Packages never getting into the repositories or not ready

anthk - is it enough after installation of qt5-styleplugins to add
export QT_QPA_PLATFORMTHEME=qt5ct
to .bashrc
(see https://forums.hyperbola.info/viewtopic.php?id=662 )?

9

Re: [Collection] Packages never getting into the repositories or not ready

You want to use lxdm as display-manager? Feel welcome:

PKGBUILD

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): AndyRTR <andyrtr@archlinux.org>
# Contributor (Arch): kiefer <jorgelmadrid@gmail.com>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgbase=lxdm
pkgname=(lxdm-gtk2 lxdm)
pkgver=0.5.3
_debver=$pkgver
_debrel=4
pkgrel=1
pkgdesc="Lightweight X11 Display Manager"
arch=('i686' 'x86_64')
url='https://lxde.org/'
license=('GPL-3')
depends=('gtk2' 'gtk' 'xenocara-server')
makedepends=('intltool' 'iso-codes')
optdepends=('iso-codes: show language names in language chooser')
backup=('etc/lxdm/lxdm.conf'
        'etc/lxdm/Xsession'
        'etc/lxdm/PreLogin'
        'etc/lxdm/LoginReady'
        'etc/lxdm/PostLogin'
        'etc/lxdm/PostLogout'
        'etc/lxdm/PreReboot'
        'etc/lxdm/PreShutdown')
source=("https://downloads.sourceforge.net/lxde/${pkgbase}-${pkgver}.tar.xz"
        "https://deb.debian.org/debian/pool/main/l/lxdm/lxdm_${_debver}-${_debrel}.debian.tar.xz"
        "Xsession"
        "$pkgbase.initd"
        "$pkgbase.run")
sha512sums=('0e3539c595a71cb850c1756dd075b8d477a4e111a4167714057cac06650e9587f338f797f14122e7b2a2f4ad35b38cd7172b83e996758abeeaf0146d65bbc26f'
            '9684600626d7aae469fb8821652a9bd85364f9c76b12dc72ecafd78beaba84821d3e7191fd38e62e81faf6255d7fd3c2ca9b1d977afd282a42d01dda57130331'
            '1ab102ae5bbb5cf18e8bf55ca5ab3fee913efef6406c9e0dd81c3a8e5116baa29eafc428f556e29966f72d46d59f115f9c47aed0ae4d9141f2f79cea5e7761e1'
            '05aa88483d14dbe3003b5f20f396ee061fd87867c14b4c2735a86c010cca4f40af57043f39410a10c9d71beaeef44f1c898a3ee17240d89913a8044c1cfc36ec'
            'b9112d4f50d5fa79900a902fa7ff0597adbc1d7e44ad2e59f41441eb81195556249b6bec078bf30c3fbf43baadb3c9bb5870facbad8adeba54bcc012bc701133')

prepare(){
  cd $pkgbase-$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
    rm -v debian/patches/23_debian-config.patch  || true
    rm -v debian/patches/43-fix-session-pam.patch || true

    quilt push -av
  fi

  # Use our custom Xsession file
  cp ../Xsession data/Xsession

  autoreconf -fi
}

build() {
  # GTK+ 2 version
  [ -d gtk2 ] || cp -r $pkgbase-$pkgver gtk2
  cd gtk2
  ./configure \
    --prefix=/usr \
    --libexecdir=/usr/lib/lxdm \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --without-pam \
    --with-xconn=xcb
  make

  cd "$srcdir"
  # GTK+ 3 version
  [ -d gtk3 ] || cp -r $pkgbase-$pkgver gtk3
  cd gtk3
  ./configure \
    --prefix=/usr \
    --libexecdir=/usr/lib/lxdm \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --without-pam \
    --with-xconn=xcb \
    --enable-gtk3
  make
}

package_lxdm-gtk2() {
  pkgdesc+=' (GTK+ 2 version)'
  depends=('gtk2' 'xenocara-server')

  cd gtk2
  make DESTDIR="$pkgdir" install
  chmod 644 "$pkgdir/etc/lxdm/lxdm.conf"

  # services
  install -Dm755 "$srcdir/$pkgbase.initd" "$pkgdir/etc/init.d/$pkgbase"
  install -Dm755 "$srcdir/$pkgbase.run" "$pkgdir/etc/sv/$pkgbase/run"

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

package_lxdm() {
  pkgdesc+=' (GTK+ 3 version)'
  depends=('gtk' 'xenocara-server')
  conflicts=('lxdm-gtk2')

  cd gtk3
  make DESTDIR="$pkgdir" install
  chmod 644 "$pkgdir/etc/lxdm/lxdm.conf"

  # services
  install -Dm755 "$srcdir/$pkgbase.initd" "$pkgdir/etc/init.d/$pkgbase"
  install -Dm755 "$srcdir/$pkgbase.run" "$pkgdir/etc/sv/$pkgbase/run"

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

lxdm.initd

#!/sbin/openrc-run
supervisor=supervise-daemon

name="Display Manager"
description="Lightweight Display Manager from LXDM"
pidfile=/var/run/lxdm.pid
command=/usr/sbin/lxdm

depends() {
    need localmount
    after bootmisc consolefont modules netmount
    after readahead-list ypbind autofs gpm lircmd
    after acpid openvpn
    before alsasound
    use xfs
    provide display-manager
}

lxdm.run

#!/bin/sh
exec /usr/sbin/lxdm

Xsession

#!/bin/sh
#
# LXDM wrapper to run around X sessions.

echo "Running X session wrapper"

if [ $# -eq 1 -a -n "$1" ]; then
    LXSESSION=$1
else
# default session
    LXSESSION=/usr/bin/startlxde
fi

# Load profile
for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
    if [ -f "$file" ]; then
        echo "Loading profile from $file";
        . "$file"
    fi
done

# Load resources
for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
    if [ -f "$file" ]; then
        echo "Loading resource: $file"
        xrdb -merge "$file"
    fi
done

# Load keymaps
for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
    if [ -f "$file" ]; then
        echo "Loading keymap: $file"
        setxkbmap `cat "$file"`
        XKB_IN_USE=yes
    fi
done

# Load xmodmap if not using XKB
if [ -z "$XKB_IN_USE" ]; then
    for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
        if [ -f "$file" ]; then
           echo "Loading modmap: $file"
           xmodmap "$file"
        fi
    done
fi

unset XKB_IN_USE

# Run all system xinitrc shell scripts
xinitdir="/etc/X11/xinit/xinitrc.d"
if [ -d "$xinitdir" ]; then
    for script in $xinitdir/*; do
        echo "Loading xinit script $script"
        if [ -x "$script" -a ! -d "$script" ]; then
            . "$script"
        fi
    done
fi

# Run user xsession shell script
script="$HOME/.xsession"
if [ -x "$script" -a ! -d "$script" ]; then
    echo "Loading xsession script $script"
    . "$script"
fi

echo "X session wrapper complete, running session $LXSESSION"

exec $LXSESSION
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: [Collection] Packages never getting into the repositories or not ready

aloniv wrote:

anthk - is it enough after installation of qt5-styleplugins to add
export QT_QPA_PLATFORMTHEME=qt5ct
to .bashrc
(see https://forums.hyperbola.info/viewtopic.php?id=662 )?

Yes, but the global profile way could be set by a pacman trigger for convenience.

11

Re: [Collection] Packages never getting into the repositories or not ready

Package libkeybinder3 for peek.

PKGBUILD

# Maintainer (Arch): Felix Yan <felixonmars@archlinux.org>
# Contributor (Arch): Eric Bélanger <eric@archlinux.org>
# Contributor (Arch): speps <speps at aur dot archlinux dot org>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=libkeybinder3
pkgver=0.3.2
_debver=$pkgver
_debrel=1.1
pkgrel=1
pkgdesc="A library for registering global keyboard shortcuts"
arch=('i686' 'x86_64')
url="https://github.com/engla/keybinder/tree/keybinder-3.0"
license=('Expat')
depends=('gtk')
makedepends=('gobject-introspection' 'quilt')
optdepends=('lua-lgi: lua bindings')
source=("https://github.com/kupferlauncher/keybinder/releases/download/keybinder-3.0-v$pkgver/keybinder-3.0-${pkgver}.tar.gz"{,.sig}
        "https://deb.debian.org/debian/pool/main/k/keybinder-3.0/keybinder-3.0_${_debver}-${_debrel}.debian.tar.xz")
sha512sums=('14171875e03ade88165f28c7267b66cf9efe34259d7a3072a786ba49dacf8f8d6d84753b1aeedec5dfb0a24028be86bceeebee2f6b1bf5ef2eb79ee45f909b11'
            'SKIP'
            'e9da66b66af6fac4da958c4aab72d2c08b4c0a53fc396bdc0c15ca64d7906c48810f8e64ef48819eb429b20ec6fd84023d35095a68031d1fc482628a6ef3ecbf')
validpgpkeys=('2578ABA1F9023159DFF211B7368712C4D7A44445') # Ulrik Sverdrup <ulrik.sverdrup@gmail.com>

prepare() {
  cd keybinder-3.0-$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 keybinder-3.0-$pkgver
  ./configure \
    --prefix=/usr \
    --disable-gtk-doc
  make
}

package() {
  cd keybinder-3.0-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 COPYING -t "$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

Re: [Collection] Packages never getting into the repositories or not ready

Package peek

PKGBUILD

# Maintainer (Arch): Filipe Laíns (FFY00) <lains@archlinux.org>
# Contributor (Arch): Philipp Wolfer <ph.wolfer@gmail.com>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=peek
pkgver=1.5.1
pkgrel=1
pkgdesc="Free and libre screen recorder with an easy to use interface"
arch=('i686' 'x86_64')
url='https://github.com/phw/peek'
license=('GPL-3')
depends=('gtk' 'libkeybinder3' 'ffmpeg' 'which')
makedepends=('meson' 'vala' 'appstream-glib' 'txt2man' 'gst-plugin-gtk' 'gst-plugins-ugly')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/phw/peek/archive/refs/tags/${pkgver}.tar.gz")
sha512sums=('dc25f24b1f5954ff26f399f86bf0a2a9b90c4d63c9cd33fcd44f16e447d23070c04e760c57bdc8a946e699c3038b8ee7afc44ce6daa7030e2f9e6f071be6eae4')

build() {
  mkdir $pkgname-$pkgver/build
  cd $pkgname-$pkgver/build
  hyperbola-meson ..
  ninja
}

package() {
  cd $pkgname-$pkgver/build
  DESTDIR="$pkgdir" ninja install

  # remove unneeded parts from package, we don't support D-Bus and its interfaces
  rm -rf "$pkgdir"/usr/share/dbus-1

  install -Dm644 $srcdir/$pkgname-$pkgver/LICENSE -t "$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!

13

Re: [Collection] Packages never getting into the repositories or not ready

Package Nyx - A tool for monitoring tor relays

# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Alex Xu <alex_y_xu@yahoo.ca>

pkgname=nyx
pkgver=2.1.0
pkgrel=5
pkgdesc='Command-line status monitor for tor'
url='https://nyx.torproject.org/'
arch=('any')
license=('GPL3')
depends=('python' 'python-stem' 'procps-ng' 'lsof')
makedepends=('python-setuptools')
optdepends=('tor: tor-server to talk to')
source=(https://files.pythonhosted.org/packages/source/${pkgname::1}/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc})
sha512sums=('69a645cc811a1b1fbd9cf0501d8f23f1a52e0e92a0598097bb0c9efb040e1895e1dd431bad93be36db0e85ca7ac32ee5c866d50d2812069a39e5160b44575a37'
            'SKIP')
validpgpkeys=('68278CC5DD2D1E85C4E45AD90445B7AB9ABBEEC6') # Damian Johnson (www.atagar.com) <atagar1@gmail.com>

prepare() {
  cd ${pkgname}-${pkgver}
  # remove tests requiring full terminal
  rm -r test/{panel,{popups,subwindow,installation}.py}
  # make test exit on error
  sed -E 's|(test_runner.run\(tests\))|__import__("sys").exit(0 if \1.wasSuccessful() else 1)|' -i run_tests.py
}

build() {
  cd ${pkgname}-${pkgver}
  python setup.py build
}

check() {
  cd ${pkgname}-${pkgver}
  ./run_tests.py
}

package() {
  cd ${pkgname}-${pkgver}
  python setup.py install --optimize=1 --root="${pkgdir}" --skip-build
  install -Dm 644 nyx.1 -t "${pkgdir}/usr/share/man/man1"
}

14

Re: [Collection] Packages never getting into the repositories or not ready

You mind, when I take that package and approve it for building for the official repositories?
Checked already the ports-state and all looks quite promising. smile

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: [Collection] Packages never getting into the repositories or not ready

Package rdo works, but application needs further testing:

# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=rdo
pkgver=1.4.2
pkgrel=1
pkgdesc="A simple and lightweight program to grant root-privileges"
arch=('i686' 'x86_64')
url='https://codeberg.org/sw1tchbl4d3/rdo'
license=('GPL-3')
source=("${pkgname}-${pkgver}.tar.gz::https://codeberg.org/sw1tchbl4d3/rdo/archive/${pkgver}.tar.gz")
sha512sums=('3dbf68728ca0463d358a9876d6d027d18a4f05de596f207f09882a585b06523000fde56bd08e028d2553172429d521bd7478dd8aee457f2e96e1ee76d0080bb4')

build() {
  cd $pkgname
  make
}

package() {
  cd $pkgname
  install -oroot -Dm4755 rdo -t "$pkgdir/usr/bin"
  install -oroot -Dm0600 rdo_sample.conf "$pkgdir/etc/"$pkgname.conf
  install -Dvm644 LICENSE -t "$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!

16

Re: [Collection] Packages never getting into the repositories or not ready

throgh wrote:

Package rdo works, but application needs further testing:

# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=rdo
pkgver=1.4.2
pkgrel=1
pkgdesc="A simple and lightweight program to grant root-privileges"
arch=('i686' 'x86_64')
url='https://codeberg.org/sw1tchbl4d3/rdo'
license=('GPL-3')
source=("${pkgname}-${pkgver}.tar.gz::https://codeberg.org/sw1tchbl4d3/rdo/archive/${pkgver}.tar.gz")
sha512sums=('3dbf68728ca0463d358a9876d6d027d18a4f05de596f207f09882a585b06523000fde56bd08e028d2553172429d521bd7478dd8aee457f2e96e1ee76d0080bb4')

build() {
  cd $pkgname
  make
}

package() {
  cd $pkgname
  install -oroot -Dm4755 rdo -t "$pkgdir/usr/bin"
  install -oroot -Dm0600 rdo_sample.conf "$pkgdir/etc/"$pkgname.conf
  install -Dvm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}

This is a godsend man!

I can launch spacefm with this if I need to.

big_smile

Anywho, point being, I already think it might work for most things.

Try doing that with doas and you get a whole bunch of annoyances.

With rdo? Works so far.

HyperbolaBSD: The Future of Secure Libre Lightweight Operating Systems!

17

Re: [Collection] Packages never getting into the repositories or not ready

throgh wrote:

The emulator noods:

PKGBUILD

# Maintainer (Arch): Darvin Delgado <dnmodder@gmail.com>
# Contributor: Tobias Dausend <throgh@hyperbola.info>

pkgname=noods
pkgver=202210
pkgrel=1
pkgdesc="A (hopefully!) speedy NDS emulator."
arch=('i686' 'x86_64')
url='https://github.com/Hydr8gon/NooDS'
license=('GPL-3')
depends=('wxgtk3' 'portaudio')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Hydr8gon/NooDS/archive/refs/tags/release.tar.gz")
sha512sums=('8e4f77182eed0e75a904670dbfd33ad0b2f0f9464671fd9b2e88c1e9c9ffc541cdfff82432c0e661983772321d2d645a9ca81a7fc356243bdf55c73dbc251154')

prepare() {
  mv "NooDS-release" "NooDS-$pkgver"
}

build() {
  cd "$srcdir/NooDS-$pkgver"
  make
}

package() {
  cd "$srcdir/NooDS-$pkgver"
  make DESTDIR="$pkgdir/usr" install
  install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
}

This is outdated anyhow and I haven't tested this in a while on any level.

I will let you know if it becomes stable enough though.

Unless you beat me to the punch.

wink

HyperbolaBSD: The Future of Secure Libre Lightweight Operating Systems!

18

Re: [Collection] Packages never getting into the repositories or not ready

Feel free to modify any PKGBUILD here as you like. smile

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: [Collection] Packages never getting into the repositories or not ready

Package yt-local as we won't readd that package to the repositories. The dependencies will be nevertheless reconstructed soon:

PKGBUILD

# Maintainer: Jesús E. <heckyel@hyperbola.info>
# Contributor: Tobias Dausend <throgh@hyperbola.info>

pkgname=yt-local
pkgver=0.2.3
pkgrel=1
pkgdesc="Browser-based client for watching YouTube anonymously without forcing javascript"
arch=('any')
url='https://c.hgit.ga/software/yt-local.git/about/'
license=('AGPL-3')
depends=('python-wheel' 'python-brotli' 'python-cachetools' 'python-click'
         'python-dataclasses' 'python-defusedxml' 'python-flask'
         'python-gevent' 'python-importlib-metadata' 'python-itsdangerous'
         'python-jinja' 'python-markupsafe' 'python-pysocks' 'python-stem'
         'python-typing_extensions' 'python-urllib3' 'python-werkzeug'
         'python-zipp' 'sqlite')
optdepends=('tor: anonymizing overlay network'
            'gunicorn: WSGI HTTP Server for UNIX')
backup=('usr/share/webapps/yt-local/.yt-local/settings.txt')
source=("https://c.hgit.ga/software/yt-local.git/snapshot/${pkgname}-${pkgver}.tar.lz"{,.asc}
        "yt-local.initd"
        "yt-local.run")
install=${pkgname}.install
sha512sums=('f350f8947e734094977098eb9c1bfdd27bf95756cd65aae886b914b5ffb9fd6a70963a5446a71a8614c473bdb3d702eecb9e4a67deeacdf4b8a7e577dea5d2cd'
            'SKIP'
            'df7e2c779c3b585ccc94f3c3b78f5ef539086851bd71ba692d2c02d0f2ccff27831d7d1070a9c493a292eba802b5fe461fe11165e281c39d09dd881f43536c57'
            '91fd4a44765c4c241419e4510a8c7f71d252a303276ec30242ed9eee5beca6d0cda77484d1ab9f643a58a4a06d6a3162fab98e293030c481e9dbb227adefc117')
validpgpkeys=('4DF21B6A7C1021B25C360914F6EE7BC59A315766') # Jesús E.

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

  install -dm755 "${pkgdir}/usr/sbin/"
  install -dm755 "${pkgdir}/usr/share/webapps/yt-local"

  # bin file
  cat > "${pkgdir}/usr/sbin/yt-local" <<- EOF
#!/bin/bash

cd /usr/share/webapps/yt-local || exit

if [ ! -d /var/run/yt-local ]; then
  install -d /var/run/yt-local
  chown -R yt-local:yt-local /var/run/yt-local
fi

/bin/su -s /bin/bash -c '
python server.py > /dev/null 2>&1 &
echo \$! > /var/run/yt-local/yt-local.pid' yt-local
EOF
  chmod 755 "${pkgdir}/usr/sbin/yt-local"

  declare -a webapp=(
    'youtube' 'server.py' 'settings.py'
  )
  for i in "${webapp[@]}"; do
    cp -rva $i "${pkgdir}/usr/share/webapps/yt-local"
  done
  unset webapp

  install -Dm755 "${srcdir}/yt-local.initd" "${pkgdir}/etc/init.d/yt-local"
  install -Dm755 "${srcdir}/yt-local.run" "${pkgdir}/etc/sv/yt-local/run"

  install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
  install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}"
}

yt-local.initd

#!/sbin/openrc-run
# Distributed under the terms of the GNU General Public License v3 or later
name="yt-local"
pidfile="/var/run/yt-local/yt-local.pid"
command="/usr/sbin/yt-local"

depend() {
    use net
}

start_pre() {
    checkpath --directory --owner yt-local:yt-local --mode 0755 /var/run/yt-local
}

start() {
    ebegin "Starting ${name}"
    start-stop-daemon --start --exec "${command}" --pidfile "${pidfile}"
    eend $?
}

reload() {
    ebegin "Reloading ${name}"
    start-stop-daemon --signal HUP --pidfile "${pidfile}"
    eend $?
}

stop() {
   ebegin "Stopping ${name}"
   start-stop-daemon --quiet --stop --exec "${command}" --pidfile "${pidfile}"
   eend $?
}

yt-local.install

#!/bin/sh

post_install() {
    if ! (grep -q yt-local /etc/group); then
        groupadd --gid 65531 yt-local >/dev/null 2>&1;
    fi

    id yt-local >/dev/null 2>&1 || \
        useradd --system \
                --uid 65531 \
                --gid 65531 \
                --groups yt-local \
                --home-dir /usr/share/webapps/yt-local \
                --shell /bin/false yt-local

    chown -R yt-local:yt-local /usr/share/webapps/yt-local

    echo '>>> YT-Local'
    echo '>>> ============================================================'
    echo '>>> Your configuration will be stored in'
    echo '>>> /usr/share/webapps/yt-local/.yt-local/settings.txt'
    echo '>>> ------------------------------------------------------------'
    echo '>>> enable:  rc-update add yt-local default'
    echo '>>> disable: rc-update del yt-local'
    echo '>>> ------------------------------------------------------------'
    echo '>>> Checking your webapp from http://localhost:9010 by default'
}

pre_remove() {
    rm -f /usr/sbin/yt-local > /dev/null 2>&1
    rm -f /var/run/yt-local > /dev/null 2>&1
    userdel yt-local > /dev/null 2>&1
    groupdel yt-local > /dev/null 2>&1
}

yt-local.run

#!/bin/sh
chpst -U yt-local:yt-local /usr/sbin/yt-local
exec pause 2>&1

For the reasoning: yt-local has the only purpose to make the access towards YouTube more easy. I think it is without any doubt this service is non-free and will always stay that way. So the best case is, that we have some API-access. Whenever the API is changing, the software is rendered unusable. This is work being done running behind an illusion. So Hyperbola is not going for this illusions: But it is on the choice of the user. We besides cannot provide this package any longer as for the access for only one non-free service.

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!

20 (edited by HarvettFox96 2023-02-10 05:10:16)

Re: [Collection] Packages never getting into the repositories or not ready

A package I made called classic-colors.

PKGBUILD

# Maintainer: Jayvee Enaguas <harvettfox96@tilde.club>

pkgname=classic-colors
pkgver=1.0.1.20221210
pkgrel=1
pkgdesc="A simple image drawing and editing program in a look similar to MS Paint"
url="https://github.com/justinmeiners/classic-colors/"
arch=('x86_64' 'i686')
license=('GPL-2')
depends=('openmotif' 'libxpm')
makedepends=('graphicsmagick-imagemagick-compat')
source=("https://tilde.club/~harvettfox96/files/archive/pkg/${pkgname}/${pkgname}-${pkgver}.tar.gz"
        "${pkgname}.desktop")
sha512sums=('9f54e18afa39cc1cb33701749a1049125474baa3493af90c2b8041d1d48e1a2f6eb2b48365deae134f4a21c896598d0166a12e7ca8e910b80b2b28d8fc27c6e8'
            '5e7bbd1ac5b58ae56e635893b8c670513c1f755585f680fe464f7f9e76285f97a7efeb40ced1334033a07eb411939a574ba81f1d72e809eca9408873a0fd5527')

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

  ./configure
  sed -i 's#\"/usr/local#\"/usr#' ui_main.c

  make
}

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

  install -Dm755 bin/${pkgname} -t "${pkgdir}/usr/bin"
  install -Dm644 help/* -t "${pkgdir}/usr/share/${pkgname}/help"
  install -Dm644 ${srcdir}/${pkgname}.desktop -t "${pkgdir}/usr/share/applications"
  install -Dm644 icons/icon_app.png "${pkgdir}/usr/share/icons/hicolor/24x24/apps/${pkgname}.png"
  install -Dm644 icons/icon_app.xpm "${pkgdir}/usr/share/pixmaps/${pkgname}.xpm"
  install -Dm644 LICENSE.txt -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

classic-colors.desktop

[Desktop Entry]
Encoding=UTF-8
Name=Classic Colors
Comment=A simple image drawing and editing in a look similar to MS Paint
Type=Application
Categories=Application;Graphics;2DGraphics;RasterGraphics
Icon=classic-colors
Exec=classic-colors
Terminal=false

21

Re: [Collection] Packages never getting into the repositories or not ready

USBguard would be a nice adition for our security aspect according to our social contract. Sadly it depends on d-bus, so one must search for a alternative maybe the openbsd equivalent.

Regardeless here is package build:

# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Ian Beringer <ian@ianberinger.com>

pkgname=usbguard
pkgver=1.1.2
pkgrel=1
pkgdesc='Software framework for implementing USB device authorization policies'
url='https://github.com/USBGuard/usbguard'
arch=('x86_64')
license=('GPL2')
depends=('glibc' 'libqb' 'libqb.so' 'libsodium' 'libcap-ng' 'protobuf' 'polkit' 'dbus-glib'
         'audit' 'libaudit.so' 'libseccomp' 'libseccomp.so' 'libcap-ng.so' 'libgio-2.0.so'
         'libglib-2.0.so' 'libprotobuf.so')
makedepends=('catch2' 'pegtl' 'libxslt' 'libxml2' 'asciidoc' 'systemd')
provides=('libusbguard.so')
backup=(etc/usbguard/usbguard-daemon.conf
        etc/usbguard/rules.conf)
source=(https://github.com/USBGuard/usbguard/releases/download/usbguard-${pkgver}/usbguard-${pkgver}.tar.gz{,.asc})
sha512sums=('03b6dd026a0fe6a7a055208f09a56e2cc86985570388e33fde08671b8aa2d60ea4a0e59505e9646ddf50f42f5b6310d1b230379f9c26ec99c7ca736f3b4ad850'
            'SKIP')
validpgpkeys=(
  'DE78B93EAED8A620F5AA14DF52F7E84653274B59' # Radovan Sroka <rsroka@redhat.com>
)

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

build() {
  cd ${pkgname}-${pkgver}
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --sys=/etc \
    --sbindir=/usr/bin \
    --libdir=/usr/lib \
    --enable-systemd \
    --without-bundled-catch \
    --without-bundled-pegtl \
    --with-dbus \
    --with-polkit \
    --with-crypto-library=sodium
  make
  touch rules.conf
}

check() {
  cd ${pkgname}-${pkgver}
  make check
}

package() {
  cd ${pkgname}-${pkgver}
  make INSTALL='install -p' DESTDIR="${pkgdir}" install

  chmod 750 "${pkgdir}/etc/usbguard"
  install -Dpm 600 usbguard-daemon.conf rules.conf -t "${pkgdir}/etc/usbguard"

  install -Dpm 644 scripts/bash_completion/usbguard -t "${pkgdir}/usr/share/bash-completion/completions"
  install -Dpm 644 scripts/usbguard-zsh-completion "${pkgdir}/usr/share/zsh/site-functions/_usbguard"

  install -Dm 644 CHANGELOG.md README.adoc -t "${pkgdir}/usr/share/doc/${pkgname}"
}

22

Re: [Collection] Packages never getting into the repositories or not ready

Thanks, classic-colors is approved for adding. Working fine on libretools-build.
For usbguard: This is a pity but a package in regards for "corporate open-source" and so we won't do ourselves any favor adding that. hmm

Besides the website of that project tells:

Currently, USBGuard works only on Linux.

So there is no way to add or port this for HyperbolaBSD at the moment. In regards there are interesting links for further information, one example: https://misc.openbsd.narkive.com/QgbKCW … and-badusb
If there is a more special need to talk about that, we should open another thread about it.

Towards the PKGBUILD itself: We don't address single so-files within our packages. This is of a bad design from Arch GNU/Linux. Either doing that for about the concrete dependency or the dependency is not important and relevant. Also there are some questionable dependencies besides dbus and polkit: For the moment we don't have pegtl in our repositories.

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!

23 (edited by HarvettFox96 2023-02-12 07:27:06)

Re: [Collection] Packages never getting into the repositories or not ready

throgh wrote:

Thanks, classic-colors is approved for adding. Working fine on libretools-build.

You're welcome. Feel free to copy a compressed file containing source code to the repo server from the source I uploaded.

24

Re: [Collection] Packages never getting into the repositories or not ready

Package python-werkzeug, please be aware that this package has continuous reports of vulnaribilities and it is not even clear that even this newest version 2.2.3 is now better in comparison. So this package won't occur in Hyperbola for any given time directly in our repositories.

PKGBUILD

# Maintainer (Arch): Sven-Hendrik Haase <svenstaro@gmail.com>
# Contributor (Arch): Alexander Rødseth <rodseth@gmail.com>
# Contributor (Arch): Thomas Dziedzic < gostrc at gmail >
# Contributor (Arch): Dan Serban
# Contributor (Arch): Richard Murri
# Maintainer: rachad <rachad @ hyperbola . info>
# Contributor: Tobias Dausend <throgh@hyperbola.info>

pkgname=python-werkzeug
pkgver=2.2.3
pkgrel=1
pkgdesc="Swiss Army knife of Python web development"
url='http://werkzeug.pocoo.org/'
arch=('any')
license=('Modified-BSD')
depends=('python' 'python-markupsafe')
makedepends=('python-setuptools' 'quilt')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/pallets/werkzeug/archive/${pkgver}.tar.gz")
sha512sums=('3968e663f67e41da5148a4aa1d8e047ffd88416fa8df665e359bbe87992e4e723e1c915eed59ae86b53dd18817e41cdcef059483bce7aa8ed7b388dd4add1482')

build() {
  cd "werkzeug-$pkgver"

  python setup.py build
}

package() {
  cd "werkzeug-$pkgver"

  python setup.py install --root="$pkgdir" --optimize=1
  install -Dm644 LICENSE.rst "$pkgdir/usr/share/licenses/$pkgname/LICENSE.rst"
}
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!

25

Re: [Collection] Packages never getting into the repositories or not ready

Package python-flask, also reported vulnerabilities. Depending on python-werkzeug and therefore same argumentation: Only here available as PKGBUILD in the forums, but no longer in our repositories.

PKGBUILD

# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor (Arch): Alexander Rødseth <rodseth@gmail.com>
# Contributor (Arch): Thomas Dziedzic < gostrc at gmail >
# Contributor (Arch): Tarmo Heiskanen <turskii@gmail.com>
# Maintainer: rachad <rachad @ hyperbola . info>
# Contributor: Tobias Dausend <throgh@hyperbola.info>

_name=flask
pkgname=python-flask
pkgver=2.0.1
_debver=$pkgver
_debrel=4
pkgrel=1
pkgdesc="Micro webdevelopment framework for Python"
url='http://flask.pocoo.org/'
arch=('any')
license=('Modified-BSD')
depends=('python-werkzeug' 'python-jinja' 'python-itsdangerous' 'python-click')
makedepends=('python-setuptools' 'quilt')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/pallets/$_name/archive/${pkgver}.tar.gz"
        "https://deb.debian.org/debian/pool/main/f/$_name/${_name}_${_debver}-${_debrel}~bpo11+1.debian.tar.xz")
sha512sums=('55d76e65aefb6f430050f1ef7e0378ece673a18b8316974d7b8bf468fe09c4b89022a3dd8bb41dabf2a6b7566bf7a23cb53246be4b5bd9a8ddcf0e7b2f114dc8'
            'f2fcb2b6ac861e4a4ade45f4e41c447835aaabe41484fedbb1a98279b970355d20c4d30726e7275a6fbc89ed48bf288e5f01efe25b0e8d869507c56adae5c891')

prepare() {
  cd "$_name-$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 "$_name-$pkgver"
  python setup.py build
}

package() {
  cd "$_name-$pkgver"

  python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
  install -Dm644 LICENSE.rst -t "$pkgdir/usr/share/licenses/$pkgname"
}

Use both at your own risk.

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!