1

Topic: [Collection] Compilation of packages and ports (not in repositories)

Hello together,

within this thread we 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.

There are the following rules to respect when sharing packaging-scripts!

  • Use only free and libre software, no software using non-free parts or services

  • Respect the FSDG-requirements so please do no use for example vague terms like "open-source" in the description

  • Respect the previous maintainers and contributors, adding also yourself correct within

  • Use only source-based projects and software, no binaries allowed

  • Name the licenses correct, no generics allowed alike GPL, look therefore under /usr/share/liceses/common/ and read the license of the software you want to build and package


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.

Please do NOT debate on or off for packages as this thread is not meant to debate and discuss, Same for wishing packages: This is not the intention of this thread and therefore all postings should contain a package-script.

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] Compilation of packages and ports (not in repositories)

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] Compilation of packages and ports (not in repositories)

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] Compilation of packages and ports (not in repositories)

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!

5

Re: [Collection] Compilation of packages and ports (not in repositories)

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!

6

Re: [Collection] Compilation of packages and ports (not in repositories)

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!

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

Re: [Collection] Compilation of packages and ports (not in repositories)

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

8

Re: [Collection] Compilation of packages and ports (not in repositories)

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!

9

Re: [Collection] Compilation of packages and ports (not in repositories)

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!

10

Re: [Collection] Compilation of packages and ports (not in repositories)

tcclib, tklib and tkimg. A great addon for TCL/TK. It comes with a very lightweight Open Street Map
client which can be hacked up a little in order to search for places and so on.
It adds plotcharts, diagrams, network protocols and fine additions to program with.

tcclib PKGBUILD

# Maintainer:  Gabriel Souza Franco <Z2FicmllbGZyYW5jb3NvdXphQGdtYWlsLmNvbQ==>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: dtw <dibble.at.thewrecker.dot.net>
# Contributor: Mathieu Gauthier <mathgl@freesurf.fr>
# Contributor: Pawel Bogur <jid:smeagol@uaznia.net>

pkgname=tcllib
pkgver=1.21
pkgrel=1
pkgdesc="Set of pure-Tcl extensions."
arch=('any')
url="http://core.tcl.tk/tcllib/"
license=('bsd')
depends=('tcl')
source=("https://core.tcl-lang.org/tcllib/uv/tcllib-$pkgver.tar.gz")
sha256sums=('46b2bb5ec8049363ae01645af11bda3bdb5db10629e807d81d1ad46cd1bead50')

package(){
  cd "$srcdir"/tcllib-$pkgver
  tclsh installer.tcl -pkg-path "$pkgdir"/usr/lib/tcllib \
    -app-path "$pkgdir"/usr/bin \
    -nroff-path "$pkgdir"/usr/share/man/mann \
    -no-examples -no-html \
    -no-wait  -no-gui
  install -Dm644 license.terms "$pkgdir"/usr/share/licenses/$pkgname/COPYING
  for manp in graph; do
    mv "$pkgdir"/usr/share/man/mann/{,tcllib-}$manp.n
  done
}

tklib PKGBUILD

