From 66c326b6d65388e9f1003715ad9675505f01f9d2 Mon Sep 17 00:00:00 2001 From: davidovski Date: Fri, 3 Jun 2022 13:05:13 +0100 Subject: added porting from alpine linux --- auto/create_meta.sh | 2 - auto/port-alpine.sh | 88 +++++++++++ linux-libre-src.xibuild | 13 -- linux-libre.xibuild | 69 --------- repo/asciidoctor/asciidoctor.xibuild | 32 ++++ repo/aspell/CVE-2019-25051.patch | 96 ++++++++++++ repo/aspell/aspell.xibuild | 36 +++++ repo/botan/botan.xibuild | 2 +- repo/fish/fish.xibuild | 29 ++++ repo/fontconfig/fontconfig.xibuild | 2 +- repo/gd/gd.xibuild | 29 ++++ repo/girara/girara.xibuild | 24 +++ repo/girara/test.sh | 12 ++ repo/gtk3/gtk3.xibuild | 2 +- repo/libnotify/libnotify.xibuild | 27 ++++ repo/libpaper/libpaper.xibuild | 29 ++++ repo/nano/nano.xibuild | 38 +++++ repo/oksh/oksh.xibuild | 21 +++ repo/pavucontrol/pavucontrol.xibuild | 25 +++ repo/pcre2-32/pcre2-32.xibuild | 28 ++++ repo/qt5-qtbase/qt5-qtbase.xibuild | 1 - repo/sed/sed.xibuild | 42 +++-- repo/texlive/libsynctex.xibuild | 6 + repo/texlive/texlive.xibuild | 114 ++++++++++++++ repo/thunderbird/thunderbird.desktop | 172 ++++----------------- repo/thunderbird/thunderbird.xibuild | 131 +++++++++++----- repo/tor/0002-disable-wildcard-escaping-test_patch | 2 +- repo/tor/tor.post-upgrade | 21 +++ repo/tor/tor.pre-install | 5 + repo/tor/tor.xibuild | 36 +++-- repo/transmission/disable-missing-lang.patch | 10 ++ repo/transmission/fix-gettext-sigsegv.patch | 15 ++ repo/transmission/transmission-daemon.confd | 14 ++ repo/transmission/transmission-daemon.initd | 73 +++++++++ repo/transmission/transmission-daemon.logrotate | 8 + repo/transmission/transmission-daemon.post-upgrade | 10 ++ repo/transmission/transmission-daemon.pre-install | 6 + repo/transmission/transmission.xibuild | 40 +++++ repo/util-linux/util-linux.xibuild | 1 + repo/weechat/weechat.xibuild | 30 ++++ repo/xipkg/xipkg.xibuild | 2 +- .../zathura-pdf-poppler.xibuild | 21 +++ repo/zathura/fix-fish-completion.patch | 15 ++ repo/zathura/zathura.xibuild | 27 ++++ repo/zsh/zsh.xibuild | 36 +++++ repo/zziplib/zziplib.xibuild | 29 ++++ skip/pavucontrol/pavucontrol.xibuild | 25 --- wishlist.md | 4 +- 48 files changed, 1174 insertions(+), 326 deletions(-) create mode 100755 auto/port-alpine.sh delete mode 100644 linux-libre-src.xibuild delete mode 100644 linux-libre.xibuild create mode 100644 repo/asciidoctor/asciidoctor.xibuild create mode 100644 repo/aspell/CVE-2019-25051.patch create mode 100644 repo/aspell/aspell.xibuild create mode 100644 repo/fish/fish.xibuild create mode 100644 repo/gd/gd.xibuild create mode 100644 repo/girara/girara.xibuild create mode 100755 repo/girara/test.sh create mode 100644 repo/libnotify/libnotify.xibuild create mode 100644 repo/libpaper/libpaper.xibuild create mode 100644 repo/nano/nano.xibuild create mode 100644 repo/oksh/oksh.xibuild create mode 100644 repo/pavucontrol/pavucontrol.xibuild create mode 100644 repo/pcre2-32/pcre2-32.xibuild create mode 100644 repo/texlive/libsynctex.xibuild create mode 100644 repo/texlive/texlive.xibuild create mode 100644 repo/tor/tor.post-upgrade create mode 100644 repo/tor/tor.pre-install create mode 100644 repo/transmission/disable-missing-lang.patch create mode 100644 repo/transmission/fix-gettext-sigsegv.patch create mode 100644 repo/transmission/transmission-daemon.confd create mode 100644 repo/transmission/transmission-daemon.initd create mode 100644 repo/transmission/transmission-daemon.logrotate create mode 100644 repo/transmission/transmission-daemon.post-upgrade create mode 100644 repo/transmission/transmission-daemon.pre-install create mode 100644 repo/transmission/transmission.xibuild create mode 100644 repo/weechat/weechat.xibuild create mode 100644 repo/zathura-pdf-poppler/zathura-pdf-poppler.xibuild create mode 100644 repo/zathura/fix-fish-completion.patch create mode 100644 repo/zathura/zathura.xibuild create mode 100644 repo/zsh/zsh.xibuild create mode 100644 repo/zziplib/zziplib.xibuild delete mode 100644 skip/pavucontrol/pavucontrol.xibuild diff --git a/auto/create_meta.sh b/auto/create_meta.sh index 04c7e84..da610bf 100755 --- a/auto/create_meta.sh +++ b/auto/create_meta.sh @@ -22,8 +22,6 @@ create() { mkdir -p repo/meta/all/ ls repo | create 'AlL tHe pacKageS!!' > repo/meta/all/all.xibuild -skip="skip meta" - for repo in $(ls repo); do pkg_name=repo-$repo if echo $skip | grep -q $repo; then diff --git a/auto/port-alpine.sh b/auto/port-alpine.sh new file mode 100755 index 0000000..9a6a623 --- /dev/null +++ b/auto/port-alpine.sh @@ -0,0 +1,88 @@ +#!/bin/sh +# +# port a package from alpine linux +# + +package=$1 +aports_dir="/home/david/docs/proj/alpine/aports" + +pkgbuild=$(find $aports_dir -name "$package" -type d | head -1) + +[ ! -d "$pkgbuild" ] && printf "${RED}package not found" && exit 1 + +apkbuild="$pkgbuild/APKBUILD" +additional=$(ls $pkgbuild | grep -v ^APKBUILD$) + +. $apkbuild + + +name=$pkgname + +version=$pkgver + +# some use a _ pkg ver +[ ! -z "$_pkgver"] && version=$_pkgver + +url=$(echo "$source" | head -1) +makedeps="" +for dep in $makedepends; do + makedeps="$makedeps $(echo $dep | sed -E 's/(-dev|-lib|-doc)$//g')" +done + +builddir="repo/$package" +buildfile="$builddir/$package.xibuild" +mkdir -p $builddir +touch $buildfile + +cat > $buildfile << EOF +#!/bin/sh + +NAME="$pkgname" +DESC="$pkgdesc" + +MAKEDEPS="$makedeps" + +PKG_VER=$version +EOF + +grep "source=" $apkbuild | sed 's/source=/SOURCE=/g' | sed 's/pkgver/PKG_VER/g' | sed -r 's/([^"])$/\1"/' >> $buildfile +echo >> $buildfile + +[ "${#additional}" != "0" ] && { + echo "ADDITIONAL=\"" >> $buildfile + for file in $additional; do + echo $file >> $buildfile + [ -f $pkgbuild/$file ] && cp $pkgbuild/$file $builddir/ + done + echo '"' >> $buildfile + echo >> $buildfile +} + +# TODO make this better +counting=false +while IFS= read -r line; do + case "$line" in + *"()"*"{") counting=true;; + sha512sums=*) counting=false;; + esac + + $counting && printf "%s\n" "$line" >> $buildfile +done < $apkbuild + +sed -i "s/\$pkgname/$name/g" $buildfile +sed -i "s/\$pkgver/\$PKG_VER/g" $buildfile +sed -i "s/\$pkgdir/\$PKG_DEST/g" $buildfile +sed -i "s/\$subpkgdir/\$PKG_DEST/g" $buildfile +sed -i "s/\$srcdir/\$BUILD_ROOT/g" $buildfile +sed -i "s/\$builddir/\$BUILD_ROOT/g" $buildfile +sed -i "s/^sha512sums=.*$//g" $buildfile +# ignore build and host options for configure; we arent cross compiling +sed -i "s/^\w*--build=//g" $buildfile +sed -i "s/^\w*--host=//g" $buildfile + +sed -i 's/abuild-meson/meson --prefix=\/usr \\\n/' $buildfile + +echo "press enter to edit" +read edit + +vim -O $buildfile $apkbuild diff --git a/linux-libre-src.xibuild b/linux-libre-src.xibuild deleted file mode 100644 index 3ce3796..0000000 --- a/linux-libre-src.xibuild +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -DESC="$DESC (source)" - -package () { - srcdir=$PKG_DEST/usr/src/ - mkdir -p $srcdir - tar -xf linux-$PKG_VER.tar.xz -C $srcdir - make -C $srcdir/linux-$PKG_VER mrproper - cp config $srcdir/linux-$PKG_VER/.config - make -C $srcdir/linux-$PKG_VER olddefconfig -} - diff --git a/linux-libre.xibuild b/linux-libre.xibuild deleted file mode 100644 index cb7be8f..0000000 --- a/linux-libre.xibuild +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make bc" -DEPS="sbase kmod" - -PKG_VER=5.18.1 -SOURCE=https://cdn.kernel.org/pub/linux/kernel/v${PKG_VER%%.*}.x/linux-$PKG_VER.tar.xz -ADDITIONAL=" - fix-sbase-coreutils.patch - config - https://linux-libre.fsfla.org/pub/linux-libre/releases/$PKG_VER-gnu/deblob-${PKG_VER%.*} - https://linux-libre.fsfla.org/pub/linux-libre/releases/$PKG_VER-gnu/deblob-check -" - -prepare () { - sh deblob-${PKG_VER%.*} --force - - apply_patches - cp config .config - - export GREP="ggrep" - - make olddefconfig - make -s kernelrelease > version - echo "Prepared linux version $(cat version)" -} - -build () { - make all -} - -package () { - local kernver="$(cat version)" - local modulesdir="$PKG_DEST/usr/lib/modules/$kernver" - - echo "Installing boot image..." - mkdir -p $PKG_DEST/boot - - cp arch/x86/boot/bzImage $PKG_DEST/boot/vmlinuz-libre-$kernver - cp System.map $PKG_DEST/boot/System.map-libre-$kernver - cp .config $PKG_DEST/boot/config-libre-$kernver - - install -d $PKG_DEST/usr/share/doc/linux-libre-$kernver - cp -r Documentation/* $PKG_DEST/usr/share/doc/linux-libre-$kernver - - install -m755 -d $PKG_DEST/etc/modprobe.d - - echo "Installing modules..." - make INSTALL_MOD_PATH="$PKG_DEST/usr" INSTALL_MOD_STRIP=1 modules_install - builddir=$modulesdir/build - rm $modulesdir/source - rm $builddir - mkdir $builddir - echo "Installing build files..." - install -D -m644 .config "$builddir" - install -D -m644 Makefile "$builddir" - install -D -m644 Module.symvers "$builddir" - install -D -m644 System.map "$builddir" - install -D -m644 version "$builddir" - install -D -m644 vmlinux "$builddir" - install -D -m644 kernel/Makefile "$builddir/kernel/Makefile" - install -D -m644 arch/x86/Makefile "$builddir/arch/x86/Makefile" - cp -r scripts "$builddir" - - install -D tools/objtool/objtool "$builddir/tools/objtool" - install -D tools/bpf/resolve_btfids/resolve_btfids "$builddir/tools/bpf/resolve_btfids" - ln -s /usr/src/linux $modulesdir/source -} - diff --git a/repo/asciidoctor/asciidoctor.xibuild b/repo/asciidoctor/asciidoctor.xibuild new file mode 100644 index 0000000..bd4f59f --- /dev/null +++ b/repo/asciidoctor/asciidoctor.xibuild @@ -0,0 +1,32 @@ +#!/bin/sh + +NAME="asciidoctor" +DESC="Converter for AsciiDoc to HTML5, DocBook 5 (or 4.5) and other formats" + +MAKEDEPS="ruby" + +PKG_VER=2.0.17 +SOURCE="https://rubygems.org/downloads/asciidoctor-$PKG_VER.gem" + +package() { + local gemdir="$(ruby -e 'puts Gem.default_dir')" + + gem install \ + --local \ + --install-dir "$PKG_DEST"/$gemdir \ + --ignore-dependencies \ + --verbose \ + --no-document \ + "$BUILD_ROOT"/asciidoctor-$PKG_VER.gem + + rm -rf "$PKG_DEST"/$gemdir/cache + + cd "$PKG_DEST" + local i; for i in usr/lib/ruby/gems/*/bin/*; do + if [ -e "$i" ]; then + mkdir -p "$PKG_DEST"/usr/bin + ln -s /$i "$PKG_DEST"/usr/bin/ + fi + done +} + diff --git a/repo/aspell/CVE-2019-25051.patch b/repo/aspell/CVE-2019-25051.patch new file mode 100644 index 0000000..2f15d38 --- /dev/null +++ b/repo/aspell/CVE-2019-25051.patch @@ -0,0 +1,96 @@ +From 0718b375425aad8e54e1150313b862e4c6fd324a Mon Sep 17 00:00:00 2001 +From: Kevin Atkinson +Date: Sat, 21 Dec 2019 20:32:47 +0000 +Subject: [PATCH] objstack: assert that the alloc size will fit within a chunk + to prevent a buffer overflow + +Bug found using OSS-Fuze. +--- + common/objstack.hpp | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/common/objstack.hpp b/common/objstack.hpp +index 3997bf7..bd97ccd 100644 +--- a/common/objstack.hpp ++++ b/common/objstack.hpp +@@ -5,6 +5,7 @@ + #include "parm_string.hpp" + #include + #include ++#include + + namespace acommon { + +@@ -26,6 +27,12 @@ class ObjStack + byte * temp_end; + void setup_chunk(); + void new_chunk(); ++ bool will_overflow(size_t sz) const { ++ return offsetof(Node,data) + sz > chunk_size; ++ } ++ void check_size(size_t sz) { ++ assert(!will_overflow(sz)); ++ } + + ObjStack(const ObjStack &); + void operator=(const ObjStack &); +@@ -56,7 +63,7 @@ class ObjStack + void * alloc_bottom(size_t size) { + byte * tmp = bottom; + bottom += size; +- if (bottom > top) {new_chunk(); tmp = bottom; bottom += size;} ++ if (bottom > top) {check_size(size); new_chunk(); tmp = bottom; bottom += size;} + return tmp; + } + // This alloc_bottom will insure that the object is aligned based on the +@@ -66,7 +73,7 @@ class ObjStack + align_bottom(align); + byte * tmp = bottom; + bottom += size; +- if (bottom > top) {new_chunk(); goto loop;} ++ if (bottom > top) {check_size(size); new_chunk(); goto loop;} + return tmp; + } + char * dup_bottom(ParmString str) { +@@ -79,7 +86,7 @@ class ObjStack + // always be aligned as such. + void * alloc_top(size_t size) { + top -= size; +- if (top < bottom) {new_chunk(); top -= size;} ++ if (top < bottom) {check_size(size); new_chunk(); top -= size;} + return top; + } + // This alloc_top will insure that the object is aligned based on +@@ -88,7 +95,7 @@ class ObjStack + {loop: + top -= size; + align_top(align); +- if (top < bottom) {new_chunk(); goto loop;} ++ if (top < bottom) {check_size(size); new_chunk(); goto loop;} + return top; + } + char * dup_top(ParmString str) { +@@ -117,6 +124,7 @@ class ObjStack + void * alloc_temp(size_t size) { + temp_end = bottom + size; + if (temp_end > top) { ++ check_size(size); + new_chunk(); + temp_end = bottom + size; + } +@@ -131,6 +139,7 @@ class ObjStack + } else { + size_t s = temp_end - bottom; + byte * p = bottom; ++ check_size(size); + new_chunk(); + memcpy(bottom, p, s); + temp_end = bottom + size; +@@ -150,6 +159,7 @@ class ObjStack + } else { + size_t s = temp_end - bottom; + byte * p = bottom; ++ check_size(size); + new_chunk(); + memcpy(bottom, p, s); + temp_end = bottom + size; diff --git a/repo/aspell/aspell.xibuild b/repo/aspell/aspell.xibuild new file mode 100644 index 0000000..174b779 --- /dev/null +++ b/repo/aspell/aspell.xibuild @@ -0,0 +1,36 @@ +#!/bin/sh + +NAME="aspell" +DESC="A spell checker designed to eventually replace Ispell" + +MAKEDEPS=" ncurses perl gettext" + +PKG_VER=0.60.8 +SOURCE="https://ftp.gnu.org/gnu/aspell/aspell-$PKG_VER.tar.gz" + +ADDITIONAL=" +CVE-2019-25051.patch +" + +prepare() { + apply_patches +} + +build() { + LDFLAGS="-lintl" \ + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-dict-dir=/usr/share/aspell \ + --enable-pkgdatadir=/usr/share/aspell \ + --enable-compile-in-filters + make +} + +check() { + make check +} + +package() { + make DESTDIR="$PKG_DEST" install +} diff --git a/repo/botan/botan.xibuild b/repo/botan/botan.xibuild index 1856cf7..8264585 100644 --- a/repo/botan/botan.xibuild +++ b/repo/botan/botan.xibuild @@ -3,7 +3,7 @@ NAME="botan" DESC="Crypto and TLS for C++11" -MAKEDEPS="make boost bzip2 openssl sqlite xz zlib" +MAKEDEPS="make boost bzip2 openssl sqlite3 xz zlib" DEPS="musl libstdc++ libgcc" PKG_VER=2.19.1 diff --git a/repo/fish/fish.xibuild b/repo/fish/fish.xibuild new file mode 100644 index 0000000..bc4908c --- /dev/null +++ b/repo/fish/fish.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +NAME="fish" +DESC="Modern interactive commandline shell" + +MAKEDEPS="cmake " +DEPS="bc sbase pcre2-32 musl ncurses " + +PKG_VER=3.4.1 +SOURCE="https://github.com/fish-shell/fish-shell/releases/download/$PKG_VER/fish-$PKG_VER.tar.xz" + +build () { + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_STATIC_LIBS=OFF + cmake --build build +} +check() { + cd build + ./fish_tests + cd .. +} + + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/fontconfig/fontconfig.xibuild b/repo/fontconfig/fontconfig.xibuild index e5dbb6f..ed1d195 100644 --- a/repo/fontconfig/fontconfig.xibuild +++ b/repo/fontconfig/fontconfig.xibuild @@ -1,7 +1,7 @@ #!/bin/sh MAKEDEPS="make libxml2" -DEPS="freetype2" +DEPS="freetype2 util-linux" PKG_VER=2.13.1 SOURCE=https://www.freedesktop.org/software/fontconfig/release/fontconfig-$PKG_VER.tar.bz2 diff --git a/repo/gd/gd.xibuild b/repo/gd/gd.xibuild new file mode 100644 index 0000000..65651e7 --- /dev/null +++ b/repo/gd/gd.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +NAME="gd" +DESC="Library for the dynamic creation of images by programmers" + +MAKEDEPS=" libjpeg-turbo libpng libwebp freetype2 zlib" + +PKG_VER=2.3.3 +SOURCE="https://github.com/libgd/libgd/releases/download/gd-$PKG_VER/libgd-$PKG_VER.tar.xz" + +build() { + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --without-fontconfig \ + --disable-werror + make +} + +check() { + TMPDIR=/tmp make check +} + +package() { + make DESTDIR="$PKG_DEST" install +} + diff --git a/repo/girara/girara.xibuild b/repo/girara/girara.xibuild new file mode 100644 index 0000000..c1dc099 --- /dev/null +++ b/repo/girara/girara.xibuild @@ -0,0 +1,24 @@ +#!/bin/sh + +NAME="girara" +DESC="gtk user interface that focuses on simplicity and minimalism" + +MAKEDEPS="gtk3 json-c intltool doxygen check ncurses meson ninja" + +PKG_VER=0.3.7 +SOURCE="https://git.pwmt.org/pwmt/girara/-/archive/$PKG_VER/girara-$PKG_VER.tar.gz" + +ADDITIONAL=" +test.sh +" + +build() { + meson --prefix=/usr \ + . build + meson compile ${JOBS:+-j ${JOBS}} -C build +} + +package() { + DESTDIR="$PKG_DEST" meson install --no-rebuild -C build +} + diff --git a/repo/girara/test.sh b/repo/girara/test.sh new file mode 100755 index 0000000..b37dc50 --- /dev/null +++ b/repo/girara/test.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +Xvfb :4242 & +PID=$! +export DISPLAY=:4242 +if ninja -C build meson-test; then + kill $PID + return 0 +else + kill $PID + return 1 +fi diff --git a/repo/gtk3/gtk3.xibuild b/repo/gtk3/gtk3.xibuild index 3b14d0a..145d949 100644 --- a/repo/gtk3/gtk3.xibuild +++ b/repo/gtk3/gtk3.xibuild @@ -6,7 +6,7 @@ DESC="The GTK+ Toolkit (v3)" MAKEDEPS="meson ninja gtk2 docbook-dtd gtk-doc" DEPS="atk at-spi2-atk sbase cairo gobject-introspection fontconfig fribidi gdk-pixbuf glib harfbuzz libepoxy intltool libx11 libxcomposite libxcursor libxdamage libxext libxfixes libxi libxinerama libxkbcommon libxrandr musl pango shared-mime-info wayland adwaita-icon-theme gsettings-desktop-schemas" -PKG_VER=3.24.33 +PKG_VER=3.24.34 SOURCE="https://download.gnome.org/sources/gtk+/${PKG_VER%.*}/gtk+-$PKG_VER.tar.xz" diff --git a/repo/libnotify/libnotify.xibuild b/repo/libnotify/libnotify.xibuild new file mode 100644 index 0000000..0bb4cf5 --- /dev/null +++ b/repo/libnotify/libnotify.xibuild @@ -0,0 +1,27 @@ +#!/bin/sh + +NAME="libnotify" +DESC="Desktop notification library" + +MAKEDEPS="meson gdk-pixbuf dbus gtk3 gobject-introspection" + +PKG_VER=0.7.9 +SOURCE="https://download.gnome.org/sources/libnotify/${PKG_VER%.*}/libnotify-$PKG_VER.tar.xz" + +build() { + meson --prefix=/usr \ + -Dtests=true \ + -Dintrospection=enabled \ + -Dgtk_doc=false \ + -Dman=false \ + output + meson compile ${JOBS:+-j ${JOBS}} -C output +} + +check() { + meson test --no-rebuild -v -C output +} + +package() { + DESTDIR="$PKG_DEST" meson install --no-rebuild -C output +} diff --git a/repo/libpaper/libpaper.xibuild b/repo/libpaper/libpaper.xibuild new file mode 100644 index 0000000..88d70d0 --- /dev/null +++ b/repo/libpaper/libpaper.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +NAME="libpaper" +DESC="Library for handling paper characteristics" + +MAKEDEPS=" automake autoconf libtool" + +PKG_VER=1.1.28 +SOURCE="https://deb.debian.org/debian/pool/main/libp/libpaper/libpaper_$PKG_VER.tar.gz" + +prepare() { + cd "$BUILD_ROOT" + autoreconf -fi +} + +build() { + cd "$BUILD_ROOT" + ./configure \ + --prefix=/usr \ + --disable-static \ + --mandir="$PKG_DEST"/usr/share/man + make +} + +package() { + cd "$BUILD_ROOT" + make prefix="$PKG_DEST"/usr install +} + diff --git a/repo/nano/nano.xibuild b/repo/nano/nano.xibuild new file mode 100644 index 0000000..dcca53b --- /dev/null +++ b/repo/nano/nano.xibuild @@ -0,0 +1,38 @@ +#!/bin/sh + +NAME="nano" +DESC="Enhanced clone of the Pico text editor" + +MAKEDEPS=" ncurses" + +PKG_VER=6.2 +SOURCE="https://www.nano-editor.org/dist/v${PKG_VER%%.*}/nano-$PKG_VER.tar.xz" +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-libmagic \ + --disable-nls + make +} + +check() { + make check +} + +package() { + make DESTDIR="$PKG_DEST" install + install -Dm644 doc/sample.nanorc \ + "$PKG_DEST"/etc/nanorc + + # Proper syntax highlighting for APKBUILDs + sed -i "/syntax/s/\"$/\" \"APKBUILD&/" \ + "$PKG_DEST"/usr/share/nano/sh.nanorc + + rm -rf "$PKG_DEST"/usr/lib/charset.alias +} + diff --git a/repo/oksh/oksh.xibuild b/repo/oksh/oksh.xibuild new file mode 100644 index 0000000..eafaab7 --- /dev/null +++ b/repo/oksh/oksh.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +NAME="oksh" +DESC="Portable OpenBSD ksh, based on the Public Domain KornShell (pdksh)" + +MAKEDEPS="make " +DEPS="sbase musl " + +PKG_VER=7.1 +SOURCE="https://github.com/ibara/oksh/archive/oksh-$PKG_VER.tar.gz" + +build () { + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/pavucontrol/pavucontrol.xibuild b/repo/pavucontrol/pavucontrol.xibuild new file mode 100644 index 0000000..3692e7f --- /dev/null +++ b/repo/pavucontrol/pavucontrol.xibuild @@ -0,0 +1,25 @@ +#!/bin/sh + +NAME="pavucontrol" +DESC="Pulseaudio Volume Control, GTK based mixer for Pulseaudio" + +MAKEDEPS="make " +DEPS="atkmm glib glibmm gtk3 json-glib libcanberra-gtk3 intltool libsigc++ musl pulseaudio gtkmm3" + +PKG_VER=5.0 +SOURCE="https://freedesktop.org/software/pulseaudio/pavucontrol/pavucontrol-$PKG_VER.tar.gz" + +build () { + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static \ + --disable-lynx \ + --disable-nls + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/pcre2-32/pcre2-32.xibuild b/repo/pcre2-32/pcre2-32.xibuild new file mode 100644 index 0000000..4822cf8 --- /dev/null +++ b/repo/pcre2-32/pcre2-32.xibuild @@ -0,0 +1,28 @@ +#!/bin/sh + +NAME="pcre2-32" +DESC="PCRE2 with 32 bit character support" + +MAKEDEPS="make " +DEPS="musl " + +PKG_VER=10.39 +SOURCE="https://github.com/PhilipHazel/pcre2/releases/download/pcre2-$PKG_VER/pcre2-$PKG_VER.tar.bz2" + +build () { + ./configure \ + CFLAGS="$CFLAGS -O3" \ + --prefix=/usr \ + --docdir=/usr/share/doc/pcre2-32-$PKG_VER \ + --htmldir=/usr/share/doc/pcre2-32-$PKG_VER/html \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-pcre2grep-libz \ + --enable-pcre2test-libedit \ + --with-match-limit-depth=8192 + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/qt5-qtbase/qt5-qtbase.xibuild b/repo/qt5-qtbase/qt5-qtbase.xibuild index d9e4791..796ea58 100644 --- a/repo/qt5-qtbase/qt5-qtbase.xibuild +++ b/repo/qt5-qtbase/qt5-qtbase.xibuild @@ -10,7 +10,6 @@ PKG_VER=5.15.4 commit="e0a15c11b853954d4189b2e30aa2450184de0987" SOURCE="https://invent.kde.org/qt/qt/qtbase/-/archive/$commit/qtbase-$commit.tar.gz" ADDITIONAL=" -compile-with-libexecinfo-enabled.patch qt-musl-iconv-no-bom.patch qt5-base-cflags.patch qt5-base-nostrip.patch diff --git a/repo/sed/sed.xibuild b/repo/sed/sed.xibuild index ddb7102..af15b44 100644 --- a/repo/sed/sed.xibuild +++ b/repo/sed/sed.xibuild @@ -1,17 +1,39 @@ #!/bin/sh -MAKEDEPS="make sort" -DEPS="musl acl attr" +NAME="sed" +DESC="GNU stream editor" -PKG_VER=0.8.6 -SOURCE=http://landley.net/toybox/downloads/toybox-$PKG_VER.tar.gz -DESC="stream editor from toybox" +MAKEDEPS=" perl" -build () { - ./configure - make sed +PKG_VER=4.8 +#SOURCE="https://ftp.gnu.org/pub/gnu/sed/sed-$PKG_VER.tar.xz" +SOURCE="https://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/sed/sed-$PKG_VER.tar.xz" + +ADDITIONAL=" +sed.post-deinstall +" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --bindir=/bin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-i18n \ + --disable-nls + make +} + +check() { + make check } -package () { - install -Dm755 sed $PKG_DEST/usr/bin/ +package() { + make DESTDIR="$PKG_DEST" install + + rm -rf "$PKG_DEST"/usr/lib/charset.alias || true + rmdir -p "$PKG_DEST"/usr/lib 2>/dev/null || true } + diff --git a/repo/texlive/libsynctex.xibuild b/repo/texlive/libsynctex.xibuild new file mode 100644 index 0000000..0a30caa --- /dev/null +++ b/repo/texlive/libsynctex.xibuild @@ -0,0 +1,6 @@ +#!/bin/sh +DESC="Library for synchronization between TeX files and resulting file" + +package() { + add_from_main usr/lib/libsynctex.so.* +} diff --git a/repo/texlive/texlive.xibuild b/repo/texlive/texlive.xibuild new file mode 100644 index 0000000..6917321 --- /dev/null +++ b/repo/texlive/texlive.xibuild @@ -0,0 +1,114 @@ +#!/bin/sh + +NAME="texlive" +DESC="Comprehensive TeX document production system" + +MAKEDEPS="cairo fontconfig freetype2 gd gmp graphite harfbuzz icu libpaper libpng libxaw libxmu motif mpfr pixman poppler zlib zziplib" + +PKG_VER=20210628.59744 +SOURCE="https://github.com/TeX-Live/texlive-source/archive/f398692b64d6462c35939ec9489694d0828edee5.tar.gz" + +prepare() { + sed -i '/AC_SEARCH_LIBS/a KPSE_KPATHSEA_FLAGS' texk/bibtex-x/configure.ac + (cd texk/bibtex-x && autoreconf) + + sed -i s/SELFAUTOPARENT/TEXMFROOT/ texk/tex4htk/t4ht.c +} + +build() { + mkdir -p "$BUILD_ROOT"/build && cd "$BUILD_ROOT"/build + + # builders keep failing when -jN == nproc + export MAKEFLAGS="$MAKEFLAGS -j$((JOBS<16 ? JOBS : 16))" + + ../configure -C \ + --prefix=/usr \ + --sysconfdir=/etc \ + --datarootdir=/usr/share \ + --datadir=/usr/share \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-biber \ + --enable-dvipng \ + --enable-dvipsk \ + --enable-epsfwin \ + --enable-ipc \ + --enable-luatex \ + --enable-mftalkwin \ + --enable-ps2eps \ + --enable-psutils \ + --enable-regiswin \ + --enable-shared \ + --enable-tektronixwin \ + --enable-unitermwin \ + --enable-xetex \ + --disable-lcdf-typetools \ + --disable-aleph \ + --disable-bibtexu \ + --disable-dialog \ + --disable-dump-share \ + --disable-dvi2tty \ + --disable-dvisvgm \ + --disable-largefile \ + --disable-multiplatform \ + --disable-native-texlive-build \ + --disable-pdfopen \ + --disable-ps2pkm \ + --disable-static \ + --disable-t1utils \ + --disable-tex4htk \ + --disable-ttf2pk2 \ + --disable-xindy \ + --disable-xindy-docs \ + --disable-xindy-rules \ + --disable-xpdfopen \ + --disable-xz \ + --with-clisp-runtime=default \ + --with-freetype2-include=/usr/include/freetype2 \ + --with-freetype2-libdir=/usr/lib \ + --with-ps=gs \ + --with-system-cairo \ + --with-system-freetype2 \ + --with-system-gd \ + --with-system-gmp \ + --with-system-graphite \ + --with-system-graphite2 \ + --with-system-harfbuzz \ + --with-system-icu \ + --with-system-libpaper \ + --with-system-libpng \ + --with-system-mpfr \ + --with-system-ncurses \ + --with-system-pixman \ + --with-system-pnglib \ + --with-system-poppler \ + --with-system-potrace \ + --with-system-t1lib \ + --with-system-zlib \ + --with-system-zziplib \ + --with-x-dvi-toolkit=xaw \ + --without-texinfo + + make +} + +package() { + cd $BUILD_ROOT/build + + make DESTDIR="$PKG_DEST" install + + local texcmd; for texcmd in $_pdftex; do + ln -s pdftex "$PKG_DEST"/usr/bin/$texcmd + done + ln -s eptex "$PKG_DEST"/usr/bin/platex + ln -s euptex "$PKG_DEST"/usr/bin/uplatex + + # As Alpine has packaged all TeXlive packages, there is no need for a + # separate package manager. apk should be used to get and update texmf-dist + rm "$PKG_DEST"/usr/bin/tlmgr + + # texmf-dist is not platform dependent, those are packaged in the + # texmf-dist package + rm -rf "$PKG_DEST"/usr/share/texmf-dist +} + diff --git a/repo/thunderbird/thunderbird.desktop b/repo/thunderbird/thunderbird.desktop index 99f4be8..210859d 100644 --- a/repo/thunderbird/thunderbird.desktop +++ b/repo/thunderbird/thunderbird.desktop @@ -1,5 +1,32 @@ [Desktop Entry] Name=Thunderbird +GenericName=Mail Client +GenericName[ast]=Client de correu +GenericName[ca]=Client de correu +GenericName[cs]=Poštovní klient +GenericName[da]=E-postklient +GenericName[de]=E-Mail-Anwendung +GenericName[el]=Λογισμικό αλληλογραφίας +GenericName[es]=Cliente de correo +GenericName[fi]=Sähköpostiohjelma +GenericName[fr]=Client de messagerie +GenericName[gl]=Cliente de correo electrónico +GenericName[he]=לקוח דוא״ל +GenericName[hr]=Klijent e-pošte +GenericName[hu]=Levelezőkliens +GenericName[it]=Client email +GenericName[ja]=電子メールクライアント +GenericName[ko]=메일 클라이언트 +GenericName[nl]=E-mailprogramma +GenericName[pl]=Klient poczty +GenericName[pt_BR]=Cliente de E-mail +GenericName[ru]=Почтовый клиент +GenericName[sk]=Poštový klient +GenericName[ug]=ئېلخەت دېتالى +GenericName[uk]=Поштова програма +GenericName[vi]=Phần mềm khách quản lý thư điện tử +GenericName[zh_CN]=邮件新闻客户端 +GenericName[zh_TW]=郵件用戶端 Comment=Send and receive mail with Thunderbird Comment[ast]=Lleer y escribir corréu electrónicu Comment[ca]=Llegiu i escriviu correu @@ -28,147 +55,10 @@ Comment[uk]=Читання та написання листів Comment[vi]=Đọc và soạn thư điện tử Comment[zh_CN]=阅读邮件或新闻 Comment[zh_TW]=以 Mozilla Thunderbird 讀寫郵件或新聞 -GenericName=Mail Client -GenericName[ast]=Client de correu -GenericName[ca]=Client de correu -GenericName[cs]=Poštovní klient -GenericName[da]=E-postklient -GenericName[de]=E-Mail-Anwendung -GenericName[el]=Λογισμικό αλληλογραφίας -GenericName[es]=Cliente de correo -GenericName[fi]=Sähköpostiohjelma -GenericName[fr]=Client de messagerie -GenericName[gl]=Cliente de correo electrónico -GenericName[he]=לקוח דוא״ל -GenericName[hr]=Klijent e-pošte -GenericName[hu]=Levelezőkliens -GenericName[it]=Client email -GenericName[ja]=電子メールクライアント -GenericName[ko]=메일 클라이언트 -GenericName[nl]=E-mailprogramma -GenericName[pl]=Klient poczty -GenericName[pt_BR]=Cliente de E-mail -GenericName[ru]=Почтовый клиент -GenericName[sk]=Poštový klient -GenericName[ug]=ئېلخەت دېتالى -GenericName[uk]=Поштова програма -GenericName[vi]=Phần mềm khách quản lý thư điện tử -GenericName[zh_CN]=邮件新闻客户端 -GenericName[zh_TW]=郵件用戶端 -Exec=/usr/lib/thunderbird/thunderbird %u +Exec=thunderbird %u +Icon=thunderbird Terminal=false Type=Application -Icon=thunderbird -Categories=Network;Email; -MimeType=message/rfc822;x-scheme-handler/mailto;application/x-xpinstall; +MimeType=message/rfc822;x-scheme-handler/mailto; StartupNotify=true -StartupWMClass=thunderbird -Actions=ComposeMessage;OpenAddressBook; - -[Desktop Action ComposeMessage] -Name=Write new message -Name[ar]=اكتب رسالة جديدة -Name[ast]=Redactar mensaxe nuevu -Name[be]=Напісаць новы ліст -Name[bg]=Съставяне на ново съобщение -Name[br]=Skrivañ ur gemennadenn nevez -Name[ca]=Escriu un missatge nou -Name[cs]=Napsat novou zprávu -Name[da]=Skriv en ny meddelelse -Name[de]=Neue Nachricht verfassen -Name[el]=Σύνταξη νέου μηνύματος -Name[es_AR]=Escribir un nuevo mensaje -Name[es_ES]=Redactar nuevo mensaje -Name[et]=Kirjuta uus kiri -Name[eu]=Idatzi mezu berria -Name[fi]=Kirjoita uusi viesti -Name[fr]=Rédiger un nouveau message -Name[fy_NL]=Skriuw in nij berjocht -Name[ga_IE]=Scríobh teachtaireacht nua -Name[gd]=Sgrìobh teachdaireachd ùr -Name[gl]=Escribir unha nova mensaxe -Name[he]=כתיבת הודעה חדשה -Name[hr]=Piši novu poruku -Name[hu]=Új üzenet írása -Name[hy_AM]=Գրել նոր նամակ -Name[is]=SKrifa nýjan póst -Name[it]=Scrivi nuovo messaggio -Name[ja]=新しいメッセージを作成する -Name[ko]=새 메시지 작성 -Name[lt]=Rašyti naują laišką -Name[nb_NO]=Skriv ny melding -Name[nl]=Nieuw bericht aanmaken -Name[nn_NO]=Skriv ny melding -Name[pl]=Nowa wiadomość -Name[pt_BR]=Nova mensagem -Name[pt_PT]=Escrever nova mensagem -Name[rm]=Scriver in nov messadi -Name[ro]=Scrie un mesaj nou -Name[ru]=Создать новое сообщение -Name[si]=නව ලිපියක් ලියන්න -Name[sk]=Nová e-mailová správa -Name[sl]=Sestavi novo sporočilo -Name[sq]=Shkruani mesazh të ri -Name[sr]=Писање нове поруке -Name[sv_SE]=Skriv ett nytt meddelande -Name[ta_LK]=புதிய செய்தியை எழுதுக -Name[tr]=Yeni ileti yaz -Name[uk]=Написати нового листа -Name[vi]=Viết thư mới -Name[zh_CN]=编写新消息 -Name[zh_TW]=寫一封新訊息 -Exec=/usr/lib/thunderbird/thunderbird -compose - -[Desktop Action OpenAddressBook] -Name=Open address book -Name[ar]=افتح دفتر العناوين -Name[ast]=Abrir llibreta de direiciones -Name[be]=Адкрыць адрасную кнігу -Name[bg]=Отваряне на адресник -Name[br]=Digeriñ ur c'harned chomlec'hioù -Name[ca]=Obre la llibreta d'adreces -Name[cs]=Otevřít Adresář -Name[da]=Åbn adressebog -Name[de]=Adressbuch öffnen -Name[el]=Άνοιγμα ευρετηρίου διευθύνσεων -Name[es_AR]=Abrir libreta de direcciones -Name[es_ES]=Abrir libreta de direcciones -Name[et]=Ava aadressiraamat -Name[eu]=Ireki helbide-liburua -Name[fi]=Avaa osoitekirja -Name[fr]=Ouvrir un carnet d'adresses -Name[fy_NL]=Iepenje adresboek -Name[ga_IE]=Oscail leabhar seoltaí -Name[gd]=Fosgail leabhar-sheòlaidhean -Name[gl]=Abrir a axenda de enderezos -Name[he]=פתיחת ספר כתובות -Name[hr]=Otvori adresar -Name[hu]=Címjegyzék megnyitása -Name[hy_AM]=Բացել Հասցեագիրքը -Name[is]=Opna nafnaskrá -Name[it]=Apri rubrica -Name[ja]=アドレス帳を開く -Name[ko]=주소록 열기 -Name[lt]=Atverti adresų knygą -Name[nb_NO]=Åpne adressebok -Name[nl]=Adresboek openen -Name[nn_NO]=Opne adressebok -Name[pl]=Książka adresowa -Name[pt_BR]=Catálogo de endereços -Name[pt_PT]=Abrir livro de endereços -Name[rm]=Avrir il cudeschet d'adressas -Name[ro]=Deschide agenda de contacte -Name[ru]=Открыть адресную книгу -Name[si]=ලිපින පොත විවෘත කරන්න -Name[sk]=Otvoriť adresár -Name[sl]=Odpri adressar -Name[sq]=Hapni libër adresash -Name[sr]=Отвори адресар -Name[sv_SE]=Öppna adressboken -Name[ta_LK]=முகவரி பத்தகத்தை திறக்க -Name[tr]=Adres defterini aç -Name[uk]=Відкрити адресну книгу -Name[vi]=Mở sổ địa chỉ -Name[zh_CN]=打开通讯录 -Name[zh_TW]=開啟通訊錄 -Exec=/usr/lib/thunderbird/thunderbird -addressbook +Categories=Network;Email; diff --git a/repo/thunderbird/thunderbird.xibuild b/repo/thunderbird/thunderbird.xibuild index ce85bdf..c286ad0 100644 --- a/repo/thunderbird/thunderbird.xibuild +++ b/repo/thunderbird/thunderbird.xibuild @@ -3,41 +3,66 @@ NAME="thunderbird" DESC="Thunderbird email client" -MAKEDEPS="make " -DEPS="atk botan cairo cairomm dbus-glib dbus ffmpeg4 fontconfig freetype2 gdk-pixbuf glib gtk3 icu json-c libevent libffi libvpx libwebp libx11 libxcb libxcomposite libxdamage libxext libxfixes libxrender musl nspr nss pango pixman zlib llvm " +MAKEDEPS=" alsa-lib automake botan cargo cbindgen clang dbus-glib gettext gtk3 icu json-c libevent libffi libjpeg-turbo libnotify libogg libtheora libtool libvorbis libvpx libwebp libxcomposite libxt llvm m4 mesa nasm nodejs nspr nss pipewire pulseaudio python sed wireless-tools zip" -PKG_VER=99.0b2 +PKG_VER=91.8.0 SOURCE="https://ftp.mozilla.org/pub/thunderbird/releases/$PKG_VER/source/thunderbird-$PKG_VER.source.tar.xz" -ADDITIONAL="vendor-prefs.js thunderbird.desktop stab.h sandbox-sched_setscheduler.patch sandbox-largefile.patch sandbox-fork.patch metainfo.patch mallinfo.patch fix-webrtc-glibcisms.patch fix-tools.patch fix-rust-target.patch fix-fortify-system-wrappers.patch distribution.ini disable-neon-in-aom.patch disable-moz-stackwalk.patch avoid-redefinition.patch allow-custom-rust-vendor.patch " -app_dir=/usr/lib/thunderbird +ADDITIONAL=" +allow-custom-rust-vendor.patch +avoid-redefinition.patch +disable-moz-stackwalk.patch +disable-neon-in-aom.patch +fix-fortify-system-wrappers.patch +fix-rust-target.patch +fix-tools.patch +fix-webrtc-glibcisms.patch +mallinfo.patch +sandbox-fork.patch +sandbox-largefile.patch +sandbox-sched_setscheduler.patch +stab.h +thunderbird.desktop +" + +mozappdir=/usr/lib/thunderbird + +_clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/$1/.cargo-checksum.json +} -prepare () { +prepare() { apply_patches + cp "$BUILD_ROOT"/stab.h toolkit/crashreporter/google-breakpad/src/ - sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/audio_thread_priority/.cargo-checksum.json - sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json + _clear_vendor_checksums audio_thread_priority + _clear_vendor_checksums target-lexicon-0.9.0 } -build () { - export SHELL=/bin/sh +build() { + mkdir -p "$BUILD_ROOT"/objdir + cd "$BUILD_ROOT"/objdir + + export SHELL=/bin/sh export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 export USE_SHORT_LIBNAME=1 export MACH_USE_SYSTEM_PYTHON=1 - export MOZBUILD_STATE_PATH=$BUILD_ROOT/mozbuild + export MOZBUILD_STATE_PATH="$BUILD_ROOT"/mozbuild # Build with Clang, takes less RAM export CC="clang" export CXX="clang++" - export LDFLAGS="$LDFLAGS -Wl,-rpath,$app_dir" + # set rpath so linker finds the libs + export LDFLAGS="$LDFLAGS -Wl,-rpath,$mozappdir" - ./mach configure \ + ../mach configure \ --prefix=/usr \ --disable-elf-hack \ --enable-rust-simd \ \ --disable-crashreporter \ + --disable-gold \ --disable-install-strip \ --disable-jemalloc \ --disable-profiling \ @@ -71,51 +96,75 @@ build () { --with-system-nspr \ --with-system-nss \ --with-system-pixman \ + --with-system-png \ --with-system-webp \ --with-system-zlib \ - --with-libclang-path=/usr/lib \ - \ - --with-unsigned-addon-scopes=app,system \ - --without-wasm-sandboxed-libraries \ - --allow-addon-sideload - #--disable-gold \ - ./mach build + --with-libclang-path=/usr/lib + ../mach build } -package () { - DESTDIR="$PKG_DEST" ./mach install +package() { + cd "$BUILD_ROOT"/objdir + + DESTDIR="$PKG_DEST" MOZ_MAKE_FLAGS="$MAKEOPTS" ../mach install + + install -m755 -d "$PKG_DEST"/usr/share/applications + install -m755 -d "$PKG_DEST"/usr/share/pixmaps local _png for _png in "$BUILD_ROOT"/comm/mail/branding/thunderbird/default*.png; do local i=${_png%.png} i=${i##*/default} - install -Dm644 "$_png" "$PKG_DEST"/usr/share/icons/hicolor/"$i"x"$i"/apps/thunderbird.png + install -D -m644 "$_png" "$PKG_DEST"/usr/share/icons/hicolor/"$i"x"$i"/apps/thunderbird.png done install -Dm644 "$BUILD_ROOT"/comm/mail/branding/thunderbird/TB-symbolic.svg \ - "$PKG_DEST"/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg + "$PKG_DEST/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg" + install -Dm644 "$BUILD_ROOT"/comm/mail/branding/thunderbird/default48.png \ + $PKG_DEST/usr/share/pixmaps/thunderbird.png + + install -m644 "$BUILD_ROOT"/thunderbird.desktop "$PKG_DEST"/usr/share/applications/thunderbird.desktop - install -Dm644 "$BUILD_ROOT"/comm/mail/branding/thunderbird/net.thunderbird.Thunderbird.appdata.xml \ - -t "$PKG_DEST"/usr/share/metainfo + # Add StartupWMClass=firefox on the .desktop files so Desktop Environments + # correctly associate the window with their icon, the correct fix is to have + # thunderbird sets its own AppID but this will work for the meantime + # See: https://bugzilla.mozilla.org/show_bug.cgi?id=1607399 + echo "StartupWMClass=thunderbird" >> "$PKG_DEST"/usr/share/applications/thunderbird.desktop - install -Dm644 "$BUILD_ROOT"/thunderbird.desktop \ - -t "$PKG_DEST"/usr/share/applications + # install our vendor prefs + install -d "$PKG_DEST"/$mozappdir/defaults/preferences - install -Dm644 "$BUILD_ROOT"/vendor-prefs.js \ - -t "$PKG_DEST"/$app_dir/defaults/pref - install -Dm644 "$BUILD_ROOT"/distribution.ini \ - -t "$PKG_DEST"/$app_dir/distribution + cat >> "$PKG_DEST"/$mozappdir/defaults/preferences/vendor.js <<- EOF + // Use LANG environment variable to choose locale + pref("intl.locale.requested", ""); - # Use system-provided dictionaries - ln -Tsfv /usr/share/hunspell "$PKG_DEST"/usr/lib/thunderbird/dictionaries - ln -Tsfv /usr/share/hyphen "$PKG_DEST"/usr/lib/thunderbird/hyphenation + // Use system-provided dictionaries + pref("spellchecker.dictionary_path", "/usr/share/hunspell"); + + // Disable default mailer checking. + pref("mail.shell.checkDefaultMail", false); + + // Don't disable our bundled extensions in the application directory + pref("extensions.autoDisableScopes", 11); + pref("extensions.shownSelectionUI", true); + EOF + + install -d "$PKG_DEST"/$mozappdir/distribution + + cat >> "$PKG_DEST"/$mozappdir/distribution/distribution.ini <<- EOF + [Global] + id=alpinelinux + version=1.0 + about=Mozilla Thunderbird for Alpine Linux + + [Preferences] + app.distributor=alpinelinux + app.distributor.channel=thunderbird + app.partner.alpinelinux=alpinelinux + EOF # Replace duplicate binary with wrapper # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 - install -Dm755 /dev/stdin "$PKG_DEST"/usr/bin/thunderbird <<- EOF - #!/bin/sh - exec /usr/lib/thunderbird/thunderbird "\$@" - EOF - rm "$PKG_DEST"/$app_dir/thunderbird-bin - ln -sfv /usr/bin/thunderbird "$PKG_DEST"/$app_dir/thunderbird-bin + ln -snf thunderbird "$PKG_DEST/$mozappdir/thunderbird-bin" } + diff --git a/repo/tor/0002-disable-wildcard-escaping-test_patch b/repo/tor/0002-disable-wildcard-escaping-test_patch index ee4f280..9cc0ff1 100644 --- a/repo/tor/0002-disable-wildcard-escaping-test_patch +++ b/repo/tor/0002-disable-wildcard-escaping-test_patch @@ -1,7 +1,7 @@ This will only fail on aarch64 and s390x, for some reason. --- a/src/test/test_util.c +++ b/src/test/test_util.c -@@ -4633,21 +4633,6 @@ test_util_glob(void *ptr) +@@ -4611,21 +4611,6 @@ test_util_glob(void *ptr) TEST("file1"PATH_SEPARATOR"*"); EXPECT_EMPTY(); diff --git a/repo/tor/tor.post-upgrade b/repo/tor/tor.post-upgrade new file mode 100644 index 0000000..ff00aab --- /dev/null +++ b/repo/tor/tor.post-upgrade @@ -0,0 +1,21 @@ +#!/bin/sh + +ver_new="$1" +ver_old="$2" + +if [ "$(apk version -t "$ver_old" "0.2.8.7-r0")" = "<" ]; then + cat 1>&2 <<-EOF + * + * Tor runscript has been updated to start tor under unprivileged user "tor" + * by default. If it fails to start due to permissions error, then change owner + * of files in the DataDirectory (default is /var/lib/tor) to the tor user: + * chown -R tor /var/lib/tor + * + * If you need tor to bind a privileged port (e.g. 80), then add "User tor" + * to /etc/tor/torrc. Tor will be started under root, but then setuid to the + * tor user and drop privileges. + * + EOF +fi + +exit 0 diff --git a/repo/tor/tor.pre-install b/repo/tor/tor.pre-install new file mode 100644 index 0000000..cdeb7b4 --- /dev/null +++ b/repo/tor/tor.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh + +adduser -S -D -H -h /var/lib/tor -s /sbin/nologin -g tor tor 2>/dev/null + +exit 0 diff --git a/repo/tor/tor.xibuild b/repo/tor/tor.xibuild index 8441516..8f3e197 100644 --- a/repo/tor/tor.xibuild +++ b/repo/tor/tor.xibuild @@ -3,42 +3,44 @@ NAME="tor" DESC="Anonymous network connectivity" -MAKEDEPS="make " -DEPS="libcap libseccomp libevent openssl cacerts zlib xz zstd " +MAKEDEPS=" libcap libseccomp libevent openssl1.1-compat ca-certificates zlib xz zstd" -PKG_VER=0.4.7.7 +PKG_VER=0.4.6.10 SOURCE="https://www.torproject.org/dist/tor-$PKG_VER.tar.gz" -ADDITIONAL="torrc.sample.patch tor.initd tor.confd" + +ADDITIONAL=" +0002-disable-wildcard-escaping-test_patch +tor.confd +tor.initd +torrc.sample.patch +" prepare () { apply_patches } -build () { - ./configure \ +build() { + ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/share/man \ - --disable-html-manual + --disable-html-manual \ + --enable-zstd make - } -package () { - make DESTDIR="$PKG_DEST" install - install -dm0755 -o "tor" \ +package() { + make DESTDIR="$PKG_DEST" install + + install -dm0755 -o "$pkgusers" \ "$PKG_DEST"/var/lib/"tor" \ "$PKG_DEST"/var/log/"tor" - install -Dm0755 "tor".initd \ + install -Dm0755 "$BUILD_ROOT"/"tor".initd \ "$PKG_DEST"/etc/init.d/"tor" - install -Dm0644 "tor".confd \ + install -Dm0644 "$BUILD_ROOT"/"tor".confd \ "$PKG_DEST"/etc/conf.d/"tor" } -postinstall () { - adduser -S -D -H -h /var/lib/tor -s /sbin/nologin -g tor tor 2>/dev/null - return 0 -} diff --git a/repo/transmission/disable-missing-lang.patch b/repo/transmission/disable-missing-lang.patch new file mode 100644 index 0000000..22c0caf --- /dev/null +++ b/repo/transmission/disable-missing-lang.patch @@ -0,0 +1,10 @@ +--- a/po/CMakeLists.txt ++++ b/po/CMakeLists.txt +@@ -70,7 +70,6 @@ + pl + pt + pt_BR +- pt_PT + ro + ru + si diff --git a/repo/transmission/fix-gettext-sigsegv.patch b/repo/transmission/fix-gettext-sigsegv.patch new file mode 100644 index 0000000..7e990ee --- /dev/null +++ b/repo/transmission/fix-gettext-sigsegv.patch @@ -0,0 +1,15 @@ +mostly the equivalent of the new upstream version: +https://github.com/transmission/transmission/blob/e14c7f38e59f89c5c6a67c1596a0e548869b7e9d/gtk/FilterBar.cc#L530 +--- a/gtk/filter.c ++++ b/gtk/filter.c +@@ -599,7 +599,9 @@ + + for (size_t i = 0; i < G_N_ELEMENTS(types); ++i) + { +- char const* name = types[i].context != NULL ? g_dpgettext2(NULL, types[i].context, types[i].name) : _(types[i].name); ++ char const* name = types[i].name ? ++ types[i].context != NULL ? g_dpgettext2(NULL, types[i].context, types[i].name) : _(types[i].name) ++ : "\0"; + gtk_list_store_insert_with_values(store, NULL, -1, + ACTIVITY_FILTER_COL_NAME, name, + ACTIVITY_FILTER_COL_TYPE, types[i].type, diff --git a/repo/transmission/transmission-daemon.confd b/repo/transmission/transmission-daemon.confd new file mode 100644 index 0000000..8f3b131 --- /dev/null +++ b/repo/transmission/transmission-daemon.confd @@ -0,0 +1,14 @@ +# This is the transmission-daemon configuration file. For other options and +# better explanation, take a look at transmission-daemon manual page Note: it's +# better to configure some settings (like username/password) in +# /var/lib/transmission/config/settings.json to avoid other users see it with `ps` + +TRANSMISSION_OPTIONS="--encryption-preferred" + +# Run daemon as another user (username or username:groupname) +# If you change this setting, chown -R /var/lib/transmission/config +#runas_user=transmission + +# Location of logfile (should be writeable for runas_user user) +# Set logfile=syslog to use syslog for logging +#logfile=/var/log/transmission/transmission.log diff --git a/repo/transmission/transmission-daemon.initd b/repo/transmission/transmission-daemon.initd new file mode 100644 index 0000000..0c9e366 --- /dev/null +++ b/repo/transmission/transmission-daemon.initd @@ -0,0 +1,73 @@ +#!/sbin/openrc-run +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/files/transmission-daemon.initd.8,v 1.2 2011/12/04 10:35:07 swegener Exp $ + +extra_started_commands="reload" +description="Transmission is a fast, easy and free bittorrent client" +description_start="Start transmission-daemon server and web interface" +description_stop="Stop transmission-daemon server and web interface" +description_reload="Reload transmission-daemon settings" + +rundir=${rundir:-/var/run/transmission} +pidfile=${pidfile:-${rundir}/transmission.pid} +config_dir=${config_dir:-/var/lib/transmission/config} +download_dir=${download_dir:-/var/lib/transmission/downloads} +logfile=${logfile:-/var/log/transmission/transmission.log} +runas_user=${runas_user:-transmission:transmission} + +SSD_OPTIONS="" + +# compatibility for upgraders +TRANSMISSION_OPTIONS=${TRANSMISSION_OPTIONS:-$TD_OPTS} + +depend() { + need net + after firewall +} + +check_config() { + if [ ! -d "${rundir}" ]; then + mkdir "${rundir}" + if [ -n "${runas_user}" ]; then + chown -R ${runas_user} "${rundir}" + fi + fi + + # In case no config directory option passed use default + if ! $(echo ${TRANSMISSION_OPTIONS} | grep -q -e '\B-g' -e '\B--config-dir'); then + TRANSMISSION_OPTIONS="${TRANSMISSION_OPTIONS} --config-dir ${config_dir}" + # put download dir location on first run (and take it from config later) + if [ ! -f ${config_dir}/settings.json ]; then + TRANSMISSION_OPTIONS="${TRANSMISSION_OPTIONS} --download-dir ${download_dir}" + fi + fi + + if [ -n "${runas_user}" ]; then + SSD_OPTIONS="${SSD_OPTIONS} --user ${runas_user}" + fi +} + +start() { + check_config + + ebegin "Starting transmission daemon" + start-stop-daemon --start --quiet --pidfile ${pidfile} ${SSD_OPTIONS} \ + --exec /usr/bin/transmission-daemon -- --pid-file ${pidfile} \ + $(test ${logfile} != "syslog" && echo --logfile ${logfile}) \ + ${TRANSMISSION_OPTIONS} + eend $? +} + +stop() { + ebegin "Stopping transmission daemon" + start-stop-daemon --stop --quiet --retry TERM/45/QUIT/15 --pidfile ${pidfile} + eend $? +} + +reload() { + ebegin "Reloading transmission configuration" + start-stop-daemon --signal HUP --pidfile ${pidfile} + eend $? +} + diff --git a/repo/transmission/transmission-daemon.logrotate b/repo/transmission/transmission-daemon.logrotate new file mode 100644 index 0000000..bd8b5ae --- /dev/null +++ b/repo/transmission/transmission-daemon.logrotate @@ -0,0 +1,8 @@ +/var/log/transmission/transmission.log { + daily + missingok + copytruncate + rotate 7 + compress + notifempty +} diff --git a/repo/transmission/transmission-daemon.post-upgrade b/repo/transmission/transmission-daemon.post-upgrade new file mode 100644 index 0000000..e0aaa8e --- /dev/null +++ b/repo/transmission/transmission-daemon.post-upgrade @@ -0,0 +1,10 @@ +#!/bin/sh + +dir=/var/lib/transmission + +# rename config and create compat symlink +if [ -e "$dir"/.config ] && ! [ -e "$dir"/config ]; then + mv "$dir"/.config "$dir"/config + ln -s config "$dir"/.config +fi + diff --git a/repo/transmission/transmission-daemon.pre-install b/repo/transmission/transmission-daemon.pre-install new file mode 100644 index 0000000..2e26d48 --- /dev/null +++ b/repo/transmission/transmission-daemon.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S transmission 2>/dev/null +adduser -S -D -h /var/lib/transmission -s /sbin/nologin -G transmission -g transmission transmission 2>/dev/null + +exit 0 diff --git a/repo/transmission/transmission.xibuild b/repo/transmission/transmission.xibuild new file mode 100644 index 0000000..7e0c19d --- /dev/null +++ b/repo/transmission/transmission.xibuild @@ -0,0 +1,40 @@ +#!/bin/sh + +NAME="transmission" +DESC="Lightweight GTK BitTorrent client" + +MAKEDEPS="cmake curl dbus-glib ninja gtk3 intltool libevent libnotify openssl tar" + +PKG_VER=3.00 +SOURCE="https://github.com/transmission/transmission-releases/raw/master/transmission-$PKG_VER.tar.xz" + +ADDITIONAL=" +disable-missing-lang.patch +fix-gettext-sigsegv.patch +transmission-daemon.confd +transmission-daemon.initd +" + +build() { + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=MinSizeRel \ + -DENABLE_GTK=TRUE \ + -DENABLE_CLI=TRUE \ + -DENABLE_NLS=FALSE \ + -DENABLE_TESTS=FALSE \ + -DWITH_SYSTEMD=FALSE \ + -DINSTALL_LIB=TRUE + cmake --build build +} + +package() { + DESTDIR="$PKG_DEST" cmake --install build + + install -D -m755 "$BUILD_ROOT"/transmission-daemon.initd \ + "$PKG_DEST"/etc/init.d/transmission-daemon + install -D -m644 "$BUILD_ROOT"/transmission-daemon.confd \ + "$PKG_DEST"/etc/conf.d/transmission-daemon +} diff --git a/repo/util-linux/util-linux.xibuild b/repo/util-linux/util-linux.xibuild index 92a6f38..6df5289 100644 --- a/repo/util-linux/util-linux.xibuild +++ b/repo/util-linux/util-linux.xibuild @@ -9,6 +9,7 @@ DESC="System Utilities for Linux" build () { ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \ + --bindir=/usr/bin \ --libdir=/usr/lib \ --docdir=/usr/share/doc/util-linux-$PKG_VER\ --disable-static \ diff --git a/repo/weechat/weechat.xibuild b/repo/weechat/weechat.xibuild new file mode 100644 index 0000000..f1a87f4 --- /dev/null +++ b/repo/weechat/weechat.xibuild @@ -0,0 +1,30 @@ +#!/bin/sh + +NAME="weechat" +DESC="A fast, light, extensible ncurses-based chat client" + +MAKEDEPS="asciidoctor cmake gettext ncurses gnutls libgcrypt curl aspell lua perl python ruby zlib zstd" + +PKG_VER=3.5 +SOURCE="https://www.weechat.org/files/src/weechat-$PKG_VER.tar.gz" + +build() { + mkdir -p build + cd build + cmake .. \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DENABLE_TCL=OFF \ + -DENABLE_NLS=OFF \ + -DENABLE_GUILE=OFF \ + -DENABLE_JAVASCRIPT=OFF \ + -DENABLE_PHP=OFF + make +} + +package() { + cd "$BUILD_ROOT"/build + make DESTDIR="$PKG_DEST/" install +} + + diff --git a/repo/xipkg/xipkg.xibuild b/repo/xipkg/xipkg.xibuild index b870e90..d0c76e3 100644 --- a/repo/xipkg/xipkg.xibuild +++ b/repo/xipkg/xipkg.xibuild @@ -3,7 +3,7 @@ MAKEDEPS="make" DEPS="openssl curl dash xiutils findutils diffutils sed xichroot grep base64 sort hbar parseconf xiutils" -PKG_VER=1.5.2 +PKG_VER=1.5.3 SOURCE=https://git.davidovski.xyz/xilinux/xipkg.git BRANCH="v$PKG_VER" diff --git a/repo/zathura-pdf-poppler/zathura-pdf-poppler.xibuild b/repo/zathura-pdf-poppler/zathura-pdf-poppler.xibuild new file mode 100644 index 0000000..73b7c05 --- /dev/null +++ b/repo/zathura-pdf-poppler/zathura-pdf-poppler.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +NAME="zathura-pdf-poppler" +DESC="Poppler plugin adds PDF support to zathura" + +MAKEDEPS="zathura poppler meson ninja" +DEPS="zathura poppler" + +PKG_VER=0.3.0 +SOURCE="https://git.pwmt.org/pwmt/zathura-pdf-poppler/-/archive/$PKG_VER/zathura-pdf-poppler-$PKG_VER.tar.gz" + +build() { + meson --prefix=/usr \ + build + meson compile ${JOBS:+-j ${JOBS}} -C build +} + +package() { + DESTDIR="$PKG_DEST" meson install --no-rebuild -C build +} + diff --git a/repo/zathura/fix-fish-completion.patch b/repo/zathura/fix-fish-completion.patch new file mode 100644 index 0000000..ce919cd --- /dev/null +++ b/repo/zathura/fix-fish-completion.patch @@ -0,0 +1,15 @@ +fix added by Kevin Daudt + +diff --git a/data/meson.build b/data/meson.build +index 3a1b0b3..8c2bb8e 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -81,7 +81,7 @@ fish_comp = dependency('fish', required: false) + if fish_comp.found() + fish_compdir = fish_comp.get_pkgconfig_variable('completionsdir') + else +- fish_compdir = join_paths(datadir, 'fish', 'vendor_completions.d') ++ fish_compdir = join_paths(datadir, 'fish', 'completions') + endif + + install_data(bash_completion, install_dir: bash_compdir) diff --git a/repo/zathura/zathura.xibuild b/repo/zathura/zathura.xibuild new file mode 100644 index 0000000..45fc2b4 --- /dev/null +++ b/repo/zathura/zathura.xibuild @@ -0,0 +1,27 @@ +#!/bin/sh + +NAME="zathura" +DESC="highly customizable and functional document viewer" + +MAKEDEPS="girara file sqlite3 intltool check libseccomp python-docutils ncurses meson ninja python-sphinx texlive libsynctex" + +PKG_VER=0.4.9 +SOURCE="https://git.pwmt.org/pwmt/zathura/-/archive/$PKG_VER/zathura-$PKG_VER.tar.gz" + +ADDITIONAL=" +fix-fish-completion.patch +" + +build() { + meson --prefix=/usr \ + build + meson compile ${JOBS:+-j ${JOBS}} -C build +} + +check() { + meson test --no-rebuild -v -C build +} + +package() { + DESTDIR="$PKG_DEST" meson install --no-rebuild -C build +} diff --git a/repo/zsh/zsh.xibuild b/repo/zsh/zsh.xibuild new file mode 100644 index 0000000..76f93b5 --- /dev/null +++ b/repo/zsh/zsh.xibuild @@ -0,0 +1,36 @@ +#!/bin/sh + +NAME="zsh" +DESC="Very advanced and programmable command interpreter (shell)" + +MAKEDEPS="make " +DEPS="sbase libcap musl ncurses " + +PKG_VER=5.8.1 +SOURCE="https://download.sourceforge.net/project/zsh/zsh/$PKG_VER/zsh-$PKG_VER.tar.xz" + +prepare () { + cd "$BUILD_ROOT/Completion" + rm -Rf AIX BSD Cygwin Darwin Debian Mandriva Redhat Solaris openSUSE +} + +build () { + cd $BUILD_ROOT + ./configure \ + --prefix=/usr \ + --enable-etcdir=/etc/zsh \ + --enable-pcre \ + --enable-cap \ + --enable-multibyte \ + --enable-function-subdirs \ + --enable-zsh-secure-free \ + --sysconfdir=/etc \ + --with-tcsetpgrp \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/zziplib/zziplib.xibuild b/repo/zziplib/zziplib.xibuild new file mode 100644 index 0000000..a688730 --- /dev/null +++ b/repo/zziplib/zziplib.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +NAME="zziplib" +DESC="Lightweight library to easily extract data from zip files" + +MAKEDEPS=" cmake zlib python bash ninja" + +PKG_VER=0.13.72 +SOURCE="https://github.com/gdraheim/zziplib/archive/v$PKG_VER.tar.gz" + +build() { + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_STATIC_LIBS=False \ + -DBUILD_TESTS=OFF \ + -DMSVC_STATIC_RUNTIME=OFF \ + -DZZIPSDL=OFF \ + -DZZIPTEST=OFF \ + -DZZIPWRAP=OFF \ + . + ninja -C build +} + +package() { + DESTDIR="$PKG_DEST" ninja -C build install +} diff --git a/skip/pavucontrol/pavucontrol.xibuild b/skip/pavucontrol/pavucontrol.xibuild deleted file mode 100644 index 3692e7f..0000000 --- a/skip/pavucontrol/pavucontrol.xibuild +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -NAME="pavucontrol" -DESC="Pulseaudio Volume Control, GTK based mixer for Pulseaudio" - -MAKEDEPS="make " -DEPS="atkmm glib glibmm gtk3 json-glib libcanberra-gtk3 intltool libsigc++ musl pulseaudio gtkmm3" - -PKG_VER=5.0 -SOURCE="https://freedesktop.org/software/pulseaudio/pavucontrol/pavucontrol-$PKG_VER.tar.gz" - -build () { - ./configure \ - --prefix=/usr \ - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static \ - --disable-lynx \ - --disable-nls - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/wishlist.md b/wishlist.md index f3cdbba..f7f4879 100644 --- a/wishlist.md +++ b/wishlist.md @@ -6,7 +6,7 @@ [x] mpd [x] ncmpcpp [x] pulsemixer -[ ] pavucontrol +[?] pavucontrol [x] chromium [x] firefox [x] ffmpeg @@ -21,7 +21,7 @@ [x] cava [x] pcmanfm [ ] thunar -[ ] zathura +[x] zathura [x] polybar [ ] gnu screen -- cgit v1.2.1