From 5b1e7b4a54e88c478a705b197585fec907060675 Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani Date: Thu, 8 Jul 2021 21:28:56 +0000 Subject: [PATCH] Adapt for asd linux --- LICENSE | 4 +- README | 8 +- core/asd/build | 5 + core/asd/checksums | 1 + core/asd/depends | 2 + core/asd/sources | 1 + core/asd/version | 1 + core/baseinit/build | 1 - core/baseinit/checksums | 2 +- core/baseinit/depends | 0 core/baseinit/sources | 2 +- core/baseinit/version | 2 +- core/baselayout/build | 51 + core/baselayout/checksums | 13 + core/baselayout/files/crypttab | 13 + core/baselayout/files/fstab | 6 + core/baselayout/files/group | 27 + core/baselayout/files/host.conf | 4 + core/baselayout/files/hosts | 10 + core/baselayout/files/issue | 1 + core/baselayout/files/mime.types | 1918 +++++++++++++++++ core/baselayout/files/os-release | 4 + core/baselayout/files/passwd | 2 + core/baselayout/files/profile | 15 + core/baselayout/files/securetty | 26 + core/baselayout/files/shadow | 1 + core/baselayout/files/shells | 4 + core/baselayout/sources | 13 + core/baselayout/version | 1 + core/busybox/checksums | 2 +- core/busybox/files/config | 10 +- .../patches/modprobe-kernel-version.patch | 2 +- core/busybox/version | 2 +- core/byacc/depends | 0 core/bzip2/build | 20 + core/bzip2/checksums | 1 + core/bzip2/sources | 1 + core/bzip2/version | 1 + core/catgirl/build | 7 + core/catgirl/checksums | 1 + core/catgirl/depends | 3 + core/catgirl/sources | 1 + core/catgirl/version | 1 + {extra => core}/cmake/build | 0 {extra => core}/cmake/checksums | 0 {extra => core}/cmake/depends | 0 .../cmake/patches/cmake-no-execinfo.patch | 0 {extra => core}/cmake/sources | 0 core/cmake/version | 1 + core/curl/build | 21 + core/curl/checksums | 1 + {extra/isync => core/curl}/depends | 0 core/curl/sources | 1 + core/curl/version | 1 + core/cyrus-sasl/build | 9 + core/cyrus-sasl/checksums | 1 + core/cyrus-sasl/depends | 1 + core/cyrus-sasl/sources | 1 + core/cyrus-sasl/version | 1 + core/efibootmgr/build | 6 + core/efibootmgr/checksums | 1 + core/efibootmgr/depends | 3 + core/efibootmgr/sources | 1 + core/efibootmgr/version | 1 + core/efivar/build | 23 + core/efivar/checksums | 6 + core/{libuuid => efivar}/depends | 0 ...a8921010d03f46704a476c69861515deb1ca.patch | 56 + ...53db85ff10890209d0fe48fb4856ad68e4e0.patch | 168 ++ ...6d78a7fb5f6c5fb4a1d646040539db6cf865.patch | 51 + ...03402fb32fa6d020bac57a40c7efe4aabb7d.patch | 31 + ...afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch | 28 + core/efivar/sources | 6 + core/efivar/version | 1 + core/expat/build | 7 + core/expat/checksums | 1 + core/expat/sources | 1 + core/expat/version | 1 + core/git/build | 1 - core/git/depends | 1 + core/git/version | 2 +- core/gnupg2/build | 16 + core/gnupg2/checksums | 1 + core/gnupg2/depends | 6 + core/gnupg2/sources | 1 + core/gnupg2/version | 1 + core/gzip/build | 12 + core/gzip/checksums | 1 + core/gzip/sources | 1 + core/gzip/version | 1 + {extra => core}/isync/build | 2 +- {extra => core}/isync/checksums | 0 core/isync/depends | 3 + {extra => core}/isync/sources | 0 core/isync/version | 1 + core/libassuan/build | 7 + core/libassuan/checksums | 1 + core/libassuan/depends | 1 + core/libassuan/sources | 1 + core/libassuan/version | 1 + core/libedit/build | 11 + core/libedit/checksums | 1 + core/libedit/depends | 1 + core/libedit/sources | 1 + core/libedit/version | 1 + core/libevent/build | 8 + core/libevent/checksums | 1 + core/libevent/sources | 1 + core/libevent/version | 1 + core/libffi/build | 18 + core/libffi/checksums | 1 + core/libffi/depends | 1 + core/libffi/sources | 1 + core/libffi/version | 1 + core/libgcrypt/build | 10 + core/libgcrypt/checksums | 1 + core/libgcrypt/depends | 1 + core/libgcrypt/sources | 1 + core/libgcrypt/version | 1 + core/libgpg-error/build | 10 + core/libgpg-error/checksums | 1 + core/libgpg-error/sources | 1 + core/libgpg-error/version | 1 + core/libksba/build | 7 + core/libksba/checksums | 1 + core/libksba/sources | 1 + core/libksba/version | 1 + core/libressl/build | 10 + core/libressl/checksums | 2 + core/libressl/files/update-certdata.sh | 7 + core/libressl/post-install | 3 + core/libressl/sources | 2 + core/libressl/version | 1 + core/libtermkey/build | 6 + core/libtermkey/checksums | 2 + core/libtermkey/depends | 1 + .../patches/static-no-libtool.patch | 40 + core/libtermkey/sources | 2 + core/libtermkey/version | 1 + core/libudev-zero/build | 4 + core/libudev-zero/checksums | 1 + core/libudev-zero/depends | 1 + core/libudev-zero/sources | 1 + core/libudev-zero/version | 1 + core/libuuid/build | 17 - core/libuuid/checksums | 1 - core/libuuid/sources | 1 - core/links/build | 8 + core/links/checksums | 1 + core/links/depends | 6 + core/links/sources | 1 + core/links/version | 1 + core/linux-headers/build | 9 + core/linux-headers/checksums | 1 + core/linux-headers/sources | 1 + core/linux-headers/version | 1 + core/llvm/checksums | 2 +- core/llvm/files/c99 | 2 +- core/llvm/sources | 4 +- core/llvm/version | 2 +- core/lua/depends | 0 core/make/build | 9 + core/make/checksums | 1 + core/make/sources | 1 + core/make/version | 1 + core/man-pages/build | 4 + core/man-pages/checksums | 2 + core/man-pages/sources | 3 + core/man-pages/version | 1 + core/mandoc/build | 22 + core/mandoc/checksums | 2 + core/mandoc/depends | 1 + core/mandoc/patches/mandoc-no-warn.patch | 13 + core/mandoc/sources | 2 + core/mandoc/version | 1 + core/musl/build | 28 + core/musl/checksums | 6 + core/musl/files/cdefs.h | 24 + core/musl/files/getconf.c | 338 +++ core/musl/files/getent.c | 511 +++++ core/musl/files/queue.h | 846 ++++++++ core/musl/files/tree.h | 761 +++++++ core/musl/sources | 6 + core/musl/version | 1 + {extra => core}/mutt/build | 3 +- {extra => core}/mutt/checksums | 0 {extra => core}/mutt/depends | 2 + {extra => core}/mutt/sources | 0 core/mutt/version | 1 + core/ncurses/version | 2 +- core/npth/build | 7 + core/npth/checksums | 1 + core/npth/sources | 1 + core/npth/version | 1 + core/opendoas/checksums | 2 +- core/opendoas/files/doas.conf | 4 +- core/opendoas/version | 2 +- core/perl/build | 43 + core/perl/checksums | 1 + core/perl/depends | 2 + core/perl/sources | 1 + core/perl/version | 1 + core/pkgconf/build | 10 + core/pkgconf/checksums | 1 + core/pkgconf/sources | 1 + core/pkgconf/version | 1 + core/samurai/build | 6 + core/samurai/checksums | 1 + core/samurai/sources | 1 + core/samurai/version | 1 + core/sqlite/build | 14 + core/sqlite/checksums | 1 + core/sqlite/depends | 1 + core/sqlite/sources | 1 + core/sqlite/version | 1 + core/syslinux/build | 22 - core/syslinux/checksums | 3 - core/syslinux/depends | 4 - .../0018-prevent-pow-optimization.patch | 36 - core/syslinux/patches/fcommon.patch | 50 - core/syslinux/sources | 3 - core/syslinux/version | 1 - core/tzdata/build | 13 + core/tzdata/checksums | 2 + core/tzdata/sources | 2 + core/tzdata/version | 1 + core/ugrep/build | 13 + core/ugrep/checksums | 3 + core/ugrep/depends | 4 + core/ugrep/files/egrep | 3 + core/ugrep/files/fgrep | 3 + core/ugrep/sources | 3 + core/ugrep/version | 2 + core/vis-min/build | 13 + core/{vis => vis-min}/checksums | 1 + core/vis-min/depends | 2 + core/{vis => vis-min}/patches/soft-wrap.patch | 0 core/{vis => vis-min}/sources | 0 core/vis-min/version | 1 + core/vis/version | 1 - core/xz/build | 8 + core/xz/checksums | 1 + core/xz/sources | 1 + core/xz/version | 1 + core/zlib/build | 11 + core/zlib/checksums | 1 + core/zlib/sources | 1 + core/zlib/version | 1 + core/zstd/build | 4 + core/zstd/checksums | 1 + core/zstd/sources | 1 + core/zstd/version | 1 + desktop/mesa/version | 1 - desktop/mini-xdg-utils/depends | 0 desktop/skeous-gtk-theme/depends | 0 extra/acpid/build | 15 + extra/acpid/checksums | 2 + extra/acpid/depends | 1 + extra/acpid/files/acpid.run | 2 + extra/acpid/sources | 2 + extra/acpid/version | 1 + extra/ag/build | 8 - extra/ag/checksums | 1 - extra/ag/depends | 3 - extra/ag/sources | 1 - extra/ag/version | 1 - extra/alsa-lib/build | 11 + extra/alsa-lib/checksums | 1 + extra/alsa-lib/depends | 1 + extra/alsa-lib/sources | 1 + extra/alsa-lib/version | 1 + extra/alsa-utils/build | 16 + extra/alsa-utils/checksums | 1 + extra/alsa-utils/depends | 3 + extra/alsa-utils/sources | 1 + extra/alsa-utils/version | 1 + extra/aspell/depends | 0 extra/aspell/version | 2 +- extra/atk/build | 17 + extra/atk/checksums | 1 + {wayland/wayland => extra/atk}/depends | 4 +- extra/atk/sources | 1 + extra/atk/version | 1 + {core => extra}/bmake/build | 0 {core => extra}/bmake/checksums | 0 {core => extra}/bmake/sources | 0 {core => extra}/bmake/version | 0 extra/cairo/build | 25 + extra/cairo/checksums | 1 + extra/cairo/depends | 10 + extra/cairo/sources | 1 + extra/cairo/version | 1 + extra/ccache/version | 2 +- extra/checkpassword/depends | 0 extra/checkpassword/sources | 2 +- extra/chorizo/build | 4 + extra/chorizo/checksums | 1 + extra/chorizo/depends | 1 + extra/chorizo/sources | 1 + extra/chorizo/version | 1 + extra/clac/depends | 0 extra/cmake/version | 1 - {desktop => extra}/colorpicker/build | 0 {desktop => extra}/colorpicker/depends | 0 {desktop => extra}/colorpicker/sources | 0 {desktop => extra}/colorpicker/version | 0 extra/dejavu-ttf/build | 5 + extra/dejavu-ttf/checksums | 1 + extra/dejavu-ttf/post-install | 3 + extra/dejavu-ttf/sources | 1 + {core/libuuid => extra/dejavu-ttf}/version | 0 extra/dhcpcd/build | 15 + extra/dhcpcd/checksums | 2 + extra/dhcpcd/depends | 1 + extra/dhcpcd/files/dhcpcd.run | 2 + extra/dhcpcd/sources | 2 + extra/dhcpcd/version | 1 + extra/dmenu/build | 4 + extra/dmenu/checksums | 1 + extra/dmenu/depends | 3 + extra/dmenu/sources | 1 + extra/dmenu/version | 1 + extra/dtfl/sources | 2 +- extra/dwm/build | 10 + extra/dwm/checksums | 1 + extra/dwm/depends | 2 + extra/dwm/sources | 1 + extra/dwm/version | 1 + extra/e2fsprogs/build | 46 + extra/e2fsprogs/checksums | 1 + extra/e2fsprogs/sources | 1 + extra/e2fsprogs/version | 1 + extra/enchant/depends | 0 extra/ffmpeg/build | 30 + extra/ffmpeg/checksums | 1 + extra/ffmpeg/depends | 15 + extra/ffmpeg/sources | 1 + extra/ffmpeg/version | 1 + extra/file/build | 7 + extra/file/checksums | 1 + extra/file/depends | 1 + extra/file/sources | 1 + extra/file/version | 1 + extra/flex/build | 11 + extra/flex/checksums | 1 + extra/flex/depends | 1 + extra/flex/sources | 1 + extra/flex/version | 1 + extra/fontconfig/build | 14 + extra/fontconfig/checksums | 1 + extra/fontconfig/depends | 5 + extra/fontconfig/post-install | 3 + extra/fontconfig/sources | 1 + extra/fontconfig/version | 1 + extra/fortune/build | 5 - extra/fortune/checksums | 3 - extra/fortune/depends | 0 extra/fortune/files/kiss | 640 ------ extra/fortune/sources | 3 - extra/fortune/version | 1 - extra/freetype-harfbuzz/build | 48 + extra/freetype-harfbuzz/checksums | 2 + extra/freetype-harfbuzz/depends | 19 + extra/freetype-harfbuzz/sources | 2 + extra/freetype-harfbuzz/version | 1 + extra/fribidi/build | 8 + extra/fribidi/checksums | 1 + extra/fribidi/sources | 1 + extra/fribidi/version | 1 + extra/gcc/sources | 1 + extra/gdk-pixbuf/build | 22 + extra/gdk-pixbuf/checksums | 1 + extra/gdk-pixbuf/depends | 5 + extra/gdk-pixbuf/post-install | 3 + extra/gdk-pixbuf/sources | 1 + extra/gdk-pixbuf/version | 1 + extra/giflib/build | 4 + extra/giflib/checksums | 1 + extra/giflib/sources | 1 + extra/giflib/version | 1 + extra/girara/build | 12 + extra/girara/checksums | 1 + extra/girara/depends | 5 + extra/girara/sources | 1 + extra/girara/version | 1 + extra/glib-networking/build | 18 + extra/glib-networking/checksums | 1 + extra/glib-networking/depends | 4 + extra/glib-networking/sources | 1 + extra/glib-networking/version | 1 + extra/glib/build | 26 + extra/glib/checksums | 1 + extra/glib/depends | 4 + extra/glib/sources | 1 + extra/glib/version | 1 + extra/gnutls/build | 13 + extra/gnutls/checksums | 1 + extra/gnutls/depends | 2 + extra/gnutls/sources | 1 + extra/gnutls/version | 1 + .../gobject-introspection/build | 0 .../gobject-introspection/depends | 0 .../gobject-introspection/sources | 0 .../gobject-introspection/version | 0 extra/gperf/build | 7 + extra/gperf/checksums | 1 + extra/gperf/sources | 1 + extra/gperf/version | 1 + {desktop => extra}/gstreamer/build | 0 {desktop => extra}/gstreamer/checksums | 0 {desktop => extra}/gstreamer/depends | 0 {desktop => extra}/gstreamer/sources | 0 {desktop => extra}/gstreamer/version | 0 {desktop => extra}/gtk+3/build | 0 {desktop => extra}/gtk+3/checksums | 0 {desktop => extra}/gtk+3/depends | 0 {desktop => extra}/gtk+3/post-install | 0 {desktop => extra}/gtk+3/sources | 0 {desktop => extra}/gtk+3/version | 0 extra/harfbuzz-icu/build | 23 + extra/harfbuzz-icu/checksums | 1 + extra/harfbuzz-icu/depends | 3 + extra/harfbuzz-icu/sources | 1 + extra/harfbuzz-icu/version | 1 + extra/icu/build | 13 + extra/icu/checksums | 1 + extra/icu/sources | 1 + extra/icu/version | 1 + extra/intltool/build | 6 - extra/intltool/checksums | 1 - extra/intltool/depends | 1 - extra/intltool/sources | 1 - extra/intltool/version | 1 - extra/isync/version | 1 - extra/jetbrainsmono-nf/depends | 0 extra/joe/version | 2 +- extra/json-c/build | 12 + extra/json-c/checksums | 1 + extra/json-c/depends | 1 + extra/json-c/sources | 1 + extra/json-c/version | 1 + extra/lame/build | 8 + extra/lame/checksums | 1 + extra/lame/sources | 1 + extra/lame/version | 1 + extra/lcms/build | 7 + extra/lcms/checksums | 1 + extra/lcms/depends | 2 + extra/lcms/sources | 1 + extra/lcms/version | 1 + extra/libass/build | 8 + extra/libass/checksums | 1 + extra/libass/depends | 6 + extra/libass/sources | 1 + extra/libass/version | 1 + extra/libdrm/build | 10 + extra/libdrm/checksums | 1 + extra/libdrm/depends | 4 + extra/libdrm/sources | 1 + extra/libdrm/version | 1 + extra/libelf/build | 27 + extra/libelf/checksums | 2 + extra/libelf/depends | 2 + extra/libelf/files/error.h | 27 + extra/libelf/sources | 2 + extra/libelf/version | 1 + extra/libepoxy/build | 13 + extra/libepoxy/checksums | 1 + extra/libepoxy/depends | 2 + extra/libepoxy/sources | 1 + extra/libepoxy/version | 1 + extra/libevdev/build | 8 + extra/libevdev/checksums | 1 + extra/libevdev/depends | 2 + extra/libevdev/sources | 1 + extra/libevdev/version | 1 + extra/libexif/build | 9 + extra/libexif/checksums | 1 + extra/libexif/sources | 1 + extra/libexif/version | 1 + extra/libinput/build | 22 + extra/libinput/checksums | 1 + extra/libinput/depends | 5 + extra/libinput/post-install | 7 + extra/libinput/sources | 1 + extra/libinput/version | 1 + extra/libjpeg-turbo/build | 13 + extra/libjpeg-turbo/checksums | 1 + extra/libjpeg-turbo/depends | 2 + extra/libjpeg-turbo/sources | 1 + extra/libjpeg-turbo/version | 1 + extra/libogg/build | 7 + extra/libogg/checksums | 1 + extra/libogg/sources | 1 + extra/libogg/version | 1 + extra/libpng/build | 9 + extra/libpng/checksums | 2 + extra/libpng/depends | 1 + extra/libpng/patches/libpng-1.6.37-apng.patch | 1728 +++++++++++++++ extra/libpng/sources | 2 + extra/libpng/version | 1 + extra/libpsl/build | 7 + extra/libpsl/checksums | 1 + extra/libpsl/depends | 2 + extra/libpsl/sources | 1 + extra/libpsl/version | 1 + extra/libsoup/build | 17 + extra/libsoup/checksums | 1 + extra/libsoup/depends | 8 + extra/libsoup/sources | 1 + extra/libsoup/version | 1 + extra/libvorbis/build | 7 + extra/libvorbis/checksums | 1 + extra/libvorbis/depends | 1 + extra/libvorbis/sources | 1 + extra/libvorbis/version | 1 + extra/libvpx/build | 33 + extra/libvpx/checksums | 6 + extra/libvpx/depends | 1 + extra/libvpx/files/vp8_rtcd.h | 265 +++ extra/libvpx/files/vp9_rtcd.h | 126 ++ extra/libvpx/files/vpx_dsp_rtcd.h | 1196 ++++++++++ extra/libvpx/files/vpx_scale_rtcd.h | 73 + extra/libvpx/patches/fix-busybox-diff.patch | 13 + extra/libvpx/sources | 6 + extra/libvpx/version | 1 + extra/libwebp/build | 11 + extra/libwebp/checksums | 1 + extra/libwebp/depends | 2 + extra/libwebp/sources | 1 + extra/libwebp/version | 1 + extra/libxml2/build | 11 + extra/libxml2/checksums | 1 + extra/libxml2/depends | 2 + extra/libxml2/sources | 1 + extra/libxml2/version | 1 + extra/libxslt/build | 7 + extra/libxslt/checksums | 1 + extra/libxslt/depends | 2 + extra/libxslt/sources | 1 + extra/libxslt/version | 1 + extra/lpeg/build | 8 + extra/lpeg/checksums | 2 + extra/lpeg/depends | 1 + extra/lpeg/patches/build-static-lib.patch | 29 + extra/lpeg/sources | 2 + extra/lpeg/version | 1 + {core => extra}/lua/build | 0 {core => extra}/lua/checksums | 0 {core => extra}/lua/files/lua.pc | 0 {core => extra}/lua/sources | 0 {core => extra}/lua/version | 0 .../wayland-protocols => extra/lzo}/build | 2 +- extra/lzo/checksums | 1 + extra/lzo/sources | 1 + extra/lzo/version | 1 + extra/m4/build | 9 + extra/m4/checksums | 1 + extra/m4/sources | 1 + extra/m4/version | 1 + {desktop => extra}/mesa/build | 0 {desktop => extra}/mesa/checksums | 0 {desktop => extra}/mesa/depends | 0 {desktop => extra}/mesa/sources | 0 extra/mesa/version | 1 + extra/meson/build | 7 + extra/meson/checksums | 1 + extra/meson/depends | 2 + extra/meson/sources | 1 + extra/meson/version | 1 + {desktop => extra}/mini-xdg-utils/build | 0 {desktop => extra}/mini-xdg-utils/checksums | 0 {desktop => extra}/mini-xdg-utils/sources | 0 {desktop => extra}/mini-xdg-utils/version | 0 {desktop => extra}/motif/build | 0 {desktop => extra}/motif/checksums | 0 {desktop => extra}/motif/depends | 0 {desktop => extra}/motif/sources | 0 {desktop => extra}/motif/version | 0 {desktop => extra}/mpv/build | 0 {desktop => extra}/mpv/checksums | 0 {desktop => extra}/mpv/depends | 0 {desktop => extra}/mpv/sources | 0 {desktop => extra}/mpv/version | 0 extra/mtdev/build | 7 + extra/mtdev/checksums | 1 + extra/mtdev/depends | 1 + extra/mtdev/sources | 1 + extra/mtdev/version | 1 + extra/mu/version | 2 +- extra/mutt/version | 1 - extra/nasm/build | 7 + extra/nasm/checksums | 1 + extra/nasm/sources | 1 + extra/nasm/version | 1 + extra/ncdu/build | 7 + extra/ncdu/checksums | 1 + extra/ncdu/depends | 1 + extra/ncdu/sources | 1 + extra/ncdu/version | 1 + {wayland/wayland => extra/nettle}/build | 3 +- extra/nettle/checksums | 1 + extra/nettle/sources | 1 + extra/nettle/version | 1 + extra/openconnect/depends | 0 extra/openjpeg/build | 12 + extra/openjpeg/checksums | 1 + extra/openjpeg/depends | 5 + extra/openjpeg/sources | 1 + extra/openjpeg/version | 1 + extra/openssh/build | 27 + extra/openssh/checksums | 2 + extra/openssh/depends | 2 + extra/openssh/files/sshd.run | 2 + extra/openssh/post-install | 4 + extra/openssh/sources | 2 + extra/openssh/version | 1 + extra/openvpn/build | 14 + extra/openvpn/checksums | 1 + extra/openvpn/depends | 2 + extra/openvpn/sources | 1 + extra/openvpn/version | 1 + extra/opus/build | 9 + extra/opus/checksums | 1 + extra/opus/sources | 1 + extra/opus/version | 1 + extra/pandoc/build | 4 + extra/pandoc/checksums | 2 + extra/pandoc/sources | 2 + extra/pandoc/version | 1 + extra/pango/build | 19 + extra/pango/checksums | 1 + extra/pango/depends | 9 + extra/pango/sources | 1 + extra/pango/version | 1 + extra/pcre/build | 9 + extra/pcre/checksums | 1 + extra/pcre/sources | 1 + extra/pcre/version | 1 + extra/pkcs11-helper/build | 7 + extra/pkcs11-helper/checksums | 1 + extra/pkcs11-helper/depends | 1 + extra/pkcs11-helper/sources | 1 + extra/pkcs11-helper/version | 1 + extra/poppler/build | 14 + extra/poppler/checksums | 1 + extra/poppler/depends | 4 + extra/poppler/sources | 1 + extra/poppler/version | 1 + {desktop => extra}/qt5/build | 0 {desktop => extra}/qt5/checksums | 0 {desktop => extra}/qt5/depends | 0 {desktop => extra}/qt5/files/qt.conf | 0 .../qt5/patches/clang-socklen-match-gcc.patch | 0 {desktop => extra}/qt5/patches/libressl.patch | 0 {desktop => extra}/qt5/sources | 0 {desktop => extra}/qt5/version | 0 extra/ruby/build | 9 + extra/ruby/checksums | 1 + extra/ruby/depends | 2 + extra/ruby/sources | 1 + extra/ruby/version | 1 + {wayland/inaban => extra/scdoc}/build | 0 extra/scdoc/checksums | 1 + extra/scdoc/sources | 1 + extra/scdoc/version | 1 + extra/sfeed/build | 8 + extra/sfeed/checksums | 1 + extra/sfeed/depends | 1 + extra/sfeed/sources | 1 + extra/sfeed/version | 1 + extra/sfeed_curses/build | 8 + extra/sfeed_curses/checksums | 1 + extra/sfeed_curses/depends | 1 + extra/sfeed_curses/sources | 1 + extra/sfeed_curses/version | 1 + extra/shellcheck-bin/build | 3 + extra/shellcheck-bin/checksums | 1 + extra/shellcheck-bin/sources | 1 + extra/shellcheck-bin/version | 1 + {desktop => extra}/skeous-gtk-theme/build | 0 {desktop => extra}/skeous-gtk-theme/checksums | 0 {desktop => extra}/skeous-gtk-theme/sources | 0 {desktop => extra}/skeous-gtk-theme/version | 0 extra/st/build | 10 + extra/st/checksums | 1 + extra/st/depends | 5 + extra/st/sources | 1 + extra/st/version | 1 + extra/syncthing/version | 2 +- extra/testdisk/sources | 2 +- extra/tiff/build | 9 + extra/tiff/checksums | 1 + extra/tiff/depends | 3 + extra/tiff/sources | 1 + extra/tiff/version | 1 + extra/tlp/version | 2 +- {core => extra}/vis/build | 0 extra/vis/checksums | 2 + {core => extra}/vis/depends | 0 extra/vis/patches/soft-wrap.patch | 632 ++++++ extra/vis/sources | 2 + extra/vis/version | 1 + {desktop/webkit2gtk => extra/webkitgtk}/build | 0 .../webkit2gtk => extra/webkitgtk}/checksums | 0 .../webkit2gtk => extra/webkitgtk}/depends | 2 +- .../webkit2gtk => extra/webkitgtk}/sources | 0 .../webkit2gtk => extra/webkitgtk}/version | 0 extra/wpa_supplicant/build | 19 + extra/wpa_supplicant/checksums | 3 + extra/wpa_supplicant/depends | 2 + extra/wpa_supplicant/files/.config | 551 +++++ extra/wpa_supplicant/post-install | 8 + extra/wpa_supplicant/sources | 3 + extra/wpa_supplicant/version | 1 + extra/x264/build | 16 + extra/x264/checksums | 2 + extra/x264/depends | 1 + extra/x264/patches/x264-no-bash.patch | 222 ++ extra/x264/sources | 2 + extra/x264/version | 1 + extra/x265/build | 10 + extra/x265/checksums | 1 + extra/x265/depends | 2 + extra/x265/sources | 1 + extra/x265/version | 1 + extra/xapian-core/version | 2 +- {desktop => extra}/xvile/build | 0 {desktop => extra}/xvile/checksums | 0 {desktop => extra}/xvile/depends | 0 {desktop => extra}/xvile/sources | 0 {desktop => extra}/xvile/version | 0 extra/youtube-dl/build | 6 + extra/youtube-dl/checksums | 1 + extra/youtube-dl/depends | 2 + extra/youtube-dl/sources | 1 + extra/youtube-dl/version | 1 + extra/zathura-pdf-poppler/build | 8 + extra/zathura-pdf-poppler/checksums | 1 + extra/zathura-pdf-poppler/depends | 3 + extra/zathura-pdf-poppler/sources | 1 + extra/zathura-pdf-poppler/version | 1 + extra/zathura/build | 19 + extra/zathura/checksums | 4 + extra/zathura/depends | 3 + extra/zathura/files/zathura.1 | 419 ++++ extra/zathura/files/zathurarc.5 | 1420 ++++++++++++ extra/zathura/patches/remove_gettext.patch | 39 + extra/zathura/sources | 4 + extra/zathura/version | 1 + extra/zeromq/build | 2 +- extra/zeromq/depends | 0 extra/zeromq/sources | 2 +- extra/zzz/build | 5 + extra/zzz/checksums | 2 + extra/zzz/files/zzz | 64 + extra/zzz/files/zzz.8 | 94 + extra/zzz/sources | 2 + extra/zzz/version | 1 + wayland/foot/build | 24 - wayland/foot/checksums | 3 - wayland/foot/depends | 12 - wayland/foot/sources | 3 - wayland/foot/version | 1 - wayland/hikari/build | 12 - wayland/hikari/checksums | 2 - wayland/hikari/depends | 12 - wayland/hikari/patches/no-locker.patch | 78 - wayland/hikari/sources | 2 - wayland/hikari/version | 1 - wayland/inaban/depends | 5 - wayland/inaban/sources | 1 - wayland/vivarium/build | 20 - wayland/vivarium/checksums | 1 - wayland/vivarium/depends | 6 - wayland/vivarium/sources | 1 - wayland/vivarium/version | 2 - wayland/wayland-protocols/checksums | 1 - wayland/wayland-protocols/depends | 1 - wayland/wayland-protocols/sources | 1 - wayland/wayland-protocols/version | 1 - wayland/wayland/checksums | 1 - wayland/wayland/sources | 1 - wayland/wayland/version | 1 - wayland/wlroots/build | 17 - wayland/wlroots/checksums | 1 - wayland/wlroots/depends | 11 - wayland/wlroots/sources | 1 - wayland/wlroots/version | 1 - xorg/brightnessctl/depends | 0 xorg/brownout/build | 4 + xorg/brownout/checksums | 1 + xorg/brownout/depends | 2 + xorg/brownout/sources | 1 + xorg/brownout/version | 1 + xorg/libICE/build | 7 + xorg/libICE/checksums | 1 + xorg/libICE/depends | 3 + xorg/libICE/sources | 1 + xorg/libICE/version | 1 + xorg/libSM/build | 8 + xorg/libSM/checksums | 1 + xorg/libSM/depends | 3 + xorg/libSM/sources | 1 + xorg/libSM/version | 1 + xorg/libXcomposite/version | 2 +- xorg/libXcursor/version | 2 +- xorg/libXdamage/version | 2 +- xorg/libXext/version | 2 +- xorg/libXrender/version | 2 +- xorg/libfontenc/build | 8 + xorg/libfontenc/checksums | 1 + xorg/libfontenc/depends | 3 + xorg/libfontenc/sources | 1 + xorg/libfontenc/version | 1 + xorg/libpciaccess/build | 7 + xorg/libpciaccess/checksums | 1 + xorg/libpciaccess/sources | 1 + xorg/libpciaccess/version | 1 + xorg/libxcb/build | 9 + xorg/libxcb/checksums | 1 + xorg/libxcb/depends | 5 + xorg/libxcb/sources | 1 + xorg/libxcb/version | 1 + xorg/libxkbcommon/depends | 2 +- xorg/libxkbcommon/version | 2 +- xorg/libxkbfile/build | 7 + xorg/libxkbfile/checksums | 1 + xorg/libxkbfile/depends | 3 + xorg/libxkbfile/sources | 1 + xorg/libxkbfile/version | 1 + xorg/libxshmfence/build | 8 + xorg/libxshmfence/checksums | 1 + xorg/libxshmfence/depends | 2 + xorg/libxshmfence/sources | 1 + xorg/libxshmfence/version | 1 + xorg/pixman/build | 8 + xorg/pixman/checksums | 1 + xorg/pixman/sources | 1 + xorg/pixman/version | 1 + xorg/redshift/build | 7 - xorg/redshift/checksums | 1 - xorg/redshift/depends | 3 - xorg/redshift/sources | 1 - xorg/redshift/version | 1 - xorg/spectrwm/build | 2 +- xorg/spectrwm/post-install | 2 +- xorg/sx/build | 3 + xorg/sx/checksums | 1 + xorg/sx/depends | 2 + xorg/sx/sources | 1 + {wayland/inaban => xorg/sx}/version | 1 - xorg/xcape/version | 2 +- xorg/xcb-util/build | 8 + xorg/xcb-util/checksums | 1 + xorg/xcb-util/depends | 3 + xorg/xcb-util/sources | 1 + xorg/xcb-util/version | 1 + xorg/xf86-input-libinput/build | 7 + xorg/xf86-input-libinput/checksums | 1 + xorg/xf86-input-libinput/depends | 4 + xorg/xf86-input-libinput/sources | 1 + xorg/xf86-input-libinput/version | 1 + xorg/xorg-fonts-misc/sources | 2 +- xorg/xorg-server/post-install | 10 +- xorg/xorg-util-macros/depends | 0 xorg/xorgproto/build | 8 + xorg/xorgproto/checksums | 1 + xorg/xorgproto/sources | 1 + xorg/xorgproto/version | 1 + xorg/xsel/version | 2 +- xorg/xtrans/build | 7 + xorg/xtrans/checksums | 1 + xorg/xtrans/depends | 1 + xorg/xtrans/sources | 1 + xorg/xtrans/version | 1 + 876 files changed, 14211 insertions(+), 1125 deletions(-) create mode 100755 core/asd/build create mode 100644 core/asd/checksums create mode 100644 core/asd/depends create mode 100644 core/asd/sources create mode 100644 core/asd/version delete mode 100644 core/baseinit/depends create mode 100755 core/baselayout/build create mode 100644 core/baselayout/checksums create mode 100644 core/baselayout/files/crypttab create mode 100644 core/baselayout/files/fstab create mode 100644 core/baselayout/files/group create mode 100644 core/baselayout/files/host.conf create mode 100644 core/baselayout/files/hosts create mode 100644 core/baselayout/files/issue create mode 100644 core/baselayout/files/mime.types create mode 100644 core/baselayout/files/os-release create mode 100644 core/baselayout/files/passwd create mode 100644 core/baselayout/files/profile create mode 100644 core/baselayout/files/securetty create mode 100644 core/baselayout/files/shadow create mode 100644 core/baselayout/files/shells create mode 100644 core/baselayout/sources create mode 100644 core/baselayout/version delete mode 100644 core/byacc/depends create mode 100755 core/bzip2/build create mode 100644 core/bzip2/checksums create mode 100644 core/bzip2/sources create mode 100644 core/bzip2/version create mode 100755 core/catgirl/build create mode 100644 core/catgirl/checksums create mode 100644 core/catgirl/depends create mode 100644 core/catgirl/sources create mode 100644 core/catgirl/version rename {extra => core}/cmake/build (100%) rename {extra => core}/cmake/checksums (100%) rename {extra => core}/cmake/depends (100%) rename {extra => core}/cmake/patches/cmake-no-execinfo.patch (100%) rename {extra => core}/cmake/sources (100%) create mode 100644 core/cmake/version create mode 100755 core/curl/build create mode 100644 core/curl/checksums rename {extra/isync => core/curl}/depends (100%) create mode 100644 core/curl/sources create mode 100644 core/curl/version create mode 100755 core/cyrus-sasl/build create mode 100644 core/cyrus-sasl/checksums create mode 100644 core/cyrus-sasl/depends create mode 100644 core/cyrus-sasl/sources create mode 100644 core/cyrus-sasl/version create mode 100755 core/efibootmgr/build create mode 100644 core/efibootmgr/checksums create mode 100644 core/efibootmgr/depends create mode 100644 core/efibootmgr/sources create mode 100644 core/efibootmgr/version create mode 100755 core/efivar/build create mode 100644 core/efivar/checksums rename core/{libuuid => efivar}/depends (100%) create mode 100644 core/efivar/patches/00-b98ba8921010d03f46704a476c69861515deb1ca.patch create mode 100644 core/efivar/patches/01-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch create mode 100644 core/efivar/patches/02-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch create mode 100644 core/efivar/patches/03-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch create mode 100644 core/efivar/patches/04-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch create mode 100644 core/efivar/sources create mode 100644 core/efivar/version create mode 100755 core/expat/build create mode 100644 core/expat/checksums create mode 100644 core/expat/sources create mode 100644 core/expat/version create mode 100755 core/gnupg2/build create mode 100644 core/gnupg2/checksums create mode 100644 core/gnupg2/depends create mode 100644 core/gnupg2/sources create mode 100644 core/gnupg2/version create mode 100755 core/gzip/build create mode 100644 core/gzip/checksums create mode 100644 core/gzip/sources create mode 100644 core/gzip/version rename {extra => core}/isync/build (80%) rename {extra => core}/isync/checksums (100%) create mode 100644 core/isync/depends rename {extra => core}/isync/sources (100%) create mode 100644 core/isync/version create mode 100755 core/libassuan/build create mode 100644 core/libassuan/checksums create mode 100644 core/libassuan/depends create mode 100644 core/libassuan/sources create mode 100644 core/libassuan/version create mode 100755 core/libedit/build create mode 100644 core/libedit/checksums create mode 100644 core/libedit/depends create mode 100644 core/libedit/sources create mode 100644 core/libedit/version create mode 100755 core/libevent/build create mode 100644 core/libevent/checksums create mode 100644 core/libevent/sources create mode 100644 core/libevent/version create mode 100755 core/libffi/build create mode 100644 core/libffi/checksums create mode 100644 core/libffi/depends create mode 100644 core/libffi/sources create mode 100644 core/libffi/version create mode 100755 core/libgcrypt/build create mode 100644 core/libgcrypt/checksums create mode 100644 core/libgcrypt/depends create mode 100644 core/libgcrypt/sources create mode 100644 core/libgcrypt/version create mode 100755 core/libgpg-error/build create mode 100644 core/libgpg-error/checksums create mode 100644 core/libgpg-error/sources create mode 100644 core/libgpg-error/version create mode 100755 core/libksba/build create mode 100644 core/libksba/checksums create mode 100644 core/libksba/sources create mode 100644 core/libksba/version create mode 100755 core/libressl/build create mode 100644 core/libressl/checksums create mode 100755 core/libressl/files/update-certdata.sh create mode 100755 core/libressl/post-install create mode 100644 core/libressl/sources create mode 100644 core/libressl/version create mode 100755 core/libtermkey/build create mode 100644 core/libtermkey/checksums create mode 100644 core/libtermkey/depends create mode 100644 core/libtermkey/patches/static-no-libtool.patch create mode 100644 core/libtermkey/sources create mode 100644 core/libtermkey/version create mode 100755 core/libudev-zero/build create mode 100644 core/libudev-zero/checksums create mode 100644 core/libudev-zero/depends create mode 100644 core/libudev-zero/sources create mode 100644 core/libudev-zero/version delete mode 100755 core/libuuid/build delete mode 100644 core/libuuid/checksums delete mode 100644 core/libuuid/sources create mode 100755 core/links/build create mode 100644 core/links/checksums create mode 100644 core/links/depends create mode 100644 core/links/sources create mode 100644 core/links/version create mode 100755 core/linux-headers/build create mode 100644 core/linux-headers/checksums create mode 100644 core/linux-headers/sources create mode 100644 core/linux-headers/version delete mode 100644 core/lua/depends create mode 100755 core/make/build create mode 100644 core/make/checksums create mode 100644 core/make/sources create mode 100644 core/make/version create mode 100755 core/man-pages/build create mode 100644 core/man-pages/checksums create mode 100644 core/man-pages/sources create mode 100644 core/man-pages/version create mode 100755 core/mandoc/build create mode 100644 core/mandoc/checksums create mode 100644 core/mandoc/depends create mode 100644 core/mandoc/patches/mandoc-no-warn.patch create mode 100644 core/mandoc/sources create mode 100644 core/mandoc/version create mode 100755 core/musl/build create mode 100644 core/musl/checksums create mode 100755 core/musl/files/cdefs.h create mode 100644 core/musl/files/getconf.c create mode 100644 core/musl/files/getent.c create mode 100755 core/musl/files/queue.h create mode 100755 core/musl/files/tree.h create mode 100644 core/musl/sources create mode 100644 core/musl/version rename {extra => core}/mutt/build (83%) rename {extra => core}/mutt/checksums (100%) rename {extra => core}/mutt/depends (53%) rename {extra => core}/mutt/sources (100%) create mode 100644 core/mutt/version create mode 100755 core/npth/build create mode 100644 core/npth/checksums create mode 100644 core/npth/sources create mode 100644 core/npth/version create mode 100755 core/perl/build create mode 100644 core/perl/checksums create mode 100644 core/perl/depends create mode 100644 core/perl/sources create mode 100644 core/perl/version create mode 100755 core/pkgconf/build create mode 100644 core/pkgconf/checksums create mode 100644 core/pkgconf/sources create mode 100644 core/pkgconf/version create mode 100755 core/samurai/build create mode 100644 core/samurai/checksums create mode 100644 core/samurai/sources create mode 100644 core/samurai/version create mode 100755 core/sqlite/build create mode 100644 core/sqlite/checksums create mode 100644 core/sqlite/depends create mode 100644 core/sqlite/sources create mode 100644 core/sqlite/version delete mode 100755 core/syslinux/build delete mode 100644 core/syslinux/checksums delete mode 100644 core/syslinux/depends delete mode 100644 core/syslinux/patches/0018-prevent-pow-optimization.patch delete mode 100644 core/syslinux/patches/fcommon.patch delete mode 100644 core/syslinux/sources delete mode 100644 core/syslinux/version create mode 100755 core/tzdata/build create mode 100644 core/tzdata/checksums create mode 100644 core/tzdata/sources create mode 100644 core/tzdata/version create mode 100755 core/ugrep/build create mode 100644 core/ugrep/checksums create mode 100644 core/ugrep/depends create mode 100644 core/ugrep/files/egrep create mode 100644 core/ugrep/files/fgrep create mode 100644 core/ugrep/sources create mode 100644 core/ugrep/version create mode 100755 core/vis-min/build rename core/{vis => vis-min}/checksums (50%) create mode 100644 core/vis-min/depends rename core/{vis => vis-min}/patches/soft-wrap.patch (100%) rename core/{vis => vis-min}/sources (100%) create mode 100644 core/vis-min/version delete mode 100644 core/vis/version create mode 100755 core/xz/build create mode 100644 core/xz/checksums create mode 100644 core/xz/sources create mode 100644 core/xz/version create mode 100755 core/zlib/build create mode 100644 core/zlib/checksums create mode 100644 core/zlib/sources create mode 100644 core/zlib/version create mode 100755 core/zstd/build create mode 100644 core/zstd/checksums create mode 100644 core/zstd/sources create mode 100644 core/zstd/version delete mode 100644 desktop/mesa/version delete mode 100644 desktop/mini-xdg-utils/depends delete mode 100644 desktop/skeous-gtk-theme/depends create mode 100755 extra/acpid/build create mode 100644 extra/acpid/checksums create mode 100644 extra/acpid/depends create mode 100644 extra/acpid/files/acpid.run create mode 100644 extra/acpid/sources create mode 100644 extra/acpid/version delete mode 100755 extra/ag/build delete mode 100644 extra/ag/checksums delete mode 100644 extra/ag/depends delete mode 100644 extra/ag/sources delete mode 100644 extra/ag/version create mode 100755 extra/alsa-lib/build create mode 100644 extra/alsa-lib/checksums create mode 100644 extra/alsa-lib/depends create mode 100644 extra/alsa-lib/sources create mode 100644 extra/alsa-lib/version create mode 100755 extra/alsa-utils/build create mode 100644 extra/alsa-utils/checksums create mode 100644 extra/alsa-utils/depends create mode 100644 extra/alsa-utils/sources create mode 100644 extra/alsa-utils/version delete mode 100644 extra/aspell/depends create mode 100755 extra/atk/build create mode 100644 extra/atk/checksums rename {wayland/wayland => extra/atk}/depends (51%) create mode 100644 extra/atk/sources create mode 100644 extra/atk/version rename {core => extra}/bmake/build (100%) rename {core => extra}/bmake/checksums (100%) rename {core => extra}/bmake/sources (100%) rename {core => extra}/bmake/version (100%) create mode 100755 extra/cairo/build create mode 100644 extra/cairo/checksums create mode 100644 extra/cairo/depends create mode 100644 extra/cairo/sources create mode 100644 extra/cairo/version delete mode 100644 extra/checkpassword/depends create mode 100755 extra/chorizo/build create mode 100644 extra/chorizo/checksums create mode 100644 extra/chorizo/depends create mode 100644 extra/chorizo/sources create mode 100644 extra/chorizo/version delete mode 100644 extra/clac/depends delete mode 100644 extra/cmake/version rename {desktop => extra}/colorpicker/build (100%) rename {desktop => extra}/colorpicker/depends (100%) rename {desktop => extra}/colorpicker/sources (100%) rename {desktop => extra}/colorpicker/version (100%) create mode 100755 extra/dejavu-ttf/build create mode 100644 extra/dejavu-ttf/checksums create mode 100755 extra/dejavu-ttf/post-install create mode 100644 extra/dejavu-ttf/sources rename {core/libuuid => extra/dejavu-ttf}/version (100%) create mode 100755 extra/dhcpcd/build create mode 100644 extra/dhcpcd/checksums create mode 100644 extra/dhcpcd/depends create mode 100644 extra/dhcpcd/files/dhcpcd.run create mode 100644 extra/dhcpcd/sources create mode 100644 extra/dhcpcd/version create mode 100755 extra/dmenu/build create mode 100644 extra/dmenu/checksums create mode 100644 extra/dmenu/depends create mode 100644 extra/dmenu/sources create mode 100644 extra/dmenu/version create mode 100755 extra/dwm/build create mode 100644 extra/dwm/checksums create mode 100644 extra/dwm/depends create mode 100644 extra/dwm/sources create mode 100644 extra/dwm/version create mode 100755 extra/e2fsprogs/build create mode 100644 extra/e2fsprogs/checksums create mode 100644 extra/e2fsprogs/sources create mode 100644 extra/e2fsprogs/version delete mode 100644 extra/enchant/depends create mode 100755 extra/ffmpeg/build create mode 100644 extra/ffmpeg/checksums create mode 100644 extra/ffmpeg/depends create mode 100644 extra/ffmpeg/sources create mode 100644 extra/ffmpeg/version create mode 100755 extra/file/build create mode 100644 extra/file/checksums create mode 100644 extra/file/depends create mode 100644 extra/file/sources create mode 100644 extra/file/version create mode 100755 extra/flex/build create mode 100644 extra/flex/checksums create mode 100644 extra/flex/depends create mode 100644 extra/flex/sources create mode 100644 extra/flex/version create mode 100755 extra/fontconfig/build create mode 100644 extra/fontconfig/checksums create mode 100644 extra/fontconfig/depends create mode 100755 extra/fontconfig/post-install create mode 100644 extra/fontconfig/sources create mode 100644 extra/fontconfig/version delete mode 100755 extra/fortune/build delete mode 100644 extra/fortune/checksums delete mode 100644 extra/fortune/depends delete mode 100644 extra/fortune/files/kiss delete mode 100644 extra/fortune/sources delete mode 100644 extra/fortune/version create mode 100755 extra/freetype-harfbuzz/build create mode 100644 extra/freetype-harfbuzz/checksums create mode 100644 extra/freetype-harfbuzz/depends create mode 100644 extra/freetype-harfbuzz/sources create mode 100644 extra/freetype-harfbuzz/version create mode 100755 extra/fribidi/build create mode 100644 extra/fribidi/checksums create mode 100644 extra/fribidi/sources create mode 100644 extra/fribidi/version create mode 100755 extra/gdk-pixbuf/build create mode 100644 extra/gdk-pixbuf/checksums create mode 100644 extra/gdk-pixbuf/depends create mode 100755 extra/gdk-pixbuf/post-install create mode 100644 extra/gdk-pixbuf/sources create mode 100644 extra/gdk-pixbuf/version create mode 100755 extra/giflib/build create mode 100644 extra/giflib/checksums create mode 100644 extra/giflib/sources create mode 100644 extra/giflib/version create mode 100755 extra/girara/build create mode 100644 extra/girara/checksums create mode 100644 extra/girara/depends create mode 100644 extra/girara/sources create mode 100644 extra/girara/version create mode 100755 extra/glib-networking/build create mode 100644 extra/glib-networking/checksums create mode 100644 extra/glib-networking/depends create mode 100644 extra/glib-networking/sources create mode 100644 extra/glib-networking/version create mode 100755 extra/glib/build create mode 100644 extra/glib/checksums create mode 100644 extra/glib/depends create mode 100644 extra/glib/sources create mode 100644 extra/glib/version create mode 100755 extra/gnutls/build create mode 100644 extra/gnutls/checksums create mode 100644 extra/gnutls/depends create mode 100644 extra/gnutls/sources create mode 100644 extra/gnutls/version rename {desktop => extra}/gobject-introspection/build (100%) rename {desktop => extra}/gobject-introspection/depends (100%) rename {desktop => extra}/gobject-introspection/sources (100%) rename {desktop => extra}/gobject-introspection/version (100%) create mode 100755 extra/gperf/build create mode 100644 extra/gperf/checksums create mode 100644 extra/gperf/sources create mode 100644 extra/gperf/version rename {desktop => extra}/gstreamer/build (100%) rename {desktop => extra}/gstreamer/checksums (100%) rename {desktop => extra}/gstreamer/depends (100%) rename {desktop => extra}/gstreamer/sources (100%) rename {desktop => extra}/gstreamer/version (100%) rename {desktop => extra}/gtk+3/build (100%) rename {desktop => extra}/gtk+3/checksums (100%) rename {desktop => extra}/gtk+3/depends (100%) rename {desktop => extra}/gtk+3/post-install (100%) rename {desktop => extra}/gtk+3/sources (100%) rename {desktop => extra}/gtk+3/version (100%) create mode 100755 extra/harfbuzz-icu/build create mode 100644 extra/harfbuzz-icu/checksums create mode 100644 extra/harfbuzz-icu/depends create mode 100644 extra/harfbuzz-icu/sources create mode 100644 extra/harfbuzz-icu/version create mode 100755 extra/icu/build create mode 100644 extra/icu/checksums create mode 100644 extra/icu/sources create mode 100644 extra/icu/version delete mode 100755 extra/intltool/build delete mode 100644 extra/intltool/checksums delete mode 100644 extra/intltool/depends delete mode 100644 extra/intltool/sources delete mode 100644 extra/intltool/version delete mode 100644 extra/isync/version delete mode 100644 extra/jetbrainsmono-nf/depends create mode 100755 extra/json-c/build create mode 100644 extra/json-c/checksums create mode 100644 extra/json-c/depends create mode 100644 extra/json-c/sources create mode 100644 extra/json-c/version create mode 100755 extra/lame/build create mode 100644 extra/lame/checksums create mode 100644 extra/lame/sources create mode 100644 extra/lame/version create mode 100755 extra/lcms/build create mode 100644 extra/lcms/checksums create mode 100644 extra/lcms/depends create mode 100644 extra/lcms/sources create mode 100644 extra/lcms/version create mode 100755 extra/libass/build create mode 100644 extra/libass/checksums create mode 100644 extra/libass/depends create mode 100644 extra/libass/sources create mode 100644 extra/libass/version create mode 100755 extra/libdrm/build create mode 100644 extra/libdrm/checksums create mode 100644 extra/libdrm/depends create mode 100644 extra/libdrm/sources create mode 100644 extra/libdrm/version create mode 100755 extra/libelf/build create mode 100644 extra/libelf/checksums create mode 100644 extra/libelf/depends create mode 100644 extra/libelf/files/error.h create mode 100644 extra/libelf/sources create mode 100644 extra/libelf/version create mode 100755 extra/libepoxy/build create mode 100644 extra/libepoxy/checksums create mode 100644 extra/libepoxy/depends create mode 100644 extra/libepoxy/sources create mode 100644 extra/libepoxy/version create mode 100755 extra/libevdev/build create mode 100644 extra/libevdev/checksums create mode 100644 extra/libevdev/depends create mode 100644 extra/libevdev/sources create mode 100644 extra/libevdev/version create mode 100755 extra/libexif/build create mode 100644 extra/libexif/checksums create mode 100644 extra/libexif/sources create mode 100644 extra/libexif/version create mode 100755 extra/libinput/build create mode 100644 extra/libinput/checksums create mode 100644 extra/libinput/depends create mode 100755 extra/libinput/post-install create mode 100644 extra/libinput/sources create mode 100644 extra/libinput/version create mode 100755 extra/libjpeg-turbo/build create mode 100644 extra/libjpeg-turbo/checksums create mode 100644 extra/libjpeg-turbo/depends create mode 100644 extra/libjpeg-turbo/sources create mode 100644 extra/libjpeg-turbo/version create mode 100755 extra/libogg/build create mode 100644 extra/libogg/checksums create mode 100644 extra/libogg/sources create mode 100644 extra/libogg/version create mode 100755 extra/libpng/build create mode 100644 extra/libpng/checksums create mode 100644 extra/libpng/depends create mode 100644 extra/libpng/patches/libpng-1.6.37-apng.patch create mode 100644 extra/libpng/sources create mode 100644 extra/libpng/version create mode 100755 extra/libpsl/build create mode 100644 extra/libpsl/checksums create mode 100644 extra/libpsl/depends create mode 100644 extra/libpsl/sources create mode 100644 extra/libpsl/version create mode 100755 extra/libsoup/build create mode 100644 extra/libsoup/checksums create mode 100644 extra/libsoup/depends create mode 100644 extra/libsoup/sources create mode 100644 extra/libsoup/version create mode 100755 extra/libvorbis/build create mode 100644 extra/libvorbis/checksums create mode 100644 extra/libvorbis/depends create mode 100644 extra/libvorbis/sources create mode 100644 extra/libvorbis/version create mode 100755 extra/libvpx/build create mode 100644 extra/libvpx/checksums create mode 100644 extra/libvpx/depends create mode 100644 extra/libvpx/files/vp8_rtcd.h create mode 100644 extra/libvpx/files/vp9_rtcd.h create mode 100644 extra/libvpx/files/vpx_dsp_rtcd.h create mode 100644 extra/libvpx/files/vpx_scale_rtcd.h create mode 100644 extra/libvpx/patches/fix-busybox-diff.patch create mode 100644 extra/libvpx/sources create mode 100644 extra/libvpx/version create mode 100755 extra/libwebp/build create mode 100644 extra/libwebp/checksums create mode 100644 extra/libwebp/depends create mode 100644 extra/libwebp/sources create mode 100644 extra/libwebp/version create mode 100755 extra/libxml2/build create mode 100644 extra/libxml2/checksums create mode 100644 extra/libxml2/depends create mode 100644 extra/libxml2/sources create mode 100644 extra/libxml2/version create mode 100755 extra/libxslt/build create mode 100644 extra/libxslt/checksums create mode 100644 extra/libxslt/depends create mode 100644 extra/libxslt/sources create mode 100644 extra/libxslt/version create mode 100755 extra/lpeg/build create mode 100644 extra/lpeg/checksums create mode 100644 extra/lpeg/depends create mode 100644 extra/lpeg/patches/build-static-lib.patch create mode 100644 extra/lpeg/sources create mode 100644 extra/lpeg/version rename {core => extra}/lua/build (100%) rename {core => extra}/lua/checksums (100%) rename {core => extra}/lua/files/lua.pc (100%) rename {core => extra}/lua/sources (100%) rename {core => extra}/lua/version (100%) rename {wayland/wayland-protocols => extra/lzo}/build (75%) create mode 100644 extra/lzo/checksums create mode 100644 extra/lzo/sources create mode 100644 extra/lzo/version create mode 100755 extra/m4/build create mode 100644 extra/m4/checksums create mode 100644 extra/m4/sources create mode 100644 extra/m4/version rename {desktop => extra}/mesa/build (100%) rename {desktop => extra}/mesa/checksums (100%) rename {desktop => extra}/mesa/depends (100%) rename {desktop => extra}/mesa/sources (100%) create mode 100644 extra/mesa/version create mode 100755 extra/meson/build create mode 100644 extra/meson/checksums create mode 100644 extra/meson/depends create mode 100644 extra/meson/sources create mode 100644 extra/meson/version rename {desktop => extra}/mini-xdg-utils/build (100%) rename {desktop => extra}/mini-xdg-utils/checksums (100%) rename {desktop => extra}/mini-xdg-utils/sources (100%) rename {desktop => extra}/mini-xdg-utils/version (100%) rename {desktop => extra}/motif/build (100%) rename {desktop => extra}/motif/checksums (100%) rename {desktop => extra}/motif/depends (100%) rename {desktop => extra}/motif/sources (100%) rename {desktop => extra}/motif/version (100%) rename {desktop => extra}/mpv/build (100%) rename {desktop => extra}/mpv/checksums (100%) rename {desktop => extra}/mpv/depends (100%) rename {desktop => extra}/mpv/sources (100%) rename {desktop => extra}/mpv/version (100%) create mode 100755 extra/mtdev/build create mode 100644 extra/mtdev/checksums create mode 100644 extra/mtdev/depends create mode 100644 extra/mtdev/sources create mode 100644 extra/mtdev/version delete mode 100644 extra/mutt/version create mode 100755 extra/nasm/build create mode 100644 extra/nasm/checksums create mode 100644 extra/nasm/sources create mode 100644 extra/nasm/version create mode 100755 extra/ncdu/build create mode 100644 extra/ncdu/checksums create mode 100644 extra/ncdu/depends create mode 100644 extra/ncdu/sources create mode 100644 extra/ncdu/version rename {wayland/wayland => extra/nettle}/build (73%) create mode 100644 extra/nettle/checksums create mode 100644 extra/nettle/sources create mode 100644 extra/nettle/version delete mode 100644 extra/openconnect/depends create mode 100755 extra/openjpeg/build create mode 100644 extra/openjpeg/checksums create mode 100644 extra/openjpeg/depends create mode 100644 extra/openjpeg/sources create mode 100644 extra/openjpeg/version create mode 100755 extra/openssh/build create mode 100644 extra/openssh/checksums create mode 100644 extra/openssh/depends create mode 100644 extra/openssh/files/sshd.run create mode 100755 extra/openssh/post-install create mode 100644 extra/openssh/sources create mode 100644 extra/openssh/version create mode 100755 extra/openvpn/build create mode 100644 extra/openvpn/checksums create mode 100644 extra/openvpn/depends create mode 100644 extra/openvpn/sources create mode 100644 extra/openvpn/version create mode 100755 extra/opus/build create mode 100644 extra/opus/checksums create mode 100644 extra/opus/sources create mode 100644 extra/opus/version create mode 100755 extra/pandoc/build create mode 100644 extra/pandoc/checksums create mode 100644 extra/pandoc/sources create mode 100644 extra/pandoc/version create mode 100755 extra/pango/build create mode 100644 extra/pango/checksums create mode 100644 extra/pango/depends create mode 100644 extra/pango/sources create mode 100644 extra/pango/version create mode 100755 extra/pcre/build create mode 100644 extra/pcre/checksums create mode 100644 extra/pcre/sources create mode 100644 extra/pcre/version create mode 100755 extra/pkcs11-helper/build create mode 100644 extra/pkcs11-helper/checksums create mode 100644 extra/pkcs11-helper/depends create mode 100644 extra/pkcs11-helper/sources create mode 100644 extra/pkcs11-helper/version create mode 100755 extra/poppler/build create mode 100644 extra/poppler/checksums create mode 100644 extra/poppler/depends create mode 100644 extra/poppler/sources create mode 100644 extra/poppler/version rename {desktop => extra}/qt5/build (100%) rename {desktop => extra}/qt5/checksums (100%) rename {desktop => extra}/qt5/depends (100%) rename {desktop => extra}/qt5/files/qt.conf (100%) rename {desktop => extra}/qt5/patches/clang-socklen-match-gcc.patch (100%) rename {desktop => extra}/qt5/patches/libressl.patch (100%) rename {desktop => extra}/qt5/sources (100%) rename {desktop => extra}/qt5/version (100%) create mode 100755 extra/ruby/build create mode 100644 extra/ruby/checksums create mode 100644 extra/ruby/depends create mode 100644 extra/ruby/sources create mode 100644 extra/ruby/version rename {wayland/inaban => extra/scdoc}/build (100%) create mode 100644 extra/scdoc/checksums create mode 100644 extra/scdoc/sources create mode 100644 extra/scdoc/version create mode 100755 extra/sfeed/build create mode 100644 extra/sfeed/checksums create mode 100644 extra/sfeed/depends create mode 100644 extra/sfeed/sources create mode 100644 extra/sfeed/version create mode 100755 extra/sfeed_curses/build create mode 100644 extra/sfeed_curses/checksums create mode 100644 extra/sfeed_curses/depends create mode 100644 extra/sfeed_curses/sources create mode 100644 extra/sfeed_curses/version create mode 100755 extra/shellcheck-bin/build create mode 100644 extra/shellcheck-bin/checksums create mode 100644 extra/shellcheck-bin/sources create mode 100644 extra/shellcheck-bin/version rename {desktop => extra}/skeous-gtk-theme/build (100%) rename {desktop => extra}/skeous-gtk-theme/checksums (100%) rename {desktop => extra}/skeous-gtk-theme/sources (100%) rename {desktop => extra}/skeous-gtk-theme/version (100%) create mode 100755 extra/st/build create mode 100644 extra/st/checksums create mode 100644 extra/st/depends create mode 100644 extra/st/sources create mode 100644 extra/st/version create mode 100755 extra/tiff/build create mode 100644 extra/tiff/checksums create mode 100644 extra/tiff/depends create mode 100644 extra/tiff/sources create mode 100644 extra/tiff/version rename {core => extra}/vis/build (100%) create mode 100644 extra/vis/checksums rename {core => extra}/vis/depends (100%) create mode 100644 extra/vis/patches/soft-wrap.patch create mode 100644 extra/vis/sources create mode 100644 extra/vis/version rename {desktop/webkit2gtk => extra/webkitgtk}/build (100%) rename {desktop/webkit2gtk => extra/webkitgtk}/checksums (100%) rename {desktop/webkit2gtk => extra/webkitgtk}/depends (93%) rename {desktop/webkit2gtk => extra/webkitgtk}/sources (100%) rename {desktop/webkit2gtk => extra/webkitgtk}/version (100%) create mode 100755 extra/wpa_supplicant/build create mode 100644 extra/wpa_supplicant/checksums create mode 100644 extra/wpa_supplicant/depends create mode 100644 extra/wpa_supplicant/files/.config create mode 100755 extra/wpa_supplicant/post-install create mode 100644 extra/wpa_supplicant/sources create mode 100644 extra/wpa_supplicant/version create mode 100755 extra/x264/build create mode 100644 extra/x264/checksums create mode 100644 extra/x264/depends create mode 100644 extra/x264/patches/x264-no-bash.patch create mode 100644 extra/x264/sources create mode 100644 extra/x264/version create mode 100755 extra/x265/build create mode 100644 extra/x265/checksums create mode 100644 extra/x265/depends create mode 100644 extra/x265/sources create mode 100644 extra/x265/version rename {desktop => extra}/xvile/build (100%) rename {desktop => extra}/xvile/checksums (100%) rename {desktop => extra}/xvile/depends (100%) rename {desktop => extra}/xvile/sources (100%) rename {desktop => extra}/xvile/version (100%) create mode 100755 extra/youtube-dl/build create mode 100644 extra/youtube-dl/checksums create mode 100644 extra/youtube-dl/depends create mode 100644 extra/youtube-dl/sources create mode 100644 extra/youtube-dl/version create mode 100755 extra/zathura-pdf-poppler/build create mode 100644 extra/zathura-pdf-poppler/checksums create mode 100644 extra/zathura-pdf-poppler/depends create mode 100644 extra/zathura-pdf-poppler/sources create mode 100644 extra/zathura-pdf-poppler/version create mode 100755 extra/zathura/build create mode 100644 extra/zathura/checksums create mode 100644 extra/zathura/depends create mode 100644 extra/zathura/files/zathura.1 create mode 100644 extra/zathura/files/zathurarc.5 create mode 100644 extra/zathura/patches/remove_gettext.patch create mode 100644 extra/zathura/sources create mode 100644 extra/zathura/version delete mode 100644 extra/zeromq/depends create mode 100755 extra/zzz/build create mode 100644 extra/zzz/checksums create mode 100755 extra/zzz/files/zzz create mode 100644 extra/zzz/files/zzz.8 create mode 100644 extra/zzz/sources create mode 100644 extra/zzz/version delete mode 100755 wayland/foot/build delete mode 100644 wayland/foot/checksums delete mode 100644 wayland/foot/depends delete mode 100644 wayland/foot/sources delete mode 100644 wayland/foot/version delete mode 100755 wayland/hikari/build delete mode 100644 wayland/hikari/checksums delete mode 100644 wayland/hikari/depends delete mode 100644 wayland/hikari/patches/no-locker.patch delete mode 100644 wayland/hikari/sources delete mode 100644 wayland/hikari/version delete mode 100644 wayland/inaban/depends delete mode 100644 wayland/inaban/sources delete mode 100755 wayland/vivarium/build delete mode 100644 wayland/vivarium/checksums delete mode 100644 wayland/vivarium/depends delete mode 100644 wayland/vivarium/sources delete mode 100644 wayland/vivarium/version delete mode 100644 wayland/wayland-protocols/checksums delete mode 100644 wayland/wayland-protocols/depends delete mode 100644 wayland/wayland-protocols/sources delete mode 100644 wayland/wayland-protocols/version delete mode 100644 wayland/wayland/checksums delete mode 100644 wayland/wayland/sources delete mode 100644 wayland/wayland/version delete mode 100755 wayland/wlroots/build delete mode 100644 wayland/wlroots/checksums delete mode 100644 wayland/wlroots/depends delete mode 100644 wayland/wlroots/sources delete mode 100644 wayland/wlroots/version delete mode 100644 xorg/brightnessctl/depends create mode 100755 xorg/brownout/build create mode 100644 xorg/brownout/checksums create mode 100644 xorg/brownout/depends create mode 100644 xorg/brownout/sources create mode 100644 xorg/brownout/version create mode 100755 xorg/libICE/build create mode 100644 xorg/libICE/checksums create mode 100644 xorg/libICE/depends create mode 100644 xorg/libICE/sources create mode 100644 xorg/libICE/version create mode 100755 xorg/libSM/build create mode 100644 xorg/libSM/checksums create mode 100644 xorg/libSM/depends create mode 100644 xorg/libSM/sources create mode 100644 xorg/libSM/version create mode 100755 xorg/libfontenc/build create mode 100644 xorg/libfontenc/checksums create mode 100644 xorg/libfontenc/depends create mode 100644 xorg/libfontenc/sources create mode 100644 xorg/libfontenc/version create mode 100755 xorg/libpciaccess/build create mode 100644 xorg/libpciaccess/checksums create mode 100644 xorg/libpciaccess/sources create mode 100644 xorg/libpciaccess/version create mode 100755 xorg/libxcb/build create mode 100644 xorg/libxcb/checksums create mode 100644 xorg/libxcb/depends create mode 100644 xorg/libxcb/sources create mode 100644 xorg/libxcb/version create mode 100755 xorg/libxkbfile/build create mode 100644 xorg/libxkbfile/checksums create mode 100644 xorg/libxkbfile/depends create mode 100644 xorg/libxkbfile/sources create mode 100644 xorg/libxkbfile/version create mode 100755 xorg/libxshmfence/build create mode 100644 xorg/libxshmfence/checksums create mode 100644 xorg/libxshmfence/depends create mode 100644 xorg/libxshmfence/sources create mode 100644 xorg/libxshmfence/version create mode 100755 xorg/pixman/build create mode 100644 xorg/pixman/checksums create mode 100644 xorg/pixman/sources create mode 100644 xorg/pixman/version delete mode 100755 xorg/redshift/build delete mode 100644 xorg/redshift/checksums delete mode 100644 xorg/redshift/depends delete mode 100644 xorg/redshift/sources delete mode 100644 xorg/redshift/version create mode 100755 xorg/sx/build create mode 100644 xorg/sx/checksums create mode 100644 xorg/sx/depends create mode 100644 xorg/sx/sources rename {wayland/inaban => xorg/sx}/version (85%) create mode 100755 xorg/xcb-util/build create mode 100644 xorg/xcb-util/checksums create mode 100644 xorg/xcb-util/depends create mode 100644 xorg/xcb-util/sources create mode 100644 xorg/xcb-util/version create mode 100755 xorg/xf86-input-libinput/build create mode 100644 xorg/xf86-input-libinput/checksums create mode 100644 xorg/xf86-input-libinput/depends create mode 100644 xorg/xf86-input-libinput/sources create mode 100644 xorg/xf86-input-libinput/version delete mode 100644 xorg/xorg-util-macros/depends create mode 100755 xorg/xorgproto/build create mode 100644 xorg/xorgproto/checksums create mode 100644 xorg/xorgproto/sources create mode 100644 xorg/xorgproto/version create mode 100755 xorg/xtrans/build create mode 100644 xorg/xtrans/checksums create mode 100644 xorg/xtrans/depends create mode 100644 xorg/xtrans/sources create mode 100644 xorg/xtrans/version diff --git a/LICENSE b/LICENSE index 5c98fa3..e2ac1e9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,7 @@ -Armaan's KISS repo +MIT License + Copyright © 2021 Armaan Bhojwani +Copyright © 2021 KISS Linux contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/README b/README index 9581fee..a67e42b 100644 --- a/README +++ b/README @@ -1,7 +1 @@ -My KISS Linux (https://k1sslinux.org) repo. - -These are personal builds, and may be unsuitable for other -systems. Using "kiss fork" is reccomended. Some needed dependencies -are in midfavila's repo (https://git.sdf.org/midfavila/kiss-mfavila). - -MIT License Armaan Bhojwani 2021. +asd's central repository. diff --git a/core/asd/build b/core/asd/build new file mode 100755 index 0000000..cb38005 --- /dev/null +++ b/core/asd/build @@ -0,0 +1,5 @@ +#!/bin/sh -e + +mkdir -p "$1/usr/bin" +cp -f asd contrib/* "$1/usr/bin/" + diff --git a/core/asd/checksums b/core/asd/checksums new file mode 100644 index 0000000..e5f3f4e --- /dev/null +++ b/core/asd/checksums @@ -0,0 +1 @@ +5c5c061a785351b913b679af6d127fa6579cc23a9599a30deff196aee04f2875 diff --git a/core/asd/depends b/core/asd/depends new file mode 100644 index 0000000..41612c4 --- /dev/null +++ b/core/asd/depends @@ -0,0 +1,2 @@ +curl +git diff --git a/core/asd/sources b/core/asd/sources new file mode 100644 index 0000000..fd54f8a --- /dev/null +++ b/core/asd/sources @@ -0,0 +1 @@ +https://git.sr.ht/~armaan/asd/archive/5.4.11.tar.gz diff --git a/core/asd/version b/core/asd/version new file mode 100644 index 0000000..84efc7e --- /dev/null +++ b/core/asd/version @@ -0,0 +1 @@ +5.4.2 1 diff --git a/core/baseinit/build b/core/baseinit/build index 1424c97..795b37b 100755 --- a/core/baseinit/build +++ b/core/baseinit/build @@ -7,5 +7,4 @@ cp -R lib "$1/usr/lib" for bin in kpow kall; do "${CC:-cc}" -o "$1/usr/bin/$bin" "bin/$bin.c" $CFLAGS -static - install -Dm644 "bin/$bin.c" "$1/usr/share/doc/kiss/init/$bin.c" done diff --git a/core/baseinit/checksums b/core/baseinit/checksums index 3eb46cd..3f1f6f7 100644 --- a/core/baseinit/checksums +++ b/core/baseinit/checksums @@ -1 +1 @@ -7b06888c616c397fa2d7b4912b6782c5f93ac48ce42719757fc42d82d20358af +2b6e841a0f3c4cc28ff26c1f7b2850dd86e76e35b2ba4546a86ed081eff72d66 diff --git a/core/baseinit/depends b/core/baseinit/depends deleted file mode 100644 index e69de29..0000000 diff --git a/core/baseinit/sources b/core/baseinit/sources index c0e0582..45fd3d8 100644 --- a/core/baseinit/sources +++ b/core/baseinit/sources @@ -1 +1 @@ -https://git.sr.ht/~armaan/init/archive/1.1.0.tar.gz +https://git.sr.ht/~armaan/asd-init/archive/1.1.1.tar.gz diff --git a/core/baseinit/version b/core/baseinit/version index 7281bb5..e343e3f 100644 --- a/core/baseinit/version +++ b/core/baseinit/version @@ -1 +1 @@ -1.1.0 1 +1.1.1 1 diff --git a/core/baselayout/build b/core/baselayout/build new file mode 100755 index 0000000..b2de841 --- /dev/null +++ b/core/baselayout/build @@ -0,0 +1,51 @@ +#!/bin/sh -e + +# Setup base directories. +for d in boot dev etc home mnt usr var opt run; do + install -dm 755 "$1/$d" +done + +install -dm 555 "$1/proc" +install -dm 555 "$1/sys" +install -dm 0750 "$1/root" +install -dm 1777 "$1/tmp" + +# Setup /usr hierarchy. +for d in bin include lib share src; do + install -dm 755 "$1/usr/$d" +done + +# Setup manpages directories. +for d in 1 2 3 4 5 6 7 8; do + install -dm 755 "$1/usr/share/man/man$d" +done + +# Add symlinks. +ln -s usr/bin "$1/bin" +ln -s usr/bin "$1/sbin" +ln -s bin "$1/usr/sbin" +ln -s usr/lib "$1/lib" +ln -s usr/lib "$1/lib64" +ln -s lib "$1/usr/lib64" + +# Setup /var. +for d in cache local opt log/old lib/misc empty service; do + install -dm 755 "$1/var/$d" +done + +install -dm 1777 "$1/var/tmp" + +ln -s ../run "$1/var/run" +ln -s ../run/lock "$1/var/lock" + +# /etc skeleton files. +for f in fstab group host.conf hosts issue os-release \ + passwd profile securetty shells mime.types; do + install -m 644 "$f" "$1/etc" +done + +for f in shadow; do + install -m 600 "$f" "$1/etc" +done + +ln -s /proc/self/mounts "$1/etc/mtab" diff --git a/core/baselayout/checksums b/core/baselayout/checksums new file mode 100644 index 0000000..aea64bc --- /dev/null +++ b/core/baselayout/checksums @@ -0,0 +1,13 @@ +3698c87cc3af757f0302f6d7f034350b1b22a7f25b2f71944292d0fb3de67cd7 +9cd015d9d28db93412cbb33a24f11c1b4a2655a1c45874d12666674e68cf872a +38c9f4047ba597248ef199a77afbd36f873cfa4aeb70de90bac7f237faf2ecba +a0fa9cd303cf7f1718f51e5624a671a418946718b790508b8988bccd542c6451 +eda9afe39a3562406f14cb8a5a142922b63e68467d3ba4821c02eaa142d9c4da +1c2c9fd7e2a7d481d822da22aaccacbde4968a2e2de2490aff21e337ba990777 +0bde8ace73d58897e85c82eb96690bbfd1a4231949d3523d5950ba1910b08892 +8ed55584e0a4a9e8b47f32e9a5c8f7bb2e0def6bf59561318ad48180a9fab98e +7762b65442cd3e930d9b4ec470e01bc53938bc5ed3d7aedeed47977b78f54843 +752a2a7ed8ca419979b07fd76b4c5cbd77df13b729f6723179239b34ab74bba9 +7e47176cd83b91bdbc3a0b10ae5d5c093b81a9c8c0c1fb714f5438381124c760 +7325a401007ec02596c143788277be46c3e89c98a79cb3f3567d3bef5a9470b0 +8782af2bf81ca1e81b59d1be531565882d4e0c9a89d189706ed358375f67ca04 diff --git a/core/baselayout/files/crypttab b/core/baselayout/files/crypttab new file mode 100644 index 0000000..196b0d6 --- /dev/null +++ b/core/baselayout/files/crypttab @@ -0,0 +1,13 @@ +# crypttab: mappings for encrypted partitions +# +# Each mapped device will be created in /dev/mapper, so your /etc/fstab +# should use the /dev/mapper/ paths for encrypted devices. +# +# NOTE: Do not list your root (/) partition here. + +# +# home /dev/hda4 /etc/mypassword1 +# data1 /dev/hda3 /etc/mypassword2 +# data2 /dev/hda5 /etc/cryptfs.key +# swap /dev/hdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256 +# vol /dev/hdb7 none diff --git a/core/baselayout/files/fstab b/core/baselayout/files/fstab new file mode 100644 index 0000000..14ababb --- /dev/null +++ b/core/baselayout/files/fstab @@ -0,0 +1,6 @@ +# Static information about the filesystems. +# See fstab(5) for details. + +# + +tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0 diff --git a/core/baselayout/files/group b/core/baselayout/files/group new file mode 100644 index 0000000..0797f31 --- /dev/null +++ b/core/baselayout/files/group @@ -0,0 +1,27 @@ +root:x:0: +bin:x:1: +sys:x:2: +kmem:x:3: +wheel:x:4: +tty:x:5: +tape:x:6: +daemon:x:7: +floppy:x:8: +disk:x:9: +lp:x:10: +dialout:x:11: +audio:x:12: +video:x:13: +utmp:x:14: +adm:x:15: +cdrom:x:16: +optical:x:17: +mail:x:18: +storage:x:19: +scanner:x:20: +network:x:21: +kvm:x:24: +input:x:25: +nogroup:x:99: +users:x:100: +xbuilder:x:101: diff --git a/core/baselayout/files/host.conf b/core/baselayout/files/host.conf new file mode 100644 index 0000000..db09a07 --- /dev/null +++ b/core/baselayout/files/host.conf @@ -0,0 +1,4 @@ +# /etc/host.conf +# See host.conf(5) for details. + +multi on diff --git a/core/baselayout/files/hosts b/core/baselayout/files/hosts new file mode 100644 index 0000000..e08b437 --- /dev/null +++ b/core/baselayout/files/hosts @@ -0,0 +1,10 @@ + +# +# /etc/hosts: static lookup table for host names +# + +# +127.0.0.1 localhost.localdomain localhost +::1 localhost.localdomain localhost ip6-localhost + +# EOF diff --git a/core/baselayout/files/issue b/core/baselayout/files/issue new file mode 100644 index 0000000..77cfb4a --- /dev/null +++ b/core/baselayout/files/issue @@ -0,0 +1 @@ +asd Linux \r (\l) diff --git a/core/baselayout/files/mime.types b/core/baselayout/files/mime.types new file mode 100644 index 0000000..8af0a16 --- /dev/null +++ b/core/baselayout/files/mime.types @@ -0,0 +1,1918 @@ +application/1d-interleaved-parityfec +application/3gpp-ims+xml +application/CSTAdata+xml +application/EDI-Consent +application/EDI-X12 +application/EDIFACT +application/H224 +application/activemessage +application/andrew-inset ez +application/annodex anx +application/applefile +application/applixware aw +application/atom+xml atom +application/atomcat+xml atomcat +application/atomdeleted+xml +application/atomicmail +application/atomserv+xml atomsrv +application/atomsvc+xml atomsvc +application/auth-policy+xml +application/batch-SMTP +application/batch-smtp +application/bbolin lin +application/beep+xml +application/calendar+xml +application/cals-1840 +application/ccmp+xml +application/ccxml+xml ccxml +application/cdmi-capability cdmia +application/cdmi-container cdmic +application/cdmi-domain cdmid +application/cdmi-object cdmio +application/cdmi-queue cdmiq +application/cea-2018+xml +application/cellml+xml +application/cfw +application/cnrp+xml +application/commonground +application/conference-info+xml +application/cpl+xml +application/csta+xml +application/cstadata+xml +application/cu-seeme cu +application/cybercash +application/davmount+xml davmount +application/dca-rft +application/dec-dx +application/dialog-info+xml +application/dicom dcm +application/dns +application/docbook+xml dbk +application/dskpp+xml +application/dsptype tsp +application/dssc+der dssc +application/dssc+xml xdssc +application/dvcs +application/ecmascript ecma es +application/edi-consent +application/edi-x12 +application/edifact +application/emma+xml emma +application/epp+xml +application/epub+zip epub +application/eshop +application/example +application/exi exi +application/fastinfoset +application/fastsoap +application/fdt+xml +application/fits +application/font-tdpfr pfr +application/framework-attributes+xml +application/futuresplash spl +application/ghostview +application/gml+xml gml +application/gpx+xml gpx +application/gxf gxf +application/gzip +application/h224 +application/held+xml +application/hta hta +application/http +application/hyperstudio stk +application/ibe-key-request+xml +application/ibe-pkg-reply+xml +application/ibe-pp-data +application/iges +application/im-iscomposing+xml +application/index +application/index.cmd +application/index.obj +application/index.response +application/index.vnd +application/inkml+xml ink inkml +application/iotp +application/ipfix ipfix +application/ipp +application/isup +application/java-archive jar +application/java-serialized-object ser +application/java-vm class +application/javascript js +application/json json +application/jsonml+json jsonml +application/kpml-request+xml +application/kpml-response+xml +application/link-format +application/lost+xml lostxml +application/lostsync+xml +application/m3g m3g +application/mac-binhex40 hqx +application/mac-compactpro cpt +application/macwriteii +application/mads+xml mads +application/marc mrc +application/marcxml+xml mrcx +application/mathematica ma mb nb nbp +application/mathml+xml mathml +application/mathml-content+xml +application/mathml-presentation+xml +application/mbms-associated-procedure-description+xml +application/mbms-deregister+xml +application/mbms-envelope+xml +application/mbms-msk+xml +application/mbms-msk-response+xml +application/mbms-protection-description+xml +application/mbms-reception-report+xml +application/mbms-register+xml +application/mbms-register-response+xml +application/mbms-user-service-description+xml +application/mbox mbox +application/media-policy-dataset+xml +application/media_control+xml +application/mediaservercontrol+xml mscml +application/metalink+xml metalink +application/metalink4+xml meta4 +application/mets+xml mets +application/mikey +application/mods+xml mods +application/moss-keys +application/moss-signature +application/mosskey-data +application/mosskey-request +application/mp21 m21 mp21 +application/mp4 mp4s +application/mpeg4-generic +application/mpeg4-iod +application/mpeg4-iod-xmt +application/ms-tnef +application/msaccess mdb +application/msc-ivr+xml +application/msc-mixer+xml +application/msword doc dot +application/mxf mxf +application/nasdata +application/news-checkgroups +application/news-groupinfo +application/news-message-id +application/news-transmission +application/nlsml+xml +application/nss +application/ocsp-request +application/ocsp-response +application/octet-stream bin bpk deploy dist distz dmg dms dump elc iso lha lrf lzh mar pkg so +application/oda oda +application/oebps-package+xml opf +application/ogg ogg ogx +application/omdoc+xml omdoc +application/onenote one onepkg onetmp onetoc onetoc2 +application/oxps oxps +application/parityfec +application/patch-ops-error+xml xer +application/pdf pdf +application/pgp-encrypted asc pgp +application/pgp-keys key +application/pgp-signature asc pgp sig +application/pics-rules prf +application/pidf+xml +application/pidf-diff+xml +application/pkcs10 p10 +application/pkcs7-mime p7c p7m +application/pkcs7-signature p7s +application/pkcs8 p8 +application/pkix-attr-cert ac +application/pkix-cert cer +application/pkix-crl crl +application/pkix-pkipath pkipath +application/pkixcmp pki +application/pls+xml pls +application/poc-settings+xml +application/postscript ai eps eps2 eps3 epsf epsi ps +application/prs.alvestrand.titrax-sheet +application/prs.cww cww +application/prs.nprend +application/prs.plucker +application/prs.rdf-xml-crypt +application/prs.xsf+xml +application/pskc+xml pskcxml +application/qsig +application/raptorfec +application/rar rar +application/rdf+xml rdf +application/reginfo+xml rif +application/relax-ng-compact-syntax rnc +application/remote-printing +application/resource-lists+xml rl +application/resource-lists-diff+xml rld +application/riscos +application/rlmi+xml +application/rls-services+xml rs +application/rpki-ghostbusters gbr +application/rpki-manifest mft +application/rpki-roa roa +application/rpki-updown +application/rsd+xml rsd +application/rss+xml rss +application/rtf rtf +application/rtx +application/samlassertion+xml +application/samlmetadata+xml +application/sbml+xml sbml +application/scvp-cv-request scq +application/scvp-cv-response scs +application/scvp-vp-request spq +application/scvp-vp-response spp +application/sdp sdp +application/sep+xml +application/set-payment +application/set-payment-initiation setpay +application/set-registration +application/set-registration-initiation setreg +application/sgml +application/sgml-open-catalog +application/shf+xml shf +application/sieve +application/simple-filter+xml +application/simple-message-summary +application/simpleSymbolContainer +application/simplesymbolcontainer +application/sla stl +application/slate +application/smil smi smil +application/smil+xml smi smil +application/smpte336m +application/soap+fastinfoset +application/soap+xml +application/sparql-query rq +application/sparql-results+xml srx +application/spirits-event+xml +application/srgs gram +application/srgs+xml grxml +application/sru+xml sru +application/ssdl+xml ssdl +application/ssml+xml ssml +application/tamp-apex-update +application/tamp-apex-update-confirm +application/tamp-community-update +application/tamp-community-update-confirm +application/tamp-error +application/tamp-sequence-adjust +application/tamp-sequence-adjust-confirm +application/tamp-status-query +application/tamp-status-response +application/tamp-update +application/tamp-update-confirm +application/tei+xml tei teicorpus +application/thraud+xml tfi +application/timestamp-query +application/timestamp-reply +application/timestamped-data tsd +application/tve-trigger +application/ulpfec +application/vcard+xml +application/vemmi +application/vividence.scriptfile +application/vnd.3M.Post-it-Notes +application/vnd.3gpp.bsf+xml +application/vnd.3gpp.pic-bw-large plb +application/vnd.3gpp.pic-bw-small psb +application/vnd.3gpp.pic-bw-var pvb +application/vnd.3gpp.sms +application/vnd.3gpp2.bcmcsinfo+xml +application/vnd.3gpp2.sms +application/vnd.3gpp2.tcap tcap +application/vnd.3m.post-it-notes pwn +application/vnd.FloGraphIt +application/vnd.HandHeld-Entertainment+xml +application/vnd.Kinar +application/vnd.MFER +application/vnd.Mobius.DAF +application/vnd.Mobius.DIS +application/vnd.Mobius.MBK +application/vnd.Mobius.MQY +application/vnd.Mobius.MSL +application/vnd.Mobius.PLC +application/vnd.Mobius.TXF +application/vnd.Quark.QuarkXPress +application/vnd.RenLearn.rlprint +application/vnd.SimTech-MindMapper +application/vnd.accpac.simply.aso aso +application/vnd.accpac.simply.imp imp +application/vnd.acucobol acu +application/vnd.acucorp acutc atc +application/vnd.adobe.air-application-installer-package+zip air +application/vnd.adobe.formscentral.fcdt fcdt +application/vnd.adobe.fxp fxp fxpl +application/vnd.adobe.partial-upload +application/vnd.adobe.xdp+xml xdp +application/vnd.adobe.xfdf xfdf +application/vnd.aether.imp +application/vnd.ah-barcode +application/vnd.ahead.space ahead +application/vnd.airzip.filesecure.azf azf +application/vnd.airzip.filesecure.azs azs +application/vnd.amazon.ebook azw +application/vnd.americandynamics.acc acc +application/vnd.amiga.ami ami +application/vnd.amundsen.maze+xml +application/vnd.android.package-archive apk +application/vnd.anser-web-certificate-issue-initiation cii +application/vnd.anser-web-funds-transfer-initiation fti +application/vnd.antix.game-component atx +application/vnd.apple.installer+xml mpkg +application/vnd.apple.mpegurl m3u8 +application/vnd.arastra.swi swi +application/vnd.aristanetworks.swi swi +application/vnd.astraea-software.iota iota +application/vnd.audiograph aep +application/vnd.autopackage +application/vnd.avistar+xml +application/vnd.balsamiq.bmml+xml +application/vnd.blueice.multipass mpm +application/vnd.bluetooth.ep.oob +application/vnd.bmi bmi +application/vnd.businessobjects rep +application/vnd.cab-jscript +application/vnd.canon-cpdl +application/vnd.canon-lips +application/vnd.cendio.thinlinc.clientconf +application/vnd.century-systems.tcp_stream +application/vnd.chemdraw+xml cdxml +application/vnd.chipnuts.karaoke-mmd mmd +application/vnd.cinderella cdy +application/vnd.cirpack.isdn-ext +application/vnd.claymore cla +application/vnd.cloanto.rp9 rp9 +application/vnd.clonk.c4group c4d c4f c4g c4p c4u +application/vnd.cluetrust.cartomobile-config c11amc +application/vnd.cluetrust.cartomobile-config-pkg c11amz +application/vnd.collection+json +application/vnd.collection.next+json +application/vnd.commerce-battelle +application/vnd.commonspace csp +application/vnd.comsocaller +application/vnd.contact.cmsg cdbcmsg +application/vnd.cosmocaller cmc +application/vnd.crick.clicker clkx +application/vnd.crick.clicker.keyboard clkk +application/vnd.crick.clicker.palette clkp +application/vnd.crick.clicker.template clkt +application/vnd.crick.clicker.wordbank clkw +application/vnd.criticaltools.wbs+xml wbs +application/vnd.ctc-posml pml +application/vnd.ctct.ws+xml +application/vnd.cups-pdf +application/vnd.cups-postscript +application/vnd.cups-ppd ppd +application/vnd.cups-raster +application/vnd.cups-raw +application/vnd.curl +application/vnd.curl.car car +application/vnd.curl.pcurl pcurl +application/vnd.cyan.dean.root+xml +application/vnd.cybank +application/vnd.dart dart +application/vnd.data-vision.rdz rdz +application/vnd.dece.data uvd uvf uvvd uvvf +application/vnd.dece.ttml+xml uvt uvvt +application/vnd.dece.unspecified uvvx uvx +application/vnd.dece.zip uvvz uvz +application/vnd.denovo.fcselayout-link fe_launch +application/vnd.dir-bi.plate-dl-nosuffix +application/vnd.dm.delegation+xml +application/vnd.dna dna +application/vnd.dolby.mlp mlp +application/vnd.dolby.mobile.1 +application/vnd.dolby.mobile.2 +application/vnd.dpgraph dpg +application/vnd.dreamfactory dfac +application/vnd.ds-keypoint kpxx +application/vnd.dtg.local +application/vnd.dtg.local.flash +application/vnd.dtg.local.html +application/vnd.dvb.ait ait +application/vnd.dvb.dvbj +application/vnd.dvb.esgcontainer +application/vnd.dvb.ipdcdftnotifaccess +application/vnd.dvb.ipdcesgaccess +application/vnd.dvb.ipdcesgaccess2 +application/vnd.dvb.ipdcesgpdd +application/vnd.dvb.ipdcroaming +application/vnd.dvb.iptv.alfec-base +application/vnd.dvb.iptv.alfec-enhancement +application/vnd.dvb.notif-aggregate-root+xml +application/vnd.dvb.notif-container+xml +application/vnd.dvb.notif-generic+xml +application/vnd.dvb.notif-ia-msglist+xml +application/vnd.dvb.notif-ia-registration-request+xml +application/vnd.dvb.notif-ia-registration-response+xml +application/vnd.dvb.notif-init+xml +application/vnd.dvb.pfr +application/vnd.dvb.service svc +application/vnd.dxr +application/vnd.dynageo geo +application/vnd.easykaraoke.cdgdownload +application/vnd.ecdis-update +application/vnd.ecowin.chart mag +application/vnd.ecowin.filerequest +application/vnd.ecowin.fileupdate +application/vnd.ecowin.series +application/vnd.ecowin.seriesrequest +application/vnd.ecowin.seriesupdate +application/vnd.emclient.accessrequest+xml +application/vnd.enliven nml +application/vnd.eprints.data+xml +application/vnd.epson.esf esf +application/vnd.epson.msf msf +application/vnd.epson.quickanime qam +application/vnd.epson.salt slt +application/vnd.epson.ssf ssf +application/vnd.ericsson.quickcall +application/vnd.eszigno3+xml es3 et3 +application/vnd.etsi.aoc+xml +application/vnd.etsi.cug+xml +application/vnd.etsi.iptvcommand+xml +application/vnd.etsi.iptvdiscovery+xml +application/vnd.etsi.iptvprofile+xml +application/vnd.etsi.iptvsad-bc+xml +application/vnd.etsi.iptvsad-cod+xml +application/vnd.etsi.iptvsad-npvr+xml +application/vnd.etsi.iptvservice+xml +application/vnd.etsi.iptvsync+xml +application/vnd.etsi.iptvueprofile+xml +application/vnd.etsi.mcid+xml +application/vnd.etsi.overload-control-policy-dataset+xml +application/vnd.etsi.sci+xml +application/vnd.etsi.simservs+xml +application/vnd.etsi.tsl+xml +application/vnd.etsi.tsl.der +application/vnd.eudora.data +application/vnd.ezpix-album ez2 +application/vnd.ezpix-package ez3 +application/vnd.f-secure.mobile +application/vnd.fdf fdf +application/vnd.fdsn.mseed mseed +application/vnd.fdsn.seed dataless seed +application/vnd.ffsns +application/vnd.fints +application/vnd.flographit gph +application/vnd.fluxtime.clip ftc +application/vnd.font-fontforge-sfd +application/vnd.framemaker book fm frame maker +application/vnd.frogans.fnc fnc +application/vnd.frogans.ltf ltf +application/vnd.fsc.weblaunch fsc +application/vnd.fujitsu.oasys oas +application/vnd.fujitsu.oasys2 oa2 +application/vnd.fujitsu.oasys3 oa3 +application/vnd.fujitsu.oasysgp fg5 +application/vnd.fujitsu.oasysprs bh2 +application/vnd.fujixerox.ART-EX +application/vnd.fujixerox.ART4 +application/vnd.fujixerox.HBPL +application/vnd.fujixerox.art-ex +application/vnd.fujixerox.art4 +application/vnd.fujixerox.ddd ddd +application/vnd.fujixerox.docuworks xdw +application/vnd.fujixerox.docuworks.binder xbd +application/vnd.fujixerox.hbpl +application/vnd.fut-misnet +application/vnd.fuzzysheet fzs +application/vnd.genomatix.tuxedo txd +application/vnd.geocube+xml +application/vnd.geogebra.file ggb +application/vnd.geogebra.tool ggt +application/vnd.geometry-explorer gex gre +application/vnd.geonext gxt +application/vnd.geoplan g2w +application/vnd.geospace g3w +application/vnd.globalplatform.card-content-mgt +application/vnd.globalplatform.card-content-mgt-response +application/vnd.gmx gmx +application/vnd.google-earth.kml+xml kml +application/vnd.google-earth.kmz kmz +application/vnd.grafeq gqf gqs +application/vnd.gridmp +application/vnd.groove-account gac +application/vnd.groove-help ghf +application/vnd.groove-identity-message gim +application/vnd.groove-injector grv +application/vnd.groove-tool-message gtm +application/vnd.groove-tool-template tpl +application/vnd.groove-vcard vcg +application/vnd.hal+json +application/vnd.hal+xml hal +application/vnd.handheld-entertainment+xml zmm +application/vnd.hbci hbci +application/vnd.hcl-bireports +application/vnd.hhe.lesson-player les +application/vnd.hp-HPGL +application/vnd.hp-PCL +application/vnd.hp-PCLXL +application/vnd.hp-hpgl hpgl +application/vnd.hp-hpid hpid +application/vnd.hp-hps hps +application/vnd.hp-jlyt jlt +application/vnd.hp-pcl pcl +application/vnd.hp-pclxl pclxl +application/vnd.httphone +application/vnd.hydrostatix.sof-data sfd-hdstx +application/vnd.hzn-3d-crossword x3d +application/vnd.ibm.MiniPay +application/vnd.ibm.afplinedata +application/vnd.ibm.electronic-media +application/vnd.ibm.minipay mpy +application/vnd.ibm.modcap afp list3820 listafp +application/vnd.ibm.rights-management irm +application/vnd.ibm.secure-container sc +application/vnd.iccprofile icc icm +application/vnd.ieee.1905 +application/vnd.igloader igl +application/vnd.immervision-ivp ivp +application/vnd.immervision-ivu ivu +application/vnd.informedcontrol.rms+xml +application/vnd.informix-visionary +application/vnd.infotech.project +application/vnd.infotech.project+xml +application/vnd.innopath.wamp.notification +application/vnd.insors.igm igm +application/vnd.intercon.formnet xpw xpx +application/vnd.intergeo i2g +application/vnd.intertrust.digibox +application/vnd.intertrust.nncp +application/vnd.intu.qbo qbo +application/vnd.intu.qfx qfx +application/vnd.iptc.g2.conceptitem+xml +application/vnd.iptc.g2.knowledgeitem+xml +application/vnd.iptc.g2.newsitem+xml +application/vnd.iptc.g2.newsmessage+xml +application/vnd.iptc.g2.packageitem+xml +application/vnd.iptc.g2.planningitem+xml +application/vnd.ipunplugged.rcprofile rcprofile +application/vnd.irepository.package+xml irp +application/vnd.is-xpr xpr +application/vnd.isac.fcs fcs +application/vnd.jam jam +application/vnd.japannet-directory-service +application/vnd.japannet-jpnstore-wakeup +application/vnd.japannet-payment-wakeup +application/vnd.japannet-registration +application/vnd.japannet-registration-wakeup +application/vnd.japannet-setstore-wakeup +application/vnd.japannet-verification +application/vnd.japannet-verification-wakeup +application/vnd.jcp.javame.midlet-rms rms +application/vnd.jisp jisp +application/vnd.joost.joda-archive joda +application/vnd.jsk.isdn-ngn +application/vnd.kahootz ktr ktz +application/vnd.kde.karbon karbon +application/vnd.kde.kchart chrt +application/vnd.kde.kformula kfo +application/vnd.kde.kivio flw +application/vnd.kde.kontour kon +application/vnd.kde.kpresenter kpr kpt +application/vnd.kde.kspread ksp +application/vnd.kde.kword kwd kwt +application/vnd.kenameaapp htke +application/vnd.kidspiration kia +application/vnd.kinar kne knp +application/vnd.koan skd skm skp skt +application/vnd.kodak-descriptor sse +application/vnd.las.las+xml lasxml +application/vnd.liberty-request+xml +application/vnd.llamagraphics.life-balance.desktop lbd +application/vnd.llamagraphics.life-balance.exchange+xml lbe +application/vnd.lotus-1-2-3 123 +application/vnd.lotus-approach apr +application/vnd.lotus-freelance pre +application/vnd.lotus-notes nsf +application/vnd.lotus-organizer org +application/vnd.lotus-screencam scm +application/vnd.lotus-wordpro lwp +application/vnd.macports.portpkg portpkg +application/vnd.marlin.drm.actiontoken+xml +application/vnd.marlin.drm.conftoken+xml +application/vnd.marlin.drm.license+xml +application/vnd.marlin.drm.mdcf +application/vnd.mcd mcd +application/vnd.medcalcdata mc1 +application/vnd.mediastation.cdkey cdkey +application/vnd.meridian-slingshot +application/vnd.mfer mwf +application/vnd.mfmp mfm +application/vnd.micrografx.flo flo +application/vnd.micrografx.igx igx +application/vnd.mif mif +application/vnd.minisoft-hp3000-save +application/vnd.mitsubishi.misty-guard.trustweb +application/vnd.mobius.daf daf +application/vnd.mobius.dis dis +application/vnd.mobius.mbk mbk +application/vnd.mobius.mqy mqy +application/vnd.mobius.msl msl +application/vnd.mobius.plc plc +application/vnd.mobius.txf txf +application/vnd.mophun.application mpn +application/vnd.mophun.certificate mpc +application/vnd.motorola.flexsuite +application/vnd.motorola.flexsuite.adsi +application/vnd.motorola.flexsuite.fis +application/vnd.motorola.flexsuite.gotap +application/vnd.motorola.flexsuite.kmr +application/vnd.motorola.flexsuite.ttc +application/vnd.motorola.flexsuite.wem +application/vnd.motorola.iprm +application/vnd.mozilla.xul+xml xul +application/vnd.ms-artgalry cil +application/vnd.ms-asf +application/vnd.ms-cab-compressed cab +application/vnd.ms-excel xla xlb xlc xlm xls xlt xlw +application/vnd.ms-excel.addin.macroEnabled.12 xlam +application/vnd.ms-excel.addin.macroenabled.12 xlam +application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb +application/vnd.ms-excel.sheet.binary.macroenabled.12 xlsb +application/vnd.ms-excel.sheet.macroEnabled.12 xlsm +application/vnd.ms-excel.sheet.macroenabled.12 xlsm +application/vnd.ms-excel.template.macroEnabled.12 xltm +application/vnd.ms-excel.template.macroenabled.12 xltm +application/vnd.ms-fontobject eot +application/vnd.ms-htmlhelp chm +application/vnd.ms-ims ims +application/vnd.ms-lrm lrm +application/vnd.ms-office.activeX+xml +application/vnd.ms-officetheme thmx +application/vnd.ms-pki.seccat cat +application/vnd.ms-pki.stl stl +application/vnd.ms-playready.initiator+xml +application/vnd.ms-powerpoint pot pps ppt +application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam +application/vnd.ms-powerpoint.addin.macroenabled.12 ppam +application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm +application/vnd.ms-powerpoint.presentation.macroenabled.12 pptm +application/vnd.ms-powerpoint.slide.macroEnabled.12 sldm +application/vnd.ms-powerpoint.slide.macroenabled.12 sldm +application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm +application/vnd.ms-powerpoint.slideshow.macroenabled.12 ppsm +application/vnd.ms-powerpoint.template.macroEnabled.12 potm +application/vnd.ms-powerpoint.template.macroenabled.12 potm +application/vnd.ms-project mpp mpt +application/vnd.ms-tnef +application/vnd.ms-wmdrm.lic-chlg-req +application/vnd.ms-wmdrm.lic-resp +application/vnd.ms-wmdrm.meter-chlg-req +application/vnd.ms-wmdrm.meter-resp +application/vnd.ms-word.document.macroEnabled.12 docm +application/vnd.ms-word.document.macroenabled.12 docm +application/vnd.ms-word.template.macroEnabled.12 dotm +application/vnd.ms-word.template.macroenabled.12 dotm +application/vnd.ms-works wcm wdb wks wps +application/vnd.ms-wpl wpl +application/vnd.ms-xpsdocument xps +application/vnd.mseq mseq +application/vnd.msign +application/vnd.multiad.creator +application/vnd.multiad.creator.cif +application/vnd.music-niff +application/vnd.musician mus +application/vnd.muvee.style msty +application/vnd.mynfc taglet +application/vnd.ncd.control +application/vnd.ncd.reference +application/vnd.nervana +application/vnd.netfpx +application/vnd.neurolanguage.nlu nlu +application/vnd.nintendo.nitro.rom +application/vnd.nitf nitf ntf +application/vnd.noblenet-directory nnd +application/vnd.noblenet-sealer nns +application/vnd.noblenet-web nnw +application/vnd.nokia.catalogs +application/vnd.nokia.conml+wbxml +application/vnd.nokia.conml+xml +application/vnd.nokia.iSDS-radio-presets +application/vnd.nokia.iptv.config+xml +application/vnd.nokia.isds-radio-presets +application/vnd.nokia.landmark+wbxml +application/vnd.nokia.landmark+xml +application/vnd.nokia.landmarkcollection+xml +application/vnd.nokia.n-gage.ac+xml +application/vnd.nokia.n-gage.data ngdat +application/vnd.nokia.n-gage.symbian.install n-gage +application/vnd.nokia.ncd +application/vnd.nokia.pcd+wbxml +application/vnd.nokia.pcd+xml +application/vnd.nokia.radio-preset rpst +application/vnd.nokia.radio-presets rpss +application/vnd.novadigm.EDM +application/vnd.novadigm.EDX +application/vnd.novadigm.EXT +application/vnd.novadigm.edm edm +application/vnd.novadigm.edx edx +application/vnd.novadigm.ext ext +application/vnd.ntt-local.content-share +application/vnd.ntt-local.file-transfer +application/vnd.ntt-local.sip-ta_remote +application/vnd.ntt-local.sip-ta_tcp_stream +application/vnd.oasis.opendocument.chart odc +application/vnd.oasis.opendocument.chart-template otc +application/vnd.oasis.opendocument.database odb +application/vnd.oasis.opendocument.formula odf +application/vnd.oasis.opendocument.formula-template odft +application/vnd.oasis.opendocument.graphics odg +application/vnd.oasis.opendocument.graphics-template otg +application/vnd.oasis.opendocument.image odi +application/vnd.oasis.opendocument.image-template oti +application/vnd.oasis.opendocument.presentation odp +application/vnd.oasis.opendocument.presentation-template otp +application/vnd.oasis.opendocument.spreadsheet ods +application/vnd.oasis.opendocument.spreadsheet-template ots +application/vnd.oasis.opendocument.text odt +application/vnd.oasis.opendocument.text-master odm otm +application/vnd.oasis.opendocument.text-template ott +application/vnd.oasis.opendocument.text-web oth +application/vnd.obn +application/vnd.oftn.l10n+json +application/vnd.oipf.contentaccessdownload+xml +application/vnd.oipf.contentaccessstreaming+xml +application/vnd.oipf.cspg-hexbinary +application/vnd.oipf.dae.svg+xml +application/vnd.oipf.dae.xhtml+xml +application/vnd.oipf.mippvcontrolmessage+xml +application/vnd.oipf.pae.gem +application/vnd.oipf.spdiscovery+xml +application/vnd.oipf.spdlist+xml +application/vnd.oipf.ueprofile+xml +application/vnd.oipf.userprofile+xml +application/vnd.olpc-sugar xo +application/vnd.oma-scws-config +application/vnd.oma-scws-http-request +application/vnd.oma-scws-http-response +application/vnd.oma.bcast.associated-procedure-parameter+xml +application/vnd.oma.bcast.drm-trigger+xml +application/vnd.oma.bcast.imd+xml +application/vnd.oma.bcast.ltkm +application/vnd.oma.bcast.notification+xml +application/vnd.oma.bcast.provisioningtrigger +application/vnd.oma.bcast.sgboot +application/vnd.oma.bcast.sgdd+xml +application/vnd.oma.bcast.sgdu +application/vnd.oma.bcast.simple-symbol-container +application/vnd.oma.bcast.smartcard-trigger+xml +application/vnd.oma.bcast.sprov+xml +application/vnd.oma.bcast.stkm +application/vnd.oma.cab-address-book+xml +application/vnd.oma.cab-pcc+xml +application/vnd.oma.cab-subs-invite+xml +application/vnd.oma.cab-user-prefs+xml +application/vnd.oma.dcd +application/vnd.oma.dcdc +application/vnd.oma.dd2+xml dd2 +application/vnd.oma.drm.risd+xml +application/vnd.oma.group-usage-list+xml +application/vnd.oma.pal+xml +application/vnd.oma.poc.detailed-progress-report+xml +application/vnd.oma.poc.final-report+xml +application/vnd.oma.poc.groups+xml +application/vnd.oma.poc.invocation-descriptor+xml +application/vnd.oma.poc.optimized-progress-report+xml +application/vnd.oma.push +application/vnd.oma.scidm.messages+xml +application/vnd.oma.xcap-directory+xml +application/vnd.omads-email+xml +application/vnd.omads-file+xml +application/vnd.omads-folder+xml +application/vnd.omaloc-supl-init +application/vnd.openofficeorg.extension oxt +application/vnd.openxmlformats-officedocument.custom-properties+xml +application/vnd.openxmlformats-officedocument.customXmlProperties+xml +application/vnd.openxmlformats-officedocument.drawing+xml +application/vnd.openxmlformats-officedocument.drawingml.chart+xml +application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml +application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml +application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml +application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml +application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml +application/vnd.openxmlformats-officedocument.extended-properties+xml +application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml +application/vnd.openxmlformats-officedocument.presentationml.comments+xml +application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml +application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml +application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml +application/vnd.openxmlformats-officedocument.presentationml.presProps+xml +application/vnd.openxmlformats-officedocument.presentationml.presentation pptx +application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml +application/vnd.openxmlformats-officedocument.presentationml.slide sldx +application/vnd.openxmlformats-officedocument.presentationml.slide+xml +application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml +application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml +application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml +application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx +application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml +application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml +application/vnd.openxmlformats-officedocument.presentationml.tags+xml +application/vnd.openxmlformats-officedocument.presentationml.template potx +application/vnd.openxmlformats-officedocument.presentationml.template.main+xml +application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx +application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml +application/vnd.openxmlformats-officedocument.theme+xml +application/vnd.openxmlformats-officedocument.themeOverride+xml +application/vnd.openxmlformats-officedocument.vmlDrawing +application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.document docx +application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx +application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml +application/vnd.openxmlformats-package.core-properties+xml +application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml +application/vnd.openxmlformats-package.relationships+xml +application/vnd.orange.indata +application/vnd.osa.netdeploy +application/vnd.osgeo.mapguide.package mgp +application/vnd.osgi.bundle +application/vnd.osgi.dp dp +application/vnd.osgi.subsystem esa +application/vnd.otps.ct-kip+xml +application/vnd.palm oprc pdb pqa +application/vnd.paos.xml +application/vnd.pawaafile paw +application/vnd.pg.format str +application/vnd.pg.osasli ei6 +application/vnd.piaccess.application-licence +application/vnd.picsel efif +application/vnd.pmi.widget wg +application/vnd.poc.group-advertisement+xml +application/vnd.pocketlearn plf +application/vnd.powerbuilder6 pbd +application/vnd.powerbuilder6-s +application/vnd.powerbuilder7 +application/vnd.powerbuilder7-s +application/vnd.powerbuilder75 +application/vnd.powerbuilder75-s +application/vnd.preminet +application/vnd.previewsystems.box box +application/vnd.proteus.magazine mgz +application/vnd.publishare-delta-tree qps +application/vnd.pvi.ptid1 ptid +application/vnd.pwg-multiplexed +application/vnd.pwg-xhtml-print+xml +application/vnd.qualcomm.brew-app-res +application/vnd.quark.quarkxpress qwd qwt qxb qxd qxl qxt +application/vnd.quobject-quoxdocument +application/vnd.radisys.moml+xml +application/vnd.radisys.msml+xml +application/vnd.radisys.msml-audit+xml +application/vnd.radisys.msml-audit-conf+xml +application/vnd.radisys.msml-audit-conn+xml +application/vnd.radisys.msml-audit-dialog+xml +application/vnd.radisys.msml-audit-stream+xml +application/vnd.radisys.msml-conf+xml +application/vnd.radisys.msml-dialog+xml +application/vnd.radisys.msml-dialog-base+xml +application/vnd.radisys.msml-dialog-fax-detect+xml +application/vnd.radisys.msml-dialog-fax-sendrecv+xml +application/vnd.radisys.msml-dialog-group+xml +application/vnd.radisys.msml-dialog-speech+xml +application/vnd.radisys.msml-dialog-transform+xml +application/vnd.rainstor.data +application/vnd.rapid +application/vnd.realvnc.bed bed +application/vnd.recordare.musicxml mxl +application/vnd.recordare.musicxml+xml musicxml +application/vnd.renlearn.rlprint +application/vnd.rig.cryptonote cryptonote +application/vnd.rim.cod cod +application/vnd.rn-realmedia rm +application/vnd.rn-realmedia-vbr rmvb +application/vnd.route66.link66+xml link66 +application/vnd.rs-274x +application/vnd.ruckus.download +application/vnd.s3sms +application/vnd.sailingtracker.track st +application/vnd.sbm.cid +application/vnd.sbm.mid2 +application/vnd.scribus +application/vnd.sealed.3df +application/vnd.sealed.csf +application/vnd.sealed.doc +application/vnd.sealed.eml +application/vnd.sealed.mht +application/vnd.sealed.net +application/vnd.sealed.ppt +application/vnd.sealed.tiff +application/vnd.sealed.xls +application/vnd.sealedmedia.softseal.html +application/vnd.sealedmedia.softseal.pdf +application/vnd.seemail see +application/vnd.sema sema +application/vnd.semd semd +application/vnd.semf semf +application/vnd.shana.informed.formdata ifm +application/vnd.shana.informed.formtemplate itp +application/vnd.shana.informed.interchange iif +application/vnd.shana.informed.package ipk +application/vnd.simtech-mindmapper twd twds +application/vnd.smaf mmf +application/vnd.smart.notebook +application/vnd.smart.teacher teacher +application/vnd.software602.filler.form+xml +application/vnd.software602.filler.form-xml-zip +application/vnd.solent.sdkm+xml sdkd sdkm +application/vnd.spotfire.dxp dxp +application/vnd.spotfire.sfs sfs +application/vnd.sss-cod +application/vnd.sss-dtf +application/vnd.sss-ntf +application/vnd.stardivision.calc sdc +application/vnd.stardivision.chart sds +application/vnd.stardivision.draw sda +application/vnd.stardivision.impress sdd sdp +application/vnd.stardivision.math sdf smf +application/vnd.stardivision.writer sdw vor +application/vnd.stardivision.writer-global sgl +application/vnd.stepmania.package smzip +application/vnd.stepmania.stepchart sm +application/vnd.street-stream +application/vnd.sun.wadl+xml +application/vnd.sun.xml.calc sxc +application/vnd.sun.xml.calc.template stc +application/vnd.sun.xml.draw sxd +application/vnd.sun.xml.draw.template std +application/vnd.sun.xml.impress sxi +application/vnd.sun.xml.impress.template sti +application/vnd.sun.xml.math sxm +application/vnd.sun.xml.writer sxw +application/vnd.sun.xml.writer.global sxg +application/vnd.sun.xml.writer.template stw +application/vnd.sus-calendar sus susp +application/vnd.svd svd +application/vnd.swiftview-ics +application/vnd.symbian.install sis sisx +application/vnd.syncml+xml xsm +application/vnd.syncml.dm+wbxml bdm +application/vnd.syncml.dm+xml xdm +application/vnd.syncml.dm.notification +application/vnd.syncml.dmddf+wbxml +application/vnd.syncml.dmddf+xml +application/vnd.syncml.dmtnds+wbxml +application/vnd.syncml.dmtnds+xml +application/vnd.syncml.ds.notification +application/vnd.tao.intent-module-archive tao +application/vnd.tcpdump.pcap cap dmp pcap +application/vnd.tmobile-livetv tmo +application/vnd.trid.tpt tpt +application/vnd.triscape.mxs mxs +application/vnd.trueapp tra +application/vnd.truedoc +application/vnd.tve-trigger +application/vnd.ubisoft.webplayer +application/vnd.ufdl ufd ufdl +application/vnd.uiq.theme utz +application/vnd.umajin umj +application/vnd.unity unityweb +application/vnd.uoml+xml uoml +application/vnd.uplanet.alert +application/vnd.uplanet.alert-wbxml +application/vnd.uplanet.bearer-choice +application/vnd.uplanet.bearer-choice-wbxml +application/vnd.uplanet.cacheop +application/vnd.uplanet.cacheop-wbxml +application/vnd.uplanet.channel +application/vnd.uplanet.channel-wbxml +application/vnd.uplanet.list +application/vnd.uplanet.list-wbxml +application/vnd.uplanet.listcmd +application/vnd.uplanet.listcmd-wbxml +application/vnd.uplanet.signal +application/vnd.vcx vcx +application/vnd.vd-study +application/vnd.vectorworks +application/vnd.verimatrix.vcas +application/vnd.vidsoft.vidconference +application/vnd.visio vsd vss vst vsw +application/vnd.visionary vis +application/vnd.vividence.scriptfile +application/vnd.vsf vsf +application/vnd.wap.sic +application/vnd.wap.slc +application/vnd.wap.wbxml wbxml +application/vnd.wap.wmlc wmlc +application/vnd.wap.wmlscriptc wmlsc +application/vnd.webturbo wtb +application/vnd.wfa.wsc +application/vnd.wmc +application/vnd.wmf.bootstrap +application/vnd.wolfram.mathematica +application/vnd.wolfram.mathematica.package +application/vnd.wolfram.player nbp +application/vnd.wordperfect wpd +application/vnd.wordperfect5.1 wp5 +application/vnd.wqd wqd +application/vnd.wrq-hp3000-labelled +application/vnd.wt.stf stf +application/vnd.wv.csp+wbxml +application/vnd.wv.csp+xml +application/vnd.wv.ssp+xml +application/vnd.xara xar +application/vnd.xfdl xfdl +application/vnd.xfdl.webform +application/vnd.xmi+xml +application/vnd.xmpie.cpkg +application/vnd.xmpie.dpkg +application/vnd.xmpie.plan +application/vnd.xmpie.ppkg +application/vnd.xmpie.xlim +application/vnd.yamaha.hv-dic hvd +application/vnd.yamaha.hv-script hvs +application/vnd.yamaha.hv-voice hvp +application/vnd.yamaha.openscoreformat osf +application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg +application/vnd.yamaha.remote-setup +application/vnd.yamaha.smaf-audio saf +application/vnd.yamaha.smaf-phrase spf +application/vnd.yamaha.through-ngn +application/vnd.yamaha.tunnel-udpencap +application/vnd.yellowriver-custom-menu cmp +application/vnd.zul zir zirz +application/vnd.zzazz.deck+xml zaz +application/voicexml+xml vxml +application/vq-rtcpxr +application/watcherinfo+xml +application/whoispp-query +application/whoispp-response +application/widget wgt +application/winhlp hlp +application/wita +application/wordperfect wpd +application/wordperfect5.1 wp5 +application/wsdl+xml wsdl +application/wspolicy+xml wspolicy +application/x-123 wk +application/x-7z-compressed 7z +application/x-abiword abw +application/x-ace-compressed ace +application/x-apple-diskimage dmg +application/x-authorware-bin aab u32 vox x32 +application/x-authorware-map aam +application/x-authorware-seg aas +application/x-bcpio bcpio +application/x-bittorrent torrent +application/x-blorb blb blorb +application/x-bzip bz +application/x-bzip2 boz bz2 +application/x-cab cab +application/x-cbr cb7 cba cbr cbt cbz +application/x-cbz cbz +application/x-cdf cda cdf +application/x-cdlink vcd +application/x-cfs-compressed cfs +application/x-chat chat +application/x-chess-pgn pgn +application/x-compress +application/x-comsol mph +application/x-conference nsc +application/x-core +application/x-cpio cpio +application/x-csh csh +application/x-debian-package deb udeb +application/x-dgc-compressed dgc +application/x-director cct cst cxt dcr dir dxr fgd swa w3d +application/x-dms dms +application/x-doom wad +application/x-dtbncx+xml ncx +application/x-dtbook+xml dtb +application/x-dtbresource+xml res +application/x-dvi dvi +application/x-envoy evy +application/x-eva eva +application/x-executable +application/x-flac flac +application/x-font gsf pcf pcf.Z pfa pfb +application/x-font-bdf bdf +application/x-font-dos +application/x-font-framemaker +application/x-font-ghostscript gsf +application/x-font-libgrx +application/x-font-linux-psf psf +application/x-font-otf otf +application/x-font-pcf pcf +application/x-font-snf snf +application/x-font-speedo +application/x-font-sunos-news +application/x-font-ttf ttc ttf +application/x-font-type1 afm pfa pfb pfm +application/x-font-vfont +application/x-font-woff woff +application/x-freearc arc +application/x-freemind mm +application/x-futuresplash spl +application/x-ganttproject gan +application/x-gca-compressed gca +application/x-glulx ulx +application/x-gnumeric gnumeric +application/x-go-sgf sgf +application/x-gramps-xml gramps +application/x-graphing-calculator gcf +application/x-gtar gtar taz tgz +application/x-gtar-compressed taz tgz +application/x-gzip +application/x-hdf hdf +application/x-hwp hwp +application/x-ica ica +application/x-info info +application/x-install-instructions install +application/x-internet-signup ins isp +application/x-iphone iii +application/x-iso9660-image iso +application/x-jam jam +application/x-java-applet +application/x-java-bean +application/x-java-jnlp-file jnlp +application/x-javascript js +application/x-jmol jmz +application/x-kchart chrt +application/x-kdelnk +application/x-killustrator kil +application/x-koan skd skm skp skt +application/x-kpresenter kpr kpt +application/x-kspread ksp +application/x-kword kwd kwt +application/x-latex latex +application/x-lha lha +application/x-lyx lyx +application/x-lzh lzh +application/x-lzh-compressed lha lzh +application/x-lzx lzx +application/x-maker book fb fbdoc fm frame frm maker +application/x-md5 md5 +application/x-mie mie +application/x-mif mif +application/x-mobipocket-ebook mobi prc +application/x-mpegURL m3u8 +application/x-ms-application application +application/x-ms-shortcut lnk +application/x-ms-wmd wmd +application/x-ms-wmz wmz +application/x-ms-xbap xbap +application/x-msaccess mdb +application/x-msbinder obd +application/x-mscardfile crd +application/x-msclip clp +application/x-msdos-program bat com dll exe +application/x-msdownload bat com dll exe msi +application/x-msi msi +application/x-msmediaview m13 m14 mvb +application/x-msmetafile emf emz wmf wmz +application/x-msmoney mny +application/x-mspublisher pub +application/x-msschedule scd +application/x-msterminal trm +application/x-mswrite wri +application/x-netcdf cdf nc +application/x-ns-proxy-autoconfig dat pac +application/x-nwc nwc +application/x-nzb nzb +application/x-object o +application/x-oz-application oza +application/x-pkcs12 p12 pfx +application/x-pkcs7-certificates p7b spc +application/x-pkcs7-certreqresp p7r +application/x-pkcs7-crl crl +application/x-python-code pyc pyo +application/x-qgis qgs shp shx +application/x-quicktimeplayer qtl +application/x-rar-compressed rar +application/x-rdp rdp +application/x-redhat-package-manager rpm +application/x-research-info-systems ris +application/x-rss+xml rss +application/x-ruby rb +application/x-rx +application/x-scilab sce sci +application/x-scilab-xcos xcos +application/x-sh sh +application/x-sha1 sha1 +application/x-shar shar +application/x-shellscript +application/x-shockwave-flash swf swfl +application/x-silverlight scr +application/x-silverlight-app xap +application/x-sql sql +application/x-stuffit sit sitx +application/x-stuffitx sitx +application/x-subrip srt +application/x-sv4cpio sv4cpio +application/x-sv4crc sv4crc +application/x-t3vm-image t3 +application/x-tads gam +application/x-tar tar +application/x-tcl tcl +application/x-tex tex +application/x-tex-gf gf +application/x-tex-pk pk +application/x-tex-tfm tfm +application/x-texinfo texi texinfo +application/x-tgif obj +application/x-trash % bak old sik ~ +application/x-troff roff t tr +application/x-troff-man man +application/x-troff-me me +application/x-troff-ms ms +application/x-ustar ustar +application/x-videolan +application/x-wais-source src +application/x-wingz wz +application/x-x509-ca-cert crt der +application/x-xcf xcf +application/x-xfig fig +application/x-xliff+xml xlf +application/x-xpinstall xpi +application/x-xz xz +application/x-zmachine z1 z2 z3 z4 z5 z6 z7 z8 +application/x400-bp +application/xaml+xml xaml +application/xcap-att+xml +application/xcap-caps+xml +application/xcap-diff+xml xdf +application/xcap-el+xml +application/xcap-error+xml +application/xcap-ns+xml +application/xcon-conference-info+xml +application/xcon-conference-info-diff+xml +application/xenc+xml xenc +application/xhtml+xml xht xhtml +application/xhtml-voice+xml +application/xml xml xsd xsl +application/xml-dtd dtd +application/xml-external-parsed-entity +application/xmpp+xml +application/xop+xml xop +application/xproc+xml xpl +application/xslt+xml xslt +application/xspf+xml xspf +application/xv+xml mxml xhvml xvm xvml +application/yang yang +application/yin+xml yin +application/zip zip +application/zlib +audio/1d-interleaved-parityfec +audio/32kadpcm +audio/3gpp +audio/3gpp2 +audio/AMR +audio/AMR-WB +audio/ATRAC-ADVANCED-LOSSLESS +audio/ATRAC-X +audio/ATRAC3 +audio/BV16 +audio/BV32 +audio/CN +audio/DAT12 +audio/DV +audio/DVI4 +audio/EVRC +audio/EVRC-QCP +audio/EVRC0 +audio/EVRC1 +audio/EVRCB +audio/EVRCB0 +audio/EVRCB1 +audio/EVRCWB +audio/EVRCWB0 +audio/EVRCWB1 +audio/G719 +audio/G722 +audio/G7221 +audio/G723 +audio/G726-16 +audio/G726-24 +audio/G726-32 +audio/G726-40 +audio/G728 +audio/G729 +audio/G7291 +audio/G729D +audio/G729E +audio/GSM +audio/GSM-EFR +audio/GSM-HR-08 +audio/L16 +audio/L20 +audio/L24 +audio/L8 +audio/LPC +audio/MP4A-LATM +audio/MPA +audio/PCMA +audio/PCMA-WB +audio/PCMU +audio/PCMU-WB +audio/QCELP +audio/RED +audio/SMV +audio/SMV-QCP +audio/SMV0 +audio/UEMCLIP +audio/VDVI +audio/VMR-WB +audio/ac3 +audio/adpcm adp +audio/amr amr +audio/amr-wb awb +audio/amr-wb+ +audio/annodex axa +audio/asc +audio/basic au snd +audio/bv16 +audio/bv32 +audio/clearmode +audio/cn +audio/csound csd orc sco +audio/dat12 +audio/dls +audio/dsr-es201108 +audio/dsr-es202050 +audio/dsr-es202211 +audio/dsr-es202212 +audio/dvi4 +audio/eac3 +audio/evrc +audio/evrc-qcp +audio/evrc0 +audio/evrc1 +audio/evrcb +audio/evrcb0 +audio/evrcb1 +audio/evrcwb +audio/evrcwb0 +audio/evrcwb1 +audio/example +audio/flac flac +audio/fwdred +audio/g.722.1 +audio/g719 +audio/g722 +audio/g7221 +audio/g723 +audio/g726-16 +audio/g726-24 +audio/g726-32 +audio/g726-40 +audio/g728 +audio/g729 +audio/g7291 +audio/g729d +audio/g729e +audio/gsm +audio/gsm-efr +audio/iLBC +audio/ilbc +audio/ip-mr_v2.5 +audio/l16 +audio/l20 +audio/l24 +audio/l8 +audio/lpc +audio/midi kar mid midi rmi +audio/mobile-xmf +audio/mp4 mp4a +audio/mp4a-latm +audio/mpa +audio/mpa-robust +audio/mpeg m2a m3a m4a mp2 mp2a mp3 mpega mpga +audio/mpeg4-generic +audio/mpegurl m3u +audio/ogg oga ogg opus spx +audio/parityfec +audio/pcma +audio/pcma-wb +audio/pcmu +audio/pcmu-wb +audio/prs.sid sid +audio/qcelp +audio/raptorfec +audio/red +audio/rtp-enc-aescm128 +audio/rtp-midi +audio/rtx +audio/s3m s3m +audio/silk sil +audio/smv +audio/smv-qcp +audio/smv0 +audio/sp-midi +audio/speex +audio/t140c +audio/t38 +audio/telephone-event +audio/tone +audio/ulpfec +audio/vdvi +audio/vmr-wb +audio/vnd.3gpp.iufp +audio/vnd.4SB +audio/vnd.4sb +audio/vnd.CELP +audio/vnd.audiokoz +audio/vnd.celp +audio/vnd.cisco.nse +audio/vnd.cmles.radio-events +audio/vnd.cns.anp1 +audio/vnd.cns.inf1 +audio/vnd.dece.audio uva uvva +audio/vnd.digital-winds eol +audio/vnd.dlna.adts +audio/vnd.dolby.heaac.1 +audio/vnd.dolby.heaac.2 +audio/vnd.dolby.mlp +audio/vnd.dolby.mps +audio/vnd.dolby.pl2 +audio/vnd.dolby.pl2x +audio/vnd.dolby.pl2z +audio/vnd.dolby.pulse.1 +audio/vnd.dra dra +audio/vnd.dts dts +audio/vnd.dts.hd dtshd +audio/vnd.dvb.file +audio/vnd.everad.plj +audio/vnd.hns.audio +audio/vnd.lucent.voice lvp +audio/vnd.ms-playready.media.pya pya +audio/vnd.nokia.mobile-xmf +audio/vnd.nortel.vbk +audio/vnd.nuera.ecelp4800 ecelp4800 +audio/vnd.nuera.ecelp7470 ecelp7470 +audio/vnd.nuera.ecelp9600 ecelp9600 +audio/vnd.octel.sbc +audio/vnd.qcelp +audio/vnd.rhetorex.32kadpcm +audio/vnd.rip rip +audio/vnd.sealedmedia.softseal.mpeg +audio/vnd.vmx.cvsd +audio/vorbis +audio/vorbis-config +audio/webm weba +audio/x-aac aac +audio/x-aiff aif aifc aiff +audio/x-caf caf +audio/x-flac flac +audio/x-gsm gsm +audio/x-matroska mka +audio/x-mpegurl m3u +audio/x-ms-wax wax +audio/x-ms-wma wma +audio/x-pn-realaudio ra ram rm +audio/x-pn-realaudio-plugin rmp +audio/x-realaudio ra +audio/x-scpls pls +audio/x-sd2 sd2 +audio/x-wav wav +audio/xm xm +chemical/x-alchemy alc +chemical/x-cache cac cache +chemical/x-cache-csf csf +chemical/x-cactvs-binary cascii cbin ctab +chemical/x-cdx cdx +chemical/x-cerius cer +chemical/x-chem3d c3d +chemical/x-chemdraw chm +chemical/x-cif cif +chemical/x-cmdf cmdf +chemical/x-cml cml +chemical/x-compass cpa +chemical/x-crossfire bsd +chemical/x-csml csm csml +chemical/x-ctx ctx +chemical/x-cxf cef cxf +chemical/x-embl-dl-nucleotide emb embl +chemical/x-galactic-spc spc +chemical/x-gamess-input gam gamin inp +chemical/x-gaussian-checkpoint fch fchk +chemical/x-gaussian-cube cub +chemical/x-gaussian-input gau gjc gjf +chemical/x-gaussian-log gal +chemical/x-gcg8-sequence gcg +chemical/x-genbank gen +chemical/x-hin hin +chemical/x-isostar ist istr +chemical/x-jcamp-dx dx jdx +chemical/x-kinemage kin +chemical/x-macmolecule mcm +chemical/x-macromodel-input mmd mmod +chemical/x-mdl-molfile mol +chemical/x-mdl-rdfile rd +chemical/x-mdl-rxnfile rxn +chemical/x-mdl-sdfile sd sdf +chemical/x-mdl-tgf tgf +chemical/x-mmcif mcif +chemical/x-mol2 mol2 +chemical/x-molconn-Z b +chemical/x-mopac-graph gpt +chemical/x-mopac-input dat mop mopcrt mpc zmt +chemical/x-mopac-out moo +chemical/x-mopac-vib mvb +chemical/x-ncbi-asn1 asn +chemical/x-ncbi-asn1-ascii ent prt +chemical/x-ncbi-asn1-binary aso val +chemical/x-ncbi-asn1-spec asn +chemical/x-pdb ent pdb +chemical/x-rosdal ros +chemical/x-swissprot sw +chemical/x-vamas-iso14976 vms +chemical/x-vmd vmd +chemical/x-xtel xtel +chemical/x-xyz xyz +image/bmp bmp +image/cgm cgm +image/example +image/fits +image/g3fax g3 +image/gif gif +image/ief ief +image/jp2 +image/jpeg jpe jpeg jpg +image/jpm +image/jpx +image/ktx ktx +image/naplps +image/pcx pcx +image/png png +image/prs.btif btif +image/prs.pti +image/pwg-raster +image/sgi sgi +image/svg+xml svg svgz +image/t38 +image/tiff tif tiff +image/tiff-fx +image/vnd.adobe.photoshop psd +image/vnd.airzip.accelerator.azv +image/vnd.cns.inf2 +image/vnd.dece.graphic uvg uvi uvvg uvvi +image/vnd.djvu djv djvu +image/vnd.dvb.subtitle sub +image/vnd.dwg dwg +image/vnd.dxf dxf +image/vnd.fastbidsheet fbs +image/vnd.fpx fpx +image/vnd.fst fst +image/vnd.fujixerox.edmics-mmr mmr +image/vnd.fujixerox.edmics-rlc rlc +image/vnd.globalgraphics.pgb +image/vnd.microsoft.icon ico +image/vnd.mix +image/vnd.ms-modi mdi +image/vnd.ms-photo wdp +image/vnd.net-fpx npx +image/vnd.radiance +image/vnd.sealed.png +image/vnd.sealedmedia.softseal.gif +image/vnd.sealedmedia.softseal.jpg +image/vnd.svf +image/vnd.wap.wbmp wbmp +image/vnd.xiff xif +image/webp webp +image/x-3ds 3ds +image/x-canon-cr2 cr2 +image/x-canon-crw crw +image/x-cmu-raster ras +image/x-cmx cmx +image/x-coreldraw cdr +image/x-coreldrawpattern pat +image/x-coreldrawtemplate cdt +image/x-corelphotopaint cpt +image/x-epson-erf erf +image/x-freehand fh fh4 fh5 fh7 fhc +image/x-icon ico +image/x-jg art +image/x-jng jng +image/x-mrsid-image sid +image/x-ms-bmp bmp +image/x-nikon-nef nef +image/x-olympus-orf orf +image/x-pcx pcx +image/x-photoshop psd +image/x-pict pct pic +image/x-portable-anymap pnm +image/x-portable-bitmap pbm +image/x-portable-graymap pgm +image/x-portable-pixmap ppm +image/x-rgb rgb +image/x-tga tga +image/x-xbitmap xbm +image/x-xpixmap xpm +image/x-xwindowdump xwd +inode/blockdevice +inode/chardevice +inode/directory +inode/directory-locked +inode/fifo +inode/socket +message/CPIM +message/cpim +message/delivery-status +message/disposition-notification +message/example +message/external-body +message/feedback-report +message/global +message/global-delivery-status +message/global-disposition-notification +message/global-headers +message/http +message/imdn+xml +message/news +message/partial +message/rfc822 eml mime +message/s-http +message/sip +message/sipfrag +message/tracking-status +message/vnd.si.simp +model/example +model/iges iges igs +model/mesh mesh msh silo +model/vnd.collada+xml dae +model/vnd.dwf dwf +model/vnd.flatland.3dml +model/vnd.gdl gdl +model/vnd.gs-gdl +model/vnd.gs.gdl +model/vnd.gtw gtw +model/vnd.moml+xml +model/vnd.mts mts +model/vnd.parasolid.transmit.binary +model/vnd.parasolid.transmit.text +model/vnd.vtu vtu +model/vrml vrml wrl +model/x3d+binary x3db x3dbz +model/x3d+vrml x3dv x3dvz +model/x3d+xml x3d x3dz +multipart/alternative +multipart/appledouble +multipart/byteranges +multipart/digest +multipart/encrypted +multipart/example +multipart/form-data +multipart/header-set +multipart/mixed +multipart/parallel +multipart/related +multipart/report +multipart/signed +multipart/voice-message +text/cache-manifest appcache +text/calendar ics icz ifb +text/comma-separated-values csv +text/css css +text/csv csv +text/directory +text/dns +text/ecmascript +text/english +text/enriched +text/example +text/h323 323 +text/html htm html shtml +text/iuls uls +text/javascript +text/mathml mml +text/n3 n3 +text/parityfec +text/plain asc brf conf def diff in list log pot srt text txt +text/prs.fallenstein.rst +text/prs.lines.tag dsc +text/red +text/rfc822-headers +text/richtext rtx +text/rtf rtf +text/rtp-enc-aescm128 +text/rtx +text/scriptlet sct wsc +text/sgml sgm sgml +text/t140 +text/tab-separated-values tsv +text/texmacs tm ts +text/troff man me ms roff t tr +text/turtle ttl +text/ulpfec +text/uri-list uri uris urls +text/vcard vcard +text/vnd.DMClientScript +text/vnd.IPTC.NITF +text/vnd.IPTC.NewsML +text/vnd.abc +text/vnd.curl curl +text/vnd.curl.dcurl dcurl +text/vnd.curl.mcurl mcurl +text/vnd.curl.scurl scurl +text/vnd.dmclientscript +text/vnd.dvb.subtitle sub +text/vnd.esmertec.theme-descriptor +text/vnd.flatland.3dml +text/vnd.fly fly +text/vnd.fmi.flexstor flx +text/vnd.graphviz gv +text/vnd.in3d.3dml 3dml +text/vnd.in3d.spot spot +text/vnd.iptc.newsml +text/vnd.iptc.nitf +text/vnd.latex-z +text/vnd.motorola.reflex +text/vnd.ms-mediapackage +text/vnd.net2phone.commcenter.command +text/vnd.si.uricatalogue +text/vnd.sun.j2me.app-descriptor jad +text/vnd.trolltech.linguist +text/vnd.wap.si +text/vnd.wap.sl +text/vnd.wap.wml wml +text/vnd.wap.wmlscript wmls +text/x-asm asm s +text/x-bibtex bib +text/x-boo boo +text/x-c c cc cpp cxx dic h hh +text/x-c++hdr h++ hh hpp hxx +text/x-c++src c++ cc cpp cxx +text/x-chdr h +text/x-component htc +text/x-crontab +text/x-csh csh +text/x-csrc c +text/x-diff diff patch +text/x-dsrc d +text/x-fortran f f77 f90 for +text/x-haskell hs +text/x-java java +text/x-java-source java +text/x-lilypond ly +text/x-literate-haskell lhs +text/x-makefile +text/x-moc moc +text/x-nfo nfo +text/x-opml opml +text/x-pascal p pas +text/x-pcs-gcd gcd +text/x-perl pl pm +text/x-psp psp +text/x-python py +text/x-scala scala +text/x-server-parsed-html +text/x-setext etx +text/x-sfv sfv +text/x-sh sh +text/x-tcl tcl tk +text/x-tex cls ltx sty tex +text/x-uuencode uu +text/x-vcalendar vcs +text/x-vcard vcf +text/xml +text/xml-external-parsed-entity +video/1d-interleaved-parityfec +video/3gpp 3gp +video/3gpp-tt +video/3gpp2 3g2 +video/BMPEG +video/BT656 +video/CelB +video/DV +video/H261 +video/H263 +video/H263-1998 +video/H263-2000 +video/H264 +video/H264-RCDO +video/H264-SVC +video/JPEG +video/MJ2 +video/MP1S +video/MP2P +video/MP2T ts +video/MP4V-ES +video/MPV +video/SMPTE292M +video/annodex axv +video/bmpeg +video/bt656 +video/celb +video/dl dl +video/dv dif dv +video/example +video/fli fli +video/gl gl +video/h261 h261 +video/h263 h263 +video/h263-1998 +video/h263-2000 +video/h264 h264 +video/jpeg jpgv +video/jpeg2000 +video/jpm jpgm jpm +video/mj2 mj2 mjp2 +video/mp1s +video/mp2p +video/mp2t +video/mp4 mp4 mp4v mpg4 +video/mp4v-es +video/mpeg m1v m2v mpe mpeg mpg +video/mpeg4-generic +video/mpv +video/nv +video/ogg ogv +video/parityfec +video/pointer +video/quicktime mov qt +video/raptorfec +video/raw +video/rtp-enc-aescm128 +video/rtx +video/smpte292m +video/ulpfec +video/vc1 +video/vnd.CCTV +video/vnd.cctv +video/vnd.dece.hd uvh uvvh +video/vnd.dece.mobile uvm uvvm +video/vnd.dece.mp4 +video/vnd.dece.pd uvp uvvp +video/vnd.dece.sd uvs uvvs +video/vnd.dece.video uvv uvvv +video/vnd.directv.mpeg +video/vnd.directv.mpeg-tts +video/vnd.dlna.mpeg-tts +video/vnd.dvb.file dvb +video/vnd.fvt fvt +video/vnd.hns.video +video/vnd.iptvforum.1dparityfec-1010 +video/vnd.iptvforum.1dparityfec-2005 +video/vnd.iptvforum.2dparityfec-1010 +video/vnd.iptvforum.2dparityfec-2005 +video/vnd.iptvforum.ttsavc +video/vnd.iptvforum.ttsmpeg2 +video/vnd.motorola.video +video/vnd.motorola.videop +video/vnd.mpegurl m4u mxu +video/vnd.ms-playready.media.pyv pyv +video/vnd.mts +video/vnd.nokia.interleaved-multimedia +video/vnd.nokia.videovoip +video/vnd.objectvideo +video/vnd.sealed.mpeg1 +video/vnd.sealed.mpeg4 +video/vnd.sealed.swf +video/vnd.sealedmedia.softseal.mov +video/vnd.uvvu.mp4 uvu uvvu +video/vnd.vivo viv +video/webm webm +video/x-f4v f4v +video/x-fli fli +video/x-flv flv +video/x-la-asf lsf lsx +video/x-m4v m4v +video/x-matroska mk3d mks mkv mpv +video/x-mng mng +video/x-ms-asf asf asx +video/x-ms-vob vob +video/x-ms-wm wm +video/x-ms-wmv wmv +video/x-ms-wmx wmx +video/x-ms-wvx wvx +video/x-msvideo avi +video/x-sgi-movie movie +video/x-smv smv +x-conference/x-cooltalk ice +x-epoc/x-sisx-app sisx +x-world/x-vrml vrm vrml wrl diff --git a/core/baselayout/files/os-release b/core/baselayout/files/os-release new file mode 100644 index 0000000..ddf8164 --- /dev/null +++ b/core/baselayout/files/os-release @@ -0,0 +1,4 @@ +NAME="asd Linux" +PRETTY_NAME="asd Linux" +ID=asd +BUILD_ID=rolling diff --git a/core/baselayout/files/passwd b/core/baselayout/files/passwd new file mode 100644 index 0000000..1edbef6 --- /dev/null +++ b/core/baselayout/files/passwd @@ -0,0 +1,2 @@ +root:x:0:0:root:/root:/bin/sh +nobody:x:99:99:Unprivileged User:/dev/null:/bin/false diff --git a/core/baselayout/files/profile b/core/baselayout/files/profile new file mode 100644 index 0000000..49075ce --- /dev/null +++ b/core/baselayout/files/profile @@ -0,0 +1,15 @@ +# /etc/profile +# +# System wide environment and startup programs. + +export PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin + +# Set default umask. +umask 022 + +# Load profiles from /etc/profile.d +for file in /etc/profile.d/*.sh; do + [ -r "$file" ] && . "$file" +done + +unset file diff --git a/core/baselayout/files/securetty b/core/baselayout/files/securetty new file mode 100644 index 0000000..7014604 --- /dev/null +++ b/core/baselayout/files/securetty @@ -0,0 +1,26 @@ +console +vc/1 +vc/2 +vc/3 +vc/4 +vc/5 +vc/6 +vc/7 +vc/8 +vc/9 +vc/10 +vc/11 +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +tty7 +tty8 +tty9 +tty10 +tty11 +ttyS0 +ttyAMA0 +ttyUSB0 diff --git a/core/baselayout/files/shadow b/core/baselayout/files/shadow new file mode 100644 index 0000000..9af03d3 --- /dev/null +++ b/core/baselayout/files/shadow @@ -0,0 +1 @@ +root:!:14871:::::: diff --git a/core/baselayout/files/shells b/core/baselayout/files/shells new file mode 100644 index 0000000..15eb394 --- /dev/null +++ b/core/baselayout/files/shells @@ -0,0 +1,4 @@ +# Pathnames of valid login shells. +# See shells(5) for details. + +/bin/sh diff --git a/core/baselayout/sources b/core/baselayout/sources new file mode 100644 index 0000000..abe0bf0 --- /dev/null +++ b/core/baselayout/sources @@ -0,0 +1,13 @@ +files/crypttab +files/fstab +files/group +files/host.conf +files/hosts +files/issue +files/mime.types +files/os-release +files/passwd +files/profile +files/securetty +files/shadow +files/shells diff --git a/core/baselayout/version b/core/baselayout/version new file mode 100644 index 0000000..2fb73a0 --- /dev/null +++ b/core/baselayout/version @@ -0,0 +1 @@ +1 1 diff --git a/core/busybox/checksums b/core/busybox/checksums index bed084a..07c0133 100644 --- a/core/busybox/checksums +++ b/core/busybox/checksums @@ -1,5 +1,5 @@ b0409da19243f364e401dc91e345e230dbcb83938a1815a788d0a549f43886d1 -715727926c872bb4985e532dd76c800e3f5646d3f0092eb1fec2847474038598 +a828929eb24b37c6dc7daca126154250d6db241d84e7925587b6731eacfaa97a 3764993c00fbae89f43b1ac991ebc96774afcd7aa663a434539a5f154c8d991e 814dea14ac612125e97dcc1d619219b2c9dfc14850bf48d858421fb2c98eca12 11fe9cdb031d0c387dfb366dc9cdbabadd129f5bbed34659868914058ada11c7 diff --git a/core/busybox/files/config b/core/busybox/files/config index 1ae20de..efa3390 100644 --- a/core/busybox/files/config +++ b/core/busybox/files/config @@ -325,7 +325,7 @@ CONFIG_TRUE=y CONFIG_TRUNCATE=y CONFIG_TTY=y CONFIG_UNAME=y -CONFIG_UNAME_OSNAME="KISS Linux" +CONFIG_UNAME_OSNAME="asd Linux" CONFIG_BB_ARCH=y CONFIG_UNIQ=y CONFIG_UNLINK=y @@ -453,10 +453,10 @@ CONFIG_FEATURE_FIND_PATH=y CONFIG_FEATURE_FIND_REGEX=y # CONFIG_FEATURE_FIND_CONTEXT is not set CONFIG_FEATURE_FIND_LINKS=y -CONFIG_GREP=y -CONFIG_EGREP=y -CONFIG_FGREP=y -CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_GREP=n +CONFIG_EGREP=n +CONFIG_FGREP=n +CONFIG_FEATURE_GREP_CONTEXT=n CONFIG_XARGS=y CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y diff --git a/core/busybox/patches/modprobe-kernel-version.patch b/core/busybox/patches/modprobe-kernel-version.patch index 2d4274a..4d2578e 100644 --- a/core/busybox/patches/modprobe-kernel-version.patch +++ b/core/busybox/patches/modprobe-kernel-version.patch @@ -68,4 +68,4 @@ index 0a372a049..ecb29a8fd 100644 - uname(&G.uts); xchdir(G.uts.release); - if (opt & OPT_LIST_ONLY) { \ No newline at end of file + if (opt & OPT_LIST_ONLY) { diff --git a/core/busybox/version b/core/busybox/version index 360f8a1..741d813 100644 --- a/core/busybox/version +++ b/core/busybox/version @@ -1 +1 @@ -1.33.1 6 +1.33.1 1 diff --git a/core/byacc/depends b/core/byacc/depends deleted file mode 100644 index e69de29..0000000 diff --git a/core/bzip2/build b/core/bzip2/build new file mode 100755 index 0000000..ac1055b --- /dev/null +++ b/core/bzip2/build @@ -0,0 +1,20 @@ +#!/bin/sh -e + +make CC="${CC:-cc} $CFLAGS -fPIC $LDFLAGS" -f Makefile-libbz2_so +make CC="${CC:-cc} $CFLAGS -fPIC $LDFLAGS" bzip2recover libbz2.a + +for bin in bzip2-shared bzdiff bzgrep bzip2recover bzmore; do + install -Dm755 "$bin" "$1/usr/bin/${bin%%-shared}" +done + +install -Dm755 libbz2.so.1.0.8 "$1/usr/lib/libbz2.so.1.0.8" +install -Dm644 libbz2.a "$1/usr/lib/libbz2.a" +install -Dm644 bzip2.1 "$1/usr/share/man/man1/bzip2.1" +install -Dm644 bzlib.h "$1/usr/include/bzlib.h" + +for lib in libbz2.so libbz2.so.1 libbz2.so.1.0; do + ln -sf libbz2.so.1.0.8 "$1/usr/lib/$lib" +done + +ln -sf bzip2 "$1/usr/bin/bunzip2" +ln -sf bzip2 "$1/usr/bin/bzcat" diff --git a/core/bzip2/checksums b/core/bzip2/checksums new file mode 100644 index 0000000..b50d346 --- /dev/null +++ b/core/bzip2/checksums @@ -0,0 +1 @@ +ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269 bzip2-1.0.8.tar.gz diff --git a/core/bzip2/sources b/core/bzip2/sources new file mode 100644 index 0000000..a04bc1b --- /dev/null +++ b/core/bzip2/sources @@ -0,0 +1 @@ +https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz diff --git a/core/bzip2/version b/core/bzip2/version new file mode 100644 index 0000000..0bc3d1e --- /dev/null +++ b/core/bzip2/version @@ -0,0 +1 @@ +1.0.8 1 diff --git a/core/catgirl/build b/core/catgirl/build new file mode 100755 index 0000000..2581b29 --- /dev/null +++ b/core/catgirl/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man + +make DESTDIR="$1" install diff --git a/core/catgirl/checksums b/core/catgirl/checksums new file mode 100644 index 0000000..675edc9 --- /dev/null +++ b/core/catgirl/checksums @@ -0,0 +1 @@ +2ef69606640f25ca695bc65d0dd9e16f5fa36184feb38d1253a5648dad68776b diff --git a/core/catgirl/depends b/core/catgirl/depends new file mode 100644 index 0000000..ff2e181 --- /dev/null +++ b/core/catgirl/depends @@ -0,0 +1,3 @@ +libressl +ncurses +pkgconf make diff --git a/core/catgirl/sources b/core/catgirl/sources new file mode 100644 index 0000000..b554547 --- /dev/null +++ b/core/catgirl/sources @@ -0,0 +1 @@ +https://git.causal.agency/catgirl/snapshot/catgirl-1.8.tar.gz diff --git a/core/catgirl/version b/core/catgirl/version new file mode 100644 index 0000000..33fba2c --- /dev/null +++ b/core/catgirl/version @@ -0,0 +1 @@ +1.8 1 diff --git a/extra/cmake/build b/core/cmake/build similarity index 100% rename from extra/cmake/build rename to core/cmake/build diff --git a/extra/cmake/checksums b/core/cmake/checksums similarity index 100% rename from extra/cmake/checksums rename to core/cmake/checksums diff --git a/extra/cmake/depends b/core/cmake/depends similarity index 100% rename from extra/cmake/depends rename to core/cmake/depends diff --git a/extra/cmake/patches/cmake-no-execinfo.patch b/core/cmake/patches/cmake-no-execinfo.patch similarity index 100% rename from extra/cmake/patches/cmake-no-execinfo.patch rename to core/cmake/patches/cmake-no-execinfo.patch diff --git a/extra/cmake/sources b/core/cmake/sources similarity index 100% rename from extra/cmake/sources rename to core/cmake/sources diff --git a/core/cmake/version b/core/cmake/version new file mode 100644 index 0000000..94cd8a6 --- /dev/null +++ b/core/cmake/version @@ -0,0 +1 @@ +3.20.5 1 diff --git a/core/curl/build b/core/curl/build new file mode 100755 index 0000000..ac49964 --- /dev/null +++ b/core/curl/build @@ -0,0 +1,21 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-ipv6 \ + --enable-unix-sockets \ + --enable-hidden-symbols \ + --without-libidn \ + --without-libidn2 \ + --disable-manual \ + --disable-ldap \ + --disable-ares \ + --without-librtmp \ + --without-icu \ + --without-libpsl \ + --with-pic \ + --with-openssl \ + --with-ca-fallback + +make curl_LDFLAGS=-all-static +make DESTDIR="$1" install diff --git a/core/curl/checksums b/core/curl/checksums new file mode 100644 index 0000000..efca4bf --- /dev/null +++ b/core/curl/checksums @@ -0,0 +1 @@ +0f64582c54282f31c0de9f0a1a596b182776bd4df9a4c4a2a41bbeb54f62594b diff --git a/extra/isync/depends b/core/curl/depends similarity index 100% rename from extra/isync/depends rename to core/curl/depends diff --git a/core/curl/sources b/core/curl/sources new file mode 100644 index 0000000..4c9b3f0 --- /dev/null +++ b/core/curl/sources @@ -0,0 +1 @@ +https://curl.haxx.se/download/curl-7.77.0.tar.xz diff --git a/core/curl/version b/core/curl/version new file mode 100644 index 0000000..2df10bc --- /dev/null +++ b/core/curl/version @@ -0,0 +1 @@ +7.77.0 1 diff --git a/core/cyrus-sasl/build b/core/cyrus-sasl/build new file mode 100755 index 0000000..79768ef --- /dev/null +++ b/core/cyrus-sasl/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin + +make +make DESTDIR="$1" install diff --git a/core/cyrus-sasl/checksums b/core/cyrus-sasl/checksums new file mode 100644 index 0000000..ddb956f --- /dev/null +++ b/core/cyrus-sasl/checksums @@ -0,0 +1 @@ +26866b1549b00ffd020f188a43c258017fa1c382b3ddadd8201536f72efb05d5 cyrus-sasl-2.1.27.tar.gz diff --git a/core/cyrus-sasl/depends b/core/cyrus-sasl/depends new file mode 100644 index 0000000..75929cf --- /dev/null +++ b/core/cyrus-sasl/depends @@ -0,0 +1 @@ +libressl diff --git a/core/cyrus-sasl/sources b/core/cyrus-sasl/sources new file mode 100644 index 0000000..50de422 --- /dev/null +++ b/core/cyrus-sasl/sources @@ -0,0 +1 @@ +https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-2.1.27/cyrus-sasl-2.1.27.tar.gz diff --git a/core/cyrus-sasl/version b/core/cyrus-sasl/version new file mode 100644 index 0000000..65877ed --- /dev/null +++ b/core/cyrus-sasl/version @@ -0,0 +1 @@ +2.1.27 1 diff --git a/core/efibootmgr/build b/core/efibootmgr/build new file mode 100755 index 0000000..dc9cd5d --- /dev/null +++ b/core/efibootmgr/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +make CC="${CC:-cc}" EFIDIR=/boot/EFI efibootmgr + +install -Dm0755 src/efibootmgr "$1/usr/bin/efibootmgr" +install -Dm0644 src/efibootmgr.8 "$1/usr/share/man/man8/efibootmgr.8" diff --git a/core/efibootmgr/checksums b/core/efibootmgr/checksums new file mode 100644 index 0000000..abf7ec5 --- /dev/null +++ b/core/efibootmgr/checksums @@ -0,0 +1 @@ +06147c05c3f15271fc74c1761eb8fdb8ed3c252786c8d0b4f514a451825ecf3e 97668ae0bce776a36ea2001dea63d376be8274ac.tar.gz diff --git a/core/efibootmgr/depends b/core/efibootmgr/depends new file mode 100644 index 0000000..a0db85a --- /dev/null +++ b/core/efibootmgr/depends @@ -0,0 +1,3 @@ +efivar +linux-headers make +pkgconf make diff --git a/core/efibootmgr/sources b/core/efibootmgr/sources new file mode 100644 index 0000000..3e6cee8 --- /dev/null +++ b/core/efibootmgr/sources @@ -0,0 +1 @@ +https://github.com/rhboot/efibootmgr/archive/97668ae0bce776a36ea2001dea63d376be8274ac.tar.gz diff --git a/core/efibootmgr/version b/core/efibootmgr/version new file mode 100644 index 0000000..5e661b9 --- /dev/null +++ b/core/efibootmgr/version @@ -0,0 +1 @@ +17 1 diff --git a/core/efivar/build b/core/efivar/build new file mode 100755 index 0000000..762b19f --- /dev/null +++ b/core/efivar/build @@ -0,0 +1,23 @@ +#!/bin/sh -e + +# LTO is used when CFLAGS are unset causing a compilation +# error with GCC 10. LTO can be set by the user though +# '-flto-partition=none' is also needed. +sed -i 's/ -flto//' Make.defaults + +for patch in *.patch; do + patch -p1 < "$patch" +done + +# Avoid repeating ourselves. +mk() { + make \ + libdir=/usr/lib/ \ + bindir=/usr/bin/ \ + mandir=/usr/share/man/ \ + includedir=/usr/include/ \ + "$@" +} + +mk CC="${CC:-cc}" +mk DESTDIR="$1" install diff --git a/core/efivar/checksums b/core/efivar/checksums new file mode 100644 index 0000000..2b4c6a0 --- /dev/null +++ b/core/efivar/checksums @@ -0,0 +1,6 @@ +3c67feb93f901b98fbb897d5ca82931a6698b5bcd6ac34f0815f670d77747b9f efivar-37.tar.bz2 +475ca086eecabeaaff6111c3e6766f7e31d88a4fb6e0d082e34201e2cfaf295a 00-b98ba8921010d03f46704a476c69861515deb1ca.patch +7e72f92eb0d03558b9b14ede6a68e29c0051ffe745a8c7a84d06dce6af458351 01-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch +c3dcda97408b7d4957d440b1802081d1861a9923c7d4eb5ee6d3c9e31ae668fc 02-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch +4d53ca9f09e3704aa0cc58f36cf475f9c0e54464305930d0ea9e26e7d0461ef6 03-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch +bc552a018399fb9c976b0087f3407ec34004f8b64a5982af76556dcd790852aa 04-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch diff --git a/core/libuuid/depends b/core/efivar/depends similarity index 100% rename from core/libuuid/depends rename to core/efivar/depends diff --git a/core/efivar/patches/00-b98ba8921010d03f46704a476c69861515deb1ca.patch b/core/efivar/patches/00-b98ba8921010d03f46704a476c69861515deb1ca.patch new file mode 100644 index 0000000..f40942f --- /dev/null +++ b/core/efivar/patches/00-b98ba8921010d03f46704a476c69861515deb1ca.patch @@ -0,0 +1,56 @@ +From b98ba8921010d03f46704a476c69861515deb1ca Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Mon, 7 Jan 2019 10:30:59 -0500 +Subject: [PATCH] dp.h: make format_guid() handle misaligned guid pointers + safely. + +GCC 9 adds -Werror=address-of-packed-member, which causes us to see the +build error reported at + https://bugzilla.opensuse.org/show_bug.cgi?id=1120862 . + +That bug report shows us the following: + +In file included from dp.c:26: +dp.h: In function 'format_vendor_helper': +dp.h:120:37: error: taking address of packed member of 'struct ' may result in an unaligned pointer value [-Werror=address-of-packed-member] + 120 | format_guid(buf, size, off, label, &dp->hw_vendor.vendor_guid); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +dp.h:74:25: note: in definition of macro 'format_guid' + 74 | _rc = efi_guid_to_str(guid, &_guidstr); \ + | ^~~~ +cc1: all warnings being treated as errors + +This patch makes format_guid() use a local variable as a bounce buffer +in the case that the guid we're passed is aligned as chaotic neutral. + +Note that this only fixes this instance and there may be others that bz +didn't show because it exited too soon, and I don't have a gcc 9 build +in front of me right now. + +Signed-off-by: Peter Jones +--- + src/dp.h | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/src/dp.h b/src/dp.h +index aa4e390..20cb608 100644 +--- a/src/dp.h ++++ b/src/dp.h +@@ -70,8 +70,15 @@ + #define format_guid(buf, size, off, dp_type, guid) ({ \ + int _rc; \ + char *_guidstr = NULL; \ +- \ +- _rc = efi_guid_to_str(guid, &_guidstr); \ ++ efi_guid_t _guid; \ ++ const efi_guid_t * const _guid_p = \ ++ likely(__alignof__(guid) == sizeof(guid)) \ ++ ? guid \ ++ : &_guid; \ ++ \ ++ if (unlikely(__alignof__(guid) == sizeof(guid))) \ ++ memmove(&_guid, guid, sizeof(_guid)); \ ++ _rc = efi_guid_to_str(_guid_p, &_guidstr); \ + if (_rc < 0) { \ + efi_error("could not build %s GUID DP string", \ + dp_type); \ diff --git a/core/efivar/patches/01-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch b/core/efivar/patches/01-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch new file mode 100644 index 0000000..bbb6a99 --- /dev/null +++ b/core/efivar/patches/01-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch @@ -0,0 +1,168 @@ +From c3c553db85ff10890209d0fe48fb4856ad68e4e0 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Thu, 21 Feb 2019 15:20:12 -0500 +Subject: [PATCH] Fix all the places -Werror=address-of-packed-member catches. + +This gets rid of all the places GCC 9's -Werror=address-of-packed-member +flags as problematic. + +Fixes github issue #123 + +Signed-off-by: Peter Jones +--- + src/dp-message.c | 6 ++++-- + src/dp.h | 12 ++++-------- + src/guid.c | 2 +- + src/include/efivar/efivar.h | 2 +- + src/ucs2.h | 27 +++++++++++++++++++-------- + 5 files changed, 29 insertions(+), 20 deletions(-) + +diff --git a/src/dp-message.c b/src/dp-message.c +index 3724e5f..9f96466 100644 +--- a/src/dp-message.c ++++ b/src/dp-message.c +@@ -620,11 +620,13 @@ _format_message_dn(char *buf, size_t size, const_efidp dp) + ) / sizeof(efi_ip_addr_t); + format(buf, size, off, "Dns", "Dns("); + for (int i=0; i < end; i++) { +- const efi_ip_addr_t *addr = &dp->dns.addrs[i]; ++ efi_ip_addr_t addr; ++ ++ memcpy(&addr, &dp->dns.addrs[i], sizeof(addr)); + if (i != 0) + format(buf, size, off, "Dns", ","); + format_ip_addr(buf, size, off, "Dns", +- dp->dns.is_ipv6, addr); ++ dp->dns.is_ipv6, &addr); + } + format(buf, size, off, "Dns", ")"); + break; +diff --git a/src/dp.h b/src/dp.h +index 20cb608..1f921d5 100644 +--- a/src/dp.h ++++ b/src/dp.h +@@ -71,13 +71,9 @@ + int _rc; \ + char *_guidstr = NULL; \ + efi_guid_t _guid; \ +- const efi_guid_t * const _guid_p = \ +- likely(__alignof__(guid) == sizeof(guid)) \ +- ? guid \ +- : &_guid; \ +- \ +- if (unlikely(__alignof__(guid) == sizeof(guid))) \ +- memmove(&_guid, guid, sizeof(_guid)); \ ++ const efi_guid_t * const _guid_p = &_guid; \ ++ \ ++ memmove(&_guid, guid, sizeof(_guid)); \ + _rc = efi_guid_to_str(_guid_p, &_guidstr); \ + if (_rc < 0) { \ + efi_error("could not build %s GUID DP string", \ +@@ -86,7 +82,7 @@ + _guidstr = onstack(_guidstr, \ + strlen(_guidstr)+1); \ + _rc = format(buf, size, off, dp_type, "%s", \ +- _guidstr); \ ++ _guidstr); \ + } \ + _rc; \ + }) +diff --git a/src/guid.c b/src/guid.c +index 306c9ff..3156b3b 100644 +--- a/src/guid.c ++++ b/src/guid.c +@@ -31,7 +31,7 @@ + extern const efi_guid_t efi_guid_zero; + + int NONNULL(1, 2) PUBLIC +-efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b) ++efi_guid_cmp(const void * const a, const void * const b) + { + return memcmp(a, b, sizeof (efi_guid_t)); + } +diff --git a/src/include/efivar/efivar.h b/src/include/efivar/efivar.h +index 316891c..ad6449d 100644 +--- a/src/include/efivar/efivar.h ++++ b/src/include/efivar/efivar.h +@@ -128,7 +128,7 @@ extern int efi_symbol_to_guid(const char *symbol, efi_guid_t *guid) + + extern int efi_guid_is_zero(const efi_guid_t *guid); + extern int efi_guid_is_empty(const efi_guid_t *guid); +-extern int efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b); ++extern int efi_guid_cmp(const void * const a, const void * const b); + + /* import / export functions */ + typedef struct efi_variable efi_variable_t; +diff --git a/src/ucs2.h b/src/ucs2.h +index dbb5900..edd8367 100644 +--- a/src/ucs2.h ++++ b/src/ucs2.h +@@ -23,16 +23,21 @@ + (((val) & ((mask) << (shift))) >> (shift)) + + static inline size_t UNUSED +-ucs2len(const uint16_t * const s, ssize_t limit) ++ucs2len(const void *vs, ssize_t limit) + { + ssize_t i; +- for (i = 0; i < (limit >= 0 ? limit : i+1) && s[i] != (uint16_t)0; i++) ++ const uint16_t *s = vs; ++ const uint8_t *s8 = vs; ++ ++ for (i = 0; ++ i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0; ++ i++, s8 += 2, s++) + ; + return i; + } + + static inline size_t UNUSED +-ucs2size(const uint16_t * const s, ssize_t limit) ++ucs2size(const void *s, ssize_t limit) + { + size_t rc = ucs2len(s, limit); + rc *= sizeof (uint16_t); +@@ -69,10 +74,11 @@ utf8size(uint8_t *s, ssize_t limit) + } + + static inline unsigned char * UNUSED +-ucs2_to_utf8(const uint16_t * const chars, ssize_t limit) ++ucs2_to_utf8(const void * const voidchars, ssize_t limit) + { + ssize_t i, j; + unsigned char *ret; ++ const uint16_t * const chars = voidchars; + + if (limit < 0) + limit = ucs2len(chars, -1); +@@ -124,10 +130,12 @@ ucs2_to_utf8(const uint16_t * const chars, ssize_t limit) + } + + static inline ssize_t UNUSED NONNULL(4) +-utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8) ++utf8_to_ucs2(void *ucs2void, ssize_t size, int terminate, uint8_t *utf8) + { + ssize_t req; + ssize_t i, j; ++ uint16_t *ucs2 = ucs2void; ++ uint16_t val16; + + if (!ucs2 && size > 0) { + errno = EINVAL; +@@ -162,10 +170,13 @@ utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8) + val = utf8[i] & 0x7f; + i += 1; + } +- ucs2[j] = val; ++ val16 = val; ++ ucs2[j] = val16; ++ } ++ if (terminate) { ++ val16 = 0; ++ ucs2[j++] = val16; + } +- if (terminate) +- ucs2[j++] = (uint16_t)0; + return j; + }; + diff --git a/core/efivar/patches/02-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch b/core/efivar/patches/02-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch new file mode 100644 index 0000000..e4a4358 --- /dev/null +++ b/core/efivar/patches/02-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch @@ -0,0 +1,51 @@ +From 0dad6d78a7fb5f6c5fb4a1d646040539db6cf865 Mon Sep 17 00:00:00 2001 +From: Chih-Wei Huang +Date: Tue, 26 Feb 2019 18:42:20 +0800 +Subject: [PATCH] Fix another error of -Werror=address-of-packed-member + +Android 9 clang complains: + +external/efivar/src/dp-message.c:367:24: error: taking address of packed member '' of class or structure 'efidp_infiniband' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member] + (efi_guid_t *)&dp->infiniband.ioc_guid); + ^~~~~~~~~~~~~~~~~~~~~~~ +external/efivar/src/dp.h:76:19: note: expanded from macro 'format_guid' + memmove(&_guid, guid, sizeof(_guid)); \ + ^~~~ +1 error generated. + +Since commit c3c553d the fifth parameter of format_guid() is treated as +a const void *. The casting is unnecessary. + +Signed-off-by: Chih-Wei Huang +--- + src/dp-media.c | 3 +-- + src/dp-message.c | 2 +- + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/src/dp-media.c b/src/dp-media.c +index 96a576f..be691c4 100644 +--- a/src/dp-media.c ++++ b/src/dp-media.c +@@ -46,8 +46,7 @@ _format_media_dn(char *buf, size_t size, const_efidp dp) + break; + case EFIDP_HD_SIGNATURE_GUID: + format(buf, size, off, "HD", "GPT,"); +- format_guid(buf, size, off, "HD", +- (efi_guid_t *)dp->hd.signature); ++ format_guid(buf, size, off, "HD", dp->hd.signature); + format(buf, size, off, "HD", + ",0x%"PRIx64",0x%"PRIx64")", + dp->hd.start, dp->hd.size); +diff --git a/src/dp-message.c b/src/dp-message.c +index 9f96466..6b8e907 100644 +--- a/src/dp-message.c ++++ b/src/dp-message.c +@@ -364,7 +364,7 @@ _format_message_dn(char *buf, size_t size, const_efidp dp) + dp->infiniband.port_gid[1], + dp->infiniband.port_gid[0]); + format_guid(buf, size, off, "Infiniband", +- (efi_guid_t *)&dp->infiniband.ioc_guid); ++ &dp->infiniband.ioc_guid); + format(buf, size, off, "Infiniband", + ",%"PRIu64",%"PRIu64")", + dp->infiniband.target_port_id, diff --git a/core/efivar/patches/03-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch b/core/efivar/patches/03-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch new file mode 100644 index 0000000..513c0e7 --- /dev/null +++ b/core/efivar/patches/03-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch @@ -0,0 +1,31 @@ +From fdb803402fb32fa6d020bac57a40c7efe4aabb7d Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Tue, 5 Mar 2019 17:23:24 +0100 +Subject: [PATCH] ucs2.h: remove unused variable + +The const uint16_t pointer is not used since now the two bytes of the +UCS-2 chars are checked to know if is the termination of the string. + +Signed-off-by: Javier Martinez Canillas +--- + src/ucs2.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/ucs2.h b/src/ucs2.h +index edd8367..e0390c3 100644 +--- a/src/ucs2.h ++++ b/src/ucs2.h +@@ -26,12 +26,11 @@ static inline size_t UNUSED + ucs2len(const void *vs, ssize_t limit) + { + ssize_t i; +- const uint16_t *s = vs; + const uint8_t *s8 = vs; + + for (i = 0; + i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0; +- i++, s8 += 2, s++) ++ i++, s8 += 2) + ; + return i; + } diff --git a/core/efivar/patches/04-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch b/core/efivar/patches/04-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch new file mode 100644 index 0000000..176e3fd --- /dev/null +++ b/core/efivar/patches/04-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch @@ -0,0 +1,28 @@ +From 4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e Mon Sep 17 00:00:00 2001 +From: Javier Martinez Canillas +Date: Tue, 5 Mar 2019 17:23:32 +0100 +Subject: [PATCH] ucs2.h: fix logic that checks for UCS-2 string termination + +Currently the loop to count the lenght of the UCS-2 string ends if either +of the two bytes are 0, but 0 is a valid value for UCS-2 character codes. + +So only break the loop when 0 is the value for both UCS-2 char bytes. + +Signed-off-by: Javier Martinez Canillas +--- + src/ucs2.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ucs2.h b/src/ucs2.h +index e0390c3..fd8b056 100644 +--- a/src/ucs2.h ++++ b/src/ucs2.h +@@ -29,7 +29,7 @@ ucs2len(const void *vs, ssize_t limit) + const uint8_t *s8 = vs; + + for (i = 0; +- i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0; ++ i < (limit >= 0 ? limit : i+1) && !(s8[0] == 0 && s8[1] == 0); + i++, s8 += 2) + ; + return i; diff --git a/core/efivar/sources b/core/efivar/sources new file mode 100644 index 0000000..4833b4a --- /dev/null +++ b/core/efivar/sources @@ -0,0 +1,6 @@ +https://github.com/rhboot/efivar/releases/download/37/efivar-37.tar.bz2 +patches/00-b98ba8921010d03f46704a476c69861515deb1ca.patch +patches/01-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch +patches/02-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch +patches/03-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch +patches/04-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch diff --git a/core/efivar/version b/core/efivar/version new file mode 100644 index 0000000..4189655 --- /dev/null +++ b/core/efivar/version @@ -0,0 +1 @@ +37 1 diff --git a/core/expat/build b/core/expat/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core/expat/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core/expat/checksums b/core/expat/checksums new file mode 100644 index 0000000..b4c09e8 --- /dev/null +++ b/core/expat/checksums @@ -0,0 +1 @@ +2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40 diff --git a/core/expat/sources b/core/expat/sources new file mode 100644 index 0000000..c60068c --- /dev/null +++ b/core/expat/sources @@ -0,0 +1 @@ +https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-2.4.1.tar.bz2 diff --git a/core/expat/version b/core/expat/version new file mode 100644 index 0000000..4fcdc2b --- /dev/null +++ b/core/expat/version @@ -0,0 +1 @@ +2.4.1 1 diff --git a/core/git/build b/core/git/build index 786edb0..085231b 100755 --- a/core/git/build +++ b/core/git/build @@ -6,7 +6,6 @@ cat > config.mak <' src/chartype.h + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core/libedit/checksums b/core/libedit/checksums new file mode 100644 index 0000000..34960ac --- /dev/null +++ b/core/libedit/checksums @@ -0,0 +1 @@ +0220bc2047e927c0c1984ef5f7b4eb2a9469a5b7bf12ba573ca3b23ca02bbb6f diff --git a/core/libedit/depends b/core/libedit/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/core/libedit/depends @@ -0,0 +1 @@ +ncurses diff --git a/core/libedit/sources b/core/libedit/sources new file mode 100644 index 0000000..e1ed04f --- /dev/null +++ b/core/libedit/sources @@ -0,0 +1 @@ +https://www.thrysoee.dk/editline/libedit-20210522-3.1.tar.gz diff --git a/core/libedit/version b/core/libedit/version new file mode 100644 index 0000000..ddf1c9b --- /dev/null +++ b/core/libedit/version @@ -0,0 +1 @@ +20210522-3.1 1 diff --git a/core/libevent/build b/core/libevent/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/core/libevent/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/core/libevent/checksums b/core/libevent/checksums new file mode 100644 index 0000000..dc8fe3c --- /dev/null +++ b/core/libevent/checksums @@ -0,0 +1 @@ +92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb libevent-2.1.12-stable.tar.gz diff --git a/core/libevent/sources b/core/libevent/sources new file mode 100644 index 0000000..ab57f04 --- /dev/null +++ b/core/libevent/sources @@ -0,0 +1 @@ +https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz diff --git a/core/libevent/version b/core/libevent/version new file mode 100644 index 0000000..19d8e60 --- /dev/null +++ b/core/libevent/version @@ -0,0 +1 @@ +2.1.12 1 diff --git a/core/libffi/build b/core/libffi/build new file mode 100755 index 0000000..7f3e4bf --- /dev/null +++ b/core/libffi/build @@ -0,0 +1,18 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-pic + +make +make DESTDIR="$1" install + +# Maintain compatibility and avoid the need +# for rebuilds of all packages linking to +# libffi. +ln -s libffi.so.8 "$1/usr/lib/libffi.so.7" +# +# ABI incompatibility only affects AArch64. +# See: https://github.com/libffi/libffi/commit/c02c341 +# https://github.com/libffi/libffi/issues/528 +ln -s libffi.so.7 "$1/usr/lib/libffi.so.6" diff --git a/core/libffi/checksums b/core/libffi/checksums new file mode 100644 index 0000000..14695d6 --- /dev/null +++ b/core/libffi/checksums @@ -0,0 +1 @@ +540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620 diff --git a/core/libffi/depends b/core/libffi/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core/libffi/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core/libffi/sources b/core/libffi/sources new file mode 100644 index 0000000..a966e96 --- /dev/null +++ b/core/libffi/sources @@ -0,0 +1 @@ +https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz diff --git a/core/libffi/version b/core/libffi/version new file mode 100644 index 0000000..7675fd4 --- /dev/null +++ b/core/libffi/version @@ -0,0 +1 @@ +3.4.2 1 diff --git a/core/libgcrypt/build b/core/libgcrypt/build new file mode 100755 index 0000000..80ce93e --- /dev/null +++ b/core/libgcrypt/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + +make +make DESTDIR="$1" install diff --git a/core/libgcrypt/checksums b/core/libgcrypt/checksums new file mode 100644 index 0000000..b0b3958 --- /dev/null +++ b/core/libgcrypt/checksums @@ -0,0 +1 @@ +97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd diff --git a/core/libgcrypt/depends b/core/libgcrypt/depends new file mode 100644 index 0000000..546d074 --- /dev/null +++ b/core/libgcrypt/depends @@ -0,0 +1 @@ +libgpg-error diff --git a/core/libgcrypt/sources b/core/libgcrypt/sources new file mode 100644 index 0000000..dcf4bee --- /dev/null +++ b/core/libgcrypt/sources @@ -0,0 +1 @@ +https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.9.3.tar.bz2 diff --git a/core/libgcrypt/version b/core/libgcrypt/version new file mode 100644 index 0000000..c82debe --- /dev/null +++ b/core/libgcrypt/version @@ -0,0 +1 @@ +1.9.3 1 diff --git a/core/libgpg-error/build b/core/libgpg-error/build new file mode 100755 index 0000000..80ce93e --- /dev/null +++ b/core/libgpg-error/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + +make +make DESTDIR="$1" install diff --git a/core/libgpg-error/checksums b/core/libgpg-error/checksums new file mode 100644 index 0000000..4a11e12 --- /dev/null +++ b/core/libgpg-error/checksums @@ -0,0 +1 @@ +fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23 diff --git a/core/libgpg-error/sources b/core/libgpg-error/sources new file mode 100644 index 0000000..2be693a --- /dev/null +++ b/core/libgpg-error/sources @@ -0,0 +1 @@ +https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.42.tar.bz2 diff --git a/core/libgpg-error/version b/core/libgpg-error/version new file mode 100644 index 0000000..8fce8e6 --- /dev/null +++ b/core/libgpg-error/version @@ -0,0 +1 @@ +1.42 1 diff --git a/core/libksba/build b/core/libksba/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core/libksba/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core/libksba/checksums b/core/libksba/checksums new file mode 100644 index 0000000..dabd54a --- /dev/null +++ b/core/libksba/checksums @@ -0,0 +1 @@ +dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b diff --git a/core/libksba/sources b/core/libksba/sources new file mode 100644 index 0000000..b6811a0 --- /dev/null +++ b/core/libksba/sources @@ -0,0 +1 @@ +https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.0.tar.bz2 diff --git a/core/libksba/version b/core/libksba/version new file mode 100644 index 0000000..bfa5a6a --- /dev/null +++ b/core/libksba/version @@ -0,0 +1 @@ +1.6.0 1 diff --git a/core/libressl/build b/core/libressl/build new file mode 100755 index 0000000..efe55ab --- /dev/null +++ b/core/libressl/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install + +install -Dm 755 update-certdata.sh "$1/etc/ssl" diff --git a/core/libressl/checksums b/core/libressl/checksums new file mode 100644 index 0000000..a523f3a --- /dev/null +++ b/core/libressl/checksums @@ -0,0 +1,2 @@ +a471565b36ccd1a70d0bd7d37c6e95c43a26a62829b487d9d2cdebfe58be3066 +a75b76146a4ec6be2cb72f4334f29459cb0769659223179be1eb96851d0a7afc diff --git a/core/libressl/files/update-certdata.sh b/core/libressl/files/update-certdata.sh new file mode 100755 index 0000000..6db69c7 --- /dev/null +++ b/core/libressl/files/update-certdata.sh @@ -0,0 +1,7 @@ +#!/bin/sh -e + +cd /etc/ssl && { + curl -LO https://curl.haxx.se/ca/cacert.pem + mv -f cacert.pem cert.pem + printf '%s\n' "${0##*/}: updated cert.pem" +} diff --git a/core/libressl/post-install b/core/libressl/post-install new file mode 100755 index 0000000..c12dca7 --- /dev/null +++ b/core/libressl/post-install @@ -0,0 +1,3 @@ +#!/bin/sh + +/etc/ssl/update-certdata.sh diff --git a/core/libressl/sources b/core/libressl/sources new file mode 100644 index 0000000..79ed0b2 --- /dev/null +++ b/core/libressl/sources @@ -0,0 +1,2 @@ +https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.3.3.tar.gz +files/update-certdata.sh diff --git a/core/libressl/version b/core/libressl/version new file mode 100644 index 0000000..e82f87f --- /dev/null +++ b/core/libressl/version @@ -0,0 +1 @@ +3.3.3 1 diff --git a/core/libtermkey/build b/core/libtermkey/build new file mode 100755 index 0000000..391e7ae --- /dev/null +++ b/core/libtermkey/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +patch -p1 < static-no-libtool.patch + +make PREFIX=/usr libtermkey.a +make PREFIX=/usr DESTDIR="$1" install diff --git a/core/libtermkey/checksums b/core/libtermkey/checksums new file mode 100644 index 0000000..992b7ca --- /dev/null +++ b/core/libtermkey/checksums @@ -0,0 +1,2 @@ +3bf45d27e0eed46f1ff1b9faccefee927617cb5aabaec73a7c896553ba55894c +3f3a6099d90569671034d2d1a8817522933f24f875112a6f4fc6af96de96ab7a diff --git a/core/libtermkey/depends b/core/libtermkey/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/core/libtermkey/depends @@ -0,0 +1 @@ +ncurses diff --git a/core/libtermkey/patches/static-no-libtool.patch b/core/libtermkey/patches/static-no-libtool.patch new file mode 100644 index 0000000..248937d --- /dev/null +++ b/core/libtermkey/patches/static-no-libtool.patch @@ -0,0 +1,40 @@ +diff --git a/Makefile b/Makefile +index 199f143..b413b36 100644 +--- a/Makefile ++++ b/Makefile +@@ -67,11 +67,14 @@ MAN7DIR=$(MANDIR)/man7 + all: $(LIBRARY) $(DEMOS) + + %.lo: %.c termkey.h termkey-internal.h +- $(LIBTOOL) --mode=compile --tag=CC $(CC) $(CFLAGS) -o $@ -c $< ++ $(CC) $(CFLAGS) -fPIC -o $@ -c $< + + $(LIBRARY): $(OBJECTS) + $(LIBTOOL) --mode=link --tag=CC $(CC) -rpath $(LIBDIR) -version-info $(VERSION_CURRENT):$(VERSION_REVISION):$(VERSION_AGE) $(LDFLAGS) -o $@ $^ + ++libtermkey.a: $(OBJECTS) ++ $(AR) rc $@ $^ ++ + demo: $(LIBRARY) demo.lo + $(LIBTOOL) --mode=link --tag=CC $(CC) -o $@ $^ + +@@ -106,7 +109,6 @@ clean: clean-test + + .PHONY: install + install: install-inc install-lib install-man +- $(LIBTOOL) --mode=finish $(DESTDIR)$(LIBDIR) + + install-inc: termkey.h + install -d $(DESTDIR)$(INCDIR) +@@ -114,9 +116,9 @@ install-inc: termkey.h + install -d $(DESTDIR)$(LIBDIR)/pkgconfig + LIBDIR=$(LIBDIR) INCDIR=$(INCDIR) VERSION=$(VERSION) sh termkey.pc.sh >$(DESTDIR)$(LIBDIR)/pkgconfig/termkey.pc + +-install-lib: $(LIBRARY) ++install-lib: libtermkey.a + install -d $(DESTDIR)$(LIBDIR) +- $(LIBTOOL) --mode=install install libtermkey.la $(DESTDIR)$(LIBDIR)/libtermkey.la ++ install libtermkey.a $(DESTDIR)$(LIBDIR)/libtermkey.a + + install-man: + install -d $(DESTDIR)$(MAN3DIR) diff --git a/core/libtermkey/sources b/core/libtermkey/sources new file mode 100644 index 0000000..b6e2878 --- /dev/null +++ b/core/libtermkey/sources @@ -0,0 +1,2 @@ +https://github.com/unofficial-mirror/libtermkey/archive/refs/tags/v0.22.tar.gz +patches/static-no-libtool.patch diff --git a/core/libtermkey/version b/core/libtermkey/version new file mode 100644 index 0000000..c9ec35a --- /dev/null +++ b/core/libtermkey/version @@ -0,0 +1 @@ +0.22 1 diff --git a/core/libudev-zero/build b/core/libudev-zero/build new file mode 100755 index 0000000..28bda35 --- /dev/null +++ b/core/libudev-zero/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make PREFIX=/usr +make DESTDIR="$1" PREFIX=/usr install diff --git a/core/libudev-zero/checksums b/core/libudev-zero/checksums new file mode 100644 index 0000000..d75c293 --- /dev/null +++ b/core/libudev-zero/checksums @@ -0,0 +1 @@ +23f1046f13403ec217665193e78dad6cdb0af54e105a9aaf8440a846e66a1d62 diff --git a/core/libudev-zero/depends b/core/libudev-zero/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core/libudev-zero/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core/libudev-zero/sources b/core/libudev-zero/sources new file mode 100644 index 0000000..9aeb574 --- /dev/null +++ b/core/libudev-zero/sources @@ -0,0 +1 @@ +https://github.com/illiliti/libudev-zero/archive/0.5.2.tar.gz diff --git a/core/libudev-zero/version b/core/libudev-zero/version new file mode 100644 index 0000000..b6c7193 --- /dev/null +++ b/core/libudev-zero/version @@ -0,0 +1 @@ +0.5.2 1 diff --git a/core/libuuid/build b/core/libuuid/build deleted file mode 100755 index 5d55170..0000000 --- a/core/libuuid/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -e - -./configure \ - --prefix=/usr \ - --localstatedir=/var \ - --bindir=/usr/bin \ - --sbindir=/usr/bin \ - --libdir=/usr/lib \ - --without-udev \ - --without-python \ - --without-systemd \ - --disable-all-programs \ - --enable-libuuid - -make -make DESTDIR="$1" install - diff --git a/core/libuuid/checksums b/core/libuuid/checksums deleted file mode 100644 index 03c2476..0000000 --- a/core/libuuid/checksums +++ /dev/null @@ -1 +0,0 @@ -bd07b7e98839e0359842110525a3032fdb8eaf3a90bedde3dd1652d32d15cce5 diff --git a/core/libuuid/sources b/core/libuuid/sources deleted file mode 100644 index 43f8a92..0000000 --- a/core/libuuid/sources +++ /dev/null @@ -1 +0,0 @@ -https://cdn.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.tar.xz diff --git a/core/links/build b/core/links/build new file mode 100755 index 0000000..13959c4 --- /dev/null +++ b/core/links/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man + +make +make DESTDIR="$1" install diff --git a/core/links/checksums b/core/links/checksums new file mode 100644 index 0000000..46935c6 --- /dev/null +++ b/core/links/checksums @@ -0,0 +1 @@ +6660d202f521fd18bf5184c3f1732d1fa7426a103374277ad1cdb8e57ce6ac45 diff --git a/core/links/depends b/core/links/depends new file mode 100644 index 0000000..d8ff222 --- /dev/null +++ b/core/links/depends @@ -0,0 +1,6 @@ +bzip2 +libevent +libressl +xz +zlib +zstd diff --git a/core/links/sources b/core/links/sources new file mode 100644 index 0000000..1f6f098 --- /dev/null +++ b/core/links/sources @@ -0,0 +1 @@ +http://links.twibright.com/download/links-2.23.tar.bz2 diff --git a/core/links/version b/core/links/version new file mode 100644 index 0000000..638f155 --- /dev/null +++ b/core/links/version @@ -0,0 +1 @@ +2.23 1 diff --git a/core/linux-headers/build b/core/linux-headers/build new file mode 100755 index 0000000..9f5ea9b --- /dev/null +++ b/core/linux-headers/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +make HOSTCC="${CC:-cc}" headers + +# The headers require rsync for installation, this command +# simply does the equivalent using find. +find usr/include -name \*.h -type f | while read -r file; do + install -Dm644 "$file" "$1/$file" +done diff --git a/core/linux-headers/checksums b/core/linux-headers/checksums new file mode 100644 index 0000000..0d4f71b --- /dev/null +++ b/core/linux-headers/checksums @@ -0,0 +1 @@ +ed1661128c9bd3e8c9f55e345f715b90fefcf6b127c77e0286773242e7a14e5c diff --git a/core/linux-headers/sources b/core/linux-headers/sources new file mode 100644 index 0000000..6fb2c46 --- /dev/null +++ b/core/linux-headers/sources @@ -0,0 +1 @@ +https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.1.tar.xz diff --git a/core/linux-headers/version b/core/linux-headers/version new file mode 100644 index 0000000..1209f7e --- /dev/null +++ b/core/linux-headers/version @@ -0,0 +1 @@ +5.10.1 1 diff --git a/core/llvm/checksums b/core/llvm/checksums index 77f9430..37c5e9c 100644 --- a/core/llvm/checksums +++ b/core/llvm/checksums @@ -1,2 +1,2 @@ -9ed1688943a4402d7c904cc4515798cdb20080066efa010fe7e1f2551b423628 +129cb25cd13677aad951ce5c2deb0fe4afc1e9d98950f53b51bdcfb5a73afa0e 9c68d13e4e7496578280c164917e2cb6d34af976ac048bac9931943a5b5371cd diff --git a/core/llvm/files/c99 b/core/llvm/files/c99 index 4e4a49f..692f092 100755 --- a/core/llvm/files/c99 +++ b/core/llvm/files/c99 @@ -1,2 +1,2 @@ #!/bin/sh -exec cc -std=c99 "$@" \ No newline at end of file +exec cc -std=c99 "$@" diff --git a/core/llvm/sources b/core/llvm/sources index 8993017..39cbad9 100644 --- a/core/llvm/sources +++ b/core/llvm/sources @@ -1,2 +1,2 @@ -https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/llvm-project-12.0.0.src.tar.xz -files/c99 \ No newline at end of file +https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/llvm-project-12.0.1.src.tar.xz +files/c99 diff --git a/core/llvm/version b/core/llvm/version index 33bf498..0ada45b 100644 --- a/core/llvm/version +++ b/core/llvm/version @@ -1 +1 @@ -12.0.0 3 +12.0.1 1 diff --git a/core/lua/depends b/core/lua/depends deleted file mode 100644 index e69de29..0000000 diff --git a/core/make/build b/core/make/build new file mode 100755 index 0000000..206a476 --- /dev/null +++ b/core/make/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core/make/checksums b/core/make/checksums new file mode 100644 index 0000000..8ce10bc --- /dev/null +++ b/core/make/checksums @@ -0,0 +1 @@ +e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19 make-4.3.tar.gz diff --git a/core/make/sources b/core/make/sources new file mode 100644 index 0000000..038f47f --- /dev/null +++ b/core/make/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/make/make-4.3.tar.gz diff --git a/core/make/version b/core/make/version new file mode 100644 index 0000000..aead541 --- /dev/null +++ b/core/make/version @@ -0,0 +1 @@ +4.3 1 diff --git a/core/man-pages/build b/core/man-pages/build new file mode 100755 index 0000000..c4679ad --- /dev/null +++ b/core/man-pages/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make -C man-pages prefix=/usr DESTDIR="$1" install +make -C man-pages-posix prefix=/usr DESTDIR="$1" install diff --git a/core/man-pages/checksums b/core/man-pages/checksums new file mode 100644 index 0000000..24c6b2e --- /dev/null +++ b/core/man-pages/checksums @@ -0,0 +1,2 @@ +75102535ba119f2f223f674d84e1dcdaebf0a5ffd639b3c2e6cb0a0e34768762 +ce67bb25b5048b20dad772e405a83f4bc70faf051afa289361c81f9660318bc3 diff --git a/core/man-pages/sources b/core/man-pages/sources new file mode 100644 index 0000000..30c4b4f --- /dev/null +++ b/core/man-pages/sources @@ -0,0 +1,3 @@ +https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/man-pages-5.10.tar.xz man-pages +https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/man-pages-posix/man-pages-posix-2017-a.tar.xz man-pages-posix + diff --git a/core/man-pages/version b/core/man-pages/version new file mode 100644 index 0000000..a0236a8 --- /dev/null +++ b/core/man-pages/version @@ -0,0 +1 @@ +5.10 1 diff --git a/core/mandoc/build b/core/mandoc/build new file mode 100755 index 0000000..bf3f40e --- /dev/null +++ b/core/mandoc/build @@ -0,0 +1,22 @@ +#!/bin/sh -e + +patch -p1 < mandoc-no-warn.patch + +sed -i '/int dummy/d' ./compat_*.c +sed -i 's,"more -s","less",g' main.c +sed -i "s/CC=.*/CC='$CC'/" configure + +cat > configure.local <paths[ipath]); + if (res == NULL) { + free(file); + return 1; diff --git a/core/mandoc/sources b/core/mandoc/sources new file mode 100644 index 0000000..d012518 --- /dev/null +++ b/core/mandoc/sources @@ -0,0 +1,2 @@ +https://fossies.org/linux/misc/mandoc-1.14.5.tar.gz +patches/mandoc-no-warn.patch diff --git a/core/mandoc/version b/core/mandoc/version new file mode 100644 index 0000000..f3df4c4 --- /dev/null +++ b/core/mandoc/version @@ -0,0 +1 @@ +1.14.5 1 diff --git a/core/musl/build b/core/musl/build new file mode 100755 index 0000000..a003f10 --- /dev/null +++ b/core/musl/build @@ -0,0 +1,28 @@ +#!/bin/sh -e + +# Uncomment if using valgrind or similar. +# :>nostrip + +./configure \ + --prefix=/usr \ + --syslibdir=/usr/lib \ +# Uncomment if using valgrind or similar. +# --enable-debug + +make +make DESTDIR="$1" install + +mkdir -p "$1/usr/bin" +ln -s /usr/lib/ld-musl-x86_64.so.1 "$1/usr/bin/ldd" + +# Fix incorrect symlink to libc.so. +ln -sf libc.so "$1/usr/lib/ld-musl-x86_64.so.1" + +# Install BSD compatibility headers. +install -Dm 755 cdefs.h "$1/usr/include/sys/cdefs.h" +install -Dm 755 queue.h "$1/usr/include/sys/queue.h" +install -Dm 755 tree.h "$1/usr/include/sys/tree.h" + +# Install getconf. +cc getconf.c -o "$1/usr/bin/getconf" +cc getent.c -o "$1/usr/bin/getent" diff --git a/core/musl/checksums b/core/musl/checksums new file mode 100644 index 0000000..5fab64a --- /dev/null +++ b/core/musl/checksums @@ -0,0 +1,6 @@ +9b969322012d796dc23dda27a35866034fa67d8fb67e0e2c45c913c3d43219dd +a83818007069c222d24d283a99348c2376f35bac3282d8142004c47d3dc5ecac +c13407edd0e33be73cae72514cb234f8612e1c0e54401c9448daffd3a240158b +e1e498a79bf160a5766fa560f2b07b206fe89fe21a62600c77d72e00a6992f92 +d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c +b323f20c9bf560a13c877eb05428bc4a203383697bac763e7b12865db5c5922c diff --git a/core/musl/files/cdefs.h b/core/musl/files/cdefs.h new file mode 100755 index 0000000..a60f0e2 --- /dev/null +++ b/core/musl/files/cdefs.h @@ -0,0 +1,24 @@ +#undef __P +#undef __PMT + +#define __P(args) args +#define __PMT(args) args + +#define __CONCAT(x,y) x ## y +#define __STRING(x) #x + +#ifdef __cplusplus +# define __BEGIN_DECLS extern "C" { +# define __END_DECLS } +#else +# define __BEGIN_DECLS +# define __END_DECLS +#endif + +#if defined(__GNUC__) && !defined(__cplusplus) +# define __THROW __attribute__ ((__nothrow__)) +# define __NTH(fct) __attribute__ ((__nothrow__)) fct +#else +# define __THROW +# define __NTH(fct) fct +#endif diff --git a/core/musl/files/getconf.c b/core/musl/files/getconf.c new file mode 100644 index 0000000..c423524 --- /dev/null +++ b/core/musl/files/getconf.c @@ -0,0 +1,338 @@ +/*- + * Copyright (c) 1996, 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by J.T. Conklin. + * + * Mostly rewritten to be used in Alpine Linux (with musl c-library) + * by Timo Teräs. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct conf_variable { + const char *name; + enum { SYSCONF, CONFSTR, PATHCONF, CONSTANT, UCONSTANT, NUM_TYPES } type; + long value; +}; + +static const struct conf_variable conf_table[] = { +{ "PATH", CONFSTR, _CS_PATH }, + +/* Utility Limit Minimum Values */ +{ "POSIX2_BC_BASE_MAX", CONSTANT, _POSIX2_BC_BASE_MAX }, +{ "POSIX2_BC_DIM_MAX", CONSTANT, _POSIX2_BC_DIM_MAX }, +{ "POSIX2_BC_SCALE_MAX", CONSTANT, _POSIX2_BC_SCALE_MAX }, +{ "POSIX2_BC_STRING_MAX", CONSTANT, _POSIX2_BC_STRING_MAX }, +{ "POSIX2_COLL_WEIGHTS_MAX", CONSTANT, _POSIX2_COLL_WEIGHTS_MAX }, +{ "POSIX2_EXPR_NEST_MAX", CONSTANT, _POSIX2_EXPR_NEST_MAX }, +{ "POSIX2_LINE_MAX", CONSTANT, _POSIX2_LINE_MAX }, +{ "POSIX2_RE_DUP_MAX", CONSTANT, _POSIX2_RE_DUP_MAX }, +{ "POSIX2_VERSION", CONSTANT, _POSIX2_VERSION }, + +/* POSIX.1 Minimum Values */ +{ "_POSIX_AIO_LISTIO_MAX", CONSTANT, _POSIX_AIO_LISTIO_MAX }, +{ "_POSIX_AIO_MAX", CONSTANT, _POSIX_AIO_MAX }, +{ "_POSIX_ARG_MAX", CONSTANT, _POSIX_ARG_MAX }, +{ "_POSIX_CHILD_MAX", CONSTANT, _POSIX_CHILD_MAX }, +{ "_POSIX_LINK_MAX", CONSTANT, _POSIX_LINK_MAX }, +{ "_POSIX_MAX_CANON", CONSTANT, _POSIX_MAX_CANON }, +{ "_POSIX_MAX_INPUT", CONSTANT, _POSIX_MAX_INPUT }, +{ "_POSIX_MQ_OPEN_MAX", CONSTANT, _POSIX_MQ_OPEN_MAX }, +{ "_POSIX_MQ_PRIO_MAX", CONSTANT, _POSIX_MQ_PRIO_MAX }, +{ "_POSIX_NAME_MAX", CONSTANT, _POSIX_NAME_MAX }, +{ "_POSIX_NGROUPS_MAX", CONSTANT, _POSIX_NGROUPS_MAX }, +{ "_POSIX_OPEN_MAX", CONSTANT, _POSIX_OPEN_MAX }, +{ "_POSIX_PATH_MAX", CONSTANT, _POSIX_PATH_MAX }, +{ "_POSIX_PIPE_BUF", CONSTANT, _POSIX_PIPE_BUF }, +{ "_POSIX_SSIZE_MAX", CONSTANT, _POSIX_SSIZE_MAX }, +{ "_POSIX_STREAM_MAX", CONSTANT, _POSIX_STREAM_MAX }, +{ "_POSIX_TZNAME_MAX", CONSTANT, _POSIX_TZNAME_MAX }, + +/* Symbolic Utility Limits */ +{ "BC_BASE_MAX", SYSCONF, _SC_BC_BASE_MAX }, +{ "BC_DIM_MAX", SYSCONF, _SC_BC_DIM_MAX }, +{ "BC_SCALE_MAX", SYSCONF, _SC_BC_SCALE_MAX }, +{ "BC_STRING_MAX", SYSCONF, _SC_BC_STRING_MAX }, +{ "COLL_WEIGHTS_MAX", SYSCONF, _SC_COLL_WEIGHTS_MAX }, +{ "EXPR_NEST_MAX", SYSCONF, _SC_EXPR_NEST_MAX }, +{ "LINE_MAX", SYSCONF, _SC_LINE_MAX }, +{ "RE_DUP_MAX", SYSCONF, _SC_RE_DUP_MAX }, + +/* Optional Facility Configuration Values */ +{ "_POSIX2_C_BIND", SYSCONF, _SC_2_C_BIND }, +{ "POSIX2_C_DEV", SYSCONF, _SC_2_C_DEV }, +{ "POSIX2_CHAR_TERM", SYSCONF, _SC_2_CHAR_TERM }, +{ "POSIX2_FORT_DEV", SYSCONF, _SC_2_FORT_DEV }, +{ "POSIX2_FORT_RUN", SYSCONF, _SC_2_FORT_RUN }, +{ "POSIX2_LOCALEDEF", SYSCONF, _SC_2_LOCALEDEF }, +{ "POSIX2_SW_DEV", SYSCONF, _SC_2_SW_DEV }, +{ "POSIX2_UPE", SYSCONF, _SC_2_UPE }, + +/* POSIX.1 Configurable System Variables */ +{ "AIO_LISTIO_MAX", SYSCONF, _SC_AIO_LISTIO_MAX }, +{ "AIO_MAX", SYSCONF, _SC_AIO_MAX }, +{ "ARG_MAX", SYSCONF, _SC_ARG_MAX }, +{ "CHILD_MAX", SYSCONF, _SC_CHILD_MAX }, +{ "CLK_TCK", SYSCONF, _SC_CLK_TCK }, +{ "MQ_OPEN_MAX", SYSCONF, _SC_MQ_OPEN_MAX }, +{ "MQ_PRIO_MAX", SYSCONF, _SC_MQ_PRIO_MAX }, +{ "NGROUPS_MAX", SYSCONF, _SC_NGROUPS_MAX }, +{ "OPEN_MAX", SYSCONF, _SC_OPEN_MAX }, +{ "STREAM_MAX", SYSCONF, _SC_STREAM_MAX }, +{ "TZNAME_MAX", SYSCONF, _SC_TZNAME_MAX }, +{ "_POSIX_JOB_CONTROL", SYSCONF, _SC_JOB_CONTROL }, +{ "_POSIX_SAVED_IDS", SYSCONF, _SC_SAVED_IDS }, +{ "_POSIX_VERSION", SYSCONF, _SC_VERSION }, + +{ "LINK_MAX", PATHCONF, _PC_LINK_MAX }, +{ "MAX_CANON", PATHCONF, _PC_MAX_CANON }, +{ "MAX_INPUT", PATHCONF, _PC_MAX_INPUT }, +{ "NAME_MAX", PATHCONF, _PC_NAME_MAX }, +{ "PATH_MAX", PATHCONF, _PC_PATH_MAX }, +{ "PIPE_BUF", PATHCONF, _PC_PIPE_BUF }, +{ "_POSIX_CHOWN_RESTRICTED", PATHCONF, _PC_CHOWN_RESTRICTED }, +{ "_POSIX_NO_TRUNC", PATHCONF, _PC_NO_TRUNC }, +{ "_POSIX_VDISABLE", PATHCONF, _PC_VDISABLE }, + +/* POSIX.1b Configurable System Variables */ +{ "PAGESIZE", SYSCONF, _SC_PAGESIZE }, +{ "_POSIX_ASYNCHRONOUS_IO", SYSCONF, _SC_ASYNCHRONOUS_IO }, +{ "_POSIX_FSYNC", SYSCONF, _SC_FSYNC }, +{ "_POSIX_MAPPED_FILES", SYSCONF, _SC_MAPPED_FILES }, +{ "_POSIX_MEMLOCK", SYSCONF, _SC_MEMLOCK }, +{ "_POSIX_MEMLOCK_RANGE", SYSCONF, _SC_MEMLOCK_RANGE }, +{ "_POSIX_MEMORY_PROTECTION", SYSCONF, _SC_MEMORY_PROTECTION }, +{ "_POSIX_MESSAGE_PASSING", SYSCONF, _SC_MESSAGE_PASSING }, +{ "_POSIX_MONOTONIC_CLOCK", SYSCONF, _SC_MONOTONIC_CLOCK }, +{ "_POSIX_PRIORITY_SCHEDULING", SYSCONF, _SC_PRIORITY_SCHEDULING }, +{ "_POSIX_SEMAPHORES", SYSCONF, _SC_SEMAPHORES }, +{ "_POSIX_SHARED_MEMORY_OBJECTS", SYSCONF, _SC_SHARED_MEMORY_OBJECTS }, +{ "_POSIX_SYNCHRONIZED_IO", SYSCONF, _SC_SYNCHRONIZED_IO }, +{ "_POSIX_TIMERS", SYSCONF, _SC_TIMERS }, + +{ "_POSIX_SYNC_IO", PATHCONF, _PC_SYNC_IO }, + +/* POSIX.1c Configurable System Variables */ +{ "LOGIN_NAME_MAX", SYSCONF, _SC_LOGIN_NAME_MAX }, +{ "_POSIX_THREADS", SYSCONF, _SC_THREADS }, + +/* POSIX.1j Configurable System Variables */ +{ "_POSIX_BARRIERS", SYSCONF, _SC_BARRIERS }, +{ "_POSIX_READER_WRITER_LOCKS", SYSCONF, _SC_READER_WRITER_LOCKS }, +{ "_POSIX_SPIN_LOCKS", SYSCONF, _SC_SPIN_LOCKS }, + +/* XPG4.2 Configurable System Variables */ +{ "IOV_MAX", SYSCONF, _SC_IOV_MAX }, +{ "PAGE_SIZE", SYSCONF, _SC_PAGE_SIZE }, +{ "_XOPEN_SHM", SYSCONF, _SC_XOPEN_SHM }, + +/* X/Open CAE Spec. Issue 5 Version 2 Configurable System Variables */ +{ "FILESIZEBITS", PATHCONF, _PC_FILESIZEBITS }, + +/* POSIX.1-2001 XSI Option Group Configurable System Variables */ +{ "ATEXIT_MAX", SYSCONF, _SC_ATEXIT_MAX }, + +/* POSIX.1-2001 TSF Configurable System Variables */ +{ "GETGR_R_SIZE_MAX", SYSCONF, _SC_GETGR_R_SIZE_MAX }, +{ "GETPW_R_SIZE_MAX", SYSCONF, _SC_GETPW_R_SIZE_MAX }, + +/* Commonly provided extensions */ +{ "_PHYS_PAGES", SYSCONF, _SC_PHYS_PAGES }, +{ "_AVPHYS_PAGES", SYSCONF, _SC_AVPHYS_PAGES }, +{ "_NPROCESSORS_CONF", SYSCONF, _SC_NPROCESSORS_CONF }, +{ "_NPROCESSORS_ONLN", SYSCONF, _SC_NPROCESSORS_ONLN }, + +/* Data type related extensions */ +{ "CHAR_BIT", CONSTANT, CHAR_BIT }, +{ "CHAR_MAX", CONSTANT, CHAR_MAX }, +{ "CHAR_MIN", CONSTANT, CHAR_MIN }, +{ "INT_MAX", CONSTANT, INT_MAX }, +{ "INT_MIN", CONSTANT, INT_MIN }, +{ "LONG_BIT", CONSTANT, LONG_BIT }, +{ "LONG_MAX", CONSTANT, LONG_MAX }, +{ "LONG_MIN", CONSTANT, LONG_MIN }, +{ "SCHAR_MAX", CONSTANT, SCHAR_MAX }, +{ "SCHAR_MIN", CONSTANT, SCHAR_MIN }, +{ "SHRT_MAX", CONSTANT, SHRT_MAX }, +{ "SHRT_MIN", CONSTANT, SHRT_MIN }, +{ "SSIZE_MAX", CONSTANT, SSIZE_MAX }, +{ "UCHAR_MAX", UCONSTANT, (long) UCHAR_MAX }, +{ "UINT_MAX", UCONSTANT, (long) UINT_MAX }, +{ "ULONG_MAX", UCONSTANT, (long) ULONG_MAX }, +{ "USHRT_MAX", UCONSTANT, (long) USHRT_MAX }, +{ "WORD_BIT", CONSTANT, WORD_BIT }, + +{ NULL, CONSTANT, 0L } +}; + +static int all = 0; + +static void usage(const char *p) +{ + (void)fprintf(stderr, "Usage: %s system_var\n\t%s -a\n" + "\t%s path_var pathname\n\t%s -a pathname\n", p, p, p, p); + exit(EXIT_FAILURE); +} + +static void print_long(const char *name, long val) +{ + if (all) printf("%s = %ld\n", name, val); + else printf("%ld\n", val); +} + +static void print_ulong(const char *name, unsigned long val) +{ + if (all) printf("%s = %lu\n", name, val); + else printf("%lu\n", val); +} + +static void print_string(const char *name, const char *val) +{ + if (all) printf("%s = %s\n", name, val); + else printf("%s\n", val); +} + +static int print_constant(const struct conf_variable *cp, const char *pathname) +{ + print_long(cp->name, cp->value); + return 0; +} + +static int print_uconstant(const struct conf_variable *cp, const char *pathname) +{ + print_ulong(cp->name, (unsigned long) cp->value); + return 0; +} + +static int print_sysconf(const struct conf_variable *cp, const char *pathname) +{ + long val; + + errno = 0; + if ((val = sysconf((int)cp->value)) == -1) { + if (errno != 0) err(EXIT_FAILURE, "sysconf(%ld)", cp->value); + return -1; + } + print_long(cp->name, val); + return 0; +} + +static int print_confstr(const struct conf_variable *cp, const char *pathname) +{ + size_t len; + char *val; + + errno = 0; + if ((len = confstr((int)cp->value, NULL, 0)) == 0) goto error; + if ((val = malloc(len)) == NULL) err(EXIT_FAILURE, "Can't allocate %zu bytes", len); + errno = 0; + if (confstr((int)cp->value, val, len) == 0) goto error; + print_string(cp->name, val); + free(val); + return 0; +error: + if (errno != EINVAL) err(EXIT_FAILURE, "confstr(%ld)", cp->value); + return -1; +} + +static int print_pathconf(const struct conf_variable *cp, const char *pathname) +{ + long val; + + errno = 0; + if ((val = pathconf(pathname, (int)cp->value)) == -1) { + if (all && errno == EINVAL) return 0; + if (errno != 0) err(EXIT_FAILURE, "pathconf(%s, %ld)", pathname, cp->value); + return -1; + } + print_long(cp->name, val); + return 0; +} + +typedef int (*handler_t)(const struct conf_variable *cp, const char *pathname); +static const handler_t type_handlers[NUM_TYPES] = { + [SYSCONF] = print_sysconf, + [CONFSTR] = print_confstr, + [PATHCONF] = print_pathconf, + [CONSTANT] = print_constant, + [UCONSTANT] = print_uconstant, +}; + +int main(int argc, char **argv) +{ + const char *progname = argv[0]; + const struct conf_variable *cp; + const char *varname, *pathname; + int ch, found = 0; + + (void)setlocale(LC_ALL, ""); + while ((ch = getopt(argc, argv, "a")) != -1) { + switch (ch) { + case 'a': + all = 1; + break; + case '?': + default: + usage(progname); + } + } + argc -= optind; + argv += optind; + + if (!all) { + if (argc == 0) + usage(progname); + varname = argv[0]; + argc--; + argv++; + } else + varname = NULL; + + if (argc > 1) + usage(progname); + pathname = argv[0]; /* may be NULL */ + + for (cp = conf_table; cp->name != NULL; cp++) { + if (!all && strcmp(varname, cp->name) != 0) continue; + if ((cp->type == PATHCONF) == (pathname != NULL)) { + if (type_handlers[cp->type](cp, pathname) < 0) + print_string(cp->name, "undefined"); + found = 1; + } else if (!all) + errx(EXIT_FAILURE, "%s: invalid variable type", cp->name); + } + if (!all && !found) errx(EXIT_FAILURE, "%s: unknown variable", varname); + (void)fflush(stdout); + return ferror(stdout) ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/core/musl/files/getent.c b/core/musl/files/getent.c new file mode 100644 index 0000000..b10d75a --- /dev/null +++ b/core/musl/files/getent.c @@ -0,0 +1,511 @@ +/*- + * Copyright (c) 2004-2006 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Luke Mewburn. + * Timo Teräs cleaned up the code for use in Alpine Linux with musl libc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +enum { + RV_OK = 0, + RV_USAGE = 1, + RV_NOTFOUND = 2, + RV_NOENUM = 3 +}; + +static int usage(const char *); + +static int parsenum(const char *word, unsigned long *result) +{ + unsigned long num; + char *ep; + + if (!isdigit((unsigned char)word[0])) + return 0; + errno = 0; + num = strtoul(word, &ep, 10); + if (num == ULONG_MAX && errno == ERANGE) + return 0; + if (*ep != '\0') + return 0; + *result = num; + return 1; +} + +/* + * printfmtstrings -- + * vprintf(format, ...), + * then the aliases (beginning with prefix, separated by sep), + * then a newline + */ +__attribute__ ((format (printf, 4, 5))) +static void printfmtstrings(char *strings[], const char *prefix, const char *sep, + const char *fmt, ...) +{ + va_list ap; + const char *curpref; + size_t i; + + va_start(ap, fmt); + (void)vprintf(fmt, ap); + va_end(ap); + + curpref = prefix; + for (i = 0; strings[i] != NULL; i++) { + (void)printf("%s%s", curpref, strings[i]); + curpref = sep; + } + (void)printf("\n"); +} + +static int ethers(int argc, char *argv[]) +{ + char hostname[MAXHOSTNAMELEN + 1], *hp; + struct ether_addr ea, *eap; + int i, rv; + + if (argc == 2) { + warnx("Enumeration not supported on ethers"); + return RV_NOENUM; + } + + rv = RV_OK; + for (i = 2; i < argc; i++) { + if ((eap = ether_aton(argv[i])) == NULL) { + eap = &ea; + hp = argv[i]; + if (ether_hostton(hp, eap) != 0) { + rv = RV_NOTFOUND; + break; + } + } else { + hp = hostname; + if (ether_ntohost(hp, eap) != 0) { + rv = RV_NOTFOUND; + break; + } + } + (void)printf("%-17s %s\n", ether_ntoa(eap), hp); + } + return rv; +} + +static void groupprint(const struct group *gr) +{ + printfmtstrings(gr->gr_mem, ":", ",", "%s:%s:%u", + gr->gr_name, gr->gr_passwd, gr->gr_gid); +} + +static int group(int argc, char *argv[]) +{ + struct group *gr; + unsigned long id; + int i, rv; + + rv = RV_OK; + if (argc == 2) { + while ((gr = getgrent()) != NULL) + groupprint(gr); + } else { + for (i = 2; i < argc; i++) { + if (parsenum(argv[i], &id)) + gr = getgrgid((gid_t)id); + else + gr = getgrnam(argv[i]); + if (gr == NULL) { + rv = RV_NOTFOUND; + break; + } + groupprint(gr); + } + } + endgrent(); + return rv; +} + +static void hostsprint(const struct hostent *he) +{ + char buf[INET6_ADDRSTRLEN]; + + if (inet_ntop(he->h_addrtype, he->h_addr, buf, sizeof(buf)) == NULL) + (void)strlcpy(buf, "# unknown", sizeof(buf)); + printfmtstrings(he->h_aliases, " ", " ", "%-16s %s", buf, he->h_name); +} + +static int hosts(int argc, char *argv[]) +{ + struct hostent *he; + char addr[IN6ADDRSZ]; + int i, rv; + + sethostent(1); + rv = RV_OK; + if (argc == 2) { + while ((he = gethostent()) != NULL) + hostsprint(he); + } else { + for (i = 2; i < argc; i++) { + if (inet_pton(AF_INET6, argv[i], (void *)addr) > 0) + he = gethostbyaddr(addr, IN6ADDRSZ, AF_INET6); + else if (inet_pton(AF_INET, argv[i], (void *)addr) > 0) + he = gethostbyaddr(addr, INADDRSZ, AF_INET); + else if ((he = gethostbyname2(argv[i], AF_INET6)) == NULL) + he = gethostbyname2(argv[i], AF_INET); + if (he == NULL) { + rv = RV_NOTFOUND; + break; + } + hostsprint(he); + } + } + endhostent(); + return rv; +} + +static int ahosts_ex(int family, int flags, int argc, char *argv[]) +{ + static const char *socktypes[] = { + [SOCK_STREAM] = "STREAM", + [SOCK_DGRAM] = "DGRAM", + [SOCK_RAW] = "RAW", + [SOCK_RDM] = "RDM", + [SOCK_SEQPACKET] = "SEQPACKET", + [SOCK_DCCP] = "DCCP", + [SOCK_PACKET] = "PACKET", + }; + const char *sockstr; + char sockbuf[16], buf[INET6_ADDRSTRLEN]; + struct addrinfo *res, *r, hint; + void *addr; + int i; + + if (argc == 2) + return hosts(argc, argv); + + hint = (struct addrinfo) { + .ai_family = family, + .ai_flags = AI_ADDRCONFIG | AI_CANONNAME | flags, + }; + + for (i = 2; i < argc; i++) { + if (getaddrinfo(argv[i], 0, &hint, &res) != 0) + return RV_NOTFOUND; + + for (r = res; r; r = r->ai_next) { + sockstr = NULL; + if (r->ai_socktype >= 0 && r->ai_socktype < sizeof(socktypes)/sizeof(socktypes[0])) + sockstr = socktypes[r->ai_socktype]; + if (!sockstr) { + sprintf(buf, "%d", r->ai_socktype); + sockstr = sockbuf; + } + switch (r->ai_family) { + case AF_INET: + addr = &((struct sockaddr_in*) r->ai_addr)->sin_addr; + break; + case AF_INET6: + addr = &((struct sockaddr_in6*) r->ai_addr)->sin6_addr; + break; + default: + continue; + } + if (inet_ntop(r->ai_family, addr, buf, sizeof(buf)) == NULL) + (void)strlcpy(buf, "# unknown", sizeof(buf)); + printf("%-15s %-6s %s\n", buf, sockstr, r->ai_canonname ?: ""); + } + } + + return RV_OK; +} + +static int ahosts(int argc, char *argv[]) +{ + return ahosts_ex(AF_UNSPEC, 0, argc, argv); +} + +static int ahostsv4(int argc, char *argv[]) +{ + return ahosts_ex(AF_INET, 0, argc, argv); +} + +static int ahostsv6(int argc, char *argv[]) +{ + return ahosts_ex(AF_INET6, AI_V4MAPPED, argc, argv); +} + +static void networksprint(const struct netent *ne) +{ + char buf[INET6_ADDRSTRLEN]; + struct in_addr ianet; + + ianet = inet_makeaddr(ne->n_net, 0); + if (inet_ntop(ne->n_addrtype, &ianet, buf, sizeof(buf)) == NULL) + (void)strlcpy(buf, "# unknown", sizeof(buf)); + printfmtstrings(ne->n_aliases, " ", " ", "%-16s %s", ne->n_name, buf); +} + +static int networks(int argc, char *argv[]) +{ + struct netent *ne; + in_addr_t net; + int i, rv; + + setnetent(1); + rv = RV_OK; + if (argc == 2) { + while ((ne = getnetent()) != NULL) + networksprint(ne); + } else { + for (i = 2; i < argc; i++) { + net = inet_network(argv[i]); + if (net != INADDR_NONE) + ne = getnetbyaddr(net, AF_INET); + else + ne = getnetbyname(argv[i]); + if (ne != NULL) { + rv = RV_NOTFOUND; + break; + } + networksprint(ne); + } + } + endnetent(); + return rv; +} + +static void passwdprint(struct passwd *pw) +{ + (void)printf("%s:%s:%u:%u:%s:%s:%s\n", + pw->pw_name, pw->pw_passwd, pw->pw_uid, + pw->pw_gid, pw->pw_gecos, pw->pw_dir, pw->pw_shell); +} + +static int passwd(int argc, char *argv[]) +{ + struct passwd *pw; + unsigned long id; + int i, rv; + + rv = RV_OK; + if (argc == 2) { + while ((pw = getpwent()) != NULL) + passwdprint(pw); + } else { + for (i = 2; i < argc; i++) { + if (parsenum(argv[i], &id)) + pw = getpwuid((uid_t)id); + else + pw = getpwnam(argv[i]); + if (pw == NULL) { + rv = RV_NOTFOUND; + break; + } + passwdprint(pw); + } + } + endpwent(); + return rv; +} + +static void protocolsprint(struct protoent *pe) +{ + printfmtstrings(pe->p_aliases, " ", " ", + "%-16s %5d", pe->p_name, pe->p_proto); +} + +static int protocols(int argc, char *argv[]) +{ + struct protoent *pe; + unsigned long id; + int i, rv; + + setprotoent(1); + rv = RV_OK; + if (argc == 2) { + while ((pe = getprotoent()) != NULL) + protocolsprint(pe); + } else { + for (i = 2; i < argc; i++) { + if (parsenum(argv[i], &id)) + pe = getprotobynumber((int)id); + else + pe = getprotobyname(argv[i]); + if (pe == NULL) { + rv = RV_NOTFOUND; + break; + } + protocolsprint(pe); + } + } + endprotoent(); + return rv; +} + +static void servicesprint(struct servent *se) +{ + printfmtstrings(se->s_aliases, " ", " ", + "%-16s %5d/%s", + se->s_name, ntohs(se->s_port), se->s_proto); + +} + +static int services(int argc, char *argv[]) +{ + struct servent *se; + unsigned long id; + char *proto; + int i, rv; + + setservent(1); + rv = RV_OK; + if (argc == 2) { + while ((se = getservent()) != NULL) + servicesprint(se); + } else { + for (i = 2; i < argc; i++) { + proto = strchr(argv[i], '/'); + if (proto != NULL) + *proto++ = '\0'; + if (parsenum(argv[i], &id)) + se = getservbyport(htons(id), proto); + else + se = getservbyname(argv[i], proto); + if (se == NULL) { + rv = RV_NOTFOUND; + break; + } + servicesprint(se); + } + } + endservent(); + return rv; +} + +static int shells(int argc, char *argv[]) +{ + const char *sh; + int i, rv; + + setusershell(); + rv = RV_OK; + if (argc == 2) { + while ((sh = getusershell()) != NULL) + (void)printf("%s\n", sh); + } else { + for (i = 2; i < argc; i++) { + setusershell(); + while ((sh = getusershell()) != NULL) { + if (strcmp(sh, argv[i]) == 0) { + (void)printf("%s\n", sh); + break; + } + } + if (sh == NULL) { + rv = RV_NOTFOUND; + break; + } + } + } + endusershell(); + return rv; +} + +static struct getentdb { + const char *name; + int (*callback)(int, char *[]); +} databases[] = { + { "ethers", ethers, }, + { "group", group, }, + { "hosts", hosts, }, + { "ahosts", ahosts, }, + { "ahostsv4", ahostsv4, }, + { "ahostsv6", ahostsv6, }, + { "networks", networks, }, + { "passwd", passwd, }, + { "protocols", protocols, }, + { "services", services, }, + { "shells", shells, }, + + { NULL, NULL, }, +}; + +static int usage(const char *arg0) +{ + struct getentdb *curdb; + size_t i; + + (void)fprintf(stderr, "Usage: %s database [key ...]\n", arg0); + (void)fprintf(stderr, "\tdatabase may be one of:"); + for (i = 0, curdb = databases; curdb->name != NULL; curdb++, i++) { + if (i % 7 == 0) + (void)fputs("\n\t\t", stderr); + (void)fprintf(stderr, "%s%s", i % 7 == 0 ? "" : " ", + curdb->name); + } + (void)fprintf(stderr, "\n"); + exit(RV_USAGE); + /* NOTREACHED */ +} + +int +main(int argc, char *argv[]) +{ + struct getentdb *curdb; + + if (argc < 2) + usage(argv[0]); + for (curdb = databases; curdb->name != NULL; curdb++) + if (strcmp(curdb->name, argv[1]) == 0) + return (*curdb->callback)(argc, argv); + + warn("Unknown database `%s'", argv[1]); + usage(argv[0]); + /* NOTREACHED */ +} diff --git a/core/musl/files/queue.h b/core/musl/files/queue.h new file mode 100755 index 0000000..a38499a --- /dev/null +++ b/core/musl/files/queue.h @@ -0,0 +1,846 @@ +/* $NetBSD: queue.h,v 1.70 2015/11/02 15:21:23 christos Exp $ */ + +/* + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)queue.h 8.5 (Berkeley) 8/20/94 + */ + +#ifndef _SYS_QUEUE_H_ +#define _SYS_QUEUE_H_ + +/* + * This file defines five types of data structures: singly-linked lists, + * lists, simple queues, tail queues, and circular queues. + * + * A singly-linked list is headed by a single forward pointer. The + * elements are singly linked for minimum space and pointer manipulation + * overhead at the expense of O(n) removal for arbitrary elements. New + * elements can be added to the list after an existing element or at the + * head of the list. Elements being removed from the head of the list + * should use the explicit macro for this purpose for optimum + * efficiency. A singly-linked list may only be traversed in the forward + * direction. Singly-linked lists are ideal for applications with large + * datasets and few or no removals or for implementing a LIFO queue. + * + * A list is headed by a single forward pointer (or an array of forward + * pointers for a hash table header). The elements are doubly linked + * so that an arbitrary element can be removed without a need to + * traverse the list. New elements can be added to the list before + * or after an existing element or at the head of the list. A list + * may only be traversed in the forward direction. + * + * A simple queue is headed by a pair of pointers, one the head of the + * list and the other to the tail of the list. The elements are singly + * linked to save space, so elements can only be removed from the + * head of the list. New elements can be added to the list after + * an existing element, at the head of the list, or at the end of the + * list. A simple queue may only be traversed in the forward direction. + * + * A tail queue is headed by a pair of pointers, one to the head of the + * list and the other to the tail of the list. The elements are doubly + * linked so that an arbitrary element can be removed without a need to + * traverse the list. New elements can be added to the list before or + * after an existing element, at the head of the list, or at the end of + * the list. A tail queue may be traversed in either direction. + * + * A circle queue is headed by a pair of pointers, one to the head of the + * list and the other to the tail of the list. The elements are doubly + * linked so that an arbitrary element can be removed without a need to + * traverse the list. New elements can be added to the list before or after + * an existing element, at the head of the list, or at the end of the list. + * A circle queue may be traversed in either direction, but has a more + * complex end of list detection. + * + * For details on the use of these macros, see the queue(3) manual page. + */ + +/* + * Include the definition of NULL only on NetBSD because sys/null.h + * is not available elsewhere. This conditional makes the header + * portable and it can simply be dropped verbatim into any system. + * The caveat is that on other systems some other header + * must provide NULL before the macros can be used. + */ +#ifdef __NetBSD__ +#include +#endif + +#if defined(QUEUEDEBUG) +# if defined(_KERNEL) +# define QUEUEDEBUG_ABORT(...) panic(__VA_ARGS__) +# else +# include +# define QUEUEDEBUG_ABORT(...) err(1, __VA_ARGS__) +# endif +#endif + +/* + * Singly-linked List definitions. + */ +#define SLIST_HEAD(name, type) \ +struct name { \ + struct type *slh_first; /* first element */ \ +} + +#define SLIST_HEAD_INITIALIZER(head) \ + { NULL } + +#define SLIST_ENTRY(type) \ +struct { \ + struct type *sle_next; /* next element */ \ +} + +/* + * Singly-linked List access methods. + */ +#define SLIST_FIRST(head) ((head)->slh_first) +#define SLIST_END(head) NULL +#define SLIST_EMPTY(head) ((head)->slh_first == NULL) +#define SLIST_NEXT(elm, field) ((elm)->field.sle_next) + +#define SLIST_FOREACH(var, head, field) \ + for((var) = (head)->slh_first; \ + (var) != SLIST_END(head); \ + (var) = (var)->field.sle_next) + +#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = SLIST_FIRST((head)); \ + (var) != SLIST_END(head) && \ + ((tvar) = SLIST_NEXT((var), field), 1); \ + (var) = (tvar)) + +/* + * Singly-linked List functions. + */ +#define SLIST_INIT(head) do { \ + (head)->slh_first = SLIST_END(head); \ +} while (/*CONSTCOND*/0) + +#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \ + (elm)->field.sle_next = (slistelm)->field.sle_next; \ + (slistelm)->field.sle_next = (elm); \ +} while (/*CONSTCOND*/0) + +#define SLIST_INSERT_HEAD(head, elm, field) do { \ + (elm)->field.sle_next = (head)->slh_first; \ + (head)->slh_first = (elm); \ +} while (/*CONSTCOND*/0) + +#define SLIST_REMOVE_AFTER(slistelm, field) do { \ + (slistelm)->field.sle_next = \ + SLIST_NEXT(SLIST_NEXT((slistelm), field), field); \ +} while (/*CONSTCOND*/0) + +#define SLIST_REMOVE_HEAD(head, field) do { \ + (head)->slh_first = (head)->slh_first->field.sle_next; \ +} while (/*CONSTCOND*/0) + +#define SLIST_REMOVE(head, elm, type, field) do { \ + if ((head)->slh_first == (elm)) { \ + SLIST_REMOVE_HEAD((head), field); \ + } \ + else { \ + struct type *curelm = (head)->slh_first; \ + while(curelm->field.sle_next != (elm)) \ + curelm = curelm->field.sle_next; \ + curelm->field.sle_next = \ + curelm->field.sle_next->field.sle_next; \ + } \ +} while (/*CONSTCOND*/0) + + +/* + * List definitions. + */ +#define LIST_HEAD(name, type) \ +struct name { \ + struct type *lh_first; /* first element */ \ +} + +#define LIST_HEAD_INITIALIZER(head) \ + { NULL } + +#define LIST_ENTRY(type) \ +struct { \ + struct type *le_next; /* next element */ \ + struct type **le_prev; /* address of previous next element */ \ +} + +/* + * List access methods. + */ +#define LIST_FIRST(head) ((head)->lh_first) +#define LIST_END(head) NULL +#define LIST_EMPTY(head) ((head)->lh_first == LIST_END(head)) +#define LIST_NEXT(elm, field) ((elm)->field.le_next) + +#define LIST_FOREACH(var, head, field) \ + for ((var) = ((head)->lh_first); \ + (var) != LIST_END(head); \ + (var) = ((var)->field.le_next)) + +#define LIST_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = LIST_FIRST((head)); \ + (var) != LIST_END(head) && \ + ((tvar) = LIST_NEXT((var), field), 1); \ + (var) = (tvar)) + +#define LIST_MOVE(head1, head2) do { \ + LIST_INIT((head2)); \ + if (!LIST_EMPTY((head1))) { \ + (head2)->lh_first = (head1)->lh_first; \ + LIST_INIT((head1)); \ + } \ +} while (/*CONSTCOND*/0) + +/* + * List functions. + */ +#if defined(QUEUEDEBUG) +#define QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field) \ + if ((head)->lh_first && \ + (head)->lh_first->field.le_prev != &(head)->lh_first) \ + QUEUEDEBUG_ABORT("LIST_INSERT_HEAD %p %s:%d", (head), \ + __FILE__, __LINE__); +#define QUEUEDEBUG_LIST_OP(elm, field) \ + if ((elm)->field.le_next && \ + (elm)->field.le_next->field.le_prev != \ + &(elm)->field.le_next) \ + QUEUEDEBUG_ABORT("LIST_* forw %p %s:%d", (elm), \ + __FILE__, __LINE__); \ + if (*(elm)->field.le_prev != (elm)) \ + QUEUEDEBUG_ABORT("LIST_* back %p %s:%d", (elm), \ + __FILE__, __LINE__); +#define QUEUEDEBUG_LIST_POSTREMOVE(elm, field) \ + (elm)->field.le_next = (void *)1L; \ + (elm)->field.le_prev = (void *)1L; +#else +#define QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field) +#define QUEUEDEBUG_LIST_OP(elm, field) +#define QUEUEDEBUG_LIST_POSTREMOVE(elm, field) +#endif + +#define LIST_INIT(head) do { \ + (head)->lh_first = LIST_END(head); \ +} while (/*CONSTCOND*/0) + +#define LIST_INSERT_AFTER(listelm, elm, field) do { \ + QUEUEDEBUG_LIST_OP((listelm), field) \ + if (((elm)->field.le_next = (listelm)->field.le_next) != \ + LIST_END(head)) \ + (listelm)->field.le_next->field.le_prev = \ + &(elm)->field.le_next; \ + (listelm)->field.le_next = (elm); \ + (elm)->field.le_prev = &(listelm)->field.le_next; \ +} while (/*CONSTCOND*/0) + +#define LIST_INSERT_BEFORE(listelm, elm, field) do { \ + QUEUEDEBUG_LIST_OP((listelm), field) \ + (elm)->field.le_prev = (listelm)->field.le_prev; \ + (elm)->field.le_next = (listelm); \ + *(listelm)->field.le_prev = (elm); \ + (listelm)->field.le_prev = &(elm)->field.le_next; \ +} while (/*CONSTCOND*/0) + +#define LIST_INSERT_HEAD(head, elm, field) do { \ + QUEUEDEBUG_LIST_INSERT_HEAD((head), (elm), field) \ + if (((elm)->field.le_next = (head)->lh_first) != LIST_END(head))\ + (head)->lh_first->field.le_prev = &(elm)->field.le_next;\ + (head)->lh_first = (elm); \ + (elm)->field.le_prev = &(head)->lh_first; \ +} while (/*CONSTCOND*/0) + +#define LIST_REMOVE(elm, field) do { \ + QUEUEDEBUG_LIST_OP((elm), field) \ + if ((elm)->field.le_next != NULL) \ + (elm)->field.le_next->field.le_prev = \ + (elm)->field.le_prev; \ + *(elm)->field.le_prev = (elm)->field.le_next; \ + QUEUEDEBUG_LIST_POSTREMOVE((elm), field) \ +} while (/*CONSTCOND*/0) + +#define LIST_REPLACE(elm, elm2, field) do { \ + if (((elm2)->field.le_next = (elm)->field.le_next) != NULL) \ + (elm2)->field.le_next->field.le_prev = \ + &(elm2)->field.le_next; \ + (elm2)->field.le_prev = (elm)->field.le_prev; \ + *(elm2)->field.le_prev = (elm2); \ + QUEUEDEBUG_LIST_POSTREMOVE((elm), field) \ +} while (/*CONSTCOND*/0) + +/* + * Simple queue definitions. + */ +#define SIMPLEQ_HEAD(name, type) \ +struct name { \ + struct type *sqh_first; /* first element */ \ + struct type **sqh_last; /* addr of last next element */ \ +} + +#define SIMPLEQ_HEAD_INITIALIZER(head) \ + { NULL, &(head).sqh_first } + +#define SIMPLEQ_ENTRY(type) \ +struct { \ + struct type *sqe_next; /* next element */ \ +} + +/* + * Simple queue access methods. + */ +#define SIMPLEQ_FIRST(head) ((head)->sqh_first) +#define SIMPLEQ_END(head) NULL +#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == SIMPLEQ_END(head)) +#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) + +#define SIMPLEQ_FOREACH(var, head, field) \ + for ((var) = ((head)->sqh_first); \ + (var) != SIMPLEQ_END(head); \ + (var) = ((var)->field.sqe_next)) + +#define SIMPLEQ_FOREACH_SAFE(var, head, field, next) \ + for ((var) = ((head)->sqh_first); \ + (var) != SIMPLEQ_END(head) && \ + ((next = ((var)->field.sqe_next)), 1); \ + (var) = (next)) + +/* + * Simple queue functions. + */ +#define SIMPLEQ_INIT(head) do { \ + (head)->sqh_first = NULL; \ + (head)->sqh_last = &(head)->sqh_first; \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \ + (head)->sqh_last = &(elm)->field.sqe_next; \ + (head)->sqh_first = (elm); \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.sqe_next = NULL; \ + *(head)->sqh_last = (elm); \ + (head)->sqh_last = &(elm)->field.sqe_next; \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ + if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\ + (head)->sqh_last = &(elm)->field.sqe_next; \ + (listelm)->field.sqe_next = (elm); \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_REMOVE_HEAD(head, field) do { \ + if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \ + (head)->sqh_last = &(head)->sqh_first; \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_REMOVE_AFTER(head, elm, field) do { \ + if (((elm)->field.sqe_next = (elm)->field.sqe_next->field.sqe_next) \ + == NULL) \ + (head)->sqh_last = &(elm)->field.sqe_next; \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_REMOVE(head, elm, type, field) do { \ + if ((head)->sqh_first == (elm)) { \ + SIMPLEQ_REMOVE_HEAD((head), field); \ + } else { \ + struct type *curelm = (head)->sqh_first; \ + while (curelm->field.sqe_next != (elm)) \ + curelm = curelm->field.sqe_next; \ + if ((curelm->field.sqe_next = \ + curelm->field.sqe_next->field.sqe_next) == NULL) \ + (head)->sqh_last = &(curelm)->field.sqe_next; \ + } \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_CONCAT(head1, head2) do { \ + if (!SIMPLEQ_EMPTY((head2))) { \ + *(head1)->sqh_last = (head2)->sqh_first; \ + (head1)->sqh_last = (head2)->sqh_last; \ + SIMPLEQ_INIT((head2)); \ + } \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_LAST(head, type, field) \ + (SIMPLEQ_EMPTY((head)) ? \ + NULL : \ + ((struct type *)(void *) \ + ((char *)((head)->sqh_last) - offsetof(struct type, field)))) + +/* + * Tail queue definitions. + */ +#define _TAILQ_HEAD(name, type, qual) \ +struct name { \ + qual type *tqh_first; /* first element */ \ + qual type *qual *tqh_last; /* addr of last next element */ \ +} +#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,) + +#define TAILQ_HEAD_INITIALIZER(head) \ + { TAILQ_END(head), &(head).tqh_first } + +#define _TAILQ_ENTRY(type, qual) \ +struct { \ + qual type *tqe_next; /* next element */ \ + qual type *qual *tqe_prev; /* address of previous next element */\ +} +#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,) + +/* + * Tail queue access methods. + */ +#define TAILQ_FIRST(head) ((head)->tqh_first) +#define TAILQ_END(head) (NULL) +#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) +#define TAILQ_LAST(head, headname) \ + (*(((struct headname *)(void *)((head)->tqh_last))->tqh_last)) +#define TAILQ_PREV(elm, headname, field) \ + (*(((struct headname *)(void *)((elm)->field.tqe_prev))->tqh_last)) +#define TAILQ_EMPTY(head) (TAILQ_FIRST(head) == TAILQ_END(head)) + + +#define TAILQ_FOREACH(var, head, field) \ + for ((var) = ((head)->tqh_first); \ + (var) != TAILQ_END(head); \ + (var) = ((var)->field.tqe_next)) + +#define TAILQ_FOREACH_SAFE(var, head, field, next) \ + for ((var) = ((head)->tqh_first); \ + (var) != TAILQ_END(head) && \ + ((next) = TAILQ_NEXT(var, field), 1); (var) = (next)) + +#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ + for ((var) = TAILQ_LAST((head), headname); \ + (var) != TAILQ_END(head); \ + (var) = TAILQ_PREV((var), headname, field)) + +#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev) \ + for ((var) = TAILQ_LAST((head), headname); \ + (var) != TAILQ_END(head) && \ + ((prev) = TAILQ_PREV((var), headname, field), 1); (var) = (prev)) + +/* + * Tail queue functions. + */ +#if defined(QUEUEDEBUG) +#define QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field) \ + if ((head)->tqh_first && \ + (head)->tqh_first->field.tqe_prev != &(head)->tqh_first) \ + QUEUEDEBUG_ABORT("TAILQ_INSERT_HEAD %p %s:%d", (head), \ + __FILE__, __LINE__); +#define QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field) \ + if (*(head)->tqh_last != NULL) \ + QUEUEDEBUG_ABORT("TAILQ_INSERT_TAIL %p %s:%d", (head), \ + __FILE__, __LINE__); +#define QUEUEDEBUG_TAILQ_OP(elm, field) \ + if ((elm)->field.tqe_next && \ + (elm)->field.tqe_next->field.tqe_prev != \ + &(elm)->field.tqe_next) \ + QUEUEDEBUG_ABORT("TAILQ_* forw %p %s:%d", (elm), \ + __FILE__, __LINE__); \ + if (*(elm)->field.tqe_prev != (elm)) \ + QUEUEDEBUG_ABORT("TAILQ_* back %p %s:%d", (elm), \ + __FILE__, __LINE__); +#define QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field) \ + if ((elm)->field.tqe_next == NULL && \ + (head)->tqh_last != &(elm)->field.tqe_next) \ + QUEUEDEBUG_ABORT("TAILQ_PREREMOVE head %p elm %p %s:%d",\ + (head), (elm), __FILE__, __LINE__); +#define QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field) \ + (elm)->field.tqe_next = (void *)1L; \ + (elm)->field.tqe_prev = (void *)1L; +#else +#define QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field) +#define QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field) +#define QUEUEDEBUG_TAILQ_OP(elm, field) +#define QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field) +#define QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field) +#endif + +#define TAILQ_INIT(head) do { \ + (head)->tqh_first = TAILQ_END(head); \ + (head)->tqh_last = &(head)->tqh_first; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_INSERT_HEAD(head, elm, field) do { \ + QUEUEDEBUG_TAILQ_INSERT_HEAD((head), (elm), field) \ + if (((elm)->field.tqe_next = (head)->tqh_first) != TAILQ_END(head))\ + (head)->tqh_first->field.tqe_prev = \ + &(elm)->field.tqe_next; \ + else \ + (head)->tqh_last = &(elm)->field.tqe_next; \ + (head)->tqh_first = (elm); \ + (elm)->field.tqe_prev = &(head)->tqh_first; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_INSERT_TAIL(head, elm, field) do { \ + QUEUEDEBUG_TAILQ_INSERT_TAIL((head), (elm), field) \ + (elm)->field.tqe_next = TAILQ_END(head); \ + (elm)->field.tqe_prev = (head)->tqh_last; \ + *(head)->tqh_last = (elm); \ + (head)->tqh_last = &(elm)->field.tqe_next; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ + QUEUEDEBUG_TAILQ_OP((listelm), field) \ + if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != \ + TAILQ_END(head)) \ + (elm)->field.tqe_next->field.tqe_prev = \ + &(elm)->field.tqe_next; \ + else \ + (head)->tqh_last = &(elm)->field.tqe_next; \ + (listelm)->field.tqe_next = (elm); \ + (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ + QUEUEDEBUG_TAILQ_OP((listelm), field) \ + (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ + (elm)->field.tqe_next = (listelm); \ + *(listelm)->field.tqe_prev = (elm); \ + (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_REMOVE(head, elm, field) do { \ + QUEUEDEBUG_TAILQ_PREREMOVE((head), (elm), field) \ + QUEUEDEBUG_TAILQ_OP((elm), field) \ + if (((elm)->field.tqe_next) != TAILQ_END(head)) \ + (elm)->field.tqe_next->field.tqe_prev = \ + (elm)->field.tqe_prev; \ + else \ + (head)->tqh_last = (elm)->field.tqe_prev; \ + *(elm)->field.tqe_prev = (elm)->field.tqe_next; \ + QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field); \ +} while (/*CONSTCOND*/0) + +#define TAILQ_REPLACE(head, elm, elm2, field) do { \ + if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != \ + TAILQ_END(head)) \ + (elm2)->field.tqe_next->field.tqe_prev = \ + &(elm2)->field.tqe_next; \ + else \ + (head)->tqh_last = &(elm2)->field.tqe_next; \ + (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \ + *(elm2)->field.tqe_prev = (elm2); \ + QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field); \ +} while (/*CONSTCOND*/0) + +#define TAILQ_CONCAT(head1, head2, field) do { \ + if (!TAILQ_EMPTY(head2)) { \ + *(head1)->tqh_last = (head2)->tqh_first; \ + (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \ + (head1)->tqh_last = (head2)->tqh_last; \ + TAILQ_INIT((head2)); \ + } \ +} while (/*CONSTCOND*/0) + +/* + * Singly-linked Tail queue declarations. + */ +#define STAILQ_HEAD(name, type) \ +struct name { \ + struct type *stqh_first; /* first element */ \ + struct type **stqh_last; /* addr of last next element */ \ +} + +#define STAILQ_HEAD_INITIALIZER(head) \ + { NULL, &(head).stqh_first } + +#define STAILQ_ENTRY(type) \ +struct { \ + struct type *stqe_next; /* next element */ \ +} + +/* + * Singly-linked Tail queue access methods. + */ +#define STAILQ_FIRST(head) ((head)->stqh_first) +#define STAILQ_END(head) NULL +#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) +#define STAILQ_EMPTY(head) (STAILQ_FIRST(head) == STAILQ_END(head)) + +/* + * Singly-linked Tail queue functions. + */ +#define STAILQ_INIT(head) do { \ + (head)->stqh_first = NULL; \ + (head)->stqh_last = &(head)->stqh_first; \ +} while (/*CONSTCOND*/0) + +#define STAILQ_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \ + (head)->stqh_last = &(elm)->field.stqe_next; \ + (head)->stqh_first = (elm); \ +} while (/*CONSTCOND*/0) + +#define STAILQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.stqe_next = NULL; \ + *(head)->stqh_last = (elm); \ + (head)->stqh_last = &(elm)->field.stqe_next; \ +} while (/*CONSTCOND*/0) + +#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ + if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ + (head)->stqh_last = &(elm)->field.stqe_next; \ + (listelm)->field.stqe_next = (elm); \ +} while (/*CONSTCOND*/0) + +#define STAILQ_REMOVE_HEAD(head, field) do { \ + if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \ + (head)->stqh_last = &(head)->stqh_first; \ +} while (/*CONSTCOND*/0) + +#define STAILQ_REMOVE(head, elm, type, field) do { \ + if ((head)->stqh_first == (elm)) { \ + STAILQ_REMOVE_HEAD((head), field); \ + } else { \ + struct type *curelm = (head)->stqh_first; \ + while (curelm->field.stqe_next != (elm)) \ + curelm = curelm->field.stqe_next; \ + if ((curelm->field.stqe_next = \ + curelm->field.stqe_next->field.stqe_next) == NULL) \ + (head)->stqh_last = &(curelm)->field.stqe_next; \ + } \ +} while (/*CONSTCOND*/0) + +#define STAILQ_FOREACH(var, head, field) \ + for ((var) = ((head)->stqh_first); \ + (var); \ + (var) = ((var)->field.stqe_next)) + +#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = STAILQ_FIRST((head)); \ + (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ + (var) = (tvar)) + +#define STAILQ_CONCAT(head1, head2) do { \ + if (!STAILQ_EMPTY((head2))) { \ + *(head1)->stqh_last = (head2)->stqh_first; \ + (head1)->stqh_last = (head2)->stqh_last; \ + STAILQ_INIT((head2)); \ + } \ +} while (/*CONSTCOND*/0) + +#define STAILQ_LAST(head, type, field) \ + (STAILQ_EMPTY((head)) ? \ + NULL : \ + ((struct type *)(void *) \ + ((char *)((head)->stqh_last) - offsetof(struct type, field)))) + + +#ifndef _KERNEL +/* + * Circular queue definitions. Do not use. We still keep the macros + * for compatibility but because of pointer aliasing issues their use + * is discouraged! + */ + +/* + * __launder_type(): We use this ugly hack to work around the the compiler + * noticing that two types may not alias each other and elide tests in code. + * We hit this in the CIRCLEQ macros when comparing 'struct name *' and + * 'struct type *' (see CIRCLEQ_HEAD()). Modern compilers (such as GCC + * 4.8) declare these comparisons as always false, causing the code to + * not run as designed. + * + * This hack is only to be used for comparisons and thus can be fully const. + * Do not use for assignment. + * + * If we ever choose to change the ABI of the CIRCLEQ macros, we could fix + * this by changing the head/tail sentinal values, but see the note above + * this one. + */ +static __inline const void * __launder_type(const void *); +static __inline const void * +__launder_type(const void *__x) +{ + __asm __volatile("" : "+r" (__x)); + return __x; +} + +#if defined(QUEUEDEBUG) +#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field) \ + if ((head)->cqh_first != CIRCLEQ_ENDC(head) && \ + (head)->cqh_first->field.cqe_prev != CIRCLEQ_ENDC(head)) \ + QUEUEDEBUG_ABORT("CIRCLEQ head forw %p %s:%d", (head), \ + __FILE__, __LINE__); \ + if ((head)->cqh_last != CIRCLEQ_ENDC(head) && \ + (head)->cqh_last->field.cqe_next != CIRCLEQ_ENDC(head)) \ + QUEUEDEBUG_ABORT("CIRCLEQ head back %p %s:%d", (head), \ + __FILE__, __LINE__); +#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field) \ + if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) { \ + if ((head)->cqh_last != (elm)) \ + QUEUEDEBUG_ABORT("CIRCLEQ elm last %p %s:%d", \ + (elm), __FILE__, __LINE__); \ + } else { \ + if ((elm)->field.cqe_next->field.cqe_prev != (elm)) \ + QUEUEDEBUG_ABORT("CIRCLEQ elm forw %p %s:%d", \ + (elm), __FILE__, __LINE__); \ + } \ + if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) { \ + if ((head)->cqh_first != (elm)) \ + QUEUEDEBUG_ABORT("CIRCLEQ elm first %p %s:%d", \ + (elm), __FILE__, __LINE__); \ + } else { \ + if ((elm)->field.cqe_prev->field.cqe_next != (elm)) \ + QUEUEDEBUG_ABORT("CIRCLEQ elm prev %p %s:%d", \ + (elm), __FILE__, __LINE__); \ + } +#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field) \ + (elm)->field.cqe_next = (void *)1L; \ + (elm)->field.cqe_prev = (void *)1L; +#else +#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field) +#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field) +#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field) +#endif + +#define CIRCLEQ_HEAD(name, type) \ +struct name { \ + struct type *cqh_first; /* first element */ \ + struct type *cqh_last; /* last element */ \ +} + +#define CIRCLEQ_HEAD_INITIALIZER(head) \ + { CIRCLEQ_END(&head), CIRCLEQ_END(&head) } + +#define CIRCLEQ_ENTRY(type) \ +struct { \ + struct type *cqe_next; /* next element */ \ + struct type *cqe_prev; /* previous element */ \ +} + +/* + * Circular queue functions. + */ +#define CIRCLEQ_INIT(head) do { \ + (head)->cqh_first = CIRCLEQ_END(head); \ + (head)->cqh_last = CIRCLEQ_END(head); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ + QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \ + QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field) \ + (elm)->field.cqe_next = (listelm)->field.cqe_next; \ + (elm)->field.cqe_prev = (listelm); \ + if ((listelm)->field.cqe_next == CIRCLEQ_ENDC(head)) \ + (head)->cqh_last = (elm); \ + else \ + (listelm)->field.cqe_next->field.cqe_prev = (elm); \ + (listelm)->field.cqe_next = (elm); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ + QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \ + QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field) \ + (elm)->field.cqe_next = (listelm); \ + (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \ + if ((listelm)->field.cqe_prev == CIRCLEQ_ENDC(head)) \ + (head)->cqh_first = (elm); \ + else \ + (listelm)->field.cqe_prev->field.cqe_next = (elm); \ + (listelm)->field.cqe_prev = (elm); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ + QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \ + (elm)->field.cqe_next = (head)->cqh_first; \ + (elm)->field.cqe_prev = CIRCLEQ_END(head); \ + if ((head)->cqh_last == CIRCLEQ_ENDC(head)) \ + (head)->cqh_last = (elm); \ + else \ + (head)->cqh_first->field.cqe_prev = (elm); \ + (head)->cqh_first = (elm); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ + QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \ + (elm)->field.cqe_next = CIRCLEQ_END(head); \ + (elm)->field.cqe_prev = (head)->cqh_last; \ + if ((head)->cqh_first == CIRCLEQ_ENDC(head)) \ + (head)->cqh_first = (elm); \ + else \ + (head)->cqh_last->field.cqe_next = (elm); \ + (head)->cqh_last = (elm); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_REMOVE(head, elm, field) do { \ + QUEUEDEBUG_CIRCLEQ_HEAD((head), field) \ + QUEUEDEBUG_CIRCLEQ_ELM((head), (elm), field) \ + if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) \ + (head)->cqh_last = (elm)->field.cqe_prev; \ + else \ + (elm)->field.cqe_next->field.cqe_prev = \ + (elm)->field.cqe_prev; \ + if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) \ + (head)->cqh_first = (elm)->field.cqe_next; \ + else \ + (elm)->field.cqe_prev->field.cqe_next = \ + (elm)->field.cqe_next; \ + QUEUEDEBUG_CIRCLEQ_POSTREMOVE((elm), field) \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_FOREACH(var, head, field) \ + for ((var) = ((head)->cqh_first); \ + (var) != CIRCLEQ_ENDC(head); \ + (var) = ((var)->field.cqe_next)) + +#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ + for ((var) = ((head)->cqh_last); \ + (var) != CIRCLEQ_ENDC(head); \ + (var) = ((var)->field.cqe_prev)) + +/* + * Circular queue access methods. + */ +#define CIRCLEQ_FIRST(head) ((head)->cqh_first) +#define CIRCLEQ_LAST(head) ((head)->cqh_last) +/* For comparisons */ +#define CIRCLEQ_ENDC(head) (__launder_type(head)) +/* For assignments */ +#define CIRCLEQ_END(head) ((void *)(head)) +#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) +#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) +#define CIRCLEQ_EMPTY(head) \ + (CIRCLEQ_FIRST(head) == CIRCLEQ_ENDC(head)) + +#define CIRCLEQ_LOOP_NEXT(head, elm, field) \ + (((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) \ + ? ((head)->cqh_first) \ + : (elm->field.cqe_next)) +#define CIRCLEQ_LOOP_PREV(head, elm, field) \ + (((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) \ + ? ((head)->cqh_last) \ + : (elm->field.cqe_prev)) +#endif /* !_KERNEL */ + +#endif /* !_SYS_QUEUE_H_ */ diff --git a/core/musl/files/tree.h b/core/musl/files/tree.h new file mode 100755 index 0000000..eaea56a --- /dev/null +++ b/core/musl/files/tree.h @@ -0,0 +1,761 @@ +/* $NetBSD: tree.h,v 1.20 2013/09/14 13:20:45 joerg Exp $ */ +/* $OpenBSD: tree.h,v 1.13 2011/07/09 00:19:45 pirofti Exp $ */ +/* + * Copyright 2002 Niels Provos + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _SYS_TREE_H_ +#define _SYS_TREE_H_ + +/* + * This file defines data structures for different types of trees: + * splay trees and red-black trees. + * + * A splay tree is a self-organizing data structure. Every operation + * on the tree causes a splay to happen. The splay moves the requested + * node to the root of the tree and partly rebalances it. + * + * This has the benefit that request locality causes faster lookups as + * the requested nodes move to the top of the tree. On the other hand, + * every lookup causes memory writes. + * + * The Balance Theorem bounds the total access time for m operations + * and n inserts on an initially empty tree as O((m + n)lg n). The + * amortized cost for a sequence of m accesses to a splay tree is O(lg n); + * + * A red-black tree is a binary search tree with the node color as an + * extra attribute. It fulfills a set of conditions: + * - every search path from the root to a leaf consists of the + * same number of black nodes, + * - each red node (except for the root) has a black parent, + * - each leaf node is black. + * + * Every operation on a red-black tree is bounded as O(lg n). + * The maximum height of a red-black tree is 2lg (n+1). + */ + +#define SPLAY_HEAD(name, type) \ +struct name { \ + struct type *sph_root; /* root of the tree */ \ +} + +#define SPLAY_INITIALIZER(root) \ + { NULL } + +#define SPLAY_INIT(root) do { \ + (root)->sph_root = NULL; \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_ENTRY(type) \ +struct { \ + struct type *spe_left; /* left element */ \ + struct type *spe_right; /* right element */ \ +} + +#define SPLAY_LEFT(elm, field) (elm)->field.spe_left +#define SPLAY_RIGHT(elm, field) (elm)->field.spe_right +#define SPLAY_ROOT(head) (head)->sph_root +#define SPLAY_EMPTY(head) (SPLAY_ROOT(head) == NULL) + +/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */ +#define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \ + SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \ + SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ + (head)->sph_root = tmp; \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_ROTATE_LEFT(head, tmp, field) do { \ + SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \ + SPLAY_LEFT(tmp, field) = (head)->sph_root; \ + (head)->sph_root = tmp; \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_LINKLEFT(head, tmp, field) do { \ + SPLAY_LEFT(tmp, field) = (head)->sph_root; \ + tmp = (head)->sph_root; \ + (head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_LINKRIGHT(head, tmp, field) do { \ + SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ + tmp = (head)->sph_root; \ + (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \ +} while (/*CONSTCOND*/ 0) + +#define SPLAY_ASSEMBLE(head, node, left, right, field) do { \ + SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \ + SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field);\ + SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \ + SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \ +} while (/*CONSTCOND*/ 0) + +/* Generates prototypes and inline functions */ + +#define SPLAY_PROTOTYPE(name, type, field, cmp) \ +void name##_SPLAY(struct name *, struct type *); \ +void name##_SPLAY_MINMAX(struct name *, int); \ +struct type *name##_SPLAY_INSERT(struct name *, struct type *); \ +struct type *name##_SPLAY_REMOVE(struct name *, struct type *); \ + \ +/* Finds the node with the same key as elm */ \ +static __inline struct type * \ +name##_SPLAY_FIND(struct name *head, struct type *elm) \ +{ \ + if (SPLAY_EMPTY(head)) \ + return(NULL); \ + name##_SPLAY(head, elm); \ + if ((cmp)(elm, (head)->sph_root) == 0) \ + return (head->sph_root); \ + return (NULL); \ +} \ + \ +static __inline __unused struct type * \ +name##_SPLAY_NEXT(struct name *head, struct type *elm) \ +{ \ + name##_SPLAY(head, elm); \ + if (SPLAY_RIGHT(elm, field) != NULL) { \ + elm = SPLAY_RIGHT(elm, field); \ + while (SPLAY_LEFT(elm, field) != NULL) { \ + elm = SPLAY_LEFT(elm, field); \ + } \ + } else \ + elm = NULL; \ + return (elm); \ +} \ + \ +static __unused __inline struct type * \ +name##_SPLAY_MIN_MAX(struct name *head, int val) \ +{ \ + name##_SPLAY_MINMAX(head, val); \ + return (SPLAY_ROOT(head)); \ +} + +/* Main splay operation. + * Moves node close to the key of elm to top + */ +#define SPLAY_GENERATE(name, type, field, cmp) \ +struct type * \ +name##_SPLAY_INSERT(struct name *head, struct type *elm) \ +{ \ + if (SPLAY_EMPTY(head)) { \ + SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \ + } else { \ + int __comp; \ + name##_SPLAY(head, elm); \ + __comp = (cmp)(elm, (head)->sph_root); \ + if(__comp < 0) { \ + SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\ + SPLAY_RIGHT(elm, field) = (head)->sph_root; \ + SPLAY_LEFT((head)->sph_root, field) = NULL; \ + } else if (__comp > 0) { \ + SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\ + SPLAY_LEFT(elm, field) = (head)->sph_root; \ + SPLAY_RIGHT((head)->sph_root, field) = NULL; \ + } else \ + return ((head)->sph_root); \ + } \ + (head)->sph_root = (elm); \ + return (NULL); \ +} \ + \ +struct type * \ +name##_SPLAY_REMOVE(struct name *head, struct type *elm) \ +{ \ + struct type *__tmp; \ + if (SPLAY_EMPTY(head)) \ + return (NULL); \ + name##_SPLAY(head, elm); \ + if ((cmp)(elm, (head)->sph_root) == 0) { \ + if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \ + (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\ + } else { \ + __tmp = SPLAY_RIGHT((head)->sph_root, field); \ + (head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\ + name##_SPLAY(head, elm); \ + SPLAY_RIGHT((head)->sph_root, field) = __tmp; \ + } \ + return (elm); \ + } \ + return (NULL); \ +} \ + \ +void \ +name##_SPLAY(struct name *head, struct type *elm) \ +{ \ + struct type __node, *__left, *__right, *__tmp; \ + int __comp; \ +\ + SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\ + __left = __right = &__node; \ +\ + while ((__comp = (cmp)(elm, (head)->sph_root)) != 0) { \ + if (__comp < 0) { \ + __tmp = SPLAY_LEFT((head)->sph_root, field); \ + if (__tmp == NULL) \ + break; \ + if ((cmp)(elm, __tmp) < 0){ \ + SPLAY_ROTATE_RIGHT(head, __tmp, field); \ + if (SPLAY_LEFT((head)->sph_root, field) == NULL)\ + break; \ + } \ + SPLAY_LINKLEFT(head, __right, field); \ + } else if (__comp > 0) { \ + __tmp = SPLAY_RIGHT((head)->sph_root, field); \ + if (__tmp == NULL) \ + break; \ + if ((cmp)(elm, __tmp) > 0){ \ + SPLAY_ROTATE_LEFT(head, __tmp, field); \ + if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\ + break; \ + } \ + SPLAY_LINKRIGHT(head, __left, field); \ + } \ + } \ + SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ +} \ + \ +/* Splay with either the minimum or the maximum element \ + * Used to find minimum or maximum element in tree. \ + */ \ +void name##_SPLAY_MINMAX(struct name *head, int __comp) \ +{ \ + struct type __node, *__left, *__right, *__tmp; \ +\ + SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\ + __left = __right = &__node; \ +\ + while (1) { \ + if (__comp < 0) { \ + __tmp = SPLAY_LEFT((head)->sph_root, field); \ + if (__tmp == NULL) \ + break; \ + if (__comp < 0){ \ + SPLAY_ROTATE_RIGHT(head, __tmp, field); \ + if (SPLAY_LEFT((head)->sph_root, field) == NULL)\ + break; \ + } \ + SPLAY_LINKLEFT(head, __right, field); \ + } else if (__comp > 0) { \ + __tmp = SPLAY_RIGHT((head)->sph_root, field); \ + if (__tmp == NULL) \ + break; \ + if (__comp > 0) { \ + SPLAY_ROTATE_LEFT(head, __tmp, field); \ + if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\ + break; \ + } \ + SPLAY_LINKRIGHT(head, __left, field); \ + } \ + } \ + SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ +} + +#define SPLAY_NEGINF -1 +#define SPLAY_INF 1 + +#define SPLAY_INSERT(name, x, y) name##_SPLAY_INSERT(x, y) +#define SPLAY_REMOVE(name, x, y) name##_SPLAY_REMOVE(x, y) +#define SPLAY_FIND(name, x, y) name##_SPLAY_FIND(x, y) +#define SPLAY_NEXT(name, x, y) name##_SPLAY_NEXT(x, y) +#define SPLAY_MIN(name, x) (SPLAY_EMPTY(x) ? NULL \ + : name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF)) +#define SPLAY_MAX(name, x) (SPLAY_EMPTY(x) ? NULL \ + : name##_SPLAY_MIN_MAX(x, SPLAY_INF)) + +#define SPLAY_FOREACH(x, name, head) \ + for ((x) = SPLAY_MIN(name, head); \ + (x) != NULL; \ + (x) = SPLAY_NEXT(name, head, x)) + +/* Macros that define a red-black tree */ +#define RB_HEAD(name, type) \ +struct name { \ + struct type *rbh_root; /* root of the tree */ \ +} + +#define RB_INITIALIZER(root) \ + { NULL } + +#define RB_INIT(root) do { \ + (root)->rbh_root = NULL; \ +} while (/*CONSTCOND*/ 0) + +#define RB_BLACK 0 +#define RB_RED 1 +#define RB_ENTRY(type) \ +struct { \ + struct type *rbe_left; /* left element */ \ + struct type *rbe_right; /* right element */ \ + struct type *rbe_parent; /* parent element */ \ + int rbe_color; /* node color */ \ +} + +#define RB_LEFT(elm, field) (elm)->field.rbe_left +#define RB_RIGHT(elm, field) (elm)->field.rbe_right +#define RB_PARENT(elm, field) (elm)->field.rbe_parent +#define RB_COLOR(elm, field) (elm)->field.rbe_color +#define RB_ROOT(head) (head)->rbh_root +#define RB_EMPTY(head) (RB_ROOT(head) == NULL) + +#define RB_SET(elm, parent, field) do { \ + RB_PARENT(elm, field) = parent; \ + RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL; \ + RB_COLOR(elm, field) = RB_RED; \ +} while (/*CONSTCOND*/ 0) + +#define RB_SET_BLACKRED(black, red, field) do { \ + RB_COLOR(black, field) = RB_BLACK; \ + RB_COLOR(red, field) = RB_RED; \ +} while (/*CONSTCOND*/ 0) + +#ifndef RB_AUGMENT +#define RB_AUGMENT(x) do {} while (/*CONSTCOND*/ 0) +#endif + +#define RB_ROTATE_LEFT(head, elm, tmp, field) do { \ + (tmp) = RB_RIGHT(elm, field); \ + if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field)) != NULL) { \ + RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \ + } \ + RB_AUGMENT(elm); \ + if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field)) != NULL) { \ + if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ + RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ + else \ + RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ + } else \ + (head)->rbh_root = (tmp); \ + RB_LEFT(tmp, field) = (elm); \ + RB_PARENT(elm, field) = (tmp); \ + RB_AUGMENT(tmp); \ + if ((RB_PARENT(tmp, field))) \ + RB_AUGMENT(RB_PARENT(tmp, field)); \ +} while (/*CONSTCOND*/ 0) + +#define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \ + (tmp) = RB_LEFT(elm, field); \ + if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field)) != NULL) { \ + RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \ + } \ + RB_AUGMENT(elm); \ + if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field)) != NULL) { \ + if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ + RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ + else \ + RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ + } else \ + (head)->rbh_root = (tmp); \ + RB_RIGHT(tmp, field) = (elm); \ + RB_PARENT(elm, field) = (tmp); \ + RB_AUGMENT(tmp); \ + if ((RB_PARENT(tmp, field))) \ + RB_AUGMENT(RB_PARENT(tmp, field)); \ +} while (/*CONSTCOND*/ 0) + +/* Generates prototypes and inline functions */ +#define RB_PROTOTYPE(name, type, field, cmp) \ + RB_PROTOTYPE_INTERNAL(name, type, field, cmp,) +#define RB_PROTOTYPE_STATIC(name, type, field, cmp) \ + RB_PROTOTYPE_INTERNAL(name, type, field, cmp, __unused static) +#define RB_PROTOTYPE_INTERNAL(name, type, field, cmp, attr) \ +attr void name##_RB_INSERT_COLOR(struct name *, struct type *); \ +attr void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\ +attr struct type *name##_RB_REMOVE(struct name *, struct type *); \ +attr struct type *name##_RB_INSERT(struct name *, struct type *); \ +attr struct type *name##_RB_FIND(struct name *, struct type *); \ +attr struct type *name##_RB_NFIND(struct name *, struct type *); \ +attr struct type *name##_RB_NEXT(struct type *); \ +attr struct type *name##_RB_PREV(struct type *); \ +attr struct type *name##_RB_MINMAX(struct name *, int); \ + \ + +/* Main rb operation. + * Moves node close to the key of elm to top + */ +#define RB_GENERATE(name, type, field, cmp) \ + RB_GENERATE_INTERNAL(name, type, field, cmp,) +#define RB_GENERATE_STATIC(name, type, field, cmp) \ + RB_GENERATE_INTERNAL(name, type, field, cmp, __unused static) +#define RB_GENERATE_INTERNAL(name, type, field, cmp, attr) \ +attr void \ +name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \ +{ \ + struct type *parent, *gparent, *tmp; \ + while ((parent = RB_PARENT(elm, field)) != NULL && \ + RB_COLOR(parent, field) == RB_RED) { \ + gparent = RB_PARENT(parent, field); \ + if (parent == RB_LEFT(gparent, field)) { \ + tmp = RB_RIGHT(gparent, field); \ + if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ + RB_COLOR(tmp, field) = RB_BLACK; \ + RB_SET_BLACKRED(parent, gparent, field);\ + elm = gparent; \ + continue; \ + } \ + if (RB_RIGHT(parent, field) == elm) { \ + RB_ROTATE_LEFT(head, parent, tmp, field);\ + tmp = parent; \ + parent = elm; \ + elm = tmp; \ + } \ + RB_SET_BLACKRED(parent, gparent, field); \ + RB_ROTATE_RIGHT(head, gparent, tmp, field); \ + } else { \ + tmp = RB_LEFT(gparent, field); \ + if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ + RB_COLOR(tmp, field) = RB_BLACK; \ + RB_SET_BLACKRED(parent, gparent, field);\ + elm = gparent; \ + continue; \ + } \ + if (RB_LEFT(parent, field) == elm) { \ + RB_ROTATE_RIGHT(head, parent, tmp, field);\ + tmp = parent; \ + parent = elm; \ + elm = tmp; \ + } \ + RB_SET_BLACKRED(parent, gparent, field); \ + RB_ROTATE_LEFT(head, gparent, tmp, field); \ + } \ + } \ + RB_COLOR(head->rbh_root, field) = RB_BLACK; \ +} \ + \ +attr void \ +name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm) \ +{ \ + struct type *tmp; \ + while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \ + elm != RB_ROOT(head)) { \ + if (RB_LEFT(parent, field) == elm) { \ + tmp = RB_RIGHT(parent, field); \ + if (RB_COLOR(tmp, field) == RB_RED) { \ + RB_SET_BLACKRED(tmp, parent, field); \ + RB_ROTATE_LEFT(head, parent, tmp, field);\ + tmp = RB_RIGHT(parent, field); \ + } \ + if ((RB_LEFT(tmp, field) == NULL || \ + RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\ + (RB_RIGHT(tmp, field) == NULL || \ + RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\ + RB_COLOR(tmp, field) = RB_RED; \ + elm = parent; \ + parent = RB_PARENT(elm, field); \ + } else { \ + if (RB_RIGHT(tmp, field) == NULL || \ + RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK) {\ + struct type *oleft; \ + if ((oleft = RB_LEFT(tmp, field)) \ + != NULL) \ + RB_COLOR(oleft, field) = RB_BLACK;\ + RB_COLOR(tmp, field) = RB_RED; \ + RB_ROTATE_RIGHT(head, tmp, oleft, field);\ + tmp = RB_RIGHT(parent, field); \ + } \ + RB_COLOR(tmp, field) = RB_COLOR(parent, field);\ + RB_COLOR(parent, field) = RB_BLACK; \ + if (RB_RIGHT(tmp, field)) \ + RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK;\ + RB_ROTATE_LEFT(head, parent, tmp, field);\ + elm = RB_ROOT(head); \ + break; \ + } \ + } else { \ + tmp = RB_LEFT(parent, field); \ + if (RB_COLOR(tmp, field) == RB_RED) { \ + RB_SET_BLACKRED(tmp, parent, field); \ + RB_ROTATE_RIGHT(head, parent, tmp, field);\ + tmp = RB_LEFT(parent, field); \ + } \ + if ((RB_LEFT(tmp, field) == NULL || \ + RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\ + (RB_RIGHT(tmp, field) == NULL || \ + RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\ + RB_COLOR(tmp, field) = RB_RED; \ + elm = parent; \ + parent = RB_PARENT(elm, field); \ + } else { \ + if (RB_LEFT(tmp, field) == NULL || \ + RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) {\ + struct type *oright; \ + if ((oright = RB_RIGHT(tmp, field)) \ + != NULL) \ + RB_COLOR(oright, field) = RB_BLACK;\ + RB_COLOR(tmp, field) = RB_RED; \ + RB_ROTATE_LEFT(head, tmp, oright, field);\ + tmp = RB_LEFT(parent, field); \ + } \ + RB_COLOR(tmp, field) = RB_COLOR(parent, field);\ + RB_COLOR(parent, field) = RB_BLACK; \ + if (RB_LEFT(tmp, field)) \ + RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK;\ + RB_ROTATE_RIGHT(head, parent, tmp, field);\ + elm = RB_ROOT(head); \ + break; \ + } \ + } \ + } \ + if (elm) \ + RB_COLOR(elm, field) = RB_BLACK; \ +} \ + \ +attr struct type * \ +name##_RB_REMOVE(struct name *head, struct type *elm) \ +{ \ + struct type *child, *parent, *old = elm; \ + int color; \ + if (RB_LEFT(elm, field) == NULL) \ + child = RB_RIGHT(elm, field); \ + else if (RB_RIGHT(elm, field) == NULL) \ + child = RB_LEFT(elm, field); \ + else { \ + struct type *left; \ + elm = RB_RIGHT(elm, field); \ + while ((left = RB_LEFT(elm, field)) != NULL) \ + elm = left; \ + child = RB_RIGHT(elm, field); \ + parent = RB_PARENT(elm, field); \ + color = RB_COLOR(elm, field); \ + if (child) \ + RB_PARENT(child, field) = parent; \ + if (parent) { \ + if (RB_LEFT(parent, field) == elm) \ + RB_LEFT(parent, field) = child; \ + else \ + RB_RIGHT(parent, field) = child; \ + RB_AUGMENT(parent); \ + } else \ + RB_ROOT(head) = child; \ + if (RB_PARENT(elm, field) == old) \ + parent = elm; \ + (elm)->field = (old)->field; \ + if (RB_PARENT(old, field)) { \ + if (RB_LEFT(RB_PARENT(old, field), field) == old)\ + RB_LEFT(RB_PARENT(old, field), field) = elm;\ + else \ + RB_RIGHT(RB_PARENT(old, field), field) = elm;\ + RB_AUGMENT(RB_PARENT(old, field)); \ + } else \ + RB_ROOT(head) = elm; \ + RB_PARENT(RB_LEFT(old, field), field) = elm; \ + if (RB_RIGHT(old, field)) \ + RB_PARENT(RB_RIGHT(old, field), field) = elm; \ + if (parent) { \ + left = parent; \ + do { \ + RB_AUGMENT(left); \ + } while ((left = RB_PARENT(left, field)) != NULL); \ + } \ + goto color; \ + } \ + parent = RB_PARENT(elm, field); \ + color = RB_COLOR(elm, field); \ + if (child) \ + RB_PARENT(child, field) = parent; \ + if (parent) { \ + if (RB_LEFT(parent, field) == elm) \ + RB_LEFT(parent, field) = child; \ + else \ + RB_RIGHT(parent, field) = child; \ + RB_AUGMENT(parent); \ + } else \ + RB_ROOT(head) = child; \ +color: \ + if (color == RB_BLACK) \ + name##_RB_REMOVE_COLOR(head, parent, child); \ + return (old); \ +} \ + \ +/* Inserts a node into the RB tree */ \ +attr struct type * \ +name##_RB_INSERT(struct name *head, struct type *elm) \ +{ \ + struct type *tmp; \ + struct type *parent = NULL; \ + int comp = 0; \ + tmp = RB_ROOT(head); \ + while (tmp) { \ + parent = tmp; \ + comp = (cmp)(elm, parent); \ + if (comp < 0) \ + tmp = RB_LEFT(tmp, field); \ + else if (comp > 0) \ + tmp = RB_RIGHT(tmp, field); \ + else \ + return (tmp); \ + } \ + RB_SET(elm, parent, field); \ + if (parent != NULL) { \ + if (comp < 0) \ + RB_LEFT(parent, field) = elm; \ + else \ + RB_RIGHT(parent, field) = elm; \ + RB_AUGMENT(parent); \ + } else \ + RB_ROOT(head) = elm; \ + name##_RB_INSERT_COLOR(head, elm); \ + return (NULL); \ +} \ + \ +/* Finds the node with the same key as elm */ \ +attr struct type * \ +name##_RB_FIND(struct name *head, struct type *elm) \ +{ \ + struct type *tmp = RB_ROOT(head); \ + int comp; \ + while (tmp) { \ + comp = cmp(elm, tmp); \ + if (comp < 0) \ + tmp = RB_LEFT(tmp, field); \ + else if (comp > 0) \ + tmp = RB_RIGHT(tmp, field); \ + else \ + return (tmp); \ + } \ + return (NULL); \ +} \ + \ +/* Finds the first node greater than or equal to the search key */ \ +attr struct type * \ +name##_RB_NFIND(struct name *head, struct type *elm) \ +{ \ + struct type *tmp = RB_ROOT(head); \ + struct type *res = NULL; \ + int comp; \ + while (tmp) { \ + comp = cmp(elm, tmp); \ + if (comp < 0) { \ + res = tmp; \ + tmp = RB_LEFT(tmp, field); \ + } \ + else if (comp > 0) \ + tmp = RB_RIGHT(tmp, field); \ + else \ + return (tmp); \ + } \ + return (res); \ +} \ + \ +/* ARGSUSED */ \ +attr struct type * \ +name##_RB_NEXT(struct type *elm) \ +{ \ + if (RB_RIGHT(elm, field)) { \ + elm = RB_RIGHT(elm, field); \ + while (RB_LEFT(elm, field)) \ + elm = RB_LEFT(elm, field); \ + } else { \ + if (RB_PARENT(elm, field) && \ + (elm == RB_LEFT(RB_PARENT(elm, field), field))) \ + elm = RB_PARENT(elm, field); \ + else { \ + while (RB_PARENT(elm, field) && \ + (elm == RB_RIGHT(RB_PARENT(elm, field), field)))\ + elm = RB_PARENT(elm, field); \ + elm = RB_PARENT(elm, field); \ + } \ + } \ + return (elm); \ +} \ + \ +/* ARGSUSED */ \ +attr struct type * \ +name##_RB_PREV(struct type *elm) \ +{ \ + if (RB_LEFT(elm, field)) { \ + elm = RB_LEFT(elm, field); \ + while (RB_RIGHT(elm, field)) \ + elm = RB_RIGHT(elm, field); \ + } else { \ + if (RB_PARENT(elm, field) && \ + (elm == RB_RIGHT(RB_PARENT(elm, field), field))) \ + elm = RB_PARENT(elm, field); \ + else { \ + while (RB_PARENT(elm, field) && \ + (elm == RB_LEFT(RB_PARENT(elm, field), field)))\ + elm = RB_PARENT(elm, field); \ + elm = RB_PARENT(elm, field); \ + } \ + } \ + return (elm); \ +} \ + \ +attr struct type * \ +name##_RB_MINMAX(struct name *head, int val) \ +{ \ + struct type *tmp = RB_ROOT(head); \ + struct type *parent = NULL; \ + while (tmp) { \ + parent = tmp; \ + if (val < 0) \ + tmp = RB_LEFT(tmp, field); \ + else \ + tmp = RB_RIGHT(tmp, field); \ + } \ + return (parent); \ +} + +#define RB_NEGINF -1 +#define RB_INF 1 + +#define RB_INSERT(name, x, y) name##_RB_INSERT(x, y) +#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y) +#define RB_FIND(name, x, y) name##_RB_FIND(x, y) +#define RB_NFIND(name, x, y) name##_RB_NFIND(x, y) +#define RB_NEXT(name, x, y) name##_RB_NEXT(y) +#define RB_PREV(name, x, y) name##_RB_PREV(y) +#define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF) +#define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF) + +#define RB_FOREACH(x, name, head) \ + for ((x) = RB_MIN(name, head); \ + (x) != NULL; \ + (x) = name##_RB_NEXT(x)) + +#define RB_FOREACH_FROM(x, name, y) \ + for ((x) = (y); \ + ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL); \ + (x) = (y)) + +#define RB_FOREACH_SAFE(x, name, head, y) \ + for ((x) = RB_MIN(name, head); \ + ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL); \ + (x) = (y)) + +#define RB_FOREACH_REVERSE(x, name, head) \ + for ((x) = RB_MAX(name, head); \ + (x) != NULL; \ + (x) = name##_RB_PREV(x)) + +#define RB_FOREACH_REVERSE_FROM(x, name, y) \ + for ((x) = (y); \ + ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL); \ + (x) = (y)) + +#define RB_FOREACH_REVERSE_SAFE(x, name, head, y) \ + for ((x) = RB_MAX(name, head); \ + ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL); \ + (x) = (y)) + +#endif /* _SYS_TREE_H_ */ diff --git a/core/musl/sources b/core/musl/sources new file mode 100644 index 0000000..f9e8b81 --- /dev/null +++ b/core/musl/sources @@ -0,0 +1,6 @@ +https://www.musl-libc.org/releases/musl-1.2.2.tar.gz +files/cdefs.h +files/queue.h +files/tree.h +files/getconf.c +files/getent.c diff --git a/core/musl/version b/core/musl/version new file mode 100644 index 0000000..5266927 --- /dev/null +++ b/core/musl/version @@ -0,0 +1 @@ +1.2.2 1 diff --git a/extra/mutt/build b/core/mutt/build similarity index 83% rename from extra/mutt/build rename to core/mutt/build index bf755b7..79a1321 100755 --- a/extra/mutt/build +++ b/core/mutt/build @@ -4,7 +4,8 @@ --prefix=/usr \ --sysconfdir=/etc \ --enable-smtp \ - --with-ssl + --with-ssl \ + --with-sasl make make DESTDIR="$1" install diff --git a/extra/mutt/checksums b/core/mutt/checksums similarity index 100% rename from extra/mutt/checksums rename to core/mutt/checksums diff --git a/extra/mutt/depends b/core/mutt/depends similarity index 53% rename from extra/mutt/depends rename to core/mutt/depends index 0a64713..d23520b 100644 --- a/extra/mutt/depends +++ b/core/mutt/depends @@ -1,3 +1,5 @@ +cyrus-sasl +libressl ncurses perl make zlib diff --git a/extra/mutt/sources b/core/mutt/sources similarity index 100% rename from extra/mutt/sources rename to core/mutt/sources diff --git a/core/mutt/version b/core/mutt/version new file mode 100644 index 0000000..ef86239 --- /dev/null +++ b/core/mutt/version @@ -0,0 +1 @@ +2.1.0 1 diff --git a/core/ncurses/version b/core/ncurses/version index 724191a..1fa8eec 100644 --- a/core/ncurses/version +++ b/core/ncurses/version @@ -1 +1 @@ -6.2 5 +6.2 1 diff --git a/core/npth/build b/core/npth/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core/npth/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core/npth/checksums b/core/npth/checksums new file mode 100644 index 0000000..22a525b --- /dev/null +++ b/core/npth/checksums @@ -0,0 +1 @@ +1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1 npth-1.6.tar.bz2 diff --git a/core/npth/sources b/core/npth/sources new file mode 100644 index 0000000..1ed1414 --- /dev/null +++ b/core/npth/sources @@ -0,0 +1 @@ +https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2 diff --git a/core/npth/version b/core/npth/version new file mode 100644 index 0000000..14aaeb3 --- /dev/null +++ b/core/npth/version @@ -0,0 +1 @@ +1.6 1 diff --git a/core/opendoas/checksums b/core/opendoas/checksums index ff26472..44ffae8 100644 --- a/core/opendoas/checksums +++ b/core/opendoas/checksums @@ -1,2 +1,2 @@ 828d9dfd9347ccfdd5d71f090632e31c9af16ada010a8963f188b1deb311e873 -846a251c646e61329086eda6abde26329f5a358d5eeab1a0f075db36e5997687 +e9f69e9760fae6d95250bd2634265ab27a6c58ab2628f4b022dcae6a7be216d2 diff --git a/core/opendoas/files/doas.conf b/core/opendoas/files/doas.conf index 687322c..8d05edb 100644 --- a/core/opendoas/files/doas.conf +++ b/core/opendoas/files/doas.conf @@ -17,13 +17,13 @@ # # I'm working on a better overall solution. -# Allow wheel to run kiss with password required. +# Allow wheel to run asd with password required. # permit persist :wheel cmd env # permit persist :wheel cmd git args fetch # permit persist :wheel cmd git args diff # permit persist :wheel cmd git args merge -# Allow wheel to run kiss without a password. +# Allow wheel to run asd without a password. # permit nopass :wheel cmd env # permit nopass :wheel cmd git args fetch # permit nopass :wheel cmd git args diff diff --git a/core/opendoas/version b/core/opendoas/version index ad80fa9..3957d4e 100644 --- a/core/opendoas/version +++ b/core/opendoas/version @@ -1 +1 @@ -6.9 2 +6.9 1 diff --git a/core/perl/build b/core/perl/build new file mode 100755 index 0000000..8f369e2 --- /dev/null +++ b/core/perl/build @@ -0,0 +1,43 @@ +#!/bin/sh -e + +export BUILD_ZLIB=0 +export BUILD_BZIP2=0 +export LDFLAGS="$LDFLAGS -pthread" +export CFLAGS="$CFLAGS -DNO_POSIX_2008_LOCALE -D_GNU_SOURCE" + +./Configure \ + -des \ + -Dprefix=/usr \ + -Dvendorprefix=/usr \ + -Dusevendorprefix \ + -Duseshrplib \ + -Dusesoname \ + -Dusethreads \ + -Dinc_version_list=none \ + -Dd_sockaddr_in6=define \ + -Dcccdlflags=-fPIC \ + -Dccflags="$CFLAGS" \ + -Dlddlflags="-shared $LDFLAGS" \ + -Dldflags="$LDFLAGS" \ + -Doptimize="-Wall $CFLAGS" \ + -Dcc="${CC:-cc}" \ + -Dar="${AR:-ar}" \ + -Dnm="${NM:-nm}" \ + -Dranlib="${RANLIB:-ranlib}" \ + -Dperl_static_inline="static __inline__" \ + -Dd_static_inline + +make +make DESTDIR="$1" install + +# Remove all unneeded files. +find "$1" -name \*.pod -exec rm -f {} + +find "$1" -name .packlist -exec rm -f {} + +find "$1" -name README\* -exec rm -f {} + +find "$1" -name TODO\* -exec rm -f {} + +find "$1" -name Change\* -exec rm -f {} + +find "$1" -name \*.bs -exec rm -f {} + +find "$1" -name \*.0 -type f -exec rm -f {} + + +# Fix permissions. +find "$1/usr/lib" -type f -exec chmod 644 {} \; diff --git a/core/perl/checksums b/core/perl/checksums new file mode 100644 index 0000000..cf9c549 --- /dev/null +++ b/core/perl/checksums @@ -0,0 +1 @@ +82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded diff --git a/core/perl/depends b/core/perl/depends new file mode 100644 index 0000000..4565337 --- /dev/null +++ b/core/perl/depends @@ -0,0 +1,2 @@ +bzip2 +zlib diff --git a/core/perl/sources b/core/perl/sources new file mode 100644 index 0000000..a06cabd --- /dev/null +++ b/core/perl/sources @@ -0,0 +1 @@ +https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz diff --git a/core/perl/version b/core/perl/version new file mode 100644 index 0000000..23cfb12 --- /dev/null +++ b/core/perl/version @@ -0,0 +1 @@ +5.34.0 1 diff --git a/core/pkgconf/build b/core/pkgconf/build new file mode 100755 index 0000000..503d3a7 --- /dev/null +++ b/core/pkgconf/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install + +ln -s pkgconf "$1/usr/bin/pkg-config" diff --git a/core/pkgconf/checksums b/core/pkgconf/checksums new file mode 100644 index 0000000..2041335 --- /dev/null +++ b/core/pkgconf/checksums @@ -0,0 +1 @@ +d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab diff --git a/core/pkgconf/sources b/core/pkgconf/sources new file mode 100644 index 0000000..ff1ef80 --- /dev/null +++ b/core/pkgconf/sources @@ -0,0 +1 @@ +https://distfiles.dereferenced.org/pkgconf/pkgconf-1.7.4.tar.xz diff --git a/core/pkgconf/version b/core/pkgconf/version new file mode 100644 index 0000000..d70531c --- /dev/null +++ b/core/pkgconf/version @@ -0,0 +1 @@ +1.7.4 1 diff --git a/core/samurai/build b/core/samurai/build new file mode 100755 index 0000000..1dd11b3 --- /dev/null +++ b/core/samurai/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +make PREFIX=/usr +make PREFIX=/usr DESTDIR="$1" install + +ln -s samu "$1/usr/bin/ninja" diff --git a/core/samurai/checksums b/core/samurai/checksums new file mode 100644 index 0000000..c688a25 --- /dev/null +++ b/core/samurai/checksums @@ -0,0 +1 @@ +3b8cf51548dfc49b7efe035e191ff5e1963ebc4fe8f6064a5eefc5343eaf78a5 diff --git a/core/samurai/sources b/core/samurai/sources new file mode 100644 index 0000000..2122189 --- /dev/null +++ b/core/samurai/sources @@ -0,0 +1 @@ +https://github.com/michaelforney/samurai/releases/download/1.2/samurai-1.2.tar.gz diff --git a/core/samurai/version b/core/samurai/version new file mode 100644 index 0000000..f76d834 --- /dev/null +++ b/core/samurai/version @@ -0,0 +1 @@ +1.2 1 diff --git a/core/sqlite/build b/core/sqlite/build new file mode 100755 index 0000000..e5325a5 --- /dev/null +++ b/core/sqlite/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +export CPPFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1" + +sed -i 's/ -ltinfo//g' configure + +./configure \ + --prefix=/usr \ + --enable-threadsafe \ + --enable-dynamic-extensions \ + --enable-fts5 + +make -j1 +make DESTDIR="$1" install diff --git a/core/sqlite/checksums b/core/sqlite/checksums new file mode 100644 index 0000000..54b3397 --- /dev/null +++ b/core/sqlite/checksums @@ -0,0 +1 @@ +bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 diff --git a/core/sqlite/depends b/core/sqlite/depends new file mode 100644 index 0000000..f22003e --- /dev/null +++ b/core/sqlite/depends @@ -0,0 +1 @@ +zlib diff --git a/core/sqlite/sources b/core/sqlite/sources new file mode 100644 index 0000000..84fc70a --- /dev/null +++ b/core/sqlite/sources @@ -0,0 +1 @@ +https://sqlite.org/2021/sqlite-autoconf-3360000.tar.gz diff --git a/core/sqlite/version b/core/sqlite/version new file mode 100644 index 0000000..21a73e1 --- /dev/null +++ b/core/sqlite/version @@ -0,0 +1 @@ +3.36.0 1 diff --git a/core/syslinux/build b/core/syslinux/build deleted file mode 100755 index 1b3e497..0000000 --- a/core/syslinux/build +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -e - -for file in *.patch; do - patch -p1 < "$file" -done - -# Fix missing include. -sed -i 's@vfs.h>@vfs.h>\n#include @' extlinux/main.c - -# Disable debugging and development "stuff". -: > mk/devel.mk - -make -j1 \ - PYTHON=python \ - bios efi64 installer - -make -j1 \ - INSTALLROOT="$1" \ - MANDIR=/usr/share/man \ - SBINDIR=/usr/bin \ - AUXDIR=/usr/lib/syslinux \ - bios efi64 install diff --git a/core/syslinux/checksums b/core/syslinux/checksums deleted file mode 100644 index 861b89a..0000000 --- a/core/syslinux/checksums +++ /dev/null @@ -1,3 +0,0 @@ -3f6d50a57f3ed47d8234fd0ab4492634eb7c9aaf7dd902f33d3ac33564fd631d -a4d9e4847a84c663a5c3425ceb1dcddf2328a8e763be21d43ed5cd72760a8aef -755cd7062fe8495f6f62053ce664451c12ae65dba9fb5c75062a495fbe040fb1 diff --git a/core/syslinux/depends b/core/syslinux/depends deleted file mode 100644 index 1d83681..0000000 --- a/core/syslinux/depends +++ /dev/null @@ -1,4 +0,0 @@ -libuuid -nasm make -perl make -python make diff --git a/core/syslinux/patches/0018-prevent-pow-optimization.patch b/core/syslinux/patches/0018-prevent-pow-optimization.patch deleted file mode 100644 index 0c42c7b..0000000 --- a/core/syslinux/patches/0018-prevent-pow-optimization.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Lukas Schwaighofer -Date: Tue, 26 Feb 2019 23:13:58 +0100 -Subject: Prevent optimizing the pow() function - -With the current GCC 8.2.0 from Debian, a section of code calling pow() in -zzjson_parse.c is turned into a sequence calling exp(). Since no exp() -implementation is available in syslinux those optimizations need to be -disabled. ---- - com32/gpllib/zzjson/zzjson_parse.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/com32/gpllib/zzjson/zzjson_parse.c b/com32/gpllib/zzjson/zzjson_parse.c -index ecb6f61..e66a9d8 100644 ---- a/com32/gpllib/zzjson/zzjson_parse.c -+++ b/com32/gpllib/zzjson/zzjson_parse.c -@@ -138,6 +138,10 @@ static ZZJSON *parse_string2(ZZJSON_CONFIG *config) { - return zzjson; - } - -+static double __attribute__((optimize("O0"))) pow_noopt(double x, double y) { -+ return pow(x, y); -+} -+ - static ZZJSON *parse_number(ZZJSON_CONFIG *config) { - ZZJSON *zzjson; - unsigned long long ival = 0, expo = 0; -@@ -213,7 +217,7 @@ skipexpo: - if (dbl) { - dval = sign * (long long) ival; - dval += sign * frac; -- dval *= pow(10.0, (double) signexpo * expo); -+ dval *= pow_noopt(10.0, (double) signexpo * expo); - } - - zzjson = config->calloc(1, sizeof(ZZJSON)); diff --git a/core/syslinux/patches/fcommon.patch b/core/syslinux/patches/fcommon.patch deleted file mode 100644 index 0df3dc0..0000000 --- a/core/syslinux/patches/fcommon.patch +++ /dev/null @@ -1,50 +0,0 @@ ---- a/mk/com32.mk -+++ b/mk/com32.mk -@@ -47,6 +47,7 @@ GCCOPT += $(call gcc_ok,-falign-functions=0,-malign-functions=0) - GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0) - GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0) - GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0) -+GCCOPT += $(call gcc_ok,-fcommon) - - ifeq ($(FWCLASS),EFI) - GCCOPT += -mno-red-zone ---- a/mk/elf.mk -+++ b/mk/elf.mk -@@ -42,6 +42,7 @@ GCCOPT += $(call gcc_ok,-falign-functions=0,-malign-functions=0) - GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0) - GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0) - GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0) -+GCCOPT += $(call gcc_ok,-fcommon) - - com32 = $(topdir)/com32 - core = $(topdir)/core ---- a/mk/embedded.mk -+++ b/mk/embedded.mk -@@ -51,6 +51,7 @@ GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0) - GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0) - GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0) - GCCOPT += $(call gcc_ok,-fvisibility=hidden) -+GCCOPT += $(call gcc_ok,-fcommon) - - LIBGCC := $(shell $(CC) $(GCCOPT) --print-libgcc) - ---- a/mk/lib.mk -+++ b/mk/lib.mk -@@ -28,6 +28,7 @@ GCCOPT += $(call gcc_ok,-falign-functions=0,-malign-functions=0) - GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0) - GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0) - GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0) -+GCCOPT += $(call gcc_ok,-fcommon) - - INCLUDE = -I$(SRC) - STRIP = strip --strip-all -R .comment -R .note ---- a/mk/efi.mk -+++ b/mk/efi.mk -@@ -7,7 +7,7 @@ core = $(topdir)/core - # Set up architecture specifics; for cross compilation, set ARCH as apt - # gnuefi sets up architecture specifics in ia32 or x86_64 sub directories - # set up the LIBDIR and EFIINC for building for the appropriate architecture --GCCOPT := $(call gcc_ok,-fno-stack-protector,) -+GCCOPT := $(call gcc_ok,-fno-stack-protector,) $(call gcc_ok,-fcommon) - EFIINC = $(objdir)/include/efi - LIBDIR = $(objdir)/lib diff --git a/core/syslinux/sources b/core/syslinux/sources deleted file mode 100644 index 8988a99..0000000 --- a/core/syslinux/sources +++ /dev/null @@ -1,3 +0,0 @@ -https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.04/syslinux-6.04-pre1.tar.xz -patches/fcommon.patch -patches/0018-prevent-pow-optimization.patch diff --git a/core/syslinux/version b/core/syslinux/version deleted file mode 100644 index 15f18f1..0000000 --- a/core/syslinux/version +++ /dev/null @@ -1 +0,0 @@ -6.04 1 diff --git a/core/tzdata/build b/core/tzdata/build new file mode 100755 index 0000000..589d250 --- /dev/null +++ b/core/tzdata/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +pkg_dir=$1 + +make CC="${CC:-cc}" +make DESTDIR="$1" ZICDIR=/usr/bin install + +set -- northamerica + +./zic -d "$pkg_dir/usr/share/zoneinfo" "$@" +./zic -d "$pkg_dir/usr/share/zoneinfo/posix" "$@" +./zic -d "$pkg_dir/usr/share/zoneinfo/right" -L leapseconds "$@" +./zic -d "$pkg_dir/usr/share/zoneinfo" -p America/New_York diff --git a/core/tzdata/checksums b/core/tzdata/checksums new file mode 100644 index 0000000..2c7b144 --- /dev/null +++ b/core/tzdata/checksums @@ -0,0 +1,2 @@ +eb46bfa124b5b6bd13d61a609bfde8351bd192894708d33aa06e5c1e255802d0 +39e7d2ba08c68cbaefc8de3227aab0dec2521be8042cf56855f7dc3a9fb14e08 diff --git a/core/tzdata/sources b/core/tzdata/sources new file mode 100644 index 0000000..7053392 --- /dev/null +++ b/core/tzdata/sources @@ -0,0 +1,2 @@ +https://www.iana.org/time-zones/repository/releases/tzcode2021a.tar.gz +https://www.iana.org/time-zones/repository/releases/tzdata2021a.tar.gz diff --git a/core/tzdata/version b/core/tzdata/version new file mode 100644 index 0000000..2221e5b --- /dev/null +++ b/core/tzdata/version @@ -0,0 +1 @@ +2021a 1 diff --git a/core/ugrep/build b/core/ugrep/build new file mode 100755 index 0000000..bd41e1f --- /dev/null +++ b/core/ugrep/build @@ -0,0 +1,13 @@ +#!/usr/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man + +make +make DESTDIR="$1" install + +ln -s /usr/bin/ugrep "$1/usr/bin/grep" +install -Dm755 fgrep "$1/usr/bin/fgrep" +install -Dm755 egrep "$1/usr/bin/egrep" diff --git a/core/ugrep/checksums b/core/ugrep/checksums new file mode 100644 index 0000000..c287ced --- /dev/null +++ b/core/ugrep/checksums @@ -0,0 +1,3 @@ +b5eca59aa67020052e5f796dfaddc1cb30ee9dd6e4cd89fb5cde1e3f110584ff +f5490817fc1d9710e1d4db72e5587768c7a2308678ba106be4061e8e3e4da3f2 +658e6bbf4ef150e92e4bbf400fa44691e3064413a27492e0175044a831dba315 diff --git a/core/ugrep/depends b/core/ugrep/depends new file mode 100644 index 0000000..ffc13a8 --- /dev/null +++ b/core/ugrep/depends @@ -0,0 +1,4 @@ +bzip2 +xz +zlib +zstd diff --git a/core/ugrep/files/egrep b/core/ugrep/files/egrep new file mode 100644 index 0000000..6712c41 --- /dev/null +++ b/core/ugrep/files/egrep @@ -0,0 +1,3 @@ +#!/usr/bin/sh -e + +grep -E $@ diff --git a/core/ugrep/files/fgrep b/core/ugrep/files/fgrep new file mode 100644 index 0000000..e5ca232 --- /dev/null +++ b/core/ugrep/files/fgrep @@ -0,0 +1,3 @@ +#!/usr/bin/sh -e + +grep -F $@ diff --git a/core/ugrep/sources b/core/ugrep/sources new file mode 100644 index 0000000..6ce4050 --- /dev/null +++ b/core/ugrep/sources @@ -0,0 +1,3 @@ +https://github.com/Genivia/ugrep/archive/refs/tags/v3.3.4.tar.gz +files/fgrep +files/egrep diff --git a/core/ugrep/version b/core/ugrep/version new file mode 100644 index 0000000..ba23929 --- /dev/null +++ b/core/ugrep/version @@ -0,0 +1,2 @@ +3.3.4 1 + diff --git a/core/vis-min/build b/core/vis-min/build new file mode 100755 index 0000000..c50262b --- /dev/null +++ b/core/vis-min/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +patch -p1 < soft-wrap.patch + +./configure \ + --prefix=/usr \ + --disable-lua \ + --disable-static-lpeg + +make +make DESTDIR="$1" install + +ln -s "/usr/bin/vis" "$1/usr/bin/vi" diff --git a/core/vis/checksums b/core/vis-min/checksums similarity index 50% rename from core/vis/checksums rename to core/vis-min/checksums index 0cbac3b..c7bd81e 100644 --- a/core/vis/checksums +++ b/core/vis-min/checksums @@ -1 +1,2 @@ 359ebb12a986b2f4e2a945567ad7587eb7d354301a5050ce10d51544570635eb +f76924f0be2a01af179f64dc4328ce7c794023f329a4e093a6d4639127d627db diff --git a/core/vis-min/depends b/core/vis-min/depends new file mode 100644 index 0000000..e69c7ed --- /dev/null +++ b/core/vis-min/depends @@ -0,0 +1,2 @@ +libtermkey make +ncurses diff --git a/core/vis/patches/soft-wrap.patch b/core/vis-min/patches/soft-wrap.patch similarity index 100% rename from core/vis/patches/soft-wrap.patch rename to core/vis-min/patches/soft-wrap.patch diff --git a/core/vis/sources b/core/vis-min/sources similarity index 100% rename from core/vis/sources rename to core/vis-min/sources diff --git a/core/vis-min/version b/core/vis-min/version new file mode 100644 index 0000000..a754260 --- /dev/null +++ b/core/vis-min/version @@ -0,0 +1 @@ +0.7 1 diff --git a/core/vis/version b/core/vis/version deleted file mode 100644 index 6f0e2c0..0000000 --- a/core/vis/version +++ /dev/null @@ -1 +0,0 @@ -0.7 3 diff --git a/core/xz/build b/core/xz/build new file mode 100755 index 0000000..e04e728 --- /dev/null +++ b/core/xz/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-nls + +make +make DESTDIR="$1" install diff --git a/core/xz/checksums b/core/xz/checksums new file mode 100644 index 0000000..030e2e2 --- /dev/null +++ b/core/xz/checksums @@ -0,0 +1 @@ +5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df xz-5.2.5.tar.bz2 diff --git a/core/xz/sources b/core/xz/sources new file mode 100644 index 0000000..657c0be --- /dev/null +++ b/core/xz/sources @@ -0,0 +1 @@ +https://nchc.dl.sourceforge.net/project/lzmautils/xz-5.2.5.tar.bz2 diff --git a/core/xz/version b/core/xz/version new file mode 100644 index 0000000..666bb36 --- /dev/null +++ b/core/xz/version @@ -0,0 +1 @@ +5.2.5 1 diff --git a/core/zlib/build b/core/zlib/build new file mode 100755 index 0000000..2426a8e --- /dev/null +++ b/core/zlib/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -fPIC" + +./configure \ + --prefix=/usr \ + --libdir=/usr/lib \ + --shared + +make +make DESTDIR="$1" install diff --git a/core/zlib/checksums b/core/zlib/checksums new file mode 100644 index 0000000..ec1ba07 --- /dev/null +++ b/core/zlib/checksums @@ -0,0 +1 @@ +c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 diff --git a/core/zlib/sources b/core/zlib/sources new file mode 100644 index 0000000..17f901f --- /dev/null +++ b/core/zlib/sources @@ -0,0 +1 @@ +https://zlib.net/zlib-1.2.11.tar.gz diff --git a/core/zlib/version b/core/zlib/version new file mode 100644 index 0000000..9028803 --- /dev/null +++ b/core/zlib/version @@ -0,0 +1 @@ +1.2.11 1 diff --git a/core/zstd/build b/core/zstd/build new file mode 100755 index 0000000..431cc72 --- /dev/null +++ b/core/zstd/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/core/zstd/checksums b/core/zstd/checksums new file mode 100644 index 0000000..343920f --- /dev/null +++ b/core/zstd/checksums @@ -0,0 +1 @@ +5194fbfa781fcf45b98c5e849651aa7b3b0a008c6b72d4a0db760f3002291e94 diff --git a/core/zstd/sources b/core/zstd/sources new file mode 100644 index 0000000..b06e693 --- /dev/null +++ b/core/zstd/sources @@ -0,0 +1 @@ +https://github.com/facebook/zstd/releases/download/v1.5.0/zstd-1.5.0.tar.gz diff --git a/core/zstd/version b/core/zstd/version new file mode 100644 index 0000000..104216d --- /dev/null +++ b/core/zstd/version @@ -0,0 +1 @@ +1.5.0 1 diff --git a/desktop/mesa/version b/desktop/mesa/version deleted file mode 100644 index 4d18aa2..0000000 --- a/desktop/mesa/version +++ /dev/null @@ -1 +0,0 @@ -21.1.4 2 diff --git a/desktop/mini-xdg-utils/depends b/desktop/mini-xdg-utils/depends deleted file mode 100644 index e69de29..0000000 diff --git a/desktop/skeous-gtk-theme/depends b/desktop/skeous-gtk-theme/depends deleted file mode 100644 index e69de29..0000000 diff --git a/extra/acpid/build b/extra/acpid/build new file mode 100755 index 0000000..258802e --- /dev/null +++ b/extra/acpid/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin + +make +make DESTDIR="$1" install + +# Install runit service. +install -Dm755 acpid.run "$1/etc/sv/acpid/run" +ln -s /run/runit/supervise.acpid "$1/etc/sv/acpid/supervise" + +# Required otherwise daemon fails to launch. +mkdir -p "$1/etc/acpi/events" diff --git a/extra/acpid/checksums b/extra/acpid/checksums new file mode 100644 index 0000000..dd8917f --- /dev/null +++ b/extra/acpid/checksums @@ -0,0 +1,2 @@ +f2d2d30b3edc3234bd82f6f7186699a6aa3c85c8d20bc4e30e9b3c68a1ed157e acpid-2.0.32.tar.xz +ebd61afac770d3d9cae5c411f44002496fb18b28cf7b77520072a3909852246e acpid.run diff --git a/extra/acpid/depends b/extra/acpid/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/extra/acpid/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/extra/acpid/files/acpid.run b/extra/acpid/files/acpid.run new file mode 100644 index 0000000..5baf800 --- /dev/null +++ b/extra/acpid/files/acpid.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec acpid -f diff --git a/extra/acpid/sources b/extra/acpid/sources new file mode 100644 index 0000000..7dc4321 --- /dev/null +++ b/extra/acpid/sources @@ -0,0 +1,2 @@ +https://downloads.sourceforge.net/sourceforge/acpid2/acpid-2.0.32.tar.xz +files/acpid.run diff --git a/extra/acpid/version b/extra/acpid/version new file mode 100644 index 0000000..df3fe75 --- /dev/null +++ b/extra/acpid/version @@ -0,0 +1 @@ +2.0.32 1 diff --git a/extra/ag/build b/extra/ag/build deleted file mode 100755 index eadd9f9..0000000 --- a/extra/ag/build +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/sh -e - -./configure --prefix=/usr - -make -make DESTDIR="$1" install - -rm -r "$1/usr/share/the_silver_searcher" "$1/usr/share/zsh" diff --git a/extra/ag/checksums b/extra/ag/checksums deleted file mode 100644 index c2e7910..0000000 --- a/extra/ag/checksums +++ /dev/null @@ -1 +0,0 @@ -1e453e52c4cfee17bbbbc5e27eb7930ff3e18b7823704bdb5b2e0954c3470272 diff --git a/extra/ag/depends b/extra/ag/depends deleted file mode 100644 index 5828762..0000000 --- a/extra/ag/depends +++ /dev/null @@ -1,3 +0,0 @@ -automake make -pcre -zlib diff --git a/extra/ag/sources b/extra/ag/sources deleted file mode 100644 index 805b38d..0000000 --- a/extra/ag/sources +++ /dev/null @@ -1 +0,0 @@ -https://ftp.armaanb.net/software/ag/ag-git-a61f178.tar.xz diff --git a/extra/ag/version b/extra/ag/version deleted file mode 100644 index 2eda578..0000000 --- a/extra/ag/version +++ /dev/null @@ -1 +0,0 @@ -git 5 diff --git a/extra/alsa-lib/build b/extra/alsa-lib/build new file mode 100755 index 0000000..544d049 --- /dev/null +++ b/extra/alsa-lib/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +# Fix a missing include +sed -i '//a #include ' src/ucm/ucm_exec.c + +./configure \ + --without-debug \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/alsa-lib/checksums b/extra/alsa-lib/checksums new file mode 100644 index 0000000..11068dc --- /dev/null +++ b/extra/alsa-lib/checksums @@ -0,0 +1 @@ +628421d950cecaf234de3f899d520c0a6923313c964ad751ffac081df331438e diff --git a/extra/alsa-lib/depends b/extra/alsa-lib/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/extra/alsa-lib/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/extra/alsa-lib/sources b/extra/alsa-lib/sources new file mode 100644 index 0000000..035cb3b --- /dev/null +++ b/extra/alsa-lib/sources @@ -0,0 +1 @@ +https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.5.1.tar.bz2 diff --git a/extra/alsa-lib/version b/extra/alsa-lib/version new file mode 100644 index 0000000..9e7ce45 --- /dev/null +++ b/extra/alsa-lib/version @@ -0,0 +1 @@ +1.2.5.1 1 diff --git a/extra/alsa-utils/build b/extra/alsa-utils/build new file mode 100755 index 0000000..54fbfa1 --- /dev/null +++ b/extra/alsa-utils/build @@ -0,0 +1,16 @@ +#!/bin/sh -e + +# Fix a missing include +sed -i '//a #include ' alsactl/utils.c + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --with-udev-rules-dir=/usr/lib/udev/rules.d \ + --disable-alsaconf \ + --disable-bat \ + --disable-xmlto \ + --disable-nls + +make +make DESTDIR="$1" install diff --git a/extra/alsa-utils/checksums b/extra/alsa-utils/checksums new file mode 100644 index 0000000..e1555d4 --- /dev/null +++ b/extra/alsa-utils/checksums @@ -0,0 +1 @@ +9c169ae37a49295f9b97b92ace772803daf6b6510a19574e0b78f87e562118d0 diff --git a/extra/alsa-utils/depends b/extra/alsa-utils/depends new file mode 100644 index 0000000..121c051 --- /dev/null +++ b/extra/alsa-utils/depends @@ -0,0 +1,3 @@ +alsa-lib +linux-headers make +ncurses diff --git a/extra/alsa-utils/sources b/extra/alsa-utils/sources new file mode 100644 index 0000000..b27d432 --- /dev/null +++ b/extra/alsa-utils/sources @@ -0,0 +1 @@ +https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.5.1.tar.bz2 diff --git a/extra/alsa-utils/version b/extra/alsa-utils/version new file mode 100644 index 0000000..9e7ce45 --- /dev/null +++ b/extra/alsa-utils/version @@ -0,0 +1 @@ +1.2.5.1 1 diff --git a/extra/aspell/depends b/extra/aspell/depends deleted file mode 100644 index e69de29..0000000 diff --git a/extra/aspell/version b/extra/aspell/version index bb52117..6c00bc8 100644 --- a/extra/aspell/version +++ b/extra/aspell/version @@ -1 +1 @@ -0.60.8 2 +0.60.8 1 diff --git a/extra/atk/build b/extra/atk/build new file mode 100755 index 0000000..5ed96b1 --- /dev/null +++ b/extra/atk/build @@ -0,0 +1,17 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +# Don't build tests. +sed -i "/subdir('tests')/d" meson.build + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + -Ddocs=false \ + -Dintrospection=false \ + . output + +ninja -C output +ninja -C output install diff --git a/extra/atk/checksums b/extra/atk/checksums new file mode 100644 index 0000000..00ffc54 --- /dev/null +++ b/extra/atk/checksums @@ -0,0 +1 @@ +fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788 diff --git a/wayland/wayland/depends b/extra/atk/depends similarity index 51% rename from wayland/wayland/depends rename to extra/atk/depends index 0d49137..44ea227 100644 --- a/wayland/wayland/depends +++ b/extra/atk/depends @@ -1,4 +1,4 @@ -expat -flex make +glib libffi +meson make pkgconf make diff --git a/extra/atk/sources b/extra/atk/sources new file mode 100644 index 0000000..069914b --- /dev/null +++ b/extra/atk/sources @@ -0,0 +1 @@ +https://ftp.gnome.org/pub/gnome/sources/atk/2.36/atk-2.36.0.tar.xz diff --git a/extra/atk/version b/extra/atk/version new file mode 100644 index 0000000..c3e6319 --- /dev/null +++ b/extra/atk/version @@ -0,0 +1 @@ +2.36.0 1 diff --git a/core/bmake/build b/extra/bmake/build similarity index 100% rename from core/bmake/build rename to extra/bmake/build diff --git a/core/bmake/checksums b/extra/bmake/checksums similarity index 100% rename from core/bmake/checksums rename to extra/bmake/checksums diff --git a/core/bmake/sources b/extra/bmake/sources similarity index 100% rename from core/bmake/sources rename to extra/bmake/sources diff --git a/core/bmake/version b/extra/bmake/version similarity index 100% rename from core/bmake/version rename to extra/bmake/version diff --git a/extra/cairo/build b/extra/cairo/build new file mode 100755 index 0000000..597dfd0 --- /dev/null +++ b/extra/cairo/build @@ -0,0 +1,25 @@ +#!/bin/sh -e + +# Disable building 'cairo-sphinx'. +sed -i "s/BUILD_SPHINX_TRUE=/BUILD_SPHINX_TRUE='#'/" configure +sed -i "s/BUILD_SPHINX_FALSE='#'/BUILD_SPHINX_FALSE=/" configure + +# Disable building tests. +sed -i 's/test perf//g' Makefile.in + +./configure \ + --prefix=/usr \ + --disable-static \ + --enable-tee \ + --enable-gl \ + --enable-egl \ + --enable-xlib-xcb \ + --enable-xcb \ + --enable-xlib-xrender \ + --enable-xlib \ + --disable-trace \ + --disable-valgrind \ + --disable-gtk-doc-html + +make +make DESTDIR="$1" install diff --git a/extra/cairo/checksums b/extra/cairo/checksums new file mode 100644 index 0000000..83f9db7 --- /dev/null +++ b/extra/cairo/checksums @@ -0,0 +1 @@ +5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 diff --git a/extra/cairo/depends b/extra/cairo/depends new file mode 100644 index 0000000..f5621ff --- /dev/null +++ b/extra/cairo/depends @@ -0,0 +1,10 @@ +fontconfig +glib +libXext +libXrender +libffi +libpng +mesa +pixman +pkgconf make +zlib diff --git a/extra/cairo/sources b/extra/cairo/sources new file mode 100644 index 0000000..e43c5aa --- /dev/null +++ b/extra/cairo/sources @@ -0,0 +1 @@ +https://cairographics.org/releases/cairo-1.16.0.tar.xz diff --git a/extra/cairo/version b/extra/cairo/version new file mode 100644 index 0000000..df10ebf --- /dev/null +++ b/extra/cairo/version @@ -0,0 +1 @@ +1.16.0 1 diff --git a/extra/ccache/version b/extra/ccache/version index e47357b..aead541 100644 --- a/extra/ccache/version +++ b/extra/ccache/version @@ -1 +1 @@ -4.3 2 +4.3 1 diff --git a/extra/checkpassword/depends b/extra/checkpassword/depends deleted file mode 100644 index e69de29..0000000 diff --git a/extra/checkpassword/sources b/extra/checkpassword/sources index 273b8c9..338ab82 100644 --- a/extra/checkpassword/sources +++ b/extra/checkpassword/sources @@ -1 +1 @@ -https://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz \ No newline at end of file +https://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz diff --git a/extra/chorizo/build b/extra/chorizo/build new file mode 100755 index 0000000..954aa1f --- /dev/null +++ b/extra/chorizo/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make PREFIX=/usr DESTDIR="$1" install diff --git a/extra/chorizo/checksums b/extra/chorizo/checksums new file mode 100644 index 0000000..0419344 --- /dev/null +++ b/extra/chorizo/checksums @@ -0,0 +1 @@ +53e3f04bc42c0f1151f021993c3cee5c1247d0e2c9a8f52e0bc5e8b29f90b209 diff --git a/extra/chorizo/depends b/extra/chorizo/depends new file mode 100644 index 0000000..7b5b7b5 --- /dev/null +++ b/extra/chorizo/depends @@ -0,0 +1 @@ +webkitgtk diff --git a/extra/chorizo/sources b/extra/chorizo/sources new file mode 100644 index 0000000..b16e5aa --- /dev/null +++ b/extra/chorizo/sources @@ -0,0 +1 @@ +https://ftp.armaanb.net/software/chorizo/chorizo-v1.0.0.tar.gz diff --git a/extra/chorizo/version b/extra/chorizo/version new file mode 100644 index 0000000..4448996 --- /dev/null +++ b/extra/chorizo/version @@ -0,0 +1 @@ +1.0.0 1 diff --git a/extra/clac/depends b/extra/clac/depends deleted file mode 100644 index e69de29..0000000 diff --git a/extra/cmake/version b/extra/cmake/version deleted file mode 100644 index c561214..0000000 --- a/extra/cmake/version +++ /dev/null @@ -1 +0,0 @@ -3.20.5 2 diff --git a/desktop/colorpicker/build b/extra/colorpicker/build similarity index 100% rename from desktop/colorpicker/build rename to extra/colorpicker/build diff --git a/desktop/colorpicker/depends b/extra/colorpicker/depends similarity index 100% rename from desktop/colorpicker/depends rename to extra/colorpicker/depends diff --git a/desktop/colorpicker/sources b/extra/colorpicker/sources similarity index 100% rename from desktop/colorpicker/sources rename to extra/colorpicker/sources diff --git a/desktop/colorpicker/version b/extra/colorpicker/version similarity index 100% rename from desktop/colorpicker/version rename to extra/colorpicker/version diff --git a/extra/dejavu-ttf/build b/extra/dejavu-ttf/build new file mode 100755 index 0000000..ed4b519 --- /dev/null +++ b/extra/dejavu-ttf/build @@ -0,0 +1,5 @@ +#!/bin/sh -e + +for file in ttf/*.ttf; do + install -Dm644 "$file" "$1/usr/share/fonts/TTF/${file##*/}" +done diff --git a/extra/dejavu-ttf/checksums b/extra/dejavu-ttf/checksums new file mode 100644 index 0000000..a5b8409 --- /dev/null +++ b/extra/dejavu-ttf/checksums @@ -0,0 +1 @@ +fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7 dejavu-fonts-ttf-2.37.tar.bz2 diff --git a/extra/dejavu-ttf/post-install b/extra/dejavu-ttf/post-install new file mode 100755 index 0000000..60cac80 --- /dev/null +++ b/extra/dejavu-ttf/post-install @@ -0,0 +1,3 @@ +#!/bin/sh + +fc-cache -f diff --git a/extra/dejavu-ttf/sources b/extra/dejavu-ttf/sources new file mode 100644 index 0000000..5d17b78 --- /dev/null +++ b/extra/dejavu-ttf/sources @@ -0,0 +1 @@ +https://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2 diff --git a/core/libuuid/version b/extra/dejavu-ttf/version similarity index 100% rename from core/libuuid/version rename to extra/dejavu-ttf/version diff --git a/extra/dhcpcd/build b/extra/dhcpcd/build new file mode 100755 index 0000000..954bc10 --- /dev/null +++ b/extra/dhcpcd/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --rundir=/run \ + --libexecdir=/usr/lib/dhcpcd + +make +make DESTDIR="$1" install + +# Install runit service. +install -Dm 755 dhcpcd.run "$1/etc/sv/dhcpcd/run" +ln -s /run/runit/supervise.dhcpcd "$1/etc/sv/dhcpcd/supervise" diff --git a/extra/dhcpcd/checksums b/extra/dhcpcd/checksums new file mode 100644 index 0000000..fa7c4d2 --- /dev/null +++ b/extra/dhcpcd/checksums @@ -0,0 +1,2 @@ +9bac373f17e8a2f8102aecdc4be65f33de60046abb4416e543901c66861828cd +2b56c7e91bebcd8ca87e04998551a454b19a904dfb6d1cd0a9255c2feceda418 diff --git a/extra/dhcpcd/depends b/extra/dhcpcd/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/extra/dhcpcd/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/extra/dhcpcd/files/dhcpcd.run b/extra/dhcpcd/files/dhcpcd.run new file mode 100644 index 0000000..23c25c4 --- /dev/null +++ b/extra/dhcpcd/files/dhcpcd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec dhcpcd -BM diff --git a/extra/dhcpcd/sources b/extra/dhcpcd/sources new file mode 100644 index 0000000..f5f44a0 --- /dev/null +++ b/extra/dhcpcd/sources @@ -0,0 +1,2 @@ +https://github.com/rsmarples/dhcpcd/archive/dhcpcd-9.4.0.tar.gz +files/dhcpcd.run diff --git a/extra/dhcpcd/version b/extra/dhcpcd/version new file mode 100644 index 0000000..53139a7 --- /dev/null +++ b/extra/dhcpcd/version @@ -0,0 +1 @@ +9.4.0 1 diff --git a/extra/dmenu/build b/extra/dmenu/build new file mode 100755 index 0000000..431cc72 --- /dev/null +++ b/extra/dmenu/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/extra/dmenu/checksums b/extra/dmenu/checksums new file mode 100644 index 0000000..5de6c5e --- /dev/null +++ b/extra/dmenu/checksums @@ -0,0 +1 @@ +fe18e142c4dbcf71ba5757dbbdea93b1c67d58fc206fc116664f4336deef6ed3 diff --git a/extra/dmenu/depends b/extra/dmenu/depends new file mode 100644 index 0000000..4d83943 --- /dev/null +++ b/extra/dmenu/depends @@ -0,0 +1,3 @@ +libXft +libXinerama +xorg-server diff --git a/extra/dmenu/sources b/extra/dmenu/sources new file mode 100644 index 0000000..7212199 --- /dev/null +++ b/extra/dmenu/sources @@ -0,0 +1 @@ +https://dl.suckless.org/tools/dmenu-5.0.tar.gz diff --git a/extra/dmenu/version b/extra/dmenu/version new file mode 100644 index 0000000..d80bad4 --- /dev/null +++ b/extra/dmenu/version @@ -0,0 +1 @@ +5.0 1 diff --git a/extra/dtfl/sources b/extra/dtfl/sources index dcdec4b..55da98f 100644 --- a/extra/dtfl/sources +++ b/extra/dtfl/sources @@ -1 +1 @@ -https://git.sr.ht/~gsthnz/dtfl/blob/master/dtfl \ No newline at end of file +https://git.sr.ht/~gsthnz/dtfl/blob/master/dtfl diff --git a/extra/dwm/build b/extra/dwm/build new file mode 100755 index 0000000..0110ff5 --- /dev/null +++ b/extra/dwm/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +# Amend install path to '/usr'. +sed -i'' "s#/usr/local#/usr#" config.mk + +# Remove pixel gap. +sed -i'' "s/static const int resizehints = 1/static const int resizehints = 0/" config.def.h + +make +make DESTDIR="$1" install diff --git a/extra/dwm/checksums b/extra/dwm/checksums new file mode 100644 index 0000000..595f243 --- /dev/null +++ b/extra/dwm/checksums @@ -0,0 +1 @@ +97902e2e007aaeaa3c6e3bed1f81785b817b7413947f1db1d3b62b8da4cd110e dwm-6.2.tar.gz diff --git a/extra/dwm/depends b/extra/dwm/depends new file mode 100644 index 0000000..f4fdd35 --- /dev/null +++ b/extra/dwm/depends @@ -0,0 +1,2 @@ +libXft +libXinerama diff --git a/extra/dwm/sources b/extra/dwm/sources new file mode 100644 index 0000000..c9d3f5e --- /dev/null +++ b/extra/dwm/sources @@ -0,0 +1 @@ +https://dl.suckless.org/dwm/dwm-6.2.tar.gz diff --git a/extra/dwm/version b/extra/dwm/version new file mode 100644 index 0000000..1fa8eec --- /dev/null +++ b/extra/dwm/version @@ -0,0 +1 @@ +6.2 1 diff --git a/extra/e2fsprogs/build b/extra/e2fsprogs/build new file mode 100755 index 0000000..715722f --- /dev/null +++ b/extra/e2fsprogs/build @@ -0,0 +1,46 @@ +#!/bin/sh -e + +export LDFLAGS="$LDFLAGS -static" + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --enable-symlink-install \ + --enable-libuuid \ + --enable-libblkid \ + --disable-nls \ + --disable-uuidd \ + --disable-fsck \ + --disable-elf-shlibs + +# MKDIR_P fixes an install issue on musl/busybox. +make +make MKDIR_P="install -d" DESTDIR="$1" install + +# Our e2fsprogs build uses the private libblkid +# and libuuid libraries which ship with it. +# +# It is then built statically which allows us to +# remove the libraries entirely. +# +# This is all done to remove the util-linux +# dependency from this package. +# +# The build system doesn't provide a target +# for this so we must do it ourselves. +rm -rf \ + "$1/usr/bin/blkid" \ + "$1/usr/bin/uuidgen" \ + "$1/usr/bin/findfs" \ + "$1/usr/share/man/man8/findfs.8" \ + "$1/usr/share/man/man8/blkid.8" \ + "$1/usr/share/man/man3/libblkid.3" \ + "$1/usr/share/man/man3/"uuid* \ + "$1/usr/share/man/man1/uuidgen.1" \ + "$1/usr/lib/pkgconfig/uuid.pc" \ + "$1/usr/lib/pkgconfig/blkid.pc" \ + "$1/usr/lib/libuuid.a" \ + "$1/usr/lib/libblkid.a" \ + "$1/usr/include/blkid" \ + "$1/usr/include/uuid" diff --git a/extra/e2fsprogs/checksums b/extra/e2fsprogs/checksums new file mode 100644 index 0000000..15a3252 --- /dev/null +++ b/extra/e2fsprogs/checksums @@ -0,0 +1 @@ +f1ef0161aa8918182d088c4b576a5485a60aa3aff3e16cf10824698af5d34dcf diff --git a/extra/e2fsprogs/sources b/extra/e2fsprogs/sources new file mode 100644 index 0000000..08bfe54 --- /dev/null +++ b/extra/e2fsprogs/sources @@ -0,0 +1 @@ +https://github.com/tytso/e2fsprogs/archive/v1.46.2.tar.gz diff --git a/extra/e2fsprogs/version b/extra/e2fsprogs/version new file mode 100644 index 0000000..49efa08 --- /dev/null +++ b/extra/e2fsprogs/version @@ -0,0 +1 @@ +1.46.2 1 diff --git a/extra/enchant/depends b/extra/enchant/depends deleted file mode 100644 index e69de29..0000000 diff --git a/extra/ffmpeg/build b/extra/ffmpeg/build new file mode 100755 index 0000000..c3dfbba --- /dev/null +++ b/extra/ffmpeg/build @@ -0,0 +1,30 @@ +#!/bin/sh -e + +./configure \ + --cc="${CC:-cc}" \ + --cxx="${CXX:-c++}" \ + --prefix=/usr \ + --enable-shared \ + --disable-static \ + --enable-gpl \ + --enable-version3 \ + --enable-nonfree \ + --enable-openssl \ + --enable-libass \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libx264 \ + --enable-libx265 \ + --enable-libxvid \ + --enable-libwebp \ + --enable-libdrm \ + --x86asmexe=nasm \ + --disable-debug \ + --disable-libxml2 + +make +make DESTDIR="$1" install + +rm -rf "$1/usr/share/ffmpeg/examples" diff --git a/extra/ffmpeg/checksums b/extra/ffmpeg/checksums new file mode 100644 index 0000000..54a682e --- /dev/null +++ b/extra/ffmpeg/checksums @@ -0,0 +1 @@ +06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909 diff --git a/extra/ffmpeg/depends b/extra/ffmpeg/depends new file mode 100644 index 0000000..a358651 --- /dev/null +++ b/extra/ffmpeg/depends @@ -0,0 +1,15 @@ +alsa-lib +lame +libass +libogg +libressl +libvorbis +libvpx +libwebp +linux-headers make +nasm make +opus +pkgconf make +x264 +x265 +xvidcore diff --git a/extra/ffmpeg/sources b/extra/ffmpeg/sources new file mode 100644 index 0000000..db8d2b5 --- /dev/null +++ b/extra/ffmpeg/sources @@ -0,0 +1 @@ +https://www.ffmpeg.org/releases/ffmpeg-4.4.tar.xz diff --git a/extra/ffmpeg/version b/extra/ffmpeg/version new file mode 100644 index 0000000..3fa426f --- /dev/null +++ b/extra/ffmpeg/version @@ -0,0 +1 @@ +4.4 1 diff --git a/extra/file/build b/extra/file/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/file/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/file/checksums b/extra/file/checksums new file mode 100644 index 0000000..33e0710 --- /dev/null +++ b/extra/file/checksums @@ -0,0 +1 @@ +167321f43c148a553f68a0ea7f579821ef3b11c27b8cbe158e4df897e4a5dd57 diff --git a/extra/file/depends b/extra/file/depends new file mode 100644 index 0000000..f22003e --- /dev/null +++ b/extra/file/depends @@ -0,0 +1 @@ +zlib diff --git a/extra/file/sources b/extra/file/sources new file mode 100644 index 0000000..0978639 --- /dev/null +++ b/extra/file/sources @@ -0,0 +1 @@ +https://astron.com/pub/file/file-5.40.tar.gz diff --git a/extra/file/version b/extra/file/version new file mode 100644 index 0000000..cc2c3dc --- /dev/null +++ b/extra/file/version @@ -0,0 +1 @@ +5.40 1 diff --git a/extra/flex/build b/extra/flex/build new file mode 100755 index 0000000..2a1bda0 --- /dev/null +++ b/extra/flex/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + ac_cv_func_malloc_0_nonnull=yes \ + ac_cv_func_realloc_0_nonnull=yes + +make +make DESTDIR="$1" install + +ln -s flex "$1/usr/bin/lex" diff --git a/extra/flex/checksums b/extra/flex/checksums new file mode 100644 index 0000000..5f05df5 --- /dev/null +++ b/extra/flex/checksums @@ -0,0 +1 @@ +e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 flex-2.6.4.tar.gz diff --git a/extra/flex/depends b/extra/flex/depends new file mode 100644 index 0000000..e8fb4a1 --- /dev/null +++ b/extra/flex/depends @@ -0,0 +1 @@ +m4 make diff --git a/extra/flex/sources b/extra/flex/sources new file mode 100644 index 0000000..c10fca7 --- /dev/null +++ b/extra/flex/sources @@ -0,0 +1 @@ +https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz diff --git a/extra/flex/version b/extra/flex/version new file mode 100644 index 0000000..c689264 --- /dev/null +++ b/extra/flex/version @@ -0,0 +1 @@ +2.6.4 1 diff --git a/extra/fontconfig/build b/extra/fontconfig/build new file mode 100755 index 0000000..8cb6254 --- /dev/null +++ b/extra/fontconfig/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +./configure \ + AUTOMAKE=/bin/true \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-xmldir=/etc/fonts \ + --enable-static \ + --disable-docs \ + --disable-nls + +make +make DESTDIR="$1" install diff --git a/extra/fontconfig/checksums b/extra/fontconfig/checksums new file mode 100644 index 0000000..e275512 --- /dev/null +++ b/extra/fontconfig/checksums @@ -0,0 +1 @@ +a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c diff --git a/extra/fontconfig/depends b/extra/fontconfig/depends new file mode 100644 index 0000000..4bb81d1 --- /dev/null +++ b/extra/fontconfig/depends @@ -0,0 +1,5 @@ +expat +freetype-harfbuzz +gperf make +pkgconf make +python make diff --git a/extra/fontconfig/post-install b/extra/fontconfig/post-install new file mode 100755 index 0000000..50861de --- /dev/null +++ b/extra/fontconfig/post-install @@ -0,0 +1,3 @@ +#!/bin/sh + +fc-cache -vf diff --git a/extra/fontconfig/sources b/extra/fontconfig/sources new file mode 100644 index 0000000..8e4b95d --- /dev/null +++ b/extra/fontconfig/sources @@ -0,0 +1 @@ +https://freedesktop.org/software/fontconfig/release/fontconfig-2.13.94.tar.xz diff --git a/extra/fontconfig/version b/extra/fontconfig/version new file mode 100644 index 0000000..76fd9b4 --- /dev/null +++ b/extra/fontconfig/version @@ -0,0 +1 @@ +2.13.94 1 diff --git a/extra/fortune/build b/extra/fortune/build deleted file mode 100755 index efef42d..0000000 --- a/extra/fortune/build +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -install -Dm755 fortune "$1/usr/bin/fortune" -install -Dm644 kiss "$1/usr/share/fortune/kiss" -install -Dm644 fortune-mod/datfiles/cookie "$1/usr/share/fortune/cookie" diff --git a/extra/fortune/checksums b/extra/fortune/checksums deleted file mode 100644 index 65435c3..0000000 --- a/extra/fortune/checksums +++ /dev/null @@ -1,3 +0,0 @@ -0449c157d973d3711d57860dd861c32fd6deba8a1f3ad7fc2f28ed1999122260 -e3ade5ff950564f34dad39e7956cd15e9a32d669917b18dcbab8e02a0671120a -bf805c1200e03b08393b7cfa5e54315d36efa5c08b8ec009020414c77697dfec diff --git a/extra/fortune/depends b/extra/fortune/depends deleted file mode 100644 index e69de29..0000000 diff --git a/extra/fortune/files/kiss b/extra/fortune/files/kiss deleted file mode 100644 index 3777e4c..0000000 --- a/extra/fortune/files/kiss +++ /dev/null @@ -1,640 +0,0 @@ - "You will see Dylan's ghost by candlelight tonight." -% - I say "no a lot" -% - modprobe that doozy -% - you've made me violently ill -% - Google gNoogle gUgle -% - man, I get nervous every time I power up my workstation, haha -% - Btw, dilyn, are you Dylan Araps? Or is it just a similar nick? - i wish i was -% - like, at least they don't think i'm Boris Johnson's dog -% - i spent eighteen months working at starbucks; i am the stereotype of my -degrees lmao -% - somewhere drew devault needs to change his pants and he -doesn't know why -% - one sec gotta cut up an onion -% - "OH WOW I CAN PUT IT IN BOTH WAYS THIS TOTALLY JUSTIFIES LOSING -BACKWARDS COMPATIBILITY WITH EVERYTHING FROM THE PAST TWENTY-FIVE -YEARS11!11!1!1!1!11" -% - gemini got a new bdfl - who Sundar Pichai? -% - Let's just drop support for input devices -% - * midfavila1 nods -% - * midfavila1 flexes on acheam -% - I will rage - and we will go back to the good old days of being the goatpiss -organization -% - doom is fine, as long as it isn't doom emacs - WHAT - I said what I said. - omg - I AM SCREAMING AT YOU THROUGH MY IRC CLIENT ON DOOM EMACS - ah, the natural rage of an emacs user. Quite fitting indeed. -% - emacs is for 5head humans - he has to justify learning lisp to program his OS-within-an-OS, forgive -him - what like you've never done what is essentially firing up a Windows VM -to run notepad? -% - kiss becomes k becomes kiss - the araps cycle -% - I don't need sudo to yell at me too :( - it's okay dilyn I can yell at you instead - thanks dad - ya winning, son? -% - if my biggest contribution to this project is a bunch of fucking meme -quotes i swear to god -% - something something unix philosiphy - something something changing your keymap with xorg - something something do I need a xorg.conf - something something how do i keyboard - well idk about you but I change my keyboard layout by flashing -firmware files - man turns out i was a cuck the whole time huh - why didn't I think of that! - the starbucks and philosophy thing gave it away - i bet you use a filthy macbook too -% - except the matrix heathens ofc - *cough cough* dilyn - yeah well they don't matter anyway - Hey I was just trying it out(tm) - nope - opinion discarded -% - maybe I can convince them i'm dylan and I just misspelled my name and -lied about living in greece -% - if dilyn is kill then we just elect another bdfl - they just grow on trees after all - can confirm; grew on a willow tree for fifteen years - explains everything - yeah it's why i cry so much - why couldn't we have an oak bdfl - smh -% - KISS doesn't use apt so I don't know why you mention it - apt is a word - smh - konimex should be our next-in-line bdfl - switch kiss to apt -% - that sounds like a you thing no offense - everyone so fiesty today - i'm always fiesty - but getting smacked in the face by a frying pan and not having cream -for my tea made me extra fiest - sounds like an ubuntu release - fiesty fucker - that should be my project role - kiss linux/fiesty fucker/midfavila - you say feisty, I say focker - feisty -(silence) -% - if you're a KISS user I either expect you don't have a phone - or you're using a rooted android -% - if you stare into #kisslinux for long enough, #kisslinux will stare -back -% - >iPhone - no - bad - don't make me get the newspaper -% - i just use an old blackberry - although for a while I did have a GNU userland on it - using nano on a blackberry is p good - is this sacrilege, or cancer? i can't tell - yes - completely unironically I used a QNX tty on my phone as my primary -computing environment for about a month and a half - literally fight me, iToddlers - I would rather have both of my thumbs sewn up my own ass and be forced -to use TTS for a year than use a TTY on my phone -% - too many devault rants to read, i don't have time for petty -things like reading for fun -% - I'm just so obsessed with this opinionated man - nobody except me is allowed to have opinions -% - * dilyn cries - gee guys my notification just went off but I can't see anything - weird -% - NOOOOOOOOOOOOOOOOOOO YOU CAN'T JUST USE OUT OF DATE SOFTWARE! - think of muh securideee :D - heil CVE -% - Now you just sound like a 200 level CSE prof - 'the answer is, of course, recursion' -% - vibin' is what i do best on the cloc -% - he's just mad he isn't poettering - rip sad lad -% - for (i=0; i<1000000000000; i++); do -echo "." >> file; git commit file -m "update"; done; git push - * dilyn chef's kiss - check out this *bespoke distro* - commits just say 're' - commits are just an ever increasing amount of e's - systemreeeeeeeeeeeeeeeeeeeeEeEeEeEeEeEEEEEEEEEEEEEEEEE -% - :) - :)))))))) - :))))))))))))))))) -% - I Can't Believe It's Not Chrome! -% - mid, stop taking a monopoly in the fortune file - fuckin make me - can't tell me what to do - mid, stop taking a monopoly in the fortune file - mid, stop taking a monopoly in the fortune file - * midfavila smacks both with newspaper -% - I mean I love cankin' it to wayland as much as the next guy - i too enjoy participating in circlejerks in obscure eye are see -gahnoo's not yoonix loonix chats - that's why I'm here after all -% -soon (tm) -% - jfc the fortunes file is literally like 80% me shitposting -% - there will always be a place for you in the embrace of xorg -% - i interface with my computer via a bluetooth chip i implanted in my -brain -% - i'm a GOAT - fuckin humans man -% - oh my -% - totally unrelated but man - I'm having *way* too much fun with my bayonet - an adult needs to confiscate it from me - teenager restraint code activated - please stand by while a responsible adult is sent to your location -% - "Kernel? Kernel who?" -% - cc flags are so darn complicated - so much for unix simplicity - the solution? - rust. --- Mode #kisslinux [+q acheam!*@*] by kiedtl - i'm banning you acheam - Bad. - :mode -q acheam --- Mode #kisslinux [-q acheam!*@*] by kiedtl - * midfavila1 smacks acheam cruelly for their stupidity - big move quieting an op -% - "The one who does not fight, lasts the longest" - -Sun Tzu probably -% -(mocking midfavila) "Look at me ma, I fixed an egg salad sandwich with -a century-old bayonet" - once I have two bayonets I can do the whole "gee mid why does your -mom let you have *two* bayonets?" -% - i've sucked dick more dismissive than that -% - * midfavila facedesks -% - smgl literally has a command to exorcise things -% - i said the heathen - not me - you asked me to - i'm like, the prophet - and you are? - the prophet of the heathen? - I'm confused - the prophet of KISS - KISS is not heathen - i channel the spirit of dylan - using my 2x4 - The spirit of dylan does not manifest itself in the bodies of the -unsanctified. - i'd use a ouija board but that's too complex - and besides it's not usable by a single person - gotta respect the daemons - exactly - you must chant "Keep it simple stupid" three times before beginning -the trance - and only then will dylan manifest - Even a heathen prophet is still not eligible for that privilege -% - we need to make a #kisslinux-whining where its just a place that we -can go to rant about software lol - then this channel wouldn't get used -% -rtfm -% - landley couldn't have written a better grep than *checks notes* -BurntSushi, could he?? - it would probably go zoom much quick -% - i take back everything. gnu is bae. -% - posix shell gang -% - Any useful tips? - install gentoo - run while you can - it's already too late -% - exhaustion and low morale are huge problems. controversial -statements only in #kisslinux -% - apply the unix philosophy to your life. do one thing and do it well. - *become* the coreutil -% - normie detected - termination initiated -% - ZOMG w00t!1!! XD - 1337 - h4x0r5 - v37y e11t3 - r4wr x3 -% - but m-muh chemical weapons?!? - god this channel is so weird -% - what did the git tiny patch do? - besides making git tiny - made it teeny, in addition to tiny -% - does it even use https - lol they can insert 'dilyn eats rocks' into your logs ooohhh -neeeoooooooooo - "ereps is next" - if you're https fan boy, don't CONSULT ME - if i found that in a log i would deadass delete my existence -% - Picasso is an ati driver? - picasso is an artist - picasso is a pain- - FUCK - KKKKKKKK - godDAMN you, acheam -% - s/cringe/cringe -% - money money moneey - $$$$$$$$$$$$$$$ - grubbing intensifies -% -** acheam complaining about python ** - the pythonista cries out in pain as he witnesses the horrors of C -% - click clack never get your time back -% - hippity hoppity your source tree is my property -% - dilyn: true love is posix shell, not gurlfrend - #!/bin/she - bad interpreter: /bin/she: no such file or directory - she just doesn't understand me -% - cat /dev/null >> /dev/sdc2 - ohh yeah thats the stuff - fill my disk with zeroes daddy mmmm -% - systemd rust gtk4 --- Mode #kisslinux [+q dgre!*@*] by acheam -% - but but i thought BSDs aren't relevant any more? -% - if you have extra credit, spin up some tor relays, or a folding at -home instace - Mine some crypto or something lol - acheam wants to use the credit to help society nxghtmvrx wants to -mine crypto XD - Hell yes. Just make it part of botnet or some nasty stuff -% - That should be some real hard glasses. Not these modern fragile -ones. Thinkpad in the world of sunglasses -% - before long you'll be screaming about pickles - i fucking love pickles dog - I'M PICKLE DYLAAAN -% - max recursion depth reached! -% - perl is fucking trash - why is their build system so wiggidy wiggidy wack - because it's basically python for boomers - combining shit and shit just gets you a bigger pile of shit - you don't need a maths degree to figure that out lmao -% - perl knows best, betaboi - :| - :p - I'm a valued contributor to this project - :| |: - \ ._. / - lmfao - you know you'd miss me if I was gone - lol -% - go to your room acheam - no more internet for tonight -% - welcome to the present, palememe -% - i have said many things, sometimes it's hard for even me to keep them -all straight c: - the wise words of a lunatic -% - mozilla is dying - f - dilyn: you don't have a right to say f, you chromium scum - mozilla is dead, and I killed him - *gasp* -% - new feature: rewrite lisp code in C because it was too slow - sh4rm4^bnc: s/feature/torture device/ -% - carbs actually works? -% - I watched EmacsCon from mpv - Damn it, why not Emacs -% - ITS A HANDGUN -% - carry a crossbow around - and that's totally a-okay -% - firefox is basically "javascript implemented in rust" -% - should just rewrite your init scripts with filesystem-specific -checkers - smh - i'm dead - I'm dead and mid has killed me -% - Everything I Don't Like Is Literally A Cargo Cult! -% - if my hands aren't flying across my keyboard as I furiously type my -diatribes, am I even using a computer? -% - i'm not shitposting - i'm Contributing:tm: -% - GUIs? we don't need no stinking GUIs! -% - all kiss linux users have a moral god-given obligation to maintain -at least ten thousand packages -% - this just reminded me to update git, so I was terrified that my patch -wasn't gonna apply and I was gonna have to modify it to fit the current -upstream, which would be a nightmare cuz I just got high lol - I remember sending a mail patch to Dylan while drunk - And I sent like 5 mails because I was so fucking high and wrote 4 -garbage patches - All my mails were "I got it this time I'm so sorry" - try finding contributors of this quality anywhere else folks! -% -<<<<<<< HEAD -% - gotta encrypt it using the strongest cipher - otherwise known as base64 -% - Nothing quite like the warmth of compiling Webkit on a cold morning -% - In EmacsOS with systemd-kerneld everything just works too. You may -just switch at this point :p - Its in development for 20+ light years and tools from it used in -different OSes so no one can stop you - that's a long distance to be in development - So yeah we measure its development in kilometers. Don't ask why - Well actually that's because of SpaceMacs I think -% - oh sweet baby fucking jesus christ -% - the virgin nxgh vs the chad acheam -% - tree / | aplay -% -word of the day: "/usr/etc" -% - midfavila: what do you mean? .tar iS compression - you do know that the .gz and .xz are optional, and only put there by -legacy programs, right? -% - mfw KISSfoundation is the new Mozilla Foundation -% - CDDL: the copyleft license that bsd people like -% -A camel is a horse designed by a committee. -% -This wiki is incomplete, you can help by expanding it! -% - Hello world - hi AndroUser - ehlo - Hallo - hi - helo - hola. - hola -% - I am an abuser -% - we shall expand our empire with force! - #manifestdestiny - kiss shall be known in academia for centuries to come - is manifest destiny our distro slogan - heck naw - gotta be something like... - dream distro meme distro - what you wish gentoo could've been - the slogan can't just be a fucking description - 'the meme has gone too far' - hold onto your lips? - "KISS Linux: 'The meme has gone too far'" - ... - Slogan of the day? - -wayne gretzky -michael scott -dilyn corner -% - hiii bro - i want to join hacking groups - help plz - if you want to be a 733t hackerz, there is one crucial step: - create an altar to Dylan Araps, and light an effigy - everything after that comes naturally - sorry i don't understand what are you saying -GMR (~DELL@2409:4051:7:f478:d93d:c65e:92e9:cd07) has quit (Quit: Leaving) -% - 733t l00n1x haggerz kissing each other -% - hyperbola, parabola, webola - parabopolis - something something parabolas and hyperbolas are different elements -of a shape - the art of abola - or something - you're forgetting ebola - thats the one with systemd, right? - systemd+ebola gnu/linux -% - isn't /usr/include your pocket reference for C -% - whenever I login to a new system my first order of business is to -`chown -R root:root ~/*` - just to show the sysadmin I have nothing to hide -% - ive always wanted a vibrator for my terminal -% - `touch` all the things - woah woah hey settle down dilyn -% - merakor: I'll peak at your patch tomorrow and see if I can reproduce -the issue. what is /bin/sh ? - wow I never would have though I would have to explain this to you. -/bin/sh is the path to the posix compliant shell on the system, jeez dilyn - *Hopefully* posix compliant - but like, the bdfl of a strictly-posix distro having to ask 'what is -/bin/sh' is just... wow -% - big https://github.com/aabacchus/pp - starred it. - let's abuse seo and make this the most viewed github repo - thats a big pp - wtf is this -% -zenomat leaves: Quit: WeeChat 3.1 - YESSS - YESSS -zenomat arrives in #kisslinux - Feel my frustration -% - gnu's not unix network object model environment is alright -% - mawnk awk iawk sawk pawkerfawkl -% - \o/ - \o/ - \o/ - \o_ - /o\ - _o/ - (o/ - _o/ -% - aight now that ive sufficiently stumbled into errors in programs, -imma go sleep -% -"instead of having every app be an electron app, I turned my electron app into -every app" - -- Dilyn Corner on his use of Chromium -% - i like the sound of your fork - did you aplay it? -% - minimalism is mostly not being smart enough to learn all the commands -in a big program -% - fuck science lmfao -% - I have no desktop for my computer. Just several spots to crouch. -% - fun is illegal -% - Is it illegal to be sexually attracted to a piece of software -% -zenomat leaves: Quit: Never gonna give you up, except my client just did -% - repo-bin just got heckin' chonky -% - how can you NOT have a wallpaper... - black screens hurt my soul - I don't have a wallpaper - just good ol #000000 - burn the blasphemer - it's just the psychological impact of knowing a pretty picture is there -to catch me when chromium randomly crashes - keeps me sane, you know? -% - easiest alsa setup i've ever had (: - KISS == Linux on EZ mode -% - "I can't believe its not shell!" -% - hmmm -% - what is this, BSD? - things don't make sense here -% - Quick, someone kill dilyn! - *kill their connection -% - a pacman is a wacka wacka wacka -% -"Just as I thought. No actual simplicity, just some neckbeards complaining -about software evolving in the last 20 years." - -- Anonymous testimonial -% -"Not gonna lie, the attitude of the maintainer kinda makes my skin crawl, but -to each their own." - -- Anonymous testimonial -% -"Literally the opposite of KISS. At lest don't use hypocritical excuses for -your crusades." - -- Anonymous testimonial -% -"Oh this touches something deep in me." - -- Anonymous testimonial -% - the internet is cancer. I don't blame dylan for leaving - uh-oh, are we needing a new bdfl again? - only if these 1337 hack3r5 get me -% - I am not a salesman, just a bringer of bad omens -% - is it a bad idea to have musl and glibc at the same time? - it will result in what people in the industry call "a bad time" - I get the feeling you're underselling how bad a time I will have... -% - deer god I hope that you're kidding - s/deer/dear - i don't care about the god of bucks -% - btw dilyn, sometimes your sarcasm takes a lot of my brain power to -process. -% - so what you're really saying is that I'm going to immortalised as -an amusing quote? - awesome! -% - a git for femboys is a git made for me -% diff --git a/extra/fortune/sources b/extra/fortune/sources deleted file mode 100644 index 5c1924c..0000000 --- a/extra/fortune/sources +++ /dev/null @@ -1,3 +0,0 @@ -https://git.sr.ht/~armaan/bin/archive/v0.0.1.tar.gz -https://github.com/shlomif/fortune-mod/releases/download/fortune-mod-3.4.1/fortune-mod-3.4.1.tar.xz fortune-mod -files/kiss diff --git a/extra/fortune/version b/extra/fortune/version deleted file mode 100644 index fed9176..0000000 --- a/extra/fortune/version +++ /dev/null @@ -1 +0,0 @@ -0.0.1 2 diff --git a/extra/freetype-harfbuzz/build b/extra/freetype-harfbuzz/build new file mode 100755 index 0000000..86c7a48 --- /dev/null +++ b/extra/freetype-harfbuzz/build @@ -0,0 +1,48 @@ +#!/bin/sh -e + +build_freetype() ( + cd freetype + + CFLAGS="$CFLAGS -DDEFAULT_TT_INTERPRETER_VERSION=TT_INTERPRETER_VERSION_40" \ + ./configure \ + --prefix=/usr \ + --enable-freetype-config \ + --with-harfbuzz="$2" + + make + make DESTDIR="$1" install +) + +build_harfbuzz() ( + # Point Harfbuzz to the Freetype files. + export CFLAGS="$CFLAGS -I$1/usr/include/freetype2" + export CXXFLAGS="$CXXFLAGS -I$1/usr/include/freetype2" + export LDFLAGS="$LDFLAGS -L$1/usr/lib" + + cd harfbuzz + + export DESTDIR="$1" + meson \ + --prefix=/usr \ + -Dpkg_config_path="$1/usr/lib/pkgconfig" \ + -Ddefault_library=both \ + -Dglib=enabled \ + -Dfreetype=enabled \ + -Dcairo=disabled \ + -Dicu=disabled \ + -Dbenchmark=disabled \ + -Dtests=disabled \ + . output + + ninja -C output + ninja -C output install +) + +build_freetype "$1" no +build_harfbuzz "$1" + +# Point Freetype to the Harfbuzz files. +export HARFBUZZ_CFLAGS="-I$PWD/harfbuzz/src" +export HARFBUZZ_LIBS="-L$PWD/harfbuzz/output/src -lharfbuzz" + +build_freetype "$1" yes diff --git a/extra/freetype-harfbuzz/checksums b/extra/freetype-harfbuzz/checksums new file mode 100644 index 0000000..c9eabcc --- /dev/null +++ b/extra/freetype-harfbuzz/checksums @@ -0,0 +1,2 @@ +86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784 +b3f17394c5bccee456172b2b30ddec0bb87e9c5df38b4559a973d14ccd04509d diff --git a/extra/freetype-harfbuzz/depends b/extra/freetype-harfbuzz/depends new file mode 100644 index 0000000..6b36f25 --- /dev/null +++ b/extra/freetype-harfbuzz/depends @@ -0,0 +1,19 @@ +bzip2 +expat +glib +libX11 +libXau +libXdamage +libXext +libXfixes +libXrender +libXxf86vm +libdrm +libpng +libxcb +libxshmfence +mesa +meson make +pixman +pkgconf make +zlib diff --git a/extra/freetype-harfbuzz/sources b/extra/freetype-harfbuzz/sources new file mode 100644 index 0000000..1773f70 --- /dev/null +++ b/extra/freetype-harfbuzz/sources @@ -0,0 +1,2 @@ +https://download-mirror.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.xz freetype +https://github.com/harfbuzz/harfbuzz/archive/2.8.1.tar.gz harfbuzz diff --git a/extra/freetype-harfbuzz/version b/extra/freetype-harfbuzz/version new file mode 100644 index 0000000..93d2d3f --- /dev/null +++ b/extra/freetype-harfbuzz/version @@ -0,0 +1 @@ +2.10.4+2.8.1 1 diff --git a/extra/fribidi/build b/extra/fribidi/build new file mode 100755 index 0000000..cdabf58 --- /dev/null +++ b/extra/fribidi/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-static + +make +make DESTDIR="$1" install diff --git a/extra/fribidi/checksums b/extra/fribidi/checksums new file mode 100644 index 0000000..2a5dfc8 --- /dev/null +++ b/extra/fribidi/checksums @@ -0,0 +1 @@ +7f1c687c7831499bcacae5e8675945a39bacbad16ecaa945e9454a32df653c01 fribidi-1.0.10.tar.xz diff --git a/extra/fribidi/sources b/extra/fribidi/sources new file mode 100644 index 0000000..0ddde5e --- /dev/null +++ b/extra/fribidi/sources @@ -0,0 +1 @@ +https://github.com/fribidi/fribidi/releases/download/v1.0.10/fribidi-1.0.10.tar.xz diff --git a/extra/fribidi/version b/extra/fribidi/version new file mode 100644 index 0000000..2d248d7 --- /dev/null +++ b/extra/fribidi/version @@ -0,0 +1 @@ +1.0.10 1 diff --git a/extra/gcc/sources b/extra/gcc/sources index e69de29..8b13789 100644 --- a/extra/gcc/sources +++ b/extra/gcc/sources @@ -0,0 +1 @@ + diff --git a/extra/gdk-pixbuf/build b/extra/gdk-pixbuf/build new file mode 100755 index 0000000..1d4c839 --- /dev/null +++ b/extra/gdk-pixbuf/build @@ -0,0 +1,22 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +sed -i "/subdir('tests')/d" meson.build + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + -Dgir=false \ + -Djasper=false \ + -Dpng=true \ + -Ddocs=false \ + -Dman=false \ + -Dgio_sniffing=false \ + -Dinstalled_tests=false \ + -Dbuiltin_loaders=all \ + . output + +ninja -C output +ninja -C output install diff --git a/extra/gdk-pixbuf/checksums b/extra/gdk-pixbuf/checksums new file mode 100644 index 0000000..12f4eac --- /dev/null +++ b/extra/gdk-pixbuf/checksums @@ -0,0 +1 @@ +c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f diff --git a/extra/gdk-pixbuf/depends b/extra/gdk-pixbuf/depends new file mode 100644 index 0000000..9f23cbd --- /dev/null +++ b/extra/gdk-pixbuf/depends @@ -0,0 +1,5 @@ +glib +libX11 +libpng +meson make +pkgconf make diff --git a/extra/gdk-pixbuf/post-install b/extra/gdk-pixbuf/post-install new file mode 100755 index 0000000..b97f005 --- /dev/null +++ b/extra/gdk-pixbuf/post-install @@ -0,0 +1,3 @@ +#!/bin/sh + +gdk-pixbuf-query-loaders --update-cache diff --git a/extra/gdk-pixbuf/sources b/extra/gdk-pixbuf/sources new file mode 100644 index 0000000..680a73f --- /dev/null +++ b/extra/gdk-pixbuf/sources @@ -0,0 +1 @@ +https://download.gnome.org/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.6.tar.xz diff --git a/extra/gdk-pixbuf/version b/extra/gdk-pixbuf/version new file mode 100644 index 0000000..038a394 --- /dev/null +++ b/extra/gdk-pixbuf/version @@ -0,0 +1 @@ +2.42.6 1 diff --git a/extra/giflib/build b/extra/giflib/build new file mode 100755 index 0000000..431cc72 --- /dev/null +++ b/extra/giflib/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/extra/giflib/checksums b/extra/giflib/checksums new file mode 100644 index 0000000..023118b --- /dev/null +++ b/extra/giflib/checksums @@ -0,0 +1 @@ +31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd giflib-5.2.1.tar.gz diff --git a/extra/giflib/sources b/extra/giflib/sources new file mode 100644 index 0000000..dc1326b --- /dev/null +++ b/extra/giflib/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/giflib/giflib-5.2.1.tar.gz diff --git a/extra/giflib/version b/extra/giflib/version new file mode 100644 index 0000000..a06ff62 --- /dev/null +++ b/extra/giflib/version @@ -0,0 +1 @@ +5.2.1 1 diff --git a/extra/girara/build b/extra/girara/build new file mode 100755 index 0000000..79b33a0 --- /dev/null +++ b/extra/girara/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +meson build \ + --prefix=/usr \ + --sysconfdir=/etc \ + --buildtype=release \ + -Djson=enabled \ + -Dnotify=disabled \ + -Ddocs=disabled \ + -Dtests=disabled + +DESTDIR="$1" ninja -C build install diff --git a/extra/girara/checksums b/extra/girara/checksums new file mode 100644 index 0000000..8c2e5bb --- /dev/null +++ b/extra/girara/checksums @@ -0,0 +1 @@ +ce6bc8cb95ec886dc01c6ce8ea8ccf1d17db523d78dec1aa380115b2804971d8 0.3.5.tar.gz diff --git a/extra/girara/depends b/extra/girara/depends new file mode 100644 index 0000000..b9d1b6e --- /dev/null +++ b/extra/girara/depends @@ -0,0 +1,5 @@ +glib +gtk+3 +json-c +meson make +pkgconf make diff --git a/extra/girara/sources b/extra/girara/sources new file mode 100644 index 0000000..422cb59 --- /dev/null +++ b/extra/girara/sources @@ -0,0 +1 @@ +https://github.com/pwmt/girara/archive/0.3.5.tar.gz diff --git a/extra/girara/version b/extra/girara/version new file mode 100644 index 0000000..86cee77 --- /dev/null +++ b/extra/girara/version @@ -0,0 +1 @@ +0.3.5 1 diff --git a/extra/glib-networking/build b/extra/glib-networking/build new file mode 100755 index 0000000..b2f67d5 --- /dev/null +++ b/extra/glib-networking/build @@ -0,0 +1,18 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +# Don't build tests that fail due to `gnutls` not being built with `p11-kit`. +sed -i "/subdir('tls\/tests')/d" meson.build + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + -Dlibproxy=disabled \ + -Dopenssl=disabled \ + -Dgnutls=enabled \ + . output + +ninja -C output +ninja -C output install diff --git a/extra/glib-networking/checksums b/extra/glib-networking/checksums new file mode 100644 index 0000000..3fbcbf1 --- /dev/null +++ b/extra/glib-networking/checksums @@ -0,0 +1 @@ +d05d8bd124a9f53fc2b93b18f2386d512e4f48bc5a80470a7967224f3bf53b30 diff --git a/extra/glib-networking/depends b/extra/glib-networking/depends new file mode 100644 index 0000000..da4851d --- /dev/null +++ b/extra/glib-networking/depends @@ -0,0 +1,4 @@ +glib +gnutls +meson make +pkgconf make diff --git a/extra/glib-networking/sources b/extra/glib-networking/sources new file mode 100644 index 0000000..422533d --- /dev/null +++ b/extra/glib-networking/sources @@ -0,0 +1 @@ +https://ftp.gnome.org/pub/gnome/sources/glib-networking/2.68/glib-networking-2.68.1.tar.xz diff --git a/extra/glib-networking/version b/extra/glib-networking/version new file mode 100644 index 0000000..be5bbb4 --- /dev/null +++ b/extra/glib-networking/version @@ -0,0 +1 @@ +2.68.1 1 diff --git a/extra/glib/build b/extra/glib/build new file mode 100755 index 0000000..a476dcd --- /dev/null +++ b/extra/glib/build @@ -0,0 +1,26 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +# Remove 'libelf' and 'util-linux' dependencies. +sed -i 's/HAVE_LIBELF/HAVE_ASD/' gio/meson.build +sed -i 's/libmount_dep.found()/false/' meson.build + +# Don't build tests/fuzzing stuff. +find . -type f -name meson.build -exec \ + sed -i "/subdir('tests')/d;/subdir('fuzzing')/d" {} + + +meson \ + --prefix=/usr \ + -Dlibmount=disabled \ + -Dinstalled_tests=false \ + -Ddefault_library=both \ + -Dman=false \ + -Dfam=false \ + -Dinternal_pcre=true \ + . build + +ninja -C build +ninja -C build install + +rm -rf "$1/usr/bin/gdbus" diff --git a/extra/glib/checksums b/extra/glib/checksums new file mode 100644 index 0000000..87396a4 --- /dev/null +++ b/extra/glib/checksums @@ -0,0 +1 @@ +e7e1a3c20c026109c45c9ec4a31d8dcebc22e86c69486993e565817d64be3138 diff --git a/extra/glib/depends b/extra/glib/depends new file mode 100644 index 0000000..f7659f3 --- /dev/null +++ b/extra/glib/depends @@ -0,0 +1,4 @@ +libffi +meson make +pkgconf make +zlib diff --git a/extra/glib/sources b/extra/glib/sources new file mode 100644 index 0000000..5c66aca --- /dev/null +++ b/extra/glib/sources @@ -0,0 +1 @@ +https://download.gnome.org/sources/glib/2.68/glib-2.68.3.tar.xz diff --git a/extra/glib/version b/extra/glib/version new file mode 100644 index 0000000..51f3a41 --- /dev/null +++ b/extra/glib/version @@ -0,0 +1 @@ +2.68.3 1 diff --git a/extra/gnutls/build b/extra/gnutls/build new file mode 100755 index 0000000..52f527a --- /dev/null +++ b/extra/gnutls/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-nls \ + --with-nettle-mini \ + --with-included-libtasn1 \ + --with-included-unistring \ + --enable-static \ + --without-p11-kit + +make +make DESTDIR="$1" install diff --git a/extra/gnutls/checksums b/extra/gnutls/checksums new file mode 100644 index 0000000..837e755 --- /dev/null +++ b/extra/gnutls/checksums @@ -0,0 +1 @@ +1b79b381ac283d8b054368b335c408fedcb9b7144e0c07f531e3537d4328f3b3 diff --git a/extra/gnutls/depends b/extra/gnutls/depends new file mode 100644 index 0000000..bf6011a --- /dev/null +++ b/extra/gnutls/depends @@ -0,0 +1,2 @@ +nettle +pkgconf make diff --git a/extra/gnutls/sources b/extra/gnutls/sources new file mode 100644 index 0000000..e8e85f2 --- /dev/null +++ b/extra/gnutls/sources @@ -0,0 +1 @@ +https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.16.tar.xz diff --git a/extra/gnutls/version b/extra/gnutls/version new file mode 100644 index 0000000..227c9c9 --- /dev/null +++ b/extra/gnutls/version @@ -0,0 +1 @@ +3.6.16 1 diff --git a/desktop/gobject-introspection/build b/extra/gobject-introspection/build similarity index 100% rename from desktop/gobject-introspection/build rename to extra/gobject-introspection/build diff --git a/desktop/gobject-introspection/depends b/extra/gobject-introspection/depends similarity index 100% rename from desktop/gobject-introspection/depends rename to extra/gobject-introspection/depends diff --git a/desktop/gobject-introspection/sources b/extra/gobject-introspection/sources similarity index 100% rename from desktop/gobject-introspection/sources rename to extra/gobject-introspection/sources diff --git a/desktop/gobject-introspection/version b/extra/gobject-introspection/version similarity index 100% rename from desktop/gobject-introspection/version rename to extra/gobject-introspection/version diff --git a/extra/gperf/build b/extra/gperf/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/gperf/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/gperf/checksums b/extra/gperf/checksums new file mode 100644 index 0000000..96f73ec --- /dev/null +++ b/extra/gperf/checksums @@ -0,0 +1 @@ +588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2 gperf-3.1.tar.gz diff --git a/extra/gperf/sources b/extra/gperf/sources new file mode 100644 index 0000000..2ead637 --- /dev/null +++ b/extra/gperf/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/gperf/gperf-3.1.tar.gz diff --git a/extra/gperf/version b/extra/gperf/version new file mode 100644 index 0000000..e751c9e --- /dev/null +++ b/extra/gperf/version @@ -0,0 +1 @@ +3.1 1 diff --git a/desktop/gstreamer/build b/extra/gstreamer/build similarity index 100% rename from desktop/gstreamer/build rename to extra/gstreamer/build diff --git a/desktop/gstreamer/checksums b/extra/gstreamer/checksums similarity index 100% rename from desktop/gstreamer/checksums rename to extra/gstreamer/checksums diff --git a/desktop/gstreamer/depends b/extra/gstreamer/depends similarity index 100% rename from desktop/gstreamer/depends rename to extra/gstreamer/depends diff --git a/desktop/gstreamer/sources b/extra/gstreamer/sources similarity index 100% rename from desktop/gstreamer/sources rename to extra/gstreamer/sources diff --git a/desktop/gstreamer/version b/extra/gstreamer/version similarity index 100% rename from desktop/gstreamer/version rename to extra/gstreamer/version diff --git a/desktop/gtk+3/build b/extra/gtk+3/build similarity index 100% rename from desktop/gtk+3/build rename to extra/gtk+3/build diff --git a/desktop/gtk+3/checksums b/extra/gtk+3/checksums similarity index 100% rename from desktop/gtk+3/checksums rename to extra/gtk+3/checksums diff --git a/desktop/gtk+3/depends b/extra/gtk+3/depends similarity index 100% rename from desktop/gtk+3/depends rename to extra/gtk+3/depends diff --git a/desktop/gtk+3/post-install b/extra/gtk+3/post-install similarity index 100% rename from desktop/gtk+3/post-install rename to extra/gtk+3/post-install diff --git a/desktop/gtk+3/sources b/extra/gtk+3/sources similarity index 100% rename from desktop/gtk+3/sources rename to extra/gtk+3/sources diff --git a/desktop/gtk+3/version b/extra/gtk+3/version similarity index 100% rename from desktop/gtk+3/version rename to extra/gtk+3/version diff --git a/extra/harfbuzz-icu/build b/extra/harfbuzz-icu/build new file mode 100755 index 0000000..1cf8e03 --- /dev/null +++ b/extra/harfbuzz-icu/build @@ -0,0 +1,23 @@ +#!/bin/sh -e + +# Will store the built package's files to +# allow us to cherry-pick the ICU related files. +mkdir -p tmp +export DESTDIR="$PWD/tmp" + +meson \ + --prefix=/usr \ + -Dglib=enabled \ + -Dicu=enabled \ + -Dicu_builtin=false \ + -Dbenchmark=disabled \ + -Dcairo=disabled \ + -Ddocs=disabled \ + . output + +ninja -C output +ninja -C output install + +install -Dt "$1/usr/lib" tmp/usr/lib/libharfbuzz-icu* +install -Dt "$1/usr/lib/pkgconfig" tmp/usr/lib/pkgconfig/harfbuzz-icu.pc +install -Dt "$1/usr/include/harfbuzz" tmp/usr/include/harfbuzz/hb-icu.h diff --git a/extra/harfbuzz-icu/checksums b/extra/harfbuzz-icu/checksums new file mode 100644 index 0000000..d98b9c8 --- /dev/null +++ b/extra/harfbuzz-icu/checksums @@ -0,0 +1 @@ +b3f17394c5bccee456172b2b30ddec0bb87e9c5df38b4559a973d14ccd04509d diff --git a/extra/harfbuzz-icu/depends b/extra/harfbuzz-icu/depends new file mode 100644 index 0000000..f103c80 --- /dev/null +++ b/extra/harfbuzz-icu/depends @@ -0,0 +1,3 @@ +freetype-harfbuzz +icu +meson make diff --git a/extra/harfbuzz-icu/sources b/extra/harfbuzz-icu/sources new file mode 100644 index 0000000..edf4292 --- /dev/null +++ b/extra/harfbuzz-icu/sources @@ -0,0 +1 @@ +https://github.com/harfbuzz/harfbuzz/archive/2.8.1.tar.gz diff --git a/extra/harfbuzz-icu/version b/extra/harfbuzz-icu/version new file mode 100644 index 0000000..4214617 --- /dev/null +++ b/extra/harfbuzz-icu/version @@ -0,0 +1 @@ +2.8.1 1 diff --git a/extra/icu/build b/extra/icu/build new file mode 100755 index 0000000..39bb094 --- /dev/null +++ b/extra/icu/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +# Change the order for checking installed compilers as +# the ccache clang symlink might exist, but clang might not be installed. +sed -i 's/clang gcc cc/cc clang gcc/g' source/configure +sed -i 's/clang++ g++ c++/c++ clang++ g++/g' source/configure + +source/configure \ + --prefix=/usr \ + --sbindir=/usr/bin + +make +make DESTDIR="$1" install diff --git a/extra/icu/checksums b/extra/icu/checksums new file mode 100644 index 0000000..0127fd6 --- /dev/null +++ b/extra/icu/checksums @@ -0,0 +1 @@ +4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745 diff --git a/extra/icu/sources b/extra/icu/sources new file mode 100644 index 0000000..86d8a44 --- /dev/null +++ b/extra/icu/sources @@ -0,0 +1 @@ +https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-src.tgz diff --git a/extra/icu/version b/extra/icu/version new file mode 100644 index 0000000..4156826 --- /dev/null +++ b/extra/icu/version @@ -0,0 +1 @@ +69.1 1 diff --git a/extra/intltool/build b/extra/intltool/build deleted file mode 100755 index eb98e92..0000000 --- a/extra/intltool/build +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/sh -e - -./configure --prefix=/usr - -make -make DESTDIR="$1" install diff --git a/extra/intltool/checksums b/extra/intltool/checksums deleted file mode 100644 index 8c1cad0..0000000 --- a/extra/intltool/checksums +++ /dev/null @@ -1 +0,0 @@ -67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd diff --git a/extra/intltool/depends b/extra/intltool/depends deleted file mode 100644 index 5084e70..0000000 --- a/extra/intltool/depends +++ /dev/null @@ -1 +0,0 @@ -perl-xml # in midfavila's repo diff --git a/extra/intltool/sources b/extra/intltool/sources deleted file mode 100644 index 852fad1..0000000 --- a/extra/intltool/sources +++ /dev/null @@ -1 +0,0 @@ -https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz diff --git a/extra/intltool/version b/extra/intltool/version deleted file mode 100644 index 302672a..0000000 --- a/extra/intltool/version +++ /dev/null @@ -1 +0,0 @@ -0.51.0 2 diff --git a/extra/isync/version b/extra/isync/version deleted file mode 100644 index c87d200..0000000 --- a/extra/isync/version +++ /dev/null @@ -1 +0,0 @@ -1.4.2 2 diff --git a/extra/jetbrainsmono-nf/depends b/extra/jetbrainsmono-nf/depends deleted file mode 100644 index e69de29..0000000 diff --git a/extra/joe/version b/extra/joe/version index a6309ed..5753236 100644 --- a/extra/joe/version +++ b/extra/joe/version @@ -1 +1 @@ -4.6 2 +4.6 1 diff --git a/extra/json-c/build b/extra/json-c/build new file mode 100755 index 0000000..7f4f480 --- /dev/null +++ b/extra/json-c/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF + +cmake --build build +cmake --install build diff --git a/extra/json-c/checksums b/extra/json-c/checksums new file mode 100644 index 0000000..7f35ddc --- /dev/null +++ b/extra/json-c/checksums @@ -0,0 +1 @@ +4ba9a090a42cf1e12b84c64e4464bb6fb893666841d5843cc5bef90774028882 json-c-0.15-20200726.tar.gz diff --git a/extra/json-c/depends b/extra/json-c/depends new file mode 100644 index 0000000..7d91ec2 --- /dev/null +++ b/extra/json-c/depends @@ -0,0 +1 @@ +cmake make diff --git a/extra/json-c/sources b/extra/json-c/sources new file mode 100644 index 0000000..d72f151 --- /dev/null +++ b/extra/json-c/sources @@ -0,0 +1 @@ +https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz diff --git a/extra/json-c/version b/extra/json-c/version new file mode 100644 index 0000000..a78cbfc --- /dev/null +++ b/extra/json-c/version @@ -0,0 +1 @@ +0.15 1 diff --git a/extra/lame/build b/extra/lame/build new file mode 100755 index 0000000..9e85cfc --- /dev/null +++ b/extra/lame/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-shared + +make +make DESTDIR="$1" install diff --git a/extra/lame/checksums b/extra/lame/checksums new file mode 100644 index 0000000..3b885b2 --- /dev/null +++ b/extra/lame/checksums @@ -0,0 +1 @@ +ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e lame-3.100.tar.gz diff --git a/extra/lame/sources b/extra/lame/sources new file mode 100644 index 0000000..8cc2835 --- /dev/null +++ b/extra/lame/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/lame/lame-3.100.tar.gz diff --git a/extra/lame/version b/extra/lame/version new file mode 100644 index 0000000..3e9a898 --- /dev/null +++ b/extra/lame/version @@ -0,0 +1 @@ +3.100 1 diff --git a/extra/lcms/build b/extra/lcms/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/lcms/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/lcms/checksums b/extra/lcms/checksums new file mode 100644 index 0000000..4af6c15 --- /dev/null +++ b/extra/lcms/checksums @@ -0,0 +1 @@ +e501f1482fc424550ef3abbf86bf1c66090e1661249e89552d39ed5bf935df66 diff --git a/extra/lcms/depends b/extra/lcms/depends new file mode 100644 index 0000000..ba6ea94 --- /dev/null +++ b/extra/lcms/depends @@ -0,0 +1,2 @@ +libjpeg-turbo +tiff diff --git a/extra/lcms/sources b/extra/lcms/sources new file mode 100644 index 0000000..81188e6 --- /dev/null +++ b/extra/lcms/sources @@ -0,0 +1 @@ +https://github.com/mm2/Little-CMS/archive/2.12.tar.gz diff --git a/extra/lcms/version b/extra/lcms/version new file mode 100644 index 0000000..469c791 --- /dev/null +++ b/extra/lcms/version @@ -0,0 +1 @@ +2.12 1 diff --git a/extra/libass/build b/extra/libass/build new file mode 100755 index 0000000..1193889 --- /dev/null +++ b/extra/libass/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-fontconfig + +make +make DESTDIR="$1" install diff --git a/extra/libass/checksums b/extra/libass/checksums new file mode 100644 index 0000000..ea2a7e0 --- /dev/null +++ b/extra/libass/checksums @@ -0,0 +1 @@ +1cdd39c9d007b06e737e7738004d7f38cf9b1e92843f37307b24e7ff63ab8e53 diff --git a/extra/libass/depends b/extra/libass/depends new file mode 100644 index 0000000..4220926 --- /dev/null +++ b/extra/libass/depends @@ -0,0 +1,6 @@ +expat +fontconfig +freetype-harfbuzz +fribidi +nasm make +pkgconf make diff --git a/extra/libass/sources b/extra/libass/sources new file mode 100644 index 0000000..a627189 --- /dev/null +++ b/extra/libass/sources @@ -0,0 +1 @@ +https://github.com/libass/libass/releases/download/0.15.1/libass-0.15.1.tar.xz diff --git a/extra/libass/version b/extra/libass/version new file mode 100644 index 0000000..a506fde --- /dev/null +++ b/extra/libass/version @@ -0,0 +1 @@ +0.15.1 1 diff --git a/extra/libdrm/build b/extra/libdrm/build new file mode 100755 index 0000000..a4efcbe --- /dev/null +++ b/extra/libdrm/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + . build + +ninja -C build +ninja -C build install diff --git a/extra/libdrm/checksums b/extra/libdrm/checksums new file mode 100644 index 0000000..fc2e6e1 --- /dev/null +++ b/extra/libdrm/checksums @@ -0,0 +1 @@ +c554cef03b033636a975543eab363cc19081cb464595d3da1ec129f87370f888 diff --git a/extra/libdrm/depends b/extra/libdrm/depends new file mode 100644 index 0000000..58247fb --- /dev/null +++ b/extra/libdrm/depends @@ -0,0 +1,4 @@ +libpciaccess +linux-headers make +meson make +pkgconf make diff --git a/extra/libdrm/sources b/extra/libdrm/sources new file mode 100644 index 0000000..4de5763 --- /dev/null +++ b/extra/libdrm/sources @@ -0,0 +1 @@ +https://dri.freedesktop.org/libdrm/libdrm-2.4.107.tar.xz diff --git a/extra/libdrm/version b/extra/libdrm/version new file mode 100644 index 0000000..5e5f0bf --- /dev/null +++ b/extra/libdrm/version @@ -0,0 +1 @@ +2.4.107 1 diff --git a/extra/libelf/build b/extra/libelf/build new file mode 100755 index 0000000..4c2da98 --- /dev/null +++ b/extra/libelf/build @@ -0,0 +1,27 @@ +#!/bin/sh -e + +# Build sometimes forces -Werror. +export CFLAGS="$CFLAGS -Wno-error" + +# Disable configure error for missing argp, fts, and obstack. +sed -i -e 's/as_fn_error.*argp/: "/g' \ + -e 's/as_fn_error.*fts/: "/g' \ + -e 's/as_fn_error.*obstack/: "/g' configure + +# Don't compile two unrelated C files which require argp. +sed -i 's/color.*printversion../#/g' lib/Makefile.in + +./configure \ + --prefix=/usr \ + --disable-symbol-versioning \ + --disable-debuginfod \ + --disable-nls \ + ac_cv_c99=yes # Override check for Clang. + +# Skip the default make target and build only what we need. +make -C lib +make -C libelf +make -C libelf DESTDIR="$1" install + +mkdir -p "$1/usr/lib/pkgconfig" +cp -f config/libelf.pc "$1/usr/lib/pkgconfig/libelf.pc" diff --git a/extra/libelf/checksums b/extra/libelf/checksums new file mode 100644 index 0000000..d5dbb04 --- /dev/null +++ b/extra/libelf/checksums @@ -0,0 +1,2 @@ +dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6 +bf11b56670c7919b44e33b5b0f3a216b7f20cf2859b74bf5e2e837532f8e0579 diff --git a/extra/libelf/depends b/extra/libelf/depends new file mode 100644 index 0000000..70b01bc --- /dev/null +++ b/extra/libelf/depends @@ -0,0 +1,2 @@ +pkgconf make +zlib diff --git a/extra/libelf/files/error.h b/extra/libelf/files/error.h new file mode 100644 index 0000000..ef06827 --- /dev/null +++ b/extra/libelf/files/error.h @@ -0,0 +1,27 @@ +#ifndef _ERROR_H_ +#define _ERROR_H_ + +#include +#include +#include +#include +#include + +static unsigned int error_message_count = 0; + +static inline void error(int status, int errnum, const char* format, ...) +{ + va_list ap; + fprintf(stderr, "%s: ", program_invocation_name); + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + if (errnum) + fprintf(stderr, ": %s", strerror(errnum)); + fprintf(stderr, "\n"); + error_message_count++; + if (status) + exit(status); +} + +#endif /* _ERROR_H_ */ diff --git a/extra/libelf/sources b/extra/libelf/sources new file mode 100644 index 0000000..1903c16 --- /dev/null +++ b/extra/libelf/sources @@ -0,0 +1,2 @@ +https://sourceware.org/elfutils/ftp/0.185/elfutils-0.185.tar.bz2 +files/error.h lib diff --git a/extra/libelf/version b/extra/libelf/version new file mode 100644 index 0000000..4b6b3ae --- /dev/null +++ b/extra/libelf/version @@ -0,0 +1 @@ +0.185 1 diff --git a/extra/libepoxy/build b/extra/libepoxy/build new file mode 100755 index 0000000..5447552 --- /dev/null +++ b/extra/libepoxy/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + -Dhas-dlvsym=false \ + . output + +ninja -C output +ninja -C output install diff --git a/extra/libepoxy/checksums b/extra/libepoxy/checksums new file mode 100644 index 0000000..836b50e --- /dev/null +++ b/extra/libepoxy/checksums @@ -0,0 +1 @@ +0cd80cb040b75cbe77fadd45c48282ebab82d845c597ce11ee5e8cb9c1efeabb diff --git a/extra/libepoxy/depends b/extra/libepoxy/depends new file mode 100644 index 0000000..e68256b --- /dev/null +++ b/extra/libepoxy/depends @@ -0,0 +1,2 @@ +mesa make +meson make diff --git a/extra/libepoxy/sources b/extra/libepoxy/sources new file mode 100644 index 0000000..5d6338d --- /dev/null +++ b/extra/libepoxy/sources @@ -0,0 +1 @@ +https://github.com/anholt/libepoxy/archive/1.5.8.tar.gz diff --git a/extra/libepoxy/version b/extra/libepoxy/version new file mode 100644 index 0000000..7f26b0d --- /dev/null +++ b/extra/libepoxy/version @@ -0,0 +1 @@ +1.5.8 1 diff --git a/extra/libevdev/build b/extra/libevdev/build new file mode 100755 index 0000000..0cccff6 --- /dev/null +++ b/extra/libevdev/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-gcov + +make +make DESTDIR="$1" install diff --git a/extra/libevdev/checksums b/extra/libevdev/checksums new file mode 100644 index 0000000..9a572ce --- /dev/null +++ b/extra/libevdev/checksums @@ -0,0 +1 @@ +63f4ea1489858a109080e0b40bd43e4e0903a1e12ea888d581db8c495747c2d0 diff --git a/extra/libevdev/depends b/extra/libevdev/depends new file mode 100644 index 0000000..0efd8db --- /dev/null +++ b/extra/libevdev/depends @@ -0,0 +1,2 @@ +linux-headers make +python make diff --git a/extra/libevdev/sources b/extra/libevdev/sources new file mode 100644 index 0000000..839ef67 --- /dev/null +++ b/extra/libevdev/sources @@ -0,0 +1 @@ +https://www.freedesktop.org/software/libevdev/libevdev-1.11.0.tar.xz diff --git a/extra/libevdev/version b/extra/libevdev/version new file mode 100644 index 0000000..0da43b1 --- /dev/null +++ b/extra/libevdev/version @@ -0,0 +1 @@ +1.11.0 1 diff --git a/extra/libexif/build b/extra/libexif/build new file mode 100755 index 0000000..dd147fb --- /dev/null +++ b/extra/libexif/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-nls \ + ac_cv_path_DOXYGEN=false + +make +make DESTDIR="$1" install diff --git a/extra/libexif/checksums b/extra/libexif/checksums new file mode 100644 index 0000000..1724924 --- /dev/null +++ b/extra/libexif/checksums @@ -0,0 +1 @@ +5048f1c8fc509cc636c2f97f4b40c293338b6041a5652082d5ee2cf54b530c56 libexif-0.6.22.tar.xz diff --git a/extra/libexif/sources b/extra/libexif/sources new file mode 100644 index 0000000..1ac73b4 --- /dev/null +++ b/extra/libexif/sources @@ -0,0 +1 @@ +https://github.com/libexif/libexif/releases/download/libexif-0_6_22-release/libexif-0.6.22.tar.xz diff --git a/extra/libexif/version b/extra/libexif/version new file mode 100644 index 0000000..4da7a56 --- /dev/null +++ b/extra/libexif/version @@ -0,0 +1 @@ +0.6.22 1 diff --git a/extra/libinput/build b/extra/libinput/build new file mode 100755 index 0000000..52895f7 --- /dev/null +++ b/extra/libinput/build @@ -0,0 +1,22 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +pkg-config --exists libudev || { + printf 'udev (or libudev-zero) is required\n' + exit 1 +} + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --libexecdir=/usr/lib \ + -Ddebug-gui=false \ + -Ddocumentation=false \ + -Dtests=false \ + -Dlibwacom=false \ + . output + +ninja -C output +ninja -C output install diff --git a/extra/libinput/checksums b/extra/libinput/checksums new file mode 100644 index 0000000..f62e01c --- /dev/null +++ b/extra/libinput/checksums @@ -0,0 +1 @@ +65a657490de896081935cf0830a9773aa76756b8e9961edeffcce1074706bbe6 diff --git a/extra/libinput/depends b/extra/libinput/depends new file mode 100644 index 0000000..c323c7a --- /dev/null +++ b/extra/libinput/depends @@ -0,0 +1,5 @@ +libevdev +linux-headers make +meson make +mtdev +pkgconf make diff --git a/extra/libinput/post-install b/extra/libinput/post-install new file mode 100755 index 0000000..e682fc0 --- /dev/null +++ b/extra/libinput/post-install @@ -0,0 +1,7 @@ +#!/bin/sh + +cat <valid & PNG_INFO_acTL) && ++ num_frames != NULL && num_plays != NULL) ++ { ++ *num_frames = info_ptr->num_frames; ++ *num_plays = info_ptr->num_plays; ++ return (1); ++ } ++ ++ return (0); ++} ++ ++png_uint_32 PNGAPI ++png_get_num_frames(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_num_frames()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->num_frames); ++ return (0); ++} ++ ++png_uint_32 PNGAPI ++png_get_num_plays(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_num_plays()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->num_plays); ++ return (0); ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 *width, png_uint_32 *height, ++ png_uint_32 *x_offset, png_uint_32 *y_offset, ++ png_uint_16 *delay_num, png_uint_16 *delay_den, ++ png_byte *dispose_op, png_byte *blend_op) ++{ ++ png_debug1(1, "in %s retrieval function", "fcTL"); ++ ++ if (png_ptr != NULL && info_ptr != NULL && ++ (info_ptr->valid & PNG_INFO_fcTL) && ++ width != NULL && height != NULL && ++ x_offset != NULL && y_offset != NULL && ++ delay_num != NULL && delay_den != NULL && ++ dispose_op != NULL && blend_op != NULL) ++ { ++ *width = info_ptr->next_frame_width; ++ *height = info_ptr->next_frame_height; ++ *x_offset = info_ptr->next_frame_x_offset; ++ *y_offset = info_ptr->next_frame_y_offset; ++ *delay_num = info_ptr->next_frame_delay_num; ++ *delay_den = info_ptr->next_frame_delay_den; ++ *dispose_op = info_ptr->next_frame_dispose_op; ++ *blend_op = info_ptr->next_frame_blend_op; ++ return (1); ++ } ++ ++ return (0); ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_width(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_width()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->next_frame_width); ++ return (0); ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_height(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_height()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->next_frame_height); ++ return (0); ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_x_offset(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_x_offset()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->next_frame_x_offset); ++ return (0); ++} ++ ++png_uint_32 PNGAPI ++png_get_next_frame_y_offset(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_y_offset()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->next_frame_y_offset); ++ return (0); ++} ++ ++png_uint_16 PNGAPI ++png_get_next_frame_delay_num(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_delay_num()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->next_frame_delay_num); ++ return (0); ++} ++ ++png_uint_16 PNGAPI ++png_get_next_frame_delay_den(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_delay_den()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->next_frame_delay_den); ++ return (0); ++} ++ ++png_byte PNGAPI ++png_get_next_frame_dispose_op(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_dispose_op()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->next_frame_dispose_op); ++ return (0); ++} ++ ++png_byte PNGAPI ++png_get_next_frame_blend_op(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_get_next_frame_blend_op()"); ++ ++ if (png_ptr != NULL && info_ptr != NULL) ++ return (info_ptr->next_frame_blend_op); ++ return (0); ++} ++ ++png_byte PNGAPI ++png_get_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_first_frame_is_hidden()"); ++ ++ if (png_ptr != NULL) ++ return (png_byte)(png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN); ++ ++ PNG_UNUSED(info_ptr) ++ ++ return 0; ++} ++#endif /* PNG_APNG_SUPPORTED */ + #endif /* READ || WRITE */ +diff -Naru libpng-1.6.37.org/pnginfo.h libpng-1.6.37/pnginfo.h +--- libpng-1.6.37.org/pnginfo.h 2019-04-19 07:21:37.399024787 +0900 ++++ libpng-1.6.37/pnginfo.h 2019-04-19 07:22:37.850245901 +0900 +@@ -263,5 +263,18 @@ + png_bytepp row_pointers; /* the image bits */ + #endif + ++#ifdef PNG_APNG_SUPPORTED ++ png_uint_32 num_frames; /* including default image */ ++ png_uint_32 num_plays; ++ png_uint_32 next_frame_width; ++ png_uint_32 next_frame_height; ++ png_uint_32 next_frame_x_offset; ++ png_uint_32 next_frame_y_offset; ++ png_uint_16 next_frame_delay_num; ++ png_uint_16 next_frame_delay_den; ++ png_byte next_frame_dispose_op; ++ png_byte next_frame_blend_op; ++#endif ++ + }; + #endif /* PNGINFO_H */ +diff -Naru libpng-1.6.37.org/pngpread.c libpng-1.6.37/pngpread.c +--- libpng-1.6.37.org/pngpread.c 2019-04-19 07:21:37.399024787 +0900 ++++ libpng-1.6.37/pngpread.c 2019-04-19 07:22:37.850245901 +0900 +@@ -195,6 +195,106 @@ + + chunk_name = png_ptr->chunk_name; + ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->num_frames_read > 0 && ++ png_ptr->num_frames_read < info_ptr->num_frames) ++ { ++ if (chunk_name == png_IDAT) ++ { ++ /* Discard trailing IDATs for the first frame */ ++ if (png_ptr->mode & PNG_HAVE_fcTL || png_ptr->num_frames_read > 1) ++ png_error(png_ptr, "out of place IDAT"); ++ ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ return; ++ } ++ else if (chunk_name == png_fdAT) ++ { ++ if (png_ptr->buffer_size < 4) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_ensure_sequence_number(png_ptr, 4); ++ ++ if (!(png_ptr->mode & PNG_HAVE_fcTL)) ++ { ++ /* Discard trailing fdATs for frames other than the first */ ++ if (png_ptr->num_frames_read < 2) ++ png_error(png_ptr, "out of place fdAT"); ++ ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ return; ++ } ++ ++ else ++ { ++ /* frame data follows */ ++ png_ptr->idat_size = png_ptr->push_length - 4; ++ png_ptr->mode |= PNG_HAVE_IDAT; ++ png_ptr->process_mode = PNG_READ_IDAT_MODE; ++ ++ return; ++ } ++ } ++ ++ else if (chunk_name == png_fcTL) ++ { ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_read_reset(png_ptr); ++ png_ptr->mode &= ~PNG_HAVE_fcTL; ++ ++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length); ++ ++ if (!(png_ptr->mode & PNG_HAVE_fcTL)) ++ png_error(png_ptr, "missing required fcTL chunk"); ++ ++ png_read_reinit(png_ptr, info_ptr); ++ png_progressive_read_reset(png_ptr); ++ ++ if (png_ptr->frame_info_fn != NULL) ++ (*(png_ptr->frame_info_fn))(png_ptr, png_ptr->num_frames_read); ++ ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ ++ return; ++ } ++ ++ else ++ { ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ png_warning(png_ptr, "Skipped (ignored) a chunk " ++ "between APNG chunks"); ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ return; ++ } ++ ++ return; ++ } ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ + if (chunk_name == png_IDAT) + { + if ((png_ptr->mode & PNG_AFTER_IDAT) != 0) +@@ -261,6 +361,9 @@ + + else if (chunk_name == png_IDAT) + { ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_have_info(png_ptr, info_ptr); ++#endif + png_ptr->idat_size = png_ptr->push_length; + png_ptr->process_mode = PNG_READ_IDAT_MODE; + png_push_have_info(png_ptr, info_ptr); +@@ -406,6 +509,30 @@ + png_handle_iTXt(png_ptr, info_ptr, png_ptr->push_length); + } + #endif ++#ifdef PNG_READ_APNG_SUPPORTED ++ else if (chunk_name == png_acTL) ++ { ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_handle_acTL(png_ptr, info_ptr, png_ptr->push_length); ++ } ++ ++ else if (chunk_name == png_fcTL) ++ { ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ ++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length); ++ } ++ ++#endif /* PNG_READ_APNG_SUPPORTED */ + + else + { +@@ -539,7 +666,11 @@ + png_byte chunk_tag[4]; + + /* TODO: this code can be commoned up with the same code in push_read */ ++#ifdef PNG_READ_APNG_SUPPORTED ++ PNG_PUSH_SAVE_BUFFER_IF_LT(12) ++#else + PNG_PUSH_SAVE_BUFFER_IF_LT(8) ++#endif + png_push_fill_buffer(png_ptr, chunk_length, 4); + png_ptr->push_length = png_get_uint_31(png_ptr, chunk_length); + png_reset_crc(png_ptr); +@@ -547,17 +678,64 @@ + png_ptr->chunk_name = PNG_CHUNK_FROM_STRING(chunk_tag); + png_ptr->mode |= PNG_HAVE_CHUNK_HEADER; + ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->chunk_name != png_fdAT && png_ptr->num_frames_read > 0) ++ { ++ if (png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) ++ { ++ png_ptr->process_mode = PNG_READ_CHUNK_MODE; ++ if (png_ptr->frame_end_fn != NULL) ++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read); ++ png_ptr->num_frames_read++; ++ return; ++ } ++ else ++ { ++ if (png_ptr->chunk_name == png_IEND) ++ png_error(png_ptr, "Not enough image data"); ++ if (png_ptr->push_length + 4 > png_ptr->buffer_size) ++ { ++ png_push_save_buffer(png_ptr); ++ return; ++ } ++ png_warning(png_ptr, "Skipping (ignoring) a chunk between " ++ "APNG chunks"); ++ png_crc_finish(png_ptr, png_ptr->push_length); ++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; ++ return; ++ } ++ } ++ else ++#endif ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->chunk_name != png_IDAT && png_ptr->num_frames_read == 0) ++#else + if (png_ptr->chunk_name != png_IDAT) ++#endif + { + png_ptr->process_mode = PNG_READ_CHUNK_MODE; + + if ((png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) == 0) + png_error(png_ptr, "Not enough compressed data"); + ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->frame_end_fn != NULL) ++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read); ++ png_ptr->num_frames_read++; ++#endif ++ + return; + } + + png_ptr->idat_size = png_ptr->push_length; ++ ++#ifdef PNG_READ_APNG_SUPPORTED ++ if (png_ptr->num_frames_read > 0) ++ { ++ png_ensure_sequence_number(png_ptr, 4); ++ png_ptr->idat_size -= 4; ++ } ++#endif + } + + if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0) +@@ -631,6 +809,15 @@ + if (!(buffer_length > 0) || buffer == NULL) + png_error(png_ptr, "No IDAT data (internal error)"); + ++#ifdef PNG_READ_APNG_SUPPORTED ++ /* If the app is not APNG-aware, decode only the first frame */ ++ if (!(png_ptr->apng_flags & PNG_APNG_APP) && png_ptr->num_frames_read > 0) ++ { ++ png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED; ++ return; ++ } ++#endif ++ + /* This routine must process all the data it has been given + * before returning, calling the row callback as required to + * handle the uncompressed results. +@@ -1085,6 +1272,18 @@ + png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer); + } + ++#ifdef PNG_READ_APNG_SUPPORTED ++void PNGAPI ++png_set_progressive_frame_fn(png_structp png_ptr, ++ png_progressive_frame_ptr frame_info_fn, ++ png_progressive_frame_ptr frame_end_fn) ++{ ++ png_ptr->frame_info_fn = frame_info_fn; ++ png_ptr->frame_end_fn = frame_end_fn; ++ png_ptr->apng_flags |= PNG_APNG_APP; ++} ++#endif ++ + png_voidp PNGAPI + png_get_progressive_ptr(png_const_structrp png_ptr) + { +diff -Naru libpng-1.6.37.org/pngpriv.h libpng-1.6.37/pngpriv.h +--- libpng-1.6.37.org/pngpriv.h 2019-04-19 07:21:37.399024787 +0900 ++++ libpng-1.6.37/pngpriv.h 2019-04-19 07:22:37.850245901 +0900 +@@ -637,6 +637,10 @@ + #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000U /* Have another chunk after IDAT */ + /* 0x4000U (unused) */ + #define PNG_IS_READ_STRUCT 0x8000U /* Else is a write struct */ ++#ifdef PNG_APNG_SUPPORTED ++#define PNG_HAVE_acTL 0x10000U ++#define PNG_HAVE_fcTL 0x20000U ++#endif + + /* Flags for the transformations the PNG library does on the image data */ + #define PNG_BGR 0x0001U +@@ -873,6 +877,16 @@ + #define png_tRNS PNG_U32(116, 82, 78, 83) + #define png_zTXt PNG_U32(122, 84, 88, 116) + ++#ifdef PNG_APNG_SUPPORTED ++#define png_acTL PNG_U32( 97, 99, 84, 76) ++#define png_fcTL PNG_U32(102, 99, 84, 76) ++#define png_fdAT PNG_U32(102, 100, 65, 84) ++ ++/* For png_struct.apng_flags: */ ++#define PNG_FIRST_FRAME_HIDDEN 0x0001U ++#define PNG_APNG_APP 0x0002U ++#endif ++ + /* The following will work on (signed char*) strings, whereas the get_uint_32 + * macro will fail on top-bit-set values because of the sign extension. + */ +@@ -1644,6 +1658,47 @@ + */ + #endif + ++#ifdef PNG_APNG_SUPPORTED ++PNG_INTERNAL_FUNCTION(void,png_ensure_fcTL_is_valid,(png_structp png_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op), PNG_EMPTY); ++ ++#ifdef PNG_READ_APNG_SUPPORTED ++PNG_INTERNAL_FUNCTION(void,png_handle_acTL,(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 length),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_handle_fcTL,(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 length),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_handle_fdAT,(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 length),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_have_info,(png_structp png_ptr, png_infop info_ptr),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_ensure_sequence_number,(png_structp png_ptr, ++ png_uint_32 length),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_read_reset,(png_structp png_ptr),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_read_reinit,(png_structp png_ptr, ++ png_infop info_ptr),PNG_EMPTY); ++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED ++PNG_INTERNAL_FUNCTION(void,png_progressive_read_reset,(png_structp png_ptr),PNG_EMPTY); ++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ ++#ifdef PNG_WRITE_APNG_SUPPORTED ++PNG_INTERNAL_FUNCTION(void,png_write_acTL,(png_structp png_ptr, ++ png_uint_32 num_frames, png_uint_32 num_plays),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_write_fcTL,(png_structp png_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_write_fdAT,(png_structp png_ptr, ++ png_const_bytep data, png_size_t length),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_write_reset,(png_structp png_ptr),PNG_EMPTY); ++PNG_INTERNAL_FUNCTION(void,png_write_reinit,(png_structp png_ptr, ++ png_infop info_ptr, png_uint_32 width, png_uint_32 height),PNG_EMPTY); ++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++#endif /* PNG_APNG_SUPPORTED */ ++ + /* Added at libpng version 1.4.0 */ + #ifdef PNG_COLORSPACE_SUPPORTED + /* These internal functions are for maintaining the colorspace structure within +diff -Naru libpng-1.6.37.org/pngread.c libpng-1.6.37/pngread.c +--- libpng-1.6.37.org/pngread.c 2019-04-19 07:21:37.400024774 +0900 ++++ libpng-1.6.37/pngread.c 2019-04-19 07:22:37.851245887 +0900 +@@ -161,6 +161,9 @@ + + else if (chunk_name == png_IDAT) + { ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_have_info(png_ptr, info_ptr); ++#endif + png_ptr->idat_size = length; + break; + } +@@ -255,6 +258,17 @@ + png_handle_iTXt(png_ptr, info_ptr, length); + #endif + ++#ifdef PNG_READ_APNG_SUPPORTED ++ else if (chunk_name == png_acTL) ++ png_handle_acTL(png_ptr, info_ptr, length); ++ ++ else if (chunk_name == png_fcTL) ++ png_handle_fcTL(png_ptr, info_ptr, length); ++ ++ else if (chunk_name == png_fdAT) ++ png_handle_fdAT(png_ptr, info_ptr, length); ++#endif ++ + else + png_handle_unknown(png_ptr, info_ptr, length, + PNG_HANDLE_CHUNK_AS_DEFAULT); +@@ -262,6 +276,72 @@ + } + #endif /* SEQUENTIAL_READ */ + ++#ifdef PNG_READ_APNG_SUPPORTED ++void PNGAPI ++png_read_frame_head(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_byte have_chunk_after_DAT; /* after IDAT or after fdAT */ ++ ++ png_debug(0, "Reading frame head"); ++ ++ if (!(png_ptr->mode & PNG_HAVE_acTL)) ++ png_error(png_ptr, "attempt to png_read_frame_head() but " ++ "no acTL present"); ++ ++ /* do nothing for the main IDAT */ ++ if (png_ptr->num_frames_read == 0) ++ return; ++ ++ png_read_reset(png_ptr); ++ png_ptr->flags &= ~PNG_FLAG_ROW_INIT; ++ png_ptr->mode &= ~PNG_HAVE_fcTL; ++ ++ have_chunk_after_DAT = 0; ++ for (;;) ++ { ++ png_uint_32 length = png_read_chunk_header(png_ptr); ++ ++ if (png_ptr->chunk_name == png_IDAT) ++ { ++ /* discard trailing IDATs for the first frame */ ++ if (have_chunk_after_DAT || png_ptr->num_frames_read > 1) ++ png_error(png_ptr, "png_read_frame_head(): out of place IDAT"); ++ png_crc_finish(png_ptr, length); ++ } ++ ++ else if (png_ptr->chunk_name == png_fcTL) ++ { ++ png_handle_fcTL(png_ptr, info_ptr, length); ++ have_chunk_after_DAT = 1; ++ } ++ ++ else if (png_ptr->chunk_name == png_fdAT) ++ { ++ png_ensure_sequence_number(png_ptr, length); ++ ++ /* discard trailing fdATs for frames other than the first */ ++ if (!have_chunk_after_DAT && png_ptr->num_frames_read > 1) ++ png_crc_finish(png_ptr, length - 4); ++ else if(png_ptr->mode & PNG_HAVE_fcTL) ++ { ++ png_ptr->idat_size = length - 4; ++ png_ptr->mode |= PNG_HAVE_IDAT; ++ ++ break; ++ } ++ else ++ png_error(png_ptr, "png_read_frame_head(): out of place fdAT"); ++ } ++ else ++ { ++ png_warning(png_ptr, "Skipped (ignored) a chunk " ++ "between APNG chunks"); ++ png_crc_finish(png_ptr, length); ++ } ++ } ++} ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ + /* Optional call to update the users info_ptr structure */ + void PNGAPI + png_read_update_info(png_structrp png_ptr, png_inforp info_ptr) +diff -Naru libpng-1.6.37.org/pngrutil.c libpng-1.6.37/pngrutil.c +--- libpng-1.6.37.org/pngrutil.c 2019-04-19 07:21:37.401024761 +0900 ++++ libpng-1.6.37/pngrutil.c 2019-04-19 07:22:37.853245862 +0900 +@@ -865,6 +865,11 @@ + filter_type = buf[11]; + interlace_type = buf[12]; + ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_ptr->first_frame_width = width; ++ png_ptr->first_frame_height = height; ++#endif ++ + /* Set internal variables */ + png_ptr->width = width; + png_ptr->height = height; +@@ -2857,6 +2862,179 @@ + } + #endif + ++#ifdef PNG_READ_APNG_SUPPORTED ++void /* PRIVATE */ ++png_handle_acTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) ++{ ++ png_byte data[8]; ++ png_uint_32 num_frames; ++ png_uint_32 num_plays; ++ png_uint_32 didSet; ++ ++ png_debug(1, "in png_handle_acTL"); ++ ++ if (!(png_ptr->mode & PNG_HAVE_IHDR)) ++ { ++ png_error(png_ptr, "Missing IHDR before acTL"); ++ } ++ else if (png_ptr->mode & PNG_HAVE_IDAT) ++ { ++ png_warning(png_ptr, "Invalid acTL after IDAT skipped"); ++ png_crc_finish(png_ptr, length); ++ return; ++ } ++ else if (png_ptr->mode & PNG_HAVE_acTL) ++ { ++ png_warning(png_ptr, "Duplicate acTL skipped"); ++ png_crc_finish(png_ptr, length); ++ return; ++ } ++ else if (length != 8) ++ { ++ png_warning(png_ptr, "acTL with invalid length skipped"); ++ png_crc_finish(png_ptr, length); ++ return; ++ } ++ ++ png_crc_read(png_ptr, data, 8); ++ png_crc_finish(png_ptr, 0); ++ ++ num_frames = png_get_uint_31(png_ptr, data); ++ num_plays = png_get_uint_31(png_ptr, data + 4); ++ ++ /* the set function will do error checking on num_frames */ ++ didSet = png_set_acTL(png_ptr, info_ptr, num_frames, num_plays); ++ if(didSet) ++ png_ptr->mode |= PNG_HAVE_acTL; ++} ++ ++void /* PRIVATE */ ++png_handle_fcTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) ++{ ++ png_byte data[22]; ++ png_uint_32 width; ++ png_uint_32 height; ++ png_uint_32 x_offset; ++ png_uint_32 y_offset; ++ png_uint_16 delay_num; ++ png_uint_16 delay_den; ++ png_byte dispose_op; ++ png_byte blend_op; ++ ++ png_debug(1, "in png_handle_fcTL"); ++ ++ png_ensure_sequence_number(png_ptr, length); ++ ++ if (!(png_ptr->mode & PNG_HAVE_IHDR)) ++ { ++ png_error(png_ptr, "Missing IHDR before fcTL"); ++ } ++ else if (png_ptr->mode & PNG_HAVE_IDAT) ++ { ++ /* for any frames other then the first this message may be misleading, ++ * but correct. PNG_HAVE_IDAT is unset before the frame head is read ++ * i can't think of a better message */ ++ png_warning(png_ptr, "Invalid fcTL after IDAT skipped"); ++ png_crc_finish(png_ptr, length-4); ++ return; ++ } ++ else if (png_ptr->mode & PNG_HAVE_fcTL) ++ { ++ png_warning(png_ptr, "Duplicate fcTL within one frame skipped"); ++ png_crc_finish(png_ptr, length-4); ++ return; ++ } ++ else if (length != 26) ++ { ++ png_warning(png_ptr, "fcTL with invalid length skipped"); ++ png_crc_finish(png_ptr, length-4); ++ return; ++ } ++ ++ png_crc_read(png_ptr, data, 22); ++ png_crc_finish(png_ptr, 0); ++ ++ width = png_get_uint_31(png_ptr, data); ++ height = png_get_uint_31(png_ptr, data + 4); ++ x_offset = png_get_uint_31(png_ptr, data + 8); ++ y_offset = png_get_uint_31(png_ptr, data + 12); ++ delay_num = png_get_uint_16(data + 16); ++ delay_den = png_get_uint_16(data + 18); ++ dispose_op = data[20]; ++ blend_op = data[21]; ++ ++ if (png_ptr->num_frames_read == 0 && (x_offset != 0 || y_offset != 0)) ++ { ++ png_warning(png_ptr, "fcTL for the first frame must have zero offset"); ++ return; ++ } ++ ++ if (info_ptr != NULL) ++ { ++ if (png_ptr->num_frames_read == 0 && ++ (width != info_ptr->width || height != info_ptr->height)) ++ { ++ png_warning(png_ptr, "size in first frame's fcTL must match " ++ "the size in IHDR"); ++ return; ++ } ++ ++ /* The set function will do more error checking */ ++ png_set_next_frame_fcTL(png_ptr, info_ptr, width, height, ++ x_offset, y_offset, delay_num, delay_den, ++ dispose_op, blend_op); ++ ++ png_read_reinit(png_ptr, info_ptr); ++ ++ png_ptr->mode |= PNG_HAVE_fcTL; ++ } ++} ++ ++void /* PRIVATE */ ++png_have_info(png_structp png_ptr, png_infop info_ptr) ++{ ++ if((info_ptr->valid & PNG_INFO_acTL) && !(info_ptr->valid & PNG_INFO_fcTL)) ++ { ++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN; ++ info_ptr->num_frames++; ++ } ++} ++ ++void /* PRIVATE */ ++png_handle_fdAT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) ++{ ++ png_ensure_sequence_number(png_ptr, length); ++ ++ /* This function is only called from png_read_end(), png_read_info(), ++ * and png_push_read_chunk() which means that: ++ * - the user doesn't want to read this frame ++ * - or this is an out-of-place fdAT ++ * in either case it is safe to ignore the chunk with a warning */ ++ png_warning(png_ptr, "ignoring fdAT chunk"); ++ png_crc_finish(png_ptr, length - 4); ++ PNG_UNUSED(info_ptr) ++} ++ ++void /* PRIVATE */ ++png_ensure_sequence_number(png_structp png_ptr, png_uint_32 length) ++{ ++ png_byte data[4]; ++ png_uint_32 sequence_number; ++ ++ if (length < 4) ++ png_error(png_ptr, "invalid fcTL or fdAT chunk found"); ++ ++ png_crc_read(png_ptr, data, 4); ++ sequence_number = png_get_uint_31(png_ptr, data); ++ ++ if (sequence_number != png_ptr->next_seq_num) ++ png_error(png_ptr, "fcTL or fdAT chunk with out-of-order sequence " ++ "number found"); ++ ++ png_ptr->next_seq_num++; ++} ++#endif /* PNG_READ_APNG_SUPPORTED */ ++ + #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED + /* Utility function for png_handle_unknown; set up png_ptr::unknown_chunk */ + static int +@@ -4165,7 +4343,38 @@ + { + uInt avail_in; + png_bytep buffer; ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_uint_32 bytes_to_skip = 0; ++ ++ while (png_ptr->idat_size == 0 || bytes_to_skip != 0) ++ { ++ png_crc_finish(png_ptr, bytes_to_skip); ++ bytes_to_skip = 0; + ++ png_ptr->idat_size = png_read_chunk_header(png_ptr); ++ if (png_ptr->num_frames_read == 0) ++ { ++ if (png_ptr->chunk_name != png_IDAT) ++ png_error(png_ptr, "Not enough image data"); ++ } ++ else ++ { ++ if (png_ptr->chunk_name == png_IEND) ++ png_error(png_ptr, "Not enough image data"); ++ if (png_ptr->chunk_name != png_fdAT) ++ { ++ png_warning(png_ptr, "Skipped (ignored) a chunk " ++ "between APNG chunks"); ++ bytes_to_skip = png_ptr->idat_size; ++ continue; ++ } ++ ++ png_ensure_sequence_number(png_ptr, png_ptr->idat_size); ++ ++ png_ptr->idat_size -= 4; ++ } ++ } ++#else + while (png_ptr->idat_size == 0) + { + png_crc_finish(png_ptr, 0); +@@ -4177,7 +4386,7 @@ + if (png_ptr->chunk_name != png_IDAT) + png_error(png_ptr, "Not enough image data"); + } +- ++#endif /* PNG_READ_APNG_SUPPORTED */ + avail_in = png_ptr->IDAT_read_size; + + if (avail_in > png_ptr->idat_size) +@@ -4240,6 +4449,9 @@ + + png_ptr->mode |= PNG_AFTER_IDAT; + png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED; ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_ptr->num_frames_read++; ++#endif + + if (png_ptr->zstream.avail_in > 0 || png_ptr->idat_size > 0) + png_chunk_benign_error(png_ptr, "Extra compressed data"); +@@ -4678,4 +4890,80 @@ + + png_ptr->flags |= PNG_FLAG_ROW_INIT; + } ++ ++#ifdef PNG_READ_APNG_SUPPORTED ++/* This function is to be called after the main IDAT set has been read and ++ * before a new IDAT is read. It resets some parts of png_ptr ++ * to make them usable by the read functions again */ ++void /* PRIVATE */ ++png_read_reset(png_structp png_ptr) ++{ ++ png_ptr->mode &= ~PNG_HAVE_IDAT; ++ png_ptr->mode &= ~PNG_AFTER_IDAT; ++ png_ptr->row_number = 0; ++ png_ptr->pass = 0; ++} ++ ++void /* PRIVATE */ ++png_read_reinit(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_ptr->width = info_ptr->next_frame_width; ++ png_ptr->height = info_ptr->next_frame_height; ++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->width); ++ png_ptr->info_rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, ++ png_ptr->width); ++ if (png_ptr->prev_row) ++ memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1); ++} ++ ++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED ++/* same as png_read_reset() but for the progressive reader */ ++void /* PRIVATE */ ++png_progressive_read_reset(png_structp png_ptr) ++{ ++#ifdef PNG_READ_INTERLACING_SUPPORTED ++ /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */ ++ ++ /* Start of interlace block */ ++ const int png_pass_start[] = {0, 4, 0, 2, 0, 1, 0}; ++ ++ /* Offset to next interlace block */ ++ const int png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1}; ++ ++ /* Start of interlace block in the y direction */ ++ const int png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1}; ++ ++ /* Offset to next interlace block in the y direction */ ++ const int png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2}; ++ ++ if (png_ptr->interlaced) ++ { ++ if (!(png_ptr->transformations & PNG_INTERLACE)) ++ png_ptr->num_rows = (png_ptr->height + png_pass_yinc[0] - 1 - ++ png_pass_ystart[0]) / png_pass_yinc[0]; ++ else ++ png_ptr->num_rows = png_ptr->height; ++ ++ png_ptr->iwidth = (png_ptr->width + ++ png_pass_inc[png_ptr->pass] - 1 - ++ png_pass_start[png_ptr->pass]) / ++ png_pass_inc[png_ptr->pass]; ++ } ++ else ++#endif /* PNG_READ_INTERLACING_SUPPORTED */ ++ { ++ png_ptr->num_rows = png_ptr->height; ++ png_ptr->iwidth = png_ptr->width; ++ } ++ png_ptr->flags &= ~PNG_FLAG_ZSTREAM_ENDED; ++ if (inflateReset(&(png_ptr->zstream)) != Z_OK) ++ png_error(png_ptr, "inflateReset failed"); ++ png_ptr->zstream.avail_in = 0; ++ png_ptr->zstream.next_in = 0; ++ png_ptr->zstream.next_out = png_ptr->row_buf; ++ png_ptr->zstream.avail_out = (uInt)PNG_ROWBYTES(png_ptr->pixel_depth, ++ png_ptr->iwidth) + 1; ++} ++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ ++#endif /* PNG_READ_APNG_SUPPORTED */ + #endif /* READ */ +diff -Naru libpng-1.6.37.org/pngset.c libpng-1.6.37/pngset.c +--- libpng-1.6.37.org/pngset.c 2019-04-19 07:21:37.401024761 +0900 ++++ libpng-1.6.37/pngset.c 2019-04-19 07:22:37.858245798 +0900 +@@ -288,6 +288,11 @@ + info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth); + + info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width); ++ ++#ifdef PNG_APNG_SUPPORTED ++ /* for non-animated png. this may be overwritten from an acTL chunk later */ ++ info_ptr->num_frames = 1; ++#endif + } + + #ifdef PNG_oFFs_SUPPORTED +@@ -1158,6 +1163,147 @@ + } + #endif /* sPLT */ + ++#ifdef PNG_APNG_SUPPORTED ++png_uint_32 PNGAPI ++png_set_acTL(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 num_frames, png_uint_32 num_plays) ++{ ++ png_debug1(1, "in %s storage function", "acTL"); ++ ++ if (png_ptr == NULL || info_ptr == NULL) ++ { ++ png_warning(png_ptr, ++ "Call to png_set_acTL() with NULL png_ptr " ++ "or info_ptr ignored"); ++ return (0); ++ } ++ if (num_frames == 0) ++ { ++ png_warning(png_ptr, ++ "Ignoring attempt to set acTL with num_frames zero"); ++ return (0); ++ } ++ if (num_frames > PNG_UINT_31_MAX) ++ { ++ png_warning(png_ptr, ++ "Ignoring attempt to set acTL with num_frames > 2^31-1"); ++ return (0); ++ } ++ if (num_plays > PNG_UINT_31_MAX) ++ { ++ png_warning(png_ptr, ++ "Ignoring attempt to set acTL with num_plays " ++ "> 2^31-1"); ++ return (0); ++ } ++ ++ info_ptr->num_frames = num_frames; ++ info_ptr->num_plays = num_plays; ++ ++ info_ptr->valid |= PNG_INFO_acTL; ++ ++ return (1); ++} ++ ++/* delay_num and delay_den can hold any 16-bit values including zero */ ++png_uint_32 PNGAPI ++png_set_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op) ++{ ++ png_debug1(1, "in %s storage function", "fcTL"); ++ ++ if (png_ptr == NULL || info_ptr == NULL) ++ { ++ png_warning(png_ptr, ++ "Call to png_set_fcTL() with NULL png_ptr or info_ptr " ++ "ignored"); ++ return (0); ++ } ++ ++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset, ++ delay_num, delay_den, dispose_op, blend_op); ++ ++ if (blend_op == PNG_BLEND_OP_OVER) ++ { ++ if (!(png_ptr->color_type & PNG_COLOR_MASK_ALPHA) && ++ !(png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))) ++ { ++ png_warning(png_ptr, "PNG_BLEND_OP_OVER is meaningless " ++ "and wasteful for opaque images, ignored"); ++ blend_op = PNG_BLEND_OP_SOURCE; ++ } ++ } ++ ++ info_ptr->next_frame_width = width; ++ info_ptr->next_frame_height = height; ++ info_ptr->next_frame_x_offset = x_offset; ++ info_ptr->next_frame_y_offset = y_offset; ++ info_ptr->next_frame_delay_num = delay_num; ++ info_ptr->next_frame_delay_den = delay_den; ++ info_ptr->next_frame_dispose_op = dispose_op; ++ info_ptr->next_frame_blend_op = blend_op; ++ ++ info_ptr->valid |= PNG_INFO_fcTL; ++ ++ return (1); ++} ++ ++void /* PRIVATE */ ++png_ensure_fcTL_is_valid(png_structp png_ptr, ++ png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, ++ png_byte dispose_op, png_byte blend_op) ++{ ++ if (width == 0 || width > PNG_UINT_31_MAX) ++ png_error(png_ptr, "invalid width in fcTL (> 2^31-1)"); ++ if (height == 0 || height > PNG_UINT_31_MAX) ++ png_error(png_ptr, "invalid height in fcTL (> 2^31-1)"); ++ if (x_offset > PNG_UINT_31_MAX) ++ png_error(png_ptr, "invalid x_offset in fcTL (> 2^31-1)"); ++ if (y_offset > PNG_UINT_31_MAX) ++ png_error(png_ptr, "invalid y_offset in fcTL (> 2^31-1)"); ++ if (width + x_offset > png_ptr->first_frame_width || ++ height + y_offset > png_ptr->first_frame_height) ++ png_error(png_ptr, "dimensions of a frame are greater than" ++ "the ones in IHDR"); ++ ++ if (dispose_op != PNG_DISPOSE_OP_NONE && ++ dispose_op != PNG_DISPOSE_OP_BACKGROUND && ++ dispose_op != PNG_DISPOSE_OP_PREVIOUS) ++ png_error(png_ptr, "invalid dispose_op in fcTL"); ++ ++ if (blend_op != PNG_BLEND_OP_SOURCE && ++ blend_op != PNG_BLEND_OP_OVER) ++ png_error(png_ptr, "invalid blend_op in fcTL"); ++ ++ PNG_UNUSED(delay_num) ++ PNG_UNUSED(delay_den) ++} ++ ++png_uint_32 PNGAPI ++png_set_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr, ++ png_byte is_hidden) ++{ ++ png_debug(1, "in png_first_frame_is_hidden()"); ++ ++ if (png_ptr == NULL) ++ return 0; ++ ++ if (is_hidden) ++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN; ++ else ++ png_ptr->apng_flags &= ~PNG_FIRST_FRAME_HIDDEN; ++ ++ PNG_UNUSED(info_ptr) ++ ++ return 1; ++} ++#endif /* PNG_APNG_SUPPORTED */ ++ + #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED + static png_byte + check_location(png_const_structrp png_ptr, int location) +diff -Naru libpng-1.6.37.org/pngstruct.h libpng-1.6.37/pngstruct.h +--- libpng-1.6.37.org/pngstruct.h 2019-04-19 07:21:37.401024761 +0900 ++++ libpng-1.6.37/pngstruct.h 2019-04-19 07:22:37.854245849 +0900 +@@ -409,6 +409,27 @@ + png_byte filter_type; + #endif + ++#ifdef PNG_APNG_SUPPORTED ++ png_uint_32 apng_flags; ++ png_uint_32 next_seq_num; /* next fcTL/fdAT chunk sequence number */ ++ png_uint_32 first_frame_width; ++ png_uint_32 first_frame_height; ++ ++#ifdef PNG_READ_APNG_SUPPORTED ++ png_uint_32 num_frames_read; /* incremented after all image data of */ ++ /* a frame is read */ ++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED ++ png_progressive_frame_ptr frame_info_fn; /* frame info read callback */ ++ png_progressive_frame_ptr frame_end_fn; /* frame data read callback */ ++#endif ++#endif ++ ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ png_uint_32 num_frames_to_write; ++ png_uint_32 num_frames_written; ++#endif ++#endif /* PNG_APNG_SUPPORTED */ ++ + /* New members added in libpng-1.2.0 */ + + /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */ +diff -Naru libpng-1.6.37.org/pngtest.c libpng-1.6.37/pngtest.c +--- libpng-1.6.37.org/pngtest.c 2019-04-19 07:21:37.401024761 +0900 ++++ libpng-1.6.37/pngtest.c 2019-04-19 07:22:37.854245849 +0900 +@@ -875,6 +875,10 @@ + volatile int num_passes; + int pass; + int bit_depth, color_type; ++#ifdef PNG_APNG_SUPPORTED ++ png_uint_32 num_frames; ++ png_uint_32 num_plays; ++#endif + + row_buf = NULL; + error_parameters.file_name = inname; +@@ -1383,6 +1387,22 @@ + } + } + #endif ++ ++#ifdef PNG_APNG_SUPPORTED ++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL)) ++ { ++ if (png_get_acTL(read_ptr, read_info_ptr, &num_frames, &num_plays)) ++ { ++ png_byte is_hidden; ++ pngtest_debug2("Handling acTL chunks (frames %ld, plays %ld)", ++ num_frames, num_plays); ++ png_set_acTL(write_ptr, write_info_ptr, num_frames, num_plays); ++ is_hidden = png_get_first_frame_is_hidden(read_ptr, read_info_ptr); ++ png_set_first_frame_is_hidden(write_ptr, write_info_ptr, is_hidden); ++ } ++ } ++#endif ++ + #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED + { + png_unknown_chunkp unknowns; +@@ -1463,6 +1483,110 @@ + t_misc += (t_stop - t_start); + t_start = t_stop; + #endif ++#ifdef PNG_APNG_SUPPORTED ++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL)) ++ { ++ png_uint_32 frame; ++ for (frame = 0; frame < num_frames; frame++) ++ { ++ png_uint_32 frame_width; ++ png_uint_32 frame_height; ++ png_uint_32 x_offset; ++ png_uint_32 y_offset; ++ png_uint_16 delay_num; ++ png_uint_16 delay_den; ++ png_byte dispose_op; ++ png_byte blend_op; ++ png_read_frame_head(read_ptr, read_info_ptr); ++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_fcTL)) ++ { ++ png_get_next_frame_fcTL(read_ptr, read_info_ptr, ++ &frame_width, &frame_height, ++ &x_offset, &y_offset, ++ &delay_num, &delay_den, ++ &dispose_op, &blend_op); ++ } ++ else ++ { ++ frame_width = width; ++ frame_height = height; ++ x_offset = 0; ++ y_offset = 0; ++ delay_num = 1; ++ delay_den = 1; ++ dispose_op = PNG_DISPOSE_OP_NONE; ++ blend_op = PNG_BLEND_OP_SOURCE; ++ } ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ png_write_frame_head(write_ptr, write_info_ptr, (png_bytepp)&row_buf, ++ frame_width, frame_height, ++ x_offset, y_offset, ++ delay_num, delay_den, ++ dispose_op, blend_op); ++#endif ++ for (pass = 0; pass < num_passes; pass++) ++ { ++# ifdef calc_pass_height ++ png_uint_32 pass_height; ++ ++ if (num_passes == 7) /* interlaced */ ++ { ++ if (PNG_PASS_COLS(frame_width, pass) > 0) ++ pass_height = PNG_PASS_ROWS(frame_height, pass); ++ ++ else ++ pass_height = 0; ++ } ++ ++ else /* not interlaced */ ++ pass_height = frame_height; ++# else ++# define pass_height frame_height ++# endif ++ ++ pngtest_debug1("Writing row data for pass %d", pass); ++ for (y = 0; y < pass_height; y++) ++ { ++#ifndef SINGLE_ROWBUF_ALLOC ++ pngtest_debug2("Allocating row buffer (pass %d, y = %u)...", pass, y); ++ ++ row_buf = (png_bytep)png_malloc(read_ptr, ++ png_get_rowbytes(read_ptr, read_info_ptr)); ++ ++ pngtest_debug2("\t0x%08lx (%lu bytes)", (unsigned long)row_buf, ++ (unsigned long)png_get_rowbytes(read_ptr, read_info_ptr)); ++ ++#endif /* !SINGLE_ROWBUF_ALLOC */ ++ png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1); ++ ++#ifdef PNG_WRITE_SUPPORTED ++#ifdef PNGTEST_TIMING ++ t_stop = (float)clock(); ++ t_decode += (t_stop - t_start); ++ t_start = t_stop; ++#endif ++ png_write_rows(write_ptr, (png_bytepp)&row_buf, 1); ++#ifdef PNGTEST_TIMING ++ t_stop = (float)clock(); ++ t_encode += (t_stop - t_start); ++ t_start = t_stop; ++#endif ++#endif /* PNG_WRITE_SUPPORTED */ ++ ++#ifndef SINGLE_ROWBUF_ALLOC ++ pngtest_debug2("Freeing row buffer (pass %d, y = %u)", pass, y); ++ png_free(read_ptr, row_buf); ++ row_buf = NULL; ++#endif /* !SINGLE_ROWBUF_ALLOC */ ++ } ++ } ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ png_write_frame_tail(write_ptr, write_info_ptr); ++#endif ++ } ++ } ++ else ++#endif + for (pass = 0; pass < num_passes; pass++) + { + # ifdef calc_pass_height +diff -Naru libpng-1.6.37.org/pngwrite.c libpng-1.6.37/pngwrite.c +--- libpng-1.6.37.org/pngwrite.c 2019-04-19 07:21:37.402024748 +0900 ++++ libpng-1.6.37/pngwrite.c 2019-04-19 07:22:37.855245836 +0900 +@@ -128,6 +128,10 @@ + * the application continues writing the PNG. So check the 'invalid' + * flag here too. + */ ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ if (info_ptr->valid & PNG_INFO_acTL) ++ png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays); ++#endif + #ifdef PNG_GAMMA_SUPPORTED + # ifdef PNG_WRITE_gAMA_SUPPORTED + if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 && +@@ -370,6 +374,11 @@ + png_benign_error(png_ptr, "Wrote palette index exceeding num_palette"); + #endif + ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ if (png_ptr->num_frames_written != png_ptr->num_frames_to_write) ++ png_error(png_ptr, "Not enough frames written"); ++#endif ++ + /* See if user wants us to write information chunks */ + if (info_ptr != NULL) + { +@@ -1461,6 +1470,43 @@ + } + #endif + ++#ifdef PNG_WRITE_APNG_SUPPORTED ++void PNGAPI ++png_write_frame_head(png_structp png_ptr, png_infop info_ptr, ++ png_bytepp row_pointers, png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op, ++ png_byte blend_op) ++{ ++ png_debug(1, "in png_write_frame_head"); ++ ++ /* there is a chance this has been set after png_write_info was called, ++ * so it would be set but not written. is there a way to be sure? */ ++ if (!(info_ptr->valid & PNG_INFO_acTL)) ++ png_error(png_ptr, "png_write_frame_head(): acTL not set"); ++ ++ png_write_reset(png_ptr); ++ ++ png_write_reinit(png_ptr, info_ptr, width, height); ++ ++ if ( !(png_ptr->num_frames_written == 0 && ++ (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) ) ) ++ png_write_fcTL(png_ptr, width, height, x_offset, y_offset, ++ delay_num, delay_den, dispose_op, blend_op); ++ ++ PNG_UNUSED(row_pointers) ++} ++ ++void PNGAPI ++png_write_frame_tail(png_structp png_ptr, png_infop info_ptr) ++{ ++ png_debug(1, "in png_write_frame_tail"); ++ ++ png_ptr->num_frames_written++; ++ ++ PNG_UNUSED(info_ptr) ++} ++#endif /* PNG_WRITE_APNG_SUPPORTED */ + + #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED + /* Initialize the write structure - general purpose utility. */ +diff -Naru libpng-1.6.37.org/pngwutil.c libpng-1.6.37/pngwutil.c +--- libpng-1.6.37.org/pngwutil.c 2019-04-19 07:21:37.402024748 +0900 ++++ libpng-1.6.37/pngwutil.c 2019-04-19 07:22:37.867245682 +0900 +@@ -821,6 +821,11 @@ + /* Write the chunk */ + png_write_complete_chunk(png_ptr, png_IHDR, buf, 13); + ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ png_ptr->first_frame_width = width; ++ png_ptr->first_frame_height = height; ++#endif ++ + if ((png_ptr->do_filter) == PNG_NO_FILTERS) + { + if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE || +@@ -1002,8 +1007,17 @@ + optimize_cmf(data, png_image_size(png_ptr)); + #endif + +- if (size > 0) +- png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++ if (size > 0) ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ { ++ if (png_ptr->num_frames_written == 0) ++#endif ++ png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ else ++ png_write_fdAT(png_ptr, data, size); ++ } ++#endif /* PNG_WRITE_APNG_SUPPORTED */ + png_ptr->mode |= PNG_HAVE_IDAT; + + png_ptr->zstream.next_out = data; +@@ -1050,7 +1064,17 @@ + #endif + + if (size > 0) ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ { ++ if (png_ptr->num_frames_written == 0) ++#endif + png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ else ++ png_write_fdAT(png_ptr, data, size); ++ } ++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++ + png_ptr->zstream.avail_out = 0; + png_ptr->zstream.next_out = NULL; + png_ptr->mode |= PNG_HAVE_IDAT | PNG_AFTER_IDAT; +@@ -1885,6 +1909,82 @@ + } + #endif + ++#ifdef PNG_WRITE_APNG_SUPPORTED ++void /* PRIVATE */ ++png_write_acTL(png_structp png_ptr, ++ png_uint_32 num_frames, png_uint_32 num_plays) ++{ ++ png_byte buf[8]; ++ ++ png_debug(1, "in png_write_acTL"); ++ ++ png_ptr->num_frames_to_write = num_frames; ++ ++ if (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) ++ num_frames--; ++ ++ png_save_uint_32(buf, num_frames); ++ png_save_uint_32(buf + 4, num_plays); ++ ++ png_write_complete_chunk(png_ptr, png_acTL, buf, (png_size_t)8); ++} ++ ++void /* PRIVATE */ ++png_write_fcTL(png_structp png_ptr, png_uint_32 width, png_uint_32 height, ++ png_uint_32 x_offset, png_uint_32 y_offset, ++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op, ++ png_byte blend_op) ++{ ++ png_byte buf[26]; ++ ++ png_debug(1, "in png_write_fcTL"); ++ ++ if (png_ptr->num_frames_written == 0 && (x_offset != 0 || y_offset != 0)) ++ png_error(png_ptr, "x and/or y offset for the first frame aren't 0"); ++ if (png_ptr->num_frames_written == 0 && ++ (width != png_ptr->first_frame_width || ++ height != png_ptr->first_frame_height)) ++ png_error(png_ptr, "width and/or height in the first frame's fcTL " ++ "don't match the ones in IHDR"); ++ ++ /* more error checking */ ++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset, ++ delay_num, delay_den, dispose_op, blend_op); ++ ++ png_save_uint_32(buf, png_ptr->next_seq_num); ++ png_save_uint_32(buf + 4, width); ++ png_save_uint_32(buf + 8, height); ++ png_save_uint_32(buf + 12, x_offset); ++ png_save_uint_32(buf + 16, y_offset); ++ png_save_uint_16(buf + 20, delay_num); ++ png_save_uint_16(buf + 22, delay_den); ++ buf[24] = dispose_op; ++ buf[25] = blend_op; ++ ++ png_write_complete_chunk(png_ptr, png_fcTL, buf, (png_size_t)26); ++ ++ png_ptr->next_seq_num++; ++} ++ ++void /* PRIVATE */ ++png_write_fdAT(png_structp png_ptr, ++ png_const_bytep data, png_size_t length) ++{ ++ png_byte buf[4]; ++ ++ png_write_chunk_header(png_ptr, png_fdAT, (png_uint_32)(4 + length)); ++ ++ png_save_uint_32(buf, png_ptr->next_seq_num); ++ png_write_chunk_data(png_ptr, buf, 4); ++ ++ png_write_chunk_data(png_ptr, data, length); ++ ++ png_write_chunk_end(png_ptr); ++ ++ png_ptr->next_seq_num++; ++} ++#endif /* PNG_WRITE_APNG_SUPPORTED */ ++ + /* Initializes the row writing capability of libpng */ + void /* PRIVATE */ + png_write_start_row(png_structrp png_ptr) +@@ -2778,4 +2878,39 @@ + } + #endif /* WRITE_FLUSH */ + } ++ ++#ifdef PNG_WRITE_APNG_SUPPORTED ++void /* PRIVATE */ ++png_write_reset(png_structp png_ptr) ++{ ++ png_ptr->row_number = 0; ++ png_ptr->pass = 0; ++ png_ptr->mode &= ~PNG_HAVE_IDAT; ++} ++ ++void /* PRIVATE */ ++png_write_reinit(png_structp png_ptr, png_infop info_ptr, ++ png_uint_32 width, png_uint_32 height) ++{ ++ if (png_ptr->num_frames_written == 0 && ++ (width != png_ptr->first_frame_width || ++ height != png_ptr->first_frame_height)) ++ png_error(png_ptr, "width and/or height in the first frame's fcTL " ++ "don't match the ones in IHDR"); ++ if (width > png_ptr->first_frame_width || ++ height > png_ptr->first_frame_height) ++ png_error(png_ptr, "width and/or height for a frame greater than" ++ "the ones in IHDR"); ++ ++ png_set_IHDR(png_ptr, info_ptr, width, height, ++ info_ptr->bit_depth, info_ptr->color_type, ++ info_ptr->interlace_type, info_ptr->compression_type, ++ info_ptr->filter_type); ++ ++ png_ptr->width = width; ++ png_ptr->height = height; ++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, width); ++ png_ptr->usr_width = png_ptr->width; ++} ++#endif /* PNG_WRITE_APNG_SUPPORTED */ + #endif /* WRITE */ +diff -Naru libpng-1.6.37.org/scripts/symbols.def libpng-1.6.37/scripts/symbols.def +--- libpng-1.6.37.org/scripts/symbols.def 2019-04-19 07:21:37.405024710 +0900 ++++ libpng-1.6.37/scripts/symbols.def 2019-04-19 07:22:37.856245823 +0900 +@@ -253,3 +253,23 @@ + png_set_eXIf @247 + png_get_eXIf_1 @248 + png_set_eXIf_1 @249 ++ png_get_acTL @250 ++ png_set_acTL @251 ++ png_get_num_frames @252 ++ png_get_num_plays @253 ++ png_get_next_frame_fcTL @254 ++ png_set_next_frame_fcTL @255 ++ png_get_next_frame_width @256 ++ png_get_next_frame_height @257 ++ png_get_next_frame_x_offset @258 ++ png_get_next_frame_y_offset @259 ++ png_get_next_frame_delay_num @260 ++ png_get_next_frame_delay_den @261 ++ png_get_next_frame_dispose_op @262 ++ png_get_next_frame_blend_op @263 ++ png_get_first_frame_is_hidden @264 ++ png_set_first_frame_is_hidden @265 ++ png_read_frame_head @266 ++ png_set_progressive_frame_fn @267 ++ png_write_frame_head @268 ++ png_write_frame_tail @269 diff --git a/extra/libpng/sources b/extra/libpng/sources new file mode 100644 index 0000000..d6556f0 --- /dev/null +++ b/extra/libpng/sources @@ -0,0 +1,2 @@ +https://github.com/glennrp/libpng/archive/v1.6.37.tar.gz +patches/libpng-1.6.37-apng.patch diff --git a/extra/libpng/version b/extra/libpng/version new file mode 100644 index 0000000..eb27110 --- /dev/null +++ b/extra/libpng/version @@ -0,0 +1 @@ +1.6.37 1 diff --git a/extra/libpsl/build b/extra/libpsl/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/libpsl/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/libpsl/checksums b/extra/libpsl/checksums new file mode 100644 index 0000000..e46c48d --- /dev/null +++ b/extra/libpsl/checksums @@ -0,0 +1 @@ +ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c diff --git a/extra/libpsl/depends b/extra/libpsl/depends new file mode 100644 index 0000000..29c6b76 --- /dev/null +++ b/extra/libpsl/depends @@ -0,0 +1,2 @@ +icu +python make diff --git a/extra/libpsl/sources b/extra/libpsl/sources new file mode 100644 index 0000000..57a914d --- /dev/null +++ b/extra/libpsl/sources @@ -0,0 +1 @@ +https://github.com/rockdaboot/libpsl/releases/download/0.21.1/libpsl-0.21.1.tar.gz diff --git a/extra/libpsl/version b/extra/libpsl/version new file mode 100644 index 0000000..bfed92b --- /dev/null +++ b/extra/libpsl/version @@ -0,0 +1 @@ +0.21.1 1 diff --git a/extra/libsoup/build b/extra/libsoup/build new file mode 100755 index 0000000..334686c --- /dev/null +++ b/extra/libsoup/build @@ -0,0 +1,17 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + -Dtls_check=false \ + -Dvapi=disabled \ + -Dgssapi=disabled \ + -Dbrotli=disabled \ + -Dsysprof=disabled \ + . output + +ninja -C output +ninja -C output install diff --git a/extra/libsoup/checksums b/extra/libsoup/checksums new file mode 100644 index 0000000..6216aaf --- /dev/null +++ b/extra/libsoup/checksums @@ -0,0 +1 @@ +170c3f8446b0f65f8e4b93603349172b1085fb8917c181d10962f02bb85f5387 libsoup-2.72.0.tar.xz diff --git a/extra/libsoup/depends b/extra/libsoup/depends new file mode 100644 index 0000000..dba55b4 --- /dev/null +++ b/extra/libsoup/depends @@ -0,0 +1,8 @@ +glib +glib-networking +libpsl +libxml2 +meson make +pkgconf make +sqlite +zlib diff --git a/extra/libsoup/sources b/extra/libsoup/sources new file mode 100644 index 0000000..c350cd2 --- /dev/null +++ b/extra/libsoup/sources @@ -0,0 +1 @@ +https://download.gnome.org/sources/libsoup/2.72/libsoup-2.72.0.tar.xz diff --git a/extra/libsoup/version b/extra/libsoup/version new file mode 100644 index 0000000..84ab5da --- /dev/null +++ b/extra/libsoup/version @@ -0,0 +1 @@ +2.72.0 1 diff --git a/extra/libvorbis/build b/extra/libvorbis/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/libvorbis/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/libvorbis/checksums b/extra/libvorbis/checksums new file mode 100644 index 0000000..9ba3dea --- /dev/null +++ b/extra/libvorbis/checksums @@ -0,0 +1 @@ +0e982409a9c3fc82ee06e08205b1355e5c6aa4c36bca58146ef399621b0ce5ab libvorbis-1.3.7.tar.gz diff --git a/extra/libvorbis/depends b/extra/libvorbis/depends new file mode 100644 index 0000000..b6a6854 --- /dev/null +++ b/extra/libvorbis/depends @@ -0,0 +1 @@ +libogg diff --git a/extra/libvorbis/sources b/extra/libvorbis/sources new file mode 100644 index 0000000..16ec9f3 --- /dev/null +++ b/extra/libvorbis/sources @@ -0,0 +1 @@ +https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-1.3.7.tar.gz diff --git a/extra/libvorbis/version b/extra/libvorbis/version new file mode 100644 index 0000000..ae80c29 --- /dev/null +++ b/extra/libvorbis/version @@ -0,0 +1 @@ +1.3.7 1 diff --git a/extra/libvpx/build b/extra/libvpx/build new file mode 100755 index 0000000..708c3b8 --- /dev/null +++ b/extra/libvpx/build @@ -0,0 +1,33 @@ +#!/bin/sh -e + +export CC="${CC:-cc}" +export CXX="${CXX:-c++}" + +patch -p1 < fix-busybox-diff.patch + +# Remove the perl requirement from configure +# as we have removed the perl requirement +# ourselves :-). +sed -i 's/perl/:/g' configure + +./configure \ + --prefix=/usr \ + --enable-vp8 \ + --enable-vp9 \ + --enable-experimental \ + --enable-runtime-cpu-detect \ + --target=x86_64-linux-gcc \ + --enable-shared \ + --enable-postproc \ + --enable-pic \ + --disable-tools \ + --disable-examples \ + --disable-docs \ + --disable-unit-tests \ + --disable-install-docs \ + --disable-install-srcs \ + --disable-install-bins \ + --as=nasm + +make +make DESTDIR="$1" install diff --git a/extra/libvpx/checksums b/extra/libvpx/checksums new file mode 100644 index 0000000..60cdc5d --- /dev/null +++ b/extra/libvpx/checksums @@ -0,0 +1,6 @@ +85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a +ce802d64bcbeb4230527aea2b4284d9844fb12fa5aca868a94e03982f85ec45b +e6aa264d60371d76e39a8fa0118e37915ea348400f82046d083a4511d229f8eb +bc2ab604abf616682374d65c9d154e6e2dac0524fd969b12ab4d81e30452b904 +77716ffb6d08322a3f300b9adad302641836af6e923854eba040a95e0766fa70 +7445cedc0bc43d2d17b8f838b1d876b0fe861d669f43a8f8555c3ea7b745fc52 diff --git a/extra/libvpx/depends b/extra/libvpx/depends new file mode 100644 index 0000000..116f6b2 --- /dev/null +++ b/extra/libvpx/depends @@ -0,0 +1 @@ +nasm make diff --git a/extra/libvpx/files/vp8_rtcd.h b/extra/libvpx/files/vp8_rtcd.h new file mode 100644 index 0000000..6794409 --- /dev/null +++ b/extra/libvpx/files/vp8_rtcd.h @@ -0,0 +1,265 @@ +// This file is generated. Do not edit. +#ifndef VP8_RTCD_H_ +#define VP8_RTCD_H_ + +#ifdef RTCD_C +#define RTCD_EXTERN +#else +#define RTCD_EXTERN extern +#endif + +/* + * VP8 + */ + +struct blockd; +struct macroblockd; +struct loop_filter_info; + +/* Encoder forward decls */ +struct block; +struct macroblock; +struct variance_vtable; +union int_mv; +struct yv12_buffer_config; + +#ifdef __cplusplus +extern "C" { +#endif + +void vp8_bilinear_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_bilinear_predict16x16_sse2(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_bilinear_predict16x16_ssse3(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +RTCD_EXTERN void (*vp8_bilinear_predict16x16)(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); + +void vp8_bilinear_predict4x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_bilinear_predict4x4_sse2(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_sse2 + +void vp8_bilinear_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_bilinear_predict8x4_sse2(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_sse2 + +void vp8_bilinear_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_bilinear_predict8x8_sse2(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_bilinear_predict8x8_ssse3(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +RTCD_EXTERN void (*vp8_bilinear_predict8x8)(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); + +void vp8_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y_1, int u_1, int v_1, int alpha, int stride); +#define vp8_blend_b vp8_blend_b_c + +void vp8_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v, int y_1, int u_1, int v_1, int alpha, int stride); +#define vp8_blend_mb_inner vp8_blend_mb_inner_c + +void vp8_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v, int y_1, int u_1, int v_1, int alpha, int stride); +#define vp8_blend_mb_outer vp8_blend_mb_outer_c + +int vp8_block_error_c(short *coeff, short *dqcoeff); +int vp8_block_error_sse2(short *coeff, short *dqcoeff); +#define vp8_block_error vp8_block_error_sse2 + +void vp8_copy32xn_c(const unsigned char *src_ptr, int src_stride, unsigned char *dst_ptr, int dst_stride, int height); +void vp8_copy32xn_sse2(const unsigned char *src_ptr, int src_stride, unsigned char *dst_ptr, int dst_stride, int height); +void vp8_copy32xn_sse3(const unsigned char *src_ptr, int src_stride, unsigned char *dst_ptr, int dst_stride, int height); +RTCD_EXTERN void (*vp8_copy32xn)(const unsigned char *src_ptr, int src_stride, unsigned char *dst_ptr, int dst_stride, int height); + +void vp8_copy_mem16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +void vp8_copy_mem16x16_sse2(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +#define vp8_copy_mem16x16 vp8_copy_mem16x16_sse2 + +void vp8_copy_mem8x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +void vp8_copy_mem8x4_mmx(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +#define vp8_copy_mem8x4 vp8_copy_mem8x4_mmx + +void vp8_copy_mem8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +void vp8_copy_mem8x8_mmx(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride); +#define vp8_copy_mem8x8 vp8_copy_mem8x8_mmx + +void vp8_dc_only_idct_add_c(short input_dc, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); +void vp8_dc_only_idct_add_mmx(short input_dc, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); +#define vp8_dc_only_idct_add vp8_dc_only_idct_add_mmx + +int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); +int vp8_denoiser_filter_sse2(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); +#define vp8_denoiser_filter vp8_denoiser_filter_sse2 + +int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); +int vp8_denoiser_filter_uv_sse2(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); +#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_sse2 + +void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *dest, int stride); +void vp8_dequant_idct_add_mmx(short *input, short *dq, unsigned char *dest, int stride); +#define vp8_dequant_idct_add vp8_dequant_idct_add_mmx + +void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); +void vp8_dequant_idct_add_uv_block_sse2(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); +#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_sse2 + +void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs); +void vp8_dequant_idct_add_y_block_sse2(short *q, short *dq, unsigned char *dst, int stride, char *eobs); +#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_sse2 + +void vp8_dequantize_b_c(struct blockd*, short *DQC); +void vp8_dequantize_b_mmx(struct blockd*, short *DQC); +#define vp8_dequantize_b vp8_dequantize_b_mmx + +int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +int vp8_diamond_search_sadx4(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +#define vp8_diamond_search_sad vp8_diamond_search_sadx4 + +void vp8_fast_quantize_b_c(struct block *, struct blockd *); +void vp8_fast_quantize_b_sse2(struct block *, struct blockd *); +void vp8_fast_quantize_b_ssse3(struct block *, struct blockd *); +RTCD_EXTERN void (*vp8_fast_quantize_b)(struct block *, struct blockd *); + +void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +void vp8_filter_by_weight16x16_sse2(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_sse2 + +void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c + +void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +void vp8_filter_by_weight8x8_sse2(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); +#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_sse2 + +int vp8_full_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +int vp8_full_search_sadx3(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +int vp8_full_search_sadx8(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +RTCD_EXTERN int (*vp8_full_search_sad)(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); + +void vp8_loop_filter_bh_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +void vp8_loop_filter_bh_sse2(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +#define vp8_loop_filter_bh vp8_loop_filter_bh_sse2 + +void vp8_loop_filter_bv_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +void vp8_loop_filter_bv_sse2(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +#define vp8_loop_filter_bv vp8_loop_filter_bv_sse2 + +void vp8_loop_filter_mbh_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +void vp8_loop_filter_mbh_sse2(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +#define vp8_loop_filter_mbh vp8_loop_filter_mbh_sse2 + +void vp8_loop_filter_mbv_c(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +void vp8_loop_filter_mbv_sse2(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, struct loop_filter_info *lfi); +#define vp8_loop_filter_mbv vp8_loop_filter_mbv_sse2 + +void vp8_loop_filter_bhs_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +void vp8_loop_filter_bhs_sse2(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_sse2 + +void vp8_loop_filter_bvs_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +void vp8_loop_filter_bvs_sse2(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_sse2 + +void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +void vp8_loop_filter_simple_horizontal_edge_sse2(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_sse2 + +void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +void vp8_loop_filter_simple_vertical_edge_sse2(unsigned char *y_ptr, int y_stride, const unsigned char *blimit); +#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_sse2 + +int vp8_mbblock_error_c(struct macroblock *mb, int dc); +int vp8_mbblock_error_sse2(struct macroblock *mb, int dc); +#define vp8_mbblock_error vp8_mbblock_error_sse2 + +int vp8_mbuverror_c(struct macroblock *mb); +int vp8_mbuverror_sse2(struct macroblock *mb); +#define vp8_mbuverror vp8_mbuverror_sse2 + +int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int error_per_bit, int search_range, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +int vp8_refining_search_sadx4(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int error_per_bit, int search_range, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); +#define vp8_refining_search_sad vp8_refining_search_sadx4 + +void vp8_regular_quantize_b_c(struct block *, struct blockd *); +void vp8_regular_quantize_b_sse2(struct block *, struct blockd *); +void vp8_regular_quantize_b_sse4_1(struct block *, struct blockd *); +RTCD_EXTERN void (*vp8_regular_quantize_b)(struct block *, struct blockd *); + +void vp8_short_fdct4x4_c(short *input, short *output, int pitch); +void vp8_short_fdct4x4_sse2(short *input, short *output, int pitch); +#define vp8_short_fdct4x4 vp8_short_fdct4x4_sse2 + +void vp8_short_fdct8x4_c(short *input, short *output, int pitch); +void vp8_short_fdct8x4_sse2(short *input, short *output, int pitch); +#define vp8_short_fdct8x4 vp8_short_fdct8x4_sse2 + +void vp8_short_idct4x4llm_c(short *input, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); +void vp8_short_idct4x4llm_mmx(short *input, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride); +#define vp8_short_idct4x4llm vp8_short_idct4x4llm_mmx + +void vp8_short_inv_walsh4x4_c(short *input, short *mb_dqcoeff); +void vp8_short_inv_walsh4x4_sse2(short *input, short *mb_dqcoeff); +#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_sse2 + +void vp8_short_inv_walsh4x4_1_c(short *input, short *mb_dqcoeff); +#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c + +void vp8_short_walsh4x4_c(short *input, short *output, int pitch); +void vp8_short_walsh4x4_sse2(short *input, short *output, int pitch); +#define vp8_short_walsh4x4 vp8_short_walsh4x4_sse2 + +void vp8_sixtap_predict16x16_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_sixtap_predict16x16_sse2(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_sixtap_predict16x16_ssse3(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +RTCD_EXTERN void (*vp8_sixtap_predict16x16)(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); + +void vp8_sixtap_predict4x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_sixtap_predict4x4_mmx(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_sixtap_predict4x4_ssse3(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +RTCD_EXTERN void (*vp8_sixtap_predict4x4)(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); + +void vp8_sixtap_predict8x4_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_sixtap_predict8x4_sse2(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_sixtap_predict8x4_ssse3(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +RTCD_EXTERN void (*vp8_sixtap_predict8x4)(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); + +void vp8_sixtap_predict8x8_c(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_sixtap_predict8x8_sse2(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +void vp8_sixtap_predict8x8_ssse3(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); +RTCD_EXTERN void (*vp8_sixtap_predict8x8)(unsigned char *src_ptr, int src_pixels_per_line, int xoffset, int yoffset, unsigned char *dst_ptr, int dst_pitch); + +void vp8_temporal_filter_apply_c(unsigned char *frame1, unsigned int stride, unsigned char *frame2, unsigned int block_size, int strength, int filter_weight, unsigned int *accumulator, unsigned short *count); +void vp8_temporal_filter_apply_sse2(unsigned char *frame1, unsigned int stride, unsigned char *frame2, unsigned int block_size, int strength, int filter_weight, unsigned int *accumulator, unsigned short *count); +#define vp8_temporal_filter_apply vp8_temporal_filter_apply_sse2 + +void vp8_rtcd(void); + +#ifdef RTCD_C +#include "vpx_ports/x86.h" +static void setup_rtcd_internal(void) +{ + int flags = x86_simd_caps(); + + (void)flags; + + vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_sse2; + if (flags & HAS_SSSE3) vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_ssse3; + vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_sse2; + if (flags & HAS_SSSE3) vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_ssse3; + vp8_copy32xn = vp8_copy32xn_sse2; + if (flags & HAS_SSE3) vp8_copy32xn = vp8_copy32xn_sse3; + vp8_fast_quantize_b = vp8_fast_quantize_b_sse2; + if (flags & HAS_SSSE3) vp8_fast_quantize_b = vp8_fast_quantize_b_ssse3; + vp8_full_search_sad = vp8_full_search_sad_c; + if (flags & HAS_SSE3) vp8_full_search_sad = vp8_full_search_sadx3; + if (flags & HAS_SSE4_1) vp8_full_search_sad = vp8_full_search_sadx8; + vp8_regular_quantize_b = vp8_regular_quantize_b_sse2; + if (flags & HAS_SSE4_1) vp8_regular_quantize_b = vp8_regular_quantize_b_sse4_1; + vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_sse2; + if (flags & HAS_SSSE3) vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_ssse3; + vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_mmx; + if (flags & HAS_SSSE3) vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_ssse3; + vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_sse2; + if (flags & HAS_SSSE3) vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_ssse3; + vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_sse2; + if (flags & HAS_SSSE3) vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_ssse3; +} +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif diff --git a/extra/libvpx/files/vp9_rtcd.h b/extra/libvpx/files/vp9_rtcd.h new file mode 100644 index 0000000..b58898b --- /dev/null +++ b/extra/libvpx/files/vp9_rtcd.h @@ -0,0 +1,126 @@ +// This file is generated. Do not edit. +#ifndef VP9_RTCD_H_ +#define VP9_RTCD_H_ + +#ifdef RTCD_C +#define RTCD_EXTERN +#else +#define RTCD_EXTERN extern +#endif + +/* + * VP9 + */ + +#include "vpx/vpx_integer.h" +#include "vp9/common/vp9_common.h" +#include "vp9/common/vp9_enums.h" +#include "vp9/common/vp9_filter.h" + +struct macroblockd; + +/* Encoder forward decls */ +struct macroblock; +struct vp9_variance_vtable; +struct search_site_config; +struct mv; +union int_mv; +struct yv12_buffer_config; + +#ifdef __cplusplus +extern "C" { +#endif + +void vp9_apply_temporal_filter_c(const uint8_t *y_src, int y_src_stride, const uint8_t *y_pre, int y_pre_stride, const uint8_t *u_src, const uint8_t *v_src, int uv_src_stride, const uint8_t *u_pre, const uint8_t *v_pre, int uv_pre_stride, unsigned int block_width, unsigned int block_height, int ss_x, int ss_y, int strength, const int *const blk_fw, int use_32x32, uint32_t *y_accumulator, uint16_t *y_count, uint32_t *u_accumulator, uint16_t *u_count, uint32_t *v_accumulator, uint16_t *v_count); +void vp9_apply_temporal_filter_sse4_1(const uint8_t *y_src, int y_src_stride, const uint8_t *y_pre, int y_pre_stride, const uint8_t *u_src, const uint8_t *v_src, int uv_src_stride, const uint8_t *u_pre, const uint8_t *v_pre, int uv_pre_stride, unsigned int block_width, unsigned int block_height, int ss_x, int ss_y, int strength, const int *const blk_fw, int use_32x32, uint32_t *y_accumulator, uint16_t *y_count, uint32_t *u_accumulator, uint16_t *u_count, uint32_t *v_accumulator, uint16_t *v_count); +RTCD_EXTERN void (*vp9_apply_temporal_filter)(const uint8_t *y_src, int y_src_stride, const uint8_t *y_pre, int y_pre_stride, const uint8_t *u_src, const uint8_t *v_src, int uv_src_stride, const uint8_t *u_pre, const uint8_t *v_pre, int uv_pre_stride, unsigned int block_width, unsigned int block_height, int ss_x, int ss_y, int strength, const int *const blk_fw, int use_32x32, uint32_t *y_accumulator, uint16_t *y_count, uint32_t *u_accumulator, uint16_t *u_count, uint32_t *v_accumulator, uint16_t *v_count); + +int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); +int64_t vp9_block_error_sse2(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); +int64_t vp9_block_error_avx2(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); +RTCD_EXTERN int64_t (*vp9_block_error)(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); + +int64_t vp9_block_error_fp_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, int block_size); +int64_t vp9_block_error_fp_sse2(const tran_low_t *coeff, const tran_low_t *dqcoeff, int block_size); +int64_t vp9_block_error_fp_avx2(const tran_low_t *coeff, const tran_low_t *dqcoeff, int block_size); +RTCD_EXTERN int64_t (*vp9_block_error_fp)(const tran_low_t *coeff, const tran_low_t *dqcoeff, int block_size); + +int vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv); +int vp9_diamond_search_sad_avx(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv); +RTCD_EXTERN int (*vp9_diamond_search_sad)(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv); + +void vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); +void vp9_fht16x16_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type); +#define vp9_fht16x16 vp9_fht16x16_sse2 + +void vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); +void vp9_fht4x4_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type); +#define vp9_fht4x4 vp9_fht4x4_sse2 + +void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); +void vp9_fht8x8_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type); +#define vp9_fht8x8 vp9_fht8x8_sse2 + +void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride); +void vp9_fwht4x4_sse2(const int16_t *input, tran_low_t *output, int stride); +#define vp9_fwht4x4 vp9_fwht4x4_sse2 + +void vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +void vp9_iht16x16_256_add_sse2(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +#define vp9_iht16x16_256_add vp9_iht16x16_256_add_sse2 + +void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +void vp9_iht4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +#define vp9_iht4x4_16_add vp9_iht4x4_16_add_sse2 + +void vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +void vp9_iht8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int stride, int tx_type); +#define vp9_iht8x8_64_add vp9_iht8x8_64_add_sse2 + +void vp9_quantize_fp_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *round_ptr, const int16_t *quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +void vp9_quantize_fp_sse2(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *round_ptr, const int16_t *quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +void vp9_quantize_fp_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *round_ptr, const int16_t *quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +void vp9_quantize_fp_avx2(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *round_ptr, const int16_t *quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +RTCD_EXTERN void (*vp9_quantize_fp)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *round_ptr, const int16_t *quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); + +void vp9_quantize_fp_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *round_ptr, const int16_t *quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +void vp9_quantize_fp_32x32_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *round_ptr, const int16_t *quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +RTCD_EXTERN void (*vp9_quantize_fp_32x32)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *round_ptr, const int16_t *quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); + +void vp9_scale_and_extend_frame_c(const struct yv12_buffer_config *src, struct yv12_buffer_config *dst, INTERP_FILTER filter_type, int phase_scaler); +void vp9_scale_and_extend_frame_ssse3(const struct yv12_buffer_config *src, struct yv12_buffer_config *dst, INTERP_FILTER filter_type, int phase_scaler); +RTCD_EXTERN void (*vp9_scale_and_extend_frame)(const struct yv12_buffer_config *src, struct yv12_buffer_config *dst, INTERP_FILTER filter_type, int phase_scaler); + +void vp9_rtcd(void); + +#ifdef RTCD_C +#include "vpx_ports/x86.h" +static void setup_rtcd_internal(void) +{ + int flags = x86_simd_caps(); + + (void)flags; + + vp9_apply_temporal_filter = vp9_apply_temporal_filter_c; + if (flags & HAS_SSE4_1) vp9_apply_temporal_filter = vp9_apply_temporal_filter_sse4_1; + vp9_block_error = vp9_block_error_sse2; + if (flags & HAS_AVX2) vp9_block_error = vp9_block_error_avx2; + vp9_block_error_fp = vp9_block_error_fp_sse2; + if (flags & HAS_AVX2) vp9_block_error_fp = vp9_block_error_fp_avx2; + vp9_diamond_search_sad = vp9_diamond_search_sad_c; + if (flags & HAS_AVX) vp9_diamond_search_sad = vp9_diamond_search_sad_avx; + vp9_quantize_fp = vp9_quantize_fp_sse2; + if (flags & HAS_SSSE3) vp9_quantize_fp = vp9_quantize_fp_ssse3; + if (flags & HAS_AVX2) vp9_quantize_fp = vp9_quantize_fp_avx2; + vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_c; + if (flags & HAS_SSSE3) vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_ssse3; + vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_c; + if (flags & HAS_SSSE3) vp9_scale_and_extend_frame = vp9_scale_and_extend_frame_ssse3; +} +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif diff --git a/extra/libvpx/files/vpx_dsp_rtcd.h b/extra/libvpx/files/vpx_dsp_rtcd.h new file mode 100644 index 0000000..4682593 --- /dev/null +++ b/extra/libvpx/files/vpx_dsp_rtcd.h @@ -0,0 +1,1196 @@ +// This file is generated. Do not edit. +#ifndef VPX_DSP_RTCD_H_ +#define VPX_DSP_RTCD_H_ + +#ifdef RTCD_C +#define RTCD_EXTERN +#else +#define RTCD_EXTERN extern +#endif + +/* + * DSP + */ + +#include "vpx/vpx_integer.h" +#include "vpx_dsp/vpx_dsp_common.h" +#include "vpx_dsp/vpx_filter.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +unsigned int vpx_avg_4x4_c(const uint8_t *, int p); +unsigned int vpx_avg_4x4_sse2(const uint8_t *, int p); +#define vpx_avg_4x4 vpx_avg_4x4_sse2 + +unsigned int vpx_avg_8x8_c(const uint8_t *, int p); +unsigned int vpx_avg_8x8_sse2(const uint8_t *, int p); +#define vpx_avg_8x8 vpx_avg_8x8_sse2 + +void vpx_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride); +void vpx_comp_avg_pred_sse2(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride); +#define vpx_comp_avg_pred vpx_comp_avg_pred_sse2 + +void vpx_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +RTCD_EXTERN void (*vpx_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); + +void vpx_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avg_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avg_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +RTCD_EXTERN void (*vpx_convolve8_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); + +void vpx_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avg_horiz_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avg_horiz_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avg_horiz_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +RTCD_EXTERN void (*vpx_convolve8_avg_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); + +void vpx_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avg_vert_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avg_vert_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_avg_vert_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +RTCD_EXTERN void (*vpx_convolve8_avg_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); + +void vpx_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_horiz_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_horiz_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_horiz_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +RTCD_EXTERN void (*vpx_convolve8_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); + +void vpx_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_vert_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_vert_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve8_vert_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +RTCD_EXTERN void (*vpx_convolve8_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); + +void vpx_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +#define vpx_convolve_avg vpx_convolve_avg_sse2 + +void vpx_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_convolve_copy_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +#define vpx_convolve_copy vpx_convolve_copy_sse2 + +void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c + +void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c + +void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c + +void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c + +void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c + +void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c + +void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c + +void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c + +void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d153_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d153_predictor_16x16)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d153_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d153_predictor_32x32)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d153_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d153_predictor_4x4)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d153_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d153_predictor_8x8)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d207_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d207_predictor_16x16)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d207_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d207_predictor_32x32)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d207_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_sse2 + +void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d207_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d207_predictor_8x8)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d45_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d45_predictor_16x16)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d45_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d45_predictor_32x32)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d45_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_sse2 + +void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d45_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_sse2 + +void vpx_d45e_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c + +void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d63_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d63_predictor_16x16)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d63_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d63_predictor_32x32)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d63_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d63_predictor_4x4)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_d63_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +RTCD_EXTERN void (*vpx_d63_predictor_8x8)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); + +void vpx_d63e_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c + +void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_128_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_sse2 + +void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_128_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_sse2 + +void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_128_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_sse2 + +void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_128_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_sse2 + +void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_left_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_sse2 + +void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_left_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_sse2 + +void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_left_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_sse2 + +void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_left_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_sse2 + +void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_sse2 + +void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_sse2 + +void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_sse2 + +void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_sse2 + +void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_top_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_sse2 + +void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_top_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_sse2 + +void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_top_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_sse2 + +void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_dc_top_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_sse2 + +void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct16x16_sse2(const int16_t *input, tran_low_t *output, int stride); +#define vpx_fdct16x16 vpx_fdct16x16_sse2 + +void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct16x16_1_sse2(const int16_t *input, tran_low_t *output, int stride); +#define vpx_fdct16x16_1 vpx_fdct16x16_1_sse2 + +void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct32x32_sse2(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct32x32_avx2(const int16_t *input, tran_low_t *output, int stride); +RTCD_EXTERN void (*vpx_fdct32x32)(const int16_t *input, tran_low_t *output, int stride); + +void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct32x32_1_sse2(const int16_t *input, tran_low_t *output, int stride); +#define vpx_fdct32x32_1 vpx_fdct32x32_1_sse2 + +void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct32x32_rd_sse2(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct32x32_rd_avx2(const int16_t *input, tran_low_t *output, int stride); +RTCD_EXTERN void (*vpx_fdct32x32_rd)(const int16_t *input, tran_low_t *output, int stride); + +void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct4x4_sse2(const int16_t *input, tran_low_t *output, int stride); +#define vpx_fdct4x4 vpx_fdct4x4_sse2 + +void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct4x4_1_sse2(const int16_t *input, tran_low_t *output, int stride); +#define vpx_fdct4x4_1 vpx_fdct4x4_1_sse2 + +void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct8x8_sse2(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct8x8_ssse3(const int16_t *input, tran_low_t *output, int stride); +RTCD_EXTERN void (*vpx_fdct8x8)(const int16_t *input, tran_low_t *output, int stride); + +void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride); +void vpx_fdct8x8_1_sse2(const int16_t *input, tran_low_t *output, int stride); +#define vpx_fdct8x8_1 vpx_fdct8x8_1_sse2 + +void vpx_get16x16var_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); +void vpx_get16x16var_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); +void vpx_get16x16var_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); +RTCD_EXTERN void (*vpx_get16x16var)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); + +unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride); +#define vpx_get4x4sse_cs vpx_get4x4sse_cs_c + +void vpx_get8x8var_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); +void vpx_get8x8var_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); +#define vpx_get8x8var vpx_get8x8var_sse2 + +unsigned int vpx_get_mb_ss_c(const int16_t *); +unsigned int vpx_get_mb_ss_sse2(const int16_t *); +#define vpx_get_mb_ss vpx_get_mb_ss_sse2 + +void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_h_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_h_predictor_16x16 vpx_h_predictor_16x16_sse2 + +void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_h_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_h_predictor_32x32 vpx_h_predictor_32x32_sse2 + +void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_h_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_h_predictor_4x4 vpx_h_predictor_4x4_sse2 + +void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_h_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_h_predictor_8x8 vpx_h_predictor_8x8_sse2 + +void vpx_hadamard_16x16_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +void vpx_hadamard_16x16_sse2(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +void vpx_hadamard_16x16_avx2(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +RTCD_EXTERN void (*vpx_hadamard_16x16)(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); + +void vpx_hadamard_32x32_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +void vpx_hadamard_32x32_sse2(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +void vpx_hadamard_32x32_avx2(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +RTCD_EXTERN void (*vpx_hadamard_32x32)(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); + +void vpx_hadamard_8x8_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +void vpx_hadamard_8x8_sse2(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +void vpx_hadamard_8x8_ssse3(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); +RTCD_EXTERN void (*vpx_hadamard_8x8)(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); + +void vpx_he_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c + +void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct16x16_10_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct16x16_10_add vpx_idct16x16_10_add_sse2 + +void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct16x16_1_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct16x16_1_add vpx_idct16x16_1_add_sse2 + +void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct16x16_256_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct16x16_256_add vpx_idct16x16_256_add_sse2 + +void vpx_idct16x16_38_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct16x16_38_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct16x16_38_add vpx_idct16x16_38_add_sse2 + +void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct32x32_1024_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_sse2 + +void vpx_idct32x32_135_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct32x32_135_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct32x32_135_add_ssse3(const tran_low_t *input, uint8_t *dest, int stride); +RTCD_EXTERN void (*vpx_idct32x32_135_add)(const tran_low_t *input, uint8_t *dest, int stride); + +void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct32x32_1_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct32x32_1_add vpx_idct32x32_1_add_sse2 + +void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct32x32_34_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct32x32_34_add_ssse3(const tran_low_t *input, uint8_t *dest, int stride); +RTCD_EXTERN void (*vpx_idct32x32_34_add)(const tran_low_t *input, uint8_t *dest, int stride); + +void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct4x4_16_add vpx_idct4x4_16_add_sse2 + +void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct4x4_1_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct4x4_1_add vpx_idct4x4_1_add_sse2 + +void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct8x8_12_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct8x8_12_add_ssse3(const tran_low_t *input, uint8_t *dest, int stride); +RTCD_EXTERN void (*vpx_idct8x8_12_add)(const tran_low_t *input, uint8_t *dest, int stride); + +void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct8x8_1_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct8x8_1_add vpx_idct8x8_1_add_sse2 + +void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_idct8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_idct8x8_64_add vpx_idct8x8_64_add_sse2 + +int16_t vpx_int_pro_col_c(const uint8_t *ref, const int width); +int16_t vpx_int_pro_col_sse2(const uint8_t *ref, const int width); +#define vpx_int_pro_col vpx_int_pro_col_sse2 + +void vpx_int_pro_row_c(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int height); +void vpx_int_pro_row_sse2(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int height); +#define vpx_int_pro_row vpx_int_pro_row_sse2 + +void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride); +void vpx_iwht4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_sse2 + +void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); +#define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c + +void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_horizontal_16_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_horizontal_16_avx2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +RTCD_EXTERN void (*vpx_lpf_horizontal_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); + +void vpx_lpf_horizontal_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_horizontal_16_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_horizontal_16_dual_avx2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +RTCD_EXTERN void (*vpx_lpf_horizontal_16_dual)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); + +void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_horizontal_4_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +#define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_sse2 + +void vpx_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +void vpx_lpf_horizontal_4_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +#define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_sse2 + +void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_horizontal_8_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +#define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_sse2 + +void vpx_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +void vpx_lpf_horizontal_8_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +#define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_sse2 + +void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_vertical_16_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +#define vpx_lpf_vertical_16 vpx_lpf_vertical_16_sse2 + +void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_vertical_16_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +#define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_sse2 + +void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_vertical_4_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +#define vpx_lpf_vertical_4 vpx_lpf_vertical_4_sse2 + +void vpx_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +void vpx_lpf_vertical_4_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +#define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_sse2 + +void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +void vpx_lpf_vertical_8_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); +#define vpx_lpf_vertical_8 vpx_lpf_vertical_8_sse2 + +void vpx_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +void vpx_lpf_vertical_8_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); +#define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_sse2 + +void vpx_mbpost_proc_across_ip_c(unsigned char *src, int pitch, int rows, int cols,int flimit); +void vpx_mbpost_proc_across_ip_sse2(unsigned char *src, int pitch, int rows, int cols,int flimit); +#define vpx_mbpost_proc_across_ip vpx_mbpost_proc_across_ip_sse2 + +void vpx_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,int flimit); +void vpx_mbpost_proc_down_sse2(unsigned char *dst, int pitch, int rows, int cols,int flimit); +#define vpx_mbpost_proc_down vpx_mbpost_proc_down_sse2 + +void vpx_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max); +void vpx_minmax_8x8_sse2(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max); +#define vpx_minmax_8x8 vpx_minmax_8x8_sse2 + +unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_mse16x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_mse16x16_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_mse16x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_mse16x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_mse16x8_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_mse16x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_mse8x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +#define vpx_mse8x16 vpx_mse8x16_sse2 + +unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_mse8x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +#define vpx_mse8x8 vpx_mse8x8_sse2 + +void vpx_plane_add_noise_c(uint8_t *start, const int8_t *noise, int blackclamp, int whiteclamp, int width, int height, int pitch); +void vpx_plane_add_noise_sse2(uint8_t *start, const int8_t *noise, int blackclamp, int whiteclamp, int width, int height, int pitch); +#define vpx_plane_add_noise vpx_plane_add_noise_sse2 + +void vpx_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size); +void vpx_post_proc_down_and_across_mb_row_sse2(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size); +#define vpx_post_proc_down_and_across_mb_row vpx_post_proc_down_and_across_mb_row_sse2 + +void vpx_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +void vpx_quantize_b_sse2(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +void vpx_quantize_b_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +void vpx_quantize_b_avx(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +RTCD_EXTERN void (*vpx_quantize_b)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); + +void vpx_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +void vpx_quantize_b_32x32_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +void vpx_quantize_b_32x32_avx(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); +RTCD_EXTERN void (*vpx_quantize_b_32x32)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); + +unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad16x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +#define vpx_sad16x16 vpx_sad16x16_sse2 + +unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad16x16_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +#define vpx_sad16x16_avg vpx_sad16x16_avg_sse2 + +void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad16x16x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad16x16x3_ssse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad16x16x3)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad16x16x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad16x16x4d vpx_sad16x16x4d_sse2 + +void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad16x16x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad16x16x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad16x32_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +#define vpx_sad16x32 vpx_sad16x32_sse2 + +unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad16x32_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +#define vpx_sad16x32_avg vpx_sad16x32_avg_sse2 + +void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad16x32x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad16x32x4d vpx_sad16x32x4d_sse2 + +unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad16x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +#define vpx_sad16x8 vpx_sad16x8_sse2 + +unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad16x8_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +#define vpx_sad16x8_avg vpx_sad16x8_avg_sse2 + +void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad16x8x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad16x8x3_ssse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad16x8x3)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad16x8x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad16x8x4d vpx_sad16x8x4d_sse2 + +void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad16x8x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad16x8x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad32x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad32x16_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +RTCD_EXTERN unsigned int (*vpx_sad32x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); + +unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad32x16_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad32x16_avg_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +RTCD_EXTERN unsigned int (*vpx_sad32x16_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); + +void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad32x16x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad32x16x4d vpx_sad32x16x4d_sse2 + +unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad32x32_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad32x32_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +RTCD_EXTERN unsigned int (*vpx_sad32x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); + +unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad32x32_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad32x32_avg_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +RTCD_EXTERN unsigned int (*vpx_sad32x32_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); + +void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad32x32x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad32x32x4d_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad32x32x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); + +void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad32x32x8_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad32x32x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad32x64_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad32x64_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +RTCD_EXTERN unsigned int (*vpx_sad32x64)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); + +unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad32x64_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad32x64_avg_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +RTCD_EXTERN unsigned int (*vpx_sad32x64_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); + +void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad32x64x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad32x64x4d vpx_sad32x64x4d_sse2 + +unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad4x4_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +#define vpx_sad4x4 vpx_sad4x4_sse2 + +unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad4x4_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +#define vpx_sad4x4_avg vpx_sad4x4_avg_sse2 + +void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad4x4x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad4x4x3)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad4x4x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad4x4x4d vpx_sad4x4x4d_sse2 + +void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad4x4x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad4x4x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad4x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +#define vpx_sad4x8 vpx_sad4x8_sse2 + +unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad4x8_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +#define vpx_sad4x8_avg vpx_sad4x8_avg_sse2 + +void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad4x8x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad4x8x4d vpx_sad4x8x4d_sse2 + +unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad64x32_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad64x32_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +RTCD_EXTERN unsigned int (*vpx_sad64x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); + +unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad64x32_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad64x32_avg_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +RTCD_EXTERN unsigned int (*vpx_sad64x32_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); + +void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad64x32x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad64x32x4d vpx_sad64x32x4d_sse2 + +unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad64x64_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad64x64_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +RTCD_EXTERN unsigned int (*vpx_sad64x64)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); + +unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad64x64_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad64x64_avg_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +RTCD_EXTERN unsigned int (*vpx_sad64x64_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); + +void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad64x64x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad64x64x4d_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad64x64x4d_avx512(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad64x64x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); + +unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad8x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +#define vpx_sad8x16 vpx_sad8x16_sse2 + +unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad8x16_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +#define vpx_sad8x16_avg vpx_sad8x16_avg_sse2 + +void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad8x16x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad8x16x3)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad8x16x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad8x16x4d vpx_sad8x16x4d_sse2 + +void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad8x16x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad8x16x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad8x4_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +#define vpx_sad8x4 vpx_sad8x4_sse2 + +unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad8x4_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +#define vpx_sad8x4_avg vpx_sad8x4_avg_sse2 + +void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad8x4x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad8x4x4d vpx_sad8x4x4d_sse2 + +unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +unsigned int vpx_sad8x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); +#define vpx_sad8x8 vpx_sad8x8_sse2 + +unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +unsigned int vpx_sad8x8_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); +#define vpx_sad8x8_avg vpx_sad8x8_avg_sse2 + +void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad8x8x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad8x8x3)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +void vpx_sad8x8x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_array[], int ref_stride, uint32_t *sad_array); +#define vpx_sad8x8x4d vpx_sad8x8x4d_sse2 + +void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +void vpx_sad8x8x8_sse4_1(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); +RTCD_EXTERN void (*vpx_sad8x8x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); + +int vpx_satd_c(const int16_t *coeff, int length); +int vpx_satd_sse2(const int16_t *coeff, int length); +int vpx_satd_avx2(const int16_t *coeff, int length); +RTCD_EXTERN int (*vpx_satd)(const int16_t *coeff, int length); + +void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +void vpx_scaled_2d_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +RTCD_EXTERN void (*vpx_scaled_2d)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); + +void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +#define vpx_scaled_avg_2d vpx_scaled_avg_2d_c + +void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +#define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c + +void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +#define vpx_scaled_avg_vert vpx_scaled_avg_vert_c + +void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +#define vpx_scaled_horiz vpx_scaled_horiz_c + +void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); +#define vpx_scaled_vert vpx_scaled_vert_c + +uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance16x16_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance16x16_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance16x16)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance16x32_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance16x32_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance16x32)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance16x8_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance16x8_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance16x8)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance32x16_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance32x16_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance32x16)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance32x32_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance32x32_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance32x32_avx2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance32x32)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance32x64_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance32x64_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance32x64)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance4x4_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance4x4_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance4x4)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance4x8_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance4x8_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance4x8)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance64x32_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance64x32_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance64x32)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance64x64_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance64x64_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance64x64_avx2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance64x64)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance8x16_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance8x16_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance8x16)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance8x4_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance8x4_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance8x4)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance8x8_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +uint32_t vpx_sub_pixel_avg_variance8x8_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance8x8)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); + +uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance16x16_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance16x16_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x16)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance16x32_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance16x32_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x32)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance16x8_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance16x8_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x8)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance32x16_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance32x16_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x16)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance32x32_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance32x32_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance32x32_avx2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x32)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance32x64_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance32x64_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x64)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance4x4_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance4x4_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance4x4)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance4x8_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance4x8_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance4x8)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance64x32_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance64x32_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance64x32)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance64x64_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance64x64_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance64x64_avx2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance64x64)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance8x16_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance8x16_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x16)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance8x4_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance8x4_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x4)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance8x8_sse2(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +uint32_t vpx_sub_pixel_variance8x8_ssse3(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); +RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x8)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); + +void vpx_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride); +void vpx_subtract_block_sse2(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride); +#define vpx_subtract_block vpx_subtract_block_sse2 + +uint64_t vpx_sum_squares_2d_i16_c(const int16_t *src, int stride, int size); +uint64_t vpx_sum_squares_2d_i16_sse2(const int16_t *src, int stride, int size); +#define vpx_sum_squares_2d_i16 vpx_sum_squares_2d_i16_sse2 + +void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_tm_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_sse2 + +void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_tm_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_sse2 + +void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_tm_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_sse2 + +void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_tm_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_sse2 + +void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_v_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_v_predictor_16x16 vpx_v_predictor_16x16_sse2 + +void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_v_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_v_predictor_32x32 vpx_v_predictor_32x32_sse2 + +void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_v_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_v_predictor_4x4 vpx_v_predictor_4x4_sse2 + +void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +void vpx_v_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_v_predictor_8x8 vpx_v_predictor_8x8_sse2 + +unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance16x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance16x16_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_variance16x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance16x32_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance16x32_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_variance16x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance16x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance16x8_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_variance16x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance32x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance32x16_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_variance32x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance32x32_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance32x32_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_variance32x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance32x64_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance32x64_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_variance32x64)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance4x4_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +#define vpx_variance4x4 vpx_variance4x4_sse2 + +unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance4x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +#define vpx_variance4x8 vpx_variance4x8_sse2 + +unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance64x32_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance64x32_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_variance64x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance64x64_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance64x64_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +RTCD_EXTERN unsigned int (*vpx_variance64x64)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); + +unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance8x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +#define vpx_variance8x16 vpx_variance8x16_sse2 + +unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance8x4_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +#define vpx_variance8x4 vpx_variance8x4_sse2 + +unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +unsigned int vpx_variance8x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); +#define vpx_variance8x8 vpx_variance8x8_sse2 + +void vpx_ve_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +#define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c + +int vpx_vector_var_c(const int16_t *ref, const int16_t *src, const int bwl); +int vpx_vector_var_sse2(const int16_t *ref, const int16_t *src, const int bwl); +#define vpx_vector_var vpx_vector_var_sse2 + +void vpx_dsp_rtcd(void); + +#ifdef RTCD_C +#include "vpx_ports/x86.h" +static void setup_rtcd_internal(void) +{ + int flags = x86_simd_caps(); + + (void)flags; + + vpx_convolve8 = vpx_convolve8_sse2; + if (flags & HAS_SSSE3) vpx_convolve8 = vpx_convolve8_ssse3; + if (flags & HAS_AVX2) vpx_convolve8 = vpx_convolve8_avx2; + vpx_convolve8_avg = vpx_convolve8_avg_sse2; + if (flags & HAS_SSSE3) vpx_convolve8_avg = vpx_convolve8_avg_ssse3; + if (flags & HAS_AVX2) vpx_convolve8_avg = vpx_convolve8_avg_avx2; + vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_sse2; + if (flags & HAS_SSSE3) vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_ssse3; + if (flags & HAS_AVX2) vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_avx2; + vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_sse2; + if (flags & HAS_SSSE3) vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_ssse3; + if (flags & HAS_AVX2) vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_avx2; + vpx_convolve8_horiz = vpx_convolve8_horiz_sse2; + if (flags & HAS_SSSE3) vpx_convolve8_horiz = vpx_convolve8_horiz_ssse3; + if (flags & HAS_AVX2) vpx_convolve8_horiz = vpx_convolve8_horiz_avx2; + vpx_convolve8_vert = vpx_convolve8_vert_sse2; + if (flags & HAS_SSSE3) vpx_convolve8_vert = vpx_convolve8_vert_ssse3; + if (flags & HAS_AVX2) vpx_convolve8_vert = vpx_convolve8_vert_avx2; + vpx_d153_predictor_16x16 = vpx_d153_predictor_16x16_c; + if (flags & HAS_SSSE3) vpx_d153_predictor_16x16 = vpx_d153_predictor_16x16_ssse3; + vpx_d153_predictor_32x32 = vpx_d153_predictor_32x32_c; + if (flags & HAS_SSSE3) vpx_d153_predictor_32x32 = vpx_d153_predictor_32x32_ssse3; + vpx_d153_predictor_4x4 = vpx_d153_predictor_4x4_c; + if (flags & HAS_SSSE3) vpx_d153_predictor_4x4 = vpx_d153_predictor_4x4_ssse3; + vpx_d153_predictor_8x8 = vpx_d153_predictor_8x8_c; + if (flags & HAS_SSSE3) vpx_d153_predictor_8x8 = vpx_d153_predictor_8x8_ssse3; + vpx_d207_predictor_16x16 = vpx_d207_predictor_16x16_c; + if (flags & HAS_SSSE3) vpx_d207_predictor_16x16 = vpx_d207_predictor_16x16_ssse3; + vpx_d207_predictor_32x32 = vpx_d207_predictor_32x32_c; + if (flags & HAS_SSSE3) vpx_d207_predictor_32x32 = vpx_d207_predictor_32x32_ssse3; + vpx_d207_predictor_8x8 = vpx_d207_predictor_8x8_c; + if (flags & HAS_SSSE3) vpx_d207_predictor_8x8 = vpx_d207_predictor_8x8_ssse3; + vpx_d45_predictor_16x16 = vpx_d45_predictor_16x16_c; + if (flags & HAS_SSSE3) vpx_d45_predictor_16x16 = vpx_d45_predictor_16x16_ssse3; + vpx_d45_predictor_32x32 = vpx_d45_predictor_32x32_c; + if (flags & HAS_SSSE3) vpx_d45_predictor_32x32 = vpx_d45_predictor_32x32_ssse3; + vpx_d63_predictor_16x16 = vpx_d63_predictor_16x16_c; + if (flags & HAS_SSSE3) vpx_d63_predictor_16x16 = vpx_d63_predictor_16x16_ssse3; + vpx_d63_predictor_32x32 = vpx_d63_predictor_32x32_c; + if (flags & HAS_SSSE3) vpx_d63_predictor_32x32 = vpx_d63_predictor_32x32_ssse3; + vpx_d63_predictor_4x4 = vpx_d63_predictor_4x4_c; + if (flags & HAS_SSSE3) vpx_d63_predictor_4x4 = vpx_d63_predictor_4x4_ssse3; + vpx_d63_predictor_8x8 = vpx_d63_predictor_8x8_c; + if (flags & HAS_SSSE3) vpx_d63_predictor_8x8 = vpx_d63_predictor_8x8_ssse3; + vpx_fdct32x32 = vpx_fdct32x32_sse2; + if (flags & HAS_AVX2) vpx_fdct32x32 = vpx_fdct32x32_avx2; + vpx_fdct32x32_rd = vpx_fdct32x32_rd_sse2; + if (flags & HAS_AVX2) vpx_fdct32x32_rd = vpx_fdct32x32_rd_avx2; + vpx_fdct8x8 = vpx_fdct8x8_sse2; + if (flags & HAS_SSSE3) vpx_fdct8x8 = vpx_fdct8x8_ssse3; + vpx_get16x16var = vpx_get16x16var_sse2; + if (flags & HAS_AVX2) vpx_get16x16var = vpx_get16x16var_avx2; + vpx_hadamard_16x16 = vpx_hadamard_16x16_sse2; + if (flags & HAS_AVX2) vpx_hadamard_16x16 = vpx_hadamard_16x16_avx2; + vpx_hadamard_32x32 = vpx_hadamard_32x32_sse2; + if (flags & HAS_AVX2) vpx_hadamard_32x32 = vpx_hadamard_32x32_avx2; + vpx_hadamard_8x8 = vpx_hadamard_8x8_sse2; + if (flags & HAS_SSSE3) vpx_hadamard_8x8 = vpx_hadamard_8x8_ssse3; + vpx_idct32x32_135_add = vpx_idct32x32_135_add_sse2; + if (flags & HAS_SSSE3) vpx_idct32x32_135_add = vpx_idct32x32_135_add_ssse3; + vpx_idct32x32_34_add = vpx_idct32x32_34_add_sse2; + if (flags & HAS_SSSE3) vpx_idct32x32_34_add = vpx_idct32x32_34_add_ssse3; + vpx_idct8x8_12_add = vpx_idct8x8_12_add_sse2; + if (flags & HAS_SSSE3) vpx_idct8x8_12_add = vpx_idct8x8_12_add_ssse3; + vpx_lpf_horizontal_16 = vpx_lpf_horizontal_16_sse2; + if (flags & HAS_AVX2) vpx_lpf_horizontal_16 = vpx_lpf_horizontal_16_avx2; + vpx_lpf_horizontal_16_dual = vpx_lpf_horizontal_16_dual_sse2; + if (flags & HAS_AVX2) vpx_lpf_horizontal_16_dual = vpx_lpf_horizontal_16_dual_avx2; + vpx_mse16x16 = vpx_mse16x16_sse2; + if (flags & HAS_AVX2) vpx_mse16x16 = vpx_mse16x16_avx2; + vpx_mse16x8 = vpx_mse16x8_sse2; + if (flags & HAS_AVX2) vpx_mse16x8 = vpx_mse16x8_avx2; + vpx_quantize_b = vpx_quantize_b_sse2; + if (flags & HAS_SSSE3) vpx_quantize_b = vpx_quantize_b_ssse3; + if (flags & HAS_AVX) vpx_quantize_b = vpx_quantize_b_avx; + vpx_quantize_b_32x32 = vpx_quantize_b_32x32_c; + if (flags & HAS_SSSE3) vpx_quantize_b_32x32 = vpx_quantize_b_32x32_ssse3; + if (flags & HAS_AVX) vpx_quantize_b_32x32 = vpx_quantize_b_32x32_avx; + vpx_sad16x16x3 = vpx_sad16x16x3_c; + if (flags & HAS_SSE3) vpx_sad16x16x3 = vpx_sad16x16x3_sse3; + if (flags & HAS_SSSE3) vpx_sad16x16x3 = vpx_sad16x16x3_ssse3; + vpx_sad16x16x8 = vpx_sad16x16x8_c; + if (flags & HAS_SSE4_1) vpx_sad16x16x8 = vpx_sad16x16x8_sse4_1; + vpx_sad16x8x3 = vpx_sad16x8x3_c; + if (flags & HAS_SSE3) vpx_sad16x8x3 = vpx_sad16x8x3_sse3; + if (flags & HAS_SSSE3) vpx_sad16x8x3 = vpx_sad16x8x3_ssse3; + vpx_sad16x8x8 = vpx_sad16x8x8_c; + if (flags & HAS_SSE4_1) vpx_sad16x8x8 = vpx_sad16x8x8_sse4_1; + vpx_sad32x16 = vpx_sad32x16_sse2; + if (flags & HAS_AVX2) vpx_sad32x16 = vpx_sad32x16_avx2; + vpx_sad32x16_avg = vpx_sad32x16_avg_sse2; + if (flags & HAS_AVX2) vpx_sad32x16_avg = vpx_sad32x16_avg_avx2; + vpx_sad32x32 = vpx_sad32x32_sse2; + if (flags & HAS_AVX2) vpx_sad32x32 = vpx_sad32x32_avx2; + vpx_sad32x32_avg = vpx_sad32x32_avg_sse2; + if (flags & HAS_AVX2) vpx_sad32x32_avg = vpx_sad32x32_avg_avx2; + vpx_sad32x32x4d = vpx_sad32x32x4d_sse2; + if (flags & HAS_AVX2) vpx_sad32x32x4d = vpx_sad32x32x4d_avx2; + vpx_sad32x32x8 = vpx_sad32x32x8_c; + if (flags & HAS_AVX2) vpx_sad32x32x8 = vpx_sad32x32x8_avx2; + vpx_sad32x64 = vpx_sad32x64_sse2; + if (flags & HAS_AVX2) vpx_sad32x64 = vpx_sad32x64_avx2; + vpx_sad32x64_avg = vpx_sad32x64_avg_sse2; + if (flags & HAS_AVX2) vpx_sad32x64_avg = vpx_sad32x64_avg_avx2; + vpx_sad4x4x3 = vpx_sad4x4x3_c; + if (flags & HAS_SSE3) vpx_sad4x4x3 = vpx_sad4x4x3_sse3; + vpx_sad4x4x8 = vpx_sad4x4x8_c; + if (flags & HAS_SSE4_1) vpx_sad4x4x8 = vpx_sad4x4x8_sse4_1; + vpx_sad64x32 = vpx_sad64x32_sse2; + if (flags & HAS_AVX2) vpx_sad64x32 = vpx_sad64x32_avx2; + vpx_sad64x32_avg = vpx_sad64x32_avg_sse2; + if (flags & HAS_AVX2) vpx_sad64x32_avg = vpx_sad64x32_avg_avx2; + vpx_sad64x64 = vpx_sad64x64_sse2; + if (flags & HAS_AVX2) vpx_sad64x64 = vpx_sad64x64_avx2; + vpx_sad64x64_avg = vpx_sad64x64_avg_sse2; + if (flags & HAS_AVX2) vpx_sad64x64_avg = vpx_sad64x64_avg_avx2; + vpx_sad64x64x4d = vpx_sad64x64x4d_sse2; + if (flags & HAS_AVX2) vpx_sad64x64x4d = vpx_sad64x64x4d_avx2; + if (flags & HAS_AVX512) vpx_sad64x64x4d = vpx_sad64x64x4d_avx512; + vpx_sad8x16x3 = vpx_sad8x16x3_c; + if (flags & HAS_SSE3) vpx_sad8x16x3 = vpx_sad8x16x3_sse3; + vpx_sad8x16x8 = vpx_sad8x16x8_c; + if (flags & HAS_SSE4_1) vpx_sad8x16x8 = vpx_sad8x16x8_sse4_1; + vpx_sad8x8x3 = vpx_sad8x8x3_c; + if (flags & HAS_SSE3) vpx_sad8x8x3 = vpx_sad8x8x3_sse3; + vpx_sad8x8x8 = vpx_sad8x8x8_c; + if (flags & HAS_SSE4_1) vpx_sad8x8x8 = vpx_sad8x8x8_sse4_1; + vpx_satd = vpx_satd_sse2; + if (flags & HAS_AVX2) vpx_satd = vpx_satd_avx2; + vpx_scaled_2d = vpx_scaled_2d_c; + if (flags & HAS_SSSE3) vpx_scaled_2d = vpx_scaled_2d_ssse3; + vpx_sub_pixel_avg_variance16x16 = vpx_sub_pixel_avg_variance16x16_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance16x16 = vpx_sub_pixel_avg_variance16x16_ssse3; + vpx_sub_pixel_avg_variance16x32 = vpx_sub_pixel_avg_variance16x32_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance16x32 = vpx_sub_pixel_avg_variance16x32_ssse3; + vpx_sub_pixel_avg_variance16x8 = vpx_sub_pixel_avg_variance16x8_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance16x8 = vpx_sub_pixel_avg_variance16x8_ssse3; + vpx_sub_pixel_avg_variance32x16 = vpx_sub_pixel_avg_variance32x16_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance32x16 = vpx_sub_pixel_avg_variance32x16_ssse3; + vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_ssse3; + if (flags & HAS_AVX2) vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_avx2; + vpx_sub_pixel_avg_variance32x64 = vpx_sub_pixel_avg_variance32x64_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance32x64 = vpx_sub_pixel_avg_variance32x64_ssse3; + vpx_sub_pixel_avg_variance4x4 = vpx_sub_pixel_avg_variance4x4_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance4x4 = vpx_sub_pixel_avg_variance4x4_ssse3; + vpx_sub_pixel_avg_variance4x8 = vpx_sub_pixel_avg_variance4x8_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance4x8 = vpx_sub_pixel_avg_variance4x8_ssse3; + vpx_sub_pixel_avg_variance64x32 = vpx_sub_pixel_avg_variance64x32_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance64x32 = vpx_sub_pixel_avg_variance64x32_ssse3; + vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_ssse3; + if (flags & HAS_AVX2) vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_avx2; + vpx_sub_pixel_avg_variance8x16 = vpx_sub_pixel_avg_variance8x16_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance8x16 = vpx_sub_pixel_avg_variance8x16_ssse3; + vpx_sub_pixel_avg_variance8x4 = vpx_sub_pixel_avg_variance8x4_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance8x4 = vpx_sub_pixel_avg_variance8x4_ssse3; + vpx_sub_pixel_avg_variance8x8 = vpx_sub_pixel_avg_variance8x8_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance8x8 = vpx_sub_pixel_avg_variance8x8_ssse3; + vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_ssse3; + vpx_sub_pixel_variance16x32 = vpx_sub_pixel_variance16x32_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance16x32 = vpx_sub_pixel_variance16x32_ssse3; + vpx_sub_pixel_variance16x8 = vpx_sub_pixel_variance16x8_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance16x8 = vpx_sub_pixel_variance16x8_ssse3; + vpx_sub_pixel_variance32x16 = vpx_sub_pixel_variance32x16_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance32x16 = vpx_sub_pixel_variance32x16_ssse3; + vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_ssse3; + if (flags & HAS_AVX2) vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_avx2; + vpx_sub_pixel_variance32x64 = vpx_sub_pixel_variance32x64_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance32x64 = vpx_sub_pixel_variance32x64_ssse3; + vpx_sub_pixel_variance4x4 = vpx_sub_pixel_variance4x4_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance4x4 = vpx_sub_pixel_variance4x4_ssse3; + vpx_sub_pixel_variance4x8 = vpx_sub_pixel_variance4x8_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance4x8 = vpx_sub_pixel_variance4x8_ssse3; + vpx_sub_pixel_variance64x32 = vpx_sub_pixel_variance64x32_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance64x32 = vpx_sub_pixel_variance64x32_ssse3; + vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_ssse3; + if (flags & HAS_AVX2) vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_avx2; + vpx_sub_pixel_variance8x16 = vpx_sub_pixel_variance8x16_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance8x16 = vpx_sub_pixel_variance8x16_ssse3; + vpx_sub_pixel_variance8x4 = vpx_sub_pixel_variance8x4_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance8x4 = vpx_sub_pixel_variance8x4_ssse3; + vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_sse2; + if (flags & HAS_SSSE3) vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_ssse3; + vpx_variance16x16 = vpx_variance16x16_sse2; + if (flags & HAS_AVX2) vpx_variance16x16 = vpx_variance16x16_avx2; + vpx_variance16x32 = vpx_variance16x32_sse2; + if (flags & HAS_AVX2) vpx_variance16x32 = vpx_variance16x32_avx2; + vpx_variance16x8 = vpx_variance16x8_sse2; + if (flags & HAS_AVX2) vpx_variance16x8 = vpx_variance16x8_avx2; + vpx_variance32x16 = vpx_variance32x16_sse2; + if (flags & HAS_AVX2) vpx_variance32x16 = vpx_variance32x16_avx2; + vpx_variance32x32 = vpx_variance32x32_sse2; + if (flags & HAS_AVX2) vpx_variance32x32 = vpx_variance32x32_avx2; + vpx_variance32x64 = vpx_variance32x64_sse2; + if (flags & HAS_AVX2) vpx_variance32x64 = vpx_variance32x64_avx2; + vpx_variance64x32 = vpx_variance64x32_sse2; + if (flags & HAS_AVX2) vpx_variance64x32 = vpx_variance64x32_avx2; + vpx_variance64x64 = vpx_variance64x64_sse2; + if (flags & HAS_AVX2) vpx_variance64x64 = vpx_variance64x64_avx2; +} +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif diff --git a/extra/libvpx/files/vpx_scale_rtcd.h b/extra/libvpx/files/vpx_scale_rtcd.h new file mode 100644 index 0000000..5f09104 --- /dev/null +++ b/extra/libvpx/files/vpx_scale_rtcd.h @@ -0,0 +1,73 @@ +// This file is generated. Do not edit. +#ifndef VPX_SCALE_RTCD_H_ +#define VPX_SCALE_RTCD_H_ + +#ifdef RTCD_C +#define RTCD_EXTERN +#else +#define RTCD_EXTERN extern +#endif + +struct yv12_buffer_config; + +#ifdef __cplusplus +extern "C" { +#endif + +void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); +#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c + +void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); +#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c + +void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); +#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c + +void vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); +#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c + +void vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); +#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c + +void vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); +#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c + +void vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); +#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c + +void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c + +void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); +#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c + +void vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf); +#define vpx_extend_frame_borders vpx_extend_frame_borders_c + +void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf); +#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c + +void vpx_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +#define vpx_yv12_copy_frame vpx_yv12_copy_frame_c + +void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +#define vpx_yv12_copy_y vpx_yv12_copy_y_c + +void vpx_scale_rtcd(void); + +#ifdef RTCD_C +#include "vpx_ports/x86.h" +static void setup_rtcd_internal(void) +{ + int flags = x86_simd_caps(); + + (void)flags; + +} +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif diff --git a/extra/libvpx/patches/fix-busybox-diff.patch b/extra/libvpx/patches/fix-busybox-diff.patch new file mode 100644 index 0000000..fa93b0a --- /dev/null +++ b/extra/libvpx/patches/fix-busybox-diff.patch @@ -0,0 +1,13 @@ +diff --git a/configure b/configure +index e5a74c6..11f660d 100755 +--- a/configure ++++ b/configure +@@ -170,7 +170,7 @@ for t in ${all_targets}; do + [ -f "${source_path}/${t}.mk" ] && enable_feature ${t} + done + +-if ! diff --version >/dev/null; then ++if ! command -v diff >/dev/null; then + die "diff missing: Try installing diffutils via your package manager." + fi + diff --git a/extra/libvpx/sources b/extra/libvpx/sources new file mode 100644 index 0000000..3c8a026 --- /dev/null +++ b/extra/libvpx/sources @@ -0,0 +1,6 @@ +https://github.com/webmproject/libvpx/archive/v1.10.0.tar.gz +patches/fix-busybox-diff.patch +files/vp9_rtcd.h +files/vp8_rtcd.h +files/vpx_scale_rtcd.h +files/vpx_dsp_rtcd.h diff --git a/extra/libvpx/version b/extra/libvpx/version new file mode 100644 index 0000000..ac83b38 --- /dev/null +++ b/extra/libvpx/version @@ -0,0 +1 @@ +1.10.0 1 diff --git a/extra/libwebp/build b/extra/libwebp/build new file mode 100755 index 0000000..9b42927 --- /dev/null +++ b/extra/libwebp/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static \ + --enable-libwebpmux \ + --enable-libwebpdemux \ + --enable-libwebpdecoder + +make +make DESTDIR="$1" install diff --git a/extra/libwebp/checksums b/extra/libwebp/checksums new file mode 100644 index 0000000..a211abf --- /dev/null +++ b/extra/libwebp/checksums @@ -0,0 +1 @@ +2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c diff --git a/extra/libwebp/depends b/extra/libwebp/depends new file mode 100644 index 0000000..55a2fa3 --- /dev/null +++ b/extra/libwebp/depends @@ -0,0 +1,2 @@ +libjpeg-turbo +libpng diff --git a/extra/libwebp/sources b/extra/libwebp/sources new file mode 100644 index 0000000..4ed0cd5 --- /dev/null +++ b/extra/libwebp/sources @@ -0,0 +1 @@ +http://downloads.webmproject.org/releases/webp/libwebp-1.2.0.tar.gz diff --git a/extra/libwebp/version b/extra/libwebp/version new file mode 100644 index 0000000..8b9a47f --- /dev/null +++ b/extra/libwebp/version @@ -0,0 +1 @@ +1.2.0 1 diff --git a/extra/libxml2/build b/extra/libxml2/build new file mode 100755 index 0000000..a568fbd --- /dev/null +++ b/extra/libxml2/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-threads \ + --with-history \ + --without-python \ + --without-icu + +make +make DESTDIR="$1" install diff --git a/extra/libxml2/checksums b/extra/libxml2/checksums new file mode 100644 index 0000000..bb866a4 --- /dev/null +++ b/extra/libxml2/checksums @@ -0,0 +1 @@ +c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92 diff --git a/extra/libxml2/depends b/extra/libxml2/depends new file mode 100644 index 0000000..8c24938 --- /dev/null +++ b/extra/libxml2/depends @@ -0,0 +1,2 @@ +xz +zlib diff --git a/extra/libxml2/sources b/extra/libxml2/sources new file mode 100644 index 0000000..6205da8 --- /dev/null +++ b/extra/libxml2/sources @@ -0,0 +1 @@ +ftp://xmlsoft.org/libxml2/libxml2-2.9.12.tar.gz diff --git a/extra/libxml2/version b/extra/libxml2/version new file mode 100644 index 0000000..477e5f7 --- /dev/null +++ b/extra/libxml2/version @@ -0,0 +1 @@ +2.9.12 1 diff --git a/extra/libxslt/build b/extra/libxslt/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/libxslt/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/libxslt/checksums b/extra/libxslt/checksums new file mode 100644 index 0000000..e648f35 --- /dev/null +++ b/extra/libxslt/checksums @@ -0,0 +1 @@ +98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f diff --git a/extra/libxslt/depends b/extra/libxslt/depends new file mode 100644 index 0000000..e62d874 --- /dev/null +++ b/extra/libxslt/depends @@ -0,0 +1,2 @@ +libxml2 +pkgconf make diff --git a/extra/libxslt/sources b/extra/libxslt/sources new file mode 100644 index 0000000..a25df5f --- /dev/null +++ b/extra/libxslt/sources @@ -0,0 +1 @@ +https://fossies.org/linux/www/libxslt-1.1.34.tar.gz diff --git a/extra/libxslt/version b/extra/libxslt/version new file mode 100644 index 0000000..6364ddb --- /dev/null +++ b/extra/libxslt/version @@ -0,0 +1 @@ +1.1.34 1 diff --git a/extra/lpeg/build b/extra/lpeg/build new file mode 100755 index 0000000..cc1a915 --- /dev/null +++ b/extra/lpeg/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +patch < build-static-lib.patch + +make CC="${CC:-cc}" + +mkdir -p "$1/usr/lib/" +install -Dm644 lpeg.a "$1/usr/lib/liblpeg.a" diff --git a/extra/lpeg/checksums b/extra/lpeg/checksums new file mode 100644 index 0000000..5705769 --- /dev/null +++ b/extra/lpeg/checksums @@ -0,0 +1,2 @@ +48d66576051b6c78388faad09b70493093264588fcd0f258ddaab1cdd4a15ffe +b8abac8ce00905470d79fd0479011c057f7d1ca5a9ad3becea0723821a9efde0 diff --git a/extra/lpeg/depends b/extra/lpeg/depends new file mode 100644 index 0000000..57e569c --- /dev/null +++ b/extra/lpeg/depends @@ -0,0 +1 @@ +lua make diff --git a/extra/lpeg/patches/build-static-lib.patch b/extra/lpeg/patches/build-static-lib.patch new file mode 100644 index 0000000..bdf2566 --- /dev/null +++ b/extra/lpeg/patches/build-static-lib.patch @@ -0,0 +1,29 @@ +--- a/makefile ++++ b/makefile +@@ -24,12 +24,15 @@ + + CFLAGS = $(CWARNS) $(COPT) -std=c99 -I$(LUADIR) -fPIC + CC = gcc ++AR = ar ++RANLIB = ranlib + + FILES = lpvm.o lpcap.o lptree.o lpcode.o lpprint.o + + # For Linux + linux: + $(MAKE) lpeg.so "DLLFLAGS = -shared -fPIC" ++ $(MAKE) lpeg.a + + # For Mac OS + macosx: +@@ -37,6 +40,10 @@ + + lpeg.so: $(FILES) + env $(CC) $(DLLFLAGS) $(FILES) -o lpeg.so ++ ++lpeg.a: $(FILES) ++ env $(AR) rc lpeg.a $(FILES) ++ env $(RANLIB) lpeg.a + + $(FILES): makefile + diff --git a/extra/lpeg/sources b/extra/lpeg/sources new file mode 100644 index 0000000..2fbd2f4 --- /dev/null +++ b/extra/lpeg/sources @@ -0,0 +1,2 @@ +http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz +patches/build-static-lib.patch diff --git a/extra/lpeg/version b/extra/lpeg/version new file mode 100644 index 0000000..a58bd8b --- /dev/null +++ b/extra/lpeg/version @@ -0,0 +1 @@ +1.0.2 1 diff --git a/core/lua/build b/extra/lua/build similarity index 100% rename from core/lua/build rename to extra/lua/build diff --git a/core/lua/checksums b/extra/lua/checksums similarity index 100% rename from core/lua/checksums rename to extra/lua/checksums diff --git a/core/lua/files/lua.pc b/extra/lua/files/lua.pc similarity index 100% rename from core/lua/files/lua.pc rename to extra/lua/files/lua.pc diff --git a/core/lua/sources b/extra/lua/sources similarity index 100% rename from core/lua/sources rename to extra/lua/sources diff --git a/core/lua/version b/extra/lua/version similarity index 100% rename from core/lua/version rename to extra/lua/version diff --git a/wayland/wayland-protocols/build b/extra/lzo/build similarity index 75% rename from wayland/wayland-protocols/build rename to extra/lzo/build index 58479e8..c647b8e 100755 --- a/wayland/wayland-protocols/build +++ b/extra/lzo/build @@ -1,6 +1,6 @@ #!/bin/sh -e ./configure \ - --prefix=/usr + --prefix=/usr make DESTDIR="$1" install diff --git a/extra/lzo/checksums b/extra/lzo/checksums new file mode 100644 index 0000000..08b1f8d --- /dev/null +++ b/extra/lzo/checksums @@ -0,0 +1 @@ +c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072 lzo-2.10.tar.gz diff --git a/extra/lzo/sources b/extra/lzo/sources new file mode 100644 index 0000000..f28e8c5 --- /dev/null +++ b/extra/lzo/sources @@ -0,0 +1 @@ +http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz diff --git a/extra/lzo/version b/extra/lzo/version new file mode 100644 index 0000000..c815e91 --- /dev/null +++ b/extra/lzo/version @@ -0,0 +1 @@ +2.10 1 diff --git a/extra/m4/build b/extra/m4/build new file mode 100755 index 0000000..206a476 --- /dev/null +++ b/extra/m4/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/m4/checksums b/extra/m4/checksums new file mode 100644 index 0000000..e413a19 --- /dev/null +++ b/extra/m4/checksums @@ -0,0 +1 @@ +63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96 diff --git a/extra/m4/sources b/extra/m4/sources new file mode 100644 index 0000000..bde2eff --- /dev/null +++ b/extra/m4/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz diff --git a/extra/m4/version b/extra/m4/version new file mode 100644 index 0000000..b97669c --- /dev/null +++ b/extra/m4/version @@ -0,0 +1 @@ +1.4.19 1 diff --git a/desktop/mesa/build b/extra/mesa/build similarity index 100% rename from desktop/mesa/build rename to extra/mesa/build diff --git a/desktop/mesa/checksums b/extra/mesa/checksums similarity index 100% rename from desktop/mesa/checksums rename to extra/mesa/checksums diff --git a/desktop/mesa/depends b/extra/mesa/depends similarity index 100% rename from desktop/mesa/depends rename to extra/mesa/depends diff --git a/desktop/mesa/sources b/extra/mesa/sources similarity index 100% rename from desktop/mesa/sources rename to extra/mesa/sources diff --git a/extra/mesa/version b/extra/mesa/version new file mode 100644 index 0000000..b115689 --- /dev/null +++ b/extra/mesa/version @@ -0,0 +1 @@ +21.1.4 1 diff --git a/extra/meson/build b/extra/meson/build new file mode 100755 index 0000000..366c544 --- /dev/null +++ b/extra/meson/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +python setup.py build +python setup.py install \ + --root="$1" \ + --optimize=1 \ + --skip-build diff --git a/extra/meson/checksums b/extra/meson/checksums new file mode 100644 index 0000000..953fc60 --- /dev/null +++ b/extra/meson/checksums @@ -0,0 +1 @@ +78e0f553dd3bc632d5f96ab943b1bbccb599c2c84ff27c5fb7f7fff9c8a3f6b4 diff --git a/extra/meson/depends b/extra/meson/depends new file mode 100644 index 0000000..35f0809 --- /dev/null +++ b/extra/meson/depends @@ -0,0 +1,2 @@ +python +samurai diff --git a/extra/meson/sources b/extra/meson/sources new file mode 100644 index 0000000..03d10c5 --- /dev/null +++ b/extra/meson/sources @@ -0,0 +1 @@ +https://github.com/mesonbuild/meson/archive/0.58.1.tar.gz diff --git a/extra/meson/version b/extra/meson/version new file mode 100644 index 0000000..c45a1cb --- /dev/null +++ b/extra/meson/version @@ -0,0 +1 @@ +0.58.1 1 diff --git a/desktop/mini-xdg-utils/build b/extra/mini-xdg-utils/build similarity index 100% rename from desktop/mini-xdg-utils/build rename to extra/mini-xdg-utils/build diff --git a/desktop/mini-xdg-utils/checksums b/extra/mini-xdg-utils/checksums similarity index 100% rename from desktop/mini-xdg-utils/checksums rename to extra/mini-xdg-utils/checksums diff --git a/desktop/mini-xdg-utils/sources b/extra/mini-xdg-utils/sources similarity index 100% rename from desktop/mini-xdg-utils/sources rename to extra/mini-xdg-utils/sources diff --git a/desktop/mini-xdg-utils/version b/extra/mini-xdg-utils/version similarity index 100% rename from desktop/mini-xdg-utils/version rename to extra/mini-xdg-utils/version diff --git a/desktop/motif/build b/extra/motif/build similarity index 100% rename from desktop/motif/build rename to extra/motif/build diff --git a/desktop/motif/checksums b/extra/motif/checksums similarity index 100% rename from desktop/motif/checksums rename to extra/motif/checksums diff --git a/desktop/motif/depends b/extra/motif/depends similarity index 100% rename from desktop/motif/depends rename to extra/motif/depends diff --git a/desktop/motif/sources b/extra/motif/sources similarity index 100% rename from desktop/motif/sources rename to extra/motif/sources diff --git a/desktop/motif/version b/extra/motif/version similarity index 100% rename from desktop/motif/version rename to extra/motif/version diff --git a/desktop/mpv/build b/extra/mpv/build similarity index 100% rename from desktop/mpv/build rename to extra/mpv/build diff --git a/desktop/mpv/checksums b/extra/mpv/checksums similarity index 100% rename from desktop/mpv/checksums rename to extra/mpv/checksums diff --git a/desktop/mpv/depends b/extra/mpv/depends similarity index 100% rename from desktop/mpv/depends rename to extra/mpv/depends diff --git a/desktop/mpv/sources b/extra/mpv/sources similarity index 100% rename from desktop/mpv/sources rename to extra/mpv/sources diff --git a/desktop/mpv/version b/extra/mpv/version similarity index 100% rename from desktop/mpv/version rename to extra/mpv/version diff --git a/extra/mtdev/build b/extra/mtdev/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/mtdev/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/mtdev/checksums b/extra/mtdev/checksums new file mode 100644 index 0000000..784a687 --- /dev/null +++ b/extra/mtdev/checksums @@ -0,0 +1 @@ +15d7b28da8ac71d8bc8c9287c2045fd174267bc740bec10cfda332dc1204e0e0 mtdev-1.1.6.tar.bz2 diff --git a/extra/mtdev/depends b/extra/mtdev/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/extra/mtdev/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/extra/mtdev/sources b/extra/mtdev/sources new file mode 100644 index 0000000..d322c9b --- /dev/null +++ b/extra/mtdev/sources @@ -0,0 +1 @@ +https://bitmath.org/code/mtdev/mtdev-1.1.6.tar.bz2 diff --git a/extra/mtdev/version b/extra/mtdev/version new file mode 100644 index 0000000..e17b92d --- /dev/null +++ b/extra/mtdev/version @@ -0,0 +1 @@ +1.1.6 1 diff --git a/extra/mu/version b/extra/mu/version index 3db8e44..2fa1111 100644 --- a/extra/mu/version +++ b/extra/mu/version @@ -1 +1 @@ -1.4.15 2 +1.4.15 1 diff --git a/extra/mutt/version b/extra/mutt/version deleted file mode 100644 index 628fcde..0000000 --- a/extra/mutt/version +++ /dev/null @@ -1 +0,0 @@ -2.1.0 2 diff --git a/extra/nasm/build b/extra/nasm/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/nasm/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/nasm/checksums b/extra/nasm/checksums new file mode 100644 index 0000000..b3f2c66 --- /dev/null +++ b/extra/nasm/checksums @@ -0,0 +1 @@ +3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f diff --git a/extra/nasm/sources b/extra/nasm/sources new file mode 100644 index 0000000..8f32899 --- /dev/null +++ b/extra/nasm/sources @@ -0,0 +1 @@ +https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz diff --git a/extra/nasm/version b/extra/nasm/version new file mode 100644 index 0000000..97b3c2d --- /dev/null +++ b/extra/nasm/version @@ -0,0 +1 @@ +2.15.05 1 diff --git a/extra/ncdu/build b/extra/ncdu/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/ncdu/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/ncdu/checksums b/extra/ncdu/checksums new file mode 100644 index 0000000..6d64fe7 --- /dev/null +++ b/extra/ncdu/checksums @@ -0,0 +1 @@ +2b915752a183fae014b5e5b1f0a135b4b408de7488c716e325217c2513980fd4 diff --git a/extra/ncdu/depends b/extra/ncdu/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/extra/ncdu/depends @@ -0,0 +1 @@ +ncurses diff --git a/extra/ncdu/sources b/extra/ncdu/sources new file mode 100644 index 0000000..6da91c3 --- /dev/null +++ b/extra/ncdu/sources @@ -0,0 +1 @@ +https://dev.yorhel.nl/download/ncdu-1.16.tar.gz diff --git a/extra/ncdu/version b/extra/ncdu/version new file mode 100644 index 0000000..d1d913e --- /dev/null +++ b/extra/ncdu/version @@ -0,0 +1 @@ +1.16 1 diff --git a/wayland/wayland/build b/extra/nettle/build similarity index 73% rename from wayland/wayland/build rename to extra/nettle/build index e705d0b..32a7795 100755 --- a/wayland/wayland/build +++ b/extra/nettle/build @@ -2,8 +2,9 @@ ./configure \ --prefix=/usr \ + --enable-shared \ --enable-static \ - --disable-dtd-validation \ + --enable-mini-gmp \ --disable-documentation make diff --git a/extra/nettle/checksums b/extra/nettle/checksums new file mode 100644 index 0000000..fc61251 --- /dev/null +++ b/extra/nettle/checksums @@ -0,0 +1 @@ +661f5eb03f048a3b924c3a8ad2515d4068e40f67e774e8a26827658007e3bcf0 diff --git a/extra/nettle/sources b/extra/nettle/sources new file mode 100644 index 0000000..67ee87d --- /dev/null +++ b/extra/nettle/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/nettle/nettle-3.7.3.tar.gz diff --git a/extra/nettle/version b/extra/nettle/version new file mode 100644 index 0000000..3f0b66c --- /dev/null +++ b/extra/nettle/version @@ -0,0 +1 @@ +3.7.3 1 diff --git a/extra/openconnect/depends b/extra/openconnect/depends deleted file mode 100644 index e69de29..0000000 diff --git a/extra/openjpeg/build b/extra/openjpeg/build new file mode 100755 index 0000000..5332ac4 --- /dev/null +++ b/extra/openjpeg/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=Release + +cmake --build build +cmake --install build diff --git a/extra/openjpeg/checksums b/extra/openjpeg/checksums new file mode 100644 index 0000000..0c8061d --- /dev/null +++ b/extra/openjpeg/checksums @@ -0,0 +1 @@ +8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d diff --git a/extra/openjpeg/depends b/extra/openjpeg/depends new file mode 100644 index 0000000..3ac7c53 --- /dev/null +++ b/extra/openjpeg/depends @@ -0,0 +1,5 @@ +cmake make +lcms +libpng +tiff +zlib diff --git a/extra/openjpeg/sources b/extra/openjpeg/sources new file mode 100644 index 0000000..027f57e --- /dev/null +++ b/extra/openjpeg/sources @@ -0,0 +1 @@ +https://github.com/uclouvain/openjpeg/archive/v2.4.0.tar.gz diff --git a/extra/openjpeg/version b/extra/openjpeg/version new file mode 100644 index 0000000..36c97d9 --- /dev/null +++ b/extra/openjpeg/version @@ -0,0 +1 @@ +2.4.0 1 diff --git a/extra/openssh/build b/extra/openssh/build new file mode 100755 index 0000000..988e909 --- /dev/null +++ b/extra/openssh/build @@ -0,0 +1,27 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --datadir=/usr/share/openssh \ + --sysconfdir=/etc/ssh \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/openssh \ + --without-selinux \ + --with-privsep-user=nobody \ + --with-mantype=doc \ + --without-rpath \ + --disable-strip \ + --with-ssl-engine \ + --with-pid-dir=/run \ + --disable-wtmp \ + --disable-utmp + +make +make DESTDIR="$1" install + +install -m 755 contrib/ssh-copy-id "$1/usr/bin/ssh-copy-id" +install -m 644 contrib/ssh-copy-id.1 "$1/usr/share/man/man8/ssh-copy-id.1" + +# Install runit services. +install -Dm 755 sshd.run "$1/etc/sv/sshd/run" +ln -s /run/runit/supervise.sshd "$1/etc/sv/sshd/supervise" diff --git a/extra/openssh/checksums b/extra/openssh/checksums new file mode 100644 index 0000000..a0f1746 --- /dev/null +++ b/extra/openssh/checksums @@ -0,0 +1,2 @@ +c3e6e4da1621762c850d03b47eed1e48dff4cc9608ddeb547202a234df8ed7ae +cd9a79943f8f6c05373bd70afc22a230f3c5e6e6200b9115f598e180dacefb54 diff --git a/extra/openssh/depends b/extra/openssh/depends new file mode 100644 index 0000000..9ee911a --- /dev/null +++ b/extra/openssh/depends @@ -0,0 +1,2 @@ +libressl +zlib diff --git a/extra/openssh/files/sshd.run b/extra/openssh/files/sshd.run new file mode 100644 index 0000000..6645902 --- /dev/null +++ b/extra/openssh/files/sshd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/bin/sshd -D diff --git a/extra/openssh/post-install b/extra/openssh/post-install new file mode 100755 index 0000000..00aabb8 --- /dev/null +++ b/extra/openssh/post-install @@ -0,0 +1,4 @@ +#!/bin/sh + +# Generate host keys if they don't already exist. +ssh-keygen -A >/dev/null 2>&1 diff --git a/extra/openssh/sources b/extra/openssh/sources new file mode 100644 index 0000000..e98b6fe --- /dev/null +++ b/extra/openssh/sources @@ -0,0 +1,2 @@ +https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz +files/sshd.run diff --git a/extra/openssh/version b/extra/openssh/version new file mode 100644 index 0000000..e405c06 --- /dev/null +++ b/extra/openssh/version @@ -0,0 +1 @@ +8.6p1 1 diff --git a/extra/openvpn/build b/extra/openvpn/build new file mode 100755 index 0000000..d7d4abe --- /dev/null +++ b/extra/openvpn/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --enable-iproute2 \ + --enable-pkcs11 \ + --enable-plugins \ + --enable-password-save \ + --enable-x509-alt-username \ + --disable-plugin-auth-pam + +make +make DESTDIR="$1" install diff --git a/extra/openvpn/checksums b/extra/openvpn/checksums new file mode 100644 index 0000000..a909813 --- /dev/null +++ b/extra/openvpn/checksums @@ -0,0 +1 @@ +40930489c837c05f6153f38e1ebaec244431ef1a034e4846ff732d71d59ff194 diff --git a/extra/openvpn/depends b/extra/openvpn/depends new file mode 100644 index 0000000..73cd55c --- /dev/null +++ b/extra/openvpn/depends @@ -0,0 +1,2 @@ +lzo +pkcs11-helper diff --git a/extra/openvpn/sources b/extra/openvpn/sources new file mode 100644 index 0000000..a55a5c9 --- /dev/null +++ b/extra/openvpn/sources @@ -0,0 +1 @@ +https://swupdate.openvpn.org/community/releases/openvpn-2.5.1.tar.xz diff --git a/extra/openvpn/version b/extra/openvpn/version new file mode 100644 index 0000000..9ba16f5 --- /dev/null +++ b/extra/openvpn/version @@ -0,0 +1 @@ +2.5.1 1 diff --git a/extra/opus/build b/extra/opus/build new file mode 100755 index 0000000..23f4676 --- /dev/null +++ b/extra/opus/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-custom-modes \ + --enable-float-approx + +make +make DESTDIR="$1" install diff --git a/extra/opus/checksums b/extra/opus/checksums new file mode 100644 index 0000000..77a9ad9 --- /dev/null +++ b/extra/opus/checksums @@ -0,0 +1 @@ +65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d opus-1.3.1.tar.gz diff --git a/extra/opus/sources b/extra/opus/sources new file mode 100644 index 0000000..d11f072 --- /dev/null +++ b/extra/opus/sources @@ -0,0 +1 @@ +https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz diff --git a/extra/opus/version b/extra/opus/version new file mode 100644 index 0000000..957d07e --- /dev/null +++ b/extra/opus/version @@ -0,0 +1 @@ +1.3.1 1 diff --git a/extra/pandoc/build b/extra/pandoc/build new file mode 100755 index 0000000..4134ce9 --- /dev/null +++ b/extra/pandoc/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +install -Dm755 bin/pandoc "$1/usr/bin/pandoc" +install -Dm644 pandoc.1 "$1/usr/share/man/man1/pandoc.1" diff --git a/extra/pandoc/checksums b/extra/pandoc/checksums new file mode 100644 index 0000000..08191ff --- /dev/null +++ b/extra/pandoc/checksums @@ -0,0 +1,2 @@ +3ed8bf98126fb68fa6ce05861ab866f5100edc38bcf47bc0bb000692453344c0 +faedd90de8fe5eb02b0cfc0f2651e57ff44896d86022d11d4b9e4aae6c6f7352 diff --git a/extra/pandoc/sources b/extra/pandoc/sources new file mode 100644 index 0000000..79de9e2 --- /dev/null +++ b/extra/pandoc/sources @@ -0,0 +1,2 @@ +https://github.com/jgm/pandoc/releases/download/2.14.0.3/pandoc-2.14.0.3-linux-amd64.tar.gz +https://raw.githubusercontent.com/jgm/pandoc/2.14.0.3/man/pandoc.1 diff --git a/extra/pandoc/version b/extra/pandoc/version new file mode 100644 index 0000000..3fd55e4 --- /dev/null +++ b/extra/pandoc/version @@ -0,0 +1 @@ +2.14.0.3 1 diff --git a/extra/pango/build b/extra/pango/build new file mode 100755 index 0000000..1d4cc2e --- /dev/null +++ b/extra/pango/build @@ -0,0 +1,19 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +sed -i "/subdir('tests')/d" meson.build +sed -i "/subdir('examples')/d" meson.build + +# Don't clone subprojects we don't even enable +rm -rf subprojects + +meson \ + --prefix=/usr \ + -Dgtk_doc=false \ + -Dinstall-tests=false \ + -Dintrospection=disabled \ + . build + +ninja -C build +ninja -C build install diff --git a/extra/pango/checksums b/extra/pango/checksums new file mode 100644 index 0000000..9cd7385 --- /dev/null +++ b/extra/pango/checksums @@ -0,0 +1 @@ +8783c82927582437d3a224eb18ea90d195b7451ff2effdffba16039df5346170 diff --git a/extra/pango/depends b/extra/pango/depends new file mode 100644 index 0000000..a826934 --- /dev/null +++ b/extra/pango/depends @@ -0,0 +1,9 @@ +cairo +fontconfig +freetype-harfbuzz +fribidi +glib +libXft +libXrender +meson make +pkgconf make diff --git a/extra/pango/sources b/extra/pango/sources new file mode 100644 index 0000000..7521cf4 --- /dev/null +++ b/extra/pango/sources @@ -0,0 +1 @@ +https://github.com/GNOME/pango/archive/1.48.7.tar.gz diff --git a/extra/pango/version b/extra/pango/version new file mode 100644 index 0000000..3098975 --- /dev/null +++ b/extra/pango/version @@ -0,0 +1 @@ +1.48.7 1 diff --git a/extra/pcre/build b/extra/pcre/build new file mode 100755 index 0000000..9e66a4b --- /dev/null +++ b/extra/pcre/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-utf8 \ + --enable-unicode-properties + +make +make DESTDIR="$1" install diff --git a/extra/pcre/checksums b/extra/pcre/checksums new file mode 100644 index 0000000..9d61417 --- /dev/null +++ b/extra/pcre/checksums @@ -0,0 +1 @@ +aecafd4af3bd0f3935721af77b889d9024b2e01d96b58471bd91a3063fb47728 pcre-8.44.tar.gz diff --git a/extra/pcre/sources b/extra/pcre/sources new file mode 100644 index 0000000..3824807 --- /dev/null +++ b/extra/pcre/sources @@ -0,0 +1 @@ +https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz diff --git a/extra/pcre/version b/extra/pcre/version new file mode 100644 index 0000000..7c59171 --- /dev/null +++ b/extra/pcre/version @@ -0,0 +1 @@ +8.44 1 diff --git a/extra/pkcs11-helper/build b/extra/pkcs11-helper/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/extra/pkcs11-helper/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/extra/pkcs11-helper/checksums b/extra/pkcs11-helper/checksums new file mode 100644 index 0000000..a8e60e7 --- /dev/null +++ b/extra/pkcs11-helper/checksums @@ -0,0 +1 @@ +653730f0c561bbf5941754c0783976113589b2dc64a0661c908dc878bfa4e58b diff --git a/extra/pkcs11-helper/depends b/extra/pkcs11-helper/depends new file mode 100644 index 0000000..2996edd --- /dev/null +++ b/extra/pkcs11-helper/depends @@ -0,0 +1 @@ +lzo diff --git a/extra/pkcs11-helper/sources b/extra/pkcs11-helper/sources new file mode 100644 index 0000000..70f5e65 --- /dev/null +++ b/extra/pkcs11-helper/sources @@ -0,0 +1 @@ +https://github.com/OpenSC/pkcs11-helper/releases/download/pkcs11-helper-1.27/pkcs11-helper-1.27.0.tar.bz2 diff --git a/extra/pkcs11-helper/version b/extra/pkcs11-helper/version new file mode 100644 index 0000000..6a78dc9 --- /dev/null +++ b/extra/pkcs11-helper/version @@ -0,0 +1 @@ +1.27.0 1 diff --git a/extra/poppler/build b/extra/poppler/build new file mode 100755 index 0000000..2c2e2ad --- /dev/null +++ b/extra/poppler/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DENABLE_BOOST=OFF \ + -DENABLE_CPP=ON \ + -DENABLE_QT5=OFF \ + -DWITH_NSS3=OFF + +cmake --build build +cmake --install build diff --git a/extra/poppler/checksums b/extra/poppler/checksums new file mode 100644 index 0000000..d2ba713 --- /dev/null +++ b/extra/poppler/checksums @@ -0,0 +1 @@ +e26ab29f68065de4d6562f0a3e2b5435a83ca92be573b99a1c81998fa286a4d4 diff --git a/extra/poppler/depends b/extra/poppler/depends new file mode 100644 index 0000000..dce5027 --- /dev/null +++ b/extra/poppler/depends @@ -0,0 +1,4 @@ +cmake make +fontconfig +openjpeg +pkgconf make diff --git a/extra/poppler/sources b/extra/poppler/sources new file mode 100644 index 0000000..6d2b854 --- /dev/null +++ b/extra/poppler/sources @@ -0,0 +1 @@ +https://poppler.freedesktop.org/poppler-21.07.0.tar.xz diff --git a/extra/poppler/version b/extra/poppler/version new file mode 100644 index 0000000..683d00a --- /dev/null +++ b/extra/poppler/version @@ -0,0 +1 @@ +21.07.0 1 diff --git a/desktop/qt5/build b/extra/qt5/build similarity index 100% rename from desktop/qt5/build rename to extra/qt5/build diff --git a/desktop/qt5/checksums b/extra/qt5/checksums similarity index 100% rename from desktop/qt5/checksums rename to extra/qt5/checksums diff --git a/desktop/qt5/depends b/extra/qt5/depends similarity index 100% rename from desktop/qt5/depends rename to extra/qt5/depends diff --git a/desktop/qt5/files/qt.conf b/extra/qt5/files/qt.conf similarity index 100% rename from desktop/qt5/files/qt.conf rename to extra/qt5/files/qt.conf diff --git a/desktop/qt5/patches/clang-socklen-match-gcc.patch b/extra/qt5/patches/clang-socklen-match-gcc.patch similarity index 100% rename from desktop/qt5/patches/clang-socklen-match-gcc.patch rename to extra/qt5/patches/clang-socklen-match-gcc.patch diff --git a/desktop/qt5/patches/libressl.patch b/extra/qt5/patches/libressl.patch similarity index 100% rename from desktop/qt5/patches/libressl.patch rename to extra/qt5/patches/libressl.patch diff --git a/desktop/qt5/sources b/extra/qt5/sources similarity index 100% rename from desktop/qt5/sources rename to extra/qt5/sources diff --git a/desktop/qt5/version b/extra/qt5/version similarity index 100% rename from desktop/qt5/version rename to extra/qt5/version diff --git a/extra/ruby/build b/extra/ruby/build new file mode 100755 index 0000000..276e5c2 --- /dev/null +++ b/extra/ruby/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-shared \ + --disable-rpath + +make +make DESTDIR="$1" install diff --git a/extra/ruby/checksums b/extra/ruby/checksums new file mode 100644 index 0000000..8988aee --- /dev/null +++ b/extra/ruby/checksums @@ -0,0 +1 @@ +369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727 diff --git a/extra/ruby/depends b/extra/ruby/depends new file mode 100644 index 0000000..d01671c --- /dev/null +++ b/extra/ruby/depends @@ -0,0 +1,2 @@ +libffi +zlib diff --git a/extra/ruby/sources b/extra/ruby/sources new file mode 100644 index 0000000..09c3345 --- /dev/null +++ b/extra/ruby/sources @@ -0,0 +1 @@ +https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.1.tar.gz diff --git a/extra/ruby/version b/extra/ruby/version new file mode 100644 index 0000000..51545db --- /dev/null +++ b/extra/ruby/version @@ -0,0 +1 @@ +3.0.1 1 diff --git a/wayland/inaban/build b/extra/scdoc/build similarity index 100% rename from wayland/inaban/build rename to extra/scdoc/build diff --git a/extra/scdoc/checksums b/extra/scdoc/checksums new file mode 100644 index 0000000..ff3e998 --- /dev/null +++ b/extra/scdoc/checksums @@ -0,0 +1 @@ +1098a1ed2e087596fc0b3f657c1c8a5e00412267aa4baf3619e36824306645b1 diff --git a/extra/scdoc/sources b/extra/scdoc/sources new file mode 100644 index 0000000..5f2684d --- /dev/null +++ b/extra/scdoc/sources @@ -0,0 +1 @@ +https://git.sr.ht/~sircmpwn/scdoc/archive/1.11.1.tar.gz diff --git a/extra/scdoc/version b/extra/scdoc/version new file mode 100644 index 0000000..2cfc561 --- /dev/null +++ b/extra/scdoc/version @@ -0,0 +1 @@ +1.11.1 1 diff --git a/extra/sfeed/build b/extra/sfeed/build new file mode 100755 index 0000000..b1e46ca --- /dev/null +++ b/extra/sfeed/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +make +make \ + DESTDIR="$1" \ + PREFIX=/usr \ + MANPREFIX=/usr/share/man \ + install diff --git a/extra/sfeed/checksums b/extra/sfeed/checksums new file mode 100644 index 0000000..fd0e88b --- /dev/null +++ b/extra/sfeed/checksums @@ -0,0 +1 @@ +0d45e2fc62c5bc29b6cfe08eb7f2f08b50039ce38b0bdc3028fb85ff63681060 diff --git a/extra/sfeed/depends b/extra/sfeed/depends new file mode 100644 index 0000000..13368f8 --- /dev/null +++ b/extra/sfeed/depends @@ -0,0 +1 @@ +curl diff --git a/extra/sfeed/sources b/extra/sfeed/sources new file mode 100644 index 0000000..4fd5610 --- /dev/null +++ b/extra/sfeed/sources @@ -0,0 +1 @@ +https://codemadness.org/releases/sfeed/sfeed-0.9.24.tar.gz diff --git a/extra/sfeed/version b/extra/sfeed/version new file mode 100644 index 0000000..166aa05 --- /dev/null +++ b/extra/sfeed/version @@ -0,0 +1 @@ +0.9.24 1 diff --git a/extra/sfeed_curses/build b/extra/sfeed_curses/build new file mode 100755 index 0000000..b1e46ca --- /dev/null +++ b/extra/sfeed_curses/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +make +make \ + DESTDIR="$1" \ + PREFIX=/usr \ + MANPREFIX=/usr/share/man \ + install diff --git a/extra/sfeed_curses/checksums b/extra/sfeed_curses/checksums new file mode 100644 index 0000000..c8eb7df --- /dev/null +++ b/extra/sfeed_curses/checksums @@ -0,0 +1 @@ +d08a481c6a4f74cac3e16bda6c5373fe4ce068afa11a09d75b727e07b739d581 diff --git a/extra/sfeed_curses/depends b/extra/sfeed_curses/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/extra/sfeed_curses/depends @@ -0,0 +1 @@ +ncurses diff --git a/extra/sfeed_curses/sources b/extra/sfeed_curses/sources new file mode 100644 index 0000000..d0cb925 --- /dev/null +++ b/extra/sfeed_curses/sources @@ -0,0 +1 @@ +https://codemadness.org/releases/sfeed_curses/sfeed_curses-0.9.12.tar.gz diff --git a/extra/sfeed_curses/version b/extra/sfeed_curses/version new file mode 100644 index 0000000..5e4bc9a --- /dev/null +++ b/extra/sfeed_curses/version @@ -0,0 +1 @@ +0.9.12 1 diff --git a/extra/shellcheck-bin/build b/extra/shellcheck-bin/build new file mode 100755 index 0000000..3a6a468 --- /dev/null +++ b/extra/shellcheck-bin/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +install -Dm755 shellcheck "$1/usr/bin/shellcheck" diff --git a/extra/shellcheck-bin/checksums b/extra/shellcheck-bin/checksums new file mode 100644 index 0000000..ae5e4e8 --- /dev/null +++ b/extra/shellcheck-bin/checksums @@ -0,0 +1 @@ +70423609f27b504d6c0c47e340f33652aea975e45f312324f2dbf91c95a3b188 diff --git a/extra/shellcheck-bin/sources b/extra/shellcheck-bin/sources new file mode 100644 index 0000000..9630ebb --- /dev/null +++ b/extra/shellcheck-bin/sources @@ -0,0 +1 @@ +https://github.com/koalaman/shellcheck/releases/download/v0.7.2/shellcheck-v0.7.2.linux.x86_64.tar.xz diff --git a/extra/shellcheck-bin/version b/extra/shellcheck-bin/version new file mode 100644 index 0000000..e785eb6 --- /dev/null +++ b/extra/shellcheck-bin/version @@ -0,0 +1 @@ +0.7.2 1 diff --git a/desktop/skeous-gtk-theme/build b/extra/skeous-gtk-theme/build similarity index 100% rename from desktop/skeous-gtk-theme/build rename to extra/skeous-gtk-theme/build diff --git a/desktop/skeous-gtk-theme/checksums b/extra/skeous-gtk-theme/checksums similarity index 100% rename from desktop/skeous-gtk-theme/checksums rename to extra/skeous-gtk-theme/checksums diff --git a/desktop/skeous-gtk-theme/sources b/extra/skeous-gtk-theme/sources similarity index 100% rename from desktop/skeous-gtk-theme/sources rename to extra/skeous-gtk-theme/sources diff --git a/desktop/skeous-gtk-theme/version b/extra/skeous-gtk-theme/version similarity index 100% rename from desktop/skeous-gtk-theme/version rename to extra/skeous-gtk-theme/version diff --git a/extra/st/build b/extra/st/build new file mode 100755 index 0000000..f8494cb --- /dev/null +++ b/extra/st/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +sed -i 's|Liberation Mono|Monospace|g' config.def.h + +# Install terminfo to right location. +export TERMINFO=$1/usr/share/terminfo +mkdir -p "$TERMINFO" + +make +make PREFIX=/usr DESTDIR="$1" install diff --git a/extra/st/checksums b/extra/st/checksums new file mode 100644 index 0000000..160e4c3 --- /dev/null +++ b/extra/st/checksums @@ -0,0 +1 @@ +d42d3ceceb4d6a65e32e90a5336e3d446db612c3fbd9ebc1780bc6c9a03346a6 st-0.8.4.tar.gz diff --git a/extra/st/depends b/extra/st/depends new file mode 100644 index 0000000..c1c291f --- /dev/null +++ b/extra/st/depends @@ -0,0 +1,5 @@ +fontconfig +libX11 +libXft +ncurses make +pkgconf make diff --git a/extra/st/sources b/extra/st/sources new file mode 100644 index 0000000..9f758b1 --- /dev/null +++ b/extra/st/sources @@ -0,0 +1 @@ +https://dl.suckless.org/st/st-0.8.4.tar.gz diff --git a/extra/st/version b/extra/st/version new file mode 100644 index 0000000..e8412c2 --- /dev/null +++ b/extra/st/version @@ -0,0 +1 @@ +0.8.4 1 diff --git a/extra/syncthing/version b/extra/syncthing/version index 2f85aff..f0fb559 100644 --- a/extra/syncthing/version +++ b/extra/syncthing/version @@ -1 +1 @@ -1.18.0 2 +1.18.0 1 diff --git a/extra/testdisk/sources b/extra/testdisk/sources index 1745386..d8f3624 100644 --- a/extra/testdisk/sources +++ b/extra/testdisk/sources @@ -1 +1 @@ -https://www.cgsecurity.org/testdisk-7.1.tar.bz2 \ No newline at end of file +https://www.cgsecurity.org/testdisk-7.1.tar.bz2 diff --git a/extra/tiff/build b/extra/tiff/build new file mode 100755 index 0000000..eb4850d --- /dev/null +++ b/extra/tiff/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-cxx \ + --without-x + +make +make DESTDIR="$1" install diff --git a/extra/tiff/checksums b/extra/tiff/checksums new file mode 100644 index 0000000..a7f5914 --- /dev/null +++ b/extra/tiff/checksums @@ -0,0 +1 @@ +0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8 diff --git a/extra/tiff/depends b/extra/tiff/depends new file mode 100644 index 0000000..59e7114 --- /dev/null +++ b/extra/tiff/depends @@ -0,0 +1,3 @@ +libjpeg-turbo +xz +zlib diff --git a/extra/tiff/sources b/extra/tiff/sources new file mode 100644 index 0000000..2863900 --- /dev/null +++ b/extra/tiff/sources @@ -0,0 +1 @@ +https://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz diff --git a/extra/tiff/version b/extra/tiff/version new file mode 100644 index 0000000..1fa6c9a --- /dev/null +++ b/extra/tiff/version @@ -0,0 +1 @@ +4.3.0 1 diff --git a/extra/tlp/version b/extra/tlp/version index f750a80..957d07e 100644 --- a/extra/tlp/version +++ b/extra/tlp/version @@ -1 +1 @@ -1.3.1 2 +1.3.1 1 diff --git a/core/vis/build b/extra/vis/build similarity index 100% rename from core/vis/build rename to extra/vis/build diff --git a/extra/vis/checksums b/extra/vis/checksums new file mode 100644 index 0000000..c7bd81e --- /dev/null +++ b/extra/vis/checksums @@ -0,0 +1,2 @@ +359ebb12a986b2f4e2a945567ad7587eb7d354301a5050ce10d51544570635eb +f76924f0be2a01af179f64dc4328ce7c794023f329a4e093a6d4639127d627db diff --git a/core/vis/depends b/extra/vis/depends similarity index 100% rename from core/vis/depends rename to extra/vis/depends diff --git a/extra/vis/patches/soft-wrap.patch b/extra/vis/patches/soft-wrap.patch new file mode 100644 index 0000000..9d9c04b --- /dev/null +++ b/extra/vis/patches/soft-wrap.patch @@ -0,0 +1,632 @@ +From cc3a7e5566f7a33deeed5cbdcb9057e585c91dde Mon Sep 17 00:00:00 2001 +From: Andrey Proskurin <> +Date: Sun, 9 May 2021 00:34:16 +0000 +Subject: [PATCH 1/5] view: refactor view_addch + +--- + view.c | 158 ++++++++++++++++++++++++++++----------------------------- + 1 file changed, 79 insertions(+), 79 deletions(-) + +diff --git a/view.c b/view.c +index 74967dc6..b10deb92 100644 +--- a/view.c ++++ b/view.c +@@ -164,98 +164,98 @@ Filerange view_viewport_get(View *view) { + return (Filerange){ .start = view->start, .end = view->end }; + } + ++static bool view_add_cell(View *view, const Cell *cell) { ++ size_t lineno = view->line->lineno; ++ ++ if (view->col + cell->width > view->width) { ++ for (int i = view->col; i < view->width; i++) ++ view->line->cells[i] = view->cell_blank; ++ view->line = view->line->next; ++ view->col = 0; ++ } ++ ++ if (!view->line) ++ return false; ++ ++ view->line->width += cell->width; ++ view->line->len += cell->len; ++ view->line->lineno = lineno; ++ view->line->cells[view->col] = *cell; ++ view->col++; ++ /* set cells of a character which uses multiple columns */ ++ for (int i = 1; i < cell->width; i++) ++ view->line->cells[view->col++] = cell_unused; ++ return true; ++} ++ ++static bool view_expand_tab(View *view, Cell *cell) { ++ cell->width = 1; ++ ++ int displayed_width = view->tabwidth - (view->col % view->tabwidth); ++ for (int w = 0; w < displayed_width; ++w) { ++ ++ int t = (w == 0) ? SYNTAX_SYMBOL_TAB : SYNTAX_SYMBOL_TAB_FILL; ++ const char *symbol = view->symbols[t]->symbol; ++ strncpy(cell->data, symbol, sizeof(cell->data) - 1); ++ cell->len = (w == 0) ? 1 : 0; ++ ++ if (!view_add_cell(view, cell)) ++ return false; ++ } ++ ++ cell->len = 1; ++ return true; ++} ++ ++static bool view_expand_newline(View *view, Cell *cell) { ++ const char *symbol = view->symbols[SYNTAX_SYMBOL_EOL]->symbol; ++ strncpy(cell->data, symbol, sizeof(cell->data) - 1); ++ cell->width = 1; ++ ++ if (!view_add_cell(view, cell)) ++ return false; ++ ++ for (int i = view->col; i < view->width; ++i) ++ view->line->cells[i] = view->cell_blank; ++ ++ size_t lineno = view->line->lineno; ++ view->line = view->line->next; ++ view->col = 0; ++ if (view->line) ++ view->line->lineno = lineno + 1; ++ ++ return true; ++} ++ + /* try to add another character to the view, return whether there was space left */ + static bool view_addch(View *view, Cell *cell) { + if (!view->line) + return false; + +- int width; +- size_t lineno = view->line->lineno; + unsigned char ch = (unsigned char)cell->data[0]; + cell->style = view->cell_blank.style; + + switch (ch) { + case '\t': +- cell->width = 1; +- width = view->tabwidth - (view->col % view->tabwidth); +- for (int w = 0; w < width; w++) { +- if (view->col + 1 > view->width) { +- view->line = view->line->next; +- view->col = 0; +- if (!view->line) +- return false; +- view->line->lineno = lineno; +- } +- +- cell->len = w == 0 ? 1 : 0; +- int t = w == 0 ? SYNTAX_SYMBOL_TAB : SYNTAX_SYMBOL_TAB_FILL; +- strncpy(cell->data, view->symbols[t]->symbol, sizeof(cell->data)-1); +- view->line->cells[view->col] = *cell; +- view->line->len += cell->len; +- view->line->width += cell->width; +- view->col++; +- } +- cell->len = 1; +- return true; ++ return view_expand_tab(view, cell); + case '\n': +- cell->width = 1; +- if (view->col + cell->width > view->width) { +- view->line = view->line->next; +- view->col = 0; +- if (!view->line) +- return false; +- view->line->lineno = lineno; +- } +- +- strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_EOL]->symbol, sizeof(cell->data)-1); +- +- view->line->cells[view->col] = *cell; +- view->line->len += cell->len; +- view->line->width += cell->width; +- for (int i = view->col + 1; i < view->width; i++) +- view->line->cells[i] = view->cell_blank; +- +- view->line = view->line->next; +- if (view->line) +- view->line->lineno = lineno + 1; +- view->col = 0; +- return true; +- default: +- if (ch < 128 && !isprint(ch)) { +- /* non-printable ascii char, represent it as ^(char + 64) */ +- *cell = (Cell) { +- .data = { '^', ch == 127 ? '?' : ch + 64, '\0' }, +- .len = 1, +- .width = 2, +- .style = cell->style, +- }; +- } +- +- if (ch == ' ') { +- strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_SPACE]->symbol, sizeof(cell->data)-1); +- +- } +- +- if (view->col + cell->width > view->width) { +- for (int i = view->col; i < view->width; i++) +- view->line->cells[i] = view->cell_blank; +- view->line = view->line->next; +- view->col = 0; +- } ++ return view_expand_newline(view, cell); ++ case ' ': ++ const char *symbol = view->symbols[SYNTAX_SYMBOL_SPACE]->symbol; ++ strncpy(cell->data, symbol, sizeof(cell->data) - 1); ++ return view_add_cell(view, cell); ++ } + +- if (view->line) { +- view->line->width += cell->width; +- view->line->len += cell->len; +- view->line->lineno = lineno; +- view->line->cells[view->col] = *cell; +- view->col++; +- /* set cells of a character which uses multiple columns */ +- for (int i = 1; i < cell->width; i++) +- view->line->cells[view->col++] = cell_unused; +- return true; +- } +- return false; ++ if (ch < 128 && !isprint(ch)) { ++ /* non-printable ascii char, represent it as ^(char + 64) */ ++ *cell = (Cell) { ++ .data = { '^', ch == 127 ? '?' : ch + 64, '\0' }, ++ .len = 1, ++ .width = 2, ++ .style = cell->style, ++ }; + } ++ return view_add_cell(view, cell); + } + + static void cursor_to(Selection *s, size_t pos) { + +From 50e75ddf8a73feab300d7789d000f9687a509f18 Mon Sep 17 00:00:00 2001 +From: Andrey Proskurin <> +Date: Sun, 9 May 2021 18:17:20 +0000 +Subject: [PATCH 2/5] view.c: add word wrapping + +--- + view.c | 61 +++++++++++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 45 insertions(+), 16 deletions(-) + +diff --git a/view.c b/view.c +index b10deb92..e7ca8141 100644 +--- a/view.c ++++ b/view.c +@@ -80,6 +80,10 @@ struct View { + bool need_update; /* whether view has been redrawn */ + bool large_file; /* optimize for displaying large files */ + int colorcolumn; ++ // TODO lua option: breakat / brk ++ const char *breakat; /* characters which might cause a word wrap */ ++ int wrapcol; /* used while drawing view content, column where word wrap might happen */ ++ bool prevch_breakat; /* used while drawing view content, previous char is part of breakat */ + }; + + static const SyntaxSymbol symbols_none[] = { +@@ -109,6 +113,7 @@ static bool view_viewport_up(View *view, int n); + static bool view_viewport_down(View *view, int n); + + static void view_clear(View *view); ++static bool view_add_cell(View *view, const Cell *cell); + static bool view_addch(View *view, Cell *cell); + static void selection_free(Selection*); + /* set/move current cursor position to a given (line, column) pair */ +@@ -156,6 +161,8 @@ static void view_clear(View *view) { + view->bottomline->next = NULL; + view->line = view->topline; + view->col = 0; ++ view->wrapcol = 0; ++ view->prevch_breakat = false; + if (view->ui) + view->cell_blank.style = view->ui->style_get(view->ui, UI_STYLE_DEFAULT); + } +@@ -164,19 +171,37 @@ Filerange view_viewport_get(View *view) { + return (Filerange){ .start = view->start, .end = view->end }; + } + ++static void view_wrap_line(View *view) { ++ Line *cur_line = view->line; ++ int cur_col = view->col; ++ int wrapcol = (view->wrapcol > 0) ? view->wrapcol : cur_col; ++ ++ view->line = cur_line->next; ++ view->col = 0; ++ view->wrapcol = 0; ++ if (view->line) { ++ /* move extra cells to the next line */ ++ for (int i = wrapcol; i < cur_col; ++i) { ++ const Cell *cell = &cur_line->cells[i]; ++ view_add_cell(view, cell); ++ cur_line->width -= cell->width; ++ cur_line->len -= cell->len; ++ } ++ } ++ for (int i = wrapcol; i < view->width; ++i) { ++ /* clear remaining of line */ ++ cur_line->cells[i] = view->cell_blank; ++ } ++} ++ + static bool view_add_cell(View *view, const Cell *cell) { + size_t lineno = view->line->lineno; + +- if (view->col + cell->width > view->width) { +- for (int i = view->col; i < view->width; i++) +- view->line->cells[i] = view->cell_blank; +- view->line = view->line->next; +- view->col = 0; +- } ++ if (view->col + cell->width > view->width) ++ view_wrap_line(view); + + if (!view->line) + return false; +- + view->line->width += cell->width; + view->line->len += cell->len; + view->line->lineno = lineno; +@@ -208,22 +233,18 @@ static bool view_expand_tab(View *view, Cell *cell) { + } + + static bool view_expand_newline(View *view, Cell *cell) { ++ size_t lineno = view->line->lineno; + const char *symbol = view->symbols[SYNTAX_SYMBOL_EOL]->symbol; ++ + strncpy(cell->data, symbol, sizeof(cell->data) - 1); + cell->width = 1; +- + if (!view_add_cell(view, cell)) + return false; + +- for (int i = view->col; i < view->width; ++i) +- view->line->cells[i] = view->cell_blank; +- +- size_t lineno = view->line->lineno; +- view->line = view->line->next; +- view->col = 0; ++ view->wrapcol = 0; ++ view_wrap_line(view); + if (view->line) + view->line->lineno = lineno + 1; +- + return true; + } + +@@ -233,8 +254,14 @@ static bool view_addch(View *view, Cell *cell) { + return false; + + unsigned char ch = (unsigned char)cell->data[0]; ++ bool ch_breakat = strchr(view->breakat, ch); ++ if (view->prevch_breakat && !ch_breakat) { ++ /* this is a good place to wrap line if needed */ ++ view->wrapcol = view->col; ++ } ++ view->prevch_breakat = ch_breakat; + cell->style = view->cell_blank.style; +- ++ + switch (ch) { + case '\t': + return view_expand_tab(view, cell); +@@ -519,6 +546,8 @@ View *view_new(Text *text) { + .data = " ", + }; + view->tabwidth = 8; ++ // TODO default value ++ view->breakat = ""; + view_options_set(view, 0); + + if (!view_resize(view, 1, 1)) { + +From b50672e3233e5e2d2a537d697082806a5012d6ac Mon Sep 17 00:00:00 2001 +From: Andrey Proskurin <> +Date: Sun, 9 May 2021 21:56:36 +0000 +Subject: [PATCH 3/5] add `wrapcolumn / wc` and `breakat / brk` options + +--- + man/vis.1 | 5 +++++ + sam.c | 12 ++++++++++++ + view.c | 29 +++++++++++++++++++++++------ + view.h | 2 ++ + vis-cmds.c | 6 ++++++ + 5 files changed, 48 insertions(+), 6 deletions(-) + +diff --git a/man/vis.1 b/man/vis.1 +index 05433663..2f6b4754 100644 +--- a/man/vis.1 ++++ b/man/vis.1 +@@ -1423,6 +1423,11 @@ WARNING: modifying a memory mapped file in-place will cause data loss. + Whether to use vertical or horizontal layout. + .It Cm ignorecase , Cm ic Op Cm off + Whether to ignore case when searching. ++.It Ic wrapcolumn , Ic wc Op Ar 0 ++Wrap lines at minimum of window width and wrapcolumn. ++. ++.It Ic breakat , brk Op Dq Pa "" ++Characters which might cause a word wrap. + .El + . + .Sh COMMAND and SEARCH PROMPT +diff --git a/sam.c b/sam.c +index 29e9c583..d7540e07 100644 +--- a/sam.c ++++ b/sam.c +@@ -301,6 +301,8 @@ enum { + OPTION_CHANGE_256COLORS, + OPTION_LAYOUT, + OPTION_IGNORECASE, ++ OPTION_BREAKAT, ++ OPTION_WRAP_COLUMN, + }; + + static const OptionDef options[] = { +@@ -394,6 +396,16 @@ static const OptionDef options[] = { + VIS_OPTION_TYPE_BOOL, + VIS_HELP("Ignore case when searching") + }, ++ [OPTION_BREAKAT] = { ++ { "breakat", "brk" }, ++ VIS_OPTION_TYPE_STRING|VIS_OPTION_NEED_WINDOW, ++ VIS_HELP("Characters which might cause a word wrap") ++ }, ++ [OPTION_WRAP_COLUMN] = { ++ { "wrapcolumn", "wc" }, ++ VIS_OPTION_TYPE_NUMBER|VIS_OPTION_NEED_WINDOW, ++ VIS_HELP("Wrap lines at minimum of window width and wrapcolumn") ++ }, + }; + + bool sam_init(Vis *vis) { +diff --git a/view.c b/view.c +index e7ca8141..79fc7bc1 100644 +--- a/view.c ++++ b/view.c +@@ -80,9 +80,9 @@ struct View { + bool need_update; /* whether view has been redrawn */ + bool large_file; /* optimize for displaying large files */ + int colorcolumn; +- // TODO lua option: breakat / brk +- const char *breakat; /* characters which might cause a word wrap */ +- int wrapcol; /* used while drawing view content, column where word wrap might happen */ ++ char *breakat; /* characters which might cause a word wrap */ ++ int wrapcolumn; /* wrap lines at minimum of window width and wrapcolumn (if != 0) */ ++ int wrapcol; /* used while drawing view content, column where word wrap might happen */ + bool prevch_breakat; /* used while drawing view content, previous char is part of breakat */ + }; + +@@ -171,6 +171,12 @@ Filerange view_viewport_get(View *view) { + return (Filerange){ .start = view->start, .end = view->end }; + } + ++static int view_max_text_width(const View *view) { ++ if (view->wrapcolumn > 0) ++ return MIN(view->wrapcolumn, view->width); ++ return view->width; ++} ++ + static void view_wrap_line(View *view) { + Line *cur_line = view->line; + int cur_col = view->col; +@@ -197,7 +203,7 @@ static void view_wrap_line(View *view) { + static bool view_add_cell(View *view, const Cell *cell) { + size_t lineno = view->line->lineno; + +- if (view->col + cell->width > view->width) ++ if (view->col + cell->width > view_max_text_width(view)) + view_wrap_line(view); + + if (!view->line) +@@ -519,6 +525,7 @@ void view_free(View *view) { + selection_free(view->selections); + free(view->textbuf); + free(view->lines); ++ free(view->breakat); + free(view); + } + +@@ -546,8 +553,8 @@ View *view_new(Text *text) { + .data = " ", + }; + view->tabwidth = 8; +- // TODO default value +- view->breakat = ""; ++ view->breakat = strdup(""); ++ view->wrapcolumn = 0; + view_options_set(view, 0); + + if (!view_resize(view, 1, 1)) { +@@ -891,6 +898,16 @@ int view_colorcolumn_get(View *view) { + return view->colorcolumn; + } + ++void view_wrapcolumn_set(View *view, int col) { ++ if (col >= 0) ++ view->wrapcolumn = col; ++} ++ ++void view_breakat_set(View *view, const char *breakat) { ++ free(view->breakat); ++ view->breakat = strdup(breakat); ++} ++ + size_t view_screenline_goto(View *view, int n) { + size_t pos = view->start; + for (Line *line = view->topline; --n > 0 && line != view->lastline; line = line->next) +diff --git a/view.h b/view.h +index 31b044b8..65bcb29d 100644 +--- a/view.h ++++ b/view.h +@@ -358,6 +358,8 @@ void view_options_set(View*, enum UiOption options); + enum UiOption view_options_get(View*); + void view_colorcolumn_set(View*, int col); + int view_colorcolumn_get(View*); ++void view_wrapcolumn_set(View*, int col); ++void view_breakat_set(View*, const char *breakat); + + /** Set how many spaces are used to display a tab `\t` character. */ + void view_tabwidth_set(View*, int tabwidth); +diff --git a/vis-cmds.c b/vis-cmds.c +index f5221d14..e2bff70d 100644 +--- a/vis-cmds.c ++++ b/vis-cmds.c +@@ -364,6 +364,12 @@ static bool cmd_set(Vis *vis, Win *win, Command *cmd, const char *argv[], Select + case OPTION_IGNORECASE: + vis->ignorecase = toggle ? !vis->ignorecase : arg.b; + break; ++ case OPTION_BREAKAT: ++ view_breakat_set(win->view, arg.s); ++ break; ++ case OPTION_WRAP_COLUMN: ++ view_wrapcolumn_set(win->view, arg.i); ++ break; + default: + if (!opt->func) + return false; + +From ee36292c44370678f261ea843c3ebcf02fa19156 Mon Sep 17 00:00:00 2001 +From: Andrey Proskurin <> +Date: Fri, 14 May 2021 16:44:44 +0000 +Subject: [PATCH 4/5] view.c: check return value of strdup + +--- + view.c | 32 +++++++++++++++++--------------- + view.h | 2 +- + vis-cmds.c | 5 ++++- + 3 files changed, 22 insertions(+), 17 deletions(-) + +diff --git a/view.c b/view.c +index 79fc7bc1..f1864e8b 100644 +--- a/view.c ++++ b/view.c +@@ -273,11 +273,11 @@ static bool view_addch(View *view, Cell *cell) { + return view_expand_tab(view, cell); + case '\n': + return view_expand_newline(view, cell); +- case ' ': ++ case ' ': { + const char *symbol = view->symbols[SYNTAX_SYMBOL_SPACE]->symbol; + strncpy(cell->data, symbol, sizeof(cell->data) - 1); + return view_add_cell(view, cell); +- } ++ }} + + if (ch < 128 && !isprint(ch)) { + /* non-printable ascii char, represent it as ^(char + 64) */ +@@ -541,29 +541,27 @@ View *view_new(Text *text) { + View *view = calloc(1, sizeof(View)); + if (!view) + return NULL; +- view->text = text; +- if (!view_selections_new(view, 0)) { +- view_free(view); +- return NULL; +- } + ++ view->text = text; ++ view->tabwidth = 8; ++ view->breakat = strdup(""); ++ view->wrapcolumn = 0; + view->cell_blank = (Cell) { + .width = 0, + .len = 0, + .data = " ", + }; +- view->tabwidth = 8; +- view->breakat = strdup(""); +- view->wrapcolumn = 0; + view_options_set(view, 0); + +- if (!view_resize(view, 1, 1)) { ++ if (!view->breakat || ++ !view_selections_new(view, 0) || ++ !view_resize(view, 1, 1)) ++ { + view_free(view); + return NULL; + } +- ++ + view_cursor_to(view, 0); +- + return view; + } + +@@ -903,9 +901,13 @@ void view_wrapcolumn_set(View *view, int col) { + view->wrapcolumn = col; + } + +-void view_breakat_set(View *view, const char *breakat) { ++bool view_breakat_set(View *view, const char *breakat) { ++ char *copy = strdup(breakat); ++ if (!copy) ++ return false; + free(view->breakat); +- view->breakat = strdup(breakat); ++ view->breakat = copy; ++ return true; + } + + size_t view_screenline_goto(View *view, int n) { +diff --git a/view.h b/view.h +index 65bcb29d..dadecb48 100644 +--- a/view.h ++++ b/view.h +@@ -359,7 +359,7 @@ enum UiOption view_options_get(View*); + void view_colorcolumn_set(View*, int col); + int view_colorcolumn_get(View*); + void view_wrapcolumn_set(View*, int col); +-void view_breakat_set(View*, const char *breakat); ++bool view_breakat_set(View*, const char *breakat); + + /** Set how many spaces are used to display a tab `\t` character. */ + void view_tabwidth_set(View*, int tabwidth); +diff --git a/vis-cmds.c b/vis-cmds.c +index e2bff70d..d3b5f89a 100644 +--- a/vis-cmds.c ++++ b/vis-cmds.c +@@ -365,7 +365,10 @@ static bool cmd_set(Vis *vis, Win *win, Command *cmd, const char *argv[], Select + vis->ignorecase = toggle ? !vis->ignorecase : arg.b; + break; + case OPTION_BREAKAT: +- view_breakat_set(win->view, arg.s); ++ if (!view_breakat_set(win->view, arg.s)) { ++ vis_info_show(vis, "Failed to set breakat"); ++ return false; ++ } + break; + case OPTION_WRAP_COLUMN: + view_wrapcolumn_set(win->view, arg.i); + +From f698e53e4772497c41a12288339e3841dbca9680 Mon Sep 17 00:00:00 2001 +From: Andrey Proskurin +Date: Fri, 14 May 2021 18:46:20 +0000 +Subject: [PATCH 5/5] view.c: add utf-8 support to `breakat` + +--- + view.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/view.c b/view.c +index f1864e8b..a399dd02 100644 +--- a/view.c ++++ b/view.c +@@ -260,7 +260,7 @@ static bool view_addch(View *view, Cell *cell) { + return false; + + unsigned char ch = (unsigned char)cell->data[0]; +- bool ch_breakat = strchr(view->breakat, ch); ++ bool ch_breakat = strstr(view->breakat, cell->data); + if (view->prevch_breakat && !ch_breakat) { + /* this is a good place to wrap line if needed */ + view->wrapcol = view->col; diff --git a/extra/vis/sources b/extra/vis/sources new file mode 100644 index 0000000..63cb838 --- /dev/null +++ b/extra/vis/sources @@ -0,0 +1,2 @@ +https://github.com/martanne/vis/releases/download/v0.7/vis-0.7.tar.gz +patches/soft-wrap.patch diff --git a/extra/vis/version b/extra/vis/version new file mode 100644 index 0000000..a754260 --- /dev/null +++ b/extra/vis/version @@ -0,0 +1 @@ +0.7 1 diff --git a/desktop/webkit2gtk/build b/extra/webkitgtk/build similarity index 100% rename from desktop/webkit2gtk/build rename to extra/webkitgtk/build diff --git a/desktop/webkit2gtk/checksums b/extra/webkitgtk/checksums similarity index 100% rename from desktop/webkit2gtk/checksums rename to extra/webkitgtk/checksums diff --git a/desktop/webkit2gtk/depends b/extra/webkitgtk/depends similarity index 93% rename from desktop/webkit2gtk/depends rename to extra/webkitgtk/depends index 5b17708..411b535 100644 --- a/desktop/webkit2gtk/depends +++ b/extra/webkitgtk/depends @@ -10,7 +10,7 @@ libsoup libwebp libxslt mesa -openjpeg2 +openjpeg perl make python make ruby make diff --git a/desktop/webkit2gtk/sources b/extra/webkitgtk/sources similarity index 100% rename from desktop/webkit2gtk/sources rename to extra/webkitgtk/sources diff --git a/desktop/webkit2gtk/version b/extra/webkitgtk/version similarity index 100% rename from desktop/webkit2gtk/version rename to extra/webkitgtk/version diff --git a/extra/wpa_supplicant/build b/extra/wpa_supplicant/build new file mode 100755 index 0000000..8860314 --- /dev/null +++ b/extra/wpa_supplicant/build @@ -0,0 +1,19 @@ +#!/bin/sh -e + +# The wpa_supplicant package is built statically using +# libnl-tiny which is a minimal version of libnl maintained +# by OpenWRT. +make CC="${CC:-cc}" ALL_LIBS=libnl-tiny.a -C libnl + +# The CFLAGS must be set to link to the above locally built +# libnl-tiny library. +export CFLAGS="$CFLAGS -I$PWD/libnl/include -L$PWD/libnl -lnl-tiny" +export CFLAGS="$CFLAGS -static -D_GNU_SOURCE -DLIBNL1_COMPAT" + +cd wpa_supplicant + +make LIBDIR=/usr/lib BINDIR=/usr/bin DRV_LIBS="$CFLAGS" CC="${CC:-cc}" +make LIBDIR=/usr/lib BINDIR=/usr/bin DESTDIR="$1" install + +install -Dm644 -t "$1/usr/share/man/man8" doc/docbook/*.8 +install -Dm644 -t "$1/usr/share/man/man5" doc/docbook/*.5 diff --git a/extra/wpa_supplicant/checksums b/extra/wpa_supplicant/checksums new file mode 100644 index 0000000..06ed6d3 --- /dev/null +++ b/extra/wpa_supplicant/checksums @@ -0,0 +1,3 @@ +fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17 wpa_supplicant-2.9.tar.gz +d2b57597b234c84b113e7640064c3273616c0bf086ad223d71f49aaea086ad59 4225e93bec5304abee3386213213718367e54a93.tar.gz +ea81361a44cede64fb42309e783f26ca1d0a4f6677a21550aad925b25405eeb0 .config diff --git a/extra/wpa_supplicant/depends b/extra/wpa_supplicant/depends new file mode 100644 index 0000000..86dfce4 --- /dev/null +++ b/extra/wpa_supplicant/depends @@ -0,0 +1,2 @@ +libressl +linux-headers make diff --git a/extra/wpa_supplicant/files/.config b/extra/wpa_supplicant/files/.config new file mode 100644 index 0000000..97808b5 --- /dev/null +++ b/extra/wpa_supplicant/files/.config @@ -0,0 +1,551 @@ +# Example wpa_supplicant 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 cases, these lines should use += in order not +# to override previous values of the variables. + + +# Uncomment following two lines and fix the paths if you have installed OpenSSL +# or GnuTLS in non-default location +#CFLAGS += -I/usr/local/openssl/include +#LIBS += -L/usr/local/openssl/lib + +# Some Red Hat versions seem to include kerberos header files from OpenSSL, but +# the kerberos files are not in the default include path. Following line can be +# used to fix build issues on such systems (krb5.h not found). +#CFLAGS += -I/usr/include/kerberos + +# Driver interface for generic Linux wireless extensions +# Note: WEXT is deprecated in the current Linux kernel version and no new +# functionality is added to it. nl80211-based interface is the new +# replacement for WEXT and its use allows wpa_supplicant to properly control +# the driver to improve existing functionality like roaming and to support new +# functionality. +CONFIG_DRIVER_WEXT=y + +# Driver interface for Linux 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$ +#LIBS += -L$ + +# Use libnl v2.0 (or 3.0) libraries. +CONFIG_LIBNL20=y +CONFIG_LIBNL_TINY=y + +# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored) +#CONFIG_LIBNL32 is not set + + +# 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 Windows NDIS +#CONFIG_DRIVER_NDIS=y +#CFLAGS += -I/usr/include/w32api/ddk +#LIBS += -L/usr/local/lib +# For native build using mingw +#CONFIG_NATIVE_WINDOWS=y +# Additional directories for cross-compilation on Linux host for mingw target +#CFLAGS += -I/opt/mingw/mingw32/include/ddk +#LIBS += -L/opt/mingw/mingw32/lib +#CC=mingw32-gcc +# By default, driver_ndis uses WinPcap for low-level operations. This can be +# replaced with the following option which replaces WinPcap calls with NDISUIO. +# However, this requires that WZC is disabled (net stop wzcsvc) before starting +# wpa_supplicant. +# CONFIG_USE_NDISUIO=y + +# Driver interface for wired Ethernet drivers +CONFIG_DRIVER_WIRED=y + +# Driver interface for the Broadcom RoboSwitch family +#CONFIG_DRIVER_ROBOSWITCH=y + +# Driver interface for no driver (e.g., WPS ER only) +#CONFIG_DRIVER_NONE=y + +# Solaris libraries +#LIBS += -lsocket -ldlpi -lnsl +#LIBS_c += -lsocket + +# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is +# included) +CONFIG_IEEE8021X_EAPOL=y + +# EAP-MD5 +CONFIG_EAP_MD5=y + +# EAP-MSCHAPv2 +CONFIG_EAP_MSCHAPV2=y + +# EAP-TLS +CONFIG_EAP_TLS=y + +# EAL-PEAP +CONFIG_EAP_PEAP=y + +# EAP-TTLS +CONFIG_EAP_TTLS=y + +# EAP-FAST +# Note: If OpenSSL is used as the TLS library, OpenSSL 1.0 or newer is needed +# for EAP-FAST support. Older OpenSSL releases would need to be patched, e.g., +# with openssl-0.9.8x-tls-extensions.patch, to add the needed functions. +#CONFIG_EAP_FAST=y + +# EAP-GTC +CONFIG_EAP_GTC=y + +# EAP-OTP +CONFIG_EAP_OTP=y + +# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used) +#CONFIG_EAP_SIM=y + +# EAP-PSK (experimental; this is _not_ needed for WPA-PSK) +#CONFIG_EAP_PSK=y + +# EAP-pwd (secure authentication using only a password) +CONFIG_EAP_PWD=y + +# EAP-PAX +#CONFIG_EAP_PAX=y + +# LEAP +CONFIG_EAP_LEAP=y + +# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used) +#CONFIG_EAP_AKA=y + +# EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used). +# This requires CONFIG_EAP_AKA to be enabled, too. +#CONFIG_EAP_AKA_PRIME=y + +# Enable USIM simulator (Milenage) for EAP-AKA +#CONFIG_USIM_SIMULATOR=y + +# EAP-SAKE +#CONFIG_EAP_SAKE=y + +# EAP-GPSK +#CONFIG_EAP_GPSK=y +# Include support for optional SHA256 cipher suite in EAP-GPSK +#CONFIG_EAP_GPSK_SHA256=y + +# EAP-TNC and related Trusted Network Connect support (experimental) +#CONFIG_EAP_TNC=y + +# Wi-Fi Protected Setup (WPS) +CONFIG_WPS=y +# Enable WPS external registrar functionality +#CONFIG_WPS_ER=y +# Disable credentials for an open network by default when acting as a WPS +# registrar. +#CONFIG_WPS_REG_DISABLE_OPEN=y +# Enable WPS support with NFC config method +#CONFIG_WPS_NFC=y + +# EAP-IKEv2 +#CONFIG_EAP_IKEV2=y + +# EAP-EKE +#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 + +# Smartcard support (i.e., private key on a smartcard), e.g., with openssl +# engine. +CONFIG_SMARTCARD=y + +# PC/SC interface for smartcards (USIM, GSM SIM) +# Enable this if EAP-SIM or EAP-AKA is included +#CONFIG_PCSC=y + +# Support HT overrides (disable HT/HT40, mask MCS rates, etc.) +#CONFIG_HT_OVERRIDES=y + +# Support VHT overrides (disable VHT, mask MCS rates, etc.) +#CONFIG_VHT_OVERRIDES=y + +# Development testing +#CONFIG_EAPOL_TEST=y + +# Select control interface backend for external programs, e.g, wpa_cli: +# unix = UNIX domain sockets (default for Linux/*BSD) +# udp = UDP sockets using localhost (127.0.0.1) +# udp6 = UDP IPv6 sockets using localhost (::1) +# named_pipe = Windows Named Pipe (default for Windows) +# udp-remote = UDP sockets with remote access (only for tests systems/purpose) +# udp6-remote = UDP IPv6 sockets with remote access (only for tests purpose) +# y = use default (backwards compatibility) +# If this option is commented out, control interface is not included in the +# build. +CONFIG_CTRL_IFACE=y + +# Include support for GNU Readline and History Libraries in wpa_cli. +# When building a wpa_cli binary for distribution, please note that these +# libraries are licensed under GPL and as such, BSD license may not apply for +# the resulting binary. +#CONFIG_READLINE=n + +# Include internal line edit mode in wpa_cli. This can be used as a replacement +# for GNU Readline to provide limited command line editing and history support. +CONFIG_WPA_CLI_EDIT=y + +# Remove debugging code that is printing out debug message to stdout. +# This can be used to reduce the size of the wpa_supplicant considerably +# if debugging code is not needed. The size reduction can be around 35% +# (e.g., 90 kB). +#CONFIG_NO_STDOUT_DEBUG=y + +# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save +# 35-50 kB in code size. +#CONFIG_NO_WPA=y + +# Remove IEEE 802.11i/WPA-Personal ASCII passphrase support +# This option can be used to reduce code size by removing support for +# converting ASCII passphrases into PSK. If this functionality is removed, the +# PSK can only be configured as the 64-octet hexstring (e.g., from +# wpa_passphrase). This saves about 0.5 kB in code size. +#CONFIG_NO_WPA_PASSPHRASE=y + +# Disable scan result processing (ap_mode=1) to save code size by about 1 kB. +# This can be used if ap_scan=1 mode is never enabled. +#CONFIG_NO_SCAN_PROCESSING=y + +# Select configuration backend: +# file = text file (e.g., wpa_supplicant.conf; note: the configuration file +# path is given on command line, not here; this option is just used to +# select the backend that allows configuration files to be used) +# winreg = Windows registry (see win_example.reg for an example) +CONFIG_BACKEND=file + +# Remove configuration write functionality (i.e., to allow the configuration +# file to be updated based on runtime configuration changes). The runtime +# configuration can still be changed, the changes are just not going to be +# persistent over restarts. This option can be used to reduce code size by +# about 3.5 kB. +#CONFIG_NO_CONFIG_WRITE=y + +# Remove support for configuration blobs to reduce code size by about 1.5 kB. +#CONFIG_NO_CONFIG_BLOBS=y + +# Select program entry point implementation: +# main = UNIX/POSIX like main() function (default) +# main_winsvc = Windows service (read parameters from registry) +# main_none = Very basic example (development use only) +#CONFIG_MAIN=main + +# Select wrapper for operating system and C library specific functions +# unix = UNIX/POSIX like systems (default) +# win32 = Windows systems +# none = Empty template +#CONFIG_OS=unix + +# Select event loop implementation +# eloop = select() loop (default) +# eloop_win = Windows events and WaitForMultipleObject() loop +#CONFIG_ELOOP=eloop + +# 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 layer 2 packet implementation +# linux = Linux packet socket (default) +# pcap = libpcap/libdnet/WinPcap +# freebsd = FreeBSD libpcap +# winpcap = WinPcap with receive thread +# ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y) +# none = Empty template +#CONFIG_L2_PACKET=linux + +# Disable Linux packet socket workaround applicable for station interface +# in a bridge for EAPOL frames. This should be uncommented only if the kernel +# is known to not have the regression issue in packet socket behavior with +# bridge interfaces (commit 'bridge: respect RFC2863 operational state')'). +#CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y + +# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) +CONFIG_PEERKEY=y + +# IEEE 802.11w (management frame protection), also known as PMF +# Driver support is also needed for IEEE 802.11w. +#CONFIG_IEEE80211W=y + +# Select TLS implementation +# openssl = OpenSSL (default) +# gnutls = GnuTLS +# internal = 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. It should be noted that some existing TLS v1.0 -based +# implementation may not be compatible with TLS v1.1 message (ClientHello is +# sent prior to negotiating which version will be 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. It should be +# noted that some existing TLS v1.0 -based implementation may not be compatible +# with TLS v1.2 message (ClientHello is sent prior to negotiating which version +# will be used) +#CONFIG_TLSV12=y + +# 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 + +# Include NDIS event processing through WMI into wpa_supplicant/wpasvc. +# This is only for Windows builds and requires WMI-related header files and +# WbemUuid.Lib from Platform SDK even when building with MinGW. +#CONFIG_NDIS_EVENTS_INTEGRATED=y +#PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib" + +# Add support for old DBus control interface +# (fi.epitest.hostap.WPASupplicant) +#CONFIG_CTRL_IFACE_DBUS=n + +# Add support for new DBus control interface +# (fi.w1.hostap.wpa_supplicant1) +# CONFIG_CTRL_IFACE_DBUS_NEW=n + +# Add introspection support for new DBus control interface +# CONFIG_CTRL_IFACE_DBUS_INTRO=n + +# Add support for loading EAP methods dynamically as shared libraries. +# When this option is enabled, each EAP method can be either included +# statically (CONFIG_EAP_=y) or dynamically (CONFIG_EAP_=dyn). +# Dynamic EAP methods are build as shared objects (eap_*.so) and they need to +# be loaded in the beginning of the wpa_supplicant configuration file +# (see load_dynamic_eap parameter in the example file) before being used in +# the network blocks. +# +# Note that some shared parts of EAP methods are included in the main program +# and in order to be able to use dynamic EAP methods using these parts, the +# main program must have been build with the EAP method enabled (=y or =dyn). +# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries +# unless at least one of them was included in the main build to force inclusion +# of the shared code. Similarly, at least one of EAP-SIM/AKA must be included +# in the main build to be able to load these methods dynamically. +# +# Please also note that using dynamic libraries will increase the total binary +# size. Thus, it may not be the best option for targets that have limited +# amount of memory/flash. +#CONFIG_DYNAMIC_EAP_METHODS=y + +# IEEE Std 802.11r-2008 (Fast BSS Transition) +#CONFIG_IEEE80211R=y + +# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt) +CONFIG_DEBUG_FILE=y + +# Send debug messages to syslog instead of stdout +CONFIG_DEBUG_SYSLOG=y +# Set syslog facility for debug messages +CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON + +# 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 + +# Add support for writing debug log to Android logcat instead of standard +# output +#CONFIG_ANDROID_LOG=y + +# Enable privilege separation (see README 'Privilege separation' for details) +#CONFIG_PRIVSEP=y + +# Enable mitigation against certain attacks against TKIP by delaying Michael +# MIC error reports by a random amount of time between 0 and 60 seconds +#CONFIG_DELAYED_MIC_ERROR_REPORT=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, uncomment 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, uncomment these. +#LIBS += -lbfd -liberty -lz +#LIBS_p += -lbfd -liberty -lz +#LIBS_c += -lbfd -liberty -lz + +# wpa_supplicant 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 wpa_supplicant 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, wpa_supplicant 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. +# +# wpa_supplicant 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 command line option. The +# specified file needs to be readable and writable by wpa_supplicant. +# +# 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 wpa_supplicant 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 + +# IEEE 802.11n (High Throughput) support (mainly for AP mode) +#CONFIG_IEEE80211N=y + +# IEEE 802.11ac (Very High Throughput) support (mainly for AP mode) +# (depends on CONFIG_IEEE80211N) +#CONFIG_IEEE80211AC=y + +# Wireless Network Management (IEEE Std 802.11v-2011) +# Note: This is experimental and not complete implementation. +#CONFIG_WNM=y + +# Interworking (IEEE 802.11u) +# This can be used to enable functionality to improve interworking with +# external networks (GAS/ANQP to learn more about the networks and network +# selection based on available credentials). +#CONFIG_INTERWORKING=y + +# Hotspot 2.0 +#CONFIG_HS20=y + +# Enable interface matching in wpa_supplicant +CONFIG_MATCH_IFACE=y + +# Disable roaming in wpa_supplicant +#CONFIG_NO_ROAMING=y + +# AP mode operations with wpa_supplicant +# This can be used for controlling AP mode operations with wpa_supplicant. It +# should be noted that this is mainly aimed at simple cases like +# WPA2-Personal while more complex configurations like WPA2-Enterprise with an +# external RADIUS server can be supported with hostapd. +CONFIG_AP=y + +# P2P (Wi-Fi Direct) +# This can be used to enable P2P support in wpa_supplicant. See README-P2P for +# more information on P2P operations. +CONFIG_P2P=y + +# Enable TDLS support +#CONFIG_TDLS=y + +# Wi-Fi Direct +# This can be used to enable Wi-Fi Direct extensions for P2P using an external +# program to control the additional information exchanges in the messages. +#CONFIG_WIFI_DISPLAY=y + +# Autoscan +# This can be used to enable automatic scan support in wpa_supplicant. +# See wpa_supplicant.conf for more information on autoscan usage. +# +# Enabling directly a module will enable autoscan support. +# For exponential module: +#CONFIG_AUTOSCAN_EXPONENTIAL=y +# For periodic module: +#CONFIG_AUTOSCAN_PERIODIC=y + +# Password (and passphrase, etc.) backend for external storage +# These optional mechanisms can be used to add support for storing passwords +# and other secrets in external (to wpa_supplicant) location. This allows, for +# example, operating system specific key storage to be used +# +# External password backend for testing purposes (developer use) +#CONFIG_EXT_PASSWORD_TEST=y + +# Enable Fast Session Transfer (FST) +#CONFIG_FST=y + +# Enable CLI commands for FST testing +#CONFIG_FST_TEST=y + +# OS X builds. This is only for building eapol_test. +#CONFIG_OSX=y + +# Automatic Channel Selection +# This will allow wpa_supplicant to pick the channel automatically when channel +# is set to "0". +# +# TODO: Extend parser to be able to parse "channel=acs_survey" as an alternative +# to "channel=0". This would enable us to eventually add other ACS algorithms 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. +# +# TODO: In analogy to hostapd be able to customize the ACS survey algorithm with +# a newly to create wpa_supplicant.conf variable acs_num_scans. +# +# Supported ACS drivers: +# * ath9k +# * ath5k +# * ath10k +# +# For more details refer to: +# http://wireless.kernel.org/en/users/Documentation/acs +#CONFIG_ACS=y + +# Support Multi Band Operation +#CONFIG_MBO=y diff --git a/extra/wpa_supplicant/post-install b/extra/wpa_supplicant/post-install new file mode 100755 index 0000000..a50eb53 --- /dev/null +++ b/extra/wpa_supplicant/post-install @@ -0,0 +1,8 @@ +#!/bin/sh + +cat <> config.log ++ echo "checking $1... " >> config.log + } + + log_ok() { +@@ -78,13 +78,12 @@ cc_cflags() { + # several non gcc compilers issue an incredibly large number of warnings on high warning levels, + # suppress them by reducing the warning level rather than having to use #pragmas + for arg in $*; do +- [[ "$arg" = -falign-loops* ]] && arg= ++ case $arg in ++ -falign-loops*|-mpreferred-stack-boundary*|-l*|-L*) arg= ++ esac + [ "$arg" = -fno-tree-vectorize ] && arg= + [ "$arg" = -Wshadow ] && arg= + [ "$arg" = -Wno-maybe-uninitialized ] && arg= +- [[ "$arg" = -mpreferred-stack-boundary* ]] && arg= +- [[ "$arg" = -l* ]] && arg= +- [[ "$arg" = -L* ]] && arg= + if [ $compiler_style = MS ]; then + [ "$arg" = -ffast-math ] && arg="-fp:fast" + [ "$arg" = -Wall ] && arg= +@@ -100,14 +99,14 @@ cc_cflags() { + fi + [ $compiler = CL -a "$arg" = -O3 ] && arg=-O2 + +- [ -n "$arg" ] && echo -n "$arg " ++ [ -n "$arg" ] && printf %s "$arg " + done + } + + cl_ldflags() { + for arg in $*; do +- arg=${arg/LIBPATH/libpath} +- [ "${arg#-libpath:}" == "$arg" -a "${arg#-l}" != "$arg" ] && arg=${arg#-l}.lib ++ arg=$(echo "$arg" | sed -e 's/LIBPATH/libpath/') ++ [ "${arg#-libpath:}" = "$arg" -a "${arg#-l}" != "$arg" ] && arg=${arg#-l}.lib + [ "${arg#-L}" != "$arg" ] && arg=-libpath:${arg#-L} + [ "$arg" = -Wl,--large-address-aware ] && arg=-largeaddressaware + [ "$arg" = -s ] && arg= +@@ -116,14 +115,17 @@ cl_ldflags() { + [ "$arg" = -Werror ] && arg= + [ "$arg" = -Wshadow ] && arg= + [ "$arg" = -Wmaybe-uninitialized ] && arg= +- [[ "$arg" = -Qdiag-error* ]] && arg= + +- arg=${arg/pthreadGC/pthreadVC} ++ case $arg in ++ -Qdiag-error*) arg= ++ esac ++ ++ arg=$(echo "$arg" | sed -e 's/pthreadGC/pthreadVC/') + [ "$arg" = avifil32.lib ] && arg=vfw32.lib + [ "$arg" = gpac_static.lib ] && arg=libgpac_static.lib + [ "$arg" = x264.lib ] && arg=libx264.lib + +- [ -n "$arg" ] && echo -n "$arg " ++ [ -n "$arg" ] && printf %s "$arg " + done + } + +@@ -180,7 +182,7 @@ cpp_check() { + for arg in $1; do + echo "#include <$arg>" >> conftest.c + done +- echo -e "#if !($3) \n#error $4 \n#endif " >> conftest.c ++ printf '%b\n' "#if !($3) \n#error $4 \n#endif " >> conftest.c + if [ $compiler_style = MS ]; then + cpp_cmd="$CC conftest.c $(cc_cflags $CFLAGS $2) -P" + else +@@ -329,11 +331,15 @@ rm -rf conftest* + + # Construct a path to the specified directory relative to the working directory + relative_path() { +- local base="${PWD%/}" +- local path="$(cd "$1" >/dev/null; printf '%s/.' "${PWD%/}")" +- local up='' ++ base="${PWD%/}" ++ path="$(cd "$1" >/dev/null; printf '%s/.' "${PWD%/}")" ++ up='' ++ ++ while :; do ++ case $path in ++ "$base/"*) break ;; ++ esac + +- while [[ $path != "$base/"* ]]; do + base="${base%/*}" + up="../$up" + done +@@ -564,48 +570,6 @@ trap 'rm -rf conftest*' EXIT + # test for use of compilers that require specific handling + cc_base="$(basename "$CC")" + QPRE="-" +-if [[ $host_os = mingw* || $host_os = cygwin* ]]; then +- if [[ "$cc_base" = icl || "$cc_base" = icl[\ .]* ]]; then +- # Windows Intel Compiler creates dependency generation with absolute Windows paths, Cygwin's make does not support Windows paths. +- [[ $host_os = cygwin* ]] && die "Windows Intel Compiler support requires MSYS" +- compiler=ICL +- compiler_style=MS +- CFLAGS="$CFLAGS -Qstd=c99 -nologo -Qms0 -DHAVE_STRING_H -I\$(SRCPATH)/extras" +- QPRE="-Q" +- cpp_check '' '' '_MSC_VER >= 1400' || die "Windows Intel Compiler support requires Visual Studio 2005 or newer" +- if cpp_check '' '' 'defined(_M_AMD64) || defined(_M_X64)' ; then +- host_cpu=x86_64 +- elif cpp_check '' '' 'defined(_M_IX86)' ; then +- host_cpu=i486 +- fi +- if cc_check '' -Qdiag-error:10006,10157 ; then +- CHECK_CFLAGS="$CHECK_CFLAGS -Qdiag-error:10006,10157" +- fi +- elif [[ "$cc_base" = cl || "$cc_base" = cl[\ .]* ]]; then +- # Standard Microsoft Visual Studio +- compiler=CL +- compiler_style=MS +- CFLAGS="$CFLAGS -nologo -GS- -DHAVE_STRING_H -I\$(SRCPATH)/extras" +- cpp_check '' '' '_MSC_VER > 1800 || (_MSC_VER == 1800 && _MSC_FULL_VER >= 180030324)' || die "Microsoft Visual Studio support requires Visual Studio 2013 Update 2 or newer" +- if cpp_check '' '' 'defined(_M_AMD64) || defined(_M_X64)' ; then +- host_cpu=x86_64 +- elif cpp_check '' '' 'defined(_M_IX86)' ; then +- host_cpu=i486 +- elif cpp_check '' '' 'defined(_M_ARM64)' ; then +- host_cpu=aarch64 +- elif cpp_check '' '' 'defined(_M_ARM)' ; then +- host_cpu=arm +- fi +- else +- # MinGW uses broken pre-VS2015 Microsoft printf functions unless it's told to use the POSIX ones. +- CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=200112L" +- fi +-else +- if [[ "$cc_base" = icc || "$cc_base" = icc[\ .]* ]]; then +- AR="xiar" +- compiler=ICC +- fi +-fi + + if [ $compiler = GNU ]; then + if cc_check '' -Werror=unknown-warning-option ; then +@@ -653,18 +617,6 @@ case $host_os in + define HAVE_MALLOC_H + libm="-lm" + ;; +- cygwin*|mingw*|msys*) +- EXE=".exe" +- if [[ $host_os = cygwin* ]] && cpp_check "" "" "defined(__CYGWIN__)" ; then +- SYS="CYGWIN" +- define HAVE_MALLOC_H +- else +- SYS="WINDOWS" +- DEVNULL="NUL" +- cc_check '' -lshell32 && LDFLAGSCLI="$LDFLAGSCLI -lshell32" +- [ $compiler = GNU ] && RC="${RC-${cross_prefix}windres}" || RC="${RC-rc.exe}" +- fi +- ;; + sunos*|solaris*) + SYS="SunOS" + define HAVE_MALLOC_H +@@ -705,30 +657,6 @@ LDFLAGS="$LDFLAGS $libm" + stack_alignment=4 + case $host_cpu in + i*86) +- ARCH="X86" +- AS="${AS-nasm}" +- AS_EXT=".asm" +- ASFLAGS="$ASFLAGS -DARCH_X86_64=0 -I\$(SRCPATH)/common/x86/" +- if [ $compiler = GNU ]; then +- if [[ "$asm" == auto && "$CFLAGS" != *-march* ]]; then +- CFLAGS="$CFLAGS -march=i686" +- fi +- if [[ "$asm" == auto && "$CFLAGS" != *-mfpmath* ]]; then +- CFLAGS="$CFLAGS -mfpmath=sse -msse -msse2" +- fi +- CFLAGS="-m32 $CFLAGS" +- LDFLAGS="-m32 $LDFLAGS" +- fi +- if [ "$SYS" = MACOSX ]; then +- ASFLAGS="$ASFLAGS -f macho32 -DPREFIX" +- elif [ "$SYS" = WINDOWS -o "$SYS" = CYGWIN ]; then +- ASFLAGS="$ASFLAGS -f win32 -DPREFIX" +- LDFLAGS="$LDFLAGS -Wl,--large-address-aware" +- [ $compiler = GNU ] && LDFLAGS="$LDFLAGS -Wl,--dynamicbase,--nxcompat,--tsaware" +- [ $compiler = GNU ] && RCFLAGS="--target=pe-i386 $RCFLAGS" +- else +- ASFLAGS="$ASFLAGS -f elf32" +- fi + ;; + x86_64) + ARCH="X86_64" +@@ -931,7 +859,7 @@ fi + + if [ $asm = auto -a $ARCH = ARM ] ; then + # set flags so neon is built by default +- [ $compiler == CL ] || echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon" ++ [ $compiler = CL ] || echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon" + + cc_check '' '' '__asm__("add r0, r1, r2");' && define HAVE_ARM_INLINE_ASM + if [ $compiler = CL ] && cpp_check '' '' 'defined(_M_ARM) && _M_ARM >= 7' ; then +@@ -1576,7 +1504,8 @@ cat conftest.log >> config.log + cat conftest.log + + [ "$SRCPATH" != "." ] && ln -sf ${SRCPATH}/Makefile ./Makefile +-mkdir -p common/{aarch64,arm,mips,ppc,x86} encoder extras filters/video input output tools ++mkdir -p common/aarch64 common/arm common/mips common/ppc common/x86 ++mkdir -p encoder extras filters/video input output tools + + echo + echo "You can run 'make' or 'make fprofiled' now." diff --git a/extra/x264/sources b/extra/x264/sources new file mode 100644 index 0000000..ec3be5c --- /dev/null +++ b/extra/x264/sources @@ -0,0 +1,2 @@ +https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20190812-2245-stable.tar.bz2 +patches/x264-no-bash.patch diff --git a/extra/x264/version b/extra/x264/version new file mode 100644 index 0000000..f48adf1 --- /dev/null +++ b/extra/x264/version @@ -0,0 +1 @@ +20190812-2245 1 diff --git a/extra/x265/build b/extra/x265/build new file mode 100755 index 0000000..2bc1c91 --- /dev/null +++ b/extra/x265/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake source \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release + +cmake --build . +cmake --install . diff --git a/extra/x265/checksums b/extra/x265/checksums new file mode 100644 index 0000000..5e3f312 --- /dev/null +++ b/extra/x265/checksums @@ -0,0 +1 @@ +5ca3403c08de4716719575ec56c686b1eb55b078c0fe50a064dcf1ac20af1618 diff --git a/extra/x265/depends b/extra/x265/depends new file mode 100644 index 0000000..8e82f95 --- /dev/null +++ b/extra/x265/depends @@ -0,0 +1,2 @@ +cmake make +nasm make diff --git a/extra/x265/sources b/extra/x265/sources new file mode 100644 index 0000000..f289c04 --- /dev/null +++ b/extra/x265/sources @@ -0,0 +1 @@ +https://bitbucket.org/multicoreware/x265_git/get/3.5.tar.gz diff --git a/extra/x265/version b/extra/x265/version new file mode 100644 index 0000000..61e3d24 --- /dev/null +++ b/extra/x265/version @@ -0,0 +1 @@ +3.5 1 diff --git a/extra/xapian-core/version b/extra/xapian-core/version index 4920469..6806655 100644 --- a/extra/xapian-core/version +++ b/extra/xapian-core/version @@ -1 +1 @@ -1.4.18 2 +1.4.18 1 diff --git a/desktop/xvile/build b/extra/xvile/build similarity index 100% rename from desktop/xvile/build rename to extra/xvile/build diff --git a/desktop/xvile/checksums b/extra/xvile/checksums similarity index 100% rename from desktop/xvile/checksums rename to extra/xvile/checksums diff --git a/desktop/xvile/depends b/extra/xvile/depends similarity index 100% rename from desktop/xvile/depends rename to extra/xvile/depends diff --git a/desktop/xvile/sources b/extra/xvile/sources similarity index 100% rename from desktop/xvile/sources rename to extra/xvile/sources diff --git a/desktop/xvile/version b/extra/xvile/version similarity index 100% rename from desktop/xvile/version rename to extra/xvile/version diff --git a/extra/youtube-dl/build b/extra/youtube-dl/build new file mode 100755 index 0000000..5017cee --- /dev/null +++ b/extra/youtube-dl/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +make lazy-extractors +make youtube-dl + +install -Dm755 youtube-dl "$1/usr/bin/youtube-dl" diff --git a/extra/youtube-dl/checksums b/extra/youtube-dl/checksums new file mode 100644 index 0000000..2f7a906 --- /dev/null +++ b/extra/youtube-dl/checksums @@ -0,0 +1 @@ +3d609df194db40f28fd4ef224cf732cd3ce7acd8596e3a0d19edba0fc5d047fa diff --git a/extra/youtube-dl/depends b/extra/youtube-dl/depends new file mode 100644 index 0000000..c5f826c --- /dev/null +++ b/extra/youtube-dl/depends @@ -0,0 +1,2 @@ +python +zip make diff --git a/extra/youtube-dl/sources b/extra/youtube-dl/sources new file mode 100644 index 0000000..c71358c --- /dev/null +++ b/extra/youtube-dl/sources @@ -0,0 +1 @@ +https://github.com/ytdl-org/youtube-dl/archive/2021.06.06.tar.gz diff --git a/extra/youtube-dl/version b/extra/youtube-dl/version new file mode 100644 index 0000000..383c688 --- /dev/null +++ b/extra/youtube-dl/version @@ -0,0 +1 @@ +2021.06.06 1 diff --git a/extra/zathura-pdf-poppler/build b/extra/zathura-pdf-poppler/build new file mode 100755 index 0000000..3dcdb2b --- /dev/null +++ b/extra/zathura-pdf-poppler/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +meson build \ + --prefix=/usr \ + --sysconfdir=/etc \ + --buildtype=release + +DESTDIR="$1" ninja -C build install diff --git a/extra/zathura-pdf-poppler/checksums b/extra/zathura-pdf-poppler/checksums new file mode 100644 index 0000000..0a167fa --- /dev/null +++ b/extra/zathura-pdf-poppler/checksums @@ -0,0 +1 @@ +2034f70a936d458ddc9276f769e77ff308ba3bb1b7a7cdc87bab8b9ef7ade84a 0.3.0.tar.gz diff --git a/extra/zathura-pdf-poppler/depends b/extra/zathura-pdf-poppler/depends new file mode 100644 index 0000000..1821fda --- /dev/null +++ b/extra/zathura-pdf-poppler/depends @@ -0,0 +1,3 @@ +meson make +poppler +zathura diff --git a/extra/zathura-pdf-poppler/sources b/extra/zathura-pdf-poppler/sources new file mode 100644 index 0000000..ea3b0ca --- /dev/null +++ b/extra/zathura-pdf-poppler/sources @@ -0,0 +1 @@ +https://github.com/pwmt/zathura-pdf-poppler/archive/0.3.0.tar.gz diff --git a/extra/zathura-pdf-poppler/version b/extra/zathura-pdf-poppler/version new file mode 100644 index 0000000..19de110 --- /dev/null +++ b/extra/zathura-pdf-poppler/version @@ -0,0 +1 @@ +0.3.0 1 diff --git a/extra/zathura/build b/extra/zathura/build new file mode 100755 index 0000000..86589ef --- /dev/null +++ b/extra/zathura/build @@ -0,0 +1,19 @@ +#!/bin/sh -e + +patch -p1 < remove_gettext.patch + +# Fix build errors when appstream-glib or +# desktop-file-utils are installed. +sed -i 's/appstream-util//' data/meson.build +sed -i 's/desktop-file-validate//' data/meson.build + +meson build \ + --prefix=/usr \ + --sysconfdir=/etc \ + --buildtype=release \ + -Dsynctex=disabled + +DESTDIR="$1" ninja -C build install + +install -Dm 0644 zathura.1 "$1/usr/share/man/man1/zathura.1" +install -Dm 0644 zathurarc.5 "$1/usr/share/man/man1/zathurarc.5" diff --git a/extra/zathura/checksums b/extra/zathura/checksums new file mode 100644 index 0000000..1d287c1 --- /dev/null +++ b/extra/zathura/checksums @@ -0,0 +1,4 @@ +dbea0d5c42bfb813640af2587edbf04a93e6e87232f429e09845e5a9d0049ffb +bbbf1667764429c6dda349c4ed36f1fd024f376eda6da37b15ff46d0aa2700fd +4092bcc7409699642fb8c2c2bec41682aae1d3f848658ea8f67493701560e901 +52b37e0a49b9a9c8792d9cc430d3a50e25de5c37ed620af3639edea52d6ef98f diff --git a/extra/zathura/depends b/extra/zathura/depends new file mode 100644 index 0000000..78975a2 --- /dev/null +++ b/extra/zathura/depends @@ -0,0 +1,3 @@ +file +girara +pkgconf make diff --git a/extra/zathura/files/zathura.1 b/extra/zathura/files/zathura.1 new file mode 100644 index 0000000..1f0cfb3 --- /dev/null +++ b/extra/zathura/files/zathura.1 @@ -0,0 +1,419 @@ +.\" Man page generated from reStructuredText. +. +.TH "ZATHURA" "1" "2019-09-08" "0.4.4" "zathura" +.SH NAME +zathura \- a document viewer +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.sp +zathura [\-e XID] [\-c PATH] [\-d PATH] [\-p PATH] [\-w PASSWORD] [\-P NUMBER] +[\-\-fork] [\-l LEVEL] [\-s] [\-x CMD] [\-\-synctex\-forward INPUT] [\-\-synctex\-pid PID] + +.SH DESCRIPTION +.sp +\fBzathura\fP displays the given files. If a single hyphen\-minus (\-) is given as +file name, the content will be read from the standard input. If no files are +given, an empty \fBzathura\fP instance launches. +.SH OPTIONS +.INDENT 0.0 +.TP +.BI \-e\fP,\fB \-\-reparent\fB= xid +Reparents to window specified by xid +.TP +.BI \-c\fP,\fB \-\-config\-dir\fB= path +Path to the config directory +.TP +.BI \-d\fP,\fB \-\-data\-dir\fB= path +Path to the data directory +.TP +.BI \-p\fP,\fB \-\-plugins\-dir\fB= path +Path to the directory containing plugins +.TP +.BI \-w\fP,\fB \-\-password\fB= password +The documents password. If multiple documents are opened at once, the +password will be used for the first one and zathura will ask for the +passwords of the remaining files if needed. +.TP +.BI \-P\fP,\fB \-\-page\fB= number +Opens the document at the given page number. Pages are numbered starting +with 1, and negative numbers indicate page numbers starting from the end +of the document, \-1 being the last page. +.TP +.BI \-l\fP,\fB \-\-log\-level\fB= level +Set log level (debug, info, warning, error) +.TP +.BI \-x\fP,\fB \-\-synctex\-editor\-command\fB= command +Set the synctex editor command. Overrides the synctex\-editor\-command setting. +.TP +.BI \-\-synctex\-forward\fB= input +Jump to the given position. The switch expects the same format as specified +for synctex\(aqs view \-i. If no instance is running for the specified document, +a new instance will be launched (only if \-\-synctex\-pid is not specified). +.TP +.BI \-\-synctex\-pid\fB= pid +Instead of looking for an instance having the correct file opened, try only +the instance with the given PID. Note that if the given PID does not have the +correct file open or does not exist, no new instance will be spanned. +.TP +.BI \-\-mode\fB= mode +Start in a non\-default mode +.TP +.B \-\-fork +Fork into background +.TP +.B \-\-version +Display version string and exit +.TP +.B \-\-help +Display help and exit +.UNINDENT +.SH ENVIRONMENT VARIABLES +.INDENT 0.0 +.TP +.B ZATHURA_PLUGINS_PATH +Path to the directory containing plugins. This directory is only considered if +no other directory was specified using \-\-plugins\-dir. +.UNINDENT +.SH MOUSE AND KEY BINDINGS +.sp +General +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B J, PgDn +Go to the next page +.TP +.B K, PgUp +Go to the previous page +.TP +.B h, k, j, l +Scroll to the left, down, up or right direction +.TP +.B Left, Down, Up, Right +Scroll to the left, down, up or right direction +.TP +.B ^t, ^d, ^u, ^y +Scroll a half page left, down, up or right +.TP +.B t, ^f, ^b, space, , y +Scroll a full page left, down, up or right +.TP +.B gg, G, nG +Goto to the first, the last or to the nth page +.TP +.B H, L +Goto top or bottom of the current page +.TP +.B ^o, ^i +Move backward and forward through the jump list +.TP +.B ^j, ^k +Bisect forward and backward between the last two jump points +.TP +.B ^c, Escape +Abort +.TP +.B a, s +Adjust window in best\-fit or width mode +.TP +.B /, ? +Search for text +.TP +.B n, N +Search for the next or previous result +.TP +.B o, O +Open document +.TP +.B f +Follow links +.TP +.B F +Display link target +.TP +.B : +Enter command +.TP +.B r +Rotate by 90 degrees +.TP +.B ^r +Recolor (grayscale and invert colors) +.TP +.B R +Reload document +.TP +.B Tab +Show index and switch to \fBIndex mode\fP +.TP +.B d +Toggle dual page view +.TP +.B F5 +Switch to presentation mode +.TP +.B F11 +Switch to fullscreen mode +.TP +.B ^m +Toggle inputbar +.TP +.B ^n +Toggle statusbar +.TP +.B +, \-, = +Zoom in, out or to the original size +.TP +.B zI, zO, z0 +Zoom in, out or to the original size +.TP +.B n= +Zoom to size n +.TP +.B mX +Set a quickmark to a letter or number X +.TP +.B \(aqX +Goto quickmark saved at letter or number X +.TP +.B q +Quit +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Fullscreen mode +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B J, K +Go to the next or previous page +.TP +.B space, , +Scroll a full page down or up +.TP +.B gg, G, nG +Goto to the first, the last or to the nth page +.TP +.B ^c, Escape +Abort +.TP +.B F11 +Switch to normal mode +.TP +.B +, \-, = +Zoom in, out or to the original size +.TP +.B zI, zO, z0 +Zoom in, out or to the original size +.TP +.B n= +Zoom to size n +.TP +.B q +Quit +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Presentation mode +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B space, , +Scroll a full page down or up +.TP +.B ^c, Escape +Abort +.TP +.B F5 +Switch to normal mode +.TP +.B q +Quit +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Index mode +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B k, j +Move to upper or lower entry +.TP +.B l +Expand entry +.TP +.B L +Expand all entries +.TP +.B h +Collapse entry +.TP +.B H +Collapse all entries +.TP +.B space, Return +Select and open entry +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Mouse bindings +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B Scroll +Scroll up or down +.TP +.B ^Scroll +Zoom in or out +.TP +.B Hold Button2 +Pan the document +.TP +.B Button1 +Follow link +.UNINDENT +.UNINDENT +.UNINDENT +.SH COMMANDS +.INDENT 0.0 +.TP +.B bmark +Save a bookmark +.TP +.B bdelete +Delete a bookmark +.TP +.B blist +List bookmarks +.TP +.B close +Close document +.TP +.B exec +Execute an external command +.TP +.B info +Show document information +.TP +.B open +Open a document +.TP +.B offset +Set page offset +.TP +.B print +Print document +.TP +.B write(!) +Save document (and force overwriting) +.TP +.B export +Export attachments +.TP +.B dump +Write values, descriptions, etc. of all current settings to a file. +.UNINDENT +.SH CONFIGURATION +.sp +The default appearance and behaviour of zathura can be overwritten by modifying +the \fIzathurarc\fP file (default path: ~/.config/zathura/zathurarc). For a detailed +description please consult zathurarc(5). +.SH SYNCTEX SUPPORT +.sp +Both synctex forward and backwards synchronization are supported by zathura, To +enable synctex forward synchronization, please look at the \fI\-\-synctex\-forward\fP +and \fI\-\-synctex\-editor\fP options. zathura will also emit a signal via the D\-Bus +interface. To support synctex backwards synchronization, zathura provides a +D\-Bus interface that can be called by the editor. For convince zathura also +knows how to parse the output of the \fIsynctex view\fP command. It is enough to +pass the arguments to \fIsynctex view\fP\(aqs \fI\-i\fP option to zathura via +\fI\-\-synctex\-forward\fP and zathura will pass the information to the correct +instance. +.sp +For gvim forward and backwards synchronization support can be set up as follows: +First add the following to the vim configuration: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +function! Synctex() + execute "silent !zathura \-\-synctex\-forward " . line(\(aq.\(aq) . ":" . col(\(aq.\(aq) . ":" . bufname(\(aq%\(aq) . " " . g:syncpdf + redraw! +endfunction +map :call Synctex() +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Then launch \fIzathura\fP with +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +zathura \-x "gvim \-\-servername vim \-c \e"let g:syncpdf=\(aq$1\(aq\e" \-\-remote +%{line} %{input}" $file +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Some editors support zathura as viewer out of the box: +.INDENT 0.0 +.IP \(bu 2 +LaTeXTools for SublimeText +(\fI\%https://latextools.readthedocs.io/en/latest/available\-viewers/#zathura\fP) +.IP \(bu 2 +LaTeX for Atom (\fI\%https://atom.io/packages/latex\fP) +.UNINDENT +.SH KNOWN BUGS +.sp +If GDK_NATIVE_WINDOWS is enabled you will experience problems with large +documents. In this case zathura might crash or pages cannot be rendered +properly. Disabling GDK_NATIVE_WINDOWS fixes this issue. The same issue may +appear, if overlay\-scrollbar is enabled in GTK_MODULES. +.SH SEE ALSO +.sp +\fIzathurarc(5)\fP +.SH AUTHOR +pwmt.org +.SH COPYRIGHT +2009-2018, pwmt.org +.\" Generated by docutils manpage writer. +. diff --git a/extra/zathura/files/zathurarc.5 b/extra/zathura/files/zathurarc.5 new file mode 100644 index 0000000..42bb2cf --- /dev/null +++ b/extra/zathura/files/zathurarc.5 @@ -0,0 +1,1420 @@ +.\" Man page generated from reStructuredText. +. +.TH "ZATHURARC" "5" "2019-09-08" "0.4.4" "zathura" +.SH NAME +zathurarc \- zathura configuration file +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.sp +/etc/zathurarc, $XDG_CONFIG_HOME/zathura/zathurarc +.SH DESCRIPTION +.sp +The \fIzathurarc\fP file is a simple plain text file that can be populated with +various commands to change the behaviour and the look of zathura which we are +going to describe in the following subsections. Each line (besides empty lines +and comments (which start with a prepended #) is evaluated on its own, so it +is not possible to write multiple commands in one single line. +.SH COMMANDS +.SS set \- Changing options +.sp +In addition to the built\-in \fB:set\fP command zathura offers more options to be +changed and makes those changes permanent. To overwrite an option you just have +to add a line structured like the following +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +set > version.h -@@ -191,9 +191,6 @@ - wlr-layer-shell-unstable-v1-protocol.h: - wayland-scanner server-header protocol/wlr-layer-shell-unstable-v1.xml ${.TARGET} - --hikari-unlocker: hikari_unlocker.c -- ${CC} ${CFLAGS_EXTRA} ${LDFLAGS_EXTRA} -o hikari-unlocker hikari_unlocker.c -lpam -- - clean-doc: - @test -e _darcs && echo "cleaning manpage" ||: - @test -e _darcs && rm share/man/man1/hikari.1 2> /dev/null ||: -@@ -206,7 +203,6 @@ - @rm ${OBJS} 2> /dev/null ||: - @echo "cleaning executables" - @rm hikari 2> /dev/null ||: -- @rm hikari-unlocker 2> /dev/null ||: - - share/man/man1/hikari.1: - pandoc -M title:"HIKARI(1) ${VERSION} | hikari - Wayland Compositor" -s \ -@@ -219,7 +215,6 @@ - @tar -s "#^#hikari-${VERSION}/#" -czf hikari-${VERSION}.tar.gz \ - version.h \ - main.c \ -- hikari_unlocker.c \ - include/hikari/*.h \ - src/*.c \ - protocol/*.xml \ -@@ -232,8 +227,7 @@ - share/man/man1/hikari.1 \ - share/backgrounds/hikari/hikari_wallpaper.png \ - share/wayland-sessions/hikari.desktop \ -- etc/hikari/hikari.conf \ -- etc/pam.d/hikari-unlocker.* -+ etc/hikari/hikari.conf - - distclean: clean-doc - @test -e _darcs && echo "cleaning version.h" ||: -@@ -241,29 +235,24 @@ - - dist: distclean hikari-${VERSION}.tar.gz - --install: hikari hikari-unlocker share/man/man1/hikari.1 -+install: hikari share/man/man1/hikari.1 - mkdir -p ${DESTDIR}/${PREFIX}/bin - mkdir -p ${DESTDIR}/${PREFIX}/share/man/man1 - mkdir -p ${DESTDIR}/${PREFIX}/share/backgrounds/hikari - mkdir -p ${DESTDIR}/${PREFIX}/share/wayland-sessions - mkdir -p ${DESTDIR}/${ETC_PREFIX}/etc/hikari -- mkdir -p ${DESTDIR}/${ETC_PREFIX}/etc/pam.d - sed "s,PREFIX,${PREFIX}," etc/hikari/hikari.conf > ${DESTDIR}/${ETC_PREFIX}/etc/hikari/hikari.conf - chmod 644 ${DESTDIR}/${ETC_PREFIX}/etc/hikari/hikari.conf - install -m ${PERMS} hikari ${DESTDIR}/${PREFIX}/bin -- install -m 4555 hikari-unlocker ${DESTDIR}/${PREFIX}/bin - install -m 644 share/man/man1/hikari.1 ${DESTDIR}/${PREFIX}/share/man/man1 - install -m 644 share/backgrounds/hikari/hikari_wallpaper.png ${DESTDIR}/${PREFIX}/share/backgrounds/hikari/hikari_wallpaper.png - install -m 644 share/wayland-sessions/hikari.desktop ${DESTDIR}/${PREFIX}/share/wayland-sessions/hikari.desktop -- install -m 644 etc/pam.d/hikari-unlocker.${OS} ${DESTDIR}/${ETC_PREFIX}/etc/pam.d/hikari-unlocker - - uninstall: - -rm ${DESTDIR}/${PREFIX}/bin/hikari -- -rm ${DESTDIR}/${PREFIX}/bin/hikari-unlocker - -rm ${DESTDIR}/${PREFIX}/share/man/man1/hikari.1 - -rm ${DESTDIR}/${PREFIX}/share/backgrounds/hikari/hikari_wallpaper.png - -rm ${DESTDIR}/${PREFIX}/share/wayland-sessions/hikari.desktop -- -rm ${DESTDIR}/${ETC_PREFIX}/etc/pam.d/hikari-unlocker - -rm ${DESTDIR}/${ETC_PREFIX}/etc/hikari/hikari.conf - -rmdir ${DESTDIR}/${ETC_PREFIX}/etc/hikari - -rmdir ${DESTDIR}/${PREFIX}/share/backgrounds/hikari diff --git a/wayland/hikari/sources b/wayland/hikari/sources deleted file mode 100644 index 29ee12e..0000000 --- a/wayland/hikari/sources +++ /dev/null @@ -1,2 +0,0 @@ -https://hikari.acmelabs.space/releases/hikari-2.2.2.tar.gz -patches/no-locker.patch diff --git a/wayland/hikari/version b/wayland/hikari/version deleted file mode 100644 index da648f8..0000000 --- a/wayland/hikari/version +++ /dev/null @@ -1 +0,0 @@ -2.2.2 1 diff --git a/wayland/inaban/depends b/wayland/inaban/depends deleted file mode 100644 index 1c4bc54..0000000 --- a/wayland/inaban/depends +++ /dev/null @@ -1,5 +0,0 @@ -checkpassword -libxkbcommon -wayland -wayland-protocols -wlroots diff --git a/wayland/inaban/sources b/wayland/inaban/sources deleted file mode 100644 index b5f02b9..0000000 --- a/wayland/inaban/sources +++ /dev/null @@ -1 +0,0 @@ -git+https://notabug.org/lanodan/inaban diff --git a/wayland/vivarium/build b/wayland/vivarium/build deleted file mode 100755 index 3d828ec..0000000 --- a/wayland/vivarium/build +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -e - -sed -i \ - -e 's|fff_dep.*||g' \ - -e 's|unity_dep.*||g' \ - -e 's|.*tests.*||g' \ - meson.build - -for i in src/*.c; do - sed -i 's|.*wlr/xwayland\.h.*||g' "$i" -done - -meson build \ - --prefix=/usr \ - --sysconfdir=/etc \ - --buildtype=release \ - -Dxwayland=disabled \ - -Ddevelop=false - -DESTDIR="$1" ninja -C build install diff --git a/wayland/vivarium/checksums b/wayland/vivarium/checksums deleted file mode 100644 index 9e5fc05..0000000 --- a/wayland/vivarium/checksums +++ /dev/null @@ -1 +0,0 @@ -1c752a8c270e550cf1975f2f3ad99fdf5e03e7e53fe0834cfc641cd72d09b2ad diff --git a/wayland/vivarium/depends b/wayland/vivarium/depends deleted file mode 100644 index 3825e51..0000000 --- a/wayland/vivarium/depends +++ /dev/null @@ -1,6 +0,0 @@ - -libinput -libxkbcommon -pixman -wayland-protocols -wlroots diff --git a/wayland/vivarium/sources b/wayland/vivarium/sources deleted file mode 100644 index 711d76f..0000000 --- a/wayland/vivarium/sources +++ /dev/null @@ -1 +0,0 @@ -https://github.com/inclement/vivarium/archive/refs/tags/v0.0.3.tar.gz \ No newline at end of file diff --git a/wayland/vivarium/version b/wayland/vivarium/version deleted file mode 100644 index 54a3452..0000000 --- a/wayland/vivarium/version +++ /dev/null @@ -1,2 +0,0 @@ -0.0.3 1 - diff --git a/wayland/wayland-protocols/checksums b/wayland/wayland-protocols/checksums deleted file mode 100644 index 3a63d59..0000000 --- a/wayland/wayland-protocols/checksums +++ /dev/null @@ -1 +0,0 @@ -b99945842d8be18817c26ee77dafa157883af89268e15f4a5a1a1ff3ffa4cde5 diff --git a/wayland/wayland-protocols/depends b/wayland/wayland-protocols/depends deleted file mode 100644 index ab60f1a..0000000 --- a/wayland/wayland-protocols/depends +++ /dev/null @@ -1 +0,0 @@ -wayland make diff --git a/wayland/wayland-protocols/sources b/wayland/wayland-protocols/sources deleted file mode 100644 index 5ae0197..0000000 --- a/wayland/wayland-protocols/sources +++ /dev/null @@ -1 +0,0 @@ -https://wayland.freedesktop.org/releases/wayland-protocols-1.21.tar.xz diff --git a/wayland/wayland-protocols/version b/wayland/wayland-protocols/version deleted file mode 100644 index 2cdfb39..0000000 --- a/wayland/wayland-protocols/version +++ /dev/null @@ -1 +0,0 @@ -1.21 1 diff --git a/wayland/wayland/checksums b/wayland/wayland/checksums deleted file mode 100644 index 24aea1c..0000000 --- a/wayland/wayland/checksums +++ /dev/null @@ -1 +0,0 @@ -baccd902300d354581cd5ad3cc49daa4921d55fb416a5883e218750fef166d15 diff --git a/wayland/wayland/sources b/wayland/wayland/sources deleted file mode 100644 index 9e20a50..0000000 --- a/wayland/wayland/sources +++ /dev/null @@ -1 +0,0 @@ -https://wayland.freedesktop.org/releases/wayland-1.19.0.tar.xz diff --git a/wayland/wayland/version b/wayland/wayland/version deleted file mode 100644 index 0d6bfe8..0000000 --- a/wayland/wayland/version +++ /dev/null @@ -1 +0,0 @@ -1.19.0 1 diff --git a/wayland/wlroots/build b/wayland/wlroots/build deleted file mode 100755 index e8864f1..0000000 --- a/wayland/wlroots/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -e - -export DESTDIR="$1" - -meson \ - --prefix=/usr \ - --buildtype=release \ - -Dexamples=false \ - -Dlogind=disabled \ - -Dxcb-errors=disabled \ - -Dxcb-icccm=disabled \ - -Dxwayland=disabled \ - -Dx11-backend=disabled \ - . build - -ninja -C build -ninja -C build install diff --git a/wayland/wlroots/checksums b/wayland/wlroots/checksums deleted file mode 100644 index 76fb101..0000000 --- a/wayland/wlroots/checksums +++ /dev/null @@ -1 +0,0 @@ -f6bea37fd4a6f5e5f552b83d61adae8c73e64b0bcb9ae0ab464ebcd9309d3cf3 diff --git a/wayland/wlroots/depends b/wayland/wlroots/depends deleted file mode 100644 index 7d6b4b1..0000000 --- a/wayland/wlroots/depends +++ /dev/null @@ -1,11 +0,0 @@ -flex make -libinput -libxkbcommon -linux-headers make -mesa -meson make -pixman -pkgconf make -samurai make -wayland-protocols make -xkeyboard-config diff --git a/wayland/wlroots/sources b/wayland/wlroots/sources deleted file mode 100644 index 954dc25..0000000 --- a/wayland/wlroots/sources +++ /dev/null @@ -1 +0,0 @@ -https://github.com/swaywm/wlroots/archive/0.13.0.tar.gz diff --git a/wayland/wlroots/version b/wayland/wlroots/version deleted file mode 100644 index 8a78163..0000000 --- a/wayland/wlroots/version +++ /dev/null @@ -1 +0,0 @@ -0.13.0 1 diff --git a/xorg/brightnessctl/depends b/xorg/brightnessctl/depends deleted file mode 100644 index e69de29..0000000 diff --git a/xorg/brownout/build b/xorg/brownout/build new file mode 100755 index 0000000..88032b7 --- /dev/null +++ b/xorg/brownout/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make PREFIX=/usr +make PREFIX=/usr DESTDIR="$1" install diff --git a/xorg/brownout/checksums b/xorg/brownout/checksums new file mode 100644 index 0000000..2b020a4 --- /dev/null +++ b/xorg/brownout/checksums @@ -0,0 +1 @@ +949e6fccdabc237200f4e8202b0bf38151d55f7403bb2d87d725cba0574e1a2b diff --git a/xorg/brownout/depends b/xorg/brownout/depends new file mode 100644 index 0000000..1cdd87c --- /dev/null +++ b/xorg/brownout/depends @@ -0,0 +1,2 @@ +libX11 +libXrandr diff --git a/xorg/brownout/sources b/xorg/brownout/sources new file mode 100644 index 0000000..42181f9 --- /dev/null +++ b/xorg/brownout/sources @@ -0,0 +1 @@ +https://github.com/graupe/brownout/archive/refs/tags/v0.4.tar.gz \ No newline at end of file diff --git a/xorg/brownout/version b/xorg/brownout/version new file mode 100644 index 0000000..2bea266 --- /dev/null +++ b/xorg/brownout/version @@ -0,0 +1 @@ +0.4 1 diff --git a/xorg/libICE/build b/xorg/libICE/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/xorg/libICE/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/xorg/libICE/checksums b/xorg/libICE/checksums new file mode 100644 index 0000000..98a60cf --- /dev/null +++ b/xorg/libICE/checksums @@ -0,0 +1 @@ +6f86dce12cf4bcaf5c37dddd8b1b64ed2ddf1ef7b218f22b9942595fb747c348 libICE-1.0.10.tar.bz2 diff --git a/xorg/libICE/depends b/xorg/libICE/depends new file mode 100644 index 0000000..ff0c653 --- /dev/null +++ b/xorg/libICE/depends @@ -0,0 +1,3 @@ +pkgconf make +xorgproto make +xtrans make diff --git a/xorg/libICE/sources b/xorg/libICE/sources new file mode 100644 index 0000000..1137b15 --- /dev/null +++ b/xorg/libICE/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libICE-1.0.10.tar.bz2 diff --git a/xorg/libICE/version b/xorg/libICE/version new file mode 100644 index 0000000..2d248d7 --- /dev/null +++ b/xorg/libICE/version @@ -0,0 +1 @@ +1.0.10 1 diff --git a/xorg/libSM/build b/xorg/libSM/build new file mode 100755 index 0000000..801017e --- /dev/null +++ b/xorg/libSM/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --without-libuuid + +make +make DESTDIR="$1" install diff --git a/xorg/libSM/checksums b/xorg/libSM/checksums new file mode 100644 index 0000000..67486e6 --- /dev/null +++ b/xorg/libSM/checksums @@ -0,0 +1 @@ +2d264499dcb05f56438dee12a1b4b71d76736ce7ba7aa6efbf15ebb113769cbb libSM-1.2.3.tar.bz2 diff --git a/xorg/libSM/depends b/xorg/libSM/depends new file mode 100644 index 0000000..468728d --- /dev/null +++ b/xorg/libSM/depends @@ -0,0 +1,3 @@ +libICE +pkgconf make +xtrans make diff --git a/xorg/libSM/sources b/xorg/libSM/sources new file mode 100644 index 0000000..a9b4bbe --- /dev/null +++ b/xorg/libSM/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libSM-1.2.3.tar.bz2 diff --git a/xorg/libSM/version b/xorg/libSM/version new file mode 100644 index 0000000..883a7ec --- /dev/null +++ b/xorg/libSM/version @@ -0,0 +1 @@ +1.2.3 1 diff --git a/xorg/libXcomposite/version b/xorg/libXcomposite/version index d49665f..b8bed14 100644 --- a/xorg/libXcomposite/version +++ b/xorg/libXcomposite/version @@ -1 +1 @@ -0.4.5 2 +0.4.5 1 diff --git a/xorg/libXcursor/version b/xorg/libXcursor/version index 9d7d10a..8b9a47f 100644 --- a/xorg/libXcursor/version +++ b/xorg/libXcursor/version @@ -1 +1 @@ -1.2.0 2 +1.2.0 1 diff --git a/xorg/libXdamage/version b/xorg/libXdamage/version index 89d25d2..3d29560 100644 --- a/xorg/libXdamage/version +++ b/xorg/libXdamage/version @@ -1 +1 @@ -1.1.5 2 +1.1.5 1 diff --git a/xorg/libXext/version b/xorg/libXext/version index d289440..737bdf4 100644 --- a/xorg/libXext/version +++ b/xorg/libXext/version @@ -1 +1 @@ -1.3.4 2 +1.3.4 1 diff --git a/xorg/libXrender/version b/xorg/libXrender/version index 6377cbb..b1465b7 100644 --- a/xorg/libXrender/version +++ b/xorg/libXrender/version @@ -1 +1 @@ -0.9.10 2 +0.9.10 1 diff --git a/xorg/libfontenc/build b/xorg/libfontenc/build new file mode 100755 index 0000000..b1980f7 --- /dev/null +++ b/xorg/libfontenc/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-fontrootdir=/usr/share/fonts/X11 + +make +make DESTDIR="$1" install diff --git a/xorg/libfontenc/checksums b/xorg/libfontenc/checksums new file mode 100644 index 0000000..23248ab --- /dev/null +++ b/xorg/libfontenc/checksums @@ -0,0 +1 @@ +2cfcce810ddd48f2e5dc658d28c1808e86dcf303eaff16728b9aa3dbc0092079 libfontenc-1.1.4.tar.bz2 diff --git a/xorg/libfontenc/depends b/xorg/libfontenc/depends new file mode 100644 index 0000000..d60ad15 --- /dev/null +++ b/xorg/libfontenc/depends @@ -0,0 +1,3 @@ +pkgconf make +xorgproto make +zlib diff --git a/xorg/libfontenc/sources b/xorg/libfontenc/sources new file mode 100644 index 0000000..db937a3 --- /dev/null +++ b/xorg/libfontenc/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libfontenc-1.1.4.tar.bz2 diff --git a/xorg/libfontenc/version b/xorg/libfontenc/version new file mode 100644 index 0000000..b01ca96 --- /dev/null +++ b/xorg/libfontenc/version @@ -0,0 +1 @@ +1.1.4 1 diff --git a/xorg/libpciaccess/build b/xorg/libpciaccess/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/xorg/libpciaccess/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/xorg/libpciaccess/checksums b/xorg/libpciaccess/checksums new file mode 100644 index 0000000..3e2c8c1 --- /dev/null +++ b/xorg/libpciaccess/checksums @@ -0,0 +1 @@ +214c9d0d884fdd7375ec8da8dcb91a8d3169f263294c9a90c575bf1938b9f489 libpciaccess-0.16.tar.bz2 diff --git a/xorg/libpciaccess/sources b/xorg/libpciaccess/sources new file mode 100644 index 0000000..e2d1679 --- /dev/null +++ b/xorg/libpciaccess/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libpciaccess-0.16.tar.bz2 diff --git a/xorg/libpciaccess/version b/xorg/libpciaccess/version new file mode 100644 index 0000000..06da242 --- /dev/null +++ b/xorg/libpciaccess/version @@ -0,0 +1 @@ +0.16 1 diff --git a/xorg/libxcb/build b/xorg/libxcb/build new file mode 100755 index 0000000..285ad90 --- /dev/null +++ b/xorg/libxcb/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +sed -i 's/pthread-stubs //' configure + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/xorg/libxcb/checksums b/xorg/libxcb/checksums new file mode 100644 index 0000000..0d257af --- /dev/null +++ b/xorg/libxcb/checksums @@ -0,0 +1 @@ +a55ed6db98d43469801262d81dc2572ed124edc3db31059d4e9916eb9f844c34 libxcb-1.14.tar.xz diff --git a/xorg/libxcb/depends b/xorg/libxcb/depends new file mode 100644 index 0000000..5e13142 --- /dev/null +++ b/xorg/libxcb/depends @@ -0,0 +1,5 @@ +libXau +pkgconf make +python make +xcb-proto +xorg-util-macros diff --git a/xorg/libxcb/sources b/xorg/libxcb/sources new file mode 100644 index 0000000..79f6299 --- /dev/null +++ b/xorg/libxcb/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.14.tar.xz diff --git a/xorg/libxcb/version b/xorg/libxcb/version new file mode 100644 index 0000000..cfaaf4d --- /dev/null +++ b/xorg/libxcb/version @@ -0,0 +1 @@ +1.14 1 diff --git a/xorg/libxkbcommon/depends b/xorg/libxkbcommon/depends index 350e4c7..a20c6f0 100644 --- a/xorg/libxkbcommon/depends +++ b/xorg/libxkbcommon/depends @@ -1,3 +1,3 @@ -bison make +byacc make meson make pkgconf make diff --git a/xorg/libxkbcommon/version b/xorg/libxkbcommon/version index a21ffc5..0a2d7f2 100644 --- a/xorg/libxkbcommon/version +++ b/xorg/libxkbcommon/version @@ -1 +1 @@ -1.3.0 2 +1.3.0 1 diff --git a/xorg/libxkbfile/build b/xorg/libxkbfile/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/xorg/libxkbfile/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/xorg/libxkbfile/checksums b/xorg/libxkbfile/checksums new file mode 100644 index 0000000..7320a84 --- /dev/null +++ b/xorg/libxkbfile/checksums @@ -0,0 +1 @@ +758dbdaa20add2db4902df0b1b7c936564b7376c02a0acd1f2a331bd334b38c7 libxkbfile-1.1.0.tar.bz2 diff --git a/xorg/libxkbfile/depends b/xorg/libxkbfile/depends new file mode 100644 index 0000000..b3fe0df --- /dev/null +++ b/xorg/libxkbfile/depends @@ -0,0 +1,3 @@ +libX11 make +pkgconf make +xorgproto make diff --git a/xorg/libxkbfile/sources b/xorg/libxkbfile/sources new file mode 100644 index 0000000..3421d44 --- /dev/null +++ b/xorg/libxkbfile/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libxkbfile-1.1.0.tar.bz2 diff --git a/xorg/libxkbfile/version b/xorg/libxkbfile/version new file mode 100644 index 0000000..7281bb5 --- /dev/null +++ b/xorg/libxkbfile/version @@ -0,0 +1 @@ +1.1.0 1 diff --git a/xorg/libxshmfence/build b/xorg/libxshmfence/build new file mode 100755 index 0000000..4a70bbd --- /dev/null +++ b/xorg/libxshmfence/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-shared-memory-dir=/dev/shm + +make +make DESTDIR="$1" install diff --git a/xorg/libxshmfence/checksums b/xorg/libxshmfence/checksums new file mode 100644 index 0000000..64031f3 --- /dev/null +++ b/xorg/libxshmfence/checksums @@ -0,0 +1 @@ +b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7 libxshmfence-1.3.tar.bz2 diff --git a/xorg/libxshmfence/depends b/xorg/libxshmfence/depends new file mode 100644 index 0000000..2b5e439 --- /dev/null +++ b/xorg/libxshmfence/depends @@ -0,0 +1,2 @@ +pkgconf make +xorgproto make diff --git a/xorg/libxshmfence/sources b/xorg/libxshmfence/sources new file mode 100644 index 0000000..703a3fa --- /dev/null +++ b/xorg/libxshmfence/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libxshmfence-1.3.tar.bz2 diff --git a/xorg/libxshmfence/version b/xorg/libxshmfence/version new file mode 100644 index 0000000..a37a04c --- /dev/null +++ b/xorg/libxshmfence/version @@ -0,0 +1 @@ +1.3 1 diff --git a/xorg/pixman/build b/xorg/pixman/build new file mode 100755 index 0000000..cb0b1bf --- /dev/null +++ b/xorg/pixman/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-gtk + +make +make DESTDIR="$1" install diff --git a/xorg/pixman/checksums b/xorg/pixman/checksums new file mode 100644 index 0000000..8df09aa --- /dev/null +++ b/xorg/pixman/checksums @@ -0,0 +1 @@ +da8ed9fe2d1c5ef8ce5d1207992db959226bd4e37e3f88acf908fd9a71e2704e pixman-0.40.0.tar.xz diff --git a/xorg/pixman/sources b/xorg/pixman/sources new file mode 100644 index 0000000..3b4975d --- /dev/null +++ b/xorg/pixman/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/pixman-0.40.0.tar.xz diff --git a/xorg/pixman/version b/xorg/pixman/version new file mode 100644 index 0000000..950c002 --- /dev/null +++ b/xorg/pixman/version @@ -0,0 +1 @@ +0.40.0 1 diff --git a/xorg/redshift/build b/xorg/redshift/build deleted file mode 100755 index b3864b6..0000000 --- a/xorg/redshift/build +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/sh -e - -./configure --prefix="/usr" \ - --with-systemduserunitdir=no - -make PREFIX=/usr -make PREFIX=/usr DESTDIR="$1" install diff --git a/xorg/redshift/checksums b/xorg/redshift/checksums deleted file mode 100644 index 0df0618..0000000 --- a/xorg/redshift/checksums +++ /dev/null @@ -1 +0,0 @@ -5111145773f1ade10c5967c531f8c1938b42171399bf48126db10162a04b4a48 diff --git a/xorg/redshift/depends b/xorg/redshift/depends deleted file mode 100644 index 1dca2ab..0000000 --- a/xorg/redshift/depends +++ /dev/null @@ -1,3 +0,0 @@ -gettext-tiny make -intltool make -libxcb diff --git a/xorg/redshift/sources b/xorg/redshift/sources deleted file mode 100644 index c6498c7..0000000 --- a/xorg/redshift/sources +++ /dev/null @@ -1 +0,0 @@ -https://github.com/jonls/redshift/releases/download/v1.12/redshift-1.12.tar.gz diff --git a/xorg/redshift/version b/xorg/redshift/version deleted file mode 100644 index 0b0e6ad..0000000 --- a/xorg/redshift/version +++ /dev/null @@ -1 +0,0 @@ -1.12 2 diff --git a/xorg/spectrwm/build b/xorg/spectrwm/build index a563df9..485497d 100755 --- a/xorg/spectrwm/build +++ b/xorg/spectrwm/build @@ -6,4 +6,4 @@ make PREFIX=/usr DESTDIR="$1" install mkdir -p "$1/etc/spectrwm" install -Dm644 ../spectrwm.conf "$1/etc/spectrwm/" -install -Dm644 ../spectrwm_us.conf "$1/etc/spectrwm/" \ No newline at end of file +install -Dm644 ../spectrwm_us.conf "$1/etc/spectrwm/" diff --git a/xorg/spectrwm/post-install b/xorg/spectrwm/post-install index 0cf3a7a..2248b8b 100755 --- a/xorg/spectrwm/post-install +++ b/xorg/spectrwm/post-install @@ -1,4 +1,4 @@ #!/usr/bin/env sh printf %s "the default config files will not work because -they hard depend on dmenu and terminus-font." \ No newline at end of file +they hard depend on dmenu and terminus-font." diff --git a/xorg/sx/build b/xorg/sx/build new file mode 100755 index 0000000..0837405 --- /dev/null +++ b/xorg/sx/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make PREFIX=/usr DESTDIR="$1" install diff --git a/xorg/sx/checksums b/xorg/sx/checksums new file mode 100644 index 0000000..1a1158f --- /dev/null +++ b/xorg/sx/checksums @@ -0,0 +1 @@ +git git+https://github.com/Earnestly/sx diff --git a/xorg/sx/depends b/xorg/sx/depends new file mode 100644 index 0000000..b856c14 --- /dev/null +++ b/xorg/sx/depends @@ -0,0 +1,2 @@ +xauth +xorg-server diff --git a/xorg/sx/sources b/xorg/sx/sources new file mode 100644 index 0000000..72f0dfc --- /dev/null +++ b/xorg/sx/sources @@ -0,0 +1 @@ +git+https://github.com/Earnestly/sx diff --git a/wayland/inaban/version b/xorg/sx/version similarity index 85% rename from wayland/inaban/version rename to xorg/sx/version index da65ba7..a383ea1 100644 --- a/wayland/inaban/version +++ b/xorg/sx/version @@ -1,2 +1 @@ git 1 - diff --git a/xorg/xcape/version b/xorg/xcape/version index 154ba13..f76d834 100644 --- a/xorg/xcape/version +++ b/xorg/xcape/version @@ -1 +1 @@ -1.2 2 +1.2 1 diff --git a/xorg/xcb-util/build b/xorg/xcb-util/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/xorg/xcb-util/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/xorg/xcb-util/checksums b/xorg/xcb-util/checksums new file mode 100644 index 0000000..8e6359c --- /dev/null +++ b/xorg/xcb-util/checksums @@ -0,0 +1 @@ +46e49469cb3b594af1d33176cd7565def2be3fa8be4371d62271fabb5eae50e9 xcb-util-0.4.0.tar.bz2 diff --git a/xorg/xcb-util/depends b/xorg/xcb-util/depends new file mode 100644 index 0000000..5fae28c --- /dev/null +++ b/xorg/xcb-util/depends @@ -0,0 +1,3 @@ +libXau +libxcb +pkgconf make diff --git a/xorg/xcb-util/sources b/xorg/xcb-util/sources new file mode 100644 index 0000000..630c138 --- /dev/null +++ b/xorg/xcb-util/sources @@ -0,0 +1 @@ +https://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2 diff --git a/xorg/xcb-util/version b/xorg/xcb-util/version new file mode 100644 index 0000000..6f3c0f7 --- /dev/null +++ b/xorg/xcb-util/version @@ -0,0 +1 @@ +0.4.0 1 diff --git a/xorg/xf86-input-libinput/build b/xorg/xf86-input-libinput/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/xorg/xf86-input-libinput/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/xorg/xf86-input-libinput/checksums b/xorg/xf86-input-libinput/checksums new file mode 100644 index 0000000..8774011 --- /dev/null +++ b/xorg/xf86-input-libinput/checksums @@ -0,0 +1 @@ +e11d2a41419124a6e9b148f1df181bf7819fc7398c8ee9a1b6390b0742c68d16 diff --git a/xorg/xf86-input-libinput/depends b/xorg/xf86-input-libinput/depends new file mode 100644 index 0000000..cd0f7ac --- /dev/null +++ b/xorg/xf86-input-libinput/depends @@ -0,0 +1,4 @@ +libinput +linux-headers make +pkgconf make +xorg-server diff --git a/xorg/xf86-input-libinput/sources b/xorg/xf86-input-libinput/sources new file mode 100644 index 0000000..f852654 --- /dev/null +++ b/xorg/xf86-input-libinput/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/driver/xf86-input-libinput-1.1.0.tar.bz2 diff --git a/xorg/xf86-input-libinput/version b/xorg/xf86-input-libinput/version new file mode 100644 index 0000000..7281bb5 --- /dev/null +++ b/xorg/xf86-input-libinput/version @@ -0,0 +1 @@ +1.1.0 1 diff --git a/xorg/xorg-fonts-misc/sources b/xorg/xorg-fonts-misc/sources index 6516996..53a1328 100644 --- a/xorg/xorg-fonts-misc/sources +++ b/xorg/xorg-fonts-misc/sources @@ -11,4 +11,4 @@ https://xorg.freedesktop.org/releases/individual/font/font-misc-misc-1.1.2.tar.b https://xorg.freedesktop.org/releases/individual/font/font-mutt-misc-1.0.3.tar.bz2 mutt https://xorg.freedesktop.org/releases/individual/font/font-schumacher-misc-1.1.2.tar.bz2 schumacher https://xorg.freedesktop.org/releases/individual/font/font-sony-misc-1.0.3.tar.bz2 sony -https://xorg.freedesktop.org/releases/individual/font/font-sun-misc-1.0.3.tar.bz2 sun \ No newline at end of file +https://xorg.freedesktop.org/releases/individual/font/font-sun-misc-1.0.3.tar.bz2 sun diff --git a/xorg/xorg-server/post-install b/xorg/xorg-server/post-install index 9bf24e0..dff83cc 100755 --- a/xorg/xorg-server/post-install +++ b/xorg/xorg-server/post-install @@ -1,8 +1,8 @@ #!/bin/sh # Give Xorg setgid to /dev/input. -chown :input "$KISS_ROOT/usr/bin/Xorg" -chmod g+s "$KISS_ROOT/usr/bin/Xorg" +chown :input "$ASD_ROOT/usr/bin/Xorg" +chmod g+s "$ASD_ROOT/usr/bin/Xorg" cat < addgroup USER video diff --git a/xorg/xorg-util-macros/depends b/xorg/xorg-util-macros/depends deleted file mode 100644 index e69de29..0000000 diff --git a/xorg/xorgproto/build b/xorg/xorgproto/build new file mode 100755 index 0000000..20f084f --- /dev/null +++ b/xorg/xorgproto/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-legacy + +make +make DESTDIR="$1" install diff --git a/xorg/xorgproto/checksums b/xorg/xorgproto/checksums new file mode 100644 index 0000000..d8706a6 --- /dev/null +++ b/xorg/xorgproto/checksums @@ -0,0 +1 @@ +c38878053179c6f8bc2daeeeeb4710b5fbf0e46db5b3134aee4a1977ffb06e7a diff --git a/xorg/xorgproto/sources b/xorg/xorgproto/sources new file mode 100644 index 0000000..fe1c709 --- /dev/null +++ b/xorg/xorgproto/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/archive/individual/proto/xorgproto-2021.4.99.2.tar.bz2 diff --git a/xorg/xorgproto/version b/xorg/xorgproto/version new file mode 100644 index 0000000..fcb959f --- /dev/null +++ b/xorg/xorgproto/version @@ -0,0 +1 @@ +2021.4.99.2 1 diff --git a/xorg/xsel/version b/xorg/xsel/version index 9d7d10a..8b9a47f 100644 --- a/xorg/xsel/version +++ b/xorg/xsel/version @@ -1 +1 @@ -1.2.0 2 +1.2.0 1 diff --git a/xorg/xtrans/build b/xorg/xtrans/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/xorg/xtrans/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/xorg/xtrans/checksums b/xorg/xtrans/checksums new file mode 100644 index 0000000..7d58cad --- /dev/null +++ b/xorg/xtrans/checksums @@ -0,0 +1 @@ +377c4491593c417946efcd2c7600d1e62639f7a8bbca391887e2c4679807d773 xtrans-1.4.0.tar.bz2 diff --git a/xorg/xtrans/depends b/xorg/xtrans/depends new file mode 100644 index 0000000..5e737b4 --- /dev/null +++ b/xorg/xtrans/depends @@ -0,0 +1 @@ +pkgconf make diff --git a/xorg/xtrans/sources b/xorg/xtrans/sources new file mode 100644 index 0000000..c8c9fc9 --- /dev/null +++ b/xorg/xtrans/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/xtrans-1.4.0.tar.bz2 diff --git a/xorg/xtrans/version b/xorg/xtrans/version new file mode 100644 index 0000000..bf41768 --- /dev/null +++ b/xorg/xtrans/version @@ -0,0 +1 @@ +1.4.0 1 -- 2.39.2