# Maintainer: Michael Schubert <mschu.dev at gmail> github.com/mschubert/PKGBUILDs
# Contributor: Thomas Dziedzic
# Contributor: Mihai Militaru <mihai dot militaru at xmpp dot ro>
pkgname=tklib
pkgver=0.7
pkgrel=1
pkgdesc='Tklib specializes in utilities for GUI programming.'
arch=('i686' 'x86_64')
url="https://core.tcl-lang.org/tklib/home"
license=('GPL')
depends=('tk' 'tcllib')
source=(https://github.com/tcltk/tklib/archive/refs/tags/tklib-$pkgver.tar.gz)
sha256sums=('93890db81a5b0cdb62c386265ec4fcdaab60824e8e6e882c7fecc69ff49afc66')

build() {
  cd $pkgname-$pkgname-$pkgver
  ./configure --prefix=/usr
  make all
}

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

tkimg PKGBUILD

# Maintainer:  Andrew O'Neill <andrew at haunted dot sh>
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
# Contributor: Martin C. Doege <mdoege at compuserve dot com>
# Contributor: kotyz <kotyz.king@gmail.com>

pkgname=tkimg
_pkgname=Img
pkgver=1.4.14
pkgrel=1
pkgdesc='Provides the handling of several image formats beyond the standard formats in Tk'
url='https://wiki.tcl-lang.org/page/Img'
arch=('i686' 'x86_64')
license=('custom')
depends=('zlib' 'libjpeg' 'libpng' 'libtiff' 'tcl' 'tk' 'tcllib')
source=("https://downloads.sourceforge.net/${pkgname}/${_pkgname}-${pkgver}-Source.tar.gz")
sha256sums=('7510b1b819464f228d228a862e53d9e1d3b41c23013b73790a29f7e9165abb21')

build() {
  cd "${_pkgname}-${pkgver}-Source"

  ./configure --prefix=/usr --enable-64bit --enable-threads
  make all
}

package() {
  cd "${_pkgname}-${pkgver}-Source"

  make INSTALL_ROOT="${pkgdir}" install
  install -Dm644 license.terms "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

11

Re: [Collection] Compilation of packages and ports (not in repositories)

An electronic circuit simulator. Good if you are into that:

PKGBUILKD

# Maintainer: trya <tryagainprod@gmail.com>
# Contributor: dragonn <dragonn at op dot pl>

pkgname=tkgate-beta
pkgver=2.0_b10
pkgrel=2
license=('GPL')
pkgdesc="A digital circuit simulator with a tcl/tk-based graphical editor. Beta version"
depends=('tcl' 'tk' 'libsm')
conflicts=('tkgate')
url="http://www.tkgate.org"
arch=('i686' 'x86_64')
source=("http://pkgs.fedoraproject.org/repo/pkgs/tkgate/tkgate-${pkgver//_/-}.tar.gz/84ffe959868d39ec856b5ff1c70136c3/tkgate-${pkgver//_/-}.tar.gz")
md5sums=('84ffe959868d39ec856b5ff1c70136c3')

build() {
  cd ${srcdir}/tkgate-${pkgver//_/-}
  CPPFLAGS='-DUSE_INTERP_RESULT' LDFLAGS='-lm' ./configure --prefix=/usr
  make
}

package() {
  cd ${srcdir}/tkgate-${pkgver//_/-}
  make DESTDIR=${pkgdir} install
  ln -sf /usr/bin/verga ${pkgdir}/usr/share/tkgate/libexec/verga
  ln -sf /usr/bin/tkgate ${pkgdir}/usr/share/tkgate/libexec/tkgate
}

12 (edited by HarvettFox96 2023-04-21 02:43:30)

Re: [Collection] Compilation of packages and ports (not in repositories)

I'm a big fan of listening to MIDI music using custom soundfonts; sadly, Polyphone isn't in the repo because I wanted to create or edit it. The good thing is also I found it on the FreeBSD port.

polyphone

PKGBUILD

# Maintainer (Arch): David Runge <dvzrv@archlinux.org>
# Maintainer: Jayvee Enaguas <harvettfox96@tilde.club>

pkgname=polyphone
pkgver=2.2.0
pkgrel=1
_debver=${pkgver}
_dfsgrel=dfsg1
_debrel=3
pkgdesc="A soundfont editor for quickly designing musical instruments"
arch=('x86_64' 'i686')
url="https://polyphone-soundfonts.com/"
license=('GPL-3')
depends=('gcc-libs' 'glibc' 'hicolor-icon-theme' 'libressl' 'qt-base' 'qt-svg' 'zlib')
makedepends=('flac' 'jack2' 'libogg' 'libvorbis' 'portaudio' 'qcustomplot' 'qt-tools' 'rtmidi' 'stk')
source=(${pkgname}-${pkgver}.tar.gz::"https://github.com/davy7125/${pkgname}/archive/${pkgver}.tar.gz"
        ${pkgname}-2.2.0-qt5.15.patch::"https://github.com/davy7125/polyphone/commit/7cfa7fe96533e402dd37e533b63c3105af36cd34.patch"
        "142.patch"
        "no-gplv2-v3-mix.patch")
sha512sums=('88b4f0d951f75ed517e0942e75d543eca28c92fe8f2f99aee1d4be69f7d4fd74ee2219d7779b68b918befc8554cac5dc3f93ac9055bd8a94327e777a0725e5e3'
            'a412b16b304ea53665ae3d8a8769898e16297c9b5a57d16cc68a71e8fbd35ee938a364de5226d9cccbff4fd0b87c9d4d10f809a8fd75325a39701d895958f220'
            'cc1c8798a93c37ad31e2adb3a60d2b1e0bec28893491ab74a723dc223d308ddaad6363e9b0bf76ac23fbb91f64709c549d77a9b5d03d40bbe0d14fc567c542d8'
            'f6e124926dac46a56ac3e98c1597291abc852ff30b49789ca0e13000fd0e70d27df9234b48c16ada1fc412bb496538dbd5adae84b6a39ecc070832fabf6a9551')

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

  # Fix missing include required to build against qt >= 5.15.0
  patch -p1 -i ../${pkgname}-${pkgver}-qt5.15.patch

  patch -p1 -i ../142.patch
  patch -p1 -i ../no-gplv2-v3-mix.patch

  # Disable accessing the online repo that may contain soundfonts under non-libre CC licenses
  sed -i 's#s://www.polyphone-soundfonts.com/en/api/soundfonts#://127.0.0.1#' sources/repository/repositorymanager.cpp
  sed -i 's#s://www.polyphone-soundfonts.com/en/create-an-account#://127.0.0.1/#' sources/{context/interface/configsectionrepository,repository/browser/soundfontbrowser}.cpp
  sed -i 's#s://www.polyphone-soundfonts.com/en/subscribe#://127.0.0.1/#' sources/{context/interface/configsectionrepository,repository/browser/soundfontbrowser}.cpp

  sed -i 's#\"2013 -\" + QString::number(QDate::currentDate().year())#\"2013–2020\"#' sources/dialogs/dialog_about.cpp
}

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

  qmake-qt5 PREFIX=/usr ${pkgname}.pro
  make
}

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

  # Doesn't have an install target
  # https://github.com/davy7125/polyphone/issues/62/
  install -Dm755 bin/${pkgname} -t "${pkgdir}/usr/bin"
  install -Dm644 contrib/${pkgname}.svg -t "${pkgdir}/usr/share/icons/hicolor/scalable/apps"
  install -Dm644 resources/${pkgname}.png -t "${pkgdir}/usr/share/icons/hicolor/512x512/apps"
  install -Dm644 contrib/${pkgname}.desktop -t "${pkgdir}/usr/share/applications"
  install -Dm644 contrib/${pkgname}.1 -t "${pkgdir}/usr/share/man/man1"
  install -Dm644 contrib/${pkgname}.fr.1 -t "${pkgdir}/usr/share/man/fr/man1"
  install -Dm644 contrib/${pkgname}.xml -t "${pkgdir}/usr/share/mime/packages"
  install -Dm644 changelog -t "$pkgdir/usr/share/doc/${pkgname}"
  install -Dm644 ../LICENSE.txt -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

142.patch

Description: allow offset values greater than 16-bit signed integer
 A fix for issue #141, which was broken by commit
 f80fc38b406ad094a1d3d2563da5d8124818e2e3. This fix reverts to the
 use of qRound when storing offset values for sample and loop start/end.
From: "S. Christian Collins" <s_chriscollins@hotmail.com>
Origin: https://github.com/davy7125/polyphone/pull/142
Bug: https://github.com/davy7125/polyphone/issues/141

--- a/sources/core/types/attribute.cpp
+++ b/sources/core/types/attribute.cpp
@@ -181,11 +181,11 @@ AttributeValue Attribute::fromRealValue(
         break;
     case champ_startloopAddrsCoarseOffset: case champ_endloopAddrsCoarseOffset:
     case champ_startAddrsCoarseOffset: case champ_endAddrsCoarseOffset:
-        storedValue.shValue = Utils::round16(realValue) / 32768;
+        storedValue.shValue = static_cast<qint16>(qRound(realValue) / 32768);
         break;
     case champ_startloopAddrsOffset: case champ_startAddrsOffset:
     case champ_endloopAddrsOffset: case champ_endAddrsOffset:
-        storedValue.shValue = static_cast<qint16>(Utils::round16(realValue) % 32768);
+        storedValue.shValue = static_cast<qint16>(qRound(realValue) % 32768);
         break;
     case champ_keyRange: case champ_velRange:
         storedValue.rValue.byHi = static_cast<quint8>(0.001 * realValue);

no-gplv2-v3-mix.patch

Description: Remove SF3 support until legally distributable
Author(s):
- Jayvee Enaguas <harvettfox96@tilde.club>
- Thorsten Glaser <tg@debian.org>
Date: 2023-04-20 03:05:00 +0000
Bug: https://github.com/davy7125/polyphone/issues/105/
Forwarded: https://github.com/davy7125/polyphone/pull/119/

--- a/sources/polyphone.pro
+++ b/sources/polyphone.pro
@@ -179,7 +179,6 @@
     clavier \
     sound_engine \
     sound_engine/elements \
-    lib/sf3 \
     repository \
     repository/browser \
     repository/daily \
@@ -204,8 +203,6 @@
     core/input/not_supported/inputparsernotsupported.cpp \
     core/input/sf2/inputparsersf2.cpp \
     core/input/sf2/inputsf2.cpp \
-    core/input/sf3/inputparsersf3.cpp \
-    core/input/sf3/inputsf3.cpp \
     core/input/sfark/inputparsersfark.cpp \
     core/input/sfark/inputsfark.cpp \
     core/input/sfz/inputparsersfz.cpp \
@@ -287,7 +284,6 @@
     sound_engine/elements/calibrationsinus.cpp \
     sound_engine/elements/enveloppevol.cpp \
     sound_engine/elements/oscsinus.cpp \
-    lib/sf3/sfont.cpp \
     options.cpp \
     mainwindow/widgetshowhistory.cpp \
     mainwindow/widgetshowhistorycell.cpp \
@@ -438,7 +434,6 @@
     core/output/not_supported/outputnotsupported.cpp \
     core/output/sfz/sfzparamlist.cpp \
     core/output/sf2/sf2indexconverter.cpp \
-    core/output/sf3/outputsf3.cpp \
     core/input/sfz/sfzparameter.cpp \
     core/input/sfz/sfzparametergroup.cpp \
     core/input/sfz/sfzparametergroupassembly.cpp \
@@ -524,8 +519,6 @@
     core/input/not_supported/inputparsernotsupported.h \
     core/input/sf2/inputparsersf2.h \
     core/input/sf2/inputsf2.h \
-    core/input/sf3/inputparsersf3.h \
-    core/input/sf3/inputsf3.h \
     core/input/sfark/inputparsersfark.h \
     core/input/sfark/inputsfark.h \
     core/input/sfz/inputparsersfz.h \
@@ -613,7 +606,6 @@
     sound_engine/elements/calibrationsinus.h \
     sound_engine/elements/enveloppevol.h \
     sound_engine/elements/oscsinus.h \
-    lib/sf3/sfont.h \
     options.h \
     mainwindow/widgetshowhistory.h \
     mainwindow/widgetshowhistorycell.h \
@@ -772,7 +764,6 @@
     core/output/not_supported/outputnotsupported.h \
     core/output/sfz/sfzparamlist.h \
     core/output/sf2/sf2indexconverter.h \
-    core/output/sf3/outputsf3.h \
     core/input/sfz/sfzparameter.h \
     core/input/sfz/sfzparametergroup.h \
     core/input/sfz/sfzparametergroupassembly.h \

--- a/sources/core/input/inputfactory.cpp
+++ b/sources/core/input/inputfactory.cpp
@@ -28,7 +28,6 @@
 #include "abstractinputparser.h"
 #include "abstractinput.h"
 #include "sf2/inputsf2.h"
-#include "sf3/inputsf3.h"
 #include "sfz/inputsfz.h"
 #include "sfark/inputsfark.h"
 #include "grandorgue/inputgrandorgue.h"
@@ -45,10 +44,6 @@
     _inputs[input->getInputExtension().toLower()] = input;
     _orderedInputs << input;
 
-    input = new InputSf3();
-    _inputs[input->getInputExtension().toLower()] = input;
-    _orderedInputs << input;
-
     input = new InputSfz();
     _inputs[input->getInputExtension().toLower()] = input;
     _orderedInputs << input;

--- a/sources/core/output/outputfactory.cpp
+++ b/sources/core/output/outputfactory.cpp
@@ -31,7 +31,6 @@
 #include "contextmanager.h"
 #include "abstractoutput.h"
 #include "sf2/outputsf2.h"
-#include "sf3/outputsf3.h"
 #include "sfz/outputsfz.h"
 #include "not_supported/outputnotsupported.h"
 #include "empty/outputdummy.h"
@@ -54,11 +53,6 @@
             // Format sf2
             output = new OutputSf2();
         }
-        else if (extension == "sf3")
-        {
-            // Format sf3
-            output = new OutputSf3();
-        }
         else if (extension == "sfz")
         {
             // Format sfz

qcustomplot

PKGBUILD

# Maintainer (Arch): David Runge <dvzrv@archlinux.org>
# Maintainer: Jayvee Enaguas <harvettfox96@tilde.club>

pkgbase=qcustomplot
pkgname=('qcustomplot' 'qcustomplot-doc')
_name=QCustomPlot
pkgver=2.0.1
_debver=${pkgver}
_dfsgrel=dfsg1
_debrel=4
pkgrel=1
pkgdesc="Qt C++ widget for plotting and data visualization"
arch=('x86_64' 'i686')
url="https://www.qcustomplot.com/"
license=('GPL-3')
makedepends=('doxygen' 'graphviz' 'qt-tools')
source=(${pkgbase}-${pkgver}.tar.bz2::"https://gitlab.com/DerManu/${_name}/-/archive/v${pkgver}/${_name}-v${pkgver}.tar.bz2"
        ${pkgbase}-${pkgver}-source.tar.gz::"https://www.qcustomplot.com/release/${pkgver}/${_name}-source.tar.gz"
        "https://deb.debian.org/debian/pool/main/q/${pkgbase}/${pkgbase}_${_debver}+${_dfsgrel}-${_debrel}.debian.tar.xz")
sha512sums=('fb9184d517007b7c280e7122b3c14b6e49bf6b550bf41b95fe6808cc1c66c66dd82383796bfa4f43ce1ff0406e4c53e579ecc0aa2992741c5a45e5469f4bf5e8'
            'b44abbd8fd95970a829bbb6e7becc0765e24bd8f05958c8c1223303b68fb4c0a64f503cf0a2fe4fc53957e6e61a6618500475cff3e81ed0ab387a9eada2c83a3'
            '8044f7b74d101f2db4890000d48a468db7d633ad2b7dcb4175abc1e508e4d1266e402a8d74e8c0bf8897fa8a01375ebc0ab846da9d33518838ddf94088255083')

prepare() {
  cd ${_name}-v${pkgver}

  # Copy required amalgameted sources into place
  cp ../${pkgbase}-source/*.{cpp,h} .

  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'

    cp -r ${srcdir}/debian .

    quilt push -av
  fi
}

build() {
  cd ${_name}-v${pkgver}

  qmake-qt5 sharedlib/sharedlib-compilation/sharedlib-compilation.pro
  make

  # Create documentation
  doxygen
  cd documentation
  qhelpgenerator html/index.qhp -o qthelp/qcustomplot.qch
  rm html/*.{md5,map,qhp}
}

package_qcustomplot() {
  depends=('qt-base')

  cd ${_name}-v${pkgver}

  # There's no install target
  install -d "${pkgdir}/usr/lib" && cp -a lib${pkgname}.so* "${pkgdir}/usr/lib"
  install -Dm644 ${pkgname}.h -t "${pkgdir}/usr/include"
  install -Dm644 changelog.txt -t "${pkgdir}/usr/share/doc/${pkgname}"
  install -Dm644 GPL.txt -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

package_qcustomplot-doc() {
  pkgdesc+=" (docs)"

  cd ${_name}-v${pkgver}/documentation

  install -d "${pkgdir}/usr/share/doc/${pkgbase}" && cp -r ../examples "${pkgdir}/usr/share/doc/${pkgbase}"
  install -Dm644 qthelp/*.qch -t "${pkgdir}/usr/share/doc/qt"
  install -Dm644 html/* -t "${pkgdir}/usr/share/doc/${pkgbase}/html"
  install -Dm644 ../GPL.txt -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

13

Re: [Collection] Compilation of packages and ports (not in repositories)

As manuskript is deleted from our repositories we save the current package here:

PKGBUILD

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=manuskript
pkgver=0.11.0
_debver=$pkgver
_debrel=2
pkgrel=1
pkgdesc="Provides a rich environment to help writers"
arch=('any')
url='https://www.theologeek.ch/manuskript/'
license=('GPL-3')
depends=('hicolor-icon-theme' 'python-lxml' 'python-markdown' 'python-pyenchant' 'python-pyqt' 'qt-svg')
makedepends=('quilt')
source=("https://github.com/olivierkes/${pkgname}/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz"
        "https://deb.debian.org/debian/pool/main/m/manuskript/manuskript_${_debver}-${_debrel}.debian.tar.xz"
        "manuskript.appdata.xml")
sha512sums=('1f364291449a7005b0f2ab902fe2fbeb20a2c641db17b00ad57d8c131956219663520a634c33278a8df52de1a445c0e91148f9308a4a3091b9b21f7a01087d06'
            '773002ee698d28f517e42a92f7e97c731409180e46e009e51653ece697f23069c114be5d7c9fe4bb70b1c57f004a3cd9bfc8516683e697902bc0f4740ca29e0b'
            '5d80fcd3c5a54ac7ad7808fbd927aa66cb630d531bb7292c8d964354fbc5210de94abeac7823fda3d2d0dead3e29e7740562a4a8430f6694b240c7a16e4c9a8d')

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
  sed -i "s|\"+appPath('libs/pdf.js/web/viewer.html')|/usr/share/pdf.js/web/viewer.html\"|" manuskript/ui/views/PDFViewer.py
  rm -r libs/pdf.js
  sed -i 's|Icon=.*|Icon=manuskript|' package/create_deb/manuskript.desktop

}

package() {
  cd $pkgname-$pkgver
  install -dm755 "$pkgdir/usr/share/manuskript/"
  cp -r manuskript icons i18n sample-projects resources "$pkgdir/usr/share/manuskript/"
  install -Dm755 package/create_deb/manuskript -t "$pkgdir/usr/bin"
  install -Dm644 package/create_deb/manuskript.desktop -t "$pkgdir/usr/share/applications"
  install -Dm644 $srcdir/$pkgname.appdata.xml -t "$pkgdir/usr/share/metainfo"
  install -Dm644 icons/Manuskript/manuskript.svg -t "$pkgdir/usr/share/icons/hicolor/scalable/apps"

  for i in 16 32 64 128 256 512; do
    install -Dm644 icons/Manuskript/icon-${i}px.png "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/manuskript.png"
  done

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

manuskript.appdata.xml

<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
  <id>ch.theologeek.manuskript</id>
  <launchable type="desktop-id">manuskript.desktop</launchable>
  <name>Manuskript</name>
  <summary>An open source tool for writers</summary>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>GPL-3.0</project_license>
  <description>
    <p>Manuskript provides a rich environment to help writers create their first draft and then further refine and edit their masterpiece.</p>
    <p>With Manuskript you can:</p>
    <ul>
      <li>Grow your premise from one sentence, to a paragraph, to a full summary</li>
      <li>Create characters</li>
      <li>Conceive plots</li>
      <li>Construct outlines (Outline mode and/or Index cards)</li>
      <li>Write with focus (Distraction free mode)</li>
      <li>Build worlds</li>
      <li>Track items</li>
      <li>Edit and re-organize chapters and scenes</li>
      <li>View Story line</li>
      <li>Compose with fiction or non-fiction templates and writing modes</li>
      <li>Import and export document formats such as HTML, ePub, OpenDocument, DocX, and more</li>
    </ul>
  </description>
  <screenshots>
    <screenshot type="default">
      <image>https://www.theologeek.ch/manuskript/wp-content/uploads/2017/11/manuskript-0.5.0-main-view.jpg</image>
    </screenshot>
  </screenshots>
  <url type="bugtracker">https://github.com/olivierkes/manuskript/issues</url>
  <url type="homepage">https://www.theologeek.ch/manuskript/</url>
</component>

Again also to remember: Everyone is invited to build own packages and share them here - under the condition those packages are completely free and libre licensed, do not demand non-free data further afterwards. We just don't need to add all packages within repositories, especially applications having further problems like rednotebook or now manuskript.

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

Re: [Collection] Compilation of packages and ports (not in repositories)

Libgccjit and Emacs 28.1 (native compiled) against Lucid to
get all the performance for it. Yes, I know, if you are
blind you might like to use Orca with GTK2/3, but
Emacspeak it's much better on its own.

First it will last for long to compile the PKGBUILD as
it will build native support for your Emacs AND also
in order to compile libgccjit tests will be run so have a
little of patience. It might lasts hours or a single day
to complete building all the Elisp files to native but
the huge performance boost on older machines will earn
every cycle wasted in the previous days.

libgccjit

# Maintainer: Andrew Whatson <https://aur.archlinux.org/account/flatwhatson>
# Maintainer: ZenTauro <zentauro at riseup dot net>
# Contributor: Ruben De Smet <ruben dot de dot smet at glycos dot org>
# Contributor: Jashandeep Sohi <jashandeep.s.sohi@gmail.com>

pkgname=libgccjit
pkgver=8.4.0
pkgrel=1
pkgdesc='Just-In-Time Compilation using GCC.'
arch=('i686' 'x86_64')
license=(GPL3)
url='https://gcc.gnu.org/wiki/JIT'
makedepends=(binutils libmpc)
checkdepends=(dejagnu)
depends=(glibc libmpc "gcc-libs=$pkgver")
options=(!emptydirs)
source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz)
sha256sums=('SKIP')

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

 # Do not run fixincludes
 sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in

 # Arch Linux installs x86_64 libraries /lib
 sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64

 # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
 sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
}

build() {
 mkdir -p "$srcdir/$pkgname-build"
 cd "$srcdir/$pkgname-build"

 CFLAGS=${CFLAGS/-Werror=format-security/}
 CXXFLAGS=${CXXFLAGS/-Werror=format-security/}

 "$srcdir/gcc-$pkgver/configure" --prefix=/usr \
     --libdir=/usr/lib \
     --libexecdir=/usr/lib \
     --mandir=/usr/share/man \
     --infodir=/usr/share/info \
     --with-bugurl=https://aur.archlinux.org/packages/libgccjit/ \
     --enable-languages=jit \
     --with-linker-hash-style=gnu \
     --with-system-zlib \
     --enable-__cxa_atexit \
     --enable-cet=auto \
     --enable-checking=release \
     --enable-clocale=gnu \
     --enable-default-pie \
     --enable-default-ssp \
     --enable-gnu-indirect-function \
     --enable-gnu-unique-object \
     --enable-install-libiberty \
     --enable-linker-build-id \
     --enable-lto \
     --enable-multilib \
     --enable-plugin \
     --enable-shared \
     --enable-host-shared \
     --enable-threads=posix \
     --disable-bootstrap \
     --disable-multilib \
     --disable-libssp \
     --disable-lto \
     --disable-libquadmath \
     --disable-liboffloadmic \
     --disable-libada \
     --disable-libsanitizer \
     --disable-libquadmath-support \
     --disable-libgomp \
     --disable-libvtv \
     --disable-libsanitizer \
     --disable-libstdcxx-pch \
     --disable-libunwind-exceptions \
     --disable-werror

 make
}

package() {
 cd "$srcdir/$pkgname-build/gcc"
 make DESTDIR="$pkgdir" jit.install-common jit.install-info
}

check() {
 cd "$srcdir/$pkgname-build/gcc"
 make check-jit RUNTESTFLAGS="-v -v -v"
}

post_install() {
 [[ -x usr/bin/install-info ]] || return 0
 install-info usr/share/info/libgccjit.info.gz usr/share/info/dir 2> /dev/null
}

# vim: tabstop=1 expandtab

Emacs

# Maintainer (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor (Arch): Renchi Raju <renchi@green.tam.uiuc.edu>
# Maintainer: André Silva <emulatorman@hyperbola.info>
# Contributor: Jesús E. <heckyel@hyperbola.info>
# Contributor: Tobias Dausend <throgh@hyperbola.info>

pkgname=emacs
pkgver=28.2
_debver=$pkgver
_debrel=13
pkgrel=2
pkgdesc="The extensible, customizable, self-documenting real-time display editor"
arch=('i686' 'x86_64')
url='https://www.gnu.org/software/emacs/emacs.html'
license=('GPL-3')
depends=('librsvg-legacy' 'libxaw3d' 'gpm' 'giflib' 'libxpm' 'libxfixes' 'libxinerama' 'libxrandr' 'libotf' 'm17n-lib' 'hicolor-icon-theme' 'desktop-file-utils' 'alsa-lib' 'gnutls' 'jansson' 'mesa-libgl' 'libgccjit')
makedepends=('quilt')
conflicts=('emacs-headless')
provides=('emacs-headless')
source=("https://ftp.gnu.org/gnu/emacs/${pkgname}-${pkgver}.tar.xz"
        "https://deb.debian.org/debian/pool/main/e/emacs/emacs_${_debver}+1-${_debrel}.debian.tar.xz"
        "0001-fix-git-permission.patch")
sha512sums=('a7cec7e3e82367815a1442f69af54102dbfc434069810a9dec5938a6660cb8b076e6f1fb0bfff9695b15603dbbe05eb9c7dfd92e90cf40fc4d1e5746bce83bd8'
            '81fe045658856fc518e022769b62a42cd788017c0e67edba8a9d78abdd62f12e5fd8c74d1c565a57083c34e9f93f845bee04426d0ac9ec58e5f4e3e17df17668'
            '86091542c52e94d0e1ca973b64665282a590e2af57f69accf1f93326da86d217d36514b06cefdbe93b773f835f97b151b72a1f6c14c05a7066b647af707b0b6f')

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 .

    # Doesn't apply
    rm -v debian/patches/0001-Prefer-usr-share-info-emacs.patch || true
    rm -v debian/patches/0002-Run-debian-startup-and-set-debian-emacs-flavor.patch || true
    rm -v debian/patches/0003-Remove-files-that-appear-to-be-incompatible-with-the.patch || true
    rm -v debian/patches/0004-Adjust-documentation-references-for-Debian.patch || true
    rm -v debian/patches/0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch || true
    rm -v debian/patches/0009-Mark-vc-bzr-test-fauilt-bzr-autoloads-as-unstable-fo.patch || true
    rm -v debian/patches/0010-Mark-echo-server-with-dns-test-as-unstable-for-now.patch || true
    rm -v debian/patches/0011-emacs-module-tests-fix-VPATH-builds.patch || true
    rm -v debian/patches/0014-Skip-tests-that-require-Internet-when-there-s-no-Int.patch || true

    quilt push -av
  fi
  patch -Np1 -i "${srcdir}/0001-fix-git-permission.patch"
}

build() {
  cd "$srcdir"/$pkgname-$pkgver
  ac_cv_lib_gif_EGifPutExtensionLast=yes
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --with-x-toolkit=lucid \
    --with-xft \
    --with-modules \
    --with-wide-int \
    --with-json \
    --without-dbus \
    --without-libsystemd \
    --with-native-compilation
  make
}

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

  # remove conflict with ctags package
  mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
  mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}

  # fix user/root permissions on usr/share files
  find "$pkgdir"/usr/share/emacs/$pkgver -exec chown root:root {} \;

  install -d "$pkgdir/usr/share/licenses/$pkgname"
  install -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
}

15

Re: [Collection] Compilation of packages and ports (not in repositories)

Package focuswriter as it was removed. If someone wants to adapt that package for a port, please feel invited.

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Graeme Gott <graeme@gottcode.org>

pkgname=focuswriter
pkgver=1.7.6
pkgrel=1
pkgdesc='Simple, distraction-free word processor'
arch=('i686' 'x86_64')
url='https://gottcode.org/focuswriter/'
license=('GPL-3')
depends=('hicolor-icon-theme' 'hunspell' 'qt-multimedia')
makedepends=('qt-tools')
source=("https://gottcode.org/$pkgname/$pkgname-$pkgver-src.tar.bz2"{,.asc})
sha512sums=('45e0bc9b20c73b260aa42dcc9ee79515d3ad95d4c9586f60ab75fb404f73c7443484f238b3705ba3224b852a0d9b8b8db17d9145aebb77513f8597a01ab01d3b'
            'SKIP')
validpgpkeys=('57E4D43C10CD7EDB8360C84774FFC7F02C4F6B37')

prepare() {
  cd $pkgname-$pkgver
  sed -i '/INSTALLS +=/ s/ pixmap//' focuswriter.pro
}

build() {
  cd $pkgname-$pkgver
  qmake-qt5 PREFIX=/usr
  make
}

package() {
  cd $pkgname-$pkgver
  make INSTALL_ROOT="$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!

16

Re: [Collection] Compilation of packages and ports (not in repositories)

Package ii.

PKGBUILD

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

pkgname=ii
pkgver=2.0
pkgrel=1
pkgdesc="A minimalist FIFO and filesystem-based IRC client"
arch=('i686' 'x86_64')
url='https://tools.suckless.org/ii/'
license=('Expat')
source=("https://dl.suckless.org/tools/${pkgname}-${pkgver}.tar.gz")
sha512sums=('ab8102b5669495b7bc6a3311245f3eb49d2add1e387290e41deb51e121f4c7c98a09d117052c345d8b896149276a83790c0b78efe3ed19fc52bc00575bf8e44a')

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

package() {
  cd "$pkgname-$pkgver"
  make DESTDIR="$pkgdir" PREFIX="/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!

17

Re: [Collection] Compilation of packages and ports (not in repositories)

Package solarus.

PKGBUILD

# Maintainer (Arch): MCMic <come@chilliet.eu>
# Contributor (Arch): MCMic <come@chilliet.eu>
# Contributor (Arch): Sam101 <zoetrem @t gmail dot com>
# Contributor (Arch): BenObiWan <benobiwan @t gmail dot com>
# Contributor (Arch): Huulivoide
# Contributor (Arch): Fernando Carmona Varo <ferkiwi @t gmail dot com>
# Contributor (Arch): Franck Stauffer <franck.stauffer@monaco.mc>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=solarus
pkgver=1.6.5
pkgrel=1
pkgdesc="A lightweight, free and libre game engine for Action-RPGs"
arch=('i686' 'x86_64')
url='https://www.solarus-games.org/'
license=('GPL-3' 'CC-BY-SA-3.0' 'CC-BY-SA-4.0')
depends=('glm' 'hicolor-icon-theme' 'libmodplug' 'libvorbis'
         'luajit' 'openal' 'physfs' 'qt-base'
         'qt-tools' 'sdl2' 'sdl2_image' 'sdl2_ttf')
makedepends=('cmake')
groups=('games')
source=("https://gitlab.com/solarus-games/${pkgname}/-/archive/v${pkgver}/${pkgname}-v${pkgver}.tar.gz")
sha512sums=('3fc7473f1b7dd80cbcb0a7a639701f8b12bd40ee918a7853805bd54f877e752b4c31c26828e62248ca4594b3aed41a8c61a16be3b14b293f08d9ba938a723e91')

prepare() {
  cmake \
    -Wno-dev \
    -B build \
    -S "$pkgname-v$pkgver" \
    -DSOLARUS_TESTS=OFF \
    -DCMAKE_INSTALL_PREFIX="/usr" \
    -DCMAKE_INSTALL_BINDIR="games" \
    -DCMAKE_INSTALL_DATADIR="share/games" \
    -DCMAKE_BUILD_TYPE=Release
}

build() {
  make -C build ${MAKEFLAGS}
}

package() {
  make -C build DESTDIR="${pkgdir}/" install
  mv "${pkgdir}/usr/share/games/"{icons,pixmaps,applications,metainfo} "${pkgdir}/usr/share/"
  install -Dm644 "${srcdir}/$pkgname-v$pkgver/"license{,_gpl}.txt -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!

18

Re: [Collection] Compilation of packages and ports (not in repositories)

Here's a GNU Units PKGBUILD which I tried to adapt to Hyperbola GNU+LinuxLibre packaging standards; This is my first time dealing with PKGBUILDs so it may have some quirks, though it works fine on my system

BTW, does anyone know the licensing status of these AUR and Hyperbola PKGBUILD scripts? I haven't found any information regarding the matter; are they, like, de facto public domain or something?

# Maintainer (Arch): tarball <bootctl@gmail.com>
# Contributor (Arch): Kyle Keen <keenerd@gmail.com>
# Contributor (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor (Arch): Jeff Mickey <jeff@archlinux.org>
# Contributor (Arch): Steve Sansom <snsansom@gmail.com>
# Contributor: Ramon <Mamao@danwin1210.de>

pkgname=units
pkgver=2.21
_debver=2.21
_debrel=1
pkgrel=1
pkgdesc="Advanced software for the conversion of units (currencies, meters to feet etc.)"
arch=(i686 x86_64)
license=('GPL-3')
url="https://www.gnu.org/software/units/units.html"
optdepends=('python-unidecode: for live currency rates'
            'python-requests: for live currency rates')
makedepends=('quilt')
source=("https://ftpmirror.gnu.org/gnu/units/$pkgname-$pkgver.tar.gz"{,.sig}
        "https://deb.debian.org/debian/pool/main/u/units/units_$_debver-$_debrel.debian.tar.xz")
options=('!makeflags')
validpgpkeys=('9AD8FC4162D7937CF64F972E1889D5F0E0636F49') # Adrian Mariano <adrian@cam.cornell.edu> and <adrianm@gnu.org>
sha512sums=('34bacff606f12aa5b2e59170f6b2142277aa1121d79610a51b57f07f17ae2dbdfbbb0e60be34522f367679cc152408f77c1ebb551016224d23f81c21f4b3ba62'
            'SKIP'
            'f7f081ab2140b3cb5b8abed8d4061334bedc89077371f760d9de3688dbc0a6697949eb427fcaa735b88f10b6fdee0f2c8f76edcc5d06260e1129ca69d6ae30a9')

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 .

    # Doesn't apply
    rm -v debian/patches/pager.patch || true # /usr/bin/pager appears to be
                                             # absent in Hyperbola

    quilt push -av
  fi
}

build() {
  cd "$pkgname-$pkgver"
  ./configure --prefix=/usr/ --sharedstatedir=/var/lib/ # For FHS compliance
  make
}

package() {
  cd $srcdir/$pkgname-$pkgver
  make INSTALL=/usr/bin/install DESTDIR=$pkgdir install
  install -D -m644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
}

19

Re: [Collection] Compilation of packages and ports (not in repositories)

qpakman

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

pkgname=qpakman
pkgver=0.67
pkgrel=1
pkgdesc="A command-line tool for managing PAK and WAD files"
arch=('i686' 'x86_64')
url='https://github.com/bunder/qpakman'
license=('GPL-2')
depends=('libpng')
makedepends=('cmake')
groups=('games')
source=(${pkgname}-${pkgver}.tar.gz::https://github.com/bunder/qpakman/archive/v${pkgver}.tar.gz)
sha512sums=('9b362d58f66c499c65e1841223e0a832fb990bcbd50457d5cca42190b20a50c2b325845cbdb76a9379a5170f8f52c553cfbebd405a29ea9dc14626ea41e5b844')

build() {
  cmake \
    -B build \
    -S $pkgname-$pkgver \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr
  make -C build
}

package() {
  install -Dm755 "$srcdir/build/$pkgname" -t "$pkgdir/usr/games"
  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!

20

Re: [Collection] Compilation of packages and ports (not in repositories)

Package for gradio:

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

pkgname=gradio
pkgver=7.3
pkgrel=1
pkgdesc="GTK+ based application for finding and listening to internet radio stations"
arch=('i686' 'x86_64')
license=('GPL-3')
url='https://github.com/haecker-felix/gradio'
depends=('gtk' 'gstreamer' 'libsoup' 'sqlite' 'json-glib' 'gst-plugins-base')
makedepends=('meson' 'vala' 'cmake' 'gettext-tiny')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/haecker-felix/Gradio/archive/refs/tags/v${pkgver}.tar.gz")
sha512sums=('d2bfd49ead90627b0516c320a5260f14ba2ea9ab5e417dafc38babc7eaaa706395986122d103bde931406f4240212210d2a7dbee6b69bddb901dc5705cac977b')

build() {
  hyperbola-meson Gradio-$pkgver build
  ninja -C build
}

package() {
  DESTDIR="$pkgdir" meson install -C build

  # remove unwanted data and interfaces
  rm -rf "$pkgdir/usr/share/"{dbus-1,gnome-shell}

  install -Dm644 "$srcdir/Gradio-$pkgver/LICENSE.md" -t "$pkgdir/usr/share/licenses/$pkgname"
}

Attention: Application is starting but malfunctional nevertheless as it is no longer possible to search for any internet-radio.
This package won't be added to Hyperbola! Just meant as "proof of concept" for packaging.

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!

21

Re: [Collection] Compilation of packages and ports (not in repositories)

Package hostapd

PKGBUILD

# Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor (Arch): David Runge <dvzrv@archlinux.org>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=hostapd
pkgver=2.10
pkgrel=1
pkgdesc="IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator"
arch=('i686' 'x86_64')
url='https://w1.fi/hostapd/'
license=('Modified-BSD' 'ISC' 'Public-Domain')
depends=('glibc' 'libnl' 'libressl' 'sqlite')
backup=("etc/${pkgname}/${pkgname}."{accept,conf,deny,eap_user,radius_clients,vlan,wpa_psk})
source=("https://w1.fi/releases/$pkgname-$pkgver.tar.gz"{,.asc}
        "config"
        "copyright::https://metadata.ftp-master.debian.org/changelogs//main/w/wpa/wpa_2.10-12_copyright"
        "${pkgname}.initd"
        "${pkgname}.confd")
sha512sums=('243baa82d621f859d2507d8d5beb0ebda15a75548a62451dc9bca42717dcc8607adac49b354919a41d8257d16d07ac7268203a79750db0cfb34b51f80ff1ce8f'
            'SKIP'
            'eacd2ad295ec8786dac9814218a785eba0ca88e3dcf8b6f3694cba6a8330a8d020ac137623ef35bb0e5c1248f489c79c7fe07a7129a643d5e0dc4804e47f8b17'
            'd2241b2234e5db13b9601f699a8895f9bc7306fd08f6f5ce02c204fb8258d3a9d07a8e09d9704be6e13f14cb8e1da22f0d5efb9660199377be40cd09aa906c49'
            '1771078a125926d5aa9ab1d4c72c8eec6214a0a10767ea312ca9fb7b288ecf46aab1650addb934fd927be0842011205cbd70a821036494ae47d08143a4bf1f7d'
            '0882263bbd7c0b05bf51f51d66e11a23a0b8ca7da2a3b8a30166d2c5f044c0c134e6bccb1d02c9e81819ca8fb0c0fb55c7121a08fe7233ccaa73ff8ab9a238fe')
validpgpkeys=('EC4AA0A991A5F2464582D52D2B6EF432EFC895FA') # Jouni Malinen <j@w1.fi>

prepare() {
  cd "$pkgname-$pkgver"
  # fix include locations in main configuration file
  sed -e 's|/etc/hostapd|/etc/hostapd/hostapd|g' \
      -e 's|/var/run|/run|g' \
      -e 's|radius_attr.sqlite|/var/lib/hostapd/radius_attr.sqlite|g' \
      -e 's|hostapd.cred|/var/lib/hostapd/hostapd.cred|g' \
      -e 's|hostapd.ap_settings|/var/lib/hostapd/hostapd.ap_settings|g' \
      -e 's|hostapd_wps_pin_requests|hostapd/wps_pin_requests|g' \
      -i "${pkgname}/${pkgname}.conf"

  # extract license
  cat "${pkgname}/README" |head -n47 |tail -n5 > LICENSE

  # link build configuration into place:
  # an up-to-date version of the build configuration can be found in
  # hostapd/defconfig and should be diffed with the packaged one before every
  # build
  ln -sv "${srcdir}/config" "${pkgname}/.config"
}

build() {
  make -C $pkgname-$pkgver/$pkgname
}

package() {
  cd "$pkgname-$pkgver"
  make -C "${pkgname}" install DESTDIR="${pkgdir}" BINDIR="/usr/sbin"
  # license
  install -vDm 644 LICENSE "${srcdir}/copyright" -t "$pkgdir/usr/share/licenses/$pkgname/"
  # config
  install -vDm 640 "${pkgname}/${pkgname}."{accept,conf,deny,eap_user,radius_clients,vlan,wpa_psk} -t "${pkgdir}/etc/${pkgname}"
  # docs
  install -vDm 644 "${pkgname}/"{hostapd.sim_db,wired.conf,hlr_auc_gw.{txt,milenage_db}} "${pkgname}/"{README*,ChangeLog} -t "${pkgdir}/usr/share/doc/${pkgname}"
  # man pages
  install -vDm 644 "${pkgname}/${pkgname}.8" -t "$pkgdir/usr/share/man/man8/"
  install -vDm 644 "${pkgname}/${pkgname}_cli.1" -t "$pkgdir/usr/share/man/man1/"
  # state dir
  install -vdm 750 "${pkgdir}/var/lib/${pkgname}"
  # service-configuration
  install -vDm 644 "${srcdir}/${pkgname}.confd" "${pkgdir}/etc/conf.d/${pkgname}"
  install -vDm 755 "${srcdir}/${pkgname}.initd" "${pkgdir}/etc/init.d/${pkgname}"
}

config

# Example hostapd build time configuration
#
# This file lists the configuration options that are used when building the
# hostapd binary. All lines starting with # are ignored. Configuration option
# lines must be commented out complete, if they are not to be included, i.e.,
# just setting VARIABLE=n is not disabling that variable.
#
# This file is included in Makefile, so variables like CFLAGS and LIBS can also
# be modified from here. In most cass, these lines should use += in order not
# to override previous values of the variables.

# Driver interface for Host AP driver
CONFIG_DRIVER_HOSTAP=y

# Driver interface for wired authenticator
CONFIG_DRIVER_WIRED=y

# Driver interface for drivers using the nl80211 kernel interface
CONFIG_DRIVER_NL80211=y

# QCA vendor extensions to nl80211
#CONFIG_DRIVER_NL80211_QCA=y

# driver_nl80211.c requires libnl. If you are compiling it yourself
# you may need to point hostapd to your version of libnl.
#
#CFLAGS += -I$<path to libnl include files>
#LIBS += -L$<path to libnl library files>

# Use libnl v2.0 (or 3.0) libraries.
#CONFIG_LIBNL20=y

# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
CONFIG_LIBNL32=y


# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
#CONFIG_DRIVER_BSD=y
#CFLAGS += -I/usr/local/include
#LIBS += -L/usr/local/lib
#LIBS_p += -L/usr/local/lib
#LIBS_c += -L/usr/local/lib

# Driver interface for no driver (e.g., RADIUS server only)
#CONFIG_DRIVER_NONE=y

# WPA2/IEEE 802.11i RSN pre-authentication
CONFIG_RSN_PREAUTH=y

# Support Operating Channel Validation
#CONFIG_OCV=y

# Integrated EAP server
CONFIG_EAP=y

# EAP Re-authentication Protocol (ERP) in integrated EAP server
CONFIG_ERP=y

# EAP-MD5 for the integrated EAP server
CONFIG_EAP_MD5=y

# EAP-TLS for the integrated EAP server
CONFIG_EAP_TLS=y

# EAP-MSCHAPv2 for the integrated EAP server
CONFIG_EAP_MSCHAPV2=y

# EAP-PEAP for the integrated EAP server
CONFIG_EAP_PEAP=y

# EAP-GTC for the integrated EAP server
CONFIG_EAP_GTC=y

# EAP-TTLS for the integrated EAP server
CONFIG_EAP_TTLS=y

# EAP-SIM for the integrated EAP server
CONFIG_EAP_SIM=y

# EAP-AKA for the integrated EAP server
CONFIG_EAP_AKA=y

# EAP-AKA' for the integrated EAP server
# This requires CONFIG_EAP_AKA to be enabled, too.
#CONFIG_EAP_AKA_PRIME=y

# EAP-PAX for the integrated EAP server
CONFIG_EAP_PAX=y

# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
CONFIG_EAP_PSK=y

# EAP-pwd for the integrated EAP server (secure authentication with a password)
#CONFIG_EAP_PWD=y

# EAP-SAKE for the integrated EAP server
CONFIG_EAP_SAKE=y

# EAP-GPSK for the integrated EAP server
CONFIG_EAP_GPSK=y
# Include support for optional SHA256 cipher suite in EAP-GPSK
CONFIG_EAP_GPSK_SHA256=y

# EAP-FAST for the integrated EAP server
#CONFIG_EAP_FAST=y

# EAP-TEAP for the integrated EAP server
# Note: The current EAP-TEAP implementation is experimental and should not be
# enabled for production use. The IETF RFC 7170 that defines EAP-TEAP has number
# of conflicting statements and missing details and the implementation has
# vendor specific workarounds for those and as such, may not interoperate with
# any other implementation. This should not be used for anything else than
# experimentation and interoperability testing until those issues has been
# resolved.
#CONFIG_EAP_TEAP=y

# Wi-Fi Protected Setup (WPS)
CONFIG_WPS=y
# Enable UPnP support for external WPS Registrars
CONFIG_WPS_UPNP=y
# Enable WPS support with NFC config method
CONFIG_WPS_NFC=y

# EAP-IKEv2
#CONFIG_EAP_IKEV2=y

# Trusted Network Connect (EAP-TNC)
#CONFIG_EAP_TNC=y

# EAP-EKE for the integrated EAP server
#CONFIG_EAP_EKE=y

# PKCS#12 (PFX) support (used to read private key and certificate file from
# a file that usually has extension .p12 or .pfx)
CONFIG_PKCS12=y

# RADIUS authentication server. This provides access to the integrated EAP
# server from external hosts using RADIUS.
CONFIG_RADIUS_SERVER=y

# Build IPv6 support for RADIUS operations
CONFIG_IPV6=y

# IEEE Std 802.11r-2008 (Fast BSS Transition)
CONFIG_IEEE80211R=y

# Use the hostapd's IEEE 802.11 authentication (ACL), but without
# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211)
#CONFIG_DRIVER_RADIUS_ACL=y

# Wireless Network Management (IEEE Std 802.11v-2011)
# Note: This is experimental and not complete implementation.
#CONFIG_WNM=y

# IEEE 802.11ac (Very High Throughput) support
CONFIG_IEEE80211AC=y

# IEEE 802.11ax HE support
# Note: This is experimental and work in progress. The definitions are still
# subject to change and this should not be expected to interoperate with the
# final IEEE 802.11ax version.
CONFIG_IEEE80211AX=y

# Remove debugging code that is printing out debug messages to stdout.
# This can be used to reduce the size of the hostapd considerably if debugging
# code is not needed.
#CONFIG_NO_STDOUT_DEBUG=y

# Add support for writing debug log to a file: -f /tmp/hostapd.log
# Disabled by default.
#CONFIG_DEBUG_FILE=y

# Send debug messages to syslog instead of stdout
#CONFIG_DEBUG_SYSLOG=y

# Add support for sending all debug messages (regardless of debug verbosity)
# to the Linux kernel tracing facility. This helps debug the entire stack by
# making it easy to record everything happening from the driver up into the
# same file, e.g., using trace-cmd.
#CONFIG_DEBUG_LINUX_TRACING=y

# Remove support for RADIUS accounting
#CONFIG_NO_ACCOUNTING=y

# Remove support for RADIUS
#CONFIG_NO_RADIUS=y

# Remove support for VLANs
#CONFIG_NO_VLAN=y

# Enable support for fully dynamic VLANs. This enables hostapd to
# automatically create bridge and VLAN interfaces if necessary.
#CONFIG_FULL_DYNAMIC_VLAN=y

# Use netlink-based kernel API for VLAN operations instead of ioctl()
# Note: This requires libnl 3.1 or newer.
#CONFIG_VLAN_NETLINK=y

# Remove support for dumping internal state through control interface commands
# This can be used to reduce binary size at the cost of disabling a debugging
# option.
#CONFIG_NO_DUMP_STATE=y

# Enable tracing code for developer debugging
# This tracks use of memory allocations and other registrations and reports
# incorrect use with a backtrace of call (or allocation) location.
#CONFIG_WPA_TRACE=y
# For BSD, comment out these.
#LIBS += -lexecinfo
#LIBS_p += -lexecinfo
#LIBS_c += -lexecinfo

# Use libbfd to get more details for developer debugging
# This enables use of libbfd to get more detailed symbols for the backtraces
# generated by CONFIG_WPA_TRACE=y.
#CONFIG_WPA_TRACE_BFD=y
# For BSD, comment out these.
#LIBS += -lbfd -liberty -lz
#LIBS_p += -lbfd -liberty -lz
#LIBS_c += -lbfd -liberty -lz

# hostapd depends on strong random number generation being available from the
# operating system. os_get_random() function is used to fetch random data when
# needed, e.g., for key generation. On Linux and BSD systems, this works by
# reading /dev/urandom. It should be noted that the OS entropy pool needs to be
# properly initialized before hostapd is started. This is important especially
# on embedded devices that do not have a hardware random number generator and
# may by default start up with minimal entropy available for random number
# generation.
#
# As a safety net, hostapd is by default trying to internally collect
# additional entropy for generating random data to mix in with the data
# fetched from the OS. This by itself is not considered to be very strong, but
# it may help in cases where the system pool is not initialized properly.
# However, it is very strongly recommended that the system pool is initialized
# with enough entropy either by using hardware assisted random number
# generator or by storing state over device reboots.
#
# hostapd can be configured to maintain its own entropy store over restarts to
# enhance random number generation. This is not perfect, but it is much more
# secure than using the same sequence of random numbers after every reboot.
# This can be enabled with -e<entropy file> command line option. The specified
# file needs to be readable and writable by hostapd.
#
# If the os_get_random() is known to provide strong random data (e.g., on
# Linux/BSD, the board in question is known to have reliable source of random
# data from /dev/urandom), the internal hostapd random pool can be disabled.
# This will save some in binary size and CPU use. However, this should only be
# considered for builds that are known to be used on devices that meet the
# requirements described above.
#CONFIG_NO_RANDOM_POOL=y

# Should we attempt to use the getrandom(2) call that provides more reliable
# yet secure randomness source than /dev/random on Linux 3.17 and newer.
# Requires glibc 2.25 to build, falls back to /dev/random if unavailable.
#CONFIG_GETRANDOM=y

# Should we use poll instead of select? Select is used by default.
#CONFIG_ELOOP_POLL=y

# Should we use epoll instead of select? Select is used by default.
#CONFIG_ELOOP_EPOLL=y

# Should we use kqueue instead of select? Select is used by default.
#CONFIG_ELOOP_KQUEUE=y

# Select TLS implementation
# openssl = OpenSSL (default)
# gnutls = GnuTLS
# internal = Internal TLSv1 implementation (experimental)
# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental)
# none = Empty template
#CONFIG_TLS=openssl

# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
# can be enabled to get a stronger construction of messages when block ciphers
# are used.
#CONFIG_TLSV11=y

# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
# can be enabled to enable use of stronger crypto algorithms.
#CONFIG_TLSV12=y

# Select which ciphers to use by default with OpenSSL if the user does not
# specify them.
#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW"

# If CONFIG_TLS=internal is used, additional library and include paths are
# needed for LibTomMath. Alternatively, an integrated, minimal version of
# LibTomMath can be used. See beginning of libtommath.c for details on benefits
# and drawbacks of this option.
#CONFIG_INTERNAL_LIBTOMMATH=y
#ifndef CONFIG_INTERNAL_LIBTOMMATH
#LTM_PATH=/usr/src/libtommath-0.39
#CFLAGS += -I$(LTM_PATH)
#LIBS += -L$(LTM_PATH)
#LIBS_p += -L$(LTM_PATH)
#endif
# At the cost of about 4 kB of additional binary size, the internal LibTomMath
# can be configured to include faster routines for exptmod, sqr, and div to
# speed up DH and RSA calculation considerably
#CONFIG_INTERNAL_LIBTOMMATH_FAST=y

# Interworking (IEEE 802.11u)
# This can be used to enable functionality to improve interworking with
# external networks.
#CONFIG_INTERWORKING=y

# Hotspot 2.0
#CONFIG_HS20=y

# Enable SQLite database support in hlr_auc_gw, EAP-SIM DB, and eap_user_file
CONFIG_SQLITE=y

# Enable Fast Session Transfer (FST)
#CONFIG_FST=y

# Enable CLI commands for FST testing
#CONFIG_FST_TEST=y

# Testing options
# This can be used to enable some testing options (see also the example
# configuration file) that are really useful only for testing clients that
# connect to this hostapd. These options allow, for example, to drop a
# certain percentage of probe requests or auth/(re)assoc frames.
#
#CONFIG_TESTING_OPTIONS=y

# Automatic Channel Selection
# This will allow hostapd to pick the channel automatically when channel is set
# to "acs_survey" or "0". Eventually, other ACS algorithms can be added in
# similar way.
#
# Automatic selection is currently only done through initialization, later on
# we hope to do background checks to keep us moving to more ideal channels as
# time goes by. ACS is currently only supported through the nl80211 driver and
# your driver must have survey dump capability that is filled by the driver
# during scanning.
#
# You can customize the ACS survey algorithm with the hostapd.conf variable
# acs_num_scans.
#
# Supported ACS drivers:
# * ath9k
# * ath5k
# * ath10k
#
# For more details refer to:
# https://wireless.wiki.kernel.org/en/users/documentation/acs
#
CONFIG_ACS=y

# Multiband Operation support
# These extensions facilitate efficient use of multiple frequency bands
# available to the AP and the devices that may associate with it.
#CONFIG_MBO=y

# Client Taxonomy
# Has the AP retain the Probe Request and (Re)Association Request frames from
# a client, from which a signature can be produced which can identify the model
# of client device like "Nexus 6P" or "iPhone 5s".
#CONFIG_TAXONOMY=y

# Fast Initial Link Setup (FILS) (IEEE 802.11ai)
#CONFIG_FILS=y
# FILS shared key authentication with PFS
#CONFIG_FILS_SK_PFS=y

# Include internal line edit mode in hostapd_cli. This can be used to provide
# limited command line editing and history support.
#CONFIG_WPA_CLI_EDIT=y

# Opportunistic Wireless Encryption (OWE)
# Experimental implementation of draft-harkins-owe-07.txt
#CONFIG_OWE=y

# Airtime policy support
#CONFIG_AIRTIME_POLICY=y

# Override default value for the wpa_disable_eapol_key_retries configuration
# parameter. See that parameter in hostapd.conf for more details.
#CFLAGS += -DDEFAULT_WPA_DISABLE_EAPOL_KEY_RETRIES=1

# Wired equivalent privacy (WEP)
# WEP is an obsolete cryptographic data confidentiality algorithm that is not
# considered secure. It should not be used for anything anymore. The
# functionality needed to use WEP is available in the current hostapd
# release under this optional build parameter. This functionality is subject to
# be completely removed in a future release.
#CONFIG_WEP=y

# Remove all TKIP functionality
# TKIP is an old cryptographic data confidentiality algorithm that is not
# considered secure. It should not be used anymore. For now, the default hostapd
# build includes this to allow mixed mode WPA+WPA2 networks to be enabled, but
# that functionality is subject to be removed in the future.
#CONFIG_NO_TKIP=y

# Pre-Association Security Negotiation (PASN)
# Experimental implementation based on IEEE P802.11z/D2.6 and the protocol
# design is still subject to change. As such, this should not yet be enabled in
# production use.
# This requires CONFIG_IEEE80211W=y to be enabled, too.
#CONFIG_PASN=y

# Device Provisioning Protocol (DPP) (also known as Wi-Fi Easy Connect)
CONFIG_DPP=y
# DPP version 2 support
CONFIG_DPP2=y
# DPP version 3 support (experimental and still changing; do not enable for
# production use)
#CONFIG_DPP3=y

# custom configuration options

# IEEE 802.11F/IAPP
CONFIG_IAPP=y

# IEEE 802.11w (management frame protection)
CONFIG_IEEE80211W=y

# IEEE 802.11n (High Throughput) support
CONFIG_IEEE80211N=y

CONFIG_MESH=y
CONFIG_SAE=y
CONFIG_WPS2=y

hostapd.initd

#!/sbin/openrc-run
# Copyright 1999-2006 Gentoo Foundation
# Modifications for Hyperbola Project 2024
# Distributed under the terms of the GNU General Public License v2

command="/usr/sbin/hostapd"
command_args="-B ${OPTIONS} ${CONFIGS}"
extra_started_commands="reload"
required_files="$CONFIGS"

depend() {
    need net
    after firewall
    use logger
}

reload() {
    ebegin "Reloading ${SVCNAME} configuration"
    kill -HUP $(pidof /usr/bin/hostapd) > /dev/null 2>&1
    eend $?
}

hostapd.confd

# Space separated list of configuration files
CONFIGS="/etc/hostapd/hostapd.conf"

# Extra options to pass to hostapd, see hostapd(8)
OPTIONS=""
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!

22

Re: [Collection] Compilation of packages and ports (not in repositories)

Package mtr and mtr-gtk

PKGBUILD

# Maintainer (Arch): Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor (Arch): Ionut Biru <ibiru@archlinux.org>
# Contributor (Arch): Douglas Soares de Andrade <douglas@archlinux.org>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgbase=mtr
pkgname=('mtr' 'mtr-gtk')
pkgver=0.95
pkgrel=1
pkgdesc="Combines the functionality of traceroute and ping into one tool"
url='https://www.bitwizard.nl/mtr/'
arch=('i686' 'x86_64')
license=('GPL-2')
makedepends=('gdk-pixbuf2' 'glibc' 'gtk' 'jansson' 'libcap' 'ncurses')
install=mtr.install
source=(https://github.com/traviscross/mtr/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz)
sha512sums=('a7d69e0c551a10ae80a650a34588119e6c6b124a8c2c93d3de29e5daa6ef99f9217d875529d443c3760cd6fd7bd04d1e9abe33ef12635826c66a98bd776c1690')

prepare() {
  (cd ${pkgbase}-${pkgver}
    echo "${pkgver}" > .tarball-version
    autoreconf -fiv
  )
  cp -ra ${pkgbase}-${pkgver}{,-cli}
}

build() {
  (cd ${pkgbase}-${pkgver}-cli
    ./configure \
      --prefix=/usr \
      --without-gtk \
      --sbindir=/usr/bin
    make
  )
  (cd ${pkgbase}-${pkgver}
    ./configure \
      --prefix=/usr \
      --sbindir=/usr/bin
    make
  )
}

package_mtr() {
  pkgdesc="Combines the functionality of traceroute and ping into one tool (CLI version)"
  depends=('glibc' 'jansson' 'libcap' 'ncurses')
  optdepends=('bash-completion: bash completion support')
  cd ${pkgbase}-${pkgver}-cli
  make DESTDIR="${pkgdir}" install
  install -Dm644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

package_mtr-gtk() {
  pkgdesc="Combines the functionality of traceroute and ping into one tool (GTK version)"
  depends=('gdk-pixbuf2' 'glib2' 'glibc' 'gtk' 'jansson' 'libcap' 'ncurses')
  optdepends=('bash-completion: bash completion support')
  conflicts=('mtr')
  provides=("mtr=${pkgver}")
  cd ${pkgbase}-${pkgver}
  make DESTDIR="${pkgdir}" install
  install -Dm644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

mtr.install

post_install() {
  setcap cap_net_bind_service,cap_net_raw+ep usr/bin/mtr-packet
}

post_upgrade() {
  post_install
}
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

Re: [Collection] Compilation of packages and ports (not in repositories)

Package desmume

PKGBUILD

# Maintainer (Arch): schuay <jakob.gruber@gmail.com>
# Contributor (Arch): Jonathan Conder <jonno dot conder at gmail dot com>
# Contributor (Arch): Brad Fanella <bradfanella@archlinux.us>
# Contributor (Arch): Arkham <arkham at archlinux dot us>
# Contributor (Arch): Nathan Jones <nathanj@insightbb.com>
# Contributor (Arch): Javier "Phrodo_00" Aravena <phrodo.00 at gmail dot com>
# Contributor (Arch): angvp <angvp at archlinux dot us>
# Contributor (Arch): Allan <mcrae_allan at hotmail dot com>
# Contributor (Arch): w0rm <w0rmtux at gmail dot com>
# Contributor (Arch): vEX <vex at niechift dot com>
# Contributor (Arch): Asher256 <achrafcherti at gmail dot com>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=desmume
pkgver=0.9.11
_debver=$pkgver
_debrel=4.1
pkgrel=2
pkgdesc="Nintendo DS emulator"
arch=('i686' 'x86_64')
url="https://desmume.org/"
license=('GPL-2')
depends=('desktop-file-utils' 'libpcap' 'soundtouch' 'alsa-lib' 'glu' 'sdl' 'gtk2' 'zziplib' 'tinyxml')
makedepends=('quilt' 'intltool' 'mesa' 'clang')
source=("https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
        "https://deb.debian.org/debian/pool/main/d/desmume/desmume_${_debver}-${_debrel}.debian.tar.xz")
sha512sums=('160cb6ec0ede04ad1fbddde2b7b04aa41fa464c8338d7eb9d7536196a82d8d716889b40be4fb831a22e3fe8532b947f7f0b41311601b6842be2516dff7cae46c'
            '22979722b6adfcbe44c908e727b563e3ee7653a36a372df36bba81b2743eaa24d328f11ccf378903288537c2459de7e6ed1f84716e2c52ba1235829a2db13705')

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"

  ./configure \
    --prefix=/usr \
    --enable-wifi \
    --enable-openal
  make
}

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

  make DESTDIR="$pkgdir/" install
  install -Dm644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname"
}

gcc6_fixes.patch

From: zeromus
Origin: upstream, https://sourceforge.net/p/desmume/code/5514, https://sourceforge.net/p/desmume/code/5517, https://sourceforge.net/p/desmume/code/5430
Subject: fix GCC6 issues
Bug: https://sourceforge.net/p/desmume/bugs/1570/
Bug-Debian: http://bugs.debian.org/811691

Index: desmume/src/MMU_timing.h
===================================================================
--- desmume/src/MMU_timing.h    (revision 5513)
+++ desmume/src/MMU_timing.h    (revision 5517)
@@ -155,8 +155,8 @@
     enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
     enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
     enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
-    enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
-    enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
+    enum { TAGMASK = (u32)(~0U << TAGSHIFT) };
+    enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) };
     enum { WORDSIZE = sizeof(u32) };
     enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
     enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
Index: desmume/src/ctrlssdl.cpp
===================================================================
--- desmume/src/ctrlssdl.cpp    (revision 5513)
+++ desmume/src/ctrlssdl.cpp    (revision 5517)
@@ -200,7 +200,7 @@
           break;
         case SDL_JOYAXISMOTION:
           /* Dead zone of 50% */
-          if( (abs(event.jaxis.value) >> 14) != 0 )
+          if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
             {
               key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
               if (event.jaxis.value > 0) {
@@ -370,7 +370,7 @@
          Note: button constants have a 1bit offset. */
     case SDL_JOYAXISMOTION:
       key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
-      if( (abs(event->jaxis.value) >> 14) != 0 )
+      if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
         {
           if (event->jaxis.value > 0)
             key_code |= 1;
Index: desmume/src/wifi.cpp
===================================================================
--- desmume/src/wifi.cpp    (revision 5429)
+++ desmume/src/wifi.cpp    (revision 5430)
@@ -320,9 +320,9 @@
 
 #if (WIFI_LOGGING_LEVEL >= 1)
     #if WIFI_LOG_USE_LOGC
-        #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
+        #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
     #else
-        #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
+        #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
     #endif
 #else
 #define WIFI_LOG(level, ...) {}

gcc7_fixes.patch

From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 2001
From: rogerman <rogerman@users.sf.net>
Date: Mon, 17 Aug 2015 21:15:04 +0000
Subject: Fix bug with libfat string handling.

diff --git a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp
index 765d7ae5..b6d7f01f 100644
--- a/src/utils/libfat/directory.cpp
+++ b/src/utils/libfat/directory.cpp
@@ -139,7 +139,7 @@ static size_t _FAT_directory_mbstoucs2 (ucs2_t* dst, const char* src, size_t len
     int bytes;
     size_t count = 0;
 
-    while (count < len-1 && src != '\0') {
+    while (count < len-1 && *src != '\0') {
         bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps);
         if (bytes > 0) {
             *dst = (ucs2_t)tempChar;
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!

24

Re: [Collection] Compilation of packages and ports (not in repositories)

Package lua-compat53

PKGBUILD

# Maintainer (Arch): Daurnimator <daurnimator@archlinux.org>
# Maintainer (Arch): Caleb Maclennan <caleb@alerque.com>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgbase=lua-compat53
pkgname=('lua51-compat53' 'lua52-compat53')
pkgver=0.14.3
pkgrel=1
pkgdesc="Compatibility module providing Lua-5.3-style APIs"
arch=('i686' 'x86_64')
url='https://github.com/lunarmodules/lua-compat-5.3'
license=('Expat')
makedepends=('lua51' 'lua52')
source=("$pkgname-$pkgver.tar.gz::https://github.com/lunarmodules/lua-compat-5.3/archive/v$pkgver.tar.gz")
sha512sums=('9e355df0d1a165b7bbdc69c39fe49467ae5a7d93e02b875ade5863e2d44ba80955287210376fccbc5f2370970f5552774d84c812a9681d49a78b8eceeab37442')

build() {
  cd "lua-compat-5.3-$pkgver"
  mkdir 5.1 5.2

  gcc $CPPFLAGS $CFLAGS -fPIC -I/usr/include/lua5.1 -c lutf8lib.c -o 5.1/lutf8lib.o
  gcc $CPPFLAGS $CFLAGS -fPIC -I/usr/include/lua5.1 -c lstrlib.c -o 5.1/lstrlib.o
  gcc $CPPFLAGS $CFLAGS -fPIC -I/usr/include/lua5.1 -c ltablib.c -o 5.1/ltablib.o
  gcc -shared $LDFLAGS -o 5.1/utf8.so 5.1/lutf8lib.o
  gcc -shared $LDFLAGS -o 5.1/string.so 5.1/lstrlib.o
  gcc -shared $LDFLAGS -o 5.1/table.so 5.1/ltablib.o

  gcc $CPPFLAGS $CFLAGS -fPIC -I/usr/include/lua5.2 -c lutf8lib.c -o 5.2/lutf8lib.o
  gcc $CPPFLAGS $CFLAGS -fPIC -I/usr/include/lua5.2 -c lstrlib.c -o 5.2/lstrlib.o
  gcc $CPPFLAGS $CFLAGS -fPIC -I/usr/include/lua5.2 -c ltablib.c -o 5.2/ltablib.o
  gcc -shared $LDFLAGS -o 5.2/utf8.so 5.2/lutf8lib.o
  gcc -shared $LDFLAGS -o 5.2/string.so 5.2/lstrlib.o
  gcc -shared $LDFLAGS -o 5.2/table.so 5.2/ltablib.o
}

package_lua51-compat53() {
  pkgdesc="Compatibility module providing Lua-5.3-style APIs for Lua 5.1"

  cd "lua-compat-5.3-$pkgver"
  install -Dm644 compat53/{init,module,file_mt}.lua -t "$pkgdir/usr/share/lua/5.1/compat53"
  install -D 5.1/{utf8,string,table}.so -t "$pkgdir/usr/lib/lua/5.1/compat53/"
  install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}

package_lua52-compat53() {
  pkgdesc="Compatibility module providing Lua-5.3-style APIs for Lua 5.2"

  cd "lua-compat-5.3-$pkgver"
  install -Dm644 compat53/{init,module,file_mt}.lua -t "$pkgdir/usr/share/lua/5.2/compat53"
  install -D 5.2/{utf8,string,table}.so -t "$pkgdir/usr/lib/lua/5.2/compat53/"
  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!

25

Re: [Collection] Compilation of packages and ports (not in repositories)

Package ttf-gentium

PKGBUILD

# Maintainer (Arch): Ivy Foster <code@iff.ink>
# Contributor (Arch): Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Maintainer: Tobias Dausend <throgh@hyperbola.info>

pkgname=ttf-gentium
pkgver=1.03
pkgrel=1
pkgdesc="Font supporting a wide range of Latin- and Cyrillic-based alphabets"
url='https://software.sil.org/gentium/'
license=('OFL-1.1')
arch=('any')
source=("${pkgname}-${pkgver}.tar.xz::https://deb.debian.org/debian/pool/main/f/fonts-sil-gentium/fonts-sil-gentium_${pkgver}.orig.tar.xz")
sha512sums=('09112edb483baaf73f8c8343aab3272afa1276b402a1a98b60ce17767e58c18f241fe9250d8013e327a2b9cc6fe14486cd7a458ba0c291d09274a37ffa26bbe8')

package() {
  cd "fonts-sil-gentium-$pkgver"

  install -Dm644 *.ttf -t "$pkgdir/usr/share/fonts/TTF"
  install -Dm644 OFL{,-FAQ}.txt -t "$pkgdir/usr/share/licenses/$pkgname"
  install -Dm644 GENTIUM-FAQ.txt README.txt -t "$pkgdir/usr/share/doc/$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!