diff --git a/NOTES b/NOTES new file mode 100644 index 0000000..409694e --- /dev/null +++ b/NOTES @@ -0,0 +1,7 @@ +-LessTif is busted; tries to mkdir an existing dir +-Package Haskell tools to allow building shellcheck from source +-es needs to have its patch adjusted + +-rename all non-obvious GNU tools to gnu-$package +-rename all libraries to lib$package, adjust depends +-remove superfluous packages diff --git a/README b/README index 969765a..a9262ce 100644 --- a/README +++ b/README @@ -6,9 +6,9 @@ The mbase directory contains symlinks to packages that I install as my core user The banished directory contains software that has been isolated for whatever reason. May or may not include a "JUSTIFICATION" file to remind myself in the future. -Note that not all of the packages in this repo are written by me; some are forked from Community. This is purely a matter of convenience. +Note that not all of the packages in this repo are written by me; some are forked from Core and Community. This is purely a matter of convenience. -All packages under mbase have been tested and build on the Haswell microarchitecture using the following buildflags (at least assuming GCC and GNU libc); +All packages under mbase have been tested and build on the Haswell microarchitecture using the following CFLAGS (assuming GCC): -pipe //Compile in memory -w //Suppress errors @@ -19,8 +19,56 @@ All packages under mbase have been tested and build on the Haswell microarchitec -momit-leaf-frame-pointer //Leave out unneeded pointers -ftree-loop-vectorize //Vectorize trees (unsure of the implications, but doesn't appear to cause breakage; will investigate further) -fstack-protector-strong //Sacrifice a fair amount of performance in order to protect from stack smashing - --param ssp-buffer-size=4 // Increase the number of functions under the stack protector + --param ssp-buffer-size=4 //Increase the number of functions under the stack protector -fstack-clash-protection //Protect from stack clashing. Will investigate further -fPIE //Generate position-independent executables -fPIC //Generate position-independent code -Wl,--hash-style=gnu //Linker arguments + +A new subdir, bin, containing binaries built with the above CFLAGS (sans native) +will be added in the future. I, however, encourage you to build from source if +possible. + +________________________________________________________________________________ + +|/ https://k1sslinux.org +|\ISS https://git.sdf.org/midfavila/kiss-mfavila +________________________________________________________________________________ + +(Un)Official Repositories + +________________________________________________________________________________ + +The unofficial repositories for KISS Linux maintained by Mid Favila. +Included in my repo is a snapshot of the community and musl core, xorg, and +extra repos as of 2021/7/9, modified to replace the utterly garbage packages +that some members had contributed (in blatant violation of guidelines, too!). + +These were forked due to upstream's insistence on switching from LibreSSL to +OpenSSL, and from X11 to Wayland; the former due to Python, and the latter, +I'm not quite sure of. Regardless, I dislike these changes. + +Over time, packages that I'm not willing to maintain will be moved to +mid-graveyard; after a few months, they'll be deleted. + +Any programs that require Python as a build-time dependency will have their +scripts rewritten in Common Lisp, or they will be removed. This will happen +ASAP. + +I will also be removing packages that I just flat out don't like. If you want +them yourself, then copy them from an old git push. Software that will be +removed and never added includes, but is not limited to, the following; + + -systemd or any of its ilk + -OpenSSL or programs that explicitly depend on it + -Programs that require a version of Python newer than 3.8 + -Programs written with or requiring Rust tooling + -Programs written primarily by or for corporations, such as BTRFS utilities + (This applies triply to FAGMAN; Facebook, Apple, Google, Microsoft, + Amazon, and Netflix. I also will not tolerate software related to Tencent + or similar organizations) + +NOTE THAT I AM NOT AFFILIATED WITH THE KISS LINUX ORGANIZATION IN ANY OFFICIAL +CAPACITY. THEY ARE NOT RESPONSIBLE FOR THESE PACKAGES. DO NOT SUBMIT REPORTS IN +#KISSLINUX ON LIBERA.CHAT IF THESE BREAK; EMAIL ME. THANK YOU FOR YOUR +COOPERATION. diff --git a/community-mod/2bwm/build b/community-mod/2bwm/build new file mode 100755 index 0000000..28bda35 --- /dev/null +++ b/community-mod/2bwm/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make PREFIX=/usr +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/2bwm/checksums b/community-mod/2bwm/checksums new file mode 100644 index 0000000..bd43481 --- /dev/null +++ b/community-mod/2bwm/checksums @@ -0,0 +1 @@ +a4889ea4b01b1a3d4a508daa034b9d86676913cbbca1f977858df692a6e2af95 v0.3.tar.gz diff --git a/community-mod/2bwm/depends b/community-mod/2bwm/depends new file mode 100644 index 0000000..2ca375f --- /dev/null +++ b/community-mod/2bwm/depends @@ -0,0 +1,4 @@ +libxcb +xcb-util-xrm +xcb-util-wm +xcb-util-keysyms diff --git a/community-mod/2bwm/sources b/community-mod/2bwm/sources new file mode 100644 index 0000000..e8e7f0e --- /dev/null +++ b/community-mod/2bwm/sources @@ -0,0 +1 @@ +https://github.com/venam/2bwm/archive/v0.3.tar.gz diff --git a/community-mod/2bwm/version b/community-mod/2bwm/version new file mode 100644 index 0000000..cc15c62 --- /dev/null +++ b/community-mod/2bwm/version @@ -0,0 +1 @@ +0.3 1 diff --git a/community-mod/9base/build b/community-mod/9base/build new file mode 100755 index 0000000..d5660e1 --- /dev/null +++ b/community-mod/9base/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -fcommon" + +make PREFIX=/usr +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/9base/checksums b/community-mod/9base/checksums new file mode 100644 index 0000000..fe9de26 --- /dev/null +++ b/community-mod/9base/checksums @@ -0,0 +1 @@ +git git+https://git.suckless.org/9base diff --git a/community-mod/9base/sources b/community-mod/9base/sources new file mode 100644 index 0000000..3c7fb8b --- /dev/null +++ b/community-mod/9base/sources @@ -0,0 +1 @@ +git+https://git.suckless.org/9base diff --git a/community-mod/9base/version b/community-mod/9base/version new file mode 100644 index 0000000..d4ed325 --- /dev/null +++ b/community-mod/9base/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/abduco/build b/community-mod/abduco/build new file mode 100755 index 0000000..431cc72 --- /dev/null +++ b/community-mod/abduco/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/abduco/checksums b/community-mod/abduco/checksums new file mode 100644 index 0000000..b11deab --- /dev/null +++ b/community-mod/abduco/checksums @@ -0,0 +1 @@ +c90909e13fa95770b5afc3b59f311b3d3d2fdfae23f9569fa4f96a3e192a35f4 abduco-0.6.tar.gz diff --git a/community-mod/abduco/sources b/community-mod/abduco/sources new file mode 100644 index 0000000..464f8ea --- /dev/null +++ b/community-mod/abduco/sources @@ -0,0 +1 @@ +https://www.brain-dump.org/projects/abduco/abduco-0.6.tar.gz diff --git a/community-mod/abduco/version b/community-mod/abduco/version new file mode 100644 index 0000000..424287d --- /dev/null +++ b/community-mod/abduco/version @@ -0,0 +1 @@ +0.6 1 diff --git a/community-mod/alsa-plugins/build b/community-mod/alsa-plugins/build new file mode 100755 index 0000000..6b0a232 --- /dev/null +++ b/community-mod/alsa-plugins/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install diff --git a/community-mod/alsa-plugins/checksums b/community-mod/alsa-plugins/checksums new file mode 100644 index 0000000..899ddaf --- /dev/null +++ b/community-mod/alsa-plugins/checksums @@ -0,0 +1 @@ +1c0f06450c928d711719686c9dbece2d480184f36fab11b8f0534cb7b41e337d alsa-plugins-1.2.2.tar.bz2 diff --git a/community-mod/alsa-plugins/depends b/community-mod/alsa-plugins/depends new file mode 100644 index 0000000..74cfefd --- /dev/null +++ b/community-mod/alsa-plugins/depends @@ -0,0 +1,2 @@ +alsa-lib +pkgconf build diff --git a/community-mod/alsa-plugins/sources b/community-mod/alsa-plugins/sources new file mode 100644 index 0000000..0633c6f --- /dev/null +++ b/community-mod/alsa-plugins/sources @@ -0,0 +1 @@ +https://www.alsa-project.org/files/pub/plugins/alsa-plugins-1.2.2.tar.bz2 diff --git a/community-mod/alsa-plugins/version b/community-mod/alsa-plugins/version new file mode 100644 index 0000000..5266927 --- /dev/null +++ b/community-mod/alsa-plugins/version @@ -0,0 +1 @@ +1.2.2 1 diff --git a/community-mod/aria2/build b/community-mod/aria2/build new file mode 100755 index 0000000..9fae614 --- /dev/null +++ b/community-mod/aria2/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-nls \ + --disable-metalink \ + --disable-websocket \ + --without-libxml2 \ + --without-libexpat \ + --without-sqlite3 + +make +make DESTDIR="$1" install diff --git a/community-mod/aria2/checksums b/community-mod/aria2/checksums new file mode 100644 index 0000000..5092f23 --- /dev/null +++ b/community-mod/aria2/checksums @@ -0,0 +1 @@ +1e2b7fd08d6af228856e51c07173cfcf987528f1ac97e04c5af4a47642617dfd aria2-1.35.0.tar.xz diff --git a/community-mod/aria2/depends b/community-mod/aria2/depends new file mode 100644 index 0000000..f8df7bb --- /dev/null +++ b/community-mod/aria2/depends @@ -0,0 +1,3 @@ +libressl +xz +zlib diff --git a/community-mod/aria2/sources b/community-mod/aria2/sources new file mode 100644 index 0000000..beae00b --- /dev/null +++ b/community-mod/aria2/sources @@ -0,0 +1 @@ +https://github.com/tatsuhiro-t/aria2/releases/download/release-1.35.0/aria2-1.35.0.tar.xz diff --git a/community-mod/aria2/version b/community-mod/aria2/version new file mode 100644 index 0000000..5f2b3d1 --- /dev/null +++ b/community-mod/aria2/version @@ -0,0 +1 @@ +1.35.0 2 diff --git a/community-mod/autoconf-archive/build b/community-mod/autoconf-archive/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/autoconf-archive/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/autoconf-archive/checksums b/community-mod/autoconf-archive/checksums new file mode 100644 index 0000000..5dd7c12 --- /dev/null +++ b/community-mod/autoconf-archive/checksums @@ -0,0 +1 @@ +e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd diff --git a/community-mod/autoconf-archive/sources b/community-mod/autoconf-archive/sources new file mode 100644 index 0000000..029be42 --- /dev/null +++ b/community-mod/autoconf-archive/sources @@ -0,0 +1 @@ +https://ftp.wayne.edu/gnu/autoconf-archive/autoconf-archive-2021.02.19.tar.xz diff --git a/community-mod/autoconf-archive/version b/community-mod/autoconf-archive/version new file mode 100644 index 0000000..fbba2da --- /dev/null +++ b/community-mod/autoconf-archive/version @@ -0,0 +1 @@ +2021.02.19 1 diff --git a/community-mod/autoconf/build b/community-mod/autoconf/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/autoconf/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/autoconf/checksums b/community-mod/autoconf/checksums new file mode 100644 index 0000000..7a7892f --- /dev/null +++ b/community-mod/autoconf/checksums @@ -0,0 +1 @@ +431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c diff --git a/community-mod/autoconf/depends b/community-mod/autoconf/depends new file mode 100644 index 0000000..8fd1a89 --- /dev/null +++ b/community-mod/autoconf/depends @@ -0,0 +1,2 @@ +m4 +perl diff --git a/community-mod/autoconf/sources b/community-mod/autoconf/sources new file mode 100644 index 0000000..dbf7c3e --- /dev/null +++ b/community-mod/autoconf/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.71.tar.gz diff --git a/community-mod/autoconf/version b/community-mod/autoconf/version new file mode 100644 index 0000000..929d147 --- /dev/null +++ b/community-mod/autoconf/version @@ -0,0 +1 @@ +2.71 1 diff --git a/community-mod/automake/build b/community-mod/automake/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/automake/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/automake/checksums b/community-mod/automake/checksums new file mode 100644 index 0000000..b02a661 --- /dev/null +++ b/community-mod/automake/checksums @@ -0,0 +1 @@ +ce010788b51f64511a1e9bb2a1ec626037c6d0e7ede32c1c103611b9d3cba65f diff --git a/community-mod/automake/depends b/community-mod/automake/depends new file mode 100644 index 0000000..ef9f132 --- /dev/null +++ b/community-mod/automake/depends @@ -0,0 +1,2 @@ +autoconf +perl diff --git a/community-mod/automake/sources b/community-mod/automake/sources new file mode 100644 index 0000000..d6ed262 --- /dev/null +++ b/community-mod/automake/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/automake/automake-1.16.3.tar.gz diff --git a/community-mod/automake/version b/community-mod/automake/version new file mode 100644 index 0000000..c52bb82 --- /dev/null +++ b/community-mod/automake/version @@ -0,0 +1 @@ +1.16.3 1 diff --git a/community-mod/axel/build b/community-mod/axel/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/axel/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/axel/checksums b/community-mod/axel/checksums new file mode 100644 index 0000000..c22e300 --- /dev/null +++ b/community-mod/axel/checksums @@ -0,0 +1 @@ +46eb4f10a11c4e50320ae6a034ef03ffe59dc11c3c6542a9867a3e4dc0c4b44e diff --git a/community-mod/axel/depends b/community-mod/axel/depends new file mode 100644 index 0000000..75929cf --- /dev/null +++ b/community-mod/axel/depends @@ -0,0 +1 @@ +libressl diff --git a/community-mod/axel/sources b/community-mod/axel/sources new file mode 100644 index 0000000..bf00e93 --- /dev/null +++ b/community-mod/axel/sources @@ -0,0 +1 @@ +https://github.com/axel-download-accelerator/axel/releases/download/v2.17.10/axel-2.17.10.tar.xz diff --git a/community-mod/axel/version b/community-mod/axel/version new file mode 100644 index 0000000..c067037 --- /dev/null +++ b/community-mod/axel/version @@ -0,0 +1 @@ +2.17.10 1 diff --git a/community-mod/azpainter/build b/community-mod/azpainter/build new file mode 100755 index 0000000..fbbbb0f --- /dev/null +++ b/community-mod/azpainter/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/azpainter/checksums b/community-mod/azpainter/checksums new file mode 100644 index 0000000..90fb027 --- /dev/null +++ b/community-mod/azpainter/checksums @@ -0,0 +1 @@ +d5483c965cb92cd318d20d45e7d61ec75cc2add418a00162fca836c59349c1a5 diff --git a/community-mod/azpainter/depends b/community-mod/azpainter/depends new file mode 100644 index 0000000..b20789c --- /dev/null +++ b/community-mod/azpainter/depends @@ -0,0 +1,7 @@ +fontconfig +libjpeg-turbo +libpng +libX11 +libXext +libXi +zlib diff --git a/community-mod/azpainter/sources b/community-mod/azpainter/sources new file mode 100644 index 0000000..f4014c6 --- /dev/null +++ b/community-mod/azpainter/sources @@ -0,0 +1 @@ +https://gitlab.com/azelpg/azpainter/-/archive/v3.0.2/azpainter-v3.0.2.tar.gz diff --git a/community-mod/azpainter/version b/community-mod/azpainter/version new file mode 100644 index 0000000..0a6f822 --- /dev/null +++ b/community-mod/azpainter/version @@ -0,0 +1 @@ +3.0.2 1 diff --git a/community-mod/bash/build b/community-mod/bash/build new file mode 100755 index 0000000..f759c19 --- /dev/null +++ b/community-mod/bash/build @@ -0,0 +1,20 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +patch -p1 < bash-5.1-parallel_make.patch + +for patch in bash51-0??; do + patch -p0 < "$patch" +done + +./configure \ + --prefix=/usr \ + --without-bash-malloc \ + --without-installed-readline \ + --disable-nls + +make +make DESTDIR="$1" install + +ln -s bash "$1/usr/bin/sh" diff --git a/community-mod/bash/checksums b/community-mod/bash/checksums new file mode 100644 index 0000000..bdc31c9 --- /dev/null +++ b/community-mod/bash/checksums @@ -0,0 +1,10 @@ +cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa +ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa +15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe +22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1 +9aaeb65664ef0d28c0067e47ba5652b518298b3b92d33327d84b98b28d873c86 +cccbb5e9e6763915d232d29c713007a62b06e65126e3dd2d1128a0dc5ef46da5 +75e17d937de862615c6375def40a7574462210dce88cf741f660e2cc29473d14 +acfcb8c7e9f73457c0fb12324afb613785e0c9cef3315c9bbab4be702f40393a +f22cf3c51a28f084a25aef28950e8777489072628f972b12643b4534a17ed2d1 +4d299f5db33bd0f916ec1309e4568e3842670642cf160f14a3e867eb0feb493e diff --git a/community-mod/bash/depends b/community-mod/bash/depends new file mode 100644 index 0000000..82c37a6 --- /dev/null +++ b/community-mod/bash/depends @@ -0,0 +1,2 @@ +bison make +ncurses diff --git a/community-mod/bash/patches/bash-5.1-parallel_make.patch b/community-mod/bash/patches/bash-5.1-parallel_make.patch new file mode 100644 index 0000000..b341a8a --- /dev/null +++ b/community-mod/bash/patches/bash-5.1-parallel_make.patch @@ -0,0 +1,15 @@ +bashline.c:65:10: fatal error: builtins/builtext.h: No such file or directory + 65 | #include "builtins/builtext.h" /* for read_builtin */ + | ^~~~~~~~~~~~~~~~~~~~~ + +--- bash-5.1/Makefile.in ++++ bash-5.1/Makefile.in +@@ -584,6 +584,8 @@ + ls -l $(Program) + -$(SIZE) $(Program) + ++$(CSOURCES): $(DEFDIR)/builtext.h ++ + .build: $(SOURCES) config.h Makefile version.h $(VERSPROG) + @echo + @echo " ***********************************************************" diff --git a/community-mod/bash/sources b/community-mod/bash/sources new file mode 100644 index 0000000..8db69d5 --- /dev/null +++ b/community-mod/bash/sources @@ -0,0 +1,10 @@ +https://ftp.gnu.org/gnu/bash/bash-5.1.tar.gz +https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-001 +https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-002 +https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-003 +https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-004 +https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-005 +https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-006 +https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-007 +https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-008 +patches/bash-5.1-parallel_make.patch diff --git a/community-mod/bash/version b/community-mod/bash/version new file mode 100644 index 0000000..60b8563 --- /dev/null +++ b/community-mod/bash/version @@ -0,0 +1 @@ +5.1.p8 1 diff --git a/community-mod/bdftopcf/build b/community-mod/bdftopcf/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/bdftopcf/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/bdftopcf/checksums b/community-mod/bdftopcf/checksums new file mode 100644 index 0000000..7afbc5e --- /dev/null +++ b/community-mod/bdftopcf/checksums @@ -0,0 +1 @@ +4b4df05fc53f1e98993638d6f7e178d95b31745c4568cee407e167491fd311a2 bdftopcf-1.1.tar.bz2 diff --git a/community-mod/bdftopcf/depends b/community-mod/bdftopcf/depends new file mode 100644 index 0000000..127059b --- /dev/null +++ b/community-mod/bdftopcf/depends @@ -0,0 +1,2 @@ +xorg-util-macros make +xorgproto make diff --git a/community-mod/bdftopcf/sources b/community-mod/bdftopcf/sources new file mode 100644 index 0000000..217507c --- /dev/null +++ b/community-mod/bdftopcf/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/archive/individual/app/bdftopcf-1.1.tar.bz2 diff --git a/community-mod/bdftopcf/version b/community-mod/bdftopcf/version new file mode 100644 index 0000000..f8b0b37 --- /dev/null +++ b/community-mod/bdftopcf/version @@ -0,0 +1 @@ +1.1 1 diff --git a/community-mod/berry/build b/community-mod/berry/build new file mode 100755 index 0000000..ad884ba --- /dev/null +++ b/community-mod/berry/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" bindir=/usr/bin mandir=/usr/share/man install diff --git a/community-mod/berry/checksums b/community-mod/berry/checksums new file mode 100644 index 0000000..b292b59 --- /dev/null +++ b/community-mod/berry/checksums @@ -0,0 +1 @@ +bcdf93805ad023d5635f5017230636bbfbe2698721cf4a0041a48ffb19d58844 diff --git a/community-mod/berry/depends b/community-mod/berry/depends new file mode 100644 index 0000000..9d3dd12 --- /dev/null +++ b/community-mod/berry/depends @@ -0,0 +1,3 @@ +libX11 +libXft +libXinerama diff --git a/community-mod/berry/sources b/community-mod/berry/sources new file mode 100644 index 0000000..e9348ec --- /dev/null +++ b/community-mod/berry/sources @@ -0,0 +1 @@ +https://github.com/JLErvin/berry/archive/refs/tags/0.1.8.tar.gz diff --git a/community-mod/berry/version b/community-mod/berry/version new file mode 100644 index 0000000..f8376ca --- /dev/null +++ b/community-mod/berry/version @@ -0,0 +1 @@ +0.1.8 1 diff --git a/community-mod/bind/build b/community-mod/bind/build new file mode 100755 index 0000000..29b9f04 --- /dev/null +++ b/community-mod/bind/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +# Remove libtool dependency. +sed -i 's/as_fn_error.*libtool/: "/g' configure + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin + +make +make DESTDIR="$1" install + +# Why are tests installed to $DESTDIR's /tmp ? +rm -rf "$1/tmp" diff --git a/community-mod/bind/checksums b/community-mod/bind/checksums new file mode 100644 index 0000000..6969e0a --- /dev/null +++ b/community-mod/bind/checksums @@ -0,0 +1 @@ +bf485ac49715d43fa65c2c6e33271aab965bcd1b461fe2ac9f439754a210e6c7 diff --git a/community-mod/bind/depends b/community-mod/bind/depends new file mode 100644 index 0000000..702fcb4 --- /dev/null +++ b/community-mod/bind/depends @@ -0,0 +1,9 @@ +json-c +libcap +libnghttp2 +libressl +libuv +perl make +pkgconf make +xz +zlib diff --git a/community-mod/bind/sources b/community-mod/bind/sources new file mode 100644 index 0000000..2ca12e0 --- /dev/null +++ b/community-mod/bind/sources @@ -0,0 +1 @@ +https://downloads.isc.org/isc/bind9/9.17.13/bind-9.17.13.tar.xz diff --git a/community-mod/bind/version b/community-mod/bind/version new file mode 100644 index 0000000..d6d7dbd --- /dev/null +++ b/community-mod/bind/version @@ -0,0 +1 @@ +9.17.13 1 diff --git a/community-mod/birch/build b/community-mod/birch/build new file mode 100755 index 0000000..8d1474a --- /dev/null +++ b/community-mod/birch/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +install -Dm755 birch "$1/usr/bin/birch" diff --git a/community-mod/birch/depends b/community-mod/birch/depends new file mode 100644 index 0000000..705963a --- /dev/null +++ b/community-mod/birch/depends @@ -0,0 +1 @@ +bash diff --git a/community-mod/birch/sources b/community-mod/birch/sources new file mode 100644 index 0000000..061277b --- /dev/null +++ b/community-mod/birch/sources @@ -0,0 +1 @@ +git+https://github.com/dylanaraps/birch diff --git a/community-mod/birch/version b/community-mod/birch/version new file mode 100644 index 0000000..d4ed325 --- /dev/null +++ b/community-mod/birch/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/bitfetch/build b/community-mod/bitfetch/build new file mode 100755 index 0000000..d8552dd --- /dev/null +++ b/community-mod/bitfetch/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make ID=kiss bitfetch-build +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/bitfetch/checksums b/community-mod/bitfetch/checksums new file mode 100644 index 0000000..c188147 --- /dev/null +++ b/community-mod/bitfetch/checksums @@ -0,0 +1 @@ +36a2902dfe257e30b9b6a01a0dc3d479b5c400a2d6a37ebd9f3514b6d80e48ed diff --git a/community-mod/bitfetch/depends b/community-mod/bitfetch/depends new file mode 100644 index 0000000..9003f85 --- /dev/null +++ b/community-mod/bitfetch/depends @@ -0,0 +1,2 @@ +libX11 +libXinerama diff --git a/community-mod/bitfetch/sources b/community-mod/bitfetch/sources new file mode 100644 index 0000000..816012f --- /dev/null +++ b/community-mod/bitfetch/sources @@ -0,0 +1 @@ +https://gitlab.com/bit9tream/bitfetch/-/archive/3.1/bitfetch-3.1.tar.gz diff --git a/community-mod/bitfetch/version b/community-mod/bitfetch/version new file mode 100644 index 0000000..e751c9e --- /dev/null +++ b/community-mod/bitfetch/version @@ -0,0 +1 @@ +3.1 1 diff --git a/community-mod/bkeymaps/build b/community-mod/bkeymaps/build new file mode 100755 index 0000000..e2a3803 --- /dev/null +++ b/community-mod/bkeymaps/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make DESTDIR="$1" install +install -Dm644 -t "$1/usr/share/bkeymaps/colemak" en-latin9.bmap diff --git a/community-mod/bkeymaps/checksums b/community-mod/bkeymaps/checksums new file mode 100644 index 0000000..2e497ef --- /dev/null +++ b/community-mod/bkeymaps/checksums @@ -0,0 +1,2 @@ +59d41ddb0c7a92d8ac155a82ed2875b7880c8957ea4308afa633c8b81e5b8887 bkeymaps-1.13.tar.gz +f4e10f53a60516a0db572d0b1298be303dcdc5f83e2fe587379b887a85283acd bkeymap-colemak-1.13.tar.gz diff --git a/community-mod/bkeymaps/post-install b/community-mod/bkeymaps/post-install new file mode 100755 index 0000000..f15c1c1 --- /dev/null +++ b/community-mod/bkeymaps/post-install @@ -0,0 +1,13 @@ +#!/bin/sh -e + +cat < loadkmap < /usr/share/bkeymaps/us/us.bmap + +EOF diff --git a/community-mod/bkeymaps/sources b/community-mod/bkeymaps/sources new file mode 100644 index 0000000..0390c47 --- /dev/null +++ b/community-mod/bkeymaps/sources @@ -0,0 +1,2 @@ +https://dev.alpinelinux.org/bkeymaps/bkeymaps-1.13.tar.gz +https://dev.alpinelinux.org/bkeymaps/bkeymap-colemak-1.13.tar.gz diff --git a/community-mod/bkeymaps/version b/community-mod/bkeymaps/version new file mode 100644 index 0000000..f5836c7 --- /dev/null +++ b/community-mod/bkeymaps/version @@ -0,0 +1 @@ +1.13 3 diff --git a/community-mod/boehm-gc/build b/community-mod/boehm-gc/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/boehm-gc/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/boehm-gc/checksums b/community-mod/boehm-gc/checksums new file mode 100644 index 0000000..81aae4d --- /dev/null +++ b/community-mod/boehm-gc/checksums @@ -0,0 +1 @@ +436a0ddc67b1ac0b0405b61a9675bca9e075c8156f4debd1d06f3a56c7cd289d gc-8.0.4.tar.gz diff --git a/community-mod/boehm-gc/sources b/community-mod/boehm-gc/sources new file mode 100644 index 0000000..1170905 --- /dev/null +++ b/community-mod/boehm-gc/sources @@ -0,0 +1 @@ +https://github.com/ivmai/bdwgc/releases/download/v8.0.4/gc-8.0.4.tar.gz diff --git a/community-mod/boehm-gc/version b/community-mod/boehm-gc/version new file mode 100644 index 0000000..002e467 --- /dev/null +++ b/community-mod/boehm-gc/version @@ -0,0 +1 @@ +8.0.4 1 diff --git a/community-mod/boost/build b/community-mod/boost/build new file mode 100755 index 0000000..8468a84 --- /dev/null +++ b/community-mod/boost/build @@ -0,0 +1,17 @@ +#!/bin/sh -e + +./bootstrap.sh \ + --prefix="$1/usr" \ + --with-python=/usr/bin/python3 + +for action in stage install; do + ./b2 $action \ + variant=release \ + debug-symbols=off \ + threading=multi \ + python=3.9 +done + +# https://github.com/boostorg/python/issues/203#issuecomment-391477685 +ln -s "$1/usr/lib/libboost_python39.so" "$1/usr/lib/libboost_python3.so" +ln -s "$1/usr/lib/libboost_numpy39.so" "$1/usr/lib/libboost_numpy3.so" diff --git a/community-mod/boost/checksums b/community-mod/boost/checksums new file mode 100644 index 0000000..2f76a57 --- /dev/null +++ b/community-mod/boost/checksums @@ -0,0 +1 @@ +f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41 diff --git a/community-mod/boost/depends b/community-mod/boost/depends new file mode 100644 index 0000000..b46d22a --- /dev/null +++ b/community-mod/boost/depends @@ -0,0 +1,2 @@ +linux-headers make +python diff --git a/community-mod/boost/sources b/community-mod/boost/sources new file mode 100644 index 0000000..5d2b21a --- /dev/null +++ b/community-mod/boost/sources @@ -0,0 +1 @@ +https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2 diff --git a/community-mod/boost/version b/community-mod/boost/version new file mode 100644 index 0000000..03a7967 --- /dev/null +++ b/community-mod/boost/version @@ -0,0 +1 @@ +1.76.0 1 diff --git a/community-mod/brotli/build b/community-mod/brotli/build new file mode 100755 index 0000000..d44a1f5 --- /dev/null +++ b/community-mod/brotli/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True + +cmake --build build +cmake --install build diff --git a/community-mod/brotli/checksums b/community-mod/brotli/checksums new file mode 100644 index 0000000..ad5322d --- /dev/null +++ b/community-mod/brotli/checksums @@ -0,0 +1 @@ +f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46 diff --git a/community-mod/brotli/depends b/community-mod/brotli/depends new file mode 100644 index 0000000..7d91ec2 --- /dev/null +++ b/community-mod/brotli/depends @@ -0,0 +1 @@ +cmake make diff --git a/community-mod/brotli/sources b/community-mod/brotli/sources new file mode 100644 index 0000000..82e06f1 --- /dev/null +++ b/community-mod/brotli/sources @@ -0,0 +1 @@ +https://github.com/google/brotli/archive/refs/tags/v1.0.9.tar.gz diff --git a/community-mod/brotli/version b/community-mod/brotli/version new file mode 100644 index 0000000..7773763 --- /dev/null +++ b/community-mod/brotli/version @@ -0,0 +1 @@ +1.0.9 1 diff --git a/community-mod/brownout/build b/community-mod/brownout/build new file mode 100755 index 0000000..5eedb34 --- /dev/null +++ b/community-mod/brownout/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make PREFIX=/usr DESTDIR="$1" clean install diff --git a/community-mod/brownout/checksums b/community-mod/brownout/checksums new file mode 100644 index 0000000..2b020a4 --- /dev/null +++ b/community-mod/brownout/checksums @@ -0,0 +1 @@ +949e6fccdabc237200f4e8202b0bf38151d55f7403bb2d87d725cba0574e1a2b diff --git a/community-mod/brownout/depends b/community-mod/brownout/depends new file mode 100644 index 0000000..1903bba --- /dev/null +++ b/community-mod/brownout/depends @@ -0,0 +1 @@ +libX11 diff --git a/community-mod/brownout/sources b/community-mod/brownout/sources new file mode 100644 index 0000000..7f5d422 --- /dev/null +++ b/community-mod/brownout/sources @@ -0,0 +1 @@ +https://github.com/graupe/brownout/archive/refs/tags/v0.4.tar.gz diff --git a/community-mod/brownout/version b/community-mod/brownout/version new file mode 100644 index 0000000..2bea266 --- /dev/null +++ b/community-mod/brownout/version @@ -0,0 +1 @@ +0.4 1 diff --git a/community-mod/bspwm/build b/community-mod/bspwm/build new file mode 100755 index 0000000..28bda35 --- /dev/null +++ b/community-mod/bspwm/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make PREFIX=/usr +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/bspwm/checksums b/community-mod/bspwm/checksums new file mode 100644 index 0000000..cff2759 --- /dev/null +++ b/community-mod/bspwm/checksums @@ -0,0 +1 @@ +0d0f5e465b9c27a5c2143c86189392fa297fad55253b9ed8f6854473d3928f8f 0.9.10.tar.gz diff --git a/community-mod/bspwm/depends b/community-mod/bspwm/depends new file mode 100644 index 0000000..07e9fcb --- /dev/null +++ b/community-mod/bspwm/depends @@ -0,0 +1,4 @@ +libxcb +xcb-util-wm +xcb-util-keysyms +xcb-util make diff --git a/community-mod/bspwm/sources b/community-mod/bspwm/sources new file mode 100644 index 0000000..6560554 --- /dev/null +++ b/community-mod/bspwm/sources @@ -0,0 +1 @@ +https://github.com/baskerville/bspwm/archive/0.9.10.tar.gz diff --git a/community-mod/bspwm/version b/community-mod/bspwm/version new file mode 100644 index 0000000..b1465b7 --- /dev/null +++ b/community-mod/bspwm/version @@ -0,0 +1 @@ +0.9.10 1 diff --git a/community-mod/bubblewrap/build b/community-mod/bubblewrap/build new file mode 100755 index 0000000..105d1e2 --- /dev/null +++ b/community-mod/bubblewrap/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +patch -p1 < realpath-workaround.patch + +./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --with-priv-mode=none \ + --disable-man + +make +make DESTDIR="$1" install diff --git a/community-mod/bubblewrap/checksums b/community-mod/bubblewrap/checksums new file mode 100644 index 0000000..9d929e8 --- /dev/null +++ b/community-mod/bubblewrap/checksums @@ -0,0 +1,2 @@ +b9c69b9b1c61a608f34325c8e1a495229bacf6e4a07cbb0c80cf7a814d7ccc03 bubblewrap-0.4.1.tar.xz +404da6bab5143d5f52b5fc1ec234ede30080a9e97e1fb428c941993fedde9cc9 realpath-workaround.patch diff --git a/community-mod/bubblewrap/depends b/community-mod/bubblewrap/depends new file mode 100644 index 0000000..8456694 --- /dev/null +++ b/community-mod/bubblewrap/depends @@ -0,0 +1 @@ +libcap diff --git a/community-mod/bubblewrap/patches/realpath-workaround.patch b/community-mod/bubblewrap/patches/realpath-workaround.patch new file mode 100644 index 0000000..8474faf --- /dev/null +++ b/community-mod/bubblewrap/patches/realpath-workaround.patch @@ -0,0 +1,53 @@ +Musl realpath() implementation currently depends on /proc which is +not available when setting up pivot root. For the time being just +fallback to a naive normalization algorithm originated from +VoidLinux' xbps. If there was path that would have required advanced +normalizing as provided by realpath() the following parse_mountinfo() +will fail. + + +diff --git bind-mount.c.orig bind-mount.c +index 045fa0e..d05b540 100644 +--- ./bind-mount.c.orig ++++ ./bind-mount.c +@@ -23,6 +23,28 @@ + #include "utils.h" + #include "bind-mount.h" + ++#ifndef __GLIBC__ ++static char * ++normpath(char *path) ++{ ++ char *seg = NULL, *p = NULL; ++ ++ for (p = path, seg = NULL; *p; p++) { ++ if (strncmp(p, "/../", 4) == 0 || strncmp(p, "/..", 4) == 0) { ++ memmove(seg ? seg : p, p+3, strlen(p+3) + 1); ++ return normpath(path); ++ } else if (strncmp(p, "/./", 3) == 0 || strncmp(p, "/.", 3) == 0) { ++ memmove(p, p+2, strlen(p+2) + 1); ++ } else if (strncmp(p, "//", 2) == 0 || strncmp(p, "/", 2) == 0) { ++ memmove(p, p+1, strlen(p+1) + 1); ++ } ++ if (*p == '/') ++ seg = p; ++ } ++ return path; ++} ++#endif ++ + static char * + skip_token (char *line, bool eat_whitespace) + { +@@ -397,7 +419,11 @@ bind_mount (int proc_fd, + path, so to find it in the mount table we need to do that too. */ + resolved_dest = realpath (dest, NULL); + if (resolved_dest == NULL) ++#ifdef __GLIBC__ + return 2; ++#else ++ resolved_dest = normpath(strdup(dest)); ++#endif + + mount_tab = parse_mountinfo (proc_fd, resolved_dest); + if (mount_tab[0].mountpoint == NULL) diff --git a/community-mod/bubblewrap/sources b/community-mod/bubblewrap/sources new file mode 100644 index 0000000..87c19cb --- /dev/null +++ b/community-mod/bubblewrap/sources @@ -0,0 +1,2 @@ +https://github.com/containers/bubblewrap/releases/download/v0.4.1/bubblewrap-0.4.1.tar.xz +patches/realpath-workaround.patch diff --git a/community-mod/bubblewrap/version b/community-mod/bubblewrap/version new file mode 100644 index 0000000..3d58e2e --- /dev/null +++ b/community-mod/bubblewrap/version @@ -0,0 +1 @@ +0.4.1 1 diff --git a/community-mod/calcurse/build b/community-mod/calcurse/build new file mode 100755 index 0000000..0e578f3 --- /dev/null +++ b/community-mod/calcurse/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +sed -i '/ical-009.sh \\/d' test/Makefile.in + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --disable-docs \ + --without-asciidoc \ + --disable-nls \ + --without-asciidoc + +make +make DESTDIR="$1" install diff --git a/community-mod/calcurse/checksums b/community-mod/calcurse/checksums new file mode 100644 index 0000000..25a25c2 --- /dev/null +++ b/community-mod/calcurse/checksums @@ -0,0 +1 @@ +ef6675966a53f41196006ce624ece222fe400da0563f4fed1ae0272ad45c8435 diff --git a/community-mod/calcurse/depends b/community-mod/calcurse/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/calcurse/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/calcurse/sources b/community-mod/calcurse/sources new file mode 100644 index 0000000..5dcb696 --- /dev/null +++ b/community-mod/calcurse/sources @@ -0,0 +1 @@ +https://calcurse.org/files/calcurse-4.7.0.tar.gz diff --git a/community-mod/calcurse/version b/community-mod/calcurse/version new file mode 100644 index 0000000..31bf072 --- /dev/null +++ b/community-mod/calcurse/version @@ -0,0 +1 @@ +4.7.0 1 diff --git a/community-mod/ccrypt/build b/community-mod/ccrypt/build new file mode 100755 index 0000000..13959c4 --- /dev/null +++ b/community-mod/ccrypt/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man + +make +make DESTDIR="$1" install diff --git a/community-mod/ccrypt/checksums b/community-mod/ccrypt/checksums new file mode 100644 index 0000000..3e1ba99 --- /dev/null +++ b/community-mod/ccrypt/checksums @@ -0,0 +1 @@ +b19c47500a96ee5fbd820f704c912f6efcc42b638c0a6aa7a4e3dc0a6b51a44f diff --git a/community-mod/ccrypt/sources b/community-mod/ccrypt/sources new file mode 100644 index 0000000..f79afa5 --- /dev/null +++ b/community-mod/ccrypt/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/ccrypt/ccrypt-1.11.tar.gz diff --git a/community-mod/ccrypt/version b/community-mod/ccrypt/version new file mode 100644 index 0000000..1c832f3 --- /dev/null +++ b/community-mod/ccrypt/version @@ -0,0 +1 @@ +1.11 1 diff --git a/community-mod/cdrtools/build b/community-mod/cdrtools/build new file mode 100755 index 0000000..a1d64f0 --- /dev/null +++ b/community-mod/cdrtools/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +# We have to edit files to set the install location +sed -i 's|/opt/schily|/usr|' DEFAULTS/Defaults.linux + +# install rscsi to /usr/bin instead of /usr/sbin +sed -i 's|INSDIR=.*|INSDIR=bin|' rscsi/Makefile + +make +make DESTDIR="$1" install \ No newline at end of file diff --git a/community-mod/cdrtools/checksums b/community-mod/cdrtools/checksums new file mode 100644 index 0000000..a3110f4 --- /dev/null +++ b/community-mod/cdrtools/checksums @@ -0,0 +1 @@ +a9261273b5a1a2da51bebc70584e63291b28ac6836237a4963865c50a9a026bb diff --git a/community-mod/cdrtools/sources b/community-mod/cdrtools/sources new file mode 100644 index 0000000..16515b4 --- /dev/null +++ b/community-mod/cdrtools/sources @@ -0,0 +1 @@ +https://deac-riga.dl.sourceforge.net/project/cdrtools/cdrtools-3.01.tar.gz diff --git a/community-mod/cdrtools/version b/community-mod/cdrtools/version new file mode 100644 index 0000000..6de1cde --- /dev/null +++ b/community-mod/cdrtools/version @@ -0,0 +1 @@ +3.01 1 diff --git a/community-mod/cjson/build b/community-mod/cjson/build new file mode 100755 index 0000000..fcac1d0 --- /dev/null +++ b/community-mod/cjson/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +# Install static libs, avoid adding a 'cmake' dependency. +for lib in CJSON UTILS; do + sed -i "s/\$(INSTALL) \$(${lib}_SHARED)/& \$(${lib}_STATIC)/" Makefile +done + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/cjson/checksums b/community-mod/cjson/checksums new file mode 100644 index 0000000..f33b454 --- /dev/null +++ b/community-mod/cjson/checksums @@ -0,0 +1 @@ +fb50a663eefdc76bafa80c82bc045af13b1363e8f45cec8b442007aef6a41343 diff --git a/community-mod/cjson/sources b/community-mod/cjson/sources new file mode 100644 index 0000000..7a755bd --- /dev/null +++ b/community-mod/cjson/sources @@ -0,0 +1 @@ +https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.14.tar.gz diff --git a/community-mod/cjson/version b/community-mod/cjson/version new file mode 100644 index 0000000..81350a4 --- /dev/null +++ b/community-mod/cjson/version @@ -0,0 +1 @@ +1.7.14 1 diff --git a/community-mod/cloc/build b/community-mod/cloc/build new file mode 100755 index 0000000..2636c0b --- /dev/null +++ b/community-mod/cloc/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +install -Dm755 cloc "$1/usr/bin/cloc" diff --git a/community-mod/cloc/checksums b/community-mod/cloc/checksums new file mode 100644 index 0000000..15862dc --- /dev/null +++ b/community-mod/cloc/checksums @@ -0,0 +1 @@ +152502a61d4bae4a406a05a01bf52489b310ec03dbd8c645d0bb051fa4717ddb diff --git a/community-mod/cloc/depends b/community-mod/cloc/depends new file mode 100644 index 0000000..24475b5 --- /dev/null +++ b/community-mod/cloc/depends @@ -0,0 +1 @@ +perl diff --git a/community-mod/cloc/sources b/community-mod/cloc/sources new file mode 100644 index 0000000..55eb890 --- /dev/null +++ b/community-mod/cloc/sources @@ -0,0 +1 @@ +https://github.com/AlDanial/cloc/releases/download/v1.90/cloc-1.90.tar.gz \ No newline at end of file diff --git a/community-mod/cloc/version b/community-mod/cloc/version new file mode 100644 index 0000000..7d5b16b --- /dev/null +++ b/community-mod/cloc/version @@ -0,0 +1 @@ +1.90 1 diff --git a/community-mod/cmus/build b/community-mod/cmus/build new file mode 100755 index 0000000..62cb642 --- /dev/null +++ b/community-mod/cmus/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/cmus/checksums b/community-mod/cmus/checksums new file mode 100644 index 0000000..54e24a5 --- /dev/null +++ b/community-mod/cmus/checksums @@ -0,0 +1 @@ +6fb799cae60db9324f03922bbb2e322107fd386ab429c0271996985294e2ef44 diff --git a/community-mod/cmus/depends b/community-mod/cmus/depends new file mode 100755 index 0000000..6a470ff --- /dev/null +++ b/community-mod/cmus/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/cmus/sources b/community-mod/cmus/sources new file mode 100755 index 0000000..0c42b2f --- /dev/null +++ b/community-mod/cmus/sources @@ -0,0 +1 @@ +https://github.com/cmus/cmus/archive/v2.9.1.tar.gz diff --git a/community-mod/cmus/version b/community-mod/cmus/version new file mode 100755 index 0000000..1e63090 --- /dev/null +++ b/community-mod/cmus/version @@ -0,0 +1 @@ +2.9.1 1 diff --git a/community-mod/conky/build b/community-mod/conky/build new file mode 100755 index 0000000..d557bd7 --- /dev/null +++ b/community-mod/conky/build @@ -0,0 +1,14 @@ +#!/bin/sh + +export DESTDIR="$1" + +cmake -B build \ + -DRELEASE=ON \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_I18N=OFF \ + -DCURSES_NEED_WIDE=ON \ + -DCURSES_INCLUDE_PATH=/usr/include + +cmake --build build +cmake --install build diff --git a/community-mod/conky/checksums b/community-mod/conky/checksums new file mode 100644 index 0000000..4d5634b --- /dev/null +++ b/community-mod/conky/checksums @@ -0,0 +1 @@ +a7eb112fe7a6bcd6c44706a53cbf6222e640cd1e585492fc654aa9e05a7bbc94 diff --git a/community-mod/conky/depends b/community-mod/conky/depends new file mode 100644 index 0000000..5ba13f2 --- /dev/null +++ b/community-mod/conky/depends @@ -0,0 +1,8 @@ +cmake make +freetype-harfbuzz +imlib2 +libXft +libXinerama +lua make +ncurses +pkgconf make diff --git a/community-mod/conky/sources b/community-mod/conky/sources new file mode 100644 index 0000000..1308905 --- /dev/null +++ b/community-mod/conky/sources @@ -0,0 +1 @@ +https://github.com/brndnmtthws/conky/archive/v1.12.2.tar.gz diff --git a/community-mod/conky/version b/community-mod/conky/version new file mode 100644 index 0000000..de2321d --- /dev/null +++ b/community-mod/conky/version @@ -0,0 +1 @@ +1.12.2 1 diff --git a/community-mod/coreutils/build b/community-mod/coreutils/build new file mode 100755 index 0000000..206a476 --- /dev/null +++ b/community-mod/coreutils/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/coreutils/checksums b/community-mod/coreutils/checksums new file mode 100644 index 0000000..ed6feea --- /dev/null +++ b/community-mod/coreutils/checksums @@ -0,0 +1 @@ +4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa coreutils-8.32.tar.xz diff --git a/community-mod/coreutils/sources b/community-mod/coreutils/sources new file mode 100644 index 0000000..7b35a7a --- /dev/null +++ b/community-mod/coreutils/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz diff --git a/community-mod/coreutils/version b/community-mod/coreutils/version new file mode 100644 index 0000000..381e198 --- /dev/null +++ b/community-mod/coreutils/version @@ -0,0 +1 @@ +8.32 1 diff --git a/community-mod/cproc/build b/community-mod/cproc/build new file mode 100755 index 0000000..b77eaaa --- /dev/null +++ b/community-mod/cproc/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +# Specify the library path for linkers like `lld`. +sed -i 's/"ld",/& "-L", "\/usr\/lib",/' config.h + +make +make DESTDIR="$1" install diff --git a/community-mod/cproc/depends b/community-mod/cproc/depends new file mode 100644 index 0000000..f256e70 --- /dev/null +++ b/community-mod/cproc/depends @@ -0,0 +1 @@ +qbe diff --git a/community-mod/cproc/sources b/community-mod/cproc/sources new file mode 100644 index 0000000..c3da5eb --- /dev/null +++ b/community-mod/cproc/sources @@ -0,0 +1 @@ +git+https://git.sr.ht/~mcf/cproc diff --git a/community-mod/cproc/version b/community-mod/cproc/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/community-mod/cproc/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/crosstool-ng-git/build b/community-mod/crosstool-ng-git/build new file mode 100755 index 0000000..c183259 --- /dev/null +++ b/community-mod/crosstool-ng-git/build @@ -0,0 +1,25 @@ +#!/bin/sh -e + +[ "$(kiss-owns /usr/bin/patch)" = patch ] || { + printf "/usr/bin/patch must be GNU patch\n" + exit 1 +} + +[ "$(kiss-owns /usr/bin/awk)" = gawk ] || { + printf "/usr/bin/awk must be GNU awk\n" + exit 1 +} + +./bootstrap + +./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --disable-nls \ + --disable-rpath \ + --with-ncurses \ + makeinfo=true \ + help2man=true + +make +make DESTDIR="$1" install diff --git a/community-mod/crosstool-ng-git/depends b/community-mod/crosstool-ng-git/depends new file mode 100644 index 0000000..cce23ad --- /dev/null +++ b/community-mod/crosstool-ng-git/depends @@ -0,0 +1,9 @@ +automake make +bash +bison make +flex make +gawk make +libtool make +ncurses +patch make +rsync diff --git a/community-mod/crosstool-ng-git/sources b/community-mod/crosstool-ng-git/sources new file mode 100644 index 0000000..a4aadf1 --- /dev/null +++ b/community-mod/crosstool-ng-git/sources @@ -0,0 +1 @@ +git+https://github.com/crosstool-ng/crosstool-ng diff --git a/community-mod/crosstool-ng-git/version b/community-mod/crosstool-ng-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/community-mod/crosstool-ng-git/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/cryptsetup/build b/community-mod/cryptsetup/build new file mode 100755 index 0000000..e802410 --- /dev/null +++ b/community-mod/cryptsetup/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +machine=$(cc -dumpmachine) + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --build="$machine" \ + --host="$machine" \ + --disable-blkid + +make +make DESTDIR="$1" install diff --git a/community-mod/cryptsetup/checksums b/community-mod/cryptsetup/checksums new file mode 100644 index 0000000..b04218a --- /dev/null +++ b/community-mod/cryptsetup/checksums @@ -0,0 +1 @@ +b296b7a21ea576c2b180611ccb19d06aec8dddaedf7c704b0c6a81210c25635f diff --git a/community-mod/cryptsetup/depends b/community-mod/cryptsetup/depends new file mode 100644 index 0000000..ac0c9cd --- /dev/null +++ b/community-mod/cryptsetup/depends @@ -0,0 +1,5 @@ +json-c +lvm2 +pkgconf make +popt +util-linux diff --git a/community-mod/cryptsetup/sources b/community-mod/cryptsetup/sources new file mode 100644 index 0000000..84b05d5 --- /dev/null +++ b/community-mod/cryptsetup/sources @@ -0,0 +1 @@ +https://www.fossies.org/linux/misc/cryptsetup-2.3.6.tar.xz diff --git a/community-mod/cryptsetup/version b/community-mod/cryptsetup/version new file mode 100644 index 0000000..d5e6c57 --- /dev/null +++ b/community-mod/cryptsetup/version @@ -0,0 +1 @@ +2.3.6 1 diff --git a/community-mod/ctags/build b/community-mod/ctags/build new file mode 100755 index 0000000..729bf9f --- /dev/null +++ b/community-mod/ctags/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix="$1/usr" \ + --disable-etags + +make +make install diff --git a/community-mod/ctags/checksums b/community-mod/ctags/checksums new file mode 100644 index 0000000..b2036aa --- /dev/null +++ b/community-mod/ctags/checksums @@ -0,0 +1 @@ +0e44b45dcabe969e0bbbb11e30c246f81abe5d32012db37395eb57d66e9e99c7 diff --git a/community-mod/ctags/sources b/community-mod/ctags/sources new file mode 100644 index 0000000..314bb93 --- /dev/null +++ b/community-mod/ctags/sources @@ -0,0 +1 @@ +https://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz diff --git a/community-mod/ctags/version b/community-mod/ctags/version new file mode 100644 index 0000000..720a07f --- /dev/null +++ b/community-mod/ctags/version @@ -0,0 +1 @@ +5.8 1 diff --git a/community-mod/cwm/build b/community-mod/cwm/build new file mode 100755 index 0000000..431cc72 --- /dev/null +++ b/community-mod/cwm/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/cwm/depends b/community-mod/cwm/depends new file mode 100644 index 0000000..b6afff1 --- /dev/null +++ b/community-mod/cwm/depends @@ -0,0 +1,3 @@ +libX11 +libXft +libXrandr diff --git a/community-mod/cwm/sources b/community-mod/cwm/sources new file mode 100644 index 0000000..17f13d1 --- /dev/null +++ b/community-mod/cwm/sources @@ -0,0 +1 @@ +git+https://github.com/chneukirchen/cwm.git#9fb725f417a5cee1be4a768c94e49c4f0ce65dcf diff --git a/community-mod/cwm/version b/community-mod/cwm/version new file mode 100644 index 0000000..75368dc --- /dev/null +++ b/community-mod/cwm/version @@ -0,0 +1 @@ +6.7 1 diff --git a/community-mod/cyrus-sasl/build b/community-mod/cyrus-sasl/build new file mode 100755 index 0000000..79768ef --- /dev/null +++ b/community-mod/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/community-mod/cyrus-sasl/checksums b/community-mod/cyrus-sasl/checksums new file mode 100644 index 0000000..ddb956f --- /dev/null +++ b/community-mod/cyrus-sasl/checksums @@ -0,0 +1 @@ +26866b1549b00ffd020f188a43c258017fa1c382b3ddadd8201536f72efb05d5 cyrus-sasl-2.1.27.tar.gz diff --git a/community-mod/cyrus-sasl/depends b/community-mod/cyrus-sasl/depends new file mode 100644 index 0000000..75929cf --- /dev/null +++ b/community-mod/cyrus-sasl/depends @@ -0,0 +1 @@ +libressl diff --git a/community-mod/cyrus-sasl/sources b/community-mod/cyrus-sasl/sources new file mode 100644 index 0000000..50de422 --- /dev/null +++ b/community-mod/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/community-mod/cyrus-sasl/version b/community-mod/cyrus-sasl/version new file mode 100644 index 0000000..2696e66 --- /dev/null +++ b/community-mod/cyrus-sasl/version @@ -0,0 +1 @@ +2.1.27 3 diff --git a/community-mod/darkhttpd/build b/community-mod/darkhttpd/build new file mode 100755 index 0000000..dfa6c4c --- /dev/null +++ b/community-mod/darkhttpd/build @@ -0,0 +1,5 @@ +#!/bin/sh -e + +make + +install -Dm755 darkhttpd "$1/usr/bin/darkhttpd" diff --git a/community-mod/darkhttpd/checksums b/community-mod/darkhttpd/checksums new file mode 100644 index 0000000..6fc3c74 --- /dev/null +++ b/community-mod/darkhttpd/checksums @@ -0,0 +1 @@ +1d88c395ac79ca9365aa5af71afe4ad136a4ed45099ca398168d4a2014dc0fc2 diff --git a/community-mod/darkhttpd/sources b/community-mod/darkhttpd/sources new file mode 100644 index 0000000..37091a3 --- /dev/null +++ b/community-mod/darkhttpd/sources @@ -0,0 +1 @@ +https://github.com/emikulic/darkhttpd/archive/refs/tags/v1.13.tar.gz diff --git a/community-mod/darkhttpd/version b/community-mod/darkhttpd/version new file mode 100644 index 0000000..c63803d --- /dev/null +++ b/community-mod/darkhttpd/version @@ -0,0 +1 @@ +1.13 1 diff --git a/community-mod/dash/build b/community-mod/dash/build new file mode 100755 index 0000000..ad4b13c --- /dev/null +++ b/community-mod/dash/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +./configure \ + --prefix=/usr + +make DESTDIR="$1" install + +ln -s /usr/bin/dash "$1/usr/bin/sh" diff --git a/community-mod/dash/checksums b/community-mod/dash/checksums new file mode 100644 index 0000000..2be8d4d --- /dev/null +++ b/community-mod/dash/checksums @@ -0,0 +1 @@ +4e15b7ba5363bcc2a443549910cdc15b5ad601df8196b5f294c712eff037e08d diff --git a/community-mod/dash/sources b/community-mod/dash/sources new file mode 100644 index 0000000..9d5c3c3 --- /dev/null +++ b/community-mod/dash/sources @@ -0,0 +1 @@ +https://gondor.apana.org.au/~herbert/dash/files/dash-0.5.11.4.tar.gz diff --git a/community-mod/dash/version b/community-mod/dash/version new file mode 100644 index 0000000..795de95 --- /dev/null +++ b/community-mod/dash/version @@ -0,0 +1 @@ +0.5.11.4 1 diff --git a/community-mod/dejavu-ttf/build b/community-mod/dejavu-ttf/build new file mode 100755 index 0000000..ed4b519 --- /dev/null +++ b/community-mod/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/community-mod/dejavu-ttf/checksums b/community-mod/dejavu-ttf/checksums new file mode 100644 index 0000000..a5b8409 --- /dev/null +++ b/community-mod/dejavu-ttf/checksums @@ -0,0 +1 @@ +fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7 dejavu-fonts-ttf-2.37.tar.bz2 diff --git a/community-mod/dejavu-ttf/post-install b/community-mod/dejavu-ttf/post-install new file mode 100755 index 0000000..60cac80 --- /dev/null +++ b/community-mod/dejavu-ttf/post-install @@ -0,0 +1,3 @@ +#!/bin/sh + +fc-cache -f diff --git a/community-mod/dejavu-ttf/sources b/community-mod/dejavu-ttf/sources new file mode 100644 index 0000000..5d17b78 --- /dev/null +++ b/community-mod/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/community-mod/dejavu-ttf/version b/community-mod/dejavu-ttf/version new file mode 100644 index 0000000..c304d36 --- /dev/null +++ b/community-mod/dejavu-ttf/version @@ -0,0 +1 @@ +2.37 1 diff --git a/community-mod/diffutils/build b/community-mod/diffutils/build new file mode 100755 index 0000000..206a476 --- /dev/null +++ b/community-mod/diffutils/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/diffutils/checksums b/community-mod/diffutils/checksums new file mode 100644 index 0000000..785fdb3 --- /dev/null +++ b/community-mod/diffutils/checksums @@ -0,0 +1 @@ +b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26 diffutils-3.7.tar.xz diff --git a/community-mod/diffutils/sources b/community-mod/diffutils/sources new file mode 100644 index 0000000..f0af8e7 --- /dev/null +++ b/community-mod/diffutils/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/diffutils/diffutils-3.7.tar.xz diff --git a/community-mod/diffutils/version b/community-mod/diffutils/version new file mode 100644 index 0000000..fa0ebc7 --- /dev/null +++ b/community-mod/diffutils/version @@ -0,0 +1 @@ +3.7 1 diff --git a/community-mod/djvulibre/build b/community-mod/djvulibre/build new file mode 100755 index 0000000..a06ecf3 --- /dev/null +++ b/community-mod/djvulibre/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +autoreconf -i + +./configure \ + --prefix=/usr \ + --disable-desktopfiles + +make +make DESTDIR="$1" install diff --git a/community-mod/djvulibre/checksums b/community-mod/djvulibre/checksums new file mode 100644 index 0000000..1322767 --- /dev/null +++ b/community-mod/djvulibre/checksums @@ -0,0 +1 @@ +fcd009ea7654fde5a83600eb80757bd3a76998e47d13c66b54c8db849f8f2edc diff --git a/community-mod/djvulibre/sources b/community-mod/djvulibre/sources new file mode 100644 index 0000000..bcb8b17 --- /dev/null +++ b/community-mod/djvulibre/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/djvu/djvulibre-3.5.28.tar.gz diff --git a/community-mod/djvulibre/version b/community-mod/djvulibre/version new file mode 100644 index 0000000..41f689a --- /dev/null +++ b/community-mod/djvulibre/version @@ -0,0 +1 @@ +3.5.28 1 diff --git a/community-mod/dmenu/build b/community-mod/dmenu/build new file mode 100755 index 0000000..431cc72 --- /dev/null +++ b/community-mod/dmenu/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/dmenu/checksums b/community-mod/dmenu/checksums new file mode 100644 index 0000000..5de6c5e --- /dev/null +++ b/community-mod/dmenu/checksums @@ -0,0 +1 @@ +fe18e142c4dbcf71ba5757dbbdea93b1c67d58fc206fc116664f4336deef6ed3 diff --git a/community-mod/dmenu/depends b/community-mod/dmenu/depends new file mode 100644 index 0000000..4d83943 --- /dev/null +++ b/community-mod/dmenu/depends @@ -0,0 +1,3 @@ +libXft +libXinerama +xorg-server diff --git a/community-mod/dmenu/sources b/community-mod/dmenu/sources new file mode 100644 index 0000000..7212199 --- /dev/null +++ b/community-mod/dmenu/sources @@ -0,0 +1 @@ +https://dl.suckless.org/tools/dmenu-5.0.tar.gz diff --git a/community-mod/dmenu/version b/community-mod/dmenu/version new file mode 100644 index 0000000..d80bad4 --- /dev/null +++ b/community-mod/dmenu/version @@ -0,0 +1 @@ +5.0 1 diff --git a/community-mod/dmidecode/build b/community-mod/dmidecode/build new file mode 100755 index 0000000..662ff50 --- /dev/null +++ b/community-mod/dmidecode/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make prefix=/usr sbindir=/usr/bin +make prefix=/usr sbindir=/usr/bin DESTDIR="$1" install diff --git a/community-mod/dmidecode/checksums b/community-mod/dmidecode/checksums new file mode 100644 index 0000000..7b86f92 --- /dev/null +++ b/community-mod/dmidecode/checksums @@ -0,0 +1 @@ +82c737a780614c38a783e8055340d295e332fb12c7f418b5d21a0797d3fb1455 diff --git a/community-mod/dmidecode/sources b/community-mod/dmidecode/sources new file mode 100644 index 0000000..4dc413f --- /dev/null +++ b/community-mod/dmidecode/sources @@ -0,0 +1 @@ +https://download.savannah.gnu.org/releases/dmidecode/dmidecode-3.3.tar.xz diff --git a/community-mod/dmidecode/version b/community-mod/dmidecode/version new file mode 100644 index 0000000..d8cc560 --- /dev/null +++ b/community-mod/dmidecode/version @@ -0,0 +1 @@ +3.3 1 diff --git a/community-mod/dosbox/build b/community-mod/dosbox/build new file mode 100755 index 0000000..84e8787 --- /dev/null +++ b/community-mod/dosbox/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-opengl + +make +make DESTDIR="$1" install diff --git a/community-mod/dosbox/checksums b/community-mod/dosbox/checksums new file mode 100644 index 0000000..ec5b872 --- /dev/null +++ b/community-mod/dosbox/checksums @@ -0,0 +1 @@ +c0d13dd7ed2ed363b68de615475781e891cd582e8162b5c3669137502222260a dosbox-0.74-3.tar.gz diff --git a/community-mod/dosbox/depends b/community-mod/dosbox/depends new file mode 100644 index 0000000..e01033c --- /dev/null +++ b/community-mod/dosbox/depends @@ -0,0 +1,15 @@ +alsa-lib +expat +libpng +libX11 +libXau +libxcb +libdrm +libXext +libXfixes +libXdamage +libXxf86vm +libxshmfence +mesa +sdl +zlib diff --git a/community-mod/dosbox/sources b/community-mod/dosbox/sources new file mode 100644 index 0000000..11114b8 --- /dev/null +++ b/community-mod/dosbox/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/dosbox/dosbox-0.74-3.tar.gz diff --git a/community-mod/dosbox/version b/community-mod/dosbox/version new file mode 100644 index 0000000..c1b1c52 --- /dev/null +++ b/community-mod/dosbox/version @@ -0,0 +1 @@ +0.74-3 1 diff --git a/community-mod/dvtm/build b/community-mod/dvtm/build new file mode 100755 index 0000000..c208b13 --- /dev/null +++ b/community-mod/dvtm/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/dvtm/checksums b/community-mod/dvtm/checksums new file mode 100644 index 0000000..88025d2 --- /dev/null +++ b/community-mod/dvtm/checksums @@ -0,0 +1 @@ +8f2015c05e2ad82f12ae4cf12b363d34f527a4bbc8c369667f239e4542e1e510 dvtm-0.15.tar.gz diff --git a/community-mod/dvtm/depends b/community-mod/dvtm/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/dvtm/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/dvtm/sources b/community-mod/dvtm/sources new file mode 100644 index 0000000..21b13c5 --- /dev/null +++ b/community-mod/dvtm/sources @@ -0,0 +1 @@ +https://github.com/martanne/dvtm/releases/download/v0.15/dvtm-0.15.tar.gz diff --git a/community-mod/dvtm/version b/community-mod/dvtm/version new file mode 100644 index 0000000..a78cbfc --- /dev/null +++ b/community-mod/dvtm/version @@ -0,0 +1 @@ +0.15 1 diff --git a/community-mod/dwm/build b/community-mod/dwm/build new file mode 100755 index 0000000..0110ff5 --- /dev/null +++ b/community-mod/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/community-mod/dwm/checksums b/community-mod/dwm/checksums new file mode 100644 index 0000000..595f243 --- /dev/null +++ b/community-mod/dwm/checksums @@ -0,0 +1 @@ +97902e2e007aaeaa3c6e3bed1f81785b817b7413947f1db1d3b62b8da4cd110e dwm-6.2.tar.gz diff --git a/community-mod/dwm/depends b/community-mod/dwm/depends new file mode 100644 index 0000000..f4fdd35 --- /dev/null +++ b/community-mod/dwm/depends @@ -0,0 +1,2 @@ +libXft +libXinerama diff --git a/community-mod/dwm/sources b/community-mod/dwm/sources new file mode 100644 index 0000000..c9d3f5e --- /dev/null +++ b/community-mod/dwm/sources @@ -0,0 +1 @@ +https://dl.suckless.org/dwm/dwm-6.2.tar.gz diff --git a/community-mod/dwm/version b/community-mod/dwm/version new file mode 100644 index 0000000..1fa8eec --- /dev/null +++ b/community-mod/dwm/version @@ -0,0 +1 @@ +6.2 1 diff --git a/community-mod/dzen/build b/community-mod/dzen/build new file mode 100755 index 0000000..efbe5b9 --- /dev/null +++ b/community-mod/dzen/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +make +make PREFIX=/usr DESTDIR="$1" install +make -C gadgets PREFIX=/usr DESTDIR="$1" install + +install -Dm644 README "$1/usr/share/doc/dzen/README" +install -Dm644 CREDITS "$1/usr/share/doc/dzen/CREDITS" +install -Dm644 LICENSE "$1/usr/share/licenses/dzen/LICENSE" diff --git a/community-mod/dzen/depends b/community-mod/dzen/depends new file mode 100644 index 0000000..fe8fb62 --- /dev/null +++ b/community-mod/dzen/depends @@ -0,0 +1 @@ +libXft diff --git a/community-mod/dzen/sources b/community-mod/dzen/sources new file mode 100644 index 0000000..003b47c --- /dev/null +++ b/community-mod/dzen/sources @@ -0,0 +1 @@ +git+https://github.com/robm/dzen diff --git a/community-mod/dzen/version b/community-mod/dzen/version new file mode 100644 index 0000000..8202611 --- /dev/null +++ b/community-mod/dzen/version @@ -0,0 +1 @@ +git 2 diff --git a/community-mod/emacs/build b/community-mod/emacs/build new file mode 100755 index 0000000..15fc155 --- /dev/null +++ b/community-mod/emacs/build @@ -0,0 +1,32 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-modules \ + --with-xft \ + --with-x-toolkit=gtk2 \ + --with-toolkit-scroll-bars \ + --without-dbus \ + --without-gconf \ + --without-gsettings \ + --with-xpm=yes \ + --with-gnutls=yes \ + --with-json=yes + +mkdir -p "$1/usr/share/emacs/site-lisp" +cat << EOF > "$1/usr/share/emacs/site-lisp/site-start.el" +;; Better security defaults +(with-eval-after-load 'gnutls + (setq + gnutls-verify-error t + gnutls-min-prime-bits 2048 + gnutls-trustfiles '("/etc/ssl/cert.pem"))) + +;; Needed unless KISS Linux gains librsvg support +(setq-default shr-blocked-images ".*\.svg$") +EOF + +make +make DESTDIR="$1" install + +rm -rf "$1/usr/lib/systemd" diff --git a/community-mod/emacs/checksums b/community-mod/emacs/checksums new file mode 100644 index 0000000..d9ec08d --- /dev/null +++ b/community-mod/emacs/checksums @@ -0,0 +1 @@ +b4a7cc4e78e63f378624e0919215b910af5bb2a0afc819fad298272e9f40c1b9 diff --git a/community-mod/emacs/depends b/community-mod/emacs/depends new file mode 100644 index 0000000..d9795aa --- /dev/null +++ b/community-mod/emacs/depends @@ -0,0 +1,10 @@ +giflib +gnutls +libjpeg-turbo +libpng +libXpm +gtk+2 +libxml2 +ncurses +tiff +zlib diff --git a/community-mod/emacs/sources b/community-mod/emacs/sources new file mode 100644 index 0000000..b031ae4 --- /dev/null +++ b/community-mod/emacs/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/emacs/emacs-27.2.tar.xz diff --git a/community-mod/emacs/version b/community-mod/emacs/version new file mode 100644 index 0000000..9d9ecd1 --- /dev/null +++ b/community-mod/emacs/version @@ -0,0 +1 @@ +27.2 1 diff --git a/community-mod/es/build b/community-mod/es/build new file mode 100755 index 0000000..a3c50e2 --- /dev/null +++ b/community-mod/es/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +#patch < musl.patch + +sed -i 's|/doc/es\.1|/es\.1|g' Makefile.in + +./configure \ + --prefix="$1/usr" + +make +make install diff --git a/community-mod/es/checksums b/community-mod/es/checksums new file mode 100644 index 0000000..d70cdea --- /dev/null +++ b/community-mod/es/checksums @@ -0,0 +1,2 @@ +b0b41fce99b122a173a06b899a4d92e5bd3cc48b227b2736159f596a58fff4ba es-0.9.1.tar.gz +a77acdf451ac5d0d079d1a272de64ec4c628ed65f658b30246d51b4849eea44f musl.patch diff --git a/community-mod/es/patches/musl.patch b/community-mod/es/patches/musl.patch new file mode 100644 index 0000000..9facf76 --- /dev/null +++ b/community-mod/es/patches/musl.patch @@ -0,0 +1,33 @@ +--- print.c.orig ++++ print.c +@@ -273,15 +273,10 @@ + va_list saveargs = format->args; + #endif + +- + VA_START(format->args, fmt); + n += printfmt(format, fmt); + va_end(format->args); +-#ifndef __va_copy +- format->args = saveargs; +-#else +- __va_copy(format->args, saveargs); +-#endif ++ va_copy(format->args, saveargs); + + return n + format->flushed; + } +--- stdenv.h.orig ++++ stdenv.h +@@ -204,6 +204,11 @@ + #define VARARGS2(t1, v1, t2, v2) (v1, v2, va_alist) t1 v1; t2 v2; va_dcl + #define VA_START(ap, var) va_start(ap) + ++/* __va_* are defined by the compiler */ ++#define va_start(ap) __va_start(ap) ++#define va_copy(dest, src) __va_copy(dest, src) ++#define va_end(ap) __va_end(ap) ++ + #endif + + diff --git a/community-mod/es/sources b/community-mod/es/sources new file mode 100644 index 0000000..93e1777 --- /dev/null +++ b/community-mod/es/sources @@ -0,0 +1,2 @@ +https://github.com/wryun/es-shell/releases/download/v0.9.1/es-0.9.1.tar.gz +patches/musl.patch diff --git a/community-mod/es/version b/community-mod/es/version new file mode 100644 index 0000000..7ba209c --- /dev/null +++ b/community-mod/es/version @@ -0,0 +1 @@ +0.9.1 1 diff --git a/community-mod/evtest/build b/community-mod/evtest/build new file mode 100755 index 0000000..7da0e1c --- /dev/null +++ b/community-mod/evtest/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +"${CC:-cc}" -DPATH_MAX=255 -o evtest evtest.c +install -Dt "$1/usr/bin" evtest diff --git a/community-mod/evtest/checksums b/community-mod/evtest/checksums new file mode 100644 index 0000000..c815d5e --- /dev/null +++ b/community-mod/evtest/checksums @@ -0,0 +1 @@ +0e7a2eeff380af796e5e9b21b6f48fd706c58c931162c151c2c1074bdfeb85c6 diff --git a/community-mod/evtest/sources b/community-mod/evtest/sources new file mode 100644 index 0000000..336f14b --- /dev/null +++ b/community-mod/evtest/sources @@ -0,0 +1 @@ +https://gitlab.freedesktop.org/libevdev/evtest/-/archive/evtest-1.34/evtest-evtest-1.34.tar.gz diff --git a/community-mod/evtest/version b/community-mod/evtest/version new file mode 100644 index 0000000..1992cf5 --- /dev/null +++ b/community-mod/evtest/version @@ -0,0 +1 @@ +1.34 1 diff --git a/community-mod/execline/build b/community-mod/execline/build new file mode 100755 index 0000000..9e85cfc --- /dev/null +++ b/community-mod/execline/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-shared + +make +make DESTDIR="$1" install diff --git a/community-mod/execline/checksums b/community-mod/execline/checksums new file mode 100644 index 0000000..07d1af7 --- /dev/null +++ b/community-mod/execline/checksums @@ -0,0 +1 @@ +a373f497d2335905d750e2f3be2ba47a028c11c4a7d5595dca9965c161e53aed diff --git a/community-mod/execline/depends b/community-mod/execline/depends new file mode 100644 index 0000000..5baacc7 --- /dev/null +++ b/community-mod/execline/depends @@ -0,0 +1 @@ +skalibs diff --git a/community-mod/execline/sources b/community-mod/execline/sources new file mode 100644 index 0000000..3bf4bb6 --- /dev/null +++ b/community-mod/execline/sources @@ -0,0 +1 @@ +https://skarnet.org/software/execline/execline-2.8.0.1.tar.gz diff --git a/community-mod/execline/version b/community-mod/execline/version new file mode 100644 index 0000000..55ae635 --- /dev/null +++ b/community-mod/execline/version @@ -0,0 +1 @@ +2.8.0.1 1 diff --git a/community-mod/exfatprogs/build b/community-mod/exfatprogs/build new file mode 100755 index 0000000..b8bb1d1 --- /dev/null +++ b/community-mod/exfatprogs/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sbindir=/usr/bin \ + --datarootdir=/usr/share + +make +make DESTDIR="$1" install diff --git a/community-mod/exfatprogs/checksums b/community-mod/exfatprogs/checksums new file mode 100644 index 0000000..96a4148 --- /dev/null +++ b/community-mod/exfatprogs/checksums @@ -0,0 +1 @@ +2a1574110e0d9ba11524744cac39454fb4084277cfa8ae53406a066600b825c8 diff --git a/community-mod/exfatprogs/depends b/community-mod/exfatprogs/depends new file mode 100644 index 0000000..978c2d9 --- /dev/null +++ b/community-mod/exfatprogs/depends @@ -0,0 +1,2 @@ +linux-headers make +pkgconf make diff --git a/community-mod/exfatprogs/sources b/community-mod/exfatprogs/sources new file mode 100644 index 0000000..959aa99 --- /dev/null +++ b/community-mod/exfatprogs/sources @@ -0,0 +1 @@ +https://github.com/exfatprogs/exfatprogs/releases/download/1.1.1/exfatprogs-1.1.1.tar.xz diff --git a/community-mod/exfatprogs/version b/community-mod/exfatprogs/version new file mode 100644 index 0000000..e343e3f --- /dev/null +++ b/community-mod/exfatprogs/version @@ -0,0 +1 @@ +1.1.1 1 diff --git a/community-mod/exiftool/build b/community-mod/exiftool/build new file mode 100755 index 0000000..6f2c6bc --- /dev/null +++ b/community-mod/exiftool/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +perl Makefile.PL + +make +make DESTDIR="$1" install diff --git a/community-mod/exiftool/checksums b/community-mod/exiftool/checksums new file mode 100644 index 0000000..ec872dc --- /dev/null +++ b/community-mod/exiftool/checksums @@ -0,0 +1 @@ +f734d5ff5465adc8d1d00ef21bc9362ea81c00cf109dabcf494eae2fe1724fcb diff --git a/community-mod/exiftool/depends b/community-mod/exiftool/depends new file mode 100644 index 0000000..24475b5 --- /dev/null +++ b/community-mod/exiftool/depends @@ -0,0 +1 @@ +perl diff --git a/community-mod/exiftool/sources b/community-mod/exiftool/sources new file mode 100644 index 0000000..90b98a6 --- /dev/null +++ b/community-mod/exiftool/sources @@ -0,0 +1 @@ +https://exiftool.org/Image-ExifTool-12.28.tar.gz diff --git a/community-mod/exiftool/version b/community-mod/exiftool/version new file mode 100644 index 0000000..1b5b5d3 --- /dev/null +++ b/community-mod/exiftool/version @@ -0,0 +1 @@ +12.28 1 diff --git a/community-mod/extra-cmake-modules/build b/community-mod/extra-cmake-modules/build new file mode 100755 index 0000000..cd659d7 --- /dev/null +++ b/community-mod/extra-cmake-modules/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr + +cmake --build build +cmake --install build diff --git a/community-mod/extra-cmake-modules/checksums b/community-mod/extra-cmake-modules/checksums new file mode 100644 index 0000000..eecf2a9 --- /dev/null +++ b/community-mod/extra-cmake-modules/checksums @@ -0,0 +1 @@ +70188098fe2f6307138bb7923214593ec617d0be2492560dd7296af4bb0d52d1 diff --git a/community-mod/extra-cmake-modules/depends b/community-mod/extra-cmake-modules/depends new file mode 100644 index 0000000..7d91ec2 --- /dev/null +++ b/community-mod/extra-cmake-modules/depends @@ -0,0 +1 @@ +cmake make diff --git a/community-mod/extra-cmake-modules/sources b/community-mod/extra-cmake-modules/sources new file mode 100644 index 0000000..12380ad --- /dev/null +++ b/community-mod/extra-cmake-modules/sources @@ -0,0 +1 @@ +https://github.com/KDE/extra-cmake-modules/archive/v5.83.0.tar.gz diff --git a/community-mod/extra-cmake-modules/version b/community-mod/extra-cmake-modules/version new file mode 100644 index 0000000..6f108e7 --- /dev/null +++ b/community-mod/extra-cmake-modules/version @@ -0,0 +1 @@ +5.83.0 1 diff --git a/community-mod/feh/build b/community-mod/feh/build new file mode 100755 index 0000000..834eff5 --- /dev/null +++ b/community-mod/feh/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make PREFIX=/usr exif=1 help=1 stat64=1 +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/feh/checksums b/community-mod/feh/checksums new file mode 100644 index 0000000..da308dc --- /dev/null +++ b/community-mod/feh/checksums @@ -0,0 +1 @@ +07cdb1076c3b7777064cf081f722346600aeefeb568cbca58575777969a6bb41 diff --git a/community-mod/feh/depends b/community-mod/feh/depends new file mode 100644 index 0000000..88e994a --- /dev/null +++ b/community-mod/feh/depends @@ -0,0 +1,6 @@ +curl +imlib2 +libexif +libjpeg-turbo +libXt +libXinerama diff --git a/community-mod/feh/sources b/community-mod/feh/sources new file mode 100644 index 0000000..b4ebcb0 --- /dev/null +++ b/community-mod/feh/sources @@ -0,0 +1 @@ +https://feh.finalrewind.org/feh-3.7.tar.bz2 diff --git a/community-mod/feh/version b/community-mod/feh/version new file mode 100644 index 0000000..fa0ebc7 --- /dev/null +++ b/community-mod/feh/version @@ -0,0 +1 @@ +3.7 1 diff --git a/community-mod/fftw/build b/community-mod/fftw/build new file mode 100755 index 0000000..f11398c --- /dev/null +++ b/community-mod/fftw/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-shared \ + --enable-threads + +make +make DESTDIR="$1" install + diff --git a/community-mod/fftw/checksums b/community-mod/fftw/checksums new file mode 100644 index 0000000..c3f8cb5 --- /dev/null +++ b/community-mod/fftw/checksums @@ -0,0 +1 @@ +bf2c7ce40b04ae811af714deb512510cc2c17b9ab9d6ddcf49fe4487eea7af3d diff --git a/community-mod/fftw/sources b/community-mod/fftw/sources new file mode 100644 index 0000000..8f4783e --- /dev/null +++ b/community-mod/fftw/sources @@ -0,0 +1 @@ +https://www.fftw.org/fftw-3.3.9.tar.gz diff --git a/community-mod/fftw/version b/community-mod/fftw/version new file mode 100644 index 0000000..b44b038 --- /dev/null +++ b/community-mod/fftw/version @@ -0,0 +1 @@ +3.3.9 1 diff --git a/community-mod/file/build b/community-mod/file/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/file/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/file/checksums b/community-mod/file/checksums new file mode 100644 index 0000000..33e0710 --- /dev/null +++ b/community-mod/file/checksums @@ -0,0 +1 @@ +167321f43c148a553f68a0ea7f579821ef3b11c27b8cbe158e4df897e4a5dd57 diff --git a/community-mod/file/depends b/community-mod/file/depends new file mode 100644 index 0000000..f22003e --- /dev/null +++ b/community-mod/file/depends @@ -0,0 +1 @@ +zlib diff --git a/community-mod/file/sources b/community-mod/file/sources new file mode 100644 index 0000000..0978639 --- /dev/null +++ b/community-mod/file/sources @@ -0,0 +1 @@ +https://astron.com/pub/file/file-5.40.tar.gz diff --git a/community-mod/file/version b/community-mod/file/version new file mode 100644 index 0000000..cc2c3dc --- /dev/null +++ b/community-mod/file/version @@ -0,0 +1 @@ +5.40 1 diff --git a/community-mod/flac/build b/community-mod/flac/build new file mode 100755 index 0000000..d0b7d92 --- /dev/null +++ b/community-mod/flac/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-rpath \ + --disable-doxygen-docs \ + --disable-xmms-plugin \ + --disable-thorough-tests \ + --with-pic + +make +make DESTDIR="$1" install diff --git a/community-mod/flac/checksums b/community-mod/flac/checksums new file mode 100644 index 0000000..19f9dab --- /dev/null +++ b/community-mod/flac/checksums @@ -0,0 +1 @@ +213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748 flac-1.3.3.tar.xz diff --git a/community-mod/flac/depends b/community-mod/flac/depends new file mode 100644 index 0000000..bb51b88 --- /dev/null +++ b/community-mod/flac/depends @@ -0,0 +1,2 @@ +libogg +nasm make diff --git a/community-mod/flac/sources b/community-mod/flac/sources new file mode 100644 index 0000000..acc0eed --- /dev/null +++ b/community-mod/flac/sources @@ -0,0 +1 @@ +https://downloads.xiph.org/releases/flac/flac-1.3.3.tar.xz diff --git a/community-mod/flac/version b/community-mod/flac/version new file mode 100644 index 0000000..bdd8f5b --- /dev/null +++ b/community-mod/flac/version @@ -0,0 +1 @@ +1.3.3 1 diff --git a/community-mod/flashrom/build b/community-mod/flashrom/build new file mode 100755 index 0000000..2fe250b --- /dev/null +++ b/community-mod/flashrom/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +sed -i "s/sbin/bin/g" Makefile + +mk() { + make \ + PREFIX=/usr \ + CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no \ + CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no \ + "$@" +} + +mk +mk DESTDIR="$1" install diff --git a/community-mod/flashrom/checksums b/community-mod/flashrom/checksums new file mode 100644 index 0000000..a1a5098 --- /dev/null +++ b/community-mod/flashrom/checksums @@ -0,0 +1 @@ +a5bac412cefb87bb426912fed46ccc38799d088a9b92dbe7bac38c5df016d9b2 v1.2.tar.gz diff --git a/community-mod/flashrom/depends b/community-mod/flashrom/depends new file mode 100644 index 0000000..378a327 --- /dev/null +++ b/community-mod/flashrom/depends @@ -0,0 +1,2 @@ +pciutils +zlib diff --git a/community-mod/flashrom/sources b/community-mod/flashrom/sources new file mode 100644 index 0000000..f949d22 --- /dev/null +++ b/community-mod/flashrom/sources @@ -0,0 +1 @@ +https://github.com/flashrom/flashrom/archive/v1.2.tar.gz diff --git a/community-mod/flashrom/version b/community-mod/flashrom/version new file mode 100644 index 0000000..f76d834 --- /dev/null +++ b/community-mod/flashrom/version @@ -0,0 +1 @@ +1.2 1 diff --git a/community-mod/fltk/build b/community-mod/fltk/build new file mode 100755 index 0000000..b97f3be --- /dev/null +++ b/community-mod/fltk/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --bindir=/usr/bin + +make +make DESTDIR="$1" install diff --git a/community-mod/fltk/checksums b/community-mod/fltk/checksums new file mode 100644 index 0000000..9c32a00 --- /dev/null +++ b/community-mod/fltk/checksums @@ -0,0 +1 @@ +9aac75ef9e9b7bd7b5338a4c0d4dd536e6c22ea7b15ea622aa1d8f1fa30d37ab diff --git a/community-mod/fltk/depends b/community-mod/fltk/depends new file mode 100644 index 0000000..d8ba834 --- /dev/null +++ b/community-mod/fltk/depends @@ -0,0 +1,17 @@ +bzip2 +expat +fontconfig +freetype-harfbuzz +glib +libX11 +libXau +libXcursor +libXext +libXfixes +libXft +libXinerama +libXrender +libjpeg-turbo +libpng +libxcb +zlib diff --git a/community-mod/fltk/sources b/community-mod/fltk/sources new file mode 100644 index 0000000..fae5beb --- /dev/null +++ b/community-mod/fltk/sources @@ -0,0 +1 @@ +https://www.fltk.org/pub/fltk/1.3.6/fltk-1.3.6-source.tar.gz diff --git a/community-mod/fltk/version b/community-mod/fltk/version new file mode 100644 index 0000000..c22de15 --- /dev/null +++ b/community-mod/fltk/version @@ -0,0 +1 @@ +1.3.6 1 diff --git a/community-mod/fmt/build b/community-mod/fmt/build new file mode 100755 index 0000000..132ebce --- /dev/null +++ b/community-mod/fmt/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=1 + +cmake --build build +cmake --install build diff --git a/community-mod/fmt/checksums b/community-mod/fmt/checksums new file mode 100644 index 0000000..2fbe94a --- /dev/null +++ b/community-mod/fmt/checksums @@ -0,0 +1 @@ +5cae7072042b3043e12d53d50ef404bbb76949dad1de368d7f993a15c8c05ecc diff --git a/community-mod/fmt/sources b/community-mod/fmt/sources new file mode 100644 index 0000000..28b02c8 --- /dev/null +++ b/community-mod/fmt/sources @@ -0,0 +1 @@ +https://github.com/fmtlib/fmt/archive/7.1.3.tar.gz diff --git a/community-mod/fmt/version b/community-mod/fmt/version new file mode 100644 index 0000000..f766d02 --- /dev/null +++ b/community-mod/fmt/version @@ -0,0 +1 @@ +7.1.3 1 diff --git a/community-mod/fortune/build b/community-mod/fortune/build new file mode 100755 index 0000000..efef42d --- /dev/null +++ b/community-mod/fortune/build @@ -0,0 +1,5 @@ +#!/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/community-mod/fortune/checksums b/community-mod/fortune/checksums new file mode 100644 index 0000000..65435c3 --- /dev/null +++ b/community-mod/fortune/checksums @@ -0,0 +1,3 @@ +0449c157d973d3711d57860dd861c32fd6deba8a1f3ad7fc2f28ed1999122260 +e3ade5ff950564f34dad39e7956cd15e9a32d669917b18dcbab8e02a0671120a +bf805c1200e03b08393b7cfa5e54315d36efa5c08b8ec009020414c77697dfec diff --git a/community-mod/fortune/files/kiss b/community-mod/fortune/files/kiss new file mode 100644 index 0000000..f789cff --- /dev/null +++ b/community-mod/fortune/files/kiss @@ -0,0 +1,638 @@ + "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! +% diff --git a/community-mod/fortune/sources b/community-mod/fortune/sources new file mode 100644 index 0000000..5c1924c --- /dev/null +++ b/community-mod/fortune/sources @@ -0,0 +1,3 @@ +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/community-mod/fortune/version b/community-mod/fortune/version new file mode 100644 index 0000000..fed9176 --- /dev/null +++ b/community-mod/fortune/version @@ -0,0 +1 @@ +0.0.1 2 diff --git a/community-mod/freeglut/build b/community-mod/freeglut/build new file mode 100755 index 0000000..57bf157 --- /dev/null +++ b/community-mod/freeglut/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +patch -p1 < fno-common.patch + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib + +cmake --build build +cmake --install build diff --git a/community-mod/freeglut/checksums b/community-mod/freeglut/checksums new file mode 100644 index 0000000..85a6be3 --- /dev/null +++ b/community-mod/freeglut/checksums @@ -0,0 +1,2 @@ +d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68 +898e8fb314cbe728d791e9ea69829313143cda039c008f0ca06c1b5730922aa7 diff --git a/community-mod/freeglut/depends b/community-mod/freeglut/depends new file mode 100644 index 0000000..e014cdc --- /dev/null +++ b/community-mod/freeglut/depends @@ -0,0 +1,6 @@ +cmake make +glu make +libXi +libXrandr +libXxf86vm make +mesa diff --git a/community-mod/freeglut/patches/fno-common.patch b/community-mod/freeglut/patches/fno-common.patch new file mode 100644 index 0000000..655c01b --- /dev/null +++ b/community-mod/freeglut/patches/fno-common.patch @@ -0,0 +1,81 @@ +From 5791564dd934d193df771a0a7c52013e9f456aa1 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Tue, 21 Jan 2020 22:33:49 +0000 +Subject: [PATCH] fg_gl2: fix build failure against gcc-10 + +On gcc-10 (and gcc-9 -fno-common) build fails as: + +``` +[ 31%] Linking C executable bin/Lorenz_static +/usr/bin/cmake -E cmake_link_script CMakeFiles/Lorenz_static.dir/link.txt --verbose=1 +/usr/lib/ccache/bin/cc -Wall -pedantic -rdynamic CMakeFiles/Lorenz_static.dir/progs/demos/Lorenz/lorenz.c.o \ + -o bin/Lorenz_static -lGLU -lGL -lm -lX11 -lXrandr -lXxf86vm -lXi -lm lib/libglut.a -lGL -lm -lX11 -lXrandr -lXxf86vm -lXi +ld: lib/libglut.a(fg_gl2.c.o):(.bss+0x0): + multiple definition of `fghGenBuffers'; lib/libglut.a(fg_window.c.o):(.bss+0x0): first defined here +ld: lib/libglut.a(fg_gl2.c.o):(.bss+0x8): + multiple definition of `fghDeleteBuffers'; lib/libglut.a(fg_window.c.o):(.bss+0x8): first defined here +``` + +Note: duplicate definition comes here from 'fg_gl2.h'. +The fix is to move declaration to a 'fg_gl2.c' file. + +gcc-10 will change the default from -fcommon to fno-common: +https://gcc.gnu.org/PR85678. + +The error also happens if CFLAGS=-fno-common passed explicitly. + +Bug: https://bugs.gentoo.org/705840 +Signed-off-by: Sergei Trofimovich +--- + src/fg_gl2.c | 12 ++++++++++++ + src/fg_gl2.h | 14 +++++++------- + 2 files changed, 19 insertions(+), 7 deletions(-) + +diff --git a/freeglut/freeglut/src/fg_gl2.c b/freeglut/freeglut/src/fg_gl2.c +index 38b0acbb..f79c432a 100644 +--- a/src/fg_gl2.c ++++ b/src/fg_gl2.c +@@ -27,6 +27,18 @@ + #include "fg_internal.h" + #include "fg_gl2.h" + ++#ifdef GL_ES_VERSION_2_0 ++/* Use existing functions on GLES 2.0 */ ++#else ++FGH_PFNGLGENBUFFERSPROC fghGenBuffers; ++FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers; ++FGH_PFNGLBINDBUFFERPROC fghBindBuffer; ++FGH_PFNGLBUFFERDATAPROC fghBufferData; ++FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray; ++FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray; ++FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer; ++#endif ++ + void FGAPIENTRY glutSetVertexAttribCoord3(GLint attrib) { + if (fgStructure.CurrentWindow != NULL) + fgStructure.CurrentWindow->Window.attribute_v_coord = attrib; +diff --git a/freeglut/freeglut/src/fg_gl2.h b/freeglut/freeglut/src/fg_gl2.h +index ab8ba5c7..fb3d4676 100644 +--- a/src/fg_gl2.h ++++ b/src/fg_gl2.h +@@ -67,13 +67,13 @@ typedef void (APIENTRY *FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); + typedef void (APIENTRY *FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint); + typedef void (APIENTRY *FGH_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); + +-FGH_PFNGLGENBUFFERSPROC fghGenBuffers; +-FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers; +-FGH_PFNGLBINDBUFFERPROC fghBindBuffer; +-FGH_PFNGLBUFFERDATAPROC fghBufferData; +-FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray; +-FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray; +-FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer; ++extern FGH_PFNGLGENBUFFERSPROC fghGenBuffers; ++extern FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers; ++extern FGH_PFNGLBINDBUFFERPROC fghBindBuffer; ++extern FGH_PFNGLBUFFERDATAPROC fghBufferData; ++extern FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray; ++extern FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray; ++extern FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer; + + # endif + diff --git a/community-mod/freeglut/sources b/community-mod/freeglut/sources new file mode 100644 index 0000000..f564aaf --- /dev/null +++ b/community-mod/freeglut/sources @@ -0,0 +1,2 @@ +https://downloads.sourceforge.net/freeglut/freeglut-3.2.1.tar.gz +patches/fno-common.patch diff --git a/community-mod/freeglut/version b/community-mod/freeglut/version new file mode 100644 index 0000000..21a1c85 --- /dev/null +++ b/community-mod/freeglut/version @@ -0,0 +1 @@ +3.2.1 1 diff --git a/community-mod/fuse/build b/community-mod/fuse/build new file mode 100755 index 0000000..2024e5f --- /dev/null +++ b/community-mod/fuse/build @@ -0,0 +1,19 @@ +#!/bin/sh -e + +sed -i "28s|.*|chmod u+s \"\${DESTDIR}\${bindir}/fusermount3\"|" \ + util/install_helper.sh + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + -Dexamples=false \ + -Dsbindir=bin \ + -Dudevrulesdir=/usr/lib/udev \ + -Duseroot=false \ + . output + +ninja -C output +ninja -C output install + +rm -rf "$1/etc/init.d" diff --git a/community-mod/fuse/checksums b/community-mod/fuse/checksums new file mode 100644 index 0000000..d0c79fa --- /dev/null +++ b/community-mod/fuse/checksums @@ -0,0 +1 @@ +9365b74fd8471caecdb3cc5adf25a821f70a931317ee9103d15bd39089e3590d diff --git a/community-mod/fuse/depends b/community-mod/fuse/depends new file mode 100644 index 0000000..36f6fe6 --- /dev/null +++ b/community-mod/fuse/depends @@ -0,0 +1 @@ +meson make diff --git a/community-mod/fuse/sources b/community-mod/fuse/sources new file mode 100644 index 0000000..cdf11e6 --- /dev/null +++ b/community-mod/fuse/sources @@ -0,0 +1 @@ +https://github.com/libfuse/libfuse/releases/download/fuse-3.10.4/fuse-3.10.4.tar.xz diff --git a/community-mod/fuse/version b/community-mod/fuse/version new file mode 100644 index 0000000..3cb3264 --- /dev/null +++ b/community-mod/fuse/version @@ -0,0 +1 @@ +3.10.4 1 diff --git a/community-mod/fuse2/build b/community-mod/fuse2/build new file mode 100755 index 0000000..43ec27d --- /dev/null +++ b/community-mod/fuse2/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sbindir=/usr/bin \ + --datarootdir=/usr/share \ + --disable-example \ + MOUNT_FUSE_PATH=/usr/bin \ + UDEV_RULES_PATH=/usr/lib/udev + +make +make DESTDIR="$1" install diff --git a/community-mod/fuse2/checksums b/community-mod/fuse2/checksums new file mode 100644 index 0000000..496e039 --- /dev/null +++ b/community-mod/fuse2/checksums @@ -0,0 +1 @@ +d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5 diff --git a/community-mod/fuse2/sources b/community-mod/fuse2/sources new file mode 100644 index 0000000..b161b92 --- /dev/null +++ b/community-mod/fuse2/sources @@ -0,0 +1 @@ +https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz diff --git a/community-mod/fuse2/version b/community-mod/fuse2/version new file mode 100644 index 0000000..0f060fb --- /dev/null +++ b/community-mod/fuse2/version @@ -0,0 +1 @@ +2.9.9 1 diff --git a/community-mod/gawk/build b/community-mod/gawk/build new file mode 100755 index 0000000..206a476 --- /dev/null +++ b/community-mod/gawk/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/gawk/checksums b/community-mod/gawk/checksums new file mode 100644 index 0000000..10ed366 --- /dev/null +++ b/community-mod/gawk/checksums @@ -0,0 +1 @@ +cf5fea4ac5665fd5171af4716baab2effc76306a9572988d5ba1078f196382bd gawk-5.1.0.tar.xz diff --git a/community-mod/gawk/sources b/community-mod/gawk/sources new file mode 100644 index 0000000..0a927a3 --- /dev/null +++ b/community-mod/gawk/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/gawk/gawk-5.1.0.tar.xz diff --git a/community-mod/gawk/version b/community-mod/gawk/version new file mode 100644 index 0000000..0fcd34c --- /dev/null +++ b/community-mod/gawk/version @@ -0,0 +1 @@ +5.1.0 1 diff --git a/community-mod/gdb/build b/community-mod/gdb/build new file mode 100755 index 0000000..66017cb --- /dev/null +++ b/community-mod/gdb/build @@ -0,0 +1,20 @@ +#!/bin/sh -e + +cat > makeinfo < makeinfo <= 2 && !defined __STRICT_ANSI__ +-# define _GL_NUM_UINT_WORDS(type) \ +- ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) +-# if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf +-# define gl_signbitf_OPTIMIZED_MACRO +-# define gl_signbitf(arg) \ +- ({ union { float _value; \ +- unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \ +- } _m; \ +- _m._value = (arg); \ +- (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \ +- }) +-# endif +-# if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd +-# define gl_signbitd_OPTIMIZED_MACRO +-# define gl_signbitd(arg) \ +- ({ union { double _value; \ +- unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \ +- } _m; \ +- _m._value = (arg); \ +- (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \ +- }) +-# endif +-# if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl +-# define gl_signbitl_OPTIMIZED_MACRO +-# define gl_signbitl(arg) \ +- ({ union { long double _value; \ +- unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \ +- } _m; \ +- _m._value = (arg); \ +- (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \ +- }) +-# endif +-# endif +-# define signbit(x) \ +- (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \ +- sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ +- gl_signbitf (x)) +-# endif +-# ifdef __cplusplus +-# if defined signbit || defined GNULIB_NAMESPACE +-_GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit) +-# undef signbit +-_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit) +-# endif +-# endif +-#elif defined GNULIB_POSIXCHECK +-# if defined signbit +-_GL_WARN_REAL_FLOATING_DECL (signbit); +-# undef signbit +-# define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x) +-# endif +-#endif +- + _GL_INLINE_HEADER_END + + #endif /* _@GUARD_PREFIX@_MATH_H */ + diff --git a/community-mod/groff/sources b/community-mod/groff/sources new file mode 100644 index 0000000..8f5e23f --- /dev/null +++ b/community-mod/groff/sources @@ -0,0 +1,2 @@ +https://ftp.gnu.org/gnu/groff/groff-1.22.4.tar.gz +files/musl.patch diff --git a/community-mod/groff/version b/community-mod/groff/version new file mode 100644 index 0000000..1418be4 --- /dev/null +++ b/community-mod/groff/version @@ -0,0 +1 @@ +1.22.4 1 diff --git a/community-mod/gsl/build b/community-mod/gsl/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/gsl/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/gsl/checksums b/community-mod/gsl/checksums new file mode 100644 index 0000000..0654e48 --- /dev/null +++ b/community-mod/gsl/checksums @@ -0,0 +1 @@ +efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b diff --git a/community-mod/gsl/sources b/community-mod/gsl/sources new file mode 100644 index 0000000..1c86760 --- /dev/null +++ b/community-mod/gsl/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz diff --git a/community-mod/gsl/version b/community-mod/gsl/version new file mode 100644 index 0000000..7c0f916 --- /dev/null +++ b/community-mod/gsl/version @@ -0,0 +1 @@ +2.7 1 diff --git a/community-mod/gst-plugins-base/build b/community-mod/gst-plugins-base/build new file mode 100755 index 0000000..27a4289 --- /dev/null +++ b/community-mod/gst-plugins-base/build @@ -0,0 +1,16 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + -Dgl=disabled \ + -Dtests=disabled \ + -Dtremor=disabled \ + -Dexamples=disabled \ + -Dcdparanoia=disabled \ + -Dintrospection=disabled \ + . output + +ninja -C output +ninja -C output install diff --git a/community-mod/gst-plugins-base/checksums b/community-mod/gst-plugins-base/checksums new file mode 100644 index 0000000..f819b19 --- /dev/null +++ b/community-mod/gst-plugins-base/checksums @@ -0,0 +1 @@ +29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323 diff --git a/community-mod/gst-plugins-base/depends b/community-mod/gst-plugins-base/depends new file mode 100644 index 0000000..6eba18f --- /dev/null +++ b/community-mod/gst-plugins-base/depends @@ -0,0 +1,11 @@ +alsa-lib +glib +gstreamer +libjpeg-turbo +libpng +libvorbis +linux-headers make +mesa +meson make +opus +pango diff --git a/community-mod/gst-plugins-base/sources b/community-mod/gst-plugins-base/sources new file mode 100644 index 0000000..7faedcc --- /dev/null +++ b/community-mod/gst-plugins-base/sources @@ -0,0 +1 @@ +https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.18.4.tar.xz diff --git a/community-mod/gst-plugins-base/version b/community-mod/gst-plugins-base/version new file mode 100644 index 0000000..e13698d --- /dev/null +++ b/community-mod/gst-plugins-base/version @@ -0,0 +1 @@ +1.18.4 1 diff --git a/community-mod/gst-plugins/build b/community-mod/gst-plugins/build new file mode 100755 index 0000000..8678625 --- /dev/null +++ b/community-mod/gst-plugins/build @@ -0,0 +1,18 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +for plugin in libav good bad ugly; do ( + cd "$plugin" + + meson \ + --prefix=/usr \ + -Dtests=disabled \ + -Dexamples=disabled \ + -Dintrospection=disabled \ + -Dqt5=disabled \ + . output + + ninja -C output + ninja -C output install +) done diff --git a/community-mod/gst-plugins/checksums b/community-mod/gst-plugins/checksums new file mode 100644 index 0000000..21983d3 --- /dev/null +++ b/community-mod/gst-plugins/checksums @@ -0,0 +1,4 @@ +b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0 +74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f +218df0ce0d31e8ca9cdeb01a3b0c573172cc9c21bb3d41811c7820145623d13c +344a463badca216c2cef6ee36f9510c190862bdee48dc4591c0a430df7e8c396 diff --git a/community-mod/gst-plugins/depends b/community-mod/gst-plugins/depends new file mode 100644 index 0000000..bdd60c2 --- /dev/null +++ b/community-mod/gst-plugins/depends @@ -0,0 +1,22 @@ +alsa-lib +ffmpeg +gdk-pixbuf +gst-plugins-base +gstreamer +lame +lcms +libXdamage +libjpeg-turbo +libpng +libressl +libsoup +libvorbis +libvpx +libwebp +linux-headers make +meson make +opus +pango +python make +x264 +x265 diff --git a/community-mod/gst-plugins/sources b/community-mod/gst-plugins/sources new file mode 100644 index 0000000..f4a78a2 --- /dev/null +++ b/community-mod/gst-plugins/sources @@ -0,0 +1,4 @@ +https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.18.4.tar.xz good +https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.18.4.tar.xz bad +https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.18.4.tar.xz ugly +https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.18.4.tar.xz libav diff --git a/community-mod/gst-plugins/version b/community-mod/gst-plugins/version new file mode 100644 index 0000000..e13698d --- /dev/null +++ b/community-mod/gst-plugins/version @@ -0,0 +1 @@ +1.18.4 1 diff --git a/community-mod/gstreamer/build b/community-mod/gstreamer/build new file mode 100755 index 0000000..8807234 --- /dev/null +++ b/community-mod/gstreamer/build @@ -0,0 +1,16 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + -Dbuildtype=release \ + -Ddbghelp=disabled \ + -Dintrospection=disabled \ + -Dexamples=disabled \ + -Dgtk_doc=disabled \ + . output + +ninja -C output +ninja -C output install diff --git a/community-mod/gstreamer/checksums b/community-mod/gstreamer/checksums new file mode 100644 index 0000000..aea5a71 --- /dev/null +++ b/community-mod/gstreamer/checksums @@ -0,0 +1 @@ +9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5 diff --git a/community-mod/gstreamer/depends b/community-mod/gstreamer/depends new file mode 100644 index 0000000..4708b6c --- /dev/null +++ b/community-mod/gstreamer/depends @@ -0,0 +1,3 @@ +bison make +glib +meson make diff --git a/community-mod/gstreamer/sources b/community-mod/gstreamer/sources new file mode 100644 index 0000000..35833b5 --- /dev/null +++ b/community-mod/gstreamer/sources @@ -0,0 +1 @@ +https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.18.4.tar.xz diff --git a/community-mod/gstreamer/version b/community-mod/gstreamer/version new file mode 100644 index 0000000..e13698d --- /dev/null +++ b/community-mod/gstreamer/version @@ -0,0 +1 @@ +1.18.4 1 diff --git a/community-mod/gt5/build b/community-mod/gt5/build new file mode 100755 index 0000000..255fa2f --- /dev/null +++ b/community-mod/gt5/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +install -D -m755 gt5 "$1/usr/bin/gt5" +install -D -m644 gt5.1 "$1/usr/share/man/man1/gt5.1" diff --git a/community-mod/gt5/checksums b/community-mod/gt5/checksums new file mode 100644 index 0000000..ff06a03 --- /dev/null +++ b/community-mod/gt5/checksums @@ -0,0 +1 @@ +785a2a71f77e29d2cf4bbd2c6f49f690d6fdcb5f53abd51aee393572fd7fa03e diff --git a/community-mod/gt5/sources b/community-mod/gt5/sources new file mode 100644 index 0000000..ca9bef7 --- /dev/null +++ b/community-mod/gt5/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/gt5/gt5-1.4.0.tar.gz diff --git a/community-mod/gt5/version b/community-mod/gt5/version new file mode 100644 index 0000000..be73137 --- /dev/null +++ b/community-mod/gt5/version @@ -0,0 +1 @@ +1.4.0 4 diff --git a/community-mod/gumbo-parser/build b/community-mod/gumbo-parser/build new file mode 100755 index 0000000..9074f50 --- /dev/null +++ b/community-mod/gumbo-parser/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./autogen.sh +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/gumbo-parser/checksums b/community-mod/gumbo-parser/checksums new file mode 100644 index 0000000..1cc74a0 --- /dev/null +++ b/community-mod/gumbo-parser/checksums @@ -0,0 +1 @@ +28463053d44a5dfbc4b77bcf49c8cee119338ffa636cc17fc3378421d714efad diff --git a/community-mod/gumbo-parser/sources b/community-mod/gumbo-parser/sources new file mode 100644 index 0000000..f813da9 --- /dev/null +++ b/community-mod/gumbo-parser/sources @@ -0,0 +1 @@ +https://github.com/google/gumbo-parser/archive/v0.10.1.tar.gz diff --git a/community-mod/gumbo-parser/version b/community-mod/gumbo-parser/version new file mode 100644 index 0000000..03d3f17 --- /dev/null +++ b/community-mod/gumbo-parser/version @@ -0,0 +1 @@ +0.10.1 1 diff --git a/community-mod/hack/build b/community-mod/hack/build new file mode 100755 index 0000000..ea8ab62 --- /dev/null +++ b/community-mod/hack/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +mkdir -p "$1/usr/share/fonts/TTF" +cp ./*.ttf "$1/usr/share/fonts/TTF" diff --git a/community-mod/hack/checksums b/community-mod/hack/checksums new file mode 100644 index 0000000..5621b5b --- /dev/null +++ b/community-mod/hack/checksums @@ -0,0 +1 @@ +7f592d091cbd2472f39af96e6c280cde3c27cab50a9c88746feb42918aa1888f Hack-v3.003-ttf.tar.gz diff --git a/community-mod/hack/post-install b/community-mod/hack/post-install new file mode 100755 index 0000000..60cac80 --- /dev/null +++ b/community-mod/hack/post-install @@ -0,0 +1,3 @@ +#!/bin/sh + +fc-cache -f diff --git a/community-mod/hack/sources b/community-mod/hack/sources new file mode 100644 index 0000000..1d3a23f --- /dev/null +++ b/community-mod/hack/sources @@ -0,0 +1 @@ +https://github.com/source-foundry/Hack/releases/download/v3.003/Hack-v3.003-ttf.tar.gz diff --git a/community-mod/hack/version b/community-mod/hack/version new file mode 100644 index 0000000..5fd2d15 --- /dev/null +++ b/community-mod/hack/version @@ -0,0 +1 @@ +3.003 1 diff --git a/community-mod/harfbuzz-icu/build b/community-mod/harfbuzz-icu/build new file mode 100755 index 0000000..1cf8e03 --- /dev/null +++ b/community-mod/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/community-mod/harfbuzz-icu/checksums b/community-mod/harfbuzz-icu/checksums new file mode 100644 index 0000000..d98b9c8 --- /dev/null +++ b/community-mod/harfbuzz-icu/checksums @@ -0,0 +1 @@ +b3f17394c5bccee456172b2b30ddec0bb87e9c5df38b4559a973d14ccd04509d diff --git a/community-mod/harfbuzz-icu/depends b/community-mod/harfbuzz-icu/depends new file mode 100644 index 0000000..f103c80 --- /dev/null +++ b/community-mod/harfbuzz-icu/depends @@ -0,0 +1,3 @@ +freetype-harfbuzz +icu +meson make diff --git a/community-mod/harfbuzz-icu/sources b/community-mod/harfbuzz-icu/sources new file mode 100644 index 0000000..edf4292 --- /dev/null +++ b/community-mod/harfbuzz-icu/sources @@ -0,0 +1 @@ +https://github.com/harfbuzz/harfbuzz/archive/2.8.1.tar.gz diff --git a/community-mod/harfbuzz-icu/version b/community-mod/harfbuzz-icu/version new file mode 100644 index 0000000..4214617 --- /dev/null +++ b/community-mod/harfbuzz-icu/version @@ -0,0 +1 @@ +2.8.1 1 diff --git a/community-mod/herbe/build b/community-mod/herbe/build new file mode 100755 index 0000000..bf1965e --- /dev/null +++ b/community-mod/herbe/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make PREFIX="/usr" DESTDIR="$1" install diff --git a/community-mod/herbe/checksums b/community-mod/herbe/checksums new file mode 100644 index 0000000..9467b52 --- /dev/null +++ b/community-mod/herbe/checksums @@ -0,0 +1 @@ +78e454159050c86e030fb5a6cf997ac914345210cdf5a4ca4d7600c5296b7f76 diff --git a/community-mod/herbe/depends b/community-mod/herbe/depends new file mode 100644 index 0000000..c037cff --- /dev/null +++ b/community-mod/herbe/depends @@ -0,0 +1,2 @@ +libX11 +libXft diff --git a/community-mod/herbe/sources b/community-mod/herbe/sources new file mode 100644 index 0000000..d36d567 --- /dev/null +++ b/community-mod/herbe/sources @@ -0,0 +1 @@ +https://github.com/dudik/herbe/archive/1.0.0.tar.gz diff --git a/community-mod/herbe/version b/community-mod/herbe/version new file mode 100644 index 0000000..69c85ee --- /dev/null +++ b/community-mod/herbe/version @@ -0,0 +1 @@ +1.0.0 1 diff --git a/community-mod/hsetroot/build b/community-mod/hsetroot/build new file mode 100755 index 0000000..91fda46 --- /dev/null +++ b/community-mod/hsetroot/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +mkdir -p "$1/usr/bin" + +make +make PREFIX="$1/usr" install diff --git a/community-mod/hsetroot/checksums b/community-mod/hsetroot/checksums new file mode 100644 index 0000000..0d6f4d1 --- /dev/null +++ b/community-mod/hsetroot/checksums @@ -0,0 +1 @@ +cff5f83b85a21e0c5c8c8eecbd552090bb75d8ac59e27b0bae48046f9cb5a44a 1.0.5.tar.gz diff --git a/community-mod/hsetroot/depends b/community-mod/hsetroot/depends new file mode 100644 index 0000000..ed4757c --- /dev/null +++ b/community-mod/hsetroot/depends @@ -0,0 +1,2 @@ +imlib2 +libXinerama diff --git a/community-mod/hsetroot/sources b/community-mod/hsetroot/sources new file mode 100644 index 0000000..3ca2321 --- /dev/null +++ b/community-mod/hsetroot/sources @@ -0,0 +1 @@ +https://github.com/himdel/hsetroot/archive/1.0.5.tar.gz diff --git a/community-mod/hsetroot/version b/community-mod/hsetroot/version new file mode 100644 index 0000000..46be4aa --- /dev/null +++ b/community-mod/hsetroot/version @@ -0,0 +1 @@ +1.0.5 1 diff --git a/community-mod/hummingbird-git/build b/community-mod/hummingbird-git/build new file mode 100755 index 0000000..49cee13 --- /dev/null +++ b/community-mod/hummingbird-git/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" install + +install -Dm755 usr/lib/hummingbird/* "$1/usr/lib/hummingbird" +install -Dm755 dist/kiss/* "$1/usr/lib/hummingbird" +ln -s hummingbird "$1/usr/bin/init" diff --git a/community-mod/hummingbird-git/checksums b/community-mod/hummingbird-git/checksums new file mode 100644 index 0000000..6e9411a --- /dev/null +++ b/community-mod/hummingbird-git/checksums @@ -0,0 +1 @@ +git git+https://github.com/Sweets/hummingbird.git diff --git a/community-mod/hummingbird-git/sources b/community-mod/hummingbird-git/sources new file mode 100644 index 0000000..d3266dd --- /dev/null +++ b/community-mod/hummingbird-git/sources @@ -0,0 +1 @@ +git+https://github.com/Sweets/hummingbird.git diff --git a/community-mod/hummingbird-git/version b/community-mod/hummingbird-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/community-mod/hummingbird-git/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/iana-etc/build b/community-mod/iana-etc/build new file mode 100755 index 0000000..bae2bfc --- /dev/null +++ b/community-mod/iana-etc/build @@ -0,0 +1,5 @@ +#!/bin/sh -e + +mkdir -p "$1/etc" +cp protocols "$1/etc" +cp services "$1/etc" diff --git a/community-mod/iana-etc/checksums b/community-mod/iana-etc/checksums new file mode 100644 index 0000000..11e1d73 --- /dev/null +++ b/community-mod/iana-etc/checksums @@ -0,0 +1,2 @@ +b67419201045bc5fb1ae6dc3b144435b2c5610a2c7d1746df61e5c9e298ae6a3 +4b8c8274d2d162037702d6700fbb64efbaa472545855864bd608bbe3fa83f61f diff --git a/community-mod/iana-etc/files/protocols b/community-mod/iana-etc/files/protocols new file mode 100644 index 0000000..4bf24c4 --- /dev/null +++ b/community-mod/iana-etc/files/protocols @@ -0,0 +1,135 @@ +hopopt 0 HOPOPT +icmp 1 ICMP +igmp 2 IGMP +ggp 3 GGP +ipv4 4 IPv4 +st 5 ST +tcp 6 TCP +cbt 7 CBT +egp 8 EGP +igp 9 IGP +bbn-rcc-mon 10 BBN-RCC-MON +nvp-ii 11 NVP-II +pup 12 PUP +emcon 14 EMCON +xnet 15 XNET +chaos 16 CHAOS +udp 17 UDP +mux 18 MUX +dcn-meas 19 DCN-MEAS +hmp 20 HMP +prm 21 PRM +xns-idp 22 XNS-IDP +trunk-1 23 TRUNK-1 +trunk-2 24 TRUNK-2 +leaf-1 25 LEAF-1 +leaf-2 26 LEAF-2 +rdp 27 RDP +irtp 28 IRTP +iso-tp4 29 ISO-TP4 +netblt 30 NETBLT +mfe-nsp 31 MFE-NSP +merit-inp 32 MERIT-INP +dccp 33 DCCP +3pc 34 3PC +idpr 35 IDPR +xtp 36 XTP +ddp 37 DDP +idpr-cmtp 38 IDPR-CMTP +tp++ 39 TP++ +il 40 IL +ipv6 41 IPv6 +sdrp 42 SDRP +ipv6-route 43 IPv6-Route +ipv6-frag 44 IPv6-Frag +idrp 45 IDRP +rsvp 46 RSVP +gre 47 GRE +dsr 48 DSR +bna 49 BNA +esp 50 ESP +ah 51 AH +i-nlsp 52 I-NLSP +narp 54 NARP +mobile 55 MOBILE +tlsp 56 TLSP +skip 57 SKIP +ipv6-icmp 58 IPv6-ICMP +ipv6-nonxt 59 IPv6-NoNxt +ipv6-opts 60 IPv6-Opts +cftp 62 CFTP +sat-expak 64 SAT-EXPAK +kryptolan 65 KRYPTOLAN +rvd 66 RVD +ippc 67 IPPC +sat-mon 69 SAT-MON +visa 70 VISA +ipcv 71 IPCV +cpnx 72 CPNX +cphb 73 CPHB +wsn 74 WSN +pvp 75 PVP +br-sat-mon 76 BR-SAT-MON +sun-nd 77 SUN-ND +wb-mon 78 WB-MON +wb-expak 79 WB-EXPAK +iso-ip 80 ISO-IP +vmtp 81 VMTP +secure-vmtp 82 SECURE-VMTP +vines 83 VINES +ttp 84 TTP +iptm 84 IPTM +nsfnet-igp 85 NSFNET-IGP +dgp 86 DGP +tcf 87 TCF +eigrp 88 EIGRP +ospfigp 89 OSPFIGP +sprite-rpc 90 Sprite-RPC +larp 91 LARP +mtp 92 MTP +ax.25 93 AX.25 +ipip 94 IPIP +scc-sp 96 SCC-SP +etherip 97 ETHERIP +encap 98 ENCAP +gmtp 100 GMTP +ifmp 101 IFMP +pnni 102 PNNI +pim 103 PIM +aris 104 ARIS +scps 105 SCPS +qnx 106 QNX +a/n 107 A/N +ipcomp 108 IPComp +snp 109 SNP +compaq-peer 110 Compaq-Peer +ipx-in-ip 111 IPX-in-IP +vrrp 112 VRRP +pgm 113 PGM +l2tp 115 L2TP +ddx 116 DDX +iatp 117 IATP +stp 118 STP +srp 119 SRP +uti 120 UTI +smp 121 SMP +ptp 123 PTP +fire 125 FIRE +crtp 126 CRTP +crudp 127 CRUDP +sscopmce 128 SSCOPMCE +iplt 129 IPLT +sps 130 SPS +pipe 131 PIPE +sctp 132 SCTP +fc 133 FC +rsvp-e2e-ignore 134 RSVP-E2E-IGNORE +udplite 136 UDPLite +mpls-in-ip 137 MPLS-in-IP +manet 138 manet +hip 139 HIP +shim6 140 Shim6 +wesp 141 WESP +rohc 142 ROHC +ethernet 143 Ethernet +reserved 255 Reserved diff --git a/community-mod/iana-etc/files/services b/community-mod/iana-etc/files/services new file mode 100644 index 0000000..70212c8 --- /dev/null +++ b/community-mod/iana-etc/files/services @@ -0,0 +1,11436 @@ +tcpmux 1/tcp +tcpmux 1/udp +compressnet 2/tcp +compressnet 2/udp +compressnet 3/tcp +compressnet 3/udp +rje 5/tcp +rje 5/udp +echo 7/tcp +echo 7/udp +discard 9/tcp +discard 9/udp +discard 9/sctp +discard 9/dccp +systat 11/tcp +systat 11/udp +daytime 13/tcp +daytime 13/udp +qotd 17/tcp +qotd 17/udp +chargen 19/tcp +chargen 19/udp +ftp-data 20/tcp +ftp-data 20/udp +ftp-data 20/sctp +ftp 21/tcp +ftp 21/udp +ftp 21/sctp +ssh 22/tcp +ssh 22/udp +ssh 22/sctp +telnet 23/tcp +telnet 23/udp +smtp 25/tcp +smtp 25/udp +nsw-fe 27/tcp +nsw-fe 27/udp +msg-icp 29/tcp +msg-icp 29/udp +msg-auth 31/tcp +msg-auth 31/udp +dsp 33/tcp +dsp 33/udp +time 37/tcp +time 37/udp +rap 38/tcp +rap 38/udp +rlp 39/tcp +rlp 39/udp +graphics 41/tcp +graphics 41/udp +name 42/tcp +name 42/udp +nameserver 42/tcp +nameserver 42/udp +nicname 43/tcp +nicname 43/udp +mpm-flags 44/tcp +mpm-flags 44/udp +mpm 45/tcp +mpm 45/udp +mpm-snd 46/tcp +mpm-snd 46/udp +auditd 48/tcp +auditd 48/udp +tacacs 49/tcp +tacacs 49/udp +re-mail-ck 50/tcp +re-mail-ck 50/udp +xns-time 52/tcp +xns-time 52/udp +domain 53/tcp +domain 53/udp +xns-ch 54/tcp +xns-ch 54/udp +isi-gl 55/tcp +isi-gl 55/udp +xns-auth 56/tcp +xns-auth 56/udp +xns-mail 58/tcp +xns-mail 58/udp +acas 62/tcp +acas 62/udp +whoispp 63/tcp +whoispp 63/udp +covia 64/tcp +covia 64/udp +tacacs-ds 65/tcp +tacacs-ds 65/udp +sql-net 66/tcp +sql-net 66/udp +bootps 67/tcp +bootps 67/udp +bootpc 68/tcp +bootpc 68/udp +tftp 69/tcp +tftp 69/udp +gopher 70/tcp +gopher 70/udp +netrjs-1 71/tcp +netrjs-1 71/udp +netrjs-2 72/tcp +netrjs-2 72/udp +netrjs-3 73/tcp +netrjs-3 73/udp +netrjs-4 74/tcp +netrjs-4 74/udp +deos 76/tcp +deos 76/udp +vettcp 78/tcp +vettcp 78/udp +finger 79/tcp +finger 79/udp +http 80/tcp +http 80/udp +www 80/tcp +www 80/udp +www-http 80/tcp +www-http 80/udp +http 80/sctp +xfer 82/tcp +xfer 82/udp +mit-ml-dev 83/tcp +mit-ml-dev 83/udp +ctf 84/tcp +ctf 84/udp +mit-ml-dev 85/tcp +mit-ml-dev 85/udp +mfcobol 86/tcp +mfcobol 86/udp +kerberos 88/tcp +kerberos 88/udp +su-mit-tg 89/tcp +su-mit-tg 89/udp +dnsix 90/tcp +dnsix 90/udp +mit-dov 91/tcp +mit-dov 91/udp +npp 92/tcp +npp 92/udp +dcp 93/tcp +dcp 93/udp +objcall 94/tcp +objcall 94/udp +supdup 95/tcp +supdup 95/udp +dixie 96/tcp +dixie 96/udp +swift-rvf 97/tcp +swift-rvf 97/udp +tacnews 98/tcp +tacnews 98/udp +metagram 99/tcp +metagram 99/udp +hostname 101/tcp +hostname 101/udp +iso-tsap 102/tcp +iso-tsap 102/udp +gppitnp 103/tcp +gppitnp 103/udp +acr-nema 104/tcp +acr-nema 104/udp +cso 105/tcp +cso 105/udp +csnet-ns 105/tcp +csnet-ns 105/udp +3com-tsmux 106/tcp +3com-tsmux 106/udp +rtelnet 107/tcp +rtelnet 107/udp +snagas 108/tcp +snagas 108/udp +pop2 109/tcp +pop2 109/udp +pop3 110/tcp +pop3 110/udp +sunrpc 111/tcp +sunrpc 111/udp +mcidas 112/tcp +mcidas 112/udp +ident 113/tcp +auth 113/tcp +auth 113/udp +sftp 115/tcp +sftp 115/udp +ansanotify 116/tcp +ansanotify 116/udp +uucp-path 117/tcp +uucp-path 117/udp +sqlserv 118/tcp +sqlserv 118/udp +nntp 119/tcp +nntp 119/udp +cfdptkt 120/tcp +cfdptkt 120/udp +erpc 121/tcp +erpc 121/udp +smakynet 122/tcp +smakynet 122/udp +ntp 123/tcp +ntp 123/udp +ansatrader 124/tcp +ansatrader 124/udp +locus-map 125/tcp +locus-map 125/udp +nxedit 126/tcp +nxedit 126/udp +locus-con 127/tcp +locus-con 127/udp +gss-xlicen 128/tcp +gss-xlicen 128/udp +pwdgen 129/tcp +pwdgen 129/udp +cisco-fna 130/tcp +cisco-fna 130/udp +cisco-tna 131/tcp +cisco-tna 131/udp +cisco-sys 132/tcp +cisco-sys 132/udp +statsrv 133/tcp +statsrv 133/udp +ingres-net 134/tcp +ingres-net 134/udp +epmap 135/tcp +epmap 135/udp +profile 136/tcp +profile 136/udp +netbios-ns 137/tcp +netbios-ns 137/udp +netbios-dgm 138/tcp +netbios-dgm 138/udp +netbios-ssn 139/tcp +netbios-ssn 139/udp +emfis-data 140/tcp +emfis-data 140/udp +emfis-cntl 141/tcp +emfis-cntl 141/udp +bl-idm 142/tcp +bl-idm 142/udp +imap 143/tcp +imap 143/udp +uma 144/tcp +uma 144/udp +uaac 145/tcp +uaac 145/udp +iso-tp0 146/tcp +iso-tp0 146/udp +iso-ip 147/tcp +iso-ip 147/udp +jargon 148/tcp +jargon 148/udp +aed-512 149/tcp +aed-512 149/udp +sql-net 150/tcp +sql-net 150/udp +hems 151/tcp +hems 151/udp +bftp 152/tcp +bftp 152/udp +sgmp 153/tcp +sgmp 153/udp +netsc-prod 154/tcp +netsc-prod 154/udp +netsc-dev 155/tcp +netsc-dev 155/udp +sqlsrv 156/tcp +sqlsrv 156/udp +knet-cmp 157/tcp +knet-cmp 157/udp +pcmail-srv 158/tcp +pcmail-srv 158/udp +nss-routing 159/tcp +nss-routing 159/udp +sgmp-traps 160/tcp +sgmp-traps 160/udp +snmp 161/tcp +snmp 161/udp +snmptrap 162/tcp +snmptrap 162/udp +cmip-man 163/tcp +cmip-man 163/udp +cmip-agent 164/tcp +cmip-agent 164/udp +xns-courier 165/tcp +xns-courier 165/udp +s-net 166/tcp +s-net 166/udp +namp 167/tcp +namp 167/udp +rsvd 168/tcp +rsvd 168/udp +send 169/tcp +send 169/udp +print-srv 170/tcp +print-srv 170/udp +multiplex 171/tcp +multiplex 171/udp +cl-1 172/tcp +cl-1 172/udp +xyplex-mux 173/tcp +xyplex-mux 173/udp +mailq 174/tcp +mailq 174/udp +vmnet 175/tcp +vmnet 175/udp +genrad-mux 176/tcp +genrad-mux 176/udp +xdmcp 177/tcp +xdmcp 177/udp +nextstep 178/tcp +nextstep 178/udp +bgp 179/tcp +bgp 179/udp +bgp 179/sctp +ris 180/tcp +ris 180/udp +unify 181/tcp +unify 181/udp +audit 182/tcp +audit 182/udp +ocbinder 183/tcp +ocbinder 183/udp +ocserver 184/tcp +ocserver 184/udp +remote-kis 185/tcp +remote-kis 185/udp +kis 186/tcp +kis 186/udp +aci 187/tcp +aci 187/udp +mumps 188/tcp +mumps 188/udp +qft 189/tcp +qft 189/udp +gacp 190/tcp +gacp 190/udp +prospero 191/tcp +prospero 191/udp +osu-nms 192/tcp +osu-nms 192/udp +srmp 193/tcp +srmp 193/udp +irc 194/tcp +irc 194/udp +dn6-nlm-aud 195/tcp +dn6-nlm-aud 195/udp +dn6-smm-red 196/tcp +dn6-smm-red 196/udp +dls 197/tcp +dls 197/udp +dls-mon 198/tcp +dls-mon 198/udp +smux 199/tcp +smux 199/udp +src 200/tcp +src 200/udp +at-rtmp 201/tcp +at-rtmp 201/udp +at-nbp 202/tcp +at-nbp 202/udp +at-3 203/tcp +at-3 203/udp +at-echo 204/tcp +at-echo 204/udp +at-5 205/tcp +at-5 205/udp +at-zis 206/tcp +at-zis 206/udp +at-7 207/tcp +at-7 207/udp +at-8 208/tcp +at-8 208/udp +qmtp 209/tcp +qmtp 209/udp +z39-50 210/tcp +z39-50 210/udp +914c-g 211/tcp +914c-g 211/udp +anet 212/tcp +anet 212/udp +ipx 213/tcp +ipx 213/udp +vmpwscs 214/tcp +vmpwscs 214/udp +softpc 215/tcp +softpc 215/udp +CAIlic 216/tcp +CAIlic 216/udp +dbase 217/tcp +dbase 217/udp +mpp 218/tcp +mpp 218/udp +uarps 219/tcp +uarps 219/udp +imap3 220/tcp +imap3 220/udp +fln-spx 221/tcp +fln-spx 221/udp +rsh-spx 222/tcp +rsh-spx 222/udp +cdc 223/tcp +cdc 223/udp +masqdialer 224/tcp +masqdialer 224/udp +direct 242/tcp +direct 242/udp +sur-meas 243/tcp +sur-meas 243/udp +inbusiness 244/tcp +inbusiness 244/udp +link 245/tcp +link 245/udp +dsp3270 246/tcp +dsp3270 246/udp +subntbcst-tftp 247/tcp +subntbcst-tftp 247/udp +bhfhs 248/tcp +bhfhs 248/udp +rap 256/tcp +rap 256/udp +set 257/tcp +set 257/udp +esro-gen 259/tcp +esro-gen 259/udp +openport 260/tcp +openport 260/udp +nsiiops 261/tcp +nsiiops 261/udp +arcisdms 262/tcp +arcisdms 262/udp +hdap 263/tcp +hdap 263/udp +bgmp 264/tcp +bgmp 264/udp +x-bone-ctl 265/tcp +x-bone-ctl 265/udp +sst 266/tcp +sst 266/udp +td-service 267/tcp +td-service 267/udp +td-replica 268/tcp +td-replica 268/udp +manet 269/tcp +manet 269/udp +gist 270/udp +pt-tls 271/tcp +http-mgmt 280/tcp +http-mgmt 280/udp +personal-link 281/tcp +personal-link 281/udp +cableport-ax 282/tcp +cableport-ax 282/udp +rescap 283/tcp +rescap 283/udp +corerjd 284/tcp +corerjd 284/udp +fxp 286/tcp +fxp 286/udp +k-block 287/tcp +k-block 287/udp +novastorbakcup 308/tcp +novastorbakcup 308/udp +entrusttime 309/tcp +entrusttime 309/udp +bhmds 310/tcp +bhmds 310/udp +asip-webadmin 311/tcp +asip-webadmin 311/udp +vslmp 312/tcp +vslmp 312/udp +magenta-logic 313/tcp +magenta-logic 313/udp +opalis-robot 314/tcp +opalis-robot 314/udp +dpsi 315/tcp +dpsi 315/udp +decauth 316/tcp +decauth 316/udp +zannet 317/tcp +zannet 317/udp +pkix-timestamp 318/tcp +pkix-timestamp 318/udp +ptp-event 319/tcp +ptp-event 319/udp +ptp-general 320/tcp +ptp-general 320/udp +pip 321/tcp +pip 321/udp +rtsps 322/tcp +rtsps 322/udp +rpki-rtr 323/tcp +rpki-rtr-tls 324/tcp +texar 333/tcp +texar 333/udp +pdap 344/tcp +pdap 344/udp +pawserv 345/tcp +pawserv 345/udp +zserv 346/tcp +zserv 346/udp +fatserv 347/tcp +fatserv 347/udp +csi-sgwp 348/tcp +csi-sgwp 348/udp +mftp 349/tcp +mftp 349/udp +matip-type-a 350/tcp +matip-type-a 350/udp +matip-type-b 351/tcp +matip-type-b 351/udp +bhoetty 351/tcp +bhoetty 351/udp +dtag-ste-sb 352/tcp +dtag-ste-sb 352/udp +bhoedap4 352/tcp +bhoedap4 352/udp +ndsauth 353/tcp +ndsauth 353/udp +bh611 354/tcp +bh611 354/udp +datex-asn 355/tcp +datex-asn 355/udp +cloanto-net-1 356/tcp +cloanto-net-1 356/udp +bhevent 357/tcp +bhevent 357/udp +shrinkwrap 358/tcp +shrinkwrap 358/udp +nsrmp 359/tcp +nsrmp 359/udp +scoi2odialog 360/tcp +scoi2odialog 360/udp +semantix 361/tcp +semantix 361/udp +srssend 362/tcp +srssend 362/udp +rsvp-tunnel 363/tcp +rsvp-tunnel 363/udp +aurora-cmgr 364/tcp +aurora-cmgr 364/udp +dtk 365/tcp +dtk 365/udp +odmr 366/tcp +odmr 366/udp +mortgageware 367/tcp +mortgageware 367/udp +qbikgdp 368/tcp +qbikgdp 368/udp +rpc2portmap 369/tcp +rpc2portmap 369/udp +codaauth2 370/tcp +codaauth2 370/udp +clearcase 371/tcp +clearcase 371/udp +ulistproc 372/tcp +ulistproc 372/udp +legent-1 373/tcp +legent-1 373/udp +legent-2 374/tcp +legent-2 374/udp +hassle 375/tcp +hassle 375/udp +nip 376/tcp +nip 376/udp +tnETOS 377/tcp +tnETOS 377/udp +dsETOS 378/tcp +dsETOS 378/udp +is99c 379/tcp +is99c 379/udp +is99s 380/tcp +is99s 380/udp +hp-collector 381/tcp +hp-collector 381/udp +hp-managed-node 382/tcp +hp-managed-node 382/udp +hp-alarm-mgr 383/tcp +hp-alarm-mgr 383/udp +arns 384/tcp +arns 384/udp +ibm-app 385/tcp +ibm-app 385/udp +asa 386/tcp +asa 386/udp +aurp 387/tcp +aurp 387/udp +unidata-ldm 388/tcp +unidata-ldm 388/udp +ldap 389/tcp +ldap 389/udp +uis 390/tcp +uis 390/udp +synotics-relay 391/tcp +synotics-relay 391/udp +synotics-broker 392/tcp +synotics-broker 392/udp +meta5 393/tcp +meta5 393/udp +embl-ndt 394/tcp +embl-ndt 394/udp +netcp 395/tcp +netcp 395/udp +netware-ip 396/tcp +netware-ip 396/udp +mptn 397/tcp +mptn 397/udp +kryptolan 398/tcp +kryptolan 398/udp +iso-tsap-c2 399/tcp +iso-tsap-c2 399/udp +osb-sd 400/tcp +osb-sd 400/udp +ups 401/tcp +ups 401/udp +genie 402/tcp +genie 402/udp +decap 403/tcp +decap 403/udp +nced 404/tcp +nced 404/udp +ncld 405/tcp +ncld 405/udp +imsp 406/tcp +imsp 406/udp +timbuktu 407/tcp +timbuktu 407/udp +prm-sm 408/tcp +prm-sm 408/udp +prm-nm 409/tcp +prm-nm 409/udp +decladebug 410/tcp +decladebug 410/udp +rmt 411/tcp +rmt 411/udp +synoptics-trap 412/tcp +synoptics-trap 412/udp +smsp 413/tcp +smsp 413/udp +infoseek 414/tcp +infoseek 414/udp +bnet 415/tcp +bnet 415/udp +silverplatter 416/tcp +silverplatter 416/udp +onmux 417/tcp +onmux 417/udp +hyper-g 418/tcp +hyper-g 418/udp +ariel1 419/tcp +ariel1 419/udp +smpte 420/tcp +smpte 420/udp +ariel2 421/tcp +ariel2 421/udp +ariel3 422/tcp +ariel3 422/udp +opc-job-start 423/tcp +opc-job-start 423/udp +opc-job-track 424/tcp +opc-job-track 424/udp +icad-el 425/tcp +icad-el 425/udp +smartsdp 426/tcp +smartsdp 426/udp +svrloc 427/tcp +svrloc 427/udp +ocs-cmu 428/tcp +ocs-cmu 428/udp +ocs-amu 429/tcp +ocs-amu 429/udp +utmpsd 430/tcp +utmpsd 430/udp +utmpcd 431/tcp +utmpcd 431/udp +iasd 432/tcp +iasd 432/udp +nnsp 433/tcp +nnsp 433/udp +mobileip-agent 434/tcp +mobileip-agent 434/udp +mobilip-mn 435/tcp +mobilip-mn 435/udp +dna-cml 436/tcp +dna-cml 436/udp +comscm 437/tcp +comscm 437/udp +dsfgw 438/tcp +dsfgw 438/udp +dasp 439/tcp +dasp 439/udp +sgcp 440/tcp +sgcp 440/udp +decvms-sysmgt 441/tcp +decvms-sysmgt 441/udp +cvc-hostd 442/tcp +cvc-hostd 442/udp +https 443/tcp +https 443/udp +https 443/sctp +snpp 444/tcp +snpp 444/udp +microsoft-ds 445/tcp +microsoft-ds 445/udp +ddm-rdb 446/tcp +ddm-rdb 446/udp +ddm-dfm 447/tcp +ddm-dfm 447/udp +ddm-ssl 448/tcp +ddm-ssl 448/udp +as-servermap 449/tcp +as-servermap 449/udp +tserver 450/tcp +tserver 450/udp +sfs-smp-net 451/tcp +sfs-smp-net 451/udp +sfs-config 452/tcp +sfs-config 452/udp +creativeserver 453/tcp +creativeserver 453/udp +contentserver 454/tcp +contentserver 454/udp +creativepartnr 455/tcp +creativepartnr 455/udp +macon-tcp 456/tcp +macon-udp 456/udp +scohelp 457/tcp +scohelp 457/udp +appleqtc 458/tcp +appleqtc 458/udp +ampr-rcmd 459/tcp +ampr-rcmd 459/udp +skronk 460/tcp +skronk 460/udp +datasurfsrv 461/tcp +datasurfsrv 461/udp +datasurfsrvsec 462/tcp +datasurfsrvsec 462/udp +alpes 463/tcp +alpes 463/udp +kpasswd 464/tcp +kpasswd 464/udp +urd 465/tcp +submissions 465/tcp +igmpv3lite 465/udp +digital-vrc 466/tcp +digital-vrc 466/udp +mylex-mapd 467/tcp +mylex-mapd 467/udp +photuris 468/tcp +photuris 468/udp +rcp 469/tcp +rcp 469/udp +scx-proxy 470/tcp +scx-proxy 470/udp +mondex 471/tcp +mondex 471/udp +ljk-login 472/tcp +ljk-login 472/udp +hybrid-pop 473/tcp +hybrid-pop 473/udp +tn-tl-w1 474/tcp +tn-tl-w2 474/udp +tcpnethaspsrv 475/tcp +tcpnethaspsrv 475/udp +tn-tl-fd1 476/tcp +tn-tl-fd1 476/udp +ss7ns 477/tcp +ss7ns 477/udp +spsc 478/tcp +spsc 478/udp +iafserver 479/tcp +iafserver 479/udp +iafdbase 480/tcp +iafdbase 480/udp +ph 481/tcp +ph 481/udp +bgs-nsi 482/tcp +bgs-nsi 482/udp +ulpnet 483/tcp +ulpnet 483/udp +integra-sme 484/tcp +integra-sme 484/udp +powerburst 485/tcp +powerburst 485/udp +avian 486/tcp +avian 486/udp +saft 487/tcp +saft 487/udp +gss-http 488/tcp +gss-http 488/udp +nest-protocol 489/tcp +nest-protocol 489/udp +micom-pfs 490/tcp +micom-pfs 490/udp +go-login 491/tcp +go-login 491/udp +ticf-1 492/tcp +ticf-1 492/udp +ticf-2 493/tcp +ticf-2 493/udp +pov-ray 494/tcp +pov-ray 494/udp +intecourier 495/tcp +intecourier 495/udp +pim-rp-disc 496/tcp +pim-rp-disc 496/udp +retrospect 497/tcp +retrospect 497/udp +siam 498/tcp +siam 498/udp +iso-ill 499/tcp +iso-ill 499/udp +isakmp 500/tcp +isakmp 500/udp +stmf 501/tcp +stmf 501/udp +mbap 502/tcp +mbap 502/udp +intrinsa 503/tcp +intrinsa 503/udp +citadel 504/tcp +citadel 504/udp +mailbox-lm 505/tcp +mailbox-lm 505/udp +ohimsrv 506/tcp +ohimsrv 506/udp +crs 507/tcp +crs 507/udp +xvttp 508/tcp +xvttp 508/udp +snare 509/tcp +snare 509/udp +fcp 510/tcp +fcp 510/udp +passgo 511/tcp +passgo 511/udp +exec 512/tcp +comsat 512/udp +biff 512/udp +login 513/tcp +who 513/udp +shell 514/tcp +syslog 514/udp +printer 515/tcp +printer 515/udp +videotex 516/tcp +videotex 516/udp +talk 517/tcp +talk 517/udp +ntalk 518/tcp +ntalk 518/udp +utime 519/tcp +utime 519/udp +efs 520/tcp +router 520/udp +ripng 521/tcp +ripng 521/udp +ulp 522/tcp +ulp 522/udp +ibm-db2 523/tcp +ibm-db2 523/udp +ncp 524/tcp +ncp 524/udp +timed 525/tcp +timed 525/udp +tempo 526/tcp +tempo 526/udp +stx 527/tcp +stx 527/udp +custix 528/tcp +custix 528/udp +irc-serv 529/tcp +irc-serv 529/udp +courier 530/tcp +courier 530/udp +conference 531/tcp +conference 531/udp +netnews 532/tcp +netnews 532/udp +netwall 533/tcp +netwall 533/udp +windream 534/tcp +windream 534/udp +iiop 535/tcp +iiop 535/udp +opalis-rdv 536/tcp +opalis-rdv 536/udp +nmsp 537/tcp +nmsp 537/udp +gdomap 538/tcp +gdomap 538/udp +apertus-ldp 539/tcp +apertus-ldp 539/udp +uucp 540/tcp +uucp 540/udp +uucp-rlogin 541/tcp +uucp-rlogin 541/udp +commerce 542/tcp +commerce 542/udp +klogin 543/tcp +klogin 543/udp +kshell 544/tcp +kshell 544/udp +appleqtcsrvr 545/tcp +appleqtcsrvr 545/udp +dhcpv6-client 546/tcp +dhcpv6-client 546/udp +dhcpv6-server 547/tcp +dhcpv6-server 547/udp +afpovertcp 548/tcp +afpovertcp 548/udp +idfp 549/tcp +idfp 549/udp +new-rwho 550/tcp +new-rwho 550/udp +cybercash 551/tcp +cybercash 551/udp +devshr-nts 552/tcp +devshr-nts 552/udp +pirp 553/tcp +pirp 553/udp +rtsp 554/tcp +rtsp 554/udp +dsf 555/tcp +dsf 555/udp +remotefs 556/tcp +remotefs 556/udp +openvms-sysipc 557/tcp +openvms-sysipc 557/udp +sdnskmp 558/tcp +sdnskmp 558/udp +teedtap 559/tcp +teedtap 559/udp +rmonitor 560/tcp +rmonitor 560/udp +monitor 561/tcp +monitor 561/udp +chshell 562/tcp +chshell 562/udp +nntps 563/tcp +nntps 563/udp +9pfs 564/tcp +9pfs 564/udp +whoami 565/tcp +whoami 565/udp +streettalk 566/tcp +streettalk 566/udp +banyan-rpc 567/tcp +banyan-rpc 567/udp +ms-shuttle 568/tcp +ms-shuttle 568/udp +ms-rome 569/tcp +ms-rome 569/udp +meter 570/tcp +meter 570/udp +meter 571/tcp +meter 571/udp +sonar 572/tcp +sonar 572/udp +banyan-vip 573/tcp +banyan-vip 573/udp +ftp-agent 574/tcp +ftp-agent 574/udp +vemmi 575/tcp +vemmi 575/udp +ipcd 576/tcp +ipcd 576/udp +vnas 577/tcp +vnas 577/udp +ipdd 578/tcp +ipdd 578/udp +decbsrv 579/tcp +decbsrv 579/udp +sntp-heartbeat 580/tcp +sntp-heartbeat 580/udp +bdp 581/tcp +bdp 581/udp +scc-security 582/tcp +scc-security 582/udp +philips-vc 583/tcp +philips-vc 583/udp +keyserver 584/tcp +keyserver 584/udp +password-chg 586/tcp +password-chg 586/udp +submission 587/tcp +submission 587/udp +cal 588/tcp +cal 588/udp +eyelink 589/tcp +eyelink 589/udp +tns-cml 590/tcp +tns-cml 590/udp +http-alt 591/tcp +http-alt 591/udp +eudora-set 592/tcp +eudora-set 592/udp +http-rpc-epmap 593/tcp +http-rpc-epmap 593/udp +tpip 594/tcp +tpip 594/udp +cab-protocol 595/tcp +cab-protocol 595/udp +smsd 596/tcp +smsd 596/udp +ptcnameservice 597/tcp +ptcnameservice 597/udp +sco-websrvrmg3 598/tcp +sco-websrvrmg3 598/udp +acp 599/tcp +acp 599/udp +ipcserver 600/tcp +ipcserver 600/udp +syslog-conn 601/tcp +syslog-conn 601/udp +xmlrpc-beep 602/tcp +xmlrpc-beep 602/udp +idxp 603/tcp +idxp 603/udp +tunnel 604/tcp +tunnel 604/udp +soap-beep 605/tcp +soap-beep 605/udp +urm 606/tcp +urm 606/udp +nqs 607/tcp +nqs 607/udp +sift-uft 608/tcp +sift-uft 608/udp +npmp-trap 609/tcp +npmp-trap 609/udp +npmp-local 610/tcp +npmp-local 610/udp +npmp-gui 611/tcp +npmp-gui 611/udp +hmmp-ind 612/tcp +hmmp-ind 612/udp +hmmp-op 613/tcp +hmmp-op 613/udp +sshell 614/tcp +sshell 614/udp +sco-inetmgr 615/tcp +sco-inetmgr 615/udp +sco-sysmgr 616/tcp +sco-sysmgr 616/udp +sco-dtmgr 617/tcp +sco-dtmgr 617/udp +dei-icda 618/tcp +dei-icda 618/udp +compaq-evm 619/tcp +compaq-evm 619/udp +sco-websrvrmgr 620/tcp +sco-websrvrmgr 620/udp +escp-ip 621/tcp +escp-ip 621/udp +collaborator 622/tcp +collaborator 622/udp +oob-ws-http 623/tcp +asf-rmcp 623/udp +cryptoadmin 624/tcp +cryptoadmin 624/udp +dec-dlm 625/tcp +dec-dlm 625/udp +asia 626/tcp +asia 626/udp +passgo-tivoli 627/tcp +passgo-tivoli 627/udp +qmqp 628/tcp +qmqp 628/udp +3com-amp3 629/tcp +3com-amp3 629/udp +rda 630/tcp +rda 630/udp +ipp 631/tcp +ipp 631/udp +ipps 631/tcp +bmpp 632/tcp +bmpp 632/udp +servstat 633/tcp +servstat 633/udp +ginad 634/tcp +ginad 634/udp +rlzdbase 635/tcp +rlzdbase 635/udp +ldaps 636/tcp +ldaps 636/udp +lanserver 637/tcp +lanserver 637/udp +mcns-sec 638/tcp +mcns-sec 638/udp +msdp 639/tcp +msdp 639/udp +entrust-sps 640/tcp +entrust-sps 640/udp +repcmd 641/tcp +repcmd 641/udp +esro-emsdp 642/tcp +esro-emsdp 642/udp +sanity 643/tcp +sanity 643/udp +dwr 644/tcp +dwr 644/udp +pssc 645/tcp +pssc 645/udp +ldp 646/tcp +ldp 646/udp +dhcp-failover 647/tcp +dhcp-failover 647/udp +rrp 648/tcp +rrp 648/udp +cadview-3d 649/tcp +cadview-3d 649/udp +obex 650/tcp +obex 650/udp +ieee-mms 651/tcp +ieee-mms 651/udp +hello-port 652/tcp +hello-port 652/udp +repscmd 653/tcp +repscmd 653/udp +aodv 654/tcp +aodv 654/udp +tinc 655/tcp +tinc 655/udp +spmp 656/tcp +spmp 656/udp +rmc 657/tcp +rmc 657/udp +tenfold 658/tcp +tenfold 658/udp +mac-srvr-admin 660/tcp +mac-srvr-admin 660/udp +hap 661/tcp +hap 661/udp +pftp 662/tcp +pftp 662/udp +purenoise 663/tcp +purenoise 663/udp +oob-ws-https 664/tcp +asf-secure-rmcp 664/udp +sun-dr 665/tcp +sun-dr 665/udp +mdqs 666/tcp +mdqs 666/udp +doom 666/tcp +doom 666/udp +disclose 667/tcp +disclose 667/udp +mecomm 668/tcp +mecomm 668/udp +meregister 669/tcp +meregister 669/udp +vacdsm-sws 670/tcp +vacdsm-sws 670/udp +vacdsm-app 671/tcp +vacdsm-app 671/udp +vpps-qua 672/tcp +vpps-qua 672/udp +cimplex 673/tcp +cimplex 673/udp +acap 674/tcp +acap 674/udp +dctp 675/tcp +dctp 675/udp +vpps-via 676/tcp +vpps-via 676/udp +vpp 677/tcp +vpp 677/udp +ggf-ncp 678/tcp +ggf-ncp 678/udp +mrm 679/tcp +mrm 679/udp +entrust-aaas 680/tcp +entrust-aaas 680/udp +entrust-aams 681/tcp +entrust-aams 681/udp +xfr 682/tcp +xfr 682/udp +corba-iiop 683/tcp +corba-iiop 683/udp +corba-iiop-ssl 684/tcp +corba-iiop-ssl 684/udp +mdc-portmapper 685/tcp +mdc-portmapper 685/udp +hcp-wismar 686/tcp +hcp-wismar 686/udp +asipregistry 687/tcp +asipregistry 687/udp +realm-rusd 688/tcp +realm-rusd 688/udp +nmap 689/tcp +nmap 689/udp +vatp 690/tcp +vatp 690/udp +msexch-routing 691/tcp +msexch-routing 691/udp +hyperwave-isp 692/tcp +hyperwave-isp 692/udp +connendp 693/tcp +connendp 693/udp +ha-cluster 694/tcp +ha-cluster 694/udp +ieee-mms-ssl 695/tcp +ieee-mms-ssl 695/udp +rushd 696/tcp +rushd 696/udp +uuidgen 697/tcp +uuidgen 697/udp +olsr 698/tcp +olsr 698/udp +accessnetwork 699/tcp +accessnetwork 699/udp +epp 700/tcp +epp 700/udp +lmp 701/tcp +lmp 701/udp +iris-beep 702/tcp +iris-beep 702/udp +elcsd 704/tcp +elcsd 704/udp +agentx 705/tcp +agentx 705/udp +silc 706/tcp +silc 706/udp +borland-dsj 707/tcp +borland-dsj 707/udp +entrust-kmsh 709/tcp +entrust-kmsh 709/udp +entrust-ash 710/tcp +entrust-ash 710/udp +cisco-tdp 711/tcp +cisco-tdp 711/udp +tbrpf 712/tcp +tbrpf 712/udp +iris-xpc 713/tcp +iris-xpc 713/udp +iris-xpcs 714/tcp +iris-xpcs 714/udp +iris-lwz 715/tcp +iris-lwz 715/udp +pana 716/udp +netviewdm1 729/tcp +netviewdm1 729/udp +netviewdm2 730/tcp +netviewdm2 730/udp +netviewdm3 731/tcp +netviewdm3 731/udp +netgw 741/tcp +netgw 741/udp +netrcs 742/tcp +netrcs 742/udp +flexlm 744/tcp +flexlm 744/udp +fujitsu-dev 747/tcp +fujitsu-dev 747/udp +ris-cm 748/tcp +ris-cm 748/udp +kerberos-adm 749/tcp +kerberos-adm 749/udp +rfile 750/tcp +loadav 750/udp +kerberos-iv 750/udp +pump 751/tcp +pump 751/udp +qrh 752/tcp +qrh 752/udp +rrh 753/tcp +rrh 753/udp +tell 754/tcp +tell 754/udp +nlogin 758/tcp +nlogin 758/udp +con 759/tcp +con 759/udp +ns 760/tcp +ns 760/udp +rxe 761/tcp +rxe 761/udp +quotad 762/tcp +quotad 762/udp +cycleserv 763/tcp +cycleserv 763/udp +omserv 764/tcp +omserv 764/udp +webster 765/tcp +webster 765/udp +phonebook 767/tcp +phonebook 767/udp +vid 769/tcp +vid 769/udp +cadlock 770/tcp +cadlock 770/udp +rtip 771/tcp +rtip 771/udp +cycleserv2 772/tcp +cycleserv2 772/udp +submit 773/tcp +notify 773/udp +rpasswd 774/tcp +acmaint-dbd 774/udp +entomb 775/tcp +acmaint-transd 775/udp +wpages 776/tcp +wpages 776/udp +multiling-http 777/tcp +multiling-http 777/udp +wpgs 780/tcp +wpgs 780/udp +mdbs-daemon 800/tcp +mdbs-daemon 800/udp +device 801/tcp +device 801/udp +mbap-s 802/tcp +mbap-s 802/udp +fcp-udp 810/tcp +fcp-udp 810/udp +itm-mcell-s 828/tcp +itm-mcell-s 828/udp +pkix-3-ca-ra 829/tcp +pkix-3-ca-ra 829/udp +netconf-ssh 830/tcp +netconf-ssh 830/udp +netconf-beep 831/tcp +netconf-beep 831/udp +netconfsoaphttp 832/tcp +netconfsoaphttp 832/udp +netconfsoapbeep 833/tcp +netconfsoapbeep 833/udp +dhcp-failover2 847/tcp +dhcp-failover2 847/udp +gdoi 848/tcp +gdoi 848/udp +domain-s 853/tcp +domain-s 853/udp +dlep 854/tcp +dlep 854/udp +iscsi 860/tcp +iscsi 860/udp +owamp-control 861/tcp +owamp-test 861/udp +twamp-control 862/tcp +twamp-test 862/udp +rsync 873/tcp +rsync 873/udp +iclcnet-locate 886/tcp +iclcnet-locate 886/udp +iclcnet-svinfo 887/tcp +iclcnet-svinfo 887/udp +accessbuilder 888/tcp +accessbuilder 888/udp +cddbp 888/tcp +omginitialrefs 900/tcp +omginitialrefs 900/udp +smpnameres 901/tcp +smpnameres 901/udp +ideafarm-door 902/tcp +ideafarm-door 902/udp +ideafarm-panic 903/tcp +ideafarm-panic 903/udp +kink 910/tcp +kink 910/udp +xact-backup 911/tcp +xact-backup 911/udp +apex-mesh 912/tcp +apex-mesh 912/udp +apex-edge 913/tcp +apex-edge 913/udp +rndc 953/tcp +ftps-data 989/tcp +ftps-data 989/udp +ftps 990/tcp +ftps 990/udp +nas 991/tcp +nas 991/udp +telnets 992/tcp +telnets 992/udp +imaps 993/tcp +imaps 993/udp +pop3s 995/tcp +pop3s 995/udp +vsinet 996/tcp +vsinet 996/udp +maitrd 997/tcp +maitrd 997/udp +busboy 998/tcp +puparp 998/udp +garcon 999/tcp +applix 999/udp +puprouter 999/tcp +puprouter 999/udp +cadlock2 1000/tcp +cadlock2 1000/udp +webpush 1001/tcp +surf 1010/tcp +surf 1010/udp +exp1 1021/tcp +exp1 1021/udp +exp1 1021/sctp +exp1 1021/dccp +exp2 1022/tcp +exp2 1022/udp +exp2 1022/sctp +exp2 1022/dccp +blackjack 1025/tcp +blackjack 1025/udp +cap 1026/tcp +cap 1026/udp +6a44 1027/udp +solid-mux 1029/tcp +solid-mux 1029/udp +netinfo-local 1033/tcp +netinfo-local 1033/udp +activesync 1034/tcp +activesync 1034/udp +mxxrlogin 1035/tcp +mxxrlogin 1035/udp +nsstp 1036/tcp +nsstp 1036/udp +ams 1037/tcp +ams 1037/udp +mtqp 1038/tcp +mtqp 1038/udp +sbl 1039/tcp +sbl 1039/udp +netarx 1040/tcp +netarx 1040/udp +danf-ak2 1041/tcp +danf-ak2 1041/udp +afrog 1042/tcp +afrog 1042/udp +boinc-client 1043/tcp +boinc-client 1043/udp +dcutility 1044/tcp +dcutility 1044/udp +fpitp 1045/tcp +fpitp 1045/udp +wfremotertm 1046/tcp +wfremotertm 1046/udp +neod1 1047/tcp +neod1 1047/udp +neod2 1048/tcp +neod2 1048/udp +td-postman 1049/tcp +td-postman 1049/udp +cma 1050/tcp +cma 1050/udp +optima-vnet 1051/tcp +optima-vnet 1051/udp +ddt 1052/tcp +ddt 1052/udp +remote-as 1053/tcp +remote-as 1053/udp +brvread 1054/tcp +brvread 1054/udp +ansyslmd 1055/tcp +ansyslmd 1055/udp +vfo 1056/tcp +vfo 1056/udp +startron 1057/tcp +startron 1057/udp +nim 1058/tcp +nim 1058/udp +nimreg 1059/tcp +nimreg 1059/udp +polestar 1060/tcp +polestar 1060/udp +kiosk 1061/tcp +kiosk 1061/udp +veracity 1062/tcp +veracity 1062/udp +kyoceranetdev 1063/tcp +kyoceranetdev 1063/udp +jstel 1064/tcp +jstel 1064/udp +syscomlan 1065/tcp +syscomlan 1065/udp +fpo-fns 1066/tcp +fpo-fns 1066/udp +instl-boots 1067/tcp +instl-boots 1067/udp +instl-bootc 1068/tcp +instl-bootc 1068/udp +cognex-insight 1069/tcp +cognex-insight 1069/udp +gmrupdateserv 1070/tcp +gmrupdateserv 1070/udp +bsquare-voip 1071/tcp +bsquare-voip 1071/udp +cardax 1072/tcp +cardax 1072/udp +bridgecontrol 1073/tcp +bridgecontrol 1073/udp +warmspotMgmt 1074/tcp +warmspotMgmt 1074/udp +rdrmshc 1075/tcp +rdrmshc 1075/udp +dab-sti-c 1076/tcp +dab-sti-c 1076/udp +imgames 1077/tcp +imgames 1077/udp +avocent-proxy 1078/tcp +avocent-proxy 1078/udp +asprovatalk 1079/tcp +asprovatalk 1079/udp +socks 1080/tcp +socks 1080/udp +pvuniwien 1081/tcp +pvuniwien 1081/udp +amt-esd-prot 1082/tcp +amt-esd-prot 1082/udp +ansoft-lm-1 1083/tcp +ansoft-lm-1 1083/udp +ansoft-lm-2 1084/tcp +ansoft-lm-2 1084/udp +webobjects 1085/tcp +webobjects 1085/udp +cplscrambler-lg 1086/tcp +cplscrambler-lg 1086/udp +cplscrambler-in 1087/tcp +cplscrambler-in 1087/udp +cplscrambler-al 1088/tcp +cplscrambler-al 1088/udp +ff-annunc 1089/tcp +ff-annunc 1089/udp +ff-fms 1090/tcp +ff-fms 1090/udp +ff-sm 1091/tcp +ff-sm 1091/udp +obrpd 1092/tcp +obrpd 1092/udp +proofd 1093/tcp +proofd 1093/udp +rootd 1094/tcp +rootd 1094/udp +nicelink 1095/tcp +nicelink 1095/udp +cnrprotocol 1096/tcp +cnrprotocol 1096/udp +sunclustermgr 1097/tcp +sunclustermgr 1097/udp +rmiactivation 1098/tcp +rmiactivation 1098/udp +rmiregistry 1099/tcp +rmiregistry 1099/udp +mctp 1100/tcp +mctp 1100/udp +pt2-discover 1101/tcp +pt2-discover 1101/udp +adobeserver-1 1102/tcp +adobeserver-1 1102/udp +adobeserver-2 1103/tcp +adobeserver-2 1103/udp +xrl 1104/tcp +xrl 1104/udp +ftranhc 1105/tcp +ftranhc 1105/udp +isoipsigport-1 1106/tcp +isoipsigport-1 1106/udp +isoipsigport-2 1107/tcp +isoipsigport-2 1107/udp +ratio-adp 1108/tcp +ratio-adp 1108/udp +webadmstart 1110/tcp +nfsd-keepalive 1110/udp +lmsocialserver 1111/tcp +lmsocialserver 1111/udp +icp 1112/tcp +icp 1112/udp +ltp-deepspace 1113/tcp +ltp-deepspace 1113/udp +ltp-deepspace 1113/dccp +mini-sql 1114/tcp +mini-sql 1114/udp +ardus-trns 1115/tcp +ardus-trns 1115/udp +ardus-cntl 1116/tcp +ardus-cntl 1116/udp +ardus-mtrns 1117/tcp +ardus-mtrns 1117/udp +sacred 1118/tcp +sacred 1118/udp +bnetgame 1119/tcp +bnetgame 1119/udp +bnetfile 1120/tcp +bnetfile 1120/udp +rmpp 1121/tcp +rmpp 1121/udp +availant-mgr 1122/tcp +availant-mgr 1122/udp +murray 1123/tcp +murray 1123/udp +hpvmmcontrol 1124/tcp +hpvmmcontrol 1124/udp +hpvmmagent 1125/tcp +hpvmmagent 1125/udp +hpvmmdata 1126/tcp +hpvmmdata 1126/udp +kwdb-commn 1127/tcp +kwdb-commn 1127/udp +saphostctrl 1128/tcp +saphostctrl 1128/udp +saphostctrls 1129/tcp +saphostctrls 1129/udp +casp 1130/tcp +casp 1130/udp +caspssl 1131/tcp +caspssl 1131/udp +kvm-via-ip 1132/tcp +kvm-via-ip 1132/udp +dfn 1133/tcp +dfn 1133/udp +aplx 1134/tcp +aplx 1134/udp +omnivision 1135/tcp +omnivision 1135/udp +hhb-gateway 1136/tcp +hhb-gateway 1136/udp +trim 1137/tcp +trim 1137/udp +encrypted-admin 1138/tcp +encrypted-admin 1138/udp +evm 1139/tcp +evm 1139/udp +autonoc 1140/tcp +autonoc 1140/udp +mxomss 1141/tcp +mxomss 1141/udp +edtools 1142/tcp +edtools 1142/udp +imyx 1143/tcp +imyx 1143/udp +fuscript 1144/tcp +fuscript 1144/udp +x9-icue 1145/tcp +x9-icue 1145/udp +audit-transfer 1146/tcp +audit-transfer 1146/udp +capioverlan 1147/tcp +capioverlan 1147/udp +elfiq-repl 1148/tcp +elfiq-repl 1148/udp +bvtsonar 1149/tcp +bvtsonar 1149/udp +blaze 1150/tcp +blaze 1150/udp +unizensus 1151/tcp +unizensus 1151/udp +winpoplanmess 1152/tcp +winpoplanmess 1152/udp +c1222-acse 1153/tcp +c1222-acse 1153/udp +resacommunity 1154/tcp +resacommunity 1154/udp +nfa 1155/tcp +nfa 1155/udp +iascontrol-oms 1156/tcp +iascontrol-oms 1156/udp +iascontrol 1157/tcp +iascontrol 1157/udp +dbcontrol-oms 1158/tcp +dbcontrol-oms 1158/udp +oracle-oms 1159/tcp +oracle-oms 1159/udp +olsv 1160/tcp +olsv 1160/udp +health-polling 1161/tcp +health-polling 1161/udp +health-trap 1162/tcp +health-trap 1162/udp +sddp 1163/tcp +sddp 1163/udp +qsm-proxy 1164/tcp +qsm-proxy 1164/udp +qsm-gui 1165/tcp +qsm-gui 1165/udp +qsm-remote 1166/tcp +qsm-remote 1166/udp +cisco-ipsla 1167/tcp +cisco-ipsla 1167/udp +cisco-ipsla 1167/sctp +vchat 1168/tcp +vchat 1168/udp +tripwire 1169/tcp +tripwire 1169/udp +atc-lm 1170/tcp +atc-lm 1170/udp +atc-appserver 1171/tcp +atc-appserver 1171/udp +dnap 1172/tcp +dnap 1172/udp +d-cinema-rrp 1173/tcp +d-cinema-rrp 1173/udp +fnet-remote-ui 1174/tcp +fnet-remote-ui 1174/udp +dossier 1175/tcp +dossier 1175/udp +indigo-server 1176/tcp +indigo-server 1176/udp +dkmessenger 1177/tcp +dkmessenger 1177/udp +sgi-storman 1178/tcp +sgi-storman 1178/udp +b2n 1179/tcp +b2n 1179/udp +mc-client 1180/tcp +mc-client 1180/udp +3comnetman 1181/tcp +3comnetman 1181/udp +accelenet 1182/tcp +accelenet-data 1182/udp +llsurfup-http 1183/tcp +llsurfup-http 1183/udp +llsurfup-https 1184/tcp +llsurfup-https 1184/udp +catchpole 1185/tcp +catchpole 1185/udp +mysql-cluster 1186/tcp +mysql-cluster 1186/udp +alias 1187/tcp +alias 1187/udp +hp-webadmin 1188/tcp +hp-webadmin 1188/udp +unet 1189/tcp +unet 1189/udp +commlinx-avl 1190/tcp +commlinx-avl 1190/udp +gpfs 1191/tcp +gpfs 1191/udp +caids-sensor 1192/tcp +caids-sensor 1192/udp +fiveacross 1193/tcp +fiveacross 1193/udp +openvpn 1194/tcp +openvpn 1194/udp +rsf-1 1195/tcp +rsf-1 1195/udp +netmagic 1196/tcp +netmagic 1196/udp +carrius-rshell 1197/tcp +carrius-rshell 1197/udp +cajo-discovery 1198/tcp +cajo-discovery 1198/udp +dmidi 1199/tcp +dmidi 1199/udp +scol 1200/tcp +scol 1200/udp +nucleus-sand 1201/tcp +nucleus-sand 1201/udp +caiccipc 1202/tcp +caiccipc 1202/udp +ssslic-mgr 1203/tcp +ssslic-mgr 1203/udp +ssslog-mgr 1204/tcp +ssslog-mgr 1204/udp +accord-mgc 1205/tcp +accord-mgc 1205/udp +anthony-data 1206/tcp +anthony-data 1206/udp +metasage 1207/tcp +metasage 1207/udp +seagull-ais 1208/tcp +seagull-ais 1208/udp +ipcd3 1209/tcp +ipcd3 1209/udp +eoss 1210/tcp +eoss 1210/udp +groove-dpp 1211/tcp +groove-dpp 1211/udp +lupa 1212/tcp +lupa 1212/udp +mpc-lifenet 1213/tcp +mpc-lifenet 1213/udp +kazaa 1214/tcp +kazaa 1214/udp +scanstat-1 1215/tcp +scanstat-1 1215/udp +etebac5 1216/tcp +etebac5 1216/udp +hpss-ndapi 1217/tcp +hpss-ndapi 1217/udp +aeroflight-ads 1218/tcp +aeroflight-ads 1218/udp +aeroflight-ret 1219/tcp +aeroflight-ret 1219/udp +qt-serveradmin 1220/tcp +qt-serveradmin 1220/udp +sweetware-apps 1221/tcp +sweetware-apps 1221/udp +nerv 1222/tcp +nerv 1222/udp +tgp 1223/tcp +tgp 1223/udp +vpnz 1224/tcp +vpnz 1224/udp +slinkysearch 1225/tcp +slinkysearch 1225/udp +stgxfws 1226/tcp +stgxfws 1226/udp +dns2go 1227/tcp +dns2go 1227/udp +florence 1228/tcp +florence 1228/udp +zented 1229/tcp +zented 1229/udp +periscope 1230/tcp +periscope 1230/udp +menandmice-lpm 1231/tcp +menandmice-lpm 1231/udp +first-defense 1232/tcp +first-defense 1232/udp +univ-appserver 1233/tcp +univ-appserver 1233/udp +search-agent 1234/tcp +search-agent 1234/udp +mosaicsyssvc1 1235/tcp +mosaicsyssvc1 1235/udp +bvcontrol 1236/tcp +bvcontrol 1236/udp +tsdos390 1237/tcp +tsdos390 1237/udp +hacl-qs 1238/tcp +hacl-qs 1238/udp +nmsd 1239/tcp +nmsd 1239/udp +instantia 1240/tcp +instantia 1240/udp +nessus 1241/tcp +nessus 1241/udp +nmasoverip 1242/tcp +nmasoverip 1242/udp +serialgateway 1243/tcp +serialgateway 1243/udp +isbconference1 1244/tcp +isbconference1 1244/udp +isbconference2 1245/tcp +isbconference2 1245/udp +payrouter 1246/tcp +payrouter 1246/udp +visionpyramid 1247/tcp +visionpyramid 1247/udp +hermes 1248/tcp +hermes 1248/udp +mesavistaco 1249/tcp +mesavistaco 1249/udp +swldy-sias 1250/tcp +swldy-sias 1250/udp +servergraph 1251/tcp +servergraph 1251/udp +bspne-pcc 1252/tcp +bspne-pcc 1252/udp +q55-pcc 1253/tcp +q55-pcc 1253/udp +de-noc 1254/tcp +de-noc 1254/udp +de-cache-query 1255/tcp +de-cache-query 1255/udp +de-server 1256/tcp +de-server 1256/udp +shockwave2 1257/tcp +shockwave2 1257/udp +opennl 1258/tcp +opennl 1258/udp +opennl-voice 1259/tcp +opennl-voice 1259/udp +ibm-ssd 1260/tcp +ibm-ssd 1260/udp +mpshrsv 1261/tcp +mpshrsv 1261/udp +qnts-orb 1262/tcp +qnts-orb 1262/udp +dka 1263/tcp +dka 1263/udp +prat 1264/tcp +prat 1264/udp +dssiapi 1265/tcp +dssiapi 1265/udp +dellpwrappks 1266/tcp +dellpwrappks 1266/udp +epc 1267/tcp +epc 1267/udp +propel-msgsys 1268/tcp +propel-msgsys 1268/udp +watilapp 1269/tcp +watilapp 1269/udp +opsmgr 1270/tcp +opsmgr 1270/udp +excw 1271/tcp +excw 1271/udp +cspmlockmgr 1272/tcp +cspmlockmgr 1272/udp +emc-gateway 1273/tcp +emc-gateway 1273/udp +t1distproc 1274/tcp +t1distproc 1274/udp +ivcollector 1275/tcp +ivcollector 1275/udp +miva-mqs 1277/tcp +miva-mqs 1277/udp +dellwebadmin-1 1278/tcp +dellwebadmin-1 1278/udp +dellwebadmin-2 1279/tcp +dellwebadmin-2 1279/udp +pictrography 1280/tcp +pictrography 1280/udp +healthd 1281/tcp +healthd 1281/udp +emperion 1282/tcp +emperion 1282/udp +productinfo 1283/tcp +productinfo 1283/udp +iee-qfx 1284/tcp +iee-qfx 1284/udp +neoiface 1285/tcp +neoiface 1285/udp +netuitive 1286/tcp +netuitive 1286/udp +routematch 1287/tcp +routematch 1287/udp +navbuddy 1288/tcp +navbuddy 1288/udp +jwalkserver 1289/tcp +jwalkserver 1289/udp +winjaserver 1290/tcp +winjaserver 1290/udp +seagulllms 1291/tcp +seagulllms 1291/udp +dsdn 1292/tcp +dsdn 1292/udp +pkt-krb-ipsec 1293/tcp +pkt-krb-ipsec 1293/udp +cmmdriver 1294/tcp +cmmdriver 1294/udp +ehtp 1295/tcp +ehtp 1295/udp +dproxy 1296/tcp +dproxy 1296/udp +sdproxy 1297/tcp +sdproxy 1297/udp +lpcp 1298/tcp +lpcp 1298/udp +hp-sci 1299/tcp +hp-sci 1299/udp +h323hostcallsc 1300/tcp +h323hostcallsc 1300/udp +sftsrv 1303/tcp +sftsrv 1303/udp +boomerang 1304/tcp +boomerang 1304/udp +pe-mike 1305/tcp +pe-mike 1305/udp +re-conn-proto 1306/tcp +re-conn-proto 1306/udp +pacmand 1307/tcp +pacmand 1307/udp +odsi 1308/tcp +odsi 1308/udp +jtag-server 1309/tcp +jtag-server 1309/udp +husky 1310/tcp +husky 1310/udp +rxmon 1311/tcp +rxmon 1311/udp +sti-envision 1312/tcp +sti-envision 1312/udp +bmc-patroldb 1313/tcp +bmc-patroldb 1313/udp +pdps 1314/tcp +pdps 1314/udp +els 1315/tcp +els 1315/udp +exbit-escp 1316/tcp +exbit-escp 1316/udp +vrts-ipcserver 1317/tcp +vrts-ipcserver 1317/udp +krb5gatekeeper 1318/tcp +krb5gatekeeper 1318/udp +amx-icsp 1319/tcp +amx-icsp 1319/udp +amx-axbnet 1320/tcp +amx-axbnet 1320/udp +pip 1321/tcp +pip 1321/udp +novation 1322/tcp +novation 1322/udp +brcd 1323/tcp +brcd 1323/udp +delta-mcp 1324/tcp +delta-mcp 1324/udp +dx-instrument 1325/tcp +dx-instrument 1325/udp +wimsic 1326/tcp +wimsic 1326/udp +ultrex 1327/tcp +ultrex 1327/udp +ewall 1328/tcp +ewall 1328/udp +netdb-export 1329/tcp +netdb-export 1329/udp +streetperfect 1330/tcp +streetperfect 1330/udp +intersan 1331/tcp +intersan 1331/udp +pcia-rxp-b 1332/tcp +pcia-rxp-b 1332/udp +passwrd-policy 1333/tcp +passwrd-policy 1333/udp +writesrv 1334/tcp +writesrv 1334/udp +digital-notary 1335/tcp +digital-notary 1335/udp +ischat 1336/tcp +ischat 1336/udp +menandmice-dns 1337/tcp +menandmice-dns 1337/udp +wmc-log-svc 1338/tcp +wmc-log-svc 1338/udp +kjtsiteserver 1339/tcp +kjtsiteserver 1339/udp +naap 1340/tcp +naap 1340/udp +qubes 1341/tcp +qubes 1341/udp +esbroker 1342/tcp +esbroker 1342/udp +re101 1343/tcp +re101 1343/udp +icap 1344/tcp +icap 1344/udp +vpjp 1345/tcp +vpjp 1345/udp +alta-ana-lm 1346/tcp +alta-ana-lm 1346/udp +bbn-mmc 1347/tcp +bbn-mmc 1347/udp +bbn-mmx 1348/tcp +bbn-mmx 1348/udp +sbook 1349/tcp +sbook 1349/udp +editbench 1350/tcp +editbench 1350/udp +equationbuilder 1351/tcp +equationbuilder 1351/udp +lotusnote 1352/tcp +lotusnote 1352/udp +relief 1353/tcp +relief 1353/udp +XSIP-network 1354/tcp +XSIP-network 1354/udp +intuitive-edge 1355/tcp +intuitive-edge 1355/udp +cuillamartin 1356/tcp +cuillamartin 1356/udp +pegboard 1357/tcp +pegboard 1357/udp +connlcli 1358/tcp +connlcli 1358/udp +ftsrv 1359/tcp +ftsrv 1359/udp +mimer 1360/tcp +mimer 1360/udp +linx 1361/tcp +linx 1361/udp +timeflies 1362/tcp +timeflies 1362/udp +ndm-requester 1363/tcp +ndm-requester 1363/udp +ndm-server 1364/tcp +ndm-server 1364/udp +adapt-sna 1365/tcp +adapt-sna 1365/udp +netware-csp 1366/tcp +netware-csp 1366/udp +dcs 1367/tcp +dcs 1367/udp +screencast 1368/tcp +screencast 1368/udp +gv-us 1369/tcp +gv-us 1369/udp +us-gv 1370/tcp +us-gv 1370/udp +fc-cli 1371/tcp +fc-cli 1371/udp +fc-ser 1372/tcp +fc-ser 1372/udp +chromagrafx 1373/tcp +chromagrafx 1373/udp +molly 1374/tcp +molly 1374/udp +bytex 1375/tcp +bytex 1375/udp +ibm-pps 1376/tcp +ibm-pps 1376/udp +cichlid 1377/tcp +cichlid 1377/udp +elan 1378/tcp +elan 1378/udp +dbreporter 1379/tcp +dbreporter 1379/udp +telesis-licman 1380/tcp +telesis-licman 1380/udp +apple-licman 1381/tcp +apple-licman 1381/udp +udt-os 1382/tcp +udt-os 1382/udp +gwha 1383/tcp +gwha 1383/udp +os-licman 1384/tcp +os-licman 1384/udp +atex-elmd 1385/tcp +atex-elmd 1385/udp +checksum 1386/tcp +checksum 1386/udp +cadsi-lm 1387/tcp +cadsi-lm 1387/udp +objective-dbc 1388/tcp +objective-dbc 1388/udp +iclpv-dm 1389/tcp +iclpv-dm 1389/udp +iclpv-sc 1390/tcp +iclpv-sc 1390/udp +iclpv-sas 1391/tcp +iclpv-sas 1391/udp +iclpv-pm 1392/tcp +iclpv-pm 1392/udp +iclpv-nls 1393/tcp +iclpv-nls 1393/udp +iclpv-nlc 1394/tcp +iclpv-nlc 1394/udp +iclpv-wsm 1395/tcp +iclpv-wsm 1395/udp +dvl-activemail 1396/tcp +dvl-activemail 1396/udp +audio-activmail 1397/tcp +audio-activmail 1397/udp +video-activmail 1398/tcp +video-activmail 1398/udp +cadkey-licman 1399/tcp +cadkey-licman 1399/udp +cadkey-tablet 1400/tcp +cadkey-tablet 1400/udp +goldleaf-licman 1401/tcp +goldleaf-licman 1401/udp +prm-sm-np 1402/tcp +prm-sm-np 1402/udp +prm-nm-np 1403/tcp +prm-nm-np 1403/udp +igi-lm 1404/tcp +igi-lm 1404/udp +ibm-res 1405/tcp +ibm-res 1405/udp +netlabs-lm 1406/tcp +netlabs-lm 1406/udp +tibet-server 1407/tcp +sophia-lm 1408/tcp +sophia-lm 1408/udp +here-lm 1409/tcp +here-lm 1409/udp +hiq 1410/tcp +hiq 1410/udp +af 1411/tcp +af 1411/udp +innosys 1412/tcp +innosys 1412/udp +innosys-acl 1413/tcp +innosys-acl 1413/udp +ibm-mqseries 1414/tcp +ibm-mqseries 1414/udp +dbstar 1415/tcp +dbstar 1415/udp +novell-lu6-2 1416/tcp +novell-lu6-2 1416/udp +timbuktu-srv1 1417/tcp +timbuktu-srv1 1417/udp +timbuktu-srv2 1418/tcp +timbuktu-srv2 1418/udp +timbuktu-srv3 1419/tcp +timbuktu-srv3 1419/udp +timbuktu-srv4 1420/tcp +timbuktu-srv4 1420/udp +gandalf-lm 1421/tcp +gandalf-lm 1421/udp +autodesk-lm 1422/tcp +autodesk-lm 1422/udp +essbase 1423/tcp +essbase 1423/udp +hybrid 1424/tcp +hybrid 1424/udp +zion-lm 1425/tcp +zion-lm 1425/udp +sais 1426/tcp +sais 1426/udp +mloadd 1427/tcp +mloadd 1427/udp +informatik-lm 1428/tcp +informatik-lm 1428/udp +nms 1429/tcp +nms 1429/udp +tpdu 1430/tcp +tpdu 1430/udp +rgtp 1431/tcp +rgtp 1431/udp +blueberry-lm 1432/tcp +blueberry-lm 1432/udp +ms-sql-s 1433/tcp +ms-sql-s 1433/udp +ms-sql-m 1434/tcp +ms-sql-m 1434/udp +ibm-cics 1435/tcp +ibm-cics 1435/udp +saism 1436/tcp +saism 1436/udp +tabula 1437/tcp +tabula 1437/udp +eicon-server 1438/tcp +eicon-server 1438/udp +eicon-x25 1439/tcp +eicon-x25 1439/udp +eicon-slp 1440/tcp +eicon-slp 1440/udp +cadis-1 1441/tcp +cadis-1 1441/udp +cadis-2 1442/tcp +cadis-2 1442/udp +ies-lm 1443/tcp +ies-lm 1443/udp +marcam-lm 1444/tcp +marcam-lm 1444/udp +proxima-lm 1445/tcp +proxima-lm 1445/udp +ora-lm 1446/tcp +ora-lm 1446/udp +apri-lm 1447/tcp +apri-lm 1447/udp +oc-lm 1448/tcp +oc-lm 1448/udp +peport 1449/tcp +peport 1449/udp +dwf 1450/tcp +dwf 1450/udp +infoman 1451/tcp +infoman 1451/udp +gtegsc-lm 1452/tcp +gtegsc-lm 1452/udp +genie-lm 1453/tcp +genie-lm 1453/udp +interhdl-elmd 1454/tcp +interhdl-elmd 1454/udp +esl-lm 1455/tcp +esl-lm 1455/udp +dca 1456/tcp +dca 1456/udp +valisys-lm 1457/tcp +valisys-lm 1457/udp +nrcabq-lm 1458/tcp +nrcabq-lm 1458/udp +proshare1 1459/tcp +proshare1 1459/udp +proshare2 1460/tcp +proshare2 1460/udp +ibm-wrless-lan 1461/tcp +ibm-wrless-lan 1461/udp +world-lm 1462/tcp +world-lm 1462/udp +nucleus 1463/tcp +nucleus 1463/udp +msl-lmd 1464/tcp +msl-lmd 1464/udp +pipes 1465/tcp +pipes 1465/udp +oceansoft-lm 1466/tcp +oceansoft-lm 1466/udp +csdmbase 1467/tcp +csdmbase 1467/udp +csdm 1468/tcp +csdm 1468/udp +aal-lm 1469/tcp +aal-lm 1469/udp +uaiact 1470/tcp +uaiact 1470/udp +csdmbase 1471/tcp +csdmbase 1471/udp +csdm 1472/tcp +csdm 1472/udp +openmath 1473/tcp +openmath 1473/udp +telefinder 1474/tcp +telefinder 1474/udp +taligent-lm 1475/tcp +taligent-lm 1475/udp +clvm-cfg 1476/tcp +clvm-cfg 1476/udp +ms-sna-server 1477/tcp +ms-sna-server 1477/udp +ms-sna-base 1478/tcp +ms-sna-base 1478/udp +dberegister 1479/tcp +dberegister 1479/udp +pacerforum 1480/tcp +pacerforum 1480/udp +airs 1481/tcp +airs 1481/udp +miteksys-lm 1482/tcp +miteksys-lm 1482/udp +afs 1483/tcp +afs 1483/udp +confluent 1484/tcp +confluent 1484/udp +lansource 1485/tcp +lansource 1485/udp +nms-topo-serv 1486/tcp +nms-topo-serv 1486/udp +localinfosrvr 1487/tcp +localinfosrvr 1487/udp +docstor 1488/tcp +docstor 1488/udp +dmdocbroker 1489/tcp +dmdocbroker 1489/udp +insitu-conf 1490/tcp +insitu-conf 1490/udp +stone-design-1 1492/tcp +stone-design-1 1492/udp +netmap-lm 1493/tcp +netmap-lm 1493/udp +ica 1494/tcp +ica 1494/udp +cvc 1495/tcp +cvc 1495/udp +liberty-lm 1496/tcp +liberty-lm 1496/udp +rfx-lm 1497/tcp +rfx-lm 1497/udp +sybase-sqlany 1498/tcp +sybase-sqlany 1498/udp +fhc 1499/tcp +fhc 1499/udp +vlsi-lm 1500/tcp +vlsi-lm 1500/udp +saiscm 1501/tcp +saiscm 1501/udp +shivadiscovery 1502/tcp +shivadiscovery 1502/udp +imtc-mcs 1503/tcp +imtc-mcs 1503/udp +evb-elm 1504/tcp +evb-elm 1504/udp +funkproxy 1505/tcp +funkproxy 1505/udp +utcd 1506/tcp +utcd 1506/udp +symplex 1507/tcp +symplex 1507/udp +diagmond 1508/tcp +diagmond 1508/udp +robcad-lm 1509/tcp +robcad-lm 1509/udp +mvx-lm 1510/tcp +mvx-lm 1510/udp +3l-l1 1511/tcp +3l-l1 1511/udp +wins 1512/tcp +wins 1512/udp +fujitsu-dtc 1513/tcp +fujitsu-dtc 1513/udp +fujitsu-dtcns 1514/tcp +fujitsu-dtcns 1514/udp +ifor-protocol 1515/tcp +ifor-protocol 1515/udp +vpad 1516/tcp +vpad 1516/udp +vpac 1517/tcp +vpac 1517/udp +vpvd 1518/tcp +vpvd 1518/udp +vpvc 1519/tcp +vpvc 1519/udp +atm-zip-office 1520/tcp +atm-zip-office 1520/udp +ncube-lm 1521/tcp +ncube-lm 1521/udp +ricardo-lm 1522/tcp +ricardo-lm 1522/udp +cichild-lm 1523/tcp +cichild-lm 1523/udp +ingreslock 1524/tcp +ingreslock 1524/udp +orasrv 1525/tcp +orasrv 1525/udp +prospero-np 1525/tcp +prospero-np 1525/udp +pdap-np 1526/tcp +pdap-np 1526/udp +tlisrv 1527/tcp +tlisrv 1527/udp +ngr-t 1528/udp +coauthor 1529/tcp +coauthor 1529/udp +rap-service 1530/tcp +rap-service 1530/udp +rap-listen 1531/tcp +rap-listen 1531/udp +miroconnect 1532/tcp +miroconnect 1532/udp +virtual-places 1533/tcp +virtual-places 1533/udp +micromuse-lm 1534/tcp +micromuse-lm 1534/udp +ampr-info 1535/tcp +ampr-info 1535/udp +ampr-inter 1536/tcp +ampr-inter 1536/udp +sdsc-lm 1537/tcp +sdsc-lm 1537/udp +3ds-lm 1538/tcp +3ds-lm 1538/udp +intellistor-lm 1539/tcp +intellistor-lm 1539/udp +rds 1540/tcp +rds 1540/udp +rds2 1541/tcp +rds2 1541/udp +gridgen-elmd 1542/tcp +gridgen-elmd 1542/udp +simba-cs 1543/tcp +simba-cs 1543/udp +aspeclmd 1544/tcp +aspeclmd 1544/udp +vistium-share 1545/tcp +vistium-share 1545/udp +abbaccuray 1546/tcp +abbaccuray 1546/udp +laplink 1547/tcp +laplink 1547/udp +axon-lm 1548/tcp +axon-lm 1548/udp +shivahose 1549/tcp +shivasound 1549/udp +3m-image-lm 1550/tcp +3m-image-lm 1550/udp +hecmtl-db 1551/tcp +hecmtl-db 1551/udp +pciarray 1552/tcp +pciarray 1552/udp +sna-cs 1553/tcp +sna-cs 1553/udp +caci-lm 1554/tcp +caci-lm 1554/udp +livelan 1555/tcp +livelan 1555/udp +veritas-pbx 1556/tcp +veritas-pbx 1556/udp +arbortext-lm 1557/tcp +arbortext-lm 1557/udp +xingmpeg 1558/tcp +xingmpeg 1558/udp +web2host 1559/tcp +web2host 1559/udp +asci-val 1560/tcp +asci-val 1560/udp +facilityview 1561/tcp +facilityview 1561/udp +pconnectmgr 1562/tcp +pconnectmgr 1562/udp +cadabra-lm 1563/tcp +cadabra-lm 1563/udp +pay-per-view 1564/tcp +pay-per-view 1564/udp +winddlb 1565/tcp +winddlb 1565/udp +corelvideo 1566/tcp +corelvideo 1566/udp +jlicelmd 1567/tcp +jlicelmd 1567/udp +tsspmap 1568/tcp +tsspmap 1568/udp +ets 1569/tcp +ets 1569/udp +orbixd 1570/tcp +orbixd 1570/udp +rdb-dbs-disp 1571/tcp +rdb-dbs-disp 1571/udp +chip-lm 1572/tcp +chip-lm 1572/udp +itscomm-ns 1573/tcp +itscomm-ns 1573/udp +mvel-lm 1574/tcp +mvel-lm 1574/udp +oraclenames 1575/tcp +oraclenames 1575/udp +moldflow-lm 1576/tcp +moldflow-lm 1576/udp +hypercube-lm 1577/tcp +hypercube-lm 1577/udp +jacobus-lm 1578/tcp +jacobus-lm 1578/udp +ioc-sea-lm 1579/tcp +ioc-sea-lm 1579/udp +tn-tl-r1 1580/tcp +tn-tl-r2 1580/udp +mil-2045-47001 1581/tcp +mil-2045-47001 1581/udp +msims 1582/tcp +msims 1582/udp +simbaexpress 1583/tcp +simbaexpress 1583/udp +tn-tl-fd2 1584/tcp +tn-tl-fd2 1584/udp +intv 1585/tcp +intv 1585/udp +ibm-abtact 1586/tcp +ibm-abtact 1586/udp +pra-elmd 1587/tcp +pra-elmd 1587/udp +triquest-lm 1588/tcp +triquest-lm 1588/udp +vqp 1589/tcp +vqp 1589/udp +gemini-lm 1590/tcp +gemini-lm 1590/udp +ncpm-pm 1591/tcp +ncpm-pm 1591/udp +commonspace 1592/tcp +commonspace 1592/udp +mainsoft-lm 1593/tcp +mainsoft-lm 1593/udp +sixtrak 1594/tcp +sixtrak 1594/udp +radio 1595/tcp +radio 1595/udp +radio-sm 1596/tcp +radio-bc 1596/udp +orbplus-iiop 1597/tcp +orbplus-iiop 1597/udp +picknfs 1598/tcp +picknfs 1598/udp +simbaservices 1599/tcp +simbaservices 1599/udp +issd 1600/tcp +issd 1600/udp +aas 1601/tcp +aas 1601/udp +inspect 1602/tcp +inspect 1602/udp +picodbc 1603/tcp +picodbc 1603/udp +icabrowser 1604/tcp +icabrowser 1604/udp +slp 1605/tcp +slp 1605/udp +slm-api 1606/tcp +slm-api 1606/udp +stt 1607/tcp +stt 1607/udp +smart-lm 1608/tcp +smart-lm 1608/udp +isysg-lm 1609/tcp +isysg-lm 1609/udp +taurus-wh 1610/tcp +taurus-wh 1610/udp +ill 1611/tcp +ill 1611/udp +netbill-trans 1612/tcp +netbill-trans 1612/udp +netbill-keyrep 1613/tcp +netbill-keyrep 1613/udp +netbill-cred 1614/tcp +netbill-cred 1614/udp +netbill-auth 1615/tcp +netbill-auth 1615/udp +netbill-prod 1616/tcp +netbill-prod 1616/udp +nimrod-agent 1617/tcp +nimrod-agent 1617/udp +skytelnet 1618/tcp +skytelnet 1618/udp +xs-openstorage 1619/tcp +xs-openstorage 1619/udp +faxportwinport 1620/tcp +faxportwinport 1620/udp +softdataphone 1621/tcp +softdataphone 1621/udp +ontime 1622/tcp +ontime 1622/udp +jaleosnd 1623/tcp +jaleosnd 1623/udp +udp-sr-port 1624/tcp +udp-sr-port 1624/udp +svs-omagent 1625/tcp +svs-omagent 1625/udp +shockwave 1626/tcp +shockwave 1626/udp +t128-gateway 1627/tcp +t128-gateway 1627/udp +lontalk-norm 1628/tcp +lontalk-norm 1628/udp +lontalk-urgnt 1629/tcp +lontalk-urgnt 1629/udp +oraclenet8cman 1630/tcp +oraclenet8cman 1630/udp +visitview 1631/tcp +visitview 1631/udp +pammratc 1632/tcp +pammratc 1632/udp +pammrpc 1633/tcp +pammrpc 1633/udp +loaprobe 1634/tcp +loaprobe 1634/udp +edb-server1 1635/tcp +edb-server1 1635/udp +isdc 1636/tcp +isdc 1636/udp +islc 1637/tcp +islc 1637/udp +ismc 1638/tcp +ismc 1638/udp +cert-initiator 1639/tcp +cert-initiator 1639/udp +cert-responder 1640/tcp +cert-responder 1640/udp +invision 1641/tcp +invision 1641/udp +isis-am 1642/tcp +isis-am 1642/udp +isis-ambc 1643/tcp +isis-ambc 1643/udp +saiseh 1644/tcp +saiseh 1644/udp +sightline 1645/tcp +sightline 1645/udp +sa-msg-port 1646/tcp +sa-msg-port 1646/udp +rsap 1647/tcp +rsap 1647/udp +concurrent-lm 1648/tcp +concurrent-lm 1648/udp +kermit 1649/tcp +kermit 1649/udp +nkd 1650/tcp +nkd 1650/udp +shiva-confsrvr 1651/tcp +shiva-confsrvr 1651/udp +xnmp 1652/tcp +xnmp 1652/udp +alphatech-lm 1653/tcp +alphatech-lm 1653/udp +stargatealerts 1654/tcp +stargatealerts 1654/udp +dec-mbadmin 1655/tcp +dec-mbadmin 1655/udp +dec-mbadmin-h 1656/tcp +dec-mbadmin-h 1656/udp +fujitsu-mmpdc 1657/tcp +fujitsu-mmpdc 1657/udp +sixnetudr 1658/tcp +sixnetudr 1658/udp +sg-lm 1659/tcp +sg-lm 1659/udp +skip-mc-gikreq 1660/tcp +skip-mc-gikreq 1660/udp +netview-aix-1 1661/tcp +netview-aix-1 1661/udp +netview-aix-2 1662/tcp +netview-aix-2 1662/udp +netview-aix-3 1663/tcp +netview-aix-3 1663/udp +netview-aix-4 1664/tcp +netview-aix-4 1664/udp +netview-aix-5 1665/tcp +netview-aix-5 1665/udp +netview-aix-6 1666/tcp +netview-aix-6 1666/udp +netview-aix-7 1667/tcp +netview-aix-7 1667/udp +netview-aix-8 1668/tcp +netview-aix-8 1668/udp +netview-aix-9 1669/tcp +netview-aix-9 1669/udp +netview-aix-10 1670/tcp +netview-aix-10 1670/udp +netview-aix-11 1671/tcp +netview-aix-11 1671/udp +netview-aix-12 1672/tcp +netview-aix-12 1672/udp +proshare-mc-1 1673/tcp +proshare-mc-1 1673/udp +proshare-mc-2 1674/tcp +proshare-mc-2 1674/udp +pdp 1675/tcp +pdp 1675/udp +netcomm1 1676/tcp +netcomm2 1676/udp +groupwise 1677/tcp +groupwise 1677/udp +prolink 1678/tcp +prolink 1678/udp +darcorp-lm 1679/tcp +darcorp-lm 1679/udp +microcom-sbp 1680/tcp +microcom-sbp 1680/udp +sd-elmd 1681/tcp +sd-elmd 1681/udp +lanyon-lantern 1682/tcp +lanyon-lantern 1682/udp +ncpm-hip 1683/tcp +ncpm-hip 1683/udp +snaresecure 1684/tcp +snaresecure 1684/udp +n2nremote 1685/tcp +n2nremote 1685/udp +cvmon 1686/tcp +cvmon 1686/udp +nsjtp-ctrl 1687/tcp +nsjtp-ctrl 1687/udp +nsjtp-data 1688/tcp +nsjtp-data 1688/udp +firefox 1689/tcp +firefox 1689/udp +ng-umds 1690/tcp +ng-umds 1690/udp +empire-empuma 1691/tcp +empire-empuma 1691/udp +sstsys-lm 1692/tcp +sstsys-lm 1692/udp +rrirtr 1693/tcp +rrirtr 1693/udp +rrimwm 1694/tcp +rrimwm 1694/udp +rrilwm 1695/tcp +rrilwm 1695/udp +rrifmm 1696/tcp +rrifmm 1696/udp +rrisat 1697/tcp +rrisat 1697/udp +rsvp-encap-1 1698/tcp +rsvp-encap-1 1698/udp +rsvp-encap-2 1699/tcp +rsvp-encap-2 1699/udp +mps-raft 1700/tcp +mps-raft 1700/udp +l2f 1701/tcp +l2f 1701/udp +l2tp 1701/tcp +l2tp 1701/udp +deskshare 1702/tcp +deskshare 1702/udp +hb-engine 1703/tcp +hb-engine 1703/udp +bcs-broker 1704/tcp +bcs-broker 1704/udp +slingshot 1705/tcp +slingshot 1705/udp +jetform 1706/tcp +jetform 1706/udp +vdmplay 1707/tcp +vdmplay 1707/udp +gat-lmd 1708/tcp +gat-lmd 1708/udp +centra 1709/tcp +centra 1709/udp +impera 1710/tcp +impera 1710/udp +pptconference 1711/tcp +pptconference 1711/udp +registrar 1712/tcp +registrar 1712/udp +conferencetalk 1713/tcp +conferencetalk 1713/udp +sesi-lm 1714/tcp +sesi-lm 1714/udp +houdini-lm 1715/tcp +houdini-lm 1715/udp +xmsg 1716/tcp +xmsg 1716/udp +fj-hdnet 1717/tcp +fj-hdnet 1717/udp +h323gatedisc 1718/tcp +h323gatedisc 1718/udp +h323gatestat 1719/tcp +h323gatestat 1719/udp +h323hostcall 1720/tcp +h323hostcall 1720/udp +h323hostcall 1720/sctp +caicci 1721/tcp +caicci 1721/udp +hks-lm 1722/tcp +hks-lm 1722/udp +pptp 1723/tcp +pptp 1723/udp +csbphonemaster 1724/tcp +csbphonemaster 1724/udp +iden-ralp 1725/tcp +iden-ralp 1725/udp +iberiagames 1726/tcp +iberiagames 1726/udp +winddx 1727/tcp +winddx 1727/udp +telindus 1728/tcp +telindus 1728/udp +citynl 1729/tcp +citynl 1729/udp +roketz 1730/tcp +roketz 1730/udp +msiccp 1731/tcp +msiccp 1731/udp +proxim 1732/tcp +proxim 1732/udp +siipat 1733/tcp +siipat 1733/udp +cambertx-lm 1734/tcp +cambertx-lm 1734/udp +privatechat 1735/tcp +privatechat 1735/udp +street-stream 1736/tcp +street-stream 1736/udp +ultimad 1737/tcp +ultimad 1737/udp +gamegen1 1738/tcp +gamegen1 1738/udp +webaccess 1739/tcp +webaccess 1739/udp +encore 1740/tcp +encore 1740/udp +cisco-net-mgmt 1741/tcp +cisco-net-mgmt 1741/udp +3Com-nsd 1742/tcp +3Com-nsd 1742/udp +cinegrfx-lm 1743/tcp +cinegrfx-lm 1743/udp +ncpm-ft 1744/tcp +ncpm-ft 1744/udp +remote-winsock 1745/tcp +remote-winsock 1745/udp +ftrapid-1 1746/tcp +ftrapid-1 1746/udp +ftrapid-2 1747/tcp +ftrapid-2 1747/udp +oracle-em1 1748/tcp +oracle-em1 1748/udp +aspen-services 1749/tcp +aspen-services 1749/udp +sslp 1750/tcp +sslp 1750/udp +swiftnet 1751/tcp +swiftnet 1751/udp +lofr-lm 1752/tcp +lofr-lm 1752/udp +predatar-comms 1753/tcp +oracle-em2 1754/tcp +oracle-em2 1754/udp +ms-streaming 1755/tcp +ms-streaming 1755/udp +capfast-lmd 1756/tcp +capfast-lmd 1756/udp +cnhrp 1757/tcp +cnhrp 1757/udp +tftp-mcast 1758/tcp +tftp-mcast 1758/udp +spss-lm 1759/tcp +spss-lm 1759/udp +www-ldap-gw 1760/tcp +www-ldap-gw 1760/udp +cft-0 1761/tcp +cft-0 1761/udp +cft-1 1762/tcp +cft-1 1762/udp +cft-2 1763/tcp +cft-2 1763/udp +cft-3 1764/tcp +cft-3 1764/udp +cft-4 1765/tcp +cft-4 1765/udp +cft-5 1766/tcp +cft-5 1766/udp +cft-6 1767/tcp +cft-6 1767/udp +cft-7 1768/tcp +cft-7 1768/udp +bmc-net-adm 1769/tcp +bmc-net-adm 1769/udp +bmc-net-svc 1770/tcp +bmc-net-svc 1770/udp +vaultbase 1771/tcp +vaultbase 1771/udp +essweb-gw 1772/tcp +essweb-gw 1772/udp +kmscontrol 1773/tcp +kmscontrol 1773/udp +global-dtserv 1774/tcp +global-dtserv 1774/udp +vdab 1775/tcp +femis 1776/tcp +femis 1776/udp +powerguardian 1777/tcp +powerguardian 1777/udp +prodigy-intrnet 1778/tcp +prodigy-intrnet 1778/udp +pharmasoft 1779/tcp +pharmasoft 1779/udp +dpkeyserv 1780/tcp +dpkeyserv 1780/udp +answersoft-lm 1781/tcp +answersoft-lm 1781/udp +hp-hcip 1782/tcp +hp-hcip 1782/udp +finle-lm 1784/tcp +finle-lm 1784/udp +windlm 1785/tcp +windlm 1785/udp +funk-logger 1786/tcp +funk-logger 1786/udp +funk-license 1787/tcp +funk-license 1787/udp +psmond 1788/tcp +psmond 1788/udp +hello 1789/tcp +hello 1789/udp +nmsp 1790/tcp +nmsp 1790/udp +ea1 1791/tcp +ea1 1791/udp +ibm-dt-2 1792/tcp +ibm-dt-2 1792/udp +rsc-robot 1793/tcp +rsc-robot 1793/udp +cera-bcm 1794/tcp +cera-bcm 1794/udp +dpi-proxy 1795/tcp +dpi-proxy 1795/udp +vocaltec-admin 1796/tcp +vocaltec-admin 1796/udp +uma 1797/tcp +uma 1797/udp +etp 1798/tcp +etp 1798/udp +netrisk 1799/tcp +netrisk 1799/udp +ansys-lm 1800/tcp +ansys-lm 1800/udp +msmq 1801/tcp +msmq 1801/udp +concomp1 1802/tcp +concomp1 1802/udp +hp-hcip-gwy 1803/tcp +hp-hcip-gwy 1803/udp +enl 1804/tcp +enl 1804/udp +enl-name 1805/tcp +enl-name 1805/udp +musiconline 1806/tcp +musiconline 1806/udp +fhsp 1807/tcp +fhsp 1807/udp +oracle-vp2 1808/tcp +oracle-vp2 1808/udp +oracle-vp1 1809/tcp +oracle-vp1 1809/udp +jerand-lm 1810/tcp +jerand-lm 1810/udp +scientia-sdb 1811/tcp +scientia-sdb 1811/udp +radius 1812/tcp +radius 1812/udp +radius-acct 1813/tcp +radius-acct 1813/udp +tdp-suite 1814/tcp +tdp-suite 1814/udp +mmpft 1815/tcp +mmpft 1815/udp +harp 1816/tcp +harp 1816/udp +rkb-oscs 1817/tcp +rkb-oscs 1817/udp +etftp 1818/tcp +etftp 1818/udp +plato-lm 1819/tcp +plato-lm 1819/udp +mcagent 1820/tcp +mcagent 1820/udp +donnyworld 1821/tcp +donnyworld 1821/udp +es-elmd 1822/tcp +es-elmd 1822/udp +unisys-lm 1823/tcp +unisys-lm 1823/udp +metrics-pas 1824/tcp +metrics-pas 1824/udp +direcpc-video 1825/tcp +direcpc-video 1825/udp +ardt 1826/tcp +ardt 1826/udp +asi 1827/tcp +asi 1827/udp +itm-mcell-u 1828/tcp +itm-mcell-u 1828/udp +optika-emedia 1829/tcp +optika-emedia 1829/udp +net8-cman 1830/tcp +net8-cman 1830/udp +myrtle 1831/tcp +myrtle 1831/udp +tht-treasure 1832/tcp +tht-treasure 1832/udp +udpradio 1833/tcp +udpradio 1833/udp +ardusuni 1834/tcp +ardusuni 1834/udp +ardusmul 1835/tcp +ardusmul 1835/udp +ste-smsc 1836/tcp +ste-smsc 1836/udp +csoft1 1837/tcp +csoft1 1837/udp +talnet 1838/tcp +talnet 1838/udp +netopia-vo1 1839/tcp +netopia-vo1 1839/udp +netopia-vo2 1840/tcp +netopia-vo2 1840/udp +netopia-vo3 1841/tcp +netopia-vo3 1841/udp +netopia-vo4 1842/tcp +netopia-vo4 1842/udp +netopia-vo5 1843/tcp +netopia-vo5 1843/udp +direcpc-dll 1844/tcp +direcpc-dll 1844/udp +altalink 1845/tcp +altalink 1845/udp +tunstall-pnc 1846/tcp +tunstall-pnc 1846/udp +slp-notify 1847/tcp +slp-notify 1847/udp +fjdocdist 1848/tcp +fjdocdist 1848/udp +alpha-sms 1849/tcp +alpha-sms 1849/udp +gsi 1850/tcp +gsi 1850/udp +ctcd 1851/tcp +ctcd 1851/udp +virtual-time 1852/tcp +virtual-time 1852/udp +vids-avtp 1853/tcp +vids-avtp 1853/udp +buddy-draw 1854/tcp +buddy-draw 1854/udp +fiorano-rtrsvc 1855/tcp +fiorano-rtrsvc 1855/udp +fiorano-msgsvc 1856/tcp +fiorano-msgsvc 1856/udp +datacaptor 1857/tcp +datacaptor 1857/udp +privateark 1858/tcp +privateark 1858/udp +gammafetchsvr 1859/tcp +gammafetchsvr 1859/udp +sunscalar-svc 1860/tcp +sunscalar-svc 1860/udp +lecroy-vicp 1861/tcp +lecroy-vicp 1861/udp +mysql-cm-agent 1862/tcp +mysql-cm-agent 1862/udp +msnp 1863/tcp +msnp 1863/udp +paradym-31port 1864/tcp +paradym-31port 1864/udp +entp 1865/tcp +entp 1865/udp +swrmi 1866/tcp +swrmi 1866/udp +udrive 1867/tcp +udrive 1867/udp +viziblebrowser 1868/tcp +viziblebrowser 1868/udp +transact 1869/tcp +transact 1869/udp +sunscalar-dns 1870/tcp +sunscalar-dns 1870/udp +canocentral0 1871/tcp +canocentral0 1871/udp +canocentral1 1872/tcp +canocentral1 1872/udp +fjmpjps 1873/tcp +fjmpjps 1873/udp +fjswapsnp 1874/tcp +fjswapsnp 1874/udp +westell-stats 1875/tcp +westell-stats 1875/udp +ewcappsrv 1876/tcp +ewcappsrv 1876/udp +hp-webqosdb 1877/tcp +hp-webqosdb 1877/udp +drmsmc 1878/tcp +drmsmc 1878/udp +nettgain-nms 1879/tcp +nettgain-nms 1879/udp +vsat-control 1880/tcp +vsat-control 1880/udp +ibm-mqseries2 1881/tcp +ibm-mqseries2 1881/udp +ecsqdmn 1882/tcp +ecsqdmn 1882/udp +mqtt 1883/tcp +mqtt 1883/udp +idmaps 1884/tcp +idmaps 1884/udp +vrtstrapserver 1885/tcp +vrtstrapserver 1885/udp +leoip 1886/tcp +leoip 1886/udp +filex-lport 1887/tcp +filex-lport 1887/udp +ncconfig 1888/tcp +ncconfig 1888/udp +unify-adapter 1889/tcp +unify-adapter 1889/udp +wilkenlistener 1890/tcp +wilkenlistener 1890/udp +childkey-notif 1891/tcp +childkey-notif 1891/udp +childkey-ctrl 1892/tcp +childkey-ctrl 1892/udp +elad 1893/tcp +elad 1893/udp +o2server-port 1894/tcp +o2server-port 1894/udp +b-novative-ls 1896/tcp +b-novative-ls 1896/udp +metaagent 1897/tcp +metaagent 1897/udp +cymtec-port 1898/tcp +cymtec-port 1898/udp +mc2studios 1899/tcp +mc2studios 1899/udp +ssdp 1900/tcp +ssdp 1900/udp +fjicl-tep-a 1901/tcp +fjicl-tep-a 1901/udp +fjicl-tep-b 1902/tcp +fjicl-tep-b 1902/udp +linkname 1903/tcp +linkname 1903/udp +fjicl-tep-c 1904/tcp +fjicl-tep-c 1904/udp +sugp 1905/tcp +sugp 1905/udp +tpmd 1906/tcp +tpmd 1906/udp +intrastar 1907/tcp +intrastar 1907/udp +dawn 1908/tcp +dawn 1908/udp +global-wlink 1909/tcp +global-wlink 1909/udp +ultrabac 1910/tcp +ultrabac 1910/udp +mtp 1911/tcp +mtp 1911/udp +rhp-iibp 1912/tcp +rhp-iibp 1912/udp +armadp 1913/tcp +armadp 1913/udp +elm-momentum 1914/tcp +elm-momentum 1914/udp +facelink 1915/tcp +facelink 1915/udp +persona 1916/tcp +persona 1916/udp +noagent 1917/tcp +noagent 1917/udp +can-nds 1918/tcp +can-nds 1918/udp +can-dch 1919/tcp +can-dch 1919/udp +can-ferret 1920/tcp +can-ferret 1920/udp +noadmin 1921/tcp +noadmin 1921/udp +tapestry 1922/tcp +tapestry 1922/udp +spice 1923/tcp +spice 1923/udp +xiip 1924/tcp +xiip 1924/udp +discovery-port 1925/tcp +discovery-port 1925/udp +egs 1926/tcp +egs 1926/udp +videte-cipc 1927/tcp +videte-cipc 1927/udp +emsd-port 1928/tcp +emsd-port 1928/udp +bandwiz-system 1929/tcp +bandwiz-system 1929/udp +driveappserver 1930/tcp +driveappserver 1930/udp +amdsched 1931/tcp +amdsched 1931/udp +ctt-broker 1932/tcp +ctt-broker 1932/udp +xmapi 1933/tcp +xmapi 1933/udp +xaapi 1934/tcp +xaapi 1934/udp +macromedia-fcs 1935/tcp +macromedia-fcs 1935/udp +jetcmeserver 1936/tcp +jetcmeserver 1936/udp +jwserver 1937/tcp +jwserver 1937/udp +jwclient 1938/tcp +jwclient 1938/udp +jvserver 1939/tcp +jvserver 1939/udp +jvclient 1940/tcp +jvclient 1940/udp +dic-aida 1941/tcp +dic-aida 1941/udp +res 1942/tcp +res 1942/udp +beeyond-media 1943/tcp +beeyond-media 1943/udp +close-combat 1944/tcp +close-combat 1944/udp +dialogic-elmd 1945/tcp +dialogic-elmd 1945/udp +tekpls 1946/tcp +tekpls 1946/udp +sentinelsrm 1947/tcp +sentinelsrm 1947/udp +eye2eye 1948/tcp +eye2eye 1948/udp +ismaeasdaqlive 1949/tcp +ismaeasdaqlive 1949/udp +ismaeasdaqtest 1950/tcp +ismaeasdaqtest 1950/udp +bcs-lmserver 1951/tcp +bcs-lmserver 1951/udp +mpnjsc 1952/tcp +mpnjsc 1952/udp +rapidbase 1953/tcp +rapidbase 1953/udp +abr-api 1954/tcp +abr-api 1954/udp +abr-secure 1955/tcp +abr-secure 1955/udp +vrtl-vmf-ds 1956/tcp +vrtl-vmf-ds 1956/udp +unix-status 1957/tcp +unix-status 1957/udp +dxadmind 1958/tcp +dxadmind 1958/udp +simp-all 1959/tcp +simp-all 1959/udp +nasmanager 1960/tcp +nasmanager 1960/udp +bts-appserver 1961/tcp +bts-appserver 1961/udp +biap-mp 1962/tcp +biap-mp 1962/udp +webmachine 1963/tcp +webmachine 1963/udp +solid-e-engine 1964/tcp +solid-e-engine 1964/udp +tivoli-npm 1965/tcp +tivoli-npm 1965/udp +slush 1966/tcp +slush 1966/udp +sns-quote 1967/tcp +sns-quote 1967/udp +lipsinc 1968/tcp +lipsinc 1968/udp +lipsinc1 1969/tcp +lipsinc1 1969/udp +netop-rc 1970/tcp +netop-rc 1970/udp +netop-school 1971/tcp +netop-school 1971/udp +intersys-cache 1972/tcp +intersys-cache 1972/udp +dlsrap 1973/tcp +dlsrap 1973/udp +drp 1974/tcp +drp 1974/udp +tcoflashagent 1975/tcp +tcoflashagent 1975/udp +tcoregagent 1976/tcp +tcoregagent 1976/udp +tcoaddressbook 1977/tcp +tcoaddressbook 1977/udp +unisql 1978/tcp +unisql 1978/udp +unisql-java 1979/tcp +unisql-java 1979/udp +pearldoc-xact 1980/tcp +pearldoc-xact 1980/udp +p2pq 1981/tcp +p2pq 1981/udp +estamp 1982/tcp +estamp 1982/udp +lhtp 1983/tcp +lhtp 1983/udp +bb 1984/tcp +bb 1984/udp +hsrp 1985/tcp +hsrp 1985/udp +licensedaemon 1986/tcp +licensedaemon 1986/udp +tr-rsrb-p1 1987/tcp +tr-rsrb-p1 1987/udp +tr-rsrb-p2 1988/tcp +tr-rsrb-p2 1988/udp +tr-rsrb-p3 1989/tcp +tr-rsrb-p3 1989/udp +mshnet 1989/tcp +mshnet 1989/udp +stun-p1 1990/tcp +stun-p1 1990/udp +stun-p2 1991/tcp +stun-p2 1991/udp +stun-p3 1992/tcp +stun-p3 1992/udp +ipsendmsg 1992/tcp +ipsendmsg 1992/udp +snmp-tcp-port 1993/tcp +snmp-tcp-port 1993/udp +stun-port 1994/tcp +stun-port 1994/udp +perf-port 1995/tcp +perf-port 1995/udp +tr-rsrb-port 1996/tcp +tr-rsrb-port 1996/udp +gdp-port 1997/tcp +gdp-port 1997/udp +x25-svc-port 1998/tcp +x25-svc-port 1998/udp +tcp-id-port 1999/tcp +tcp-id-port 1999/udp +cisco-sccp 2000/tcp +cisco-sccp 2000/udp +dc 2001/tcp +wizard 2001/udp +globe 2002/tcp +globe 2002/udp +brutus 2003/tcp +brutus 2003/udp +mailbox 2004/tcp +emce 2004/udp +berknet 2005/tcp +oracle 2005/udp +invokator 2006/tcp +raid-cd 2006/udp +dectalk 2007/tcp +raid-am 2007/udp +conf 2008/tcp +terminaldb 2008/udp +news 2009/tcp +whosockami 2009/udp +search 2010/tcp +pipe-server 2010/udp +raid-cc 2011/tcp +servserv 2011/udp +ttyinfo 2012/tcp +raid-ac 2012/udp +raid-am 2013/tcp +raid-cd 2013/udp +troff 2014/tcp +raid-sf 2014/udp +cypress 2015/tcp +raid-cs 2015/udp +bootserver 2016/tcp +bootserver 2016/udp +cypress-stat 2017/tcp +bootclient 2017/udp +terminaldb 2018/tcp +rellpack 2018/udp +whosockami 2019/tcp +about 2019/udp +xinupageserver 2020/tcp +xinupageserver 2020/udp +servexec 2021/tcp +xinuexpansion1 2021/udp +down 2022/tcp +xinuexpansion2 2022/udp +xinuexpansion3 2023/tcp +xinuexpansion3 2023/udp +xinuexpansion4 2024/tcp +xinuexpansion4 2024/udp +ellpack 2025/tcp +xribs 2025/udp +scrabble 2026/tcp +scrabble 2026/udp +shadowserver 2027/tcp +shadowserver 2027/udp +submitserver 2028/tcp +submitserver 2028/udp +hsrpv6 2029/tcp +hsrpv6 2029/udp +device2 2030/tcp +device2 2030/udp +mobrien-chat 2031/tcp +mobrien-chat 2031/udp +blackboard 2032/tcp +blackboard 2032/udp +glogger 2033/tcp +glogger 2033/udp +scoremgr 2034/tcp +scoremgr 2034/udp +imsldoc 2035/tcp +imsldoc 2035/udp +e-dpnet 2036/tcp +e-dpnet 2036/udp +applus 2037/tcp +applus 2037/udp +objectmanager 2038/tcp +objectmanager 2038/udp +prizma 2039/tcp +prizma 2039/udp +lam 2040/tcp +lam 2040/udp +interbase 2041/tcp +interbase 2041/udp +isis 2042/tcp +isis 2042/udp +isis-bcast 2043/tcp +isis-bcast 2043/udp +rimsl 2044/tcp +rimsl 2044/udp +cdfunc 2045/tcp +cdfunc 2045/udp +sdfunc 2046/tcp +sdfunc 2046/udp +dls 2047/tcp +dls 2047/udp +dls-monitor 2048/tcp +dls-monitor 2048/udp +shilp 2049/tcp +shilp 2049/udp +nfs 2049/tcp +nfs 2049/udp +nfs 2049/sctp +av-emb-config 2050/tcp +av-emb-config 2050/udp +epnsdp 2051/tcp +epnsdp 2051/udp +clearvisn 2052/tcp +clearvisn 2052/udp +lot105-ds-upd 2053/tcp +lot105-ds-upd 2053/udp +weblogin 2054/tcp +weblogin 2054/udp +iop 2055/tcp +iop 2055/udp +omnisky 2056/tcp +omnisky 2056/udp +rich-cp 2057/tcp +rich-cp 2057/udp +newwavesearch 2058/tcp +newwavesearch 2058/udp +bmc-messaging 2059/tcp +bmc-messaging 2059/udp +teleniumdaemon 2060/tcp +teleniumdaemon 2060/udp +netmount 2061/tcp +netmount 2061/udp +icg-swp 2062/tcp +icg-swp 2062/udp +icg-bridge 2063/tcp +icg-bridge 2063/udp +icg-iprelay 2064/tcp +icg-iprelay 2064/udp +dlsrpn 2065/tcp +dlsrpn 2065/udp +aura 2066/tcp +aura 2066/udp +dlswpn 2067/tcp +dlswpn 2067/udp +avauthsrvprtcl 2068/tcp +avauthsrvprtcl 2068/udp +event-port 2069/tcp +event-port 2069/udp +ah-esp-encap 2070/tcp +ah-esp-encap 2070/udp +acp-port 2071/tcp +acp-port 2071/udp +msync 2072/tcp +msync 2072/udp +gxs-data-port 2073/tcp +gxs-data-port 2073/udp +vrtl-vmf-sa 2074/tcp +vrtl-vmf-sa 2074/udp +newlixengine 2075/tcp +newlixengine 2075/udp +newlixconfig 2076/tcp +newlixconfig 2076/udp +tsrmagt 2077/tcp +tsrmagt 2077/udp +tpcsrvr 2078/tcp +tpcsrvr 2078/udp +idware-router 2079/tcp +idware-router 2079/udp +autodesk-nlm 2080/tcp +autodesk-nlm 2080/udp +kme-trap-port 2081/tcp +kme-trap-port 2081/udp +infowave 2082/tcp +infowave 2082/udp +radsec 2083/tcp +radsec 2083/udp +sunclustergeo 2084/tcp +sunclustergeo 2084/udp +ada-cip 2085/tcp +ada-cip 2085/udp +gnunet 2086/tcp +gnunet 2086/udp +eli 2087/tcp +eli 2087/udp +ip-blf 2088/tcp +ip-blf 2088/udp +sep 2089/tcp +sep 2089/udp +lrp 2090/tcp +lrp 2090/udp +prp 2091/tcp +prp 2091/udp +descent3 2092/tcp +descent3 2092/udp +nbx-cc 2093/tcp +nbx-cc 2093/udp +nbx-au 2094/tcp +nbx-au 2094/udp +nbx-ser 2095/tcp +nbx-ser 2095/udp +nbx-dir 2096/tcp +nbx-dir 2096/udp +jetformpreview 2097/tcp +jetformpreview 2097/udp +dialog-port 2098/tcp +dialog-port 2098/udp +h2250-annex-g 2099/tcp +h2250-annex-g 2099/udp +amiganetfs 2100/tcp +amiganetfs 2100/udp +rtcm-sc104 2101/tcp +rtcm-sc104 2101/udp +zephyr-srv 2102/tcp +zephyr-srv 2102/udp +zephyr-clt 2103/tcp +zephyr-clt 2103/udp +zephyr-hm 2104/tcp +zephyr-hm 2104/udp +minipay 2105/tcp +minipay 2105/udp +mzap 2106/tcp +mzap 2106/udp +bintec-admin 2107/tcp +bintec-admin 2107/udp +comcam 2108/tcp +comcam 2108/udp +ergolight 2109/tcp +ergolight 2109/udp +umsp 2110/tcp +umsp 2110/udp +dsatp 2111/tcp +dsatp 2111/udp +idonix-metanet 2112/tcp +idonix-metanet 2112/udp +hsl-storm 2113/tcp +hsl-storm 2113/udp +ariascribe 2114/tcp +ariascribe 2114/udp +kdm 2115/tcp +kdm 2115/udp +ccowcmr 2116/tcp +ccowcmr 2116/udp +mentaclient 2117/tcp +mentaclient 2117/udp +mentaserver 2118/tcp +mentaserver 2118/udp +gsigatekeeper 2119/tcp +gsigatekeeper 2119/udp +qencp 2120/tcp +qencp 2120/udp +scientia-ssdb 2121/tcp +scientia-ssdb 2121/udp +caupc-remote 2122/tcp +caupc-remote 2122/udp +gtp-control 2123/tcp +gtp-control 2123/udp +elatelink 2124/tcp +elatelink 2124/udp +lockstep 2125/tcp +lockstep 2125/udp +pktcable-cops 2126/tcp +pktcable-cops 2126/udp +index-pc-wb 2127/tcp +index-pc-wb 2127/udp +net-steward 2128/tcp +net-steward 2128/udp +cs-live 2129/tcp +cs-live 2129/udp +xds 2130/tcp +xds 2130/udp +avantageb2b 2131/tcp +avantageb2b 2131/udp +solera-epmap 2132/tcp +solera-epmap 2132/udp +zymed-zpp 2133/tcp +zymed-zpp 2133/udp +avenue 2134/tcp +avenue 2134/udp +gris 2135/tcp +gris 2135/udp +appworxsrv 2136/tcp +appworxsrv 2136/udp +connect 2137/tcp +connect 2137/udp +unbind-cluster 2138/tcp +unbind-cluster 2138/udp +ias-auth 2139/tcp +ias-auth 2139/udp +ias-reg 2140/tcp +ias-reg 2140/udp +ias-admind 2141/tcp +ias-admind 2141/udp +tdmoip 2142/tcp +tdmoip 2142/udp +lv-jc 2143/tcp +lv-jc 2143/udp +lv-ffx 2144/tcp +lv-ffx 2144/udp +lv-pici 2145/tcp +lv-pici 2145/udp +lv-not 2146/tcp +lv-not 2146/udp +lv-auth 2147/tcp +lv-auth 2147/udp +veritas-ucl 2148/tcp +veritas-ucl 2148/udp +acptsys 2149/tcp +acptsys 2149/udp +dynamic3d 2150/tcp +dynamic3d 2150/udp +docent 2151/tcp +docent 2151/udp +gtp-user 2152/tcp +gtp-user 2152/udp +ctlptc 2153/tcp +ctlptc 2153/udp +stdptc 2154/tcp +stdptc 2154/udp +brdptc 2155/tcp +brdptc 2155/udp +trp 2156/tcp +trp 2156/udp +xnds 2157/tcp +xnds 2157/udp +touchnetplus 2158/tcp +touchnetplus 2158/udp +gdbremote 2159/tcp +gdbremote 2159/udp +apc-2160 2160/tcp +apc-2160 2160/udp +apc-2161 2161/tcp +apc-2161 2161/udp +navisphere 2162/tcp +navisphere 2162/udp +navisphere-sec 2163/tcp +navisphere-sec 2163/udp +ddns-v3 2164/tcp +ddns-v3 2164/udp +x-bone-api 2165/tcp +x-bone-api 2165/udp +iwserver 2166/tcp +iwserver 2166/udp +raw-serial 2167/tcp +raw-serial 2167/udp +easy-soft-mux 2168/tcp +easy-soft-mux 2168/udp +brain 2169/tcp +brain 2169/udp +eyetv 2170/tcp +eyetv 2170/udp +msfw-storage 2171/tcp +msfw-storage 2171/udp +msfw-s-storage 2172/tcp +msfw-s-storage 2172/udp +msfw-replica 2173/tcp +msfw-replica 2173/udp +msfw-array 2174/tcp +msfw-array 2174/udp +airsync 2175/tcp +airsync 2175/udp +rapi 2176/tcp +rapi 2176/udp +qwave 2177/tcp +qwave 2177/udp +bitspeer 2178/tcp +bitspeer 2178/udp +vmrdp 2179/tcp +vmrdp 2179/udp +mc-gt-srv 2180/tcp +mc-gt-srv 2180/udp +eforward 2181/tcp +eforward 2181/udp +cgn-stat 2182/tcp +cgn-stat 2182/udp +cgn-config 2183/tcp +cgn-config 2183/udp +nvd 2184/tcp +nvd 2184/udp +onbase-dds 2185/tcp +onbase-dds 2185/udp +gtaua 2186/tcp +gtaua 2186/udp +ssmc 2187/tcp +ssmd 2187/udp +radware-rpm 2188/tcp +radware-rpm-s 2189/tcp +tivoconnect 2190/tcp +tivoconnect 2190/udp +tvbus 2191/tcp +tvbus 2191/udp +asdis 2192/tcp +asdis 2192/udp +drwcs 2193/tcp +drwcs 2193/udp +mnp-exchange 2197/tcp +mnp-exchange 2197/udp +onehome-remote 2198/tcp +onehome-remote 2198/udp +onehome-help 2199/tcp +onehome-help 2199/udp +ats 2201/tcp +ats 2201/udp +imtc-map 2202/tcp +imtc-map 2202/udp +b2-runtime 2203/tcp +b2-runtime 2203/udp +b2-license 2204/tcp +b2-license 2204/udp +jps 2205/tcp +jps 2205/udp +hpocbus 2206/tcp +hpocbus 2206/udp +hpssd 2207/tcp +hpssd 2207/udp +hpiod 2208/tcp +hpiod 2208/udp +rimf-ps 2209/tcp +rimf-ps 2209/udp +noaaport 2210/tcp +noaaport 2210/udp +emwin 2211/tcp +emwin 2211/udp +leecoposserver 2212/tcp +leecoposserver 2212/udp +kali 2213/tcp +kali 2213/udp +rpi 2214/tcp +rpi 2214/udp +ipcore 2215/tcp +ipcore 2215/udp +vtu-comms 2216/tcp +vtu-comms 2216/udp +gotodevice 2217/tcp +gotodevice 2217/udp +bounzza 2218/tcp +bounzza 2218/udp +netiq-ncap 2219/tcp +netiq-ncap 2219/udp +netiq 2220/tcp +netiq 2220/udp +ethernet-ip-s 2221/tcp +ethernet-ip-s 2221/udp +EtherNet-IP-1 2222/tcp +EtherNet-IP-1 2222/udp +rockwell-csp2 2223/tcp +rockwell-csp2 2223/udp +efi-mg 2224/tcp +efi-mg 2224/udp +rcip-itu 2225/tcp +rcip-itu 2225/sctp +di-drm 2226/tcp +di-drm 2226/udp +di-msg 2227/tcp +di-msg 2227/udp +ehome-ms 2228/tcp +ehome-ms 2228/udp +datalens 2229/tcp +datalens 2229/udp +queueadm 2230/tcp +queueadm 2230/udp +wimaxasncp 2231/tcp +wimaxasncp 2231/udp +ivs-video 2232/tcp +ivs-video 2232/udp +infocrypt 2233/tcp +infocrypt 2233/udp +directplay 2234/tcp +directplay 2234/udp +sercomm-wlink 2235/tcp +sercomm-wlink 2235/udp +nani 2236/tcp +nani 2236/udp +optech-port1-lm 2237/tcp +optech-port1-lm 2237/udp +aviva-sna 2238/tcp +aviva-sna 2238/udp +imagequery 2239/tcp +imagequery 2239/udp +recipe 2240/tcp +recipe 2240/udp +ivsd 2241/tcp +ivsd 2241/udp +foliocorp 2242/tcp +foliocorp 2242/udp +magicom 2243/tcp +magicom 2243/udp +nmsserver 2244/tcp +nmsserver 2244/udp +hao 2245/tcp +hao 2245/udp +pc-mta-addrmap 2246/tcp +pc-mta-addrmap 2246/udp +antidotemgrsvr 2247/tcp +antidotemgrsvr 2247/udp +ums 2248/tcp +ums 2248/udp +rfmp 2249/tcp +rfmp 2249/udp +remote-collab 2250/tcp +remote-collab 2250/udp +dif-port 2251/tcp +dif-port 2251/udp +njenet-ssl 2252/tcp +njenet-ssl 2252/udp +dtv-chan-req 2253/tcp +dtv-chan-req 2253/udp +seispoc 2254/tcp +seispoc 2254/udp +vrtp 2255/tcp +vrtp 2255/udp +pcc-mfp 2256/tcp +pcc-mfp 2256/udp +simple-tx-rx 2257/tcp +simple-tx-rx 2257/udp +rcts 2258/tcp +rcts 2258/udp +apc-2260 2260/tcp +apc-2260 2260/udp +comotionmaster 2261/tcp +comotionmaster 2261/udp +comotionback 2262/tcp +comotionback 2262/udp +ecwcfg 2263/tcp +ecwcfg 2263/udp +apx500api-1 2264/tcp +apx500api-1 2264/udp +apx500api-2 2265/tcp +apx500api-2 2265/udp +mfserver 2266/tcp +mfserver 2266/udp +ontobroker 2267/tcp +ontobroker 2267/udp +amt 2268/tcp +amt 2268/udp +mikey 2269/tcp +mikey 2269/udp +starschool 2270/tcp +starschool 2270/udp +mmcals 2271/tcp +mmcals 2271/udp +mmcal 2272/tcp +mmcal 2272/udp +mysql-im 2273/tcp +mysql-im 2273/udp +pcttunnell 2274/tcp +pcttunnell 2274/udp +ibridge-data 2275/tcp +ibridge-data 2275/udp +ibridge-mgmt 2276/tcp +ibridge-mgmt 2276/udp +bluectrlproxy 2277/tcp +bluectrlproxy 2277/udp +s3db 2278/tcp +s3db 2278/udp +xmquery 2279/tcp +xmquery 2279/udp +lnvpoller 2280/tcp +lnvpoller 2280/udp +lnvconsole 2281/tcp +lnvconsole 2281/udp +lnvalarm 2282/tcp +lnvalarm 2282/udp +lnvstatus 2283/tcp +lnvstatus 2283/udp +lnvmaps 2284/tcp +lnvmaps 2284/udp +lnvmailmon 2285/tcp +lnvmailmon 2285/udp +nas-metering 2286/tcp +nas-metering 2286/udp +dna 2287/tcp +dna 2287/udp +netml 2288/tcp +netml 2288/udp +dict-lookup 2289/tcp +dict-lookup 2289/udp +sonus-logging 2290/tcp +sonus-logging 2290/udp +eapsp 2291/tcp +eapsp 2291/udp +mib-streaming 2292/tcp +mib-streaming 2292/udp +npdbgmngr 2293/tcp +npdbgmngr 2293/udp +konshus-lm 2294/tcp +konshus-lm 2294/udp +advant-lm 2295/tcp +advant-lm 2295/udp +theta-lm 2296/tcp +theta-lm 2296/udp +d2k-datamover1 2297/tcp +d2k-datamover1 2297/udp +d2k-datamover2 2298/tcp +d2k-datamover2 2298/udp +pc-telecommute 2299/tcp +pc-telecommute 2299/udp +cvmmon 2300/tcp +cvmmon 2300/udp +cpq-wbem 2301/tcp +cpq-wbem 2301/udp +binderysupport 2302/tcp +binderysupport 2302/udp +proxy-gateway 2303/tcp +proxy-gateway 2303/udp +attachmate-uts 2304/tcp +attachmate-uts 2304/udp +mt-scaleserver 2305/tcp +mt-scaleserver 2305/udp +tappi-boxnet 2306/tcp +tappi-boxnet 2306/udp +pehelp 2307/tcp +pehelp 2307/udp +sdhelp 2308/tcp +sdhelp 2308/udp +sdserver 2309/tcp +sdserver 2309/udp +sdclient 2310/tcp +sdclient 2310/udp +messageservice 2311/tcp +messageservice 2311/udp +wanscaler 2312/tcp +wanscaler 2312/udp +iapp 2313/tcp +iapp 2313/udp +cr-websystems 2314/tcp +cr-websystems 2314/udp +precise-sft 2315/tcp +precise-sft 2315/udp +sent-lm 2316/tcp +sent-lm 2316/udp +attachmate-g32 2317/tcp +attachmate-g32 2317/udp +cadencecontrol 2318/tcp +cadencecontrol 2318/udp +infolibria 2319/tcp +infolibria 2319/udp +siebel-ns 2320/tcp +siebel-ns 2320/udp +rdlap 2321/tcp +rdlap 2321/udp +ofsd 2322/tcp +ofsd 2322/udp +3d-nfsd 2323/tcp +3d-nfsd 2323/udp +cosmocall 2324/tcp +cosmocall 2324/udp +ansysli 2325/tcp +ansysli 2325/udp +idcp 2326/tcp +idcp 2326/udp +xingcsm 2327/tcp +xingcsm 2327/udp +netrix-sftm 2328/tcp +netrix-sftm 2328/udp +nvd 2329/tcp +nvd 2329/udp +tscchat 2330/tcp +tscchat 2330/udp +agentview 2331/tcp +agentview 2331/udp +rcc-host 2332/tcp +rcc-host 2332/udp +snapp 2333/tcp +snapp 2333/udp +ace-client 2334/tcp +ace-client 2334/udp +ace-proxy 2335/tcp +ace-proxy 2335/udp +appleugcontrol 2336/tcp +appleugcontrol 2336/udp +ideesrv 2337/tcp +ideesrv 2337/udp +norton-lambert 2338/tcp +norton-lambert 2338/udp +3com-webview 2339/tcp +3com-webview 2339/udp +wrs-registry 2340/tcp +wrs-registry 2340/udp +xiostatus 2341/tcp +xiostatus 2341/udp +manage-exec 2342/tcp +manage-exec 2342/udp +nati-logos 2343/tcp +nati-logos 2343/udp +fcmsys 2344/tcp +fcmsys 2344/udp +dbm 2345/tcp +dbm 2345/udp +redstorm-join 2346/tcp +redstorm-join 2346/udp +redstorm-find 2347/tcp +redstorm-find 2347/udp +redstorm-info 2348/tcp +redstorm-info 2348/udp +redstorm-diag 2349/tcp +redstorm-diag 2349/udp +psbserver 2350/tcp +psbserver 2350/udp +psrserver 2351/tcp +psrserver 2351/udp +pslserver 2352/tcp +pslserver 2352/udp +pspserver 2353/tcp +pspserver 2353/udp +psprserver 2354/tcp +psprserver 2354/udp +psdbserver 2355/tcp +psdbserver 2355/udp +gxtelmd 2356/tcp +gxtelmd 2356/udp +unihub-server 2357/tcp +unihub-server 2357/udp +futrix 2358/tcp +futrix 2358/udp +flukeserver 2359/tcp +flukeserver 2359/udp +nexstorindltd 2360/tcp +nexstorindltd 2360/udp +tl1 2361/tcp +tl1 2361/udp +digiman 2362/tcp +digiman 2362/udp +mediacntrlnfsd 2363/tcp +mediacntrlnfsd 2363/udp +oi-2000 2364/tcp +oi-2000 2364/udp +dbref 2365/tcp +dbref 2365/udp +qip-login 2366/tcp +qip-login 2366/udp +service-ctrl 2367/tcp +service-ctrl 2367/udp +opentable 2368/tcp +opentable 2368/udp +l3-hbmon 2370/tcp +l3-hbmon 2370/udp +rda 2371/tcp +lanmessenger 2372/tcp +lanmessenger 2372/udp +remographlm 2373/tcp +hydra 2374/tcp +docker 2375/tcp +docker-s 2376/tcp +swarm 2377/tcp +etcd-client 2379/tcp +etcd-server 2380/tcp +compaq-https 2381/tcp +compaq-https 2381/udp +ms-olap3 2382/tcp +ms-olap3 2382/udp +ms-olap4 2383/tcp +ms-olap4 2383/udp +sd-request 2384/tcp +sd-capacity 2384/udp +sd-data 2385/tcp +sd-data 2385/udp +virtualtape 2386/tcp +virtualtape 2386/udp +vsamredirector 2387/tcp +vsamredirector 2387/udp +mynahautostart 2388/tcp +mynahautostart 2388/udp +ovsessionmgr 2389/tcp +ovsessionmgr 2389/udp +rsmtp 2390/tcp +rsmtp 2390/udp +3com-net-mgmt 2391/tcp +3com-net-mgmt 2391/udp +tacticalauth 2392/tcp +tacticalauth 2392/udp +ms-olap1 2393/tcp +ms-olap1 2393/udp +ms-olap2 2394/tcp +ms-olap2 2394/udp +lan900-remote 2395/tcp +lan900-remote 2395/udp +wusage 2396/tcp +wusage 2396/udp +ncl 2397/tcp +ncl 2397/udp +orbiter 2398/tcp +orbiter 2398/udp +fmpro-fdal 2399/tcp +fmpro-fdal 2399/udp +opequus-server 2400/tcp +opequus-server 2400/udp +cvspserver 2401/tcp +cvspserver 2401/udp +taskmaster2000 2402/tcp +taskmaster2000 2402/udp +taskmaster2000 2403/tcp +taskmaster2000 2403/udp +iec-104 2404/tcp +iec-104 2404/udp +trc-netpoll 2405/tcp +trc-netpoll 2405/udp +jediserver 2406/tcp +jediserver 2406/udp +orion 2407/tcp +orion 2407/udp +railgun-webaccl 2408/tcp +sns-protocol 2409/tcp +sns-protocol 2409/udp +vrts-registry 2410/tcp +vrts-registry 2410/udp +netwave-ap-mgmt 2411/tcp +netwave-ap-mgmt 2411/udp +cdn 2412/tcp +cdn 2412/udp +orion-rmi-reg 2413/tcp +orion-rmi-reg 2413/udp +beeyond 2414/tcp +beeyond 2414/udp +codima-rtp 2415/tcp +codima-rtp 2415/udp +rmtserver 2416/tcp +rmtserver 2416/udp +composit-server 2417/tcp +composit-server 2417/udp +cas 2418/tcp +cas 2418/udp +attachmate-s2s 2419/tcp +attachmate-s2s 2419/udp +dslremote-mgmt 2420/tcp +dslremote-mgmt 2420/udp +g-talk 2421/tcp +g-talk 2421/udp +crmsbits 2422/tcp +crmsbits 2422/udp +rnrp 2423/tcp +rnrp 2423/udp +kofax-svr 2424/tcp +kofax-svr 2424/udp +fjitsuappmgr 2425/tcp +fjitsuappmgr 2425/udp +vcmp 2426/tcp +vcmp 2426/udp +mgcp-gateway 2427/tcp +mgcp-gateway 2427/udp +ott 2428/tcp +ott 2428/udp +ft-role 2429/tcp +ft-role 2429/udp +venus 2430/tcp +venus 2430/udp +venus-se 2431/tcp +venus-se 2431/udp +codasrv 2432/tcp +codasrv 2432/udp +codasrv-se 2433/tcp +codasrv-se 2433/udp +pxc-epmap 2434/tcp +pxc-epmap 2434/udp +optilogic 2435/tcp +optilogic 2435/udp +topx 2436/tcp +topx 2436/udp +unicontrol 2437/tcp +unicontrol 2437/udp +msp 2438/tcp +msp 2438/udp +sybasedbsynch 2439/tcp +sybasedbsynch 2439/udp +spearway 2440/tcp +spearway 2440/udp +pvsw-inet 2441/tcp +pvsw-inet 2441/udp +netangel 2442/tcp +netangel 2442/udp +powerclientcsf 2443/tcp +powerclientcsf 2443/udp +btpp2sectrans 2444/tcp +btpp2sectrans 2444/udp +dtn1 2445/tcp +dtn1 2445/udp +bues-service 2446/tcp +bues-service 2446/udp +ovwdb 2447/tcp +ovwdb 2447/udp +hpppssvr 2448/tcp +hpppssvr 2448/udp +ratl 2449/tcp +ratl 2449/udp +netadmin 2450/tcp +netadmin 2450/udp +netchat 2451/tcp +netchat 2451/udp +snifferclient 2452/tcp +snifferclient 2452/udp +madge-ltd 2453/tcp +madge-ltd 2453/udp +indx-dds 2454/tcp +indx-dds 2454/udp +wago-io-system 2455/tcp +wago-io-system 2455/udp +altav-remmgt 2456/tcp +altav-remmgt 2456/udp +rapido-ip 2457/tcp +rapido-ip 2457/udp +griffin 2458/tcp +griffin 2458/udp +xrpl 2459/tcp +xrpl 2459/udp +ms-theater 2460/tcp +ms-theater 2460/udp +qadmifoper 2461/tcp +qadmifoper 2461/udp +qadmifevent 2462/tcp +qadmifevent 2462/udp +lsi-raid-mgmt 2463/tcp +lsi-raid-mgmt 2463/udp +direcpc-si 2464/tcp +direcpc-si 2464/udp +lbm 2465/tcp +lbm 2465/udp +lbf 2466/tcp +lbf 2466/udp +high-criteria 2467/tcp +high-criteria 2467/udp +qip-msgd 2468/tcp +qip-msgd 2468/udp +mti-tcs-comm 2469/tcp +mti-tcs-comm 2469/udp +taskman-port 2470/tcp +taskman-port 2470/udp +seaodbc 2471/tcp +seaodbc 2471/udp +c3 2472/tcp +c3 2472/udp +aker-cdp 2473/tcp +aker-cdp 2473/udp +vitalanalysis 2474/tcp +vitalanalysis 2474/udp +ace-server 2475/tcp +ace-server 2475/udp +ace-svr-prop 2476/tcp +ace-svr-prop 2476/udp +ssm-cvs 2477/tcp +ssm-cvs 2477/udp +ssm-cssps 2478/tcp +ssm-cssps 2478/udp +ssm-els 2479/tcp +ssm-els 2479/udp +powerexchange 2480/tcp +powerexchange 2480/udp +giop 2481/tcp +giop 2481/udp +giop-ssl 2482/tcp +giop-ssl 2482/udp +ttc 2483/tcp +ttc 2483/udp +ttc-ssl 2484/tcp +ttc-ssl 2484/udp +netobjects1 2485/tcp +netobjects1 2485/udp +netobjects2 2486/tcp +netobjects2 2486/udp +pns 2487/tcp +pns 2487/udp +moy-corp 2488/tcp +moy-corp 2488/udp +tsilb 2489/tcp +tsilb 2489/udp +qip-qdhcp 2490/tcp +qip-qdhcp 2490/udp +conclave-cpp 2491/tcp +conclave-cpp 2491/udp +groove 2492/tcp +groove 2492/udp +talarian-mqs 2493/tcp +talarian-mqs 2493/udp +bmc-ar 2494/tcp +bmc-ar 2494/udp +fast-rem-serv 2495/tcp +fast-rem-serv 2495/udp +dirgis 2496/tcp +dirgis 2496/udp +quaddb 2497/tcp +quaddb 2497/udp +odn-castraq 2498/tcp +odn-castraq 2498/udp +unicontrol 2499/tcp +unicontrol 2499/udp +rtsserv 2500/tcp +rtsserv 2500/udp +rtsclient 2501/tcp +rtsclient 2501/udp +kentrox-prot 2502/tcp +kentrox-prot 2502/udp +nms-dpnss 2503/tcp +nms-dpnss 2503/udp +wlbs 2504/tcp +wlbs 2504/udp +ppcontrol 2505/tcp +ppcontrol 2505/udp +jbroker 2506/tcp +jbroker 2506/udp +spock 2507/tcp +spock 2507/udp +jdatastore 2508/tcp +jdatastore 2508/udp +fjmpss 2509/tcp +fjmpss 2509/udp +fjappmgrbulk 2510/tcp +fjappmgrbulk 2510/udp +metastorm 2511/tcp +metastorm 2511/udp +citrixima 2512/tcp +citrixima 2512/udp +citrixadmin 2513/tcp +citrixadmin 2513/udp +facsys-ntp 2514/tcp +facsys-ntp 2514/udp +facsys-router 2515/tcp +facsys-router 2515/udp +maincontrol 2516/tcp +maincontrol 2516/udp +call-sig-trans 2517/tcp +call-sig-trans 2517/udp +willy 2518/tcp +willy 2518/udp +globmsgsvc 2519/tcp +globmsgsvc 2519/udp +pvsw 2520/tcp +pvsw 2520/udp +adaptecmgr 2521/tcp +adaptecmgr 2521/udp +windb 2522/tcp +windb 2522/udp +qke-llc-v3 2523/tcp +qke-llc-v3 2523/udp +optiwave-lm 2524/tcp +optiwave-lm 2524/udp +ms-v-worlds 2525/tcp +ms-v-worlds 2525/udp +ema-sent-lm 2526/tcp +ema-sent-lm 2526/udp +iqserver 2527/tcp +iqserver 2527/udp +ncr-ccl 2528/tcp +ncr-ccl 2528/udp +utsftp 2529/tcp +utsftp 2529/udp +vrcommerce 2530/tcp +vrcommerce 2530/udp +ito-e-gui 2531/tcp +ito-e-gui 2531/udp +ovtopmd 2532/tcp +ovtopmd 2532/udp +snifferserver 2533/tcp +snifferserver 2533/udp +combox-web-acc 2534/tcp +combox-web-acc 2534/udp +madcap 2535/tcp +madcap 2535/udp +btpp2audctr1 2536/tcp +btpp2audctr1 2536/udp +upgrade 2537/tcp +upgrade 2537/udp +vnwk-prapi 2538/tcp +vnwk-prapi 2538/udp +vsiadmin 2539/tcp +vsiadmin 2539/udp +lonworks 2540/tcp +lonworks 2540/udp +lonworks2 2541/tcp +lonworks2 2541/udp +udrawgraph 2542/tcp +udrawgraph 2542/udp +reftek 2543/tcp +reftek 2543/udp +novell-zen 2544/tcp +novell-zen 2544/udp +sis-emt 2545/tcp +sis-emt 2545/udp +vytalvaultbrtp 2546/tcp +vytalvaultbrtp 2546/udp +vytalvaultvsmp 2547/tcp +vytalvaultvsmp 2547/udp +vytalvaultpipe 2548/tcp +vytalvaultpipe 2548/udp +ipass 2549/tcp +ipass 2549/udp +ads 2550/tcp +ads 2550/udp +isg-uda-server 2551/tcp +isg-uda-server 2551/udp +call-logging 2552/tcp +call-logging 2552/udp +efidiningport 2553/tcp +efidiningport 2553/udp +vcnet-link-v10 2554/tcp +vcnet-link-v10 2554/udp +compaq-wcp 2555/tcp +compaq-wcp 2555/udp +nicetec-nmsvc 2556/tcp +nicetec-nmsvc 2556/udp +nicetec-mgmt 2557/tcp +nicetec-mgmt 2557/udp +pclemultimedia 2558/tcp +pclemultimedia 2558/udp +lstp 2559/tcp +lstp 2559/udp +labrat 2560/tcp +labrat 2560/udp +mosaixcc 2561/tcp +mosaixcc 2561/udp +delibo 2562/tcp +delibo 2562/udp +cti-redwood 2563/tcp +cti-redwood 2563/udp +hp-3000-telnet 2564/tcp +hp-3000-telnet 2564/udp +coord-svr 2565/tcp +coord-svr 2565/udp +pcs-pcw 2566/tcp +pcs-pcw 2566/udp +clp 2567/tcp +clp 2567/udp +spamtrap 2568/tcp +spamtrap 2568/udp +sonuscallsig 2569/tcp +sonuscallsig 2569/udp +hs-port 2570/tcp +hs-port 2570/udp +cecsvc 2571/tcp +cecsvc 2571/udp +ibp 2572/tcp +ibp 2572/udp +trustestablish 2573/tcp +trustestablish 2573/udp +blockade-bpsp 2574/tcp +blockade-bpsp 2574/udp +hl7 2575/tcp +hl7 2575/udp +tclprodebugger 2576/tcp +tclprodebugger 2576/udp +scipticslsrvr 2577/tcp +scipticslsrvr 2577/udp +rvs-isdn-dcp 2578/tcp +rvs-isdn-dcp 2578/udp +mpfoncl 2579/tcp +mpfoncl 2579/udp +tributary 2580/tcp +tributary 2580/udp +argis-te 2581/tcp +argis-te 2581/udp +argis-ds 2582/tcp +argis-ds 2582/udp +mon 2583/tcp +mon 2583/udp +cyaserv 2584/tcp +cyaserv 2584/udp +netx-server 2585/tcp +netx-server 2585/udp +netx-agent 2586/tcp +netx-agent 2586/udp +masc 2587/tcp +masc 2587/udp +privilege 2588/tcp +privilege 2588/udp +quartus-tcl 2589/tcp +quartus-tcl 2589/udp +idotdist 2590/tcp +idotdist 2590/udp +maytagshuffle 2591/tcp +maytagshuffle 2591/udp +netrek 2592/tcp +netrek 2592/udp +mns-mail 2593/tcp +mns-mail 2593/udp +dts 2594/tcp +dts 2594/udp +worldfusion1 2595/tcp +worldfusion1 2595/udp +worldfusion2 2596/tcp +worldfusion2 2596/udp +homesteadglory 2597/tcp +homesteadglory 2597/udp +citriximaclient 2598/tcp +citriximaclient 2598/udp +snapd 2599/tcp +snapd 2599/udp +hpstgmgr 2600/tcp +hpstgmgr 2600/udp +discp-client 2601/tcp +discp-client 2601/udp +discp-server 2602/tcp +discp-server 2602/udp +servicemeter 2603/tcp +servicemeter 2603/udp +nsc-ccs 2604/tcp +nsc-ccs 2604/udp +nsc-posa 2605/tcp +nsc-posa 2605/udp +netmon 2606/tcp +netmon 2606/udp +connection 2607/tcp +connection 2607/udp +wag-service 2608/tcp +wag-service 2608/udp +system-monitor 2609/tcp +system-monitor 2609/udp +versa-tek 2610/tcp +versa-tek 2610/udp +lionhead 2611/tcp +lionhead 2611/udp +qpasa-agent 2612/tcp +qpasa-agent 2612/udp +smntubootstrap 2613/tcp +smntubootstrap 2613/udp +neveroffline 2614/tcp +neveroffline 2614/udp +firepower 2615/tcp +firepower 2615/udp +appswitch-emp 2616/tcp +appswitch-emp 2616/udp +cmadmin 2617/tcp +cmadmin 2617/udp +priority-e-com 2618/tcp +priority-e-com 2618/udp +bruce 2619/tcp +bruce 2619/udp +lpsrecommender 2620/tcp +lpsrecommender 2620/udp +miles-apart 2621/tcp +miles-apart 2621/udp +metricadbc 2622/tcp +metricadbc 2622/udp +lmdp 2623/tcp +lmdp 2623/udp +aria 2624/tcp +aria 2624/udp +blwnkl-port 2625/tcp +blwnkl-port 2625/udp +gbjd816 2626/tcp +gbjd816 2626/udp +moshebeeri 2627/tcp +moshebeeri 2627/udp +dict 2628/tcp +dict 2628/udp +sitaraserver 2629/tcp +sitaraserver 2629/udp +sitaramgmt 2630/tcp +sitaramgmt 2630/udp +sitaradir 2631/tcp +sitaradir 2631/udp +irdg-post 2632/tcp +irdg-post 2632/udp +interintelli 2633/tcp +interintelli 2633/udp +pk-electronics 2634/tcp +pk-electronics 2634/udp +backburner 2635/tcp +backburner 2635/udp +solve 2636/tcp +solve 2636/udp +imdocsvc 2637/tcp +imdocsvc 2637/udp +sybaseanywhere 2638/tcp +sybaseanywhere 2638/udp +aminet 2639/tcp +aminet 2639/udp +ami-control 2640/tcp +ami-control 2640/udp +hdl-srv 2641/tcp +hdl-srv 2641/udp +tragic 2642/tcp +tragic 2642/udp +gte-samp 2643/tcp +gte-samp 2643/udp +travsoft-ipx-t 2644/tcp +travsoft-ipx-t 2644/udp +novell-ipx-cmd 2645/tcp +novell-ipx-cmd 2645/udp +and-lm 2646/tcp +and-lm 2646/udp +syncserver 2647/tcp +syncserver 2647/udp +upsnotifyprot 2648/tcp +upsnotifyprot 2648/udp +vpsipport 2649/tcp +vpsipport 2649/udp +eristwoguns 2650/tcp +eristwoguns 2650/udp +ebinsite 2651/tcp +ebinsite 2651/udp +interpathpanel 2652/tcp +interpathpanel 2652/udp +sonus 2653/tcp +sonus 2653/udp +corel-vncadmin 2654/tcp +corel-vncadmin 2654/udp +unglue 2655/tcp +unglue 2655/udp +kana 2656/tcp +kana 2656/udp +sns-dispatcher 2657/tcp +sns-dispatcher 2657/udp +sns-admin 2658/tcp +sns-admin 2658/udp +sns-query 2659/tcp +sns-query 2659/udp +gcmonitor 2660/tcp +gcmonitor 2660/udp +olhost 2661/tcp +olhost 2661/udp +bintec-capi 2662/tcp +bintec-capi 2662/udp +bintec-tapi 2663/tcp +bintec-tapi 2663/udp +patrol-mq-gm 2664/tcp +patrol-mq-gm 2664/udp +patrol-mq-nm 2665/tcp +patrol-mq-nm 2665/udp +extensis 2666/tcp +extensis 2666/udp +alarm-clock-s 2667/tcp +alarm-clock-s 2667/udp +alarm-clock-c 2668/tcp +alarm-clock-c 2668/udp +toad 2669/tcp +toad 2669/udp +tve-announce 2670/tcp +tve-announce 2670/udp +newlixreg 2671/tcp +newlixreg 2671/udp +nhserver 2672/tcp +nhserver 2672/udp +firstcall42 2673/tcp +firstcall42 2673/udp +ewnn 2674/tcp +ewnn 2674/udp +ttc-etap 2675/tcp +ttc-etap 2675/udp +simslink 2676/tcp +simslink 2676/udp +gadgetgate1way 2677/tcp +gadgetgate1way 2677/udp +gadgetgate2way 2678/tcp +gadgetgate2way 2678/udp +syncserverssl 2679/tcp +syncserverssl 2679/udp +pxc-sapxom 2680/tcp +pxc-sapxom 2680/udp +mpnjsomb 2681/tcp +mpnjsomb 2681/udp +ncdloadbalance 2683/tcp +ncdloadbalance 2683/udp +mpnjsosv 2684/tcp +mpnjsosv 2684/udp +mpnjsocl 2685/tcp +mpnjsocl 2685/udp +mpnjsomg 2686/tcp +mpnjsomg 2686/udp +pq-lic-mgmt 2687/tcp +pq-lic-mgmt 2687/udp +md-cg-http 2688/tcp +md-cg-http 2688/udp +fastlynx 2689/tcp +fastlynx 2689/udp +hp-nnm-data 2690/tcp +hp-nnm-data 2690/udp +itinternet 2691/tcp +itinternet 2691/udp +admins-lms 2692/tcp +admins-lms 2692/udp +pwrsevent 2694/tcp +pwrsevent 2694/udp +vspread 2695/tcp +vspread 2695/udp +unifyadmin 2696/tcp +unifyadmin 2696/udp +oce-snmp-trap 2697/tcp +oce-snmp-trap 2697/udp +mck-ivpip 2698/tcp +mck-ivpip 2698/udp +csoft-plusclnt 2699/tcp +csoft-plusclnt 2699/udp +tqdata 2700/tcp +tqdata 2700/udp +sms-rcinfo 2701/tcp +sms-rcinfo 2701/udp +sms-xfer 2702/tcp +sms-xfer 2702/udp +sms-chat 2703/tcp +sms-chat 2703/udp +sms-remctrl 2704/tcp +sms-remctrl 2704/udp +sds-admin 2705/tcp +sds-admin 2705/udp +ncdmirroring 2706/tcp +ncdmirroring 2706/udp +emcsymapiport 2707/tcp +emcsymapiport 2707/udp +banyan-net 2708/tcp +banyan-net 2708/udp +supermon 2709/tcp +supermon 2709/udp +sso-service 2710/tcp +sso-service 2710/udp +sso-control 2711/tcp +sso-control 2711/udp +aocp 2712/tcp +aocp 2712/udp +raventbs 2713/tcp +raventbs 2713/udp +raventdm 2714/tcp +raventdm 2714/udp +hpstgmgr2 2715/tcp +hpstgmgr2 2715/udp +inova-ip-disco 2716/tcp +inova-ip-disco 2716/udp +pn-requester 2717/tcp +pn-requester 2717/udp +pn-requester2 2718/tcp +pn-requester2 2718/udp +scan-change 2719/tcp +scan-change 2719/udp +wkars 2720/tcp +wkars 2720/udp +smart-diagnose 2721/tcp +smart-diagnose 2721/udp +proactivesrvr 2722/tcp +proactivesrvr 2722/udp +watchdog-nt 2723/tcp +watchdog-nt 2723/udp +qotps 2724/tcp +qotps 2724/udp +msolap-ptp2 2725/tcp +msolap-ptp2 2725/udp +tams 2726/tcp +tams 2726/udp +mgcp-callagent 2727/tcp +mgcp-callagent 2727/udp +sqdr 2728/tcp +sqdr 2728/udp +tcim-control 2729/tcp +tcim-control 2729/udp +nec-raidplus 2730/tcp +nec-raidplus 2730/udp +fyre-messanger 2731/tcp +fyre-messanger 2731/udp +g5m 2732/tcp +g5m 2732/udp +signet-ctf 2733/tcp +signet-ctf 2733/udp +ccs-software 2734/tcp +ccs-software 2734/udp +netiq-mc 2735/tcp +netiq-mc 2735/udp +radwiz-nms-srv 2736/tcp +radwiz-nms-srv 2736/udp +srp-feedback 2737/tcp +srp-feedback 2737/udp +ndl-tcp-ois-gw 2738/tcp +ndl-tcp-ois-gw 2738/udp +tn-timing 2739/tcp +tn-timing 2739/udp +alarm 2740/tcp +alarm 2740/udp +tsb 2741/tcp +tsb 2741/udp +tsb2 2742/tcp +tsb2 2742/udp +murx 2743/tcp +murx 2743/udp +honyaku 2744/tcp +honyaku 2744/udp +urbisnet 2745/tcp +urbisnet 2745/udp +cpudpencap 2746/tcp +cpudpencap 2746/udp +fjippol-swrly 2747/tcp +fjippol-swrly 2747/udp +fjippol-polsvr 2748/tcp +fjippol-polsvr 2748/udp +fjippol-cnsl 2749/tcp +fjippol-cnsl 2749/udp +fjippol-port1 2750/tcp +fjippol-port1 2750/udp +fjippol-port2 2751/tcp +fjippol-port2 2751/udp +rsisysaccess 2752/tcp +rsisysaccess 2752/udp +de-spot 2753/tcp +de-spot 2753/udp +apollo-cc 2754/tcp +apollo-cc 2754/udp +expresspay 2755/tcp +expresspay 2755/udp +simplement-tie 2756/tcp +simplement-tie 2756/udp +cnrp 2757/tcp +cnrp 2757/udp +apollo-status 2758/tcp +apollo-status 2758/udp +apollo-gms 2759/tcp +apollo-gms 2759/udp +sabams 2760/tcp +sabams 2760/udp +dicom-iscl 2761/tcp +dicom-iscl 2761/udp +dicom-tls 2762/tcp +dicom-tls 2762/udp +desktop-dna 2763/tcp +desktop-dna 2763/udp +data-insurance 2764/tcp +data-insurance 2764/udp +qip-audup 2765/tcp +qip-audup 2765/udp +compaq-scp 2766/tcp +compaq-scp 2766/udp +uadtc 2767/tcp +uadtc 2767/udp +uacs 2768/tcp +uacs 2768/udp +exce 2769/tcp +exce 2769/udp +veronica 2770/tcp +veronica 2770/udp +vergencecm 2771/tcp +vergencecm 2771/udp +auris 2772/tcp +auris 2772/udp +rbakcup1 2773/tcp +rbakcup1 2773/udp +rbakcup2 2774/tcp +rbakcup2 2774/udp +smpp 2775/tcp +smpp 2775/udp +ridgeway1 2776/tcp +ridgeway1 2776/udp +ridgeway2 2777/tcp +ridgeway2 2777/udp +gwen-sonya 2778/tcp +gwen-sonya 2778/udp +lbc-sync 2779/tcp +lbc-sync 2779/udp +lbc-control 2780/tcp +lbc-control 2780/udp +whosells 2781/tcp +whosells 2781/udp +everydayrc 2782/tcp +everydayrc 2782/udp +aises 2783/tcp +aises 2783/udp +www-dev 2784/tcp +www-dev 2784/udp +aic-np 2785/tcp +aic-np 2785/udp +aic-oncrpc 2786/tcp +aic-oncrpc 2786/udp +piccolo 2787/tcp +piccolo 2787/udp +fryeserv 2788/tcp +fryeserv 2788/udp +media-agent 2789/tcp +media-agent 2789/udp +plgproxy 2790/tcp +plgproxy 2790/udp +mtport-regist 2791/tcp +mtport-regist 2791/udp +f5-globalsite 2792/tcp +f5-globalsite 2792/udp +initlsmsad 2793/tcp +initlsmsad 2793/udp +livestats 2795/tcp +livestats 2795/udp +ac-tech 2796/tcp +ac-tech 2796/udp +esp-encap 2797/tcp +esp-encap 2797/udp +tmesis-upshot 2798/tcp +tmesis-upshot 2798/udp +icon-discover 2799/tcp +icon-discover 2799/udp +acc-raid 2800/tcp +acc-raid 2800/udp +igcp 2801/tcp +igcp 2801/udp +veritas-tcp1 2802/tcp +veritas-udp1 2802/udp +btprjctrl 2803/tcp +btprjctrl 2803/udp +dvr-esm 2804/tcp +dvr-esm 2804/udp +wta-wsp-s 2805/tcp +wta-wsp-s 2805/udp +cspuni 2806/tcp +cspuni 2806/udp +cspmulti 2807/tcp +cspmulti 2807/udp +j-lan-p 2808/tcp +j-lan-p 2808/udp +corbaloc 2809/tcp +corbaloc 2809/udp +netsteward 2810/tcp +netsteward 2810/udp +gsiftp 2811/tcp +gsiftp 2811/udp +atmtcp 2812/tcp +atmtcp 2812/udp +llm-pass 2813/tcp +llm-pass 2813/udp +llm-csv 2814/tcp +llm-csv 2814/udp +lbc-measure 2815/tcp +lbc-measure 2815/udp +lbc-watchdog 2816/tcp +lbc-watchdog 2816/udp +nmsigport 2817/tcp +nmsigport 2817/udp +rmlnk 2818/tcp +rmlnk 2818/udp +fc-faultnotify 2819/tcp +fc-faultnotify 2819/udp +univision 2820/tcp +univision 2820/udp +vrts-at-port 2821/tcp +vrts-at-port 2821/udp +ka0wuc 2822/tcp +ka0wuc 2822/udp +cqg-netlan 2823/tcp +cqg-netlan 2823/udp +cqg-netlan-1 2824/tcp +cqg-netlan-1 2824/udp +slc-systemlog 2826/tcp +slc-systemlog 2826/udp +slc-ctrlrloops 2827/tcp +slc-ctrlrloops 2827/udp +itm-lm 2828/tcp +itm-lm 2828/udp +silkp1 2829/tcp +silkp1 2829/udp +silkp2 2830/tcp +silkp2 2830/udp +silkp3 2831/tcp +silkp3 2831/udp +silkp4 2832/tcp +silkp4 2832/udp +glishd 2833/tcp +glishd 2833/udp +evtp 2834/tcp +evtp 2834/udp +evtp-data 2835/tcp +evtp-data 2835/udp +catalyst 2836/tcp +catalyst 2836/udp +repliweb 2837/tcp +repliweb 2837/udp +starbot 2838/tcp +starbot 2838/udp +nmsigport 2839/tcp +nmsigport 2839/udp +l3-exprt 2840/tcp +l3-exprt 2840/udp +l3-ranger 2841/tcp +l3-ranger 2841/udp +l3-hawk 2842/tcp +l3-hawk 2842/udp +pdnet 2843/tcp +pdnet 2843/udp +bpcp-poll 2844/tcp +bpcp-poll 2844/udp +bpcp-trap 2845/tcp +bpcp-trap 2845/udp +aimpp-hello 2846/tcp +aimpp-hello 2846/udp +aimpp-port-req 2847/tcp +aimpp-port-req 2847/udp +amt-blc-port 2848/tcp +amt-blc-port 2848/udp +fxp 2849/tcp +fxp 2849/udp +metaconsole 2850/tcp +metaconsole 2850/udp +webemshttp 2851/tcp +webemshttp 2851/udp +bears-01 2852/tcp +bears-01 2852/udp +ispipes 2853/tcp +ispipes 2853/udp +infomover 2854/tcp +infomover 2854/udp +msrp 2855/tcp +cesdinv 2856/tcp +cesdinv 2856/udp +simctlp 2857/tcp +simctlp 2857/udp +ecnp 2858/tcp +ecnp 2858/udp +activememory 2859/tcp +activememory 2859/udp +dialpad-voice1 2860/tcp +dialpad-voice1 2860/udp +dialpad-voice2 2861/tcp +dialpad-voice2 2861/udp +ttg-protocol 2862/tcp +ttg-protocol 2862/udp +sonardata 2863/tcp +sonardata 2863/udp +astronova-main 2864/tcp +astronova-main 2864/udp +pit-vpn 2865/tcp +pit-vpn 2865/udp +iwlistener 2866/tcp +iwlistener 2866/udp +esps-portal 2867/tcp +esps-portal 2867/udp +npep-messaging 2868/tcp +npep-messaging 2868/udp +icslap 2869/tcp +icslap 2869/udp +daishi 2870/tcp +daishi 2870/udp +msi-selectplay 2871/tcp +msi-selectplay 2871/udp +radix 2872/tcp +radix 2872/udp +dxmessagebase1 2874/tcp +dxmessagebase1 2874/udp +dxmessagebase2 2875/tcp +dxmessagebase2 2875/udp +sps-tunnel 2876/tcp +sps-tunnel 2876/udp +bluelance 2877/tcp +bluelance 2877/udp +aap 2878/tcp +aap 2878/udp +ucentric-ds 2879/tcp +ucentric-ds 2879/udp +synapse 2880/tcp +synapse 2880/udp +ndsp 2881/tcp +ndsp 2881/udp +ndtp 2882/tcp +ndtp 2882/udp +ndnp 2883/tcp +ndnp 2883/udp +flashmsg 2884/tcp +flashmsg 2884/udp +topflow 2885/tcp +topflow 2885/udp +responselogic 2886/tcp +responselogic 2886/udp +aironetddp 2887/tcp +aironetddp 2887/udp +spcsdlobby 2888/tcp +spcsdlobby 2888/udp +rsom 2889/tcp +rsom 2889/udp +cspclmulti 2890/tcp +cspclmulti 2890/udp +cinegrfx-elmd 2891/tcp +cinegrfx-elmd 2891/udp +snifferdata 2892/tcp +snifferdata 2892/udp +vseconnector 2893/tcp +vseconnector 2893/udp +abacus-remote 2894/tcp +abacus-remote 2894/udp +natuslink 2895/tcp +natuslink 2895/udp +ecovisiong6-1 2896/tcp +ecovisiong6-1 2896/udp +citrix-rtmp 2897/tcp +citrix-rtmp 2897/udp +appliance-cfg 2898/tcp +appliance-cfg 2898/udp +powergemplus 2899/tcp +powergemplus 2899/udp +quicksuite 2900/tcp +quicksuite 2900/udp +allstorcns 2901/tcp +allstorcns 2901/udp +netaspi 2902/tcp +netaspi 2902/udp +suitcase 2903/tcp +suitcase 2903/udp +m2ua 2904/tcp +m2ua 2904/udp +m2ua 2904/sctp +m3ua 2905/tcp +m3ua 2905/sctp +caller9 2906/tcp +caller9 2906/udp +webmethods-b2b 2907/tcp +webmethods-b2b 2907/udp +mao 2908/tcp +mao 2908/udp +funk-dialout 2909/tcp +funk-dialout 2909/udp +tdaccess 2910/tcp +tdaccess 2910/udp +blockade 2911/tcp +blockade 2911/udp +epicon 2912/tcp +epicon 2912/udp +boosterware 2913/tcp +boosterware 2913/udp +gamelobby 2914/tcp +gamelobby 2914/udp +tksocket 2915/tcp +tksocket 2915/udp +elvin-server 2916/tcp +elvin-server 2916/udp +elvin-client 2917/tcp +elvin-client 2917/udp +kastenchasepad 2918/tcp +kastenchasepad 2918/udp +roboer 2919/tcp +roboer 2919/udp +roboeda 2920/tcp +roboeda 2920/udp +cesdcdman 2921/tcp +cesdcdman 2921/udp +cesdcdtrn 2922/tcp +cesdcdtrn 2922/udp +wta-wsp-wtp-s 2923/tcp +wta-wsp-wtp-s 2923/udp +precise-vip 2924/tcp +precise-vip 2924/udp +mobile-file-dl 2926/tcp +mobile-file-dl 2926/udp +unimobilectrl 2927/tcp +unimobilectrl 2927/udp +redstone-cpss 2928/tcp +redstone-cpss 2928/udp +amx-webadmin 2929/tcp +amx-webadmin 2929/udp +amx-weblinx 2930/tcp +amx-weblinx 2930/udp +circle-x 2931/tcp +circle-x 2931/udp +incp 2932/tcp +incp 2932/udp +4-tieropmgw 2933/tcp +4-tieropmgw 2933/udp +4-tieropmcli 2934/tcp +4-tieropmcli 2934/udp +qtp 2935/tcp +qtp 2935/udp +otpatch 2936/tcp +otpatch 2936/udp +pnaconsult-lm 2937/tcp +pnaconsult-lm 2937/udp +sm-pas-1 2938/tcp +sm-pas-1 2938/udp +sm-pas-2 2939/tcp +sm-pas-2 2939/udp +sm-pas-3 2940/tcp +sm-pas-3 2940/udp +sm-pas-4 2941/tcp +sm-pas-4 2941/udp +sm-pas-5 2942/tcp +sm-pas-5 2942/udp +ttnrepository 2943/tcp +ttnrepository 2943/udp +megaco-h248 2944/tcp +megaco-h248 2944/udp +megaco-h248 2944/sctp +h248-binary 2945/tcp +h248-binary 2945/udp +h248-binary 2945/sctp +fjsvmpor 2946/tcp +fjsvmpor 2946/udp +gpsd 2947/tcp +gpsd 2947/udp +wap-push 2948/tcp +wap-push 2948/udp +wap-pushsecure 2949/tcp +wap-pushsecure 2949/udp +esip 2950/tcp +esip 2950/udp +ottp 2951/tcp +ottp 2951/udp +mpfwsas 2952/tcp +mpfwsas 2952/udp +ovalarmsrv 2953/tcp +ovalarmsrv 2953/udp +ovalarmsrv-cmd 2954/tcp +ovalarmsrv-cmd 2954/udp +csnotify 2955/tcp +csnotify 2955/udp +ovrimosdbman 2956/tcp +ovrimosdbman 2956/udp +jmact5 2957/tcp +jmact5 2957/udp +jmact6 2958/tcp +jmact6 2958/udp +rmopagt 2959/tcp +rmopagt 2959/udp +dfoxserver 2960/tcp +dfoxserver 2960/udp +boldsoft-lm 2961/tcp +boldsoft-lm 2961/udp +iph-policy-cli 2962/tcp +iph-policy-cli 2962/udp +iph-policy-adm 2963/tcp +iph-policy-adm 2963/udp +bullant-srap 2964/tcp +bullant-srap 2964/udp +bullant-rap 2965/tcp +bullant-rap 2965/udp +idp-infotrieve 2966/tcp +idp-infotrieve 2966/udp +ssc-agent 2967/tcp +ssc-agent 2967/udp +enpp 2968/tcp +enpp 2968/udp +essp 2969/tcp +essp 2969/udp +index-net 2970/tcp +index-net 2970/udp +netclip 2971/tcp +netclip 2971/udp +pmsm-webrctl 2972/tcp +pmsm-webrctl 2972/udp +svnetworks 2973/tcp +svnetworks 2973/udp +signal 2974/tcp +signal 2974/udp +fjmpcm 2975/tcp +fjmpcm 2975/udp +cns-srv-port 2976/tcp +cns-srv-port 2976/udp +ttc-etap-ns 2977/tcp +ttc-etap-ns 2977/udp +ttc-etap-ds 2978/tcp +ttc-etap-ds 2978/udp +h263-video 2979/tcp +h263-video 2979/udp +wimd 2980/tcp +wimd 2980/udp +mylxamport 2981/tcp +mylxamport 2981/udp +iwb-whiteboard 2982/tcp +iwb-whiteboard 2982/udp +netplan 2983/tcp +netplan 2983/udp +hpidsadmin 2984/tcp +hpidsadmin 2984/udp +hpidsagent 2985/tcp +hpidsagent 2985/udp +stonefalls 2986/tcp +stonefalls 2986/udp +identify 2987/tcp +identify 2987/udp +hippad 2988/tcp +hippad 2988/udp +zarkov 2989/tcp +zarkov 2989/udp +boscap 2990/tcp +boscap 2990/udp +wkstn-mon 2991/tcp +wkstn-mon 2991/udp +avenyo 2992/tcp +avenyo 2992/udp +veritas-vis1 2993/tcp +veritas-vis1 2993/udp +veritas-vis2 2994/tcp +veritas-vis2 2994/udp +idrs 2995/tcp +idrs 2995/udp +vsixml 2996/tcp +vsixml 2996/udp +rebol 2997/tcp +rebol 2997/udp +realsecure 2998/tcp +realsecure 2998/udp +hbci 3000/tcp +hbci 3000/udp +remoteware-cl 3000/tcp +remoteware-cl 3000/udp +origo-native 3001/tcp +exlm-agent 3002/tcp +exlm-agent 3002/udp +remoteware-srv 3002/tcp +remoteware-srv 3002/udp +cgms 3003/tcp +cgms 3003/udp +csoftragent 3004/tcp +csoftragent 3004/udp +geniuslm 3005/tcp +geniuslm 3005/udp +ii-admin 3006/tcp +ii-admin 3006/udp +lotusmtap 3007/tcp +lotusmtap 3007/udp +midnight-tech 3008/tcp +midnight-tech 3008/udp +pxc-ntfy 3009/tcp +pxc-ntfy 3009/udp +gw 3010/tcp +ping-pong 3010/udp +trusted-web 3011/tcp +trusted-web 3011/udp +twsdss 3012/tcp +twsdss 3012/udp +gilatskysurfer 3013/tcp +gilatskysurfer 3013/udp +broker-service 3014/tcp +broker-service 3014/udp +nati-dstp 3015/tcp +nati-dstp 3015/udp +notify-srvr 3016/tcp +notify-srvr 3016/udp +event-listener 3017/tcp +event-listener 3017/udp +srvc-registry 3018/tcp +srvc-registry 3018/udp +resource-mgr 3019/tcp +resource-mgr 3019/udp +cifs 3020/tcp +cifs 3020/udp +agriserver 3021/tcp +agriserver 3021/udp +csregagent 3022/tcp +csregagent 3022/udp +magicnotes 3023/tcp +magicnotes 3023/udp +nds-sso 3024/tcp +nds-sso 3024/udp +arepa-raft 3025/tcp +arepa-raft 3025/udp +agri-gateway 3026/tcp +agri-gateway 3026/udp +LiebDevMgmt-C 3027/tcp +LiebDevMgmt-C 3027/udp +LiebDevMgmt-DM 3028/tcp +LiebDevMgmt-DM 3028/udp +LiebDevMgmt-A 3029/tcp +LiebDevMgmt-A 3029/udp +arepa-cas 3030/tcp +arepa-cas 3030/udp +eppc 3031/tcp +eppc 3031/udp +redwood-chat 3032/tcp +redwood-chat 3032/udp +pdb 3033/tcp +pdb 3033/udp +osmosis-aeea 3034/tcp +osmosis-aeea 3034/udp +fjsv-gssagt 3035/tcp +fjsv-gssagt 3035/udp +hagel-dump 3036/tcp +hagel-dump 3036/udp +hp-san-mgmt 3037/tcp +hp-san-mgmt 3037/udp +santak-ups 3038/tcp +santak-ups 3038/udp +cogitate 3039/tcp +cogitate 3039/udp +tomato-springs 3040/tcp +tomato-springs 3040/udp +di-traceware 3041/tcp +di-traceware 3041/udp +journee 3042/tcp +journee 3042/udp +brp 3043/tcp +brp 3043/udp +epp 3044/tcp +epp 3044/udp +responsenet 3045/tcp +responsenet 3045/udp +di-ase 3046/tcp +di-ase 3046/udp +hlserver 3047/tcp +hlserver 3047/udp +pctrader 3048/tcp +pctrader 3048/udp +nsws 3049/tcp +nsws 3049/udp +gds-db 3050/tcp +gds-db 3050/udp +galaxy-server 3051/tcp +galaxy-server 3051/udp +apc-3052 3052/tcp +apc-3052 3052/udp +dsom-server 3053/tcp +dsom-server 3053/udp +amt-cnf-prot 3054/tcp +amt-cnf-prot 3054/udp +policyserver 3055/tcp +policyserver 3055/udp +cdl-server 3056/tcp +cdl-server 3056/udp +goahead-fldup 3057/tcp +goahead-fldup 3057/udp +videobeans 3058/tcp +videobeans 3058/udp +qsoft 3059/tcp +qsoft 3059/udp +interserver 3060/tcp +interserver 3060/udp +cautcpd 3061/tcp +cautcpd 3061/udp +ncacn-ip-tcp 3062/tcp +ncacn-ip-tcp 3062/udp +ncadg-ip-udp 3063/tcp +ncadg-ip-udp 3063/udp +rprt 3064/tcp +rprt 3064/udp +slinterbase 3065/tcp +slinterbase 3065/udp +netattachsdmp 3066/tcp +netattachsdmp 3066/udp +fjhpjp 3067/tcp +fjhpjp 3067/udp +ls3bcast 3068/tcp +ls3bcast 3068/udp +ls3 3069/tcp +ls3 3069/udp +mgxswitch 3070/tcp +mgxswitch 3070/udp +xplat-replicate 3071/tcp +csd-monitor 3072/tcp +csd-monitor 3072/udp +vcrp 3073/tcp +vcrp 3073/udp +xbox 3074/tcp +xbox 3074/udp +orbix-locator 3075/tcp +orbix-locator 3075/udp +orbix-config 3076/tcp +orbix-config 3076/udp +orbix-loc-ssl 3077/tcp +orbix-loc-ssl 3077/udp +orbix-cfg-ssl 3078/tcp +orbix-cfg-ssl 3078/udp +lv-frontpanel 3079/tcp +lv-frontpanel 3079/udp +stm-pproc 3080/tcp +stm-pproc 3080/udp +tl1-lv 3081/tcp +tl1-lv 3081/udp +tl1-raw 3082/tcp +tl1-raw 3082/udp +tl1-telnet 3083/tcp +tl1-telnet 3083/udp +itm-mccs 3084/tcp +itm-mccs 3084/udp +pcihreq 3085/tcp +pcihreq 3085/udp +jdl-dbkitchen 3086/tcp +jdl-dbkitchen 3086/udp +asoki-sma 3087/tcp +asoki-sma 3087/udp +xdtp 3088/tcp +xdtp 3088/udp +ptk-alink 3089/tcp +ptk-alink 3089/udp +stss 3090/tcp +stss 3090/udp +1ci-smcs 3091/tcp +1ci-smcs 3091/udp +rapidmq-center 3093/tcp +rapidmq-center 3093/udp +rapidmq-reg 3094/tcp +rapidmq-reg 3094/udp +panasas 3095/tcp +panasas 3095/udp +ndl-aps 3096/tcp +ndl-aps 3096/udp +itu-bicc-stc 3097/sctp +umm-port 3098/tcp +umm-port 3098/udp +chmd 3099/tcp +chmd 3099/udp +opcon-xps 3100/tcp +opcon-xps 3100/udp +hp-pxpib 3101/tcp +hp-pxpib 3101/udp +slslavemon 3102/tcp +slslavemon 3102/udp +autocuesmi 3103/tcp +autocuesmi 3103/udp +autocuelog 3104/tcp +autocuetime 3104/udp +cardbox 3105/tcp +cardbox 3105/udp +cardbox-http 3106/tcp +cardbox-http 3106/udp +business 3107/tcp +business 3107/udp +geolocate 3108/tcp +geolocate 3108/udp +personnel 3109/tcp +personnel 3109/udp +sim-control 3110/tcp +sim-control 3110/udp +wsynch 3111/tcp +wsynch 3111/udp +ksysguard 3112/tcp +ksysguard 3112/udp +cs-auth-svr 3113/tcp +cs-auth-svr 3113/udp +ccmad 3114/tcp +ccmad 3114/udp +mctet-master 3115/tcp +mctet-master 3115/udp +mctet-gateway 3116/tcp +mctet-gateway 3116/udp +mctet-jserv 3117/tcp +mctet-jserv 3117/udp +pkagent 3118/tcp +pkagent 3118/udp +d2000kernel 3119/tcp +d2000kernel 3119/udp +d2000webserver 3120/tcp +d2000webserver 3120/udp +pcmk-remote 3121/tcp +vtr-emulator 3122/tcp +vtr-emulator 3122/udp +edix 3123/tcp +edix 3123/udp +beacon-port 3124/tcp +beacon-port 3124/udp +a13-an 3125/tcp +a13-an 3125/udp +ctx-bridge 3127/tcp +ctx-bridge 3127/udp +ndl-aas 3128/tcp +ndl-aas 3128/udp +netport-id 3129/tcp +netport-id 3129/udp +icpv2 3130/tcp +icpv2 3130/udp +netbookmark 3131/tcp +netbookmark 3131/udp +ms-rule-engine 3132/tcp +ms-rule-engine 3132/udp +prism-deploy 3133/tcp +prism-deploy 3133/udp +ecp 3134/tcp +ecp 3134/udp +peerbook-port 3135/tcp +peerbook-port 3135/udp +grubd 3136/tcp +grubd 3136/udp +rtnt-1 3137/tcp +rtnt-1 3137/udp +rtnt-2 3138/tcp +rtnt-2 3138/udp +incognitorv 3139/tcp +incognitorv 3139/udp +ariliamulti 3140/tcp +ariliamulti 3140/udp +vmodem 3141/tcp +vmodem 3141/udp +rdc-wh-eos 3142/tcp +rdc-wh-eos 3142/udp +seaview 3143/tcp +seaview 3143/udp +tarantella 3144/tcp +tarantella 3144/udp +csi-lfap 3145/tcp +csi-lfap 3145/udp +bears-02 3146/tcp +bears-02 3146/udp +rfio 3147/tcp +rfio 3147/udp +nm-game-admin 3148/tcp +nm-game-admin 3148/udp +nm-game-server 3149/tcp +nm-game-server 3149/udp +nm-asses-admin 3150/tcp +nm-asses-admin 3150/udp +nm-assessor 3151/tcp +nm-assessor 3151/udp +feitianrockey 3152/tcp +feitianrockey 3152/udp +s8-client-port 3153/tcp +s8-client-port 3153/udp +ccmrmi 3154/tcp +ccmrmi 3154/udp +jpegmpeg 3155/tcp +jpegmpeg 3155/udp +indura 3156/tcp +indura 3156/udp +e3consultants 3157/tcp +e3consultants 3157/udp +stvp 3158/tcp +stvp 3158/udp +navegaweb-port 3159/tcp +navegaweb-port 3159/udp +tip-app-server 3160/tcp +tip-app-server 3160/udp +doc1lm 3161/tcp +doc1lm 3161/udp +sflm 3162/tcp +sflm 3162/udp +res-sap 3163/tcp +res-sap 3163/udp +imprs 3164/tcp +imprs 3164/udp +newgenpay 3165/tcp +newgenpay 3165/udp +sossecollector 3166/tcp +sossecollector 3166/udp +nowcontact 3167/tcp +nowcontact 3167/udp +poweronnud 3168/tcp +poweronnud 3168/udp +serverview-as 3169/tcp +serverview-as 3169/udp +serverview-asn 3170/tcp +serverview-asn 3170/udp +serverview-gf 3171/tcp +serverview-gf 3171/udp +serverview-rm 3172/tcp +serverview-rm 3172/udp +serverview-icc 3173/tcp +serverview-icc 3173/udp +armi-server 3174/tcp +armi-server 3174/udp +t1-e1-over-ip 3175/tcp +t1-e1-over-ip 3175/udp +ars-master 3176/tcp +ars-master 3176/udp +phonex-port 3177/tcp +phonex-port 3177/udp +radclientport 3178/tcp +radclientport 3178/udp +h2gf-w-2m 3179/tcp +h2gf-w-2m 3179/udp +mc-brk-srv 3180/tcp +mc-brk-srv 3180/udp +bmcpatrolagent 3181/tcp +bmcpatrolagent 3181/udp +bmcpatrolrnvu 3182/tcp +bmcpatrolrnvu 3182/udp +cops-tls 3183/tcp +cops-tls 3183/udp +apogeex-port 3184/tcp +apogeex-port 3184/udp +smpppd 3185/tcp +smpppd 3185/udp +iiw-port 3186/tcp +iiw-port 3186/udp +odi-port 3187/tcp +odi-port 3187/udp +brcm-comm-port 3188/tcp +brcm-comm-port 3188/udp +pcle-infex 3189/tcp +pcle-infex 3189/udp +csvr-proxy 3190/tcp +csvr-proxy 3190/udp +csvr-sslproxy 3191/tcp +csvr-sslproxy 3191/udp +firemonrcc 3192/tcp +firemonrcc 3192/udp +spandataport 3193/tcp +spandataport 3193/udp +magbind 3194/tcp +magbind 3194/udp +ncu-1 3195/tcp +ncu-1 3195/udp +ncu-2 3196/tcp +ncu-2 3196/udp +embrace-dp-s 3197/tcp +embrace-dp-s 3197/udp +embrace-dp-c 3198/tcp +embrace-dp-c 3198/udp +dmod-workspace 3199/tcp +dmod-workspace 3199/udp +tick-port 3200/tcp +tick-port 3200/udp +cpq-tasksmart 3201/tcp +cpq-tasksmart 3201/udp +intraintra 3202/tcp +intraintra 3202/udp +netwatcher-mon 3203/tcp +netwatcher-mon 3203/udp +netwatcher-db 3204/tcp +netwatcher-db 3204/udp +isns 3205/tcp +isns 3205/udp +ironmail 3206/tcp +ironmail 3206/udp +vx-auth-port 3207/tcp +vx-auth-port 3207/udp +pfu-prcallback 3208/tcp +pfu-prcallback 3208/udp +netwkpathengine 3209/tcp +netwkpathengine 3209/udp +flamenco-proxy 3210/tcp +flamenco-proxy 3210/udp +avsecuremgmt 3211/tcp +avsecuremgmt 3211/udp +surveyinst 3212/tcp +surveyinst 3212/udp +neon24x7 3213/tcp +neon24x7 3213/udp +jmq-daemon-1 3214/tcp +jmq-daemon-1 3214/udp +jmq-daemon-2 3215/tcp +jmq-daemon-2 3215/udp +ferrari-foam 3216/tcp +ferrari-foam 3216/udp +unite 3217/tcp +unite 3217/udp +smartpackets 3218/tcp +smartpackets 3218/udp +wms-messenger 3219/tcp +wms-messenger 3219/udp +xnm-ssl 3220/tcp +xnm-ssl 3220/udp +xnm-clear-text 3221/tcp +xnm-clear-text 3221/udp +glbp 3222/tcp +glbp 3222/udp +digivote 3223/tcp +digivote 3223/udp +aes-discovery 3224/tcp +aes-discovery 3224/udp +fcip-port 3225/tcp +fcip-port 3225/udp +isi-irp 3226/tcp +isi-irp 3226/udp +dwnmshttp 3227/tcp +dwnmshttp 3227/udp +dwmsgserver 3228/tcp +dwmsgserver 3228/udp +global-cd-port 3229/tcp +global-cd-port 3229/udp +sftdst-port 3230/tcp +sftdst-port 3230/udp +vidigo 3231/tcp +vidigo 3231/udp +mdtp 3232/tcp +mdtp 3232/udp +whisker 3233/tcp +whisker 3233/udp +alchemy 3234/tcp +alchemy 3234/udp +mdap-port 3235/tcp +mdap-port 3235/udp +apparenet-ts 3236/tcp +apparenet-ts 3236/udp +apparenet-tps 3237/tcp +apparenet-tps 3237/udp +apparenet-as 3238/tcp +apparenet-as 3238/udp +apparenet-ui 3239/tcp +apparenet-ui 3239/udp +triomotion 3240/tcp +triomotion 3240/udp +sysorb 3241/tcp +sysorb 3241/udp +sdp-id-port 3242/tcp +sdp-id-port 3242/udp +timelot 3243/tcp +timelot 3243/udp +onesaf 3244/tcp +onesaf 3244/udp +vieo-fe 3245/tcp +vieo-fe 3245/udp +dvt-system 3246/tcp +dvt-system 3246/udp +dvt-data 3247/tcp +dvt-data 3247/udp +procos-lm 3248/tcp +procos-lm 3248/udp +ssp 3249/tcp +ssp 3249/udp +hicp 3250/tcp +hicp 3250/udp +sysscanner 3251/tcp +sysscanner 3251/udp +dhe 3252/tcp +dhe 3252/udp +pda-data 3253/tcp +pda-data 3253/udp +pda-sys 3254/tcp +pda-sys 3254/udp +semaphore 3255/tcp +semaphore 3255/udp +cpqrpm-agent 3256/tcp +cpqrpm-agent 3256/udp +cpqrpm-server 3257/tcp +cpqrpm-server 3257/udp +ivecon-port 3258/tcp +ivecon-port 3258/udp +epncdp2 3259/tcp +epncdp2 3259/udp +iscsi-target 3260/tcp +iscsi-target 3260/udp +winshadow 3261/tcp +winshadow 3261/udp +necp 3262/tcp +necp 3262/udp +ecolor-imager 3263/tcp +ecolor-imager 3263/udp +ccmail 3264/tcp +ccmail 3264/udp +altav-tunnel 3265/tcp +altav-tunnel 3265/udp +ns-cfg-server 3266/tcp +ns-cfg-server 3266/udp +ibm-dial-out 3267/tcp +ibm-dial-out 3267/udp +msft-gc 3268/tcp +msft-gc 3268/udp +msft-gc-ssl 3269/tcp +msft-gc-ssl 3269/udp +verismart 3270/tcp +verismart 3270/udp +csoft-prev 3271/tcp +csoft-prev 3271/udp +user-manager 3272/tcp +user-manager 3272/udp +sxmp 3273/tcp +sxmp 3273/udp +ordinox-server 3274/tcp +ordinox-server 3274/udp +samd 3275/tcp +samd 3275/udp +maxim-asics 3276/tcp +maxim-asics 3276/udp +awg-proxy 3277/tcp +awg-proxy 3277/udp +lkcmserver 3278/tcp +lkcmserver 3278/udp +admind 3279/tcp +admind 3279/udp +vs-server 3280/tcp +vs-server 3280/udp +sysopt 3281/tcp +sysopt 3281/udp +datusorb 3282/tcp +datusorb 3282/udp +4talk 3284/tcp +4talk 3284/udp +plato 3285/tcp +plato 3285/udp +e-net 3286/tcp +e-net 3286/udp +directvdata 3287/tcp +directvdata 3287/udp +cops 3288/tcp +cops 3288/udp +enpc 3289/tcp +enpc 3289/udp +caps-lm 3290/tcp +caps-lm 3290/udp +sah-lm 3291/tcp +sah-lm 3291/udp +cart-o-rama 3292/tcp +cart-o-rama 3292/udp +fg-fps 3293/tcp +fg-fps 3293/udp +fg-gip 3294/tcp +fg-gip 3294/udp +dyniplookup 3295/tcp +dyniplookup 3295/udp +rib-slm 3296/tcp +rib-slm 3296/udp +cytel-lm 3297/tcp +cytel-lm 3297/udp +deskview 3298/tcp +deskview 3298/udp +pdrncs 3299/tcp +pdrncs 3299/udp +ceph 3300/tcp +mcs-fastmail 3302/tcp +mcs-fastmail 3302/udp +opsession-clnt 3303/tcp +opsession-clnt 3303/udp +opsession-srvr 3304/tcp +opsession-srvr 3304/udp +odette-ftp 3305/tcp +odette-ftp 3305/udp +mysql 3306/tcp +mysql 3306/udp +opsession-prxy 3307/tcp +opsession-prxy 3307/udp +tns-server 3308/tcp +tns-server 3308/udp +tns-adv 3309/tcp +tns-adv 3309/udp +dyna-access 3310/tcp +dyna-access 3310/udp +mcns-tel-ret 3311/tcp +mcns-tel-ret 3311/udp +appman-server 3312/tcp +appman-server 3312/udp +uorb 3313/tcp +uorb 3313/udp +uohost 3314/tcp +uohost 3314/udp +cdid 3315/tcp +cdid 3315/udp +aicc-cmi 3316/tcp +aicc-cmi 3316/udp +vsaiport 3317/tcp +vsaiport 3317/udp +ssrip 3318/tcp +ssrip 3318/udp +sdt-lmd 3319/tcp +sdt-lmd 3319/udp +officelink2000 3320/tcp +officelink2000 3320/udp +vnsstr 3321/tcp +vnsstr 3321/udp +sftu 3326/tcp +sftu 3326/udp +bbars 3327/tcp +bbars 3327/udp +egptlm 3328/tcp +egptlm 3328/udp +hp-device-disc 3329/tcp +hp-device-disc 3329/udp +mcs-calypsoicf 3330/tcp +mcs-calypsoicf 3330/udp +mcs-messaging 3331/tcp +mcs-messaging 3331/udp +mcs-mailsvr 3332/tcp +mcs-mailsvr 3332/udp +dec-notes 3333/tcp +dec-notes 3333/udp +directv-web 3334/tcp +directv-web 3334/udp +directv-soft 3335/tcp +directv-soft 3335/udp +directv-tick 3336/tcp +directv-tick 3336/udp +directv-catlg 3337/tcp +directv-catlg 3337/udp +anet-b 3338/tcp +anet-b 3338/udp +anet-l 3339/tcp +anet-l 3339/udp +anet-m 3340/tcp +anet-m 3340/udp +anet-h 3341/tcp +anet-h 3341/udp +webtie 3342/tcp +webtie 3342/udp +ms-cluster-net 3343/tcp +ms-cluster-net 3343/udp +bnt-manager 3344/tcp +bnt-manager 3344/udp +influence 3345/tcp +influence 3345/udp +trnsprntproxy 3346/tcp +trnsprntproxy 3346/udp +phoenix-rpc 3347/tcp +phoenix-rpc 3347/udp +pangolin-laser 3348/tcp +pangolin-laser 3348/udp +chevinservices 3349/tcp +chevinservices 3349/udp +findviatv 3350/tcp +findviatv 3350/udp +btrieve 3351/tcp +btrieve 3351/udp +ssql 3352/tcp +ssql 3352/udp +fatpipe 3353/tcp +fatpipe 3353/udp +suitjd 3354/tcp +suitjd 3354/udp +ordinox-dbase 3355/tcp +ordinox-dbase 3355/udp +upnotifyps 3356/tcp +upnotifyps 3356/udp +adtech-test 3357/tcp +adtech-test 3357/udp +mpsysrmsvr 3358/tcp +mpsysrmsvr 3358/udp +wg-netforce 3359/tcp +wg-netforce 3359/udp +kv-server 3360/tcp +kv-server 3360/udp +kv-agent 3361/tcp +kv-agent 3361/udp +dj-ilm 3362/tcp +dj-ilm 3362/udp +nati-vi-server 3363/tcp +nati-vi-server 3363/udp +creativeserver 3364/tcp +creativeserver 3364/udp +contentserver 3365/tcp +contentserver 3365/udp +creativepartnr 3366/tcp +creativepartnr 3366/udp +tip2 3372/tcp +tip2 3372/udp +lavenir-lm 3373/tcp +lavenir-lm 3373/udp +cluster-disc 3374/tcp +cluster-disc 3374/udp +vsnm-agent 3375/tcp +vsnm-agent 3375/udp +cdbroker 3376/tcp +cdbroker 3376/udp +cogsys-lm 3377/tcp +cogsys-lm 3377/udp +wsicopy 3378/tcp +wsicopy 3378/udp +socorfs 3379/tcp +socorfs 3379/udp +sns-channels 3380/tcp +sns-channels 3380/udp +geneous 3381/tcp +geneous 3381/udp +fujitsu-neat 3382/tcp +fujitsu-neat 3382/udp +esp-lm 3383/tcp +esp-lm 3383/udp +hp-clic 3384/tcp +hp-clic 3384/udp +qnxnetman 3385/tcp +qnxnetman 3385/udp +gprs-data 3386/tcp +gprs-sig 3386/udp +backroomnet 3387/tcp +backroomnet 3387/udp +cbserver 3388/tcp +cbserver 3388/udp +ms-wbt-server 3389/tcp +ms-wbt-server 3389/udp +dsc 3390/tcp +dsc 3390/udp +savant 3391/tcp +savant 3391/udp +efi-lm 3392/tcp +efi-lm 3392/udp +d2k-tapestry1 3393/tcp +d2k-tapestry1 3393/udp +d2k-tapestry2 3394/tcp +d2k-tapestry2 3394/udp +dyna-lm 3395/tcp +dyna-lm 3395/udp +printer-agent 3396/tcp +printer-agent 3396/udp +cloanto-lm 3397/tcp +cloanto-lm 3397/udp +mercantile 3398/tcp +mercantile 3398/udp +csms 3399/tcp +csms 3399/udp +csms2 3400/tcp +csms2 3400/udp +filecast 3401/tcp +filecast 3401/udp +fxaengine-net 3402/tcp +fxaengine-net 3402/udp +nokia-ann-ch1 3405/tcp +nokia-ann-ch1 3405/udp +nokia-ann-ch2 3406/tcp +nokia-ann-ch2 3406/udp +ldap-admin 3407/tcp +ldap-admin 3407/udp +BESApi 3408/tcp +BESApi 3408/udp +networklens 3409/tcp +networklens 3409/udp +networklenss 3410/tcp +networklenss 3410/udp +biolink-auth 3411/tcp +biolink-auth 3411/udp +xmlblaster 3412/tcp +xmlblaster 3412/udp +svnet 3413/tcp +svnet 3413/udp +wip-port 3414/tcp +wip-port 3414/udp +bcinameservice 3415/tcp +bcinameservice 3415/udp +commandport 3416/tcp +commandport 3416/udp +csvr 3417/tcp +csvr 3417/udp +rnmap 3418/tcp +rnmap 3418/udp +softaudit 3419/tcp +softaudit 3419/udp +ifcp-port 3420/tcp +ifcp-port 3420/udp +bmap 3421/tcp +bmap 3421/udp +rusb-sys-port 3422/tcp +rusb-sys-port 3422/udp +xtrm 3423/tcp +xtrm 3423/udp +xtrms 3424/tcp +xtrms 3424/udp +agps-port 3425/tcp +agps-port 3425/udp +arkivio 3426/tcp +arkivio 3426/udp +websphere-snmp 3427/tcp +websphere-snmp 3427/udp +twcss 3428/tcp +twcss 3428/udp +gcsp 3429/tcp +gcsp 3429/udp +ssdispatch 3430/tcp +ssdispatch 3430/udp +ndl-als 3431/tcp +ndl-als 3431/udp +osdcp 3432/tcp +osdcp 3432/udp +opnet-smp 3433/tcp +opnet-smp 3433/udp +opencm 3434/tcp +opencm 3434/udp +pacom 3435/tcp +pacom 3435/udp +gc-config 3436/tcp +gc-config 3436/udp +autocueds 3437/tcp +autocueds 3437/udp +spiral-admin 3438/tcp +spiral-admin 3438/udp +hri-port 3439/tcp +hri-port 3439/udp +ans-console 3440/tcp +ans-console 3440/udp +connect-client 3441/tcp +connect-client 3441/udp +connect-server 3442/tcp +connect-server 3442/udp +ov-nnm-websrv 3443/tcp +ov-nnm-websrv 3443/udp +denali-server 3444/tcp +denali-server 3444/udp +monp 3445/tcp +monp 3445/udp +3comfaxrpc 3446/tcp +3comfaxrpc 3446/udp +directnet 3447/tcp +directnet 3447/udp +dnc-port 3448/tcp +dnc-port 3448/udp +hotu-chat 3449/tcp +hotu-chat 3449/udp +castorproxy 3450/tcp +castorproxy 3450/udp +asam 3451/tcp +asam 3451/udp +sabp-signal 3452/tcp +sabp-signal 3452/udp +pscupd 3453/tcp +pscupd 3453/udp +mira 3454/tcp +mira 3454/udp +prsvp 3455/tcp +prsvp 3455/udp +vat 3456/tcp +vat 3456/udp +vat-control 3457/tcp +vat-control 3457/udp +d3winosfi 3458/tcp +d3winosfi 3458/udp +integral 3459/tcp +integral 3459/udp +edm-manager 3460/tcp +edm-manager 3460/udp +edm-stager 3461/tcp +edm-stager 3461/udp +edm-std-notify 3462/tcp +edm-std-notify 3462/udp +edm-adm-notify 3463/tcp +edm-adm-notify 3463/udp +edm-mgr-sync 3464/tcp +edm-mgr-sync 3464/udp +edm-mgr-cntrl 3465/tcp +edm-mgr-cntrl 3465/udp +workflow 3466/tcp +workflow 3466/udp +rcst 3467/tcp +rcst 3467/udp +ttcmremotectrl 3468/tcp +ttcmremotectrl 3468/udp +pluribus 3469/tcp +pluribus 3469/udp +jt400 3470/tcp +jt400 3470/udp +jt400-ssl 3471/tcp +jt400-ssl 3471/udp +jaugsremotec-1 3472/tcp +jaugsremotec-1 3472/udp +jaugsremotec-2 3473/tcp +jaugsremotec-2 3473/udp +ttntspauto 3474/tcp +ttntspauto 3474/udp +genisar-port 3475/tcp +genisar-port 3475/udp +nppmp 3476/tcp +nppmp 3476/udp +ecomm 3477/tcp +ecomm 3477/udp +stun 3478/tcp +stun 3478/udp +turn 3478/tcp +turn 3478/udp +stun-behavior 3478/tcp +stun-behavior 3478/udp +twrpc 3479/tcp +twrpc 3479/udp +plethora 3480/tcp +plethora 3480/udp +cleanerliverc 3481/tcp +cleanerliverc 3481/udp +vulture 3482/tcp +vulture 3482/udp +slim-devices 3483/tcp +slim-devices 3483/udp +gbs-stp 3484/tcp +gbs-stp 3484/udp +celatalk 3485/tcp +celatalk 3485/udp +ifsf-hb-port 3486/tcp +ifsf-hb-port 3486/udp +ltctcp 3487/tcp +ltcudp 3487/udp +fs-rh-srv 3488/tcp +fs-rh-srv 3488/udp +dtp-dia 3489/tcp +dtp-dia 3489/udp +colubris 3490/tcp +colubris 3490/udp +swr-port 3491/tcp +swr-port 3491/udp +tvdumtray-port 3492/tcp +tvdumtray-port 3492/udp +nut 3493/tcp +nut 3493/udp +ibm3494 3494/tcp +ibm3494 3494/udp +seclayer-tcp 3495/tcp +seclayer-tcp 3495/udp +seclayer-tls 3496/tcp +seclayer-tls 3496/udp +ipether232port 3497/tcp +ipether232port 3497/udp +dashpas-port 3498/tcp +dashpas-port 3498/udp +sccip-media 3499/tcp +sccip-media 3499/udp +rtmp-port 3500/tcp +rtmp-port 3500/udp +isoft-p2p 3501/tcp +isoft-p2p 3501/udp +avinstalldisc 3502/tcp +avinstalldisc 3502/udp +lsp-ping 3503/tcp +lsp-ping 3503/udp +ironstorm 3504/tcp +ironstorm 3504/udp +ccmcomm 3505/tcp +ccmcomm 3505/udp +apc-3506 3506/tcp +apc-3506 3506/udp +nesh-broker 3507/tcp +nesh-broker 3507/udp +interactionweb 3508/tcp +interactionweb 3508/udp +vt-ssl 3509/tcp +vt-ssl 3509/udp +xss-port 3510/tcp +xss-port 3510/udp +webmail-2 3511/tcp +webmail-2 3511/udp +aztec 3512/tcp +aztec 3512/udp +arcpd 3513/tcp +arcpd 3513/udp +must-p2p 3514/tcp +must-p2p 3514/udp +must-backplane 3515/tcp +must-backplane 3515/udp +smartcard-port 3516/tcp +smartcard-port 3516/udp +802-11-iapp 3517/tcp +802-11-iapp 3517/udp +artifact-msg 3518/tcp +artifact-msg 3518/udp +nvmsgd 3519/tcp +galileo 3519/udp +galileolog 3520/tcp +galileolog 3520/udp +mc3ss 3521/tcp +mc3ss 3521/udp +nssocketport 3522/tcp +nssocketport 3522/udp +odeumservlink 3523/tcp +odeumservlink 3523/udp +ecmport 3524/tcp +ecmport 3524/udp +eisport 3525/tcp +eisport 3525/udp +starquiz-port 3526/tcp +starquiz-port 3526/udp +beserver-msg-q 3527/tcp +beserver-msg-q 3527/udp +jboss-iiop 3528/tcp +jboss-iiop 3528/udp +jboss-iiop-ssl 3529/tcp +jboss-iiop-ssl 3529/udp +gf 3530/tcp +gf 3530/udp +joltid 3531/tcp +joltid 3531/udp +raven-rmp 3532/tcp +raven-rmp 3532/udp +raven-rdp 3533/tcp +raven-rdp 3533/udp +urld-port 3534/tcp +urld-port 3534/udp +ms-la 3535/tcp +ms-la 3535/udp +snac 3536/tcp +snac 3536/udp +ni-visa-remote 3537/tcp +ni-visa-remote 3537/udp +ibm-diradm 3538/tcp +ibm-diradm 3538/udp +ibm-diradm-ssl 3539/tcp +ibm-diradm-ssl 3539/udp +pnrp-port 3540/tcp +pnrp-port 3540/udp +voispeed-port 3541/tcp +voispeed-port 3541/udp +hacl-monitor 3542/tcp +hacl-monitor 3542/udp +qftest-lookup 3543/tcp +qftest-lookup 3543/udp +teredo 3544/tcp +teredo 3544/udp +camac 3545/tcp +camac 3545/udp +symantec-sim 3547/tcp +symantec-sim 3547/udp +interworld 3548/tcp +interworld 3548/udp +tellumat-nms 3549/tcp +tellumat-nms 3549/udp +ssmpp 3550/tcp +ssmpp 3550/udp +apcupsd 3551/tcp +apcupsd 3551/udp +taserver 3552/tcp +taserver 3552/udp +rbr-discovery 3553/tcp +rbr-discovery 3553/udp +questnotify 3554/tcp +questnotify 3554/udp +razor 3555/tcp +razor 3555/udp +sky-transport 3556/tcp +sky-transport 3556/udp +personalos-001 3557/tcp +personalos-001 3557/udp +mcp-port 3558/tcp +mcp-port 3558/udp +cctv-port 3559/tcp +cctv-port 3559/udp +iniserve-port 3560/tcp +iniserve-port 3560/udp +bmc-onekey 3561/tcp +bmc-onekey 3561/udp +sdbproxy 3562/tcp +sdbproxy 3562/udp +watcomdebug 3563/tcp +watcomdebug 3563/udp +esimport 3564/tcp +esimport 3564/udp +m2pa 3565/tcp +m2pa 3565/sctp +quest-data-hub 3566/tcp +dof-eps 3567/tcp +dof-eps 3567/udp +dof-tunnel-sec 3568/tcp +dof-tunnel-sec 3568/udp +mbg-ctrl 3569/tcp +mbg-ctrl 3569/udp +mccwebsvr-port 3570/tcp +mccwebsvr-port 3570/udp +megardsvr-port 3571/tcp +megardsvr-port 3571/udp +megaregsvrport 3572/tcp +megaregsvrport 3572/udp +tag-ups-1 3573/tcp +tag-ups-1 3573/udp +dmaf-server 3574/tcp +dmaf-caster 3574/udp +ccm-port 3575/tcp +ccm-port 3575/udp +cmc-port 3576/tcp +cmc-port 3576/udp +config-port 3577/tcp +config-port 3577/udp +data-port 3578/tcp +data-port 3578/udp +ttat3lb 3579/tcp +ttat3lb 3579/udp +nati-svrloc 3580/tcp +nati-svrloc 3580/udp +kfxaclicensing 3581/tcp +kfxaclicensing 3581/udp +press 3582/tcp +press 3582/udp +canex-watch 3583/tcp +canex-watch 3583/udp +u-dbap 3584/tcp +u-dbap 3584/udp +emprise-lls 3585/tcp +emprise-lls 3585/udp +emprise-lsc 3586/tcp +emprise-lsc 3586/udp +p2pgroup 3587/tcp +p2pgroup 3587/udp +sentinel 3588/tcp +sentinel 3588/udp +isomair 3589/tcp +isomair 3589/udp +wv-csp-sms 3590/tcp +wv-csp-sms 3590/udp +gtrack-server 3591/tcp +gtrack-server 3591/udp +gtrack-ne 3592/tcp +gtrack-ne 3592/udp +bpmd 3593/tcp +bpmd 3593/udp +mediaspace 3594/tcp +mediaspace 3594/udp +shareapp 3595/tcp +shareapp 3595/udp +iw-mmogame 3596/tcp +iw-mmogame 3596/udp +a14 3597/tcp +a14 3597/udp +a15 3598/tcp +a15 3598/udp +quasar-server 3599/tcp +quasar-server 3599/udp +trap-daemon 3600/tcp +trap-daemon 3600/udp +visinet-gui 3601/tcp +visinet-gui 3601/udp +infiniswitchcl 3602/tcp +infiniswitchcl 3602/udp +int-rcv-cntrl 3603/tcp +int-rcv-cntrl 3603/udp +bmc-jmx-port 3604/tcp +bmc-jmx-port 3604/udp +comcam-io 3605/tcp +comcam-io 3605/udp +splitlock 3606/tcp +splitlock 3606/udp +precise-i3 3607/tcp +precise-i3 3607/udp +trendchip-dcp 3608/tcp +trendchip-dcp 3608/udp +cpdi-pidas-cm 3609/tcp +cpdi-pidas-cm 3609/udp +echonet 3610/tcp +echonet 3610/udp +six-degrees 3611/tcp +six-degrees 3611/udp +dataprotector 3612/tcp +dataprotector 3612/udp +alaris-disc 3613/tcp +alaris-disc 3613/udp +sigma-port 3614/tcp +sigma-port 3614/udp +start-network 3615/tcp +start-network 3615/udp +cd3o-protocol 3616/tcp +cd3o-protocol 3616/udp +sharp-server 3617/tcp +sharp-server 3617/udp +aairnet-1 3618/tcp +aairnet-1 3618/udp +aairnet-2 3619/tcp +aairnet-2 3619/udp +ep-pcp 3620/tcp +ep-pcp 3620/udp +ep-nsp 3621/tcp +ep-nsp 3621/udp +ff-lr-port 3622/tcp +ff-lr-port 3622/udp +haipe-discover 3623/tcp +haipe-discover 3623/udp +dist-upgrade 3624/tcp +dist-upgrade 3624/udp +volley 3625/tcp +volley 3625/udp +bvcdaemon-port 3626/tcp +bvcdaemon-port 3626/udp +jamserverport 3627/tcp +jamserverport 3627/udp +ept-machine 3628/tcp +ept-machine 3628/udp +escvpnet 3629/tcp +escvpnet 3629/udp +cs-remote-db 3630/tcp +cs-remote-db 3630/udp +cs-services 3631/tcp +cs-services 3631/udp +distcc 3632/tcp +distcc 3632/udp +wacp 3633/tcp +wacp 3633/udp +hlibmgr 3634/tcp +hlibmgr 3634/udp +sdo 3635/tcp +sdo 3635/udp +servistaitsm 3636/tcp +servistaitsm 3636/udp +scservp 3637/tcp +scservp 3637/udp +ehp-backup 3638/tcp +ehp-backup 3638/udp +xap-ha 3639/tcp +xap-ha 3639/udp +netplay-port1 3640/tcp +netplay-port1 3640/udp +netplay-port2 3641/tcp +netplay-port2 3641/udp +juxml-port 3642/tcp +juxml-port 3642/udp +audiojuggler 3643/tcp +audiojuggler 3643/udp +ssowatch 3644/tcp +ssowatch 3644/udp +cyc 3645/tcp +cyc 3645/udp +xss-srv-port 3646/tcp +xss-srv-port 3646/udp +splitlock-gw 3647/tcp +splitlock-gw 3647/udp +fjcp 3648/tcp +fjcp 3648/udp +nmmp 3649/tcp +nmmp 3649/udp +prismiq-plugin 3650/tcp +prismiq-plugin 3650/udp +xrpc-registry 3651/tcp +xrpc-registry 3651/udp +vxcrnbuport 3652/tcp +vxcrnbuport 3652/udp +tsp 3653/tcp +tsp 3653/udp +vaprtm 3654/tcp +vaprtm 3654/udp +abatemgr 3655/tcp +abatemgr 3655/udp +abatjss 3656/tcp +abatjss 3656/udp +immedianet-bcn 3657/tcp +immedianet-bcn 3657/udp +ps-ams 3658/tcp +ps-ams 3658/udp +apple-sasl 3659/tcp +apple-sasl 3659/udp +can-nds-ssl 3660/tcp +can-nds-ssl 3660/udp +can-ferret-ssl 3661/tcp +can-ferret-ssl 3661/udp +pserver 3662/tcp +pserver 3662/udp +dtp 3663/tcp +dtp 3663/udp +ups-engine 3664/tcp +ups-engine 3664/udp +ent-engine 3665/tcp +ent-engine 3665/udp +eserver-pap 3666/tcp +eserver-pap 3666/udp +infoexch 3667/tcp +infoexch 3667/udp +dell-rm-port 3668/tcp +dell-rm-port 3668/udp +casanswmgmt 3669/tcp +casanswmgmt 3669/udp +smile 3670/tcp +smile 3670/udp +efcp 3671/tcp +efcp 3671/udp +lispworks-orb 3672/tcp +lispworks-orb 3672/udp +mediavault-gui 3673/tcp +mediavault-gui 3673/udp +wininstall-ipc 3674/tcp +wininstall-ipc 3674/udp +calltrax 3675/tcp +calltrax 3675/udp +va-pacbase 3676/tcp +va-pacbase 3676/udp +roverlog 3677/tcp +roverlog 3677/udp +ipr-dglt 3678/tcp +ipr-dglt 3678/udp +npds-tracker 3680/tcp +npds-tracker 3680/udp +bts-x73 3681/tcp +bts-x73 3681/udp +cas-mapi 3682/tcp +cas-mapi 3682/udp +bmc-ea 3683/tcp +bmc-ea 3683/udp +faxstfx-port 3684/tcp +faxstfx-port 3684/udp +dsx-agent 3685/tcp +dsx-agent 3685/udp +tnmpv2 3686/tcp +tnmpv2 3686/udp +simple-push 3687/tcp +simple-push 3687/udp +simple-push-s 3688/tcp +simple-push-s 3688/udp +daap 3689/tcp +daap 3689/udp +svn 3690/tcp +svn 3690/udp +magaya-network 3691/tcp +magaya-network 3691/udp +intelsync 3692/tcp +intelsync 3692/udp +easl 3693/tcp +bmc-data-coll 3695/tcp +bmc-data-coll 3695/udp +telnetcpcd 3696/tcp +telnetcpcd 3696/udp +nw-license 3697/tcp +nw-license 3697/udp +sagectlpanel 3698/tcp +sagectlpanel 3698/udp +kpn-icw 3699/tcp +kpn-icw 3699/udp +lrs-paging 3700/tcp +lrs-paging 3700/udp +netcelera 3701/tcp +netcelera 3701/udp +ws-discovery 3702/tcp +ws-discovery 3702/udp +adobeserver-3 3703/tcp +adobeserver-3 3703/udp +adobeserver-4 3704/tcp +adobeserver-4 3704/udp +adobeserver-5 3705/tcp +adobeserver-5 3705/udp +rt-event 3706/tcp +rt-event 3706/udp +rt-event-s 3707/tcp +rt-event-s 3707/udp +sun-as-iiops 3708/tcp +sun-as-iiops 3708/udp +ca-idms 3709/tcp +ca-idms 3709/udp +portgate-auth 3710/tcp +portgate-auth 3710/udp +edb-server2 3711/tcp +edb-server2 3711/udp +sentinel-ent 3712/tcp +sentinel-ent 3712/udp +tftps 3713/tcp +tftps 3713/udp +delos-dms 3714/tcp +delos-dms 3714/udp +anoto-rendezv 3715/tcp +anoto-rendezv 3715/udp +wv-csp-sms-cir 3716/tcp +wv-csp-sms-cir 3716/udp +wv-csp-udp-cir 3717/tcp +wv-csp-udp-cir 3717/udp +opus-services 3718/tcp +opus-services 3718/udp +itelserverport 3719/tcp +itelserverport 3719/udp +ufastro-instr 3720/tcp +ufastro-instr 3720/udp +xsync 3721/tcp +xsync 3721/udp +xserveraid 3722/tcp +xserveraid 3722/udp +sychrond 3723/tcp +sychrond 3723/udp +blizwow 3724/tcp +blizwow 3724/udp +na-er-tip 3725/tcp +na-er-tip 3725/udp +array-manager 3726/tcp +array-manager 3726/udp +e-mdu 3727/tcp +e-mdu 3727/udp +e-woa 3728/tcp +e-woa 3728/udp +fksp-audit 3729/tcp +fksp-audit 3729/udp +client-ctrl 3730/tcp +client-ctrl 3730/udp +smap 3731/tcp +smap 3731/udp +m-wnn 3732/tcp +m-wnn 3732/udp +multip-msg 3733/tcp +multip-msg 3733/udp +synel-data 3734/tcp +synel-data 3734/udp +pwdis 3735/tcp +pwdis 3735/udp +rs-rmi 3736/tcp +rs-rmi 3736/udp +xpanel 3737/tcp +versatalk 3738/tcp +versatalk 3738/udp +launchbird-lm 3739/tcp +launchbird-lm 3739/udp +heartbeat 3740/tcp +heartbeat 3740/udp +wysdma 3741/tcp +wysdma 3741/udp +cst-port 3742/tcp +cst-port 3742/udp +ipcs-command 3743/tcp +ipcs-command 3743/udp +sasg 3744/tcp +sasg 3744/udp +gw-call-port 3745/tcp +gw-call-port 3745/udp +linktest 3746/tcp +linktest 3746/udp +linktest-s 3747/tcp +linktest-s 3747/udp +webdata 3748/tcp +webdata 3748/udp +cimtrak 3749/tcp +cimtrak 3749/udp +cbos-ip-port 3750/tcp +cbos-ip-port 3750/udp +gprs-cube 3751/tcp +gprs-cube 3751/udp +vipremoteagent 3752/tcp +vipremoteagent 3752/udp +nattyserver 3753/tcp +nattyserver 3753/udp +timestenbroker 3754/tcp +timestenbroker 3754/udp +sas-remote-hlp 3755/tcp +sas-remote-hlp 3755/udp +canon-capt 3756/tcp +canon-capt 3756/udp +grf-port 3757/tcp +grf-port 3757/udp +apw-registry 3758/tcp +apw-registry 3758/udp +exapt-lmgr 3759/tcp +exapt-lmgr 3759/udp +adtempusclient 3760/tcp +adtempusclient 3760/udp +gsakmp 3761/tcp +gsakmp 3761/udp +gbs-smp 3762/tcp +gbs-smp 3762/udp +xo-wave 3763/tcp +xo-wave 3763/udp +mni-prot-rout 3764/tcp +mni-prot-rout 3764/udp +rtraceroute 3765/tcp +rtraceroute 3765/udp +sitewatch-s 3766/tcp +listmgr-port 3767/tcp +listmgr-port 3767/udp +rblcheckd 3768/tcp +rblcheckd 3768/udp +haipe-otnk 3769/tcp +haipe-otnk 3769/udp +cindycollab 3770/tcp +cindycollab 3770/udp +paging-port 3771/tcp +paging-port 3771/udp +ctp 3772/tcp +ctp 3772/udp +ctdhercules 3773/tcp +ctdhercules 3773/udp +zicom 3774/tcp +zicom 3774/udp +ispmmgr 3775/tcp +ispmmgr 3775/udp +dvcprov-port 3776/tcp +dvcprov-port 3776/udp +jibe-eb 3777/tcp +jibe-eb 3777/udp +c-h-it-port 3778/tcp +c-h-it-port 3778/udp +cognima 3779/tcp +cognima 3779/udp +nnp 3780/tcp +nnp 3780/udp +abcvoice-port 3781/tcp +abcvoice-port 3781/udp +iso-tp0s 3782/tcp +iso-tp0s 3782/udp +bim-pem 3783/tcp +bim-pem 3783/udp +bfd-control 3784/tcp +bfd-control 3784/udp +bfd-echo 3785/tcp +bfd-echo 3785/udp +upstriggervsw 3786/tcp +upstriggervsw 3786/udp +fintrx 3787/tcp +fintrx 3787/udp +isrp-port 3788/tcp +isrp-port 3788/udp +remotedeploy 3789/tcp +remotedeploy 3789/udp +quickbooksrds 3790/tcp +quickbooksrds 3790/udp +tvnetworkvideo 3791/tcp +tvnetworkvideo 3791/udp +sitewatch 3792/tcp +sitewatch 3792/udp +dcsoftware 3793/tcp +dcsoftware 3793/udp +jaus 3794/tcp +jaus 3794/udp +myblast 3795/tcp +myblast 3795/udp +spw-dialer 3796/tcp +spw-dialer 3796/udp +idps 3797/tcp +idps 3797/udp +minilock 3798/tcp +minilock 3798/udp +radius-dynauth 3799/tcp +radius-dynauth 3799/udp +pwgpsi 3800/tcp +pwgpsi 3800/udp +ibm-mgr 3801/tcp +ibm-mgr 3801/udp +vhd 3802/tcp +vhd 3802/udp +soniqsync 3803/tcp +soniqsync 3803/udp +iqnet-port 3804/tcp +iqnet-port 3804/udp +tcpdataserver 3805/tcp +tcpdataserver 3805/udp +wsmlb 3806/tcp +wsmlb 3806/udp +spugna 3807/tcp +spugna 3807/udp +sun-as-iiops-ca 3808/tcp +sun-as-iiops-ca 3808/udp +apocd 3809/tcp +apocd 3809/udp +wlanauth 3810/tcp +wlanauth 3810/udp +amp 3811/tcp +amp 3811/udp +neto-wol-server 3812/tcp +neto-wol-server 3812/udp +rap-ip 3813/tcp +rap-ip 3813/udp +neto-dcs 3814/tcp +neto-dcs 3814/udp +lansurveyorxml 3815/tcp +lansurveyorxml 3815/udp +sunlps-http 3816/tcp +sunlps-http 3816/udp +tapeware 3817/tcp +tapeware 3817/udp +crinis-hb 3818/tcp +crinis-hb 3818/udp +epl-slp 3819/tcp +epl-slp 3819/udp +scp 3820/tcp +scp 3820/udp +pmcp 3821/tcp +pmcp 3821/udp +acp-discovery 3822/tcp +acp-discovery 3822/udp +acp-conduit 3823/tcp +acp-conduit 3823/udp +acp-policy 3824/tcp +acp-policy 3824/udp +ffserver 3825/tcp +ffserver 3825/udp +warmux 3826/tcp +warmux 3826/udp +netmpi 3827/tcp +netmpi 3827/udp +neteh 3828/tcp +neteh 3828/udp +neteh-ext 3829/tcp +neteh-ext 3829/udp +cernsysmgmtagt 3830/tcp +cernsysmgmtagt 3830/udp +dvapps 3831/tcp +dvapps 3831/udp +xxnetserver 3832/tcp +xxnetserver 3832/udp +aipn-auth 3833/tcp +aipn-auth 3833/udp +spectardata 3834/tcp +spectardata 3834/udp +spectardb 3835/tcp +spectardb 3835/udp +markem-dcp 3836/tcp +markem-dcp 3836/udp +mkm-discovery 3837/tcp +mkm-discovery 3837/udp +sos 3838/tcp +sos 3838/udp +amx-rms 3839/tcp +amx-rms 3839/udp +flirtmitmir 3840/tcp +flirtmitmir 3840/udp +shiprush-db-svr 3841/tcp +nhci 3842/tcp +nhci 3842/udp +quest-agent 3843/tcp +quest-agent 3843/udp +rnm 3844/tcp +rnm 3844/udp +v-one-spp 3845/tcp +v-one-spp 3845/udp +an-pcp 3846/tcp +an-pcp 3846/udp +msfw-control 3847/tcp +msfw-control 3847/udp +item 3848/tcp +item 3848/udp +spw-dnspreload 3849/tcp +spw-dnspreload 3849/udp +qtms-bootstrap 3850/tcp +qtms-bootstrap 3850/udp +spectraport 3851/tcp +spectraport 3851/udp +sse-app-config 3852/tcp +sse-app-config 3852/udp +sscan 3853/tcp +sscan 3853/udp +stryker-com 3854/tcp +stryker-com 3854/udp +opentrac 3855/tcp +opentrac 3855/udp +informer 3856/tcp +informer 3856/udp +trap-port 3857/tcp +trap-port 3857/udp +trap-port-mom 3858/tcp +trap-port-mom 3858/udp +nav-port 3859/tcp +nav-port 3859/udp +sasp 3860/tcp +sasp 3860/udp +winshadow-hd 3861/tcp +winshadow-hd 3861/udp +giga-pocket 3862/tcp +giga-pocket 3862/udp +asap-tcp 3863/tcp +asap-udp 3863/udp +asap-sctp 3863/sctp +asap-tcp-tls 3864/tcp +asap-sctp-tls 3864/sctp +xpl 3865/tcp +xpl 3865/udp +dzdaemon 3866/tcp +dzdaemon 3866/udp +dzoglserver 3867/tcp +dzoglserver 3867/udp +diameter 3868/tcp +diameter 3868/sctp +ovsam-mgmt 3869/tcp +ovsam-mgmt 3869/udp +ovsam-d-agent 3870/tcp +ovsam-d-agent 3870/udp +avocent-adsap 3871/tcp +avocent-adsap 3871/udp +oem-agent 3872/tcp +oem-agent 3872/udp +fagordnc 3873/tcp +fagordnc 3873/udp +sixxsconfig 3874/tcp +sixxsconfig 3874/udp +pnbscada 3875/tcp +pnbscada 3875/udp +dl-agent 3876/tcp +dl-agent 3876/udp +xmpcr-interface 3877/tcp +xmpcr-interface 3877/udp +fotogcad 3878/tcp +fotogcad 3878/udp +appss-lm 3879/tcp +appss-lm 3879/udp +igrs 3880/tcp +igrs 3880/udp +idac 3881/tcp +idac 3881/udp +msdts1 3882/tcp +msdts1 3882/udp +vrpn 3883/tcp +vrpn 3883/udp +softrack-meter 3884/tcp +softrack-meter 3884/udp +topflow-ssl 3885/tcp +topflow-ssl 3885/udp +nei-management 3886/tcp +nei-management 3886/udp +ciphire-data 3887/tcp +ciphire-data 3887/udp +ciphire-serv 3888/tcp +ciphire-serv 3888/udp +dandv-tester 3889/tcp +dandv-tester 3889/udp +ndsconnect 3890/tcp +ndsconnect 3890/udp +rtc-pm-port 3891/tcp +rtc-pm-port 3891/udp +pcc-image-port 3892/tcp +pcc-image-port 3892/udp +cgi-starapi 3893/tcp +cgi-starapi 3893/udp +syam-agent 3894/tcp +syam-agent 3894/udp +syam-smc 3895/tcp +syam-smc 3895/udp +sdo-tls 3896/tcp +sdo-tls 3896/udp +sdo-ssh 3897/tcp +sdo-ssh 3897/udp +senip 3898/tcp +senip 3898/udp +itv-control 3899/tcp +itv-control 3899/udp +udt-os 3900/tcp +udt-os 3900/udp +nimsh 3901/tcp +nimsh 3901/udp +nimaux 3902/tcp +nimaux 3902/udp +charsetmgr 3903/tcp +charsetmgr 3903/udp +omnilink-port 3904/tcp +omnilink-port 3904/udp +mupdate 3905/tcp +mupdate 3905/udp +topovista-data 3906/tcp +topovista-data 3906/udp +imoguia-port 3907/tcp +imoguia-port 3907/udp +hppronetman 3908/tcp +hppronetman 3908/udp +surfcontrolcpa 3909/tcp +surfcontrolcpa 3909/udp +prnrequest 3910/tcp +prnrequest 3910/udp +prnstatus 3911/tcp +prnstatus 3911/udp +gbmt-stars 3912/tcp +gbmt-stars 3912/udp +listcrt-port 3913/tcp +listcrt-port 3913/udp +listcrt-port-2 3914/tcp +listcrt-port-2 3914/udp +agcat 3915/tcp +agcat 3915/udp +wysdmc 3916/tcp +wysdmc 3916/udp +aftmux 3917/tcp +aftmux 3917/udp +pktcablemmcops 3918/tcp +pktcablemmcops 3918/udp +hyperip 3919/tcp +hyperip 3919/udp +exasoftport1 3920/tcp +exasoftport1 3920/udp +herodotus-net 3921/tcp +herodotus-net 3921/udp +sor-update 3922/tcp +sor-update 3922/udp +symb-sb-port 3923/tcp +symb-sb-port 3923/udp +mpl-gprs-port 3924/tcp +mpl-gprs-port 3924/udp +zmp 3925/tcp +zmp 3925/udp +winport 3926/tcp +winport 3926/udp +natdataservice 3927/tcp +natdataservice 3927/udp +netboot-pxe 3928/tcp +netboot-pxe 3928/udp +smauth-port 3929/tcp +smauth-port 3929/udp +syam-webserver 3930/tcp +syam-webserver 3930/udp +msr-plugin-port 3931/tcp +msr-plugin-port 3931/udp +dyn-site 3932/tcp +dyn-site 3932/udp +plbserve-port 3933/tcp +plbserve-port 3933/udp +sunfm-port 3934/tcp +sunfm-port 3934/udp +sdp-portmapper 3935/tcp +sdp-portmapper 3935/udp +mailprox 3936/tcp +mailprox 3936/udp +dvbservdsc 3937/tcp +dvbservdsc 3937/udp +dbcontrol-agent 3938/tcp +dbcontrol-agent 3938/udp +aamp 3939/tcp +aamp 3939/udp +xecp-node 3940/tcp +xecp-node 3940/udp +homeportal-web 3941/tcp +homeportal-web 3941/udp +srdp 3942/tcp +srdp 3942/udp +tig 3943/tcp +tig 3943/udp +sops 3944/tcp +sops 3944/udp +emcads 3945/tcp +emcads 3945/udp +backupedge 3946/tcp +backupedge 3946/udp +ccp 3947/tcp +ccp 3947/udp +apdap 3948/tcp +apdap 3948/udp +drip 3949/tcp +drip 3949/udp +namemunge 3950/tcp +namemunge 3950/udp +pwgippfax 3951/tcp +pwgippfax 3951/udp +i3-sessionmgr 3952/tcp +i3-sessionmgr 3952/udp +xmlink-connect 3953/tcp +xmlink-connect 3953/udp +adrep 3954/tcp +adrep 3954/udp +p2pcommunity 3955/tcp +p2pcommunity 3955/udp +gvcp 3956/tcp +gvcp 3956/udp +mqe-broker 3957/tcp +mqe-broker 3957/udp +mqe-agent 3958/tcp +mqe-agent 3958/udp +treehopper 3959/tcp +treehopper 3959/udp +bess 3960/tcp +bess 3960/udp +proaxess 3961/tcp +proaxess 3961/udp +sbi-agent 3962/tcp +sbi-agent 3962/udp +thrp 3963/tcp +thrp 3963/udp +sasggprs 3964/tcp +sasggprs 3964/udp +ati-ip-to-ncpe 3965/tcp +ati-ip-to-ncpe 3965/udp +bflckmgr 3966/tcp +bflckmgr 3966/udp +ppsms 3967/tcp +ppsms 3967/udp +ianywhere-dbns 3968/tcp +ianywhere-dbns 3968/udp +landmarks 3969/tcp +landmarks 3969/udp +lanrevagent 3970/tcp +lanrevagent 3970/udp +lanrevserver 3971/tcp +lanrevserver 3971/udp +iconp 3972/tcp +iconp 3972/udp +progistics 3973/tcp +progistics 3973/udp +citysearch 3974/tcp +citysearch 3974/udp +airshot 3975/tcp +airshot 3975/udp +opswagent 3976/tcp +opswagent 3976/udp +opswmanager 3977/tcp +opswmanager 3977/udp +secure-cfg-svr 3978/tcp +secure-cfg-svr 3978/udp +smwan 3979/tcp +smwan 3979/udp +acms 3980/tcp +acms 3980/udp +starfish 3981/tcp +starfish 3981/udp +eis 3982/tcp +eis 3982/udp +eisp 3983/tcp +eisp 3983/udp +mapper-nodemgr 3984/tcp +mapper-nodemgr 3984/udp +mapper-mapethd 3985/tcp +mapper-mapethd 3985/udp +mapper-ws-ethd 3986/tcp +mapper-ws-ethd 3986/udp +centerline 3987/tcp +centerline 3987/udp +dcs-config 3988/tcp +dcs-config 3988/udp +bv-queryengine 3989/tcp +bv-queryengine 3989/udp +bv-is 3990/tcp +bv-is 3990/udp +bv-smcsrv 3991/tcp +bv-smcsrv 3991/udp +bv-ds 3992/tcp +bv-ds 3992/udp +bv-agent 3993/tcp +bv-agent 3993/udp +iss-mgmt-ssl 3995/tcp +iss-mgmt-ssl 3995/udp +abcsoftware 3996/tcp +abcsoftware 3996/udp +agentsease-db 3997/tcp +agentsease-db 3997/udp +dnx 3998/tcp +dnx 3998/udp +nvcnet 3999/tcp +nvcnet 3999/udp +terabase 4000/tcp +terabase 4000/udp +newoak 4001/tcp +newoak 4001/udp +pxc-spvr-ft 4002/tcp +pxc-spvr-ft 4002/udp +pxc-splr-ft 4003/tcp +pxc-splr-ft 4003/udp +pxc-roid 4004/tcp +pxc-roid 4004/udp +pxc-pin 4005/tcp +pxc-pin 4005/udp +pxc-spvr 4006/tcp +pxc-spvr 4006/udp +pxc-splr 4007/tcp +pxc-splr 4007/udp +netcheque 4008/tcp +netcheque 4008/udp +chimera-hwm 4009/tcp +chimera-hwm 4009/udp +samsung-unidex 4010/tcp +samsung-unidex 4010/udp +altserviceboot 4011/tcp +altserviceboot 4011/udp +pda-gate 4012/tcp +pda-gate 4012/udp +acl-manager 4013/tcp +acl-manager 4013/udp +taiclock 4014/tcp +taiclock 4014/udp +talarian-mcast1 4015/tcp +talarian-mcast1 4015/udp +talarian-mcast2 4016/tcp +talarian-mcast2 4016/udp +talarian-mcast3 4017/tcp +talarian-mcast3 4017/udp +talarian-mcast4 4018/tcp +talarian-mcast4 4018/udp +talarian-mcast5 4019/tcp +talarian-mcast5 4019/udp +trap 4020/tcp +trap 4020/udp +nexus-portal 4021/tcp +nexus-portal 4021/udp +dnox 4022/tcp +dnox 4022/udp +esnm-zoning 4023/tcp +esnm-zoning 4023/udp +tnp1-port 4024/tcp +tnp1-port 4024/udp +partimage 4025/tcp +partimage 4025/udp +as-debug 4026/tcp +as-debug 4026/udp +bxp 4027/tcp +bxp 4027/udp +dtserver-port 4028/tcp +dtserver-port 4028/udp +ip-qsig 4029/tcp +ip-qsig 4029/udp +jdmn-port 4030/tcp +jdmn-port 4030/udp +suucp 4031/tcp +suucp 4031/udp +vrts-auth-port 4032/tcp +vrts-auth-port 4032/udp +sanavigator 4033/tcp +sanavigator 4033/udp +ubxd 4034/tcp +ubxd 4034/udp +wap-push-http 4035/tcp +wap-push-http 4035/udp +wap-push-https 4036/tcp +wap-push-https 4036/udp +ravehd 4037/tcp +ravehd 4037/udp +fazzt-ptp 4038/tcp +fazzt-ptp 4038/udp +fazzt-admin 4039/tcp +fazzt-admin 4039/udp +yo-main 4040/tcp +yo-main 4040/udp +houston 4041/tcp +houston 4041/udp +ldxp 4042/tcp +ldxp 4042/udp +nirp 4043/tcp +nirp 4043/udp +ltp 4044/tcp +ltp 4044/udp +npp 4045/tcp +npp 4045/udp +acp-proto 4046/tcp +acp-proto 4046/udp +ctp-state 4047/tcp +ctp-state 4047/udp +wafs 4049/tcp +wafs 4049/udp +cisco-wafs 4050/tcp +cisco-wafs 4050/udp +cppdp 4051/tcp +cppdp 4051/udp +interact 4052/tcp +interact 4052/udp +ccu-comm-1 4053/tcp +ccu-comm-1 4053/udp +ccu-comm-2 4054/tcp +ccu-comm-2 4054/udp +ccu-comm-3 4055/tcp +ccu-comm-3 4055/udp +lms 4056/tcp +lms 4056/udp +wfm 4057/tcp +wfm 4057/udp +kingfisher 4058/tcp +kingfisher 4058/udp +dlms-cosem 4059/tcp +dlms-cosem 4059/udp +dsmeter-iatc 4060/tcp +dsmeter-iatc 4060/udp +ice-location 4061/tcp +ice-location 4061/udp +ice-slocation 4062/tcp +ice-slocation 4062/udp +ice-router 4063/tcp +ice-router 4063/udp +ice-srouter 4064/tcp +ice-srouter 4064/udp +avanti-cdp 4065/tcp +avanti-cdp 4065/udp +pmas 4066/tcp +pmas 4066/udp +idp 4067/tcp +idp 4067/udp +ipfltbcst 4068/tcp +ipfltbcst 4068/udp +minger 4069/tcp +minger 4069/udp +tripe 4070/tcp +tripe 4070/udp +aibkup 4071/tcp +aibkup 4071/udp +zieto-sock 4072/tcp +zieto-sock 4072/udp +iRAPP 4073/tcp +iRAPP 4073/udp +cequint-cityid 4074/tcp +cequint-cityid 4074/udp +perimlan 4075/tcp +perimlan 4075/udp +seraph 4076/tcp +seraph 4076/udp +ascomalarm 4077/udp +cssp 4078/tcp +santools 4079/tcp +santools 4079/udp +lorica-in 4080/tcp +lorica-in 4080/udp +lorica-in-sec 4081/tcp +lorica-in-sec 4081/udp +lorica-out 4082/tcp +lorica-out 4082/udp +lorica-out-sec 4083/tcp +lorica-out-sec 4083/udp +fortisphere-vm 4084/udp +ezmessagesrv 4085/tcp +ftsync 4086/udp +applusservice 4087/tcp +npsp 4088/tcp +opencore 4089/tcp +opencore 4089/udp +omasgport 4090/tcp +omasgport 4090/udp +ewinstaller 4091/tcp +ewinstaller 4091/udp +ewdgs 4092/tcp +ewdgs 4092/udp +pvxpluscs 4093/tcp +pvxpluscs 4093/udp +sysrqd 4094/tcp +sysrqd 4094/udp +xtgui 4095/tcp +xtgui 4095/udp +bre 4096/tcp +bre 4096/udp +patrolview 4097/tcp +patrolview 4097/udp +drmsfsd 4098/tcp +drmsfsd 4098/udp +dpcp 4099/tcp +dpcp 4099/udp +igo-incognito 4100/tcp +igo-incognito 4100/udp +brlp-0 4101/tcp +brlp-0 4101/udp +brlp-1 4102/tcp +brlp-1 4102/udp +brlp-2 4103/tcp +brlp-2 4103/udp +brlp-3 4104/tcp +brlp-3 4104/udp +shofar 4105/tcp +shofar 4105/udp +synchronite 4106/tcp +synchronite 4106/udp +j-ac 4107/tcp +j-ac 4107/udp +accel 4108/tcp +accel 4108/udp +izm 4109/tcp +izm 4109/udp +g2tag 4110/tcp +g2tag 4110/udp +xgrid 4111/tcp +xgrid 4111/udp +apple-vpns-rp 4112/tcp +apple-vpns-rp 4112/udp +aipn-reg 4113/tcp +aipn-reg 4113/udp +jomamqmonitor 4114/tcp +jomamqmonitor 4114/udp +cds 4115/tcp +cds 4115/udp +smartcard-tls 4116/tcp +smartcard-tls 4116/udp +hillrserv 4117/tcp +hillrserv 4117/udp +netscript 4118/tcp +netscript 4118/udp +assuria-slm 4119/tcp +assuria-slm 4119/udp +minirem 4120/tcp +e-builder 4121/tcp +e-builder 4121/udp +fprams 4122/tcp +fprams 4122/udp +z-wave 4123/tcp +z-wave 4123/udp +tigv2 4124/tcp +tigv2 4124/udp +opsview-envoy 4125/tcp +opsview-envoy 4125/udp +ddrepl 4126/tcp +ddrepl 4126/udp +unikeypro 4127/tcp +unikeypro 4127/udp +nufw 4128/tcp +nufw 4128/udp +nuauth 4129/tcp +nuauth 4129/udp +fronet 4130/tcp +fronet 4130/udp +stars 4131/tcp +stars 4131/udp +nuts-dem 4132/tcp +nuts-dem 4132/udp +nuts-bootp 4133/tcp +nuts-bootp 4133/udp +nifty-hmi 4134/tcp +nifty-hmi 4134/udp +cl-db-attach 4135/tcp +cl-db-attach 4135/udp +cl-db-request 4136/tcp +cl-db-request 4136/udp +cl-db-remote 4137/tcp +cl-db-remote 4137/udp +nettest 4138/tcp +nettest 4138/udp +thrtx 4139/tcp +thrtx 4139/udp +cedros-fds 4140/tcp +cedros-fds 4140/udp +oirtgsvc 4141/tcp +oirtgsvc 4141/udp +oidocsvc 4142/tcp +oidocsvc 4142/udp +oidsr 4143/tcp +oidsr 4143/udp +vvr-control 4145/tcp +vvr-control 4145/udp +tgcconnect 4146/tcp +tgcconnect 4146/udp +vrxpservman 4147/tcp +vrxpservman 4147/udp +hhb-handheld 4148/tcp +hhb-handheld 4148/udp +agslb 4149/tcp +agslb 4149/udp +PowerAlert-nsa 4150/tcp +PowerAlert-nsa 4150/udp +menandmice-noh 4151/tcp +menandmice-noh 4151/udp +idig-mux 4152/tcp +idig-mux 4152/udp +mbl-battd 4153/tcp +mbl-battd 4153/udp +atlinks 4154/tcp +atlinks 4154/udp +bzr 4155/tcp +bzr 4155/udp +stat-results 4156/tcp +stat-results 4156/udp +stat-scanner 4157/tcp +stat-scanner 4157/udp +stat-cc 4158/tcp +stat-cc 4158/udp +nss 4159/tcp +nss 4159/udp +jini-discovery 4160/tcp +jini-discovery 4160/udp +omscontact 4161/tcp +omscontact 4161/udp +omstopology 4162/tcp +omstopology 4162/udp +silverpeakpeer 4163/tcp +silverpeakpeer 4163/udp +silverpeakcomm 4164/tcp +silverpeakcomm 4164/udp +altcp 4165/tcp +altcp 4165/udp +joost 4166/tcp +joost 4166/udp +ddgn 4167/tcp +ddgn 4167/udp +pslicser 4168/tcp +pslicser 4168/udp +iadt 4169/tcp +iadt-disc 4169/udp +d-cinema-csp 4170/tcp +ml-svnet 4171/tcp +pcoip 4172/tcp +pcoip 4172/udp +mma-discovery 4173/udp +smcluster 4174/tcp +sm-disc 4174/udp +bccp 4175/tcp +tl-ipcproxy 4176/tcp +wello 4177/tcp +wello 4177/udp +storman 4178/tcp +storman 4178/udp +MaxumSP 4179/tcp +MaxumSP 4179/udp +httpx 4180/tcp +httpx 4180/udp +macbak 4181/tcp +macbak 4181/udp +pcptcpservice 4182/tcp +pcptcpservice 4182/udp +cyborgnet 4183/tcp +cyborgnet 4183/udp +universe-suite 4184/tcp +universe-suite 4184/udp +wcpp 4185/tcp +wcpp 4185/udp +boxbackupstore 4186/tcp +csc-proxy 4187/tcp +vatata 4188/tcp +vatata 4188/udp +pcep 4189/tcp +sieve 4190/tcp +dsmipv6 4191/udp +azeti 4192/tcp +azeti-bd 4192/udp +pvxplusio 4193/tcp +aws-wsp 4195/tcp +aws-wsp 4195/udp +aws-wsp 4195/sctp +aws-wsp 4195/dccp +hctl 4197/tcp +hctl 4197/udp +eims-admin 4199/tcp +eims-admin 4199/udp +corelccam 4300/tcp +corelccam 4300/udp +d-data 4301/tcp +d-data 4301/udp +d-data-control 4302/tcp +d-data-control 4302/udp +srcp 4303/tcp +srcp 4303/udp +owserver 4304/tcp +owserver 4304/udp +batman 4305/tcp +batman 4305/udp +pinghgl 4306/tcp +pinghgl 4306/udp +trueconf 4307/tcp +trueconf 4307/udp +compx-lockview 4308/tcp +compx-lockview 4308/udp +dserver 4309/tcp +dserver 4309/udp +mirrtex 4310/tcp +mirrtex 4310/udp +p6ssmc 4311/tcp +pscl-mgt 4312/tcp +perrla 4313/tcp +choiceview-agt 4314/tcp +choiceview-clt 4316/tcp +fdt-rcatp 4320/tcp +fdt-rcatp 4320/udp +rwhois 4321/tcp +rwhois 4321/udp +trim-event 4322/tcp +trim-event 4322/udp +trim-ice 4323/tcp +trim-ice 4323/udp +geognosisman 4325/tcp +geognosisman 4325/udp +geognosis 4326/tcp +geognosis 4326/udp +jaxer-web 4327/tcp +jaxer-web 4327/udp +jaxer-manager 4328/tcp +jaxer-manager 4328/udp +publiqare-sync 4329/tcp +dey-sapi 4330/tcp +ktickets-rest 4331/tcp +getty-focus 4332/tcp +ahsp 4333/tcp +ahsp 4333/udp +ahsp 4333/sctp +netconf-ch-ssh 4334/tcp +netconf-ch-tls 4335/tcp +restconf-ch-tls 4336/tcp +gaia 4340/tcp +gaia 4340/udp +lisp-data 4341/udp +lisp-control 4342/udp +unicall 4343/tcp +unicall 4343/udp +vinainstall 4344/tcp +vinainstall 4344/udp +m4-network-as 4345/tcp +m4-network-as 4345/udp +elanlm 4346/tcp +elanlm 4346/udp +lansurveyor 4347/tcp +lansurveyor 4347/udp +itose 4348/tcp +itose 4348/udp +fsportmap 4349/tcp +fsportmap 4349/udp +net-device 4350/tcp +net-device 4350/udp +plcy-net-svcs 4351/tcp +plcy-net-svcs 4351/udp +pjlink 4352/tcp +pjlink 4352/udp +f5-iquery 4353/tcp +f5-iquery 4353/udp +qsnet-trans 4354/tcp +qsnet-trans 4354/udp +qsnet-workst 4355/tcp +qsnet-workst 4355/udp +qsnet-assist 4356/tcp +qsnet-assist 4356/udp +qsnet-cond 4357/tcp +qsnet-cond 4357/udp +qsnet-nucl 4358/tcp +qsnet-nucl 4358/udp +omabcastltkm 4359/tcp +omabcastltkm 4359/udp +matrix-vnet 4360/tcp +nacnl 4361/udp +afore-vdp-disc 4362/udp +shadowstream 4366/udp +wxbrief 4368/tcp +wxbrief 4368/udp +epmd 4369/tcp +epmd 4369/udp +elpro-tunnel 4370/tcp +elpro-tunnel 4370/udp +l2c-control 4371/tcp +l2c-disc 4371/udp +l2c-data 4372/tcp +l2c-data 4372/udp +remctl 4373/tcp +remctl 4373/udp +psi-ptt 4374/tcp +tolteces 4375/tcp +tolteces 4375/udp +bip 4376/tcp +bip 4376/udp +cp-spxsvr 4377/tcp +cp-spxsvr 4377/udp +cp-spxdpy 4378/tcp +cp-spxdpy 4378/udp +ctdb 4379/tcp +ctdb 4379/udp +xandros-cms 4389/tcp +xandros-cms 4389/udp +wiegand 4390/tcp +wiegand 4390/udp +apwi-imserver 4391/tcp +apwi-rxserver 4392/tcp +apwi-rxspooler 4393/tcp +apwi-disc 4394/udp +omnivisionesx 4395/tcp +omnivisionesx 4395/udp +fly 4396/tcp +ds-srv 4400/tcp +ds-srv 4400/udp +ds-srvr 4401/tcp +ds-srvr 4401/udp +ds-clnt 4402/tcp +ds-clnt 4402/udp +ds-user 4403/tcp +ds-user 4403/udp +ds-admin 4404/tcp +ds-admin 4404/udp +ds-mail 4405/tcp +ds-mail 4405/udp +ds-slp 4406/tcp +ds-slp 4406/udp +nacagent 4407/tcp +slscc 4408/tcp +netcabinet-com 4409/tcp +itwo-server 4410/tcp +found 4411/tcp +smallchat 4412/udp +avi-nms 4413/tcp +avi-nms-disc 4413/udp +updog 4414/tcp +brcd-vr-req 4415/tcp +pjj-player 4416/tcp +pjj-player-disc 4416/udp +workflowdir 4417/tcp +axysbridge 4418/udp +cbp 4419/tcp +nvme 4420/tcp +nvme 4420/udp +scaleft 4421/tcp +tsepisp 4422/tcp +thingkit 4423/tcp +netrockey6 4425/tcp +netrockey6 4425/udp +beacon-port-2 4426/tcp +beacon-port-2 4426/udp +drizzle 4427/tcp +omviserver 4428/tcp +omviagent 4429/tcp +rsqlserver 4430/tcp +rsqlserver 4430/udp +wspipe 4431/tcp +l-acoustics 4432/tcp +l-acoustics 4432/udp +vop 4433/tcp +netblox 4441/udp +saris 4442/tcp +saris 4442/udp +pharos 4443/tcp +pharos 4443/udp +krb524 4444/tcp +krb524 4444/udp +nv-video 4444/tcp +nv-video 4444/udp +upnotifyp 4445/tcp +upnotifyp 4445/udp +n1-fwp 4446/tcp +n1-fwp 4446/udp +n1-rmgmt 4447/tcp +n1-rmgmt 4447/udp +asc-slmd 4448/tcp +asc-slmd 4448/udp +privatewire 4449/tcp +privatewire 4449/udp +camp 4450/tcp +camp 4450/udp +ctisystemmsg 4451/tcp +ctisystemmsg 4451/udp +ctiprogramload 4452/tcp +ctiprogramload 4452/udp +nssalertmgr 4453/tcp +nssalertmgr 4453/udp +nssagentmgr 4454/tcp +nssagentmgr 4454/udp +prchat-user 4455/tcp +prchat-user 4455/udp +prchat-server 4456/tcp +prchat-server 4456/udp +prRegister 4457/tcp +prRegister 4457/udp +mcp 4458/tcp +mcp 4458/udp +ntske 4460/tcp +hpssmgmt 4484/tcp +hpssmgmt 4484/udp +assyst-dr 4485/tcp +icms 4486/tcp +icms 4486/udp +prex-tcp 4487/tcp +awacs-ice 4488/tcp +awacs-ice 4488/udp +ipsec-nat-t 4500/tcp +ipsec-nat-t 4500/udp +a25-fap-fgw 4502/sctp +armagetronad 4534/udp +ehs 4535/tcp +ehs 4535/udp +ehs-ssl 4536/tcp +ehs-ssl 4536/udp +wssauthsvc 4537/tcp +wssauthsvc 4537/udp +swx-gate 4538/tcp +swx-gate 4538/udp +worldscores 4545/tcp +worldscores 4545/udp +sf-lm 4546/tcp +sf-lm 4546/udp +lanner-lm 4547/tcp +lanner-lm 4547/udp +synchromesh 4548/tcp +synchromesh 4548/udp +aegate 4549/tcp +aegate 4549/udp +gds-adppiw-db 4550/tcp +gds-adppiw-db 4550/udp +ieee-mih 4551/tcp +ieee-mih 4551/udp +menandmice-mon 4552/tcp +menandmice-mon 4552/udp +icshostsvc 4553/tcp +msfrs 4554/tcp +msfrs 4554/udp +rsip 4555/tcp +rsip 4555/udp +dtn-bundle 4556/tcp +dtn-bundle 4556/udp +dtn-bundle 4556/dccp +mtcevrunqss 4557/udp +mtcevrunqman 4558/udp +hylafax 4559/tcp +hylafax 4559/udp +amahi-anywhere 4563/tcp +kwtc 4566/tcp +kwtc 4566/udp +tram 4567/tcp +tram 4567/udp +bmc-reporting 4568/tcp +bmc-reporting 4568/udp +iax 4569/tcp +iax 4569/udp +deploymentmap 4570/tcp +cardifftec-back 4573/tcp +rid 4590/tcp +l3t-at-an 4591/tcp +l3t-at-an 4591/udp +hrpd-ith-at-an 4592/udp +ipt-anri-anri 4593/tcp +ipt-anri-anri 4593/udp +ias-session 4594/tcp +ias-session 4594/udp +ias-paging 4595/tcp +ias-paging 4595/udp +ias-neighbor 4596/tcp +ias-neighbor 4596/udp +a21-an-1xbs 4597/tcp +a21-an-1xbs 4597/udp +a16-an-an 4598/tcp +a16-an-an 4598/udp +a17-an-an 4599/tcp +a17-an-an 4599/udp +piranha1 4600/tcp +piranha1 4600/udp +piranha2 4601/tcp +piranha2 4601/udp +mtsserver 4602/tcp +menandmice-upg 4603/tcp +irp 4604/tcp +sixchat 4605/tcp +sixid 4606/tcp +ventoso 4621/udp +dots-signal 4646/tcp +dots-signal 4646/udp +playsta2-app 4658/tcp +playsta2-app 4658/udp +playsta2-lob 4659/tcp +playsta2-lob 4659/udp +smaclmgr 4660/tcp +smaclmgr 4660/udp +kar2ouche 4661/tcp +kar2ouche 4661/udp +oms 4662/tcp +oms 4662/udp +noteit 4663/tcp +noteit 4663/udp +ems 4664/tcp +ems 4664/udp +contclientms 4665/tcp +contclientms 4665/udp +eportcomm 4666/tcp +eportcomm 4666/udp +mmacomm 4667/tcp +mmacomm 4667/udp +mmaeds 4668/tcp +mmaeds 4668/udp +eportcommdata 4669/tcp +eportcommdata 4669/udp +light 4670/tcp +light 4670/udp +acter 4671/tcp +acter 4671/udp +rfa 4672/tcp +rfa 4672/udp +cxws 4673/tcp +cxws 4673/udp +appiq-mgmt 4674/tcp +appiq-mgmt 4674/udp +dhct-status 4675/tcp +dhct-status 4675/udp +dhct-alerts 4676/tcp +dhct-alerts 4676/udp +bcs 4677/tcp +bcs 4677/udp +traversal 4678/tcp +traversal 4678/udp +mgesupervision 4679/tcp +mgesupervision 4679/udp +mgemanagement 4680/tcp +mgemanagement 4680/udp +parliant 4681/tcp +parliant 4681/udp +finisar 4682/tcp +finisar 4682/udp +spike 4683/tcp +spike 4683/udp +rfid-rp1 4684/tcp +rfid-rp1 4684/udp +autopac 4685/tcp +autopac 4685/udp +msp-os 4686/tcp +msp-os 4686/udp +nst 4687/tcp +nst 4687/udp +mobile-p2p 4688/tcp +mobile-p2p 4688/udp +altovacentral 4689/tcp +altovacentral 4689/udp +prelude 4690/tcp +prelude 4690/udp +mtn 4691/tcp +mtn 4691/udp +conspiracy 4692/tcp +conspiracy 4692/udp +netxms-agent 4700/tcp +netxms-agent 4700/udp +netxms-mgmt 4701/tcp +netxms-mgmt 4701/udp +netxms-sync 4702/tcp +netxms-sync 4702/udp +npqes-test 4703/tcp +assuria-ins 4704/tcp +trinity-dist 4711/tcp +trinity-dist 4711/udp +trinity-dist 4711/sctp +truckstar 4725/tcp +truckstar 4725/udp +a26-fap-fgw 4726/udp +fcis 4727/tcp +fcis-disc 4727/udp +capmux 4728/tcp +capmux 4728/udp +gsmtap 4729/udp +gearman 4730/tcp +gearman 4730/udp +remcap 4731/tcp +ohmtrigger 4732/udp +resorcs 4733/tcp +ipdr-sp 4737/tcp +ipdr-sp 4737/udp +solera-lpn 4738/tcp +solera-lpn 4738/udp +ipfix 4739/tcp +ipfix 4739/udp +ipfix 4739/sctp +ipfixs 4740/tcp +ipfixs 4740/sctp +ipfixs 4740/udp +lumimgrd 4741/tcp +lumimgrd 4741/udp +sicct 4742/tcp +sicct-sdp 4742/udp +openhpid 4743/tcp +openhpid 4743/udp +ifsp 4744/tcp +ifsp 4744/udp +fmp 4745/tcp +fmp 4745/udp +intelliadm-disc 4746/udp +buschtrommel 4747/udp +profilemac 4749/tcp +profilemac 4749/udp +ssad 4750/tcp +ssad 4750/udp +spocp 4751/tcp +spocp 4751/udp +snap 4752/tcp +snap 4752/udp +simon 4753/tcp +simon-disc 4753/udp +gre-in-udp 4754/udp +gre-udp-dtls 4755/udp +RDCenter 4756/tcp +converge 4774/tcp +bfd-multi-ctl 4784/tcp +bfd-multi-ctl 4784/udp +cncp 4785/udp +smart-install 4786/tcp +sia-ctrl-plane 4787/tcp +xmcp 4788/tcp +vxlan 4789/udp +vxlan-gpe 4790/udp +roce 4791/udp +iims 4800/tcp +iims 4800/udp +iwec 4801/tcp +iwec 4801/udp +ilss 4802/tcp +ilss 4802/udp +notateit 4803/tcp +notateit-disc 4803/udp +aja-ntv4-disc 4804/udp +htcp 4827/tcp +htcp 4827/udp +varadero-0 4837/tcp +varadero-0 4837/udp +varadero-1 4838/tcp +varadero-1 4838/udp +varadero-2 4839/tcp +varadero-2 4839/udp +opcua-tcp 4840/tcp +opcua-udp 4840/udp +quosa 4841/tcp +quosa 4841/udp +gw-asv 4842/tcp +gw-asv 4842/udp +opcua-tls 4843/tcp +opcua-tls 4843/udp +gw-log 4844/tcp +gw-log 4844/udp +wcr-remlib 4845/tcp +wcr-remlib 4845/udp +contamac-icm 4846/tcp +contamac-icm 4846/udp +wfc 4847/tcp +wfc 4847/udp +appserv-http 4848/tcp +appserv-http 4848/udp +appserv-https 4849/tcp +appserv-https 4849/udp +sun-as-nodeagt 4850/tcp +sun-as-nodeagt 4850/udp +derby-repli 4851/tcp +derby-repli 4851/udp +unify-debug 4867/tcp +unify-debug 4867/udp +phrelay 4868/tcp +phrelay 4868/udp +phrelaydbg 4869/tcp +phrelaydbg 4869/udp +cc-tracking 4870/tcp +cc-tracking 4870/udp +wired 4871/tcp +wired 4871/udp +tritium-can 4876/tcp +tritium-can 4876/udp +lmcs 4877/tcp +lmcs 4877/udp +inst-discovery 4878/udp +wsdl-event 4879/tcp +hislip 4880/tcp +socp-t 4881/udp +socp-c 4882/udp +wmlserver 4883/tcp +hivestor 4884/tcp +hivestor 4884/udp +abbs 4885/tcp +abbs 4885/udp +xcap-portal 4888/tcp +xcap-control 4889/tcp +lyskom 4894/tcp +lyskom 4894/udp +radmin-port 4899/tcp +radmin-port 4899/udp +hfcs 4900/tcp +hfcs 4900/udp +flr-agent 4901/tcp +magiccontrol 4902/tcp +lutap 4912/tcp +lutcp 4913/tcp +bones 4914/tcp +bones 4914/udp +frcs 4915/tcp +an-signaling 4936/udp +atsc-mh-ssc 4937/udp +eq-office-4940 4940/tcp +eq-office-4940 4940/udp +eq-office-4941 4941/tcp +eq-office-4941 4941/udp +eq-office-4942 4942/tcp +eq-office-4942 4942/udp +munin 4949/tcp +munin 4949/udp +sybasesrvmon 4950/tcp +sybasesrvmon 4950/udp +pwgwims 4951/tcp +pwgwims 4951/udp +sagxtsds 4952/tcp +sagxtsds 4952/udp +dbsyncarbiter 4953/tcp +ccss-qmm 4969/tcp +ccss-qmm 4969/udp +ccss-qsm 4970/tcp +ccss-qsm 4970/udp +burp 4971/tcp +ctxs-vpp 4980/udp +webyast 4984/tcp +gerhcs 4985/tcp +mrip 4986/tcp +mrip 4986/udp +smar-se-port1 4987/tcp +smar-se-port1 4987/udp +smar-se-port2 4988/tcp +smar-se-port2 4988/udp +parallel 4989/tcp +parallel 4989/udp +busycal 4990/tcp +busycal 4990/udp +vrt 4991/tcp +vrt 4991/udp +hfcs-manager 4999/tcp +hfcs-manager 4999/udp +commplex-main 5000/tcp +commplex-main 5000/udp +commplex-link 5001/tcp +commplex-link 5001/udp +rfe 5002/tcp +rfe 5002/udp +fmpro-internal 5003/tcp +fmpro-internal 5003/udp +avt-profile-1 5004/tcp +avt-profile-1 5004/udp +avt-profile-1 5004/dccp +avt-profile-2 5005/tcp +avt-profile-2 5005/udp +avt-profile-2 5005/dccp +wsm-server 5006/tcp +wsm-server 5006/udp +wsm-server-ssl 5007/tcp +wsm-server-ssl 5007/udp +synapsis-edge 5008/tcp +synapsis-edge 5008/udp +winfs 5009/tcp +winfs 5009/udp +telelpathstart 5010/tcp +telelpathstart 5010/udp +telelpathattack 5011/tcp +telelpathattack 5011/udp +nsp 5012/tcp +nsp 5012/udp +fmpro-v6 5013/tcp +fmpro-v6 5013/udp +onpsocket 5014/udp +fmwp 5015/tcp +zenginkyo-1 5020/tcp +zenginkyo-1 5020/udp +zenginkyo-2 5021/tcp +zenginkyo-2 5021/udp +mice 5022/tcp +mice 5022/udp +htuilsrv 5023/tcp +htuilsrv 5023/udp +scpi-telnet 5024/tcp +scpi-telnet 5024/udp +scpi-raw 5025/tcp +scpi-raw 5025/udp +strexec-d 5026/tcp +strexec-d 5026/udp +strexec-s 5027/tcp +strexec-s 5027/udp +qvr 5028/tcp +infobright 5029/tcp +infobright 5029/udp +surfpass 5030/tcp +surfpass 5030/udp +dmp 5031/udp +signacert-agent 5032/tcp +jtnetd-server 5033/tcp +jtnetd-status 5034/tcp +asnaacceler8db 5042/tcp +asnaacceler8db 5042/udp +swxadmin 5043/tcp +swxadmin 5043/udp +lxi-evntsvc 5044/tcp +lxi-evntsvc 5044/udp +osp 5045/tcp +vpm-udp 5046/udp +iscape 5047/udp +texai 5048/tcp +ivocalize 5049/tcp +ivocalize 5049/udp +mmcc 5050/tcp +mmcc 5050/udp +ita-agent 5051/tcp +ita-agent 5051/udp +ita-manager 5052/tcp +ita-manager 5052/udp +rlm 5053/tcp +rlm-disc 5053/udp +rlm-admin 5054/tcp +unot 5055/tcp +unot 5055/udp +intecom-ps1 5056/tcp +intecom-ps1 5056/udp +intecom-ps2 5057/tcp +intecom-ps2 5057/udp +locus-disc 5058/udp +sds 5059/tcp +sds 5059/udp +sip 5060/tcp +sip 5060/udp +sip 5060/sctp +sips 5061/tcp +sips 5061/udp +sips 5061/sctp +na-localise 5062/tcp +na-localise 5062/udp +csrpc 5063/tcp +ca-1 5064/tcp +ca-1 5064/udp +ca-2 5065/tcp +ca-2 5065/udp +stanag-5066 5066/tcp +stanag-5066 5066/udp +authentx 5067/tcp +authentx 5067/udp +bitforestsrv 5068/tcp +i-net-2000-npr 5069/tcp +i-net-2000-npr 5069/udp +vtsas 5070/tcp +vtsas 5070/udp +powerschool 5071/tcp +powerschool 5071/udp +ayiya 5072/tcp +ayiya 5072/udp +tag-pm 5073/tcp +tag-pm 5073/udp +alesquery 5074/tcp +alesquery 5074/udp +pvaccess 5075/tcp +pixelpusher 5078/udp +cp-spxrpts 5079/udp +onscreen 5080/tcp +onscreen 5080/udp +sdl-ets 5081/tcp +sdl-ets 5081/udp +qcp 5082/tcp +qcp 5082/udp +qfp 5083/tcp +qfp 5083/udp +llrp 5084/tcp +llrp 5084/udp +encrypted-llrp 5085/tcp +encrypted-llrp 5085/udp +aprigo-cs 5086/tcp +biotic 5087/tcp +car 5090/sctp +cxtp 5091/sctp +magpie 5092/udp +sentinel-lm 5093/tcp +sentinel-lm 5093/udp +hart-ip 5094/tcp +hart-ip 5094/udp +sentlm-srv2srv 5099/tcp +sentlm-srv2srv 5099/udp +socalia 5100/tcp +socalia 5100/udp +talarian-tcp 5101/tcp +talarian-udp 5101/udp +oms-nonsecure 5102/tcp +oms-nonsecure 5102/udp +actifio-c2c 5103/tcp +tinymessage 5104/udp +hughes-ap 5105/udp +actifioudsagent 5106/tcp +actifioreplic 5107/tcp +taep-as-svc 5111/tcp +taep-as-svc 5111/udp +pm-cmdsvr 5112/tcp +pm-cmdsvr 5112/udp +ev-services 5114/tcp +autobuild 5115/tcp +emb-proj-cmd 5116/udp +gradecam 5117/tcp +barracuda-bbs 5120/tcp +barracuda-bbs 5120/udp +nbt-pc 5133/tcp +nbt-pc 5133/udp +ppactivation 5134/tcp +erp-scale 5135/tcp +minotaur-sa 5136/udp +ctsd 5137/tcp +ctsd 5137/udp +rmonitor-secure 5145/tcp +rmonitor-secure 5145/udp +social-alarm 5146/tcp +atmp 5150/tcp +atmp 5150/udp +esri-sde 5151/tcp +esri-sde 5151/udp +sde-discovery 5152/tcp +sde-discovery 5152/udp +bzflag 5154/tcp +bzflag 5154/udp +asctrl-agent 5155/tcp +asctrl-agent 5155/udp +rugameonline 5156/tcp +mediat 5157/tcp +snmpssh 5161/tcp +snmpssh-trap 5162/tcp +sbackup 5163/tcp +vpa 5164/tcp +vpa-disc 5164/udp +ife-icorp 5165/tcp +ife-icorp 5165/udp +winpcs 5166/tcp +winpcs 5166/udp +scte104 5167/tcp +scte104 5167/udp +scte30 5168/tcp +scte30 5168/udp +pcoip-mgmt 5172/tcp +aol 5190/tcp +aol 5190/udp +aol-1 5191/tcp +aol-1 5191/udp +aol-2 5192/tcp +aol-2 5192/udp +aol-3 5193/tcp +aol-3 5193/udp +cpscomm 5194/tcp +ampl-lic 5195/tcp +ampl-tableproxy 5196/tcp +tunstall-lwp 5197/tcp +targus-getdata 5200/tcp +targus-getdata 5200/udp +targus-getdata1 5201/tcp +targus-getdata1 5201/udp +targus-getdata2 5202/tcp +targus-getdata2 5202/udp +targus-getdata3 5203/tcp +targus-getdata3 5203/udp +nomad 5209/tcp +noteza 5215/tcp +noteza 5215/sctp +3exmp 5221/tcp +xmpp-client 5222/tcp +hpvirtgrp 5223/tcp +hpvirtgrp 5223/udp +hpvirtctrl 5224/tcp +hpvirtctrl 5224/udp +hp-server 5225/tcp +hp-server 5225/udp +hp-status 5226/tcp +hp-status 5226/udp +perfd 5227/tcp +perfd 5227/udp +hpvroom 5228/tcp +jaxflow 5229/tcp +jaxflow-data 5230/tcp +crusecontrol 5231/tcp +csedaemon 5232/tcp +enfs 5233/tcp +eenet 5234/tcp +eenet 5234/udp +galaxy-network 5235/tcp +galaxy-network 5235/udp +padl2sim 5236/tcp +padl2sim 5236/udp +mnet-discovery 5237/tcp +mnet-discovery 5237/udp +downtools 5245/tcp +downtools-disc 5245/udp +capwap-control 5246/udp +capwap-data 5247/udp +caacws 5248/tcp +caacws 5248/udp +caaclang2 5249/tcp +caaclang2 5249/udp +soagateway 5250/tcp +soagateway 5250/udp +caevms 5251/tcp +caevms 5251/udp +movaz-ssc 5252/tcp +movaz-ssc 5252/udp +kpdp 5253/tcp +logcabin 5254/tcp +3com-njack-1 5264/tcp +3com-njack-1 5264/udp +3com-njack-2 5265/tcp +3com-njack-2 5265/udp +xmpp-server 5269/tcp +cartographerxmp 5270/tcp +cartographerxmp 5270/udp +cuelink 5271/tcp +cuelink-disc 5271/udp +pk 5272/tcp +pk 5272/udp +xmpp-bosh 5280/tcp +undo-lm 5281/tcp +transmit-port 5282/tcp +transmit-port 5282/udp +presence 5298/tcp +presence 5298/udp +nlg-data 5299/tcp +nlg-data 5299/udp +hacl-hb 5300/tcp +hacl-hb 5300/udp +hacl-gs 5301/tcp +hacl-gs 5301/udp +hacl-cfg 5302/tcp +hacl-cfg 5302/udp +hacl-probe 5303/tcp +hacl-probe 5303/udp +hacl-local 5304/tcp +hacl-local 5304/udp +hacl-test 5305/tcp +hacl-test 5305/udp +sun-mc-grp 5306/tcp +sun-mc-grp 5306/udp +sco-aip 5307/tcp +sco-aip 5307/udp +cfengine 5308/tcp +cfengine 5308/udp +jprinter 5309/tcp +jprinter 5309/udp +outlaws 5310/tcp +outlaws 5310/udp +permabit-cs 5312/tcp +permabit-cs 5312/udp +rrdp 5313/tcp +rrdp 5313/udp +opalis-rbt-ipc 5314/tcp +opalis-rbt-ipc 5314/udp +hacl-poll 5315/tcp +hacl-poll 5315/udp +hpbladems 5316/tcp +hpdevms 5317/tcp +pkix-cmc 5318/tcp +bsfserver-zn 5320/tcp +bsfsvr-zn-ssl 5321/tcp +kfserver 5343/tcp +kfserver 5343/udp +xkotodrcp 5344/tcp +xkotodrcp 5344/udp +stuns 5349/tcp +stuns 5349/udp +turns 5349/tcp +turns 5349/udp +stun-behaviors 5349/tcp +pcp-multicast 5350/udp +pcp 5351/udp +dns-llq 5352/tcp +dns-llq 5352/udp +mdns 5353/tcp +mdns 5353/udp +mdnsresponder 5354/tcp +mdnsresponder 5354/udp +llmnr 5355/tcp +llmnr 5355/udp +ms-smlbiz 5356/tcp +ms-smlbiz 5356/udp +wsdapi 5357/tcp +wsdapi 5357/udp +wsdapi-s 5358/tcp +wsdapi-s 5358/udp +ms-alerter 5359/tcp +ms-alerter 5359/udp +ms-sideshow 5360/tcp +ms-sideshow 5360/udp +ms-s-sideshow 5361/tcp +ms-s-sideshow 5361/udp +serverwsd2 5362/tcp +serverwsd2 5362/udp +net-projection 5363/tcp +net-projection 5363/udp +kdnet 5364/udp +stresstester 5397/tcp +stresstester 5397/udp +elektron-admin 5398/tcp +elektron-admin 5398/udp +securitychase 5399/tcp +securitychase 5399/udp +excerpt 5400/tcp +excerpt 5400/udp +excerpts 5401/tcp +excerpts 5401/udp +mftp 5402/tcp +mftp 5402/udp +hpoms-ci-lstn 5403/tcp +hpoms-ci-lstn 5403/udp +hpoms-dps-lstn 5404/tcp +hpoms-dps-lstn 5404/udp +netsupport 5405/tcp +netsupport 5405/udp +systemics-sox 5406/tcp +systemics-sox 5406/udp +foresyte-clear 5407/tcp +foresyte-clear 5407/udp +foresyte-sec 5408/tcp +foresyte-sec 5408/udp +salient-dtasrv 5409/tcp +salient-dtasrv 5409/udp +salient-usrmgr 5410/tcp +salient-usrmgr 5410/udp +actnet 5411/tcp +actnet 5411/udp +continuus 5412/tcp +continuus 5412/udp +wwiotalk 5413/tcp +wwiotalk 5413/udp +statusd 5414/tcp +statusd 5414/udp +ns-server 5415/tcp +ns-server 5415/udp +sns-gateway 5416/tcp +sns-gateway 5416/udp +sns-agent 5417/tcp +sns-agent 5417/udp +mcntp 5418/tcp +mcntp 5418/udp +dj-ice 5419/tcp +dj-ice 5419/udp +cylink-c 5420/tcp +cylink-c 5420/udp +netsupport2 5421/tcp +netsupport2 5421/udp +salient-mux 5422/tcp +salient-mux 5422/udp +virtualuser 5423/tcp +virtualuser 5423/udp +beyond-remote 5424/tcp +beyond-remote 5424/udp +br-channel 5425/tcp +br-channel 5425/udp +devbasic 5426/tcp +devbasic 5426/udp +sco-peer-tta 5427/tcp +sco-peer-tta 5427/udp +telaconsole 5428/tcp +telaconsole 5428/udp +base 5429/tcp +base 5429/udp +radec-corp 5430/tcp +radec-corp 5430/udp +park-agent 5431/tcp +park-agent 5431/udp +postgresql 5432/tcp +postgresql 5432/udp +pyrrho 5433/tcp +pyrrho 5433/udp +sgi-arrayd 5434/tcp +sgi-arrayd 5434/udp +sceanics 5435/tcp +sceanics 5435/udp +pmip6-cntl 5436/udp +pmip6-data 5437/udp +spss 5443/tcp +spss 5443/udp +smbdirect 5445/tcp +smbdirect 5445/sctp +tiepie 5450/tcp +tiepie-disc 5450/udp +surebox 5453/tcp +surebox 5453/udp +apc-5454 5454/tcp +apc-5454 5454/udp +apc-5455 5455/tcp +apc-5455 5455/udp +apc-5456 5456/tcp +apc-5456 5456/udp +silkmeter 5461/tcp +silkmeter 5461/udp +ttl-publisher 5462/tcp +ttl-publisher 5462/udp +ttlpriceproxy 5463/tcp +ttlpriceproxy 5463/udp +quailnet 5464/tcp +quailnet 5464/udp +netops-broker 5465/tcp +netops-broker 5465/udp +apsolab-col 5470/tcp +apsolab-cols 5471/tcp +apsolab-tag 5472/tcp +apsolab-tags 5473/tcp +apsolab-rpc 5474/udp +apsolab-data 5475/tcp +fcp-addr-srvr1 5500/tcp +fcp-addr-srvr1 5500/udp +fcp-addr-srvr2 5501/tcp +fcp-addr-srvr2 5501/udp +fcp-srvr-inst1 5502/tcp +fcp-srvr-inst1 5502/udp +fcp-srvr-inst2 5503/tcp +fcp-srvr-inst2 5503/udp +fcp-cics-gw1 5504/tcp +fcp-cics-gw1 5504/udp +checkoutdb 5505/tcp +checkoutdb 5505/udp +amc 5506/tcp +amc 5506/udp +psl-management 5507/tcp +cbus 5550/tcp +sgi-eventmond 5553/tcp +sgi-eventmond 5553/udp +sgi-esphttp 5554/tcp +sgi-esphttp 5554/udp +personal-agent 5555/tcp +personal-agent 5555/udp +freeciv 5556/tcp +freeciv 5556/udp +farenet 5557/tcp +dp-bura 5565/tcp +westec-connect 5566/tcp +dof-dps-mc-sec 5567/tcp +dof-dps-mc-sec 5567/udp +sdt 5568/tcp +sdt 5568/udp +rdmnet-ctrl 5569/tcp +rdmnet-device 5569/udp +sdmmp 5573/tcp +sdmmp 5573/udp +lsi-bobcat 5574/tcp +ora-oap 5575/tcp +fdtracks 5579/tcp +tmosms0 5580/tcp +tmosms0 5580/udp +tmosms1 5581/tcp +tmosms1 5581/udp +fac-restore 5582/tcp +fac-restore 5582/udp +tmo-icon-sync 5583/tcp +tmo-icon-sync 5583/udp +bis-web 5584/tcp +bis-web 5584/udp +bis-sync 5585/tcp +bis-sync 5585/udp +att-mt-sms 5586/tcp +ininmessaging 5597/tcp +ininmessaging 5597/udp +mctfeed 5598/tcp +mctfeed 5598/udp +esinstall 5599/tcp +esinstall 5599/udp +esmmanager 5600/tcp +esmmanager 5600/udp +esmagent 5601/tcp +esmagent 5601/udp +a1-msc 5602/tcp +a1-msc 5602/udp +a1-bs 5603/tcp +a1-bs 5603/udp +a3-sdunode 5604/tcp +a3-sdunode 5604/udp +a4-sdunode 5605/tcp +a4-sdunode 5605/udp +efr 5618/tcp +ninaf 5627/tcp +ninaf 5627/udp +htrust 5628/tcp +htrust 5628/udp +symantec-sfdb 5629/tcp +symantec-sfdb 5629/udp +precise-comm 5630/tcp +precise-comm 5630/udp +pcanywheredata 5631/tcp +pcanywheredata 5631/udp +pcanywherestat 5632/tcp +pcanywherestat 5632/udp +beorl 5633/tcp +beorl 5633/udp +xprtld 5634/tcp +xprtld 5634/udp +sfmsso 5635/tcp +sfm-db-server 5636/tcp +cssc 5637/tcp +flcrs 5638/tcp +ics 5639/tcp +vfmobile 5646/tcp +nrpe 5666/tcp +filemq 5670/tcp +zre-disc 5670/udp +amqps 5671/tcp +amqps 5671/udp +amqp 5672/tcp +amqp 5672/udp +amqp 5672/sctp +jms 5673/tcp +jms 5673/udp +hyperscsi-port 5674/tcp +hyperscsi-port 5674/udp +v5ua 5675/tcp +v5ua 5675/udp +v5ua 5675/sctp +raadmin 5676/tcp +raadmin 5676/udp +questdb2-lnchr 5677/tcp +questdb2-lnchr 5677/udp +rrac 5678/tcp +rrac 5678/udp +dccm 5679/tcp +dccm 5679/udp +auriga-router 5680/tcp +auriga-router 5680/udp +ncxcp 5681/tcp +ncxcp 5681/udp +brightcore 5682/udp +coap 5683/tcp +coap 5683/udp +coaps 5684/tcp +coaps 5684/udp +gog-multiplayer 5687/udp +ggz 5688/tcp +ggz 5688/udp +qmvideo 5689/tcp +qmvideo 5689/udp +rbsystem 5693/tcp +kmip 5696/tcp +supportassist 5700/tcp +storageos 5705/tcp +proshareaudio 5713/tcp +proshareaudio 5713/udp +prosharevideo 5714/tcp +prosharevideo 5714/udp +prosharedata 5715/tcp +prosharedata 5715/udp +prosharerequest 5716/tcp +prosharerequest 5716/udp +prosharenotify 5717/tcp +prosharenotify 5717/udp +dpm 5718/tcp +dpm 5718/udp +dpm-agent 5719/tcp +dpm-agent 5719/udp +ms-licensing 5720/tcp +ms-licensing 5720/udp +dtpt 5721/tcp +dtpt 5721/udp +msdfsr 5722/tcp +msdfsr 5722/udp +omhs 5723/tcp +omhs 5723/udp +omsdk 5724/tcp +omsdk 5724/udp +ms-ilm 5725/tcp +ms-ilm-sts 5726/tcp +asgenf 5727/tcp +io-dist-data 5728/tcp +io-dist-group 5728/udp +openmail 5729/tcp +openmail 5729/udp +unieng 5730/tcp +unieng 5730/udp +ida-discover1 5741/tcp +ida-discover1 5741/udp +ida-discover2 5742/tcp +ida-discover2 5742/udp +watchdoc-pod 5743/tcp +watchdoc-pod 5743/udp +watchdoc 5744/tcp +watchdoc 5744/udp +fcopy-server 5745/tcp +fcopy-server 5745/udp +fcopys-server 5746/tcp +fcopys-server 5746/udp +tunatic 5747/tcp +tunatic 5747/udp +tunalyzer 5748/tcp +tunalyzer 5748/udp +rscd 5750/tcp +rscd 5750/udp +openmailg 5755/tcp +openmailg 5755/udp +x500ms 5757/tcp +x500ms 5757/udp +openmailns 5766/tcp +openmailns 5766/udp +s-openmail 5767/tcp +s-openmail 5767/udp +openmailpxy 5768/tcp +openmailpxy 5768/udp +spramsca 5769/tcp +spramsca 5769/udp +spramsd 5770/tcp +spramsd 5770/udp +netagent 5771/tcp +netagent 5771/udp +dali-port 5777/tcp +dali-port 5777/udp +vts-rpc 5780/tcp +3par-evts 5781/tcp +3par-evts 5781/udp +3par-mgmt 5782/tcp +3par-mgmt 5782/udp +3par-mgmt-ssl 5783/tcp +3par-mgmt-ssl 5783/udp +ibar 5784/udp +3par-rcopy 5785/tcp +3par-rcopy 5785/udp +cisco-redu 5786/udp +waascluster 5787/udp +xtreamx 5793/tcp +xtreamx 5793/udp +spdp 5794/udp +icmpd 5813/tcp +icmpd 5813/udp +spt-automation 5814/tcp +spt-automation 5814/udp +shiprush-d-ch 5841/tcp +reversion 5842/tcp +wherehoo 5859/tcp +wherehoo 5859/udp +ppsuitemsg 5863/tcp +ppsuitemsg 5863/udp +diameters 5868/tcp +diameters 5868/sctp +jute 5883/tcp +rfb 5900/tcp +rfb 5900/udp +cm 5910/tcp +cm 5910/udp +cm 5910/sctp +cpdlc 5911/tcp +cpdlc 5911/udp +cpdlc 5911/sctp +fis 5912/tcp +fis 5912/udp +fis 5912/sctp +ads-c 5913/tcp +ads-c 5913/udp +ads-c 5913/sctp +indy 5963/tcp +indy 5963/udp +mppolicy-v5 5968/tcp +mppolicy-v5 5968/udp +mppolicy-mgr 5969/tcp +mppolicy-mgr 5969/udp +couchdb 5984/tcp +couchdb 5984/udp +wsman 5985/tcp +wsman 5985/udp +wsmans 5986/tcp +wsmans 5986/udp +wbem-rmi 5987/tcp +wbem-rmi 5987/udp +wbem-http 5988/tcp +wbem-http 5988/udp +wbem-https 5989/tcp +wbem-https 5989/udp +wbem-exp-https 5990/tcp +wbem-exp-https 5990/udp +nuxsl 5991/tcp +nuxsl 5991/udp +consul-insight 5992/tcp +consul-insight 5992/udp +cim-rs 5993/tcp +cvsup 5999/tcp +cvsup 5999/udp +x11 6000/tcp +x11 6000/udp +ndl-ahp-svc 6064/tcp +ndl-ahp-svc 6064/udp +winpharaoh 6065/tcp +winpharaoh 6065/udp +ewctsp 6066/tcp +ewctsp 6066/udp +gsmp-ancp 6068/tcp +trip 6069/tcp +trip 6069/udp +messageasap 6070/tcp +messageasap 6070/udp +ssdtp 6071/tcp +ssdtp 6071/udp +diagnose-proc 6072/tcp +diagnose-proc 6072/udp +directplay8 6073/tcp +directplay8 6073/udp +max 6074/tcp +max 6074/udp +dpm-acm 6075/tcp +msft-dpm-cert 6076/tcp +iconstructsrv 6077/tcp +gue 6080/udp +geneve 6081/udp +p25cai 6082/udp +miami-bcast 6083/udp +reload-config 6084/tcp +konspire2b 6085/tcp +konspire2b 6085/udp +pdtp 6086/tcp +pdtp 6086/udp +ldss 6087/tcp +ldss 6087/udp +doglms 6088/tcp +doglms-notify 6088/udp +raxa-mgmt 6099/tcp +synchronet-db 6100/tcp +synchronet-db 6100/udp +synchronet-rtc 6101/tcp +synchronet-rtc 6101/udp +synchronet-upd 6102/tcp +synchronet-upd 6102/udp +rets 6103/tcp +rets 6103/udp +dbdb 6104/tcp +dbdb 6104/udp +primaserver 6105/tcp +primaserver 6105/udp +mpsserver 6106/tcp +mpsserver 6106/udp +etc-control 6107/tcp +etc-control 6107/udp +sercomm-scadmin 6108/tcp +sercomm-scadmin 6108/udp +globecast-id 6109/tcp +globecast-id 6109/udp +softcm 6110/tcp +softcm 6110/udp +spc 6111/tcp +spc 6111/udp +dtspcd 6112/tcp +dtspcd 6112/udp +dayliteserver 6113/tcp +wrspice 6114/tcp +xic 6115/tcp +xtlserv 6116/tcp +daylitetouch 6117/tcp +tipc 6118/udp +spdy 6121/tcp +bex-webadmin 6122/tcp +bex-webadmin 6122/udp +backup-express 6123/tcp +backup-express 6123/udp +pnbs 6124/tcp +pnbs 6124/udp +damewaremobgtwy 6130/tcp +nbt-wol 6133/tcp +nbt-wol 6133/udp +pulsonixnls 6140/tcp +pulsonixnls 6140/udp +meta-corp 6141/tcp +meta-corp 6141/udp +aspentec-lm 6142/tcp +aspentec-lm 6142/udp +watershed-lm 6143/tcp +watershed-lm 6143/udp +statsci1-lm 6144/tcp +statsci1-lm 6144/udp +statsci2-lm 6145/tcp +statsci2-lm 6145/udp +lonewolf-lm 6146/tcp +lonewolf-lm 6146/udp +montage-lm 6147/tcp +montage-lm 6147/udp +ricardo-lm 6148/tcp +ricardo-lm 6148/udp +tal-pod 6149/tcp +tal-pod 6149/udp +efb-aci 6159/tcp +ecmp 6160/tcp +ecmp-data 6160/udp +patrol-ism 6161/tcp +patrol-ism 6161/udp +patrol-coll 6162/tcp +patrol-coll 6162/udp +pscribe 6163/tcp +pscribe 6163/udp +lm-x 6200/tcp +lm-x 6200/udp +thermo-calc 6201/udp +qmtps 6209/tcp +qmtps 6209/udp +radmind 6222/tcp +radmind 6222/udp +jeol-nsdtp-1 6241/tcp +jeol-nsddp-1 6241/udp +jeol-nsdtp-2 6242/tcp +jeol-nsddp-2 6242/udp +jeol-nsdtp-3 6243/tcp +jeol-nsddp-3 6243/udp +jeol-nsdtp-4 6244/tcp +jeol-nsddp-4 6244/udp +tl1-raw-ssl 6251/tcp +tl1-raw-ssl 6251/udp +tl1-ssh 6252/tcp +tl1-ssh 6252/udp +crip 6253/tcp +crip 6253/udp +gld 6267/tcp +grid 6268/tcp +grid 6268/udp +grid-alt 6269/tcp +grid-alt 6269/udp +bmc-grx 6300/tcp +bmc-grx 6300/udp +bmc-ctd-ldap 6301/tcp +bmc-ctd-ldap 6301/udp +ufmp 6306/tcp +ufmp 6306/udp +scup 6315/tcp +scup-disc 6315/udp +abb-escp 6316/tcp +abb-escp 6316/udp +nav-data-cmd 6317/tcp +nav-data 6317/udp +repsvc 6320/tcp +repsvc 6320/udp +emp-server1 6321/tcp +emp-server1 6321/udp +emp-server2 6322/tcp +emp-server2 6322/udp +hrd-ncs 6324/tcp +hrd-ns-disc 6324/udp +dt-mgmtsvc 6325/tcp +dt-vra 6326/tcp +sflow 6343/tcp +sflow 6343/udp +streletz 6344/tcp +gnutella-svc 6346/tcp +gnutella-svc 6346/udp +gnutella-rtr 6347/tcp +gnutella-rtr 6347/udp +adap 6350/tcp +adap 6350/udp +pmcs 6355/tcp +pmcs 6355/udp +metaedit-mu 6360/tcp +metaedit-mu 6360/udp +ndn 6363/udp +metaedit-se 6370/tcp +metaedit-se 6370/udp +redis 6379/tcp +metatude-mds 6382/tcp +metatude-mds 6382/udp +clariion-evr01 6389/tcp +clariion-evr01 6389/udp +metaedit-ws 6390/tcp +metaedit-ws 6390/udp +faxcomservice 6417/tcp +faxcomservice 6417/udp +syserverremote 6418/tcp +svdrp 6419/tcp +svdrp-disc 6419/udp +nim-vdrshell 6420/tcp +nim-vdrshell 6420/udp +nim-wan 6421/tcp +nim-wan 6421/udp +pgbouncer 6432/tcp +heliosd 6440/tcp +tarp 6442/tcp +sun-sr-https 6443/tcp +sun-sr-https 6443/udp +sge-qmaster 6444/tcp +sge-qmaster 6444/udp +sge-execd 6445/tcp +sge-execd 6445/udp +mysql-proxy 6446/tcp +mysql-proxy 6446/udp +skip-cert-recv 6455/tcp +skip-cert-recv 6455/udp +skip-cert-send 6456/tcp +skip-cert-send 6456/udp +ieee11073-20701 6464/tcp +ieee11073-20701 6464/udp +lvision-lm 6471/tcp +lvision-lm 6471/udp +sun-sr-http 6480/tcp +sun-sr-http 6480/udp +servicetags 6481/tcp +servicetags 6481/udp +ldoms-mgmt 6482/tcp +ldoms-mgmt 6482/udp +SunVTS-RMI 6483/tcp +SunVTS-RMI 6483/udp +sun-sr-jms 6484/tcp +sun-sr-jms 6484/udp +sun-sr-iiop 6485/tcp +sun-sr-iiop 6485/udp +sun-sr-iiops 6486/tcp +sun-sr-iiops 6486/udp +sun-sr-iiop-aut 6487/tcp +sun-sr-iiop-aut 6487/udp +sun-sr-jmx 6488/tcp +sun-sr-jmx 6488/udp +sun-sr-admin 6489/tcp +sun-sr-admin 6489/udp +boks 6500/tcp +boks 6500/udp +boks-servc 6501/tcp +boks-servc 6501/udp +boks-servm 6502/tcp +boks-servm 6502/udp +boks-clntd 6503/tcp +boks-clntd 6503/udp +badm-priv 6505/tcp +badm-priv 6505/udp +badm-pub 6506/tcp +badm-pub 6506/udp +bdir-priv 6507/tcp +bdir-priv 6507/udp +bdir-pub 6508/tcp +bdir-pub 6508/udp +mgcs-mfp-port 6509/tcp +mgcs-mfp-port 6509/udp +mcer-port 6510/tcp +mcer-port 6510/udp +dccp-udp 6511/udp +netconf-tls 6513/tcp +syslog-tls 6514/tcp +syslog-tls 6514/udp +syslog-tls 6514/dccp +elipse-rec 6515/tcp +elipse-rec 6515/udp +lds-distrib 6543/tcp +lds-distrib 6543/udp +lds-dump 6544/tcp +lds-dump 6544/udp +apc-6547 6547/tcp +apc-6547 6547/udp +apc-6548 6548/tcp +apc-6548 6548/udp +apc-6549 6549/tcp +apc-6549 6549/udp +fg-sysupdate 6550/tcp +fg-sysupdate 6550/udp +sum 6551/tcp +sum 6551/udp +checkmk-agent 6556/tcp +xdsxdm 6558/tcp +xdsxdm 6558/udp +sane-port 6566/tcp +sane-port 6566/udp +canit-store 6568/tcp +rp-reputation 6568/udp +affiliate 6579/tcp +affiliate 6579/udp +parsec-master 6580/tcp +parsec-master 6580/udp +parsec-peer 6581/tcp +parsec-peer 6581/udp +parsec-game 6582/tcp +parsec-game 6582/udp +joaJewelSuite 6583/tcp +joaJewelSuite 6583/udp +mshvlm 6600/tcp +mstmg-sstp 6601/tcp +wsscomfrmwk 6602/tcp +odette-ftps 6619/tcp +odette-ftps 6619/udp +kftp-data 6620/tcp +kftp-data 6620/udp +kftp 6621/tcp +kftp 6621/udp +mcftp 6622/tcp +mcftp 6622/udp +ktelnet 6623/tcp +ktelnet 6623/udp +datascaler-db 6624/tcp +datascaler-ctl 6625/tcp +wago-service 6626/tcp +wago-service 6626/udp +nexgen 6627/tcp +nexgen 6627/udp +afesc-mc 6628/tcp +afesc-mc 6628/udp +nexgen-aux 6629/tcp +nexgen-aux 6629/udp +mxodbc-connect 6632/tcp +cisco-vpath-tun 6633/udp +mpls-pm 6634/udp +mpls-udp 6635/udp +mpls-udp-dtls 6636/udp +ovsdb 6640/tcp +openflow 6653/tcp +openflow 6653/udp +pcs-sf-ui-man 6655/tcp +emgmsg 6656/tcp +palcom-disc 6657/udp +ircu 6665/tcp +vocaltec-gold 6670/tcp +vocaltec-gold 6670/udp +p4p-portal 6671/tcp +p4p-portal 6671/udp +vision-server 6672/tcp +vision-server 6672/udp +vision-elmd 6673/tcp +vision-elmd 6673/udp +vfbp 6678/tcp +vfbp-disc 6678/udp +osaut 6679/tcp +osaut 6679/udp +clever-ctrace 6687/tcp +clever-tcpip 6688/tcp +tsa 6689/tcp +tsa 6689/udp +cleverdetect 6690/tcp +babel 6696/udp +ircs-u 6697/tcp +babel-dtls 6699/udp +kti-icad-srvr 6701/tcp +kti-icad-srvr 6701/udp +e-design-net 6702/tcp +e-design-net 6702/udp +e-design-web 6703/tcp +e-design-web 6703/udp +frc-hp 6704/sctp +frc-mp 6705/sctp +frc-lp 6706/sctp +ibprotocol 6714/tcp +ibprotocol 6714/udp +fibotrader-com 6715/tcp +fibotrader-com 6715/udp +princity-agent 6716/tcp +bmc-perf-agent 6767/tcp +bmc-perf-agent 6767/udp +bmc-perf-mgrd 6768/tcp +bmc-perf-mgrd 6768/udp +adi-gxp-srvprt 6769/tcp +adi-gxp-srvprt 6769/udp +plysrv-http 6770/tcp +plysrv-http 6770/udp +plysrv-https 6771/tcp +plysrv-https 6771/udp +ntz-tracker 6777/tcp +ntz-p2p-storage 6778/tcp +bfd-lag 6784/udp +dgpf-exchg 6785/tcp +dgpf-exchg 6785/udp +smc-jmx 6786/tcp +smc-jmx 6786/udp +smc-admin 6787/tcp +smc-admin 6787/udp +smc-http 6788/tcp +smc-http 6788/udp +radg 6789/tcp +hnmp 6790/tcp +hnmp 6790/udp +hnm 6791/tcp +hnm 6791/udp +acnet 6801/tcp +acnet 6801/udp +pentbox-sim 6817/tcp +ambit-lm 6831/tcp +ambit-lm 6831/udp +netmo-default 6841/tcp +netmo-default 6841/udp +netmo-http 6842/tcp +netmo-http 6842/udp +iccrushmore 6850/tcp +iccrushmore 6850/udp +acctopus-cc 6868/tcp +acctopus-st 6868/udp +muse 6888/tcp +muse 6888/udp +rtimeviewer 6900/tcp +jetstream 6901/tcp +split-ping 6924/tcp +split-ping 6924/udp +ethoscan 6935/tcp +ethoscan 6935/udp +xsmsvc 6936/tcp +xsmsvc 6936/udp +bioserver 6946/tcp +bioserver 6946/udp +otlp 6951/tcp +otlp 6951/udp +jmact3 6961/tcp +jmact3 6961/udp +jmevt2 6962/tcp +jmevt2 6962/udp +swismgr1 6963/tcp +swismgr1 6963/udp +swismgr2 6964/tcp +swismgr2 6964/udp +swistrap 6965/tcp +swistrap 6965/udp +swispol 6966/tcp +swispol 6966/udp +acmsoda 6969/tcp +acmsoda 6969/udp +conductor 6970/tcp +conductor-mpx 6970/sctp +MobilitySrv 6997/tcp +MobilitySrv 6997/udp +iatp-highpri 6998/tcp +iatp-highpri 6998/udp +iatp-normalpri 6999/tcp +iatp-normalpri 6999/udp +afs3-fileserver 7000/tcp +afs3-fileserver 7000/udp +afs3-callback 7001/tcp +afs3-callback 7001/udp +afs3-prserver 7002/tcp +afs3-prserver 7002/udp +afs3-vlserver 7003/tcp +afs3-vlserver 7003/udp +afs3-kaserver 7004/tcp +afs3-kaserver 7004/udp +afs3-volser 7005/tcp +afs3-volser 7005/udp +afs3-errors 7006/tcp +afs3-errors 7006/udp +afs3-bos 7007/tcp +afs3-bos 7007/udp +afs3-update 7008/tcp +afs3-update 7008/udp +afs3-rmtsys 7009/tcp +afs3-rmtsys 7009/udp +ups-onlinet 7010/tcp +ups-onlinet 7010/udp +talon-disc 7011/tcp +talon-disc 7011/udp +talon-engine 7012/tcp +talon-engine 7012/udp +microtalon-dis 7013/tcp +microtalon-dis 7013/udp +microtalon-com 7014/tcp +microtalon-com 7014/udp +talon-webserver 7015/tcp +talon-webserver 7015/udp +spg 7016/tcp +spg 7016/udp +grasp 7017/tcp +grasp 7017/udp +fisa-svc 7018/tcp +doceri-ctl 7019/tcp +doceri-view 7019/udp +dpserve 7020/tcp +dpserve 7020/udp +dpserveadmin 7021/tcp +dpserveadmin 7021/udp +ctdp 7022/tcp +ctdp 7022/udp +ct2nmcs 7023/tcp +ct2nmcs 7023/udp +vmsvc 7024/tcp +vmsvc 7024/udp +vmsvc-2 7025/tcp +vmsvc-2 7025/udp +loreji-panel 7026/tcp +op-probe 7030/tcp +op-probe 7030/udp +iposplanet 7031/tcp +quest-disc 7040/udp +arcp 7070/tcp +arcp 7070/udp +iwg1 7071/tcp +iwg1 7071/udp +iba-cfg 7072/tcp +iba-cfg-disc 7072/udp +martalk 7073/tcp +empowerid 7080/tcp +empowerid 7080/udp +zixi-transport 7088/udp +jdp-disc 7095/udp +lazy-ptop 7099/tcp +lazy-ptop 7099/udp +font-service 7100/tcp +font-service 7100/udp +elcn 7101/tcp +elcn 7101/udp +aes-x170 7107/udp +rothaga 7117/tcp +virprot-lm 7121/tcp +virprot-lm 7121/udp +scenidm 7128/tcp +scenidm 7128/udp +scenccs 7129/tcp +scenccs 7129/udp +cabsm-comm 7161/tcp +cabsm-comm 7161/udp +caistoragemgr 7162/tcp +caistoragemgr 7162/udp +cacsambroker 7163/tcp +cacsambroker 7163/udp +fsr 7164/tcp +fsr 7164/udp +doc-server 7165/tcp +doc-server 7165/udp +aruba-server 7166/tcp +aruba-server 7166/udp +casrmagent 7167/tcp +cnckadserver 7168/tcp +ccag-pib 7169/tcp +ccag-pib 7169/udp +nsrp 7170/tcp +nsrp 7170/udp +drm-production 7171/tcp +drm-production 7171/udp +metalbend 7172/tcp +zsecure 7173/tcp +clutild 7174/tcp +clutild 7174/udp +janus-disc 7181/udp +fodms 7200/tcp +fodms 7200/udp +dlip 7201/tcp +dlip 7201/udp +pon-ictp 7202/tcp +PS-Server 7215/tcp +PS-Capture-Pro 7216/tcp +ramp 7227/tcp +ramp 7227/udp +citrixupp 7228/tcp +citrixuppg 7229/tcp +asa-gateways 7234/tcp +aspcoordination 7235/udp +display 7236/tcp +pads 7237/tcp +frc-hicp 7244/tcp +frc-hicp-disc 7244/udp +cnap 7262/tcp +cnap 7262/udp +watchme-7272 7272/tcp +watchme-7272 7272/udp +oma-rlp 7273/tcp +oma-rlp 7273/udp +oma-rlp-s 7274/tcp +oma-rlp-s 7274/udp +oma-ulp 7275/tcp +oma-ulp 7275/udp +oma-ilp 7276/tcp +oma-ilp 7276/udp +oma-ilp-s 7277/tcp +oma-ilp-s 7277/udp +oma-dcdocbs 7278/tcp +oma-dcdocbs 7278/udp +ctxlic 7279/tcp +ctxlic 7279/udp +itactionserver1 7280/tcp +itactionserver1 7280/udp +itactionserver2 7281/tcp +itactionserver2 7281/udp +mzca-action 7282/tcp +mzca-alert 7282/udp +genstat 7283/tcp +lcm-server 7365/tcp +lcm-server 7365/udp +mindfilesys 7391/tcp +mindfilesys 7391/udp +mrssrendezvous 7392/tcp +mrssrendezvous 7392/udp +nfoldman 7393/tcp +nfoldman 7393/udp +fse 7394/tcp +fse 7394/udp +winqedit 7395/tcp +winqedit 7395/udp +hexarc 7397/tcp +hexarc 7397/udp +rtps-discovery 7400/tcp +rtps-discovery 7400/udp +rtps-dd-ut 7401/tcp +rtps-dd-ut 7401/udp +rtps-dd-mt 7402/tcp +rtps-dd-mt 7402/udp +ionixnetmon 7410/tcp +ionixnetmon 7410/udp +daqstream 7411/tcp +daqstream 7411/udp +ipluminary 7420/udp +mtportmon 7421/tcp +mtportmon 7421/udp +pmdmgr 7426/tcp +pmdmgr 7426/udp +oveadmgr 7427/tcp +oveadmgr 7427/udp +ovladmgr 7428/tcp +ovladmgr 7428/udp +opi-sock 7429/tcp +opi-sock 7429/udp +xmpv7 7430/tcp +xmpv7 7430/udp +pmd 7431/tcp +pmd 7431/udp +faximum 7437/tcp +faximum 7437/udp +oracleas-https 7443/tcp +oracleas-https 7443/udp +sttunnel 7471/tcp +rise 7473/tcp +rise 7473/udp +neo4j 7474/tcp +openit 7478/tcp +telops-lmd 7491/tcp +telops-lmd 7491/udp +silhouette 7500/tcp +silhouette 7500/udp +ovbus 7501/tcp +ovbus 7501/udp +adcp 7508/tcp +acplt 7509/tcp +ovhpas 7510/tcp +ovhpas 7510/udp +pafec-lm 7511/tcp +pafec-lm 7511/udp +saratoga 7542/tcp +saratoga 7542/udp +atul 7543/tcp +atul 7543/udp +nta-ds 7544/tcp +nta-ds 7544/udp +nta-us 7545/tcp +nta-us 7545/udp +cfs 7546/tcp +cfs 7546/udp +cwmp 7547/tcp +cwmp 7547/udp +tidp 7548/tcp +tidp 7548/udp +nls-tl 7549/tcp +nls-tl 7549/udp +cloudsignaling 7550/udp +controlone-con 7551/tcp +sncp 7560/tcp +sncp 7560/udp +cfw 7563/tcp +vsi-omega 7566/tcp +vsi-omega 7566/udp +dell-eql-asm 7569/tcp +aries-kfinder 7570/tcp +aries-kfinder 7570/udp +coherence 7574/tcp +coherence-disc 7574/udp +sun-lm 7588/tcp +sun-lm 7588/udp +mipi-debug 7606/tcp +mipi-debug 7606/udp +indi 7624/tcp +indi 7624/udp +simco 7626/tcp +simco 7626/sctp +soap-http 7627/tcp +soap-http 7627/udp +zen-pawn 7628/tcp +zen-pawn 7628/udp +xdas 7629/tcp +xdas 7629/udp +hawk 7630/tcp +tesla-sys-msg 7631/tcp +pmdfmgt 7633/tcp +pmdfmgt 7633/udp +cuseeme 7648/tcp +cuseeme 7648/udp +rome 7663/tcp +rome 7663/udp +imqstomp 7672/tcp +imqstomps 7673/tcp +imqtunnels 7674/tcp +imqtunnels 7674/udp +imqtunnel 7675/tcp +imqtunnel 7675/udp +imqbrokerd 7676/tcp +imqbrokerd 7676/udp +sun-user-https 7677/tcp +sun-user-https 7677/udp +pando-pub 7680/tcp +pando-pub 7680/udp +dmt 7683/tcp +bolt 7687/tcp +collaber 7689/tcp +collaber 7689/udp +klio 7697/tcp +klio 7697/udp +em7-secom 7700/tcp +nfapi 7701/sctp +sync-em7 7707/tcp +sync-em7 7707/udp +scinet 7708/tcp +scinet 7708/udp +medimageportal 7720/tcp +medimageportal 7720/udp +nsdeepfreezectl 7724/tcp +nsdeepfreezectl 7724/udp +nitrogen 7725/tcp +nitrogen 7725/udp +freezexservice 7726/tcp +freezexservice 7726/udp +trident-data 7727/tcp +trident-data 7727/udp +osvr 7728/tcp +osvr 7728/udp +osvr 7728/sctp +smip 7734/tcp +smip 7734/udp +aiagent 7738/tcp +aiagent 7738/udp +scriptview 7741/tcp +scriptview 7741/udp +msss 7742/tcp +sstp-1 7743/tcp +sstp-1 7743/udp +raqmon-pdu 7744/tcp +raqmon-pdu 7744/udp +prgp 7747/tcp +prgp 7747/udp +inetfs 7775/tcp +cbt 7777/tcp +cbt 7777/udp +interwise 7778/tcp +interwise 7778/udp +vstat 7779/tcp +vstat 7779/udp +accu-lmgr 7781/tcp +accu-lmgr 7781/udp +s-bfd 7784/udp +minivend 7786/tcp +minivend 7786/udp +popup-reminders 7787/tcp +popup-reminders 7787/udp +office-tools 7789/tcp +office-tools 7789/udp +q3ade 7794/tcp +q3ade 7794/udp +pnet-conn 7797/tcp +pnet-conn 7797/udp +pnet-enc 7798/tcp +pnet-enc 7798/udp +altbsdp 7799/tcp +altbsdp 7799/udp +asr 7800/tcp +asr 7800/udp +ssp-client 7801/tcp +ssp-client 7801/udp +vns-tp 7802/udp +rbt-wanopt 7810/tcp +rbt-wanopt 7810/udp +apc-7845 7845/tcp +apc-7845 7845/udp +apc-7846 7846/tcp +apc-7846 7846/udp +csoauth 7847/tcp +mobileanalyzer 7869/tcp +rbt-smc 7870/tcp +mdm 7871/tcp +mipv6tls 7872/udp +owms 7878/tcp +pss 7880/tcp +pss 7880/udp +ubroker 7887/tcp +ubroker 7887/udp +mevent 7900/tcp +mevent 7900/udp +tnos-sp 7901/tcp +tnos-sp 7901/udp +tnos-dp 7902/tcp +tnos-dp 7902/udp +tnos-dps 7903/tcp +tnos-dps 7903/udp +qo-secure 7913/tcp +qo-secure 7913/udp +t2-drm 7932/tcp +t2-drm 7932/udp +t2-brm 7933/tcp +t2-brm 7933/udp +generalsync 7962/tcp +generalsync 7962/udp +supercell 7967/tcp +supercell 7967/udp +micromuse-ncps 7979/tcp +micromuse-ncps 7979/udp +quest-vista 7980/tcp +quest-vista 7980/udp +sossd-collect 7981/tcp +sossd-agent 7982/tcp +sossd-disc 7982/udp +pushns 7997/tcp +usicontentpush 7998/udp +irdmi2 7999/tcp +irdmi2 7999/udp +irdmi 8000/tcp +irdmi 8000/udp +vcom-tunnel 8001/tcp +vcom-tunnel 8001/udp +teradataordbms 8002/tcp +teradataordbms 8002/udp +mcreport 8003/tcp +mcreport 8003/udp +p2pevolvenet 8004/tcp +mxi 8005/tcp +mxi 8005/udp +wpl-analytics 8006/tcp +wpl-disc 8006/udp +warppipe 8007/tcp +warppipe 8007/udp +http-alt 8008/tcp +http-alt 8008/udp +nvme-disc 8009/tcp +cfg-cloud 8015/tcp +ads-s 8016/tcp +qbdb 8019/tcp +qbdb 8019/udp +intu-ec-svcdisc 8020/tcp +intu-ec-svcdisc 8020/udp +intu-ec-client 8021/tcp +intu-ec-client 8021/udp +oa-system 8022/tcp +oa-system 8022/udp +arca-api 8023/tcp +arca-api 8023/udp +ca-audit-da 8025/tcp +ca-audit-da 8025/udp +ca-audit-ds 8026/tcp +ca-audit-ds 8026/udp +pro-ed 8032/tcp +pro-ed 8032/udp +mindprint 8033/tcp +mindprint 8033/udp +vantronix-mgmt 8034/tcp +vantronix-mgmt 8034/udp +ampify 8040/tcp +ampify 8040/udp +enguity-xccetp 8041/tcp +enguity-xccetp 8041/udp +fs-agent 8042/tcp +fs-server 8043/tcp +fs-mgmt 8044/tcp +rocrail 8051/tcp +senomix01 8052/tcp +senomix01 8052/udp +senomix02 8053/tcp +senomix02 8053/udp +senomix03 8054/tcp +senomix03 8054/udp +senomix04 8055/tcp +senomix04 8055/udp +senomix05 8056/tcp +senomix05 8056/udp +senomix06 8057/tcp +senomix06 8057/udp +senomix07 8058/tcp +senomix07 8058/udp +senomix08 8059/tcp +senomix08 8059/udp +aero 8060/udp +toad-bi-appsrvr 8066/tcp +infi-async 8067/tcp +ucs-isc 8070/tcp +gadugadu 8074/tcp +gadugadu 8074/udp +mles 8077/tcp +http-alt 8080/tcp +http-alt 8080/udp +sunproxyadmin 8081/tcp +sunproxyadmin 8081/udp +us-cli 8082/tcp +us-cli 8082/udp +us-srv 8083/tcp +us-srv 8083/udp +websnp 8084/tcp +d-s-n 8086/tcp +d-s-n 8086/udp +simplifymedia 8087/tcp +simplifymedia 8087/udp +radan-http 8088/tcp +radan-http 8088/udp +opsmessaging 8090/tcp +jamlink 8091/tcp +sac 8097/tcp +sac 8097/udp +xprint-server 8100/tcp +xprint-server 8100/udp +ldoms-migr 8101/tcp +kz-migr 8102/tcp +skynetflow 8111/udp +mtl8000-matrix 8115/tcp +mtl8000-matrix 8115/udp +cp-cluster 8116/tcp +cp-cluster 8116/udp +purityrpc 8117/tcp +privoxy 8118/tcp +privoxy 8118/udp +apollo-data 8121/tcp +apollo-data 8121/udp +apollo-admin 8122/tcp +apollo-admin 8122/udp +paycash-online 8128/tcp +paycash-online 8128/udp +paycash-wbp 8129/tcp +paycash-wbp 8129/udp +indigo-vrmi 8130/tcp +indigo-vrmi 8130/udp +indigo-vbcp 8131/tcp +indigo-vbcp 8131/udp +dbabble 8132/tcp +dbabble 8132/udp +puppet 8140/tcp +isdd 8148/tcp +isdd 8148/udp +eor-game 8149/udp +quantastor 8153/tcp +patrol 8160/tcp +patrol 8160/udp +patrol-snmp 8161/tcp +patrol-snmp 8161/udp +lpar2rrd 8162/tcp +intermapper 8181/tcp +vmware-fdm 8182/tcp +vmware-fdm 8182/udp +proremote 8183/tcp +itach 8184/tcp +itach 8184/udp +gcp-rphy 8190/tcp +limnerpressure 8191/tcp +spytechphone 8192/tcp +spytechphone 8192/udp +blp1 8194/tcp +blp1 8194/udp +blp2 8195/tcp +blp2 8195/udp +vvr-data 8199/tcp +vvr-data 8199/udp +trivnet1 8200/tcp +trivnet1 8200/udp +trivnet2 8201/tcp +trivnet2 8201/udp +aesop 8202/udp +lm-perfworks 8204/tcp +lm-perfworks 8204/udp +lm-instmgr 8205/tcp +lm-instmgr 8205/udp +lm-dta 8206/tcp +lm-dta 8206/udp +lm-sserver 8207/tcp +lm-sserver 8207/udp +lm-webwatcher 8208/tcp +lm-webwatcher 8208/udp +aruba-papi 8211/udp +rexecj 8230/tcp +rexecj 8230/udp +hncp-udp-port 8231/udp +hncp-dtls-port 8232/udp +synapse-nhttps 8243/tcp +synapse-nhttps 8243/udp +espeasy-p2p 8266/udp +robot-remote 8270/tcp +pando-sec 8276/tcp +pando-sec 8276/udp +synapse-nhttp 8280/tcp +synapse-nhttp 8280/udp +libelle 8282/tcp +libelle-disc 8282/udp +blp3 8292/tcp +blp3 8292/udp +hiperscan-id 8293/tcp +blp4 8294/tcp +blp4 8294/udp +tmi 8300/tcp +tmi 8300/udp +amberon 8301/tcp +amberon 8301/udp +hub-open-net 8313/tcp +tnp-discover 8320/tcp +tnp-discover 8320/udp +tnp 8321/tcp +tnp 8321/udp +garmin-marine 8322/tcp +garmin-marine 8322/udp +server-find 8351/tcp +server-find 8351/udp +cruise-enum 8376/tcp +cruise-enum 8376/udp +cruise-swroute 8377/tcp +cruise-swroute 8377/udp +cruise-config 8378/tcp +cruise-config 8378/udp +cruise-diags 8379/tcp +cruise-diags 8379/udp +cruise-update 8380/tcp +cruise-update 8380/udp +m2mservices 8383/tcp +m2mservices 8383/udp +marathontp 8384/udp +cvd 8400/tcp +cvd 8400/udp +sabarsd 8401/tcp +sabarsd 8401/udp +abarsd 8402/tcp +abarsd 8402/udp +admind 8403/tcp +admind 8403/udp +svcloud 8404/tcp +svbackup 8405/tcp +dlpx-sp 8415/tcp +espeech 8416/tcp +espeech 8416/udp +espeech-rtp 8417/tcp +espeech-rtp 8417/udp +aritts 8423/tcp +cybro-a-bus 8442/tcp +cybro-a-bus 8442/udp +pcsync-https 8443/tcp +pcsync-https 8443/udp +pcsync-http 8444/tcp +pcsync-http 8444/udp +copy 8445/tcp +copy-disc 8445/udp +npmp 8450/tcp +npmp 8450/udp +nexentamv 8457/tcp +cisco-avp 8470/tcp +pim-port 8471/tcp +pim-port 8471/sctp +otv 8472/tcp +otv 8472/udp +vp2p 8473/tcp +vp2p 8473/udp +noteshare 8474/tcp +noteshare 8474/udp +fmtp 8500/tcp +fmtp 8500/udp +cmtp-mgt 8501/tcp +cmtp-av 8501/udp +ftnmtp 8502/tcp +lsp-self-ping 8503/udp +rtsp-alt 8554/tcp +rtsp-alt 8554/udp +d-fence 8555/tcp +d-fence 8555/udp +dof-tunnel 8567/tcp +dof-tunnel 8567/udp +asterix 8600/tcp +asterix 8600/udp +canon-cpp-disc 8609/udp +canon-mfnp 8610/tcp +canon-mfnp 8610/udp +canon-bjnp1 8611/tcp +canon-bjnp1 8611/udp +canon-bjnp2 8612/tcp +canon-bjnp2 8612/udp +canon-bjnp3 8613/tcp +canon-bjnp3 8613/udp +canon-bjnp4 8614/tcp +canon-bjnp4 8614/udp +imink 8615/tcp +monetra 8665/tcp +monetra-admin 8666/tcp +msi-cps-rm 8675/tcp +msi-cps-rm-disc 8675/udp +sun-as-jmxrmi 8686/tcp +sun-as-jmxrmi 8686/udp +openremote-ctrl 8688/tcp +vnyx 8699/tcp +semi-grpc 8710/tcp +nvc 8711/tcp +dtp-net 8732/udp +ibus 8733/tcp +ibus 8733/udp +dey-keyneg 8750/tcp +mc-appserver 8763/tcp +mc-appserver 8763/udp +openqueue 8764/tcp +openqueue 8764/udp +ultraseek-http 8765/tcp +ultraseek-http 8765/udp +amcs 8766/tcp +amcs 8766/udp +core-of-source 8767/tcp +sandpolis 8768/tcp +oktaauthenticat 8769/tcp +dpap 8770/tcp +dpap 8770/udp +uec 8778/tcp +msgclnt 8786/tcp +msgclnt 8786/udp +msgsrvr 8787/tcp +msgsrvr 8787/udp +acd-pm 8793/tcp +acd-pm 8793/udp +sunwebadmin 8800/tcp +sunwebadmin 8800/udp +truecm 8804/tcp +truecm 8804/udp +pfcp 8805/udp +hes-clip 8807/udp +ssports-bcast 8808/udp +3gpp-monp 8809/udp +dxspider 8873/tcp +dxspider 8873/udp +cddbp-alt 8880/tcp +cddbp-alt 8880/udp +galaxy4d 8881/tcp +secure-mqtt 8883/tcp +secure-mqtt 8883/udp +ddi-tcp-1 8888/tcp +ddi-udp-1 8888/udp +ddi-tcp-2 8889/tcp +ddi-udp-2 8889/udp +ddi-tcp-3 8890/tcp +ddi-udp-3 8890/udp +ddi-tcp-4 8891/tcp +ddi-udp-4 8891/udp +ddi-tcp-5 8892/tcp +ddi-udp-5 8892/udp +ddi-tcp-6 8893/tcp +ddi-udp-6 8893/udp +ddi-tcp-7 8894/tcp +ddi-udp-7 8894/udp +ospf-lite 8899/tcp +ospf-lite 8899/udp +jmb-cds1 8900/tcp +jmb-cds1 8900/udp +jmb-cds2 8901/tcp +jmb-cds2 8901/udp +manyone-http 8910/tcp +manyone-http 8910/udp +manyone-xml 8911/tcp +manyone-xml 8911/udp +wcbackup 8912/tcp +wcbackup 8912/udp +dragonfly 8913/tcp +dragonfly 8913/udp +twds 8937/tcp +ub-dns-control 8953/tcp +cumulus-admin 8954/tcp +cumulus-admin 8954/udp +nod-provider 8980/tcp +nod-provider 8980/udp +nod-client 8981/udp +sunwebadmins 8989/tcp +sunwebadmins 8989/udp +http-wmap 8990/tcp +http-wmap 8990/udp +https-wmap 8991/tcp +https-wmap 8991/udp +oracle-ms-ens 8997/tcp +canto-roboflow 8998/tcp +bctp 8999/tcp +bctp 8999/udp +cslistener 9000/tcp +cslistener 9000/udp +etlservicemgr 9001/tcp +etlservicemgr 9001/udp +dynamid 9002/tcp +dynamid 9002/udp +golem 9005/tcp +ogs-client 9007/udp +ogs-server 9008/tcp +pichat 9009/tcp +pichat 9009/udp +sdr 9010/tcp +d-star 9011/udp +tambora 9020/tcp +tambora 9020/udp +panagolin-ident 9021/tcp +panagolin-ident 9021/udp +paragent 9022/tcp +paragent 9022/udp +swa-1 9023/tcp +swa-1 9023/udp +swa-2 9024/tcp +swa-2 9024/udp +swa-3 9025/tcp +swa-3 9025/udp +swa-4 9026/tcp +swa-4 9026/udp +versiera 9050/tcp +fio-cmgmt 9051/tcp +CardWeb-IO 9060/tcp +CardWeb-RT 9060/udp +glrpc 9080/tcp +glrpc 9080/udp +cisco-aqos 9081/udp +lcs-ap 9082/sctp +emc-pp-mgmtsvc 9083/tcp +aurora 9084/tcp +aurora 9084/udp +aurora 9084/sctp +ibm-rsyscon 9085/tcp +ibm-rsyscon 9085/udp +net2display 9086/tcp +net2display 9086/udp +classic 9087/tcp +classic 9087/udp +sqlexec 9088/tcp +sqlexec 9088/udp +sqlexec-ssl 9089/tcp +sqlexec-ssl 9089/udp +websm 9090/tcp +websm 9090/udp +xmltec-xmlmail 9091/tcp +xmltec-xmlmail 9091/udp +XmlIpcRegSvc 9092/tcp +XmlIpcRegSvc 9092/udp +copycat 9093/tcp +hp-pdl-datastr 9100/tcp +hp-pdl-datastr 9100/udp +pdl-datastream 9100/tcp +pdl-datastream 9100/udp +bacula-dir 9101/tcp +bacula-dir 9101/udp +bacula-fd 9102/tcp +bacula-fd 9102/udp +bacula-sd 9103/tcp +bacula-sd 9103/udp +peerwire 9104/tcp +peerwire 9104/udp +xadmin 9105/tcp +xadmin 9105/udp +astergate 9106/tcp +astergate-disc 9106/udp +astergatefax 9107/tcp +hexxorecore 9111/tcp +hexxorecore 9111/udp +mxit 9119/tcp +mxit 9119/udp +grcmp 9122/tcp +grcp 9123/tcp +dddp 9131/tcp +dddp 9131/udp +apani1 9160/tcp +apani1 9160/udp +apani2 9161/tcp +apani2 9161/udp +apani3 9162/tcp +apani3 9162/udp +apani4 9163/tcp +apani4 9163/udp +apani5 9164/tcp +apani5 9164/udp +sun-as-jpda 9191/tcp +sun-as-jpda 9191/udp +wap-wsp 9200/tcp +wap-wsp 9200/udp +wap-wsp-wtp 9201/tcp +wap-wsp-wtp 9201/udp +wap-wsp-s 9202/tcp +wap-wsp-s 9202/udp +wap-wsp-wtp-s 9203/tcp +wap-wsp-wtp-s 9203/udp +wap-vcard 9204/tcp +wap-vcard 9204/udp +wap-vcal 9205/tcp +wap-vcal 9205/udp +wap-vcard-s 9206/tcp +wap-vcard-s 9206/udp +wap-vcal-s 9207/tcp +wap-vcal-s 9207/udp +rjcdb-vcards 9208/tcp +rjcdb-vcards 9208/udp +almobile-system 9209/tcp +almobile-system 9209/udp +oma-mlp 9210/tcp +oma-mlp 9210/udp +oma-mlp-s 9211/tcp +oma-mlp-s 9211/udp +serverviewdbms 9212/tcp +serverviewdbms 9212/udp +serverstart 9213/tcp +serverstart 9213/udp +ipdcesgbs 9214/tcp +ipdcesgbs 9214/udp +insis 9215/tcp +insis 9215/udp +acme 9216/tcp +acme 9216/udp +fsc-port 9217/tcp +fsc-port 9217/udp +teamcoherence 9222/tcp +teamcoherence 9222/udp +mon 9255/tcp +mon 9255/udp +traingpsdata 9277/udp +pegasus 9278/tcp +pegasus 9278/udp +pegasus-ctl 9279/tcp +pegasus-ctl 9279/udp +pgps 9280/tcp +pgps 9280/udp +swtp-port1 9281/tcp +swtp-port1 9281/udp +swtp-port2 9282/tcp +swtp-port2 9282/udp +callwaveiam 9283/tcp +callwaveiam 9283/udp +visd 9284/tcp +visd 9284/udp +n2h2server 9285/tcp +n2h2server 9285/udp +n2receive 9286/udp +cumulus 9287/tcp +cumulus 9287/udp +armtechdaemon 9292/tcp +armtechdaemon 9292/udp +storview 9293/tcp +storview 9293/udp +armcenterhttp 9294/tcp +armcenterhttp 9294/udp +armcenterhttps 9295/tcp +armcenterhttps 9295/udp +vrace 9300/tcp +vrace 9300/udp +sphinxql 9306/tcp +sapms 9310/tcp +sphinxapi 9312/tcp +secure-ts 9318/tcp +secure-ts 9318/udp +guibase 9321/tcp +guibase 9321/udp +gnmi-gnoi 9339/tcp +mpidcmgr 9343/tcp +mpidcmgr 9343/udp +mphlpdmc 9344/tcp +mphlpdmc 9344/udp +rancher 9345/tcp +ctechlicensing 9346/tcp +ctechlicensing 9346/udp +fjdmimgr 9374/tcp +fjdmimgr 9374/udp +boxp 9380/tcp +boxp 9380/udp +d2dconfig 9387/tcp +d2ddatatrans 9388/tcp +adws 9389/tcp +otp 9390/tcp +fjinvmgr 9396/tcp +fjinvmgr 9396/udp +mpidcagt 9397/tcp +mpidcagt 9397/udp +sec-t4net-srv 9400/tcp +sec-t4net-srv 9400/udp +sec-t4net-clt 9401/tcp +sec-t4net-clt 9401/udp +sec-pc2fax-srv 9402/tcp +sec-pc2fax-srv 9402/udp +git 9418/tcp +git 9418/udp +tungsten-https 9443/tcp +tungsten-https 9443/udp +wso2esb-console 9444/tcp +wso2esb-console 9444/udp +mindarray-ca 9445/tcp +sntlkeyssrvr 9450/tcp +sntlkeyssrvr 9450/udp +ismserver 9500/tcp +ismserver 9500/udp +sma-spw 9522/udp +mngsuite 9535/tcp +mngsuite 9535/udp +laes-bf 9536/tcp +laes-bf 9536/udp +trispen-sra 9555/tcp +trispen-sra 9555/udp +ldgateway 9592/tcp +ldgateway 9592/udp +cba8 9593/tcp +cba8 9593/udp +msgsys 9594/tcp +msgsys 9594/udp +pds 9595/tcp +pds 9595/udp +mercury-disc 9596/tcp +mercury-disc 9596/udp +pd-admin 9597/tcp +pd-admin 9597/udp +vscp 9598/tcp +vscp 9598/udp +robix 9599/tcp +robix 9599/udp +micromuse-ncpw 9600/tcp +micromuse-ncpw 9600/udp +streamcomm-ds 9612/tcp +streamcomm-ds 9612/udp +iadt-tls 9614/tcp +erunbook-agent 9616/tcp +erunbook-server 9617/tcp +condor 9618/tcp +condor 9618/udp +odbcpathway 9628/tcp +odbcpathway 9628/udp +uniport 9629/tcp +uniport 9629/udp +peoctlr 9630/tcp +peocoll 9631/tcp +mc-comm 9632/udp +pqsflows 9640/tcp +zoomcp 9666/tcp +xmms2 9667/tcp +xmms2 9667/udp +tec5-sdctp 9668/tcp +tec5-sdctp 9668/udp +client-wakeup 9694/tcp +client-wakeup 9694/udp +ccnx 9695/tcp +ccnx 9695/udp +board-roar 9700/tcp +board-roar 9700/udp +l5nas-parchan 9747/tcp +l5nas-parchan 9747/udp +board-voip 9750/tcp +board-voip 9750/udp +rasadv 9753/tcp +rasadv 9753/udp +tungsten-http 9762/tcp +tungsten-http 9762/udp +davsrc 9800/tcp +davsrc 9800/udp +sstp-2 9801/tcp +sstp-2 9801/udp +davsrcs 9802/tcp +davsrcs 9802/udp +sapv1 9875/tcp +sapv1 9875/udp +sd 9876/tcp +x510 9877/tcp +kca-service 9878/udp +cyborg-systems 9888/tcp +cyborg-systems 9888/udp +gt-proxy 9889/tcp +gt-proxy 9889/udp +monkeycom 9898/tcp +monkeycom 9898/udp +sctp-tunneling 9899/udp +iua 9900/tcp +iua 9900/udp +iua 9900/sctp +enrp 9901/udp +enrp-sctp 9901/sctp +enrp-sctp-tls 9902/sctp +multicast-ping 9903/udp +domaintime 9909/tcp +domaintime 9909/udp +sype-transport 9911/tcp +sype-transport 9911/udp +xybrid-cloud 9925/tcp +apc-9950 9950/tcp +apc-9950 9950/udp +apc-9951 9951/tcp +apc-9951 9951/udp +apc-9952 9952/tcp +apc-9952 9952/udp +acis 9953/tcp +acis 9953/udp +hinp 9954/tcp +alljoyn-stm 9955/tcp +alljoyn-mcm 9955/udp +alljoyn 9956/udp +odnsp 9966/tcp +odnsp 9966/udp +xybrid-rt 9978/tcp +visweather 9979/tcp +pumpkindb 9981/tcp +dsm-scm-target 9987/tcp +dsm-scm-target 9987/udp +nsesrvr 9988/tcp +osm-appsrvr 9990/tcp +osm-appsrvr 9990/udp +osm-oev 9991/tcp +osm-oev 9991/udp +palace-1 9992/tcp +palace-1 9992/udp +palace-2 9993/tcp +palace-2 9993/udp +palace-3 9994/tcp +palace-3 9994/udp +palace-4 9995/tcp +palace-4 9995/udp +palace-5 9996/tcp +palace-5 9996/udp +palace-6 9997/tcp +palace-6 9997/udp +distinct32 9998/tcp +distinct32 9998/udp +distinct 9999/tcp +distinct 9999/udp +ndmp 10000/tcp +ndmp 10000/udp +scp-config 10001/tcp +scp-config 10001/udp +documentum 10002/tcp +documentum 10002/udp +documentum-s 10003/tcp +documentum-s 10003/udp +emcrmirccd 10004/tcp +emcrmird 10005/tcp +netapp-sync 10006/tcp +mvs-capacity 10007/tcp +mvs-capacity 10007/udp +octopus 10008/tcp +octopus 10008/udp +swdtp-sv 10009/tcp +swdtp-sv 10009/udp +rxapi 10010/tcp +abb-hw 10020/tcp +cefd-vmp 10023/udp +zabbix-agent 10050/tcp +zabbix-agent 10050/udp +zabbix-trapper 10051/tcp +zabbix-trapper 10051/udp +qptlmd 10055/tcp +amanda 10080/tcp +amanda 10080/udp +famdc 10081/tcp +famdc 10081/udp +itap-ddtp 10100/tcp +itap-ddtp 10100/udp +ezmeeting-2 10101/tcp +ezmeeting-2 10101/udp +ezproxy-2 10102/tcp +ezproxy-2 10102/udp +ezrelay 10103/tcp +ezrelay 10103/udp +swdtp 10104/tcp +swdtp 10104/udp +bctp-server 10107/tcp +bctp-server 10107/udp +nmea-0183 10110/tcp +nmea-0183 10110/udp +nmea-onenet 10111/udp +netiq-endpoint 10113/tcp +netiq-endpoint 10113/udp +netiq-qcheck 10114/tcp +netiq-qcheck 10114/udp +netiq-endpt 10115/tcp +netiq-endpt 10115/udp +netiq-voipa 10116/tcp +netiq-voipa 10116/udp +iqrm 10117/tcp +iqrm 10117/udp +cimple 10125/tcp +bmc-perf-sd 10128/tcp +bmc-perf-sd 10128/udp +bmc-gms 10129/tcp +qb-db-server 10160/tcp +qb-db-server 10160/udp +snmptls 10161/tcp +snmpdtls 10161/udp +snmptls-trap 10162/tcp +snmpdtls-trap 10162/udp +trisoap 10200/tcp +trisoap 10200/udp +rsms 10201/tcp +rscs 10201/udp +apollo-relay 10252/tcp +apollo-relay 10252/udp +eapol-relay 10253/udp +axis-wimp-port 10260/tcp +axis-wimp-port 10260/udp +tile-ml 10261/tcp +blocks 10288/tcp +blocks 10288/udp +cosir 10321/tcp +bngsync 10439/udp +cirrossp 10443/tcp +hip-nat-t 10500/udp +MOS-lower 10540/tcp +MOS-lower 10540/udp +MOS-upper 10541/tcp +MOS-upper 10541/udp +MOS-aux 10542/tcp +MOS-aux 10542/udp +MOS-soap 10543/tcp +MOS-soap 10543/udp +MOS-soap-opt 10544/tcp +MOS-soap-opt 10544/udp +serverdocs 10548/tcp +printopia 10631/tcp +gap 10800/tcp +gap 10800/udp +lpdg 10805/tcp +lpdg 10805/udp +nbd 10809/tcp +nmc-disc 10810/udp +helix 10860/tcp +helix 10860/udp +bveapi 10880/tcp +bveapi 10880/udp +octopustentacle 10933/tcp +rmiaux 10990/tcp +rmiaux 10990/udp +irisa 11000/tcp +irisa 11000/udp +metasys 11001/tcp +metasys 11001/udp +weave 11095/tcp +weave 11095/udp +origo-sync 11103/tcp +netapp-icmgmt 11104/tcp +netapp-icdata 11105/tcp +sgi-lk 11106/tcp +sgi-lk 11106/udp +myq-termlink 11108/udp +sgi-dmfmgr 11109/tcp +sgi-soap 11110/tcp +vce 11111/tcp +vce 11111/udp +dicom 11112/tcp +dicom 11112/udp +suncacao-snmp 11161/tcp +suncacao-snmp 11161/udp +suncacao-jmxmp 11162/tcp +suncacao-jmxmp 11162/udp +suncacao-rmi 11163/tcp +suncacao-rmi 11163/udp +suncacao-csa 11164/tcp +suncacao-csa 11164/udp +suncacao-websvc 11165/tcp +suncacao-websvc 11165/udp +snss 11171/udp +oemcacao-jmxmp 11172/tcp +t5-straton 11173/tcp +oemcacao-rmi 11174/tcp +oemcacao-websvc 11175/tcp +smsqp 11201/tcp +smsqp 11201/udp +dcsl-backup 11202/tcp +wifree 11208/tcp +wifree 11208/udp +memcache 11211/tcp +memcache 11211/udp +imip 11319/tcp +imip 11319/udp +imip-channels 11320/tcp +imip-channels 11320/udp +arena-server 11321/tcp +arena-server 11321/udp +atm-uhas 11367/tcp +atm-uhas 11367/udp +hkp 11371/tcp +hkp 11371/udp +lsdp 11430/udp +asgcypresstcps 11489/tcp +tempest-port 11600/tcp +tempest-port 11600/udp +emc-xsw-dconfig 11623/tcp +h323callsigalt 11720/tcp +h323callsigalt 11720/udp +emc-xsw-dcache 11723/tcp +emc-xsw-dcache 11723/udp +intrepid-ssl 11751/tcp +intrepid-ssl 11751/udp +lanschool 11796/tcp +lanschool-mpt 11796/udp +xoraya 11876/tcp +xoraya 11876/udp +x2e-disc 11877/udp +sysinfo-sp 11967/tcp +sysinfo-sp 11967/udp +tibsd 11971/tcp +wmereceiving 11997/sctp +wmedistribution 11998/sctp +wmereporting 11999/sctp +entextxid 12000/tcp +entextxid 12000/udp +entextnetwk 12001/tcp +entextnetwk 12001/udp +entexthigh 12002/tcp +entexthigh 12002/udp +entextmed 12003/tcp +entextmed 12003/udp +entextlow 12004/tcp +entextlow 12004/udp +dbisamserver1 12005/tcp +dbisamserver1 12005/udp +dbisamserver2 12006/tcp +dbisamserver2 12006/udp +accuracer 12007/tcp +accuracer 12007/udp +accuracer-dbms 12008/tcp +accuracer-dbms 12008/udp +ghvpn 12009/udp +edbsrvr 12010/tcp +vipera 12012/tcp +vipera 12012/udp +vipera-ssl 12013/tcp +vipera-ssl 12013/udp +rets-ssl 12109/tcp +rets-ssl 12109/udp +nupaper-ss 12121/tcp +nupaper-ss 12121/udp +cawas 12168/tcp +cawas 12168/udp +hivep 12172/tcp +hivep 12172/udp +linogridengine 12300/tcp +linogridengine 12300/udp +rads 12302/tcp +warehouse-sss 12321/tcp +warehouse-sss 12321/udp +warehouse 12322/tcp +warehouse 12322/udp +italk 12345/tcp +italk 12345/udp +tsaf 12753/tcp +tsaf 12753/udp +netperf 12865/tcp +i-zipqd 13160/tcp +i-zipqd 13160/udp +bcslogc 13216/tcp +bcslogc 13216/udp +rs-pias 13217/tcp +rs-pias 13217/udp +emc-vcas-tcp 13218/tcp +emc-vcas-udp 13218/udp +powwow-client 13223/tcp +powwow-client 13223/udp +powwow-server 13224/tcp +powwow-server 13224/udp +doip-data 13400/tcp +doip-disc 13400/udp +bprd 13720/tcp +bprd 13720/udp +bpdbm 13721/tcp +bpdbm 13721/udp +bpjava-msvc 13722/tcp +bpjava-msvc 13722/udp +vnetd 13724/tcp +vnetd 13724/udp +bpcd 13782/tcp +bpcd 13782/udp +vopied 13783/tcp +vopied 13783/udp +nbdb 13785/tcp +nbdb 13785/udp +nomdb 13786/tcp +nomdb 13786/udp +dsmcc-config 13818/tcp +dsmcc-config 13818/udp +dsmcc-session 13819/tcp +dsmcc-session 13819/udp +dsmcc-passthru 13820/tcp +dsmcc-passthru 13820/udp +dsmcc-download 13821/tcp +dsmcc-download 13821/udp +dsmcc-ccp 13822/tcp +dsmcc-ccp 13822/udp +bmdss 13823/tcp +ucontrol 13894/tcp +ucontrol 13894/udp +dta-systems 13929/tcp +dta-systems 13929/udp +medevolve 13930/tcp +scotty-ft 14000/tcp +scotty-ft 14000/udp +sua 14001/tcp +sua 14001/udp +sua 14001/sctp +scotty-disc 14002/udp +sage-best-com1 14033/tcp +sage-best-com1 14033/udp +sage-best-com2 14034/tcp +sage-best-com2 14034/udp +vcs-app 14141/tcp +vcs-app 14141/udp +icpp 14142/tcp +icpp 14142/udp +icpps 14143/tcp +gcm-app 14145/tcp +gcm-app 14145/udp +vrts-tdd 14149/tcp +vrts-tdd 14149/udp +vcscmd 14150/tcp +vad 14154/tcp +vad 14154/udp +cps 14250/tcp +cps 14250/udp +ca-web-update 14414/tcp +ca-web-update 14414/udp +xpra 14500/tcp +hde-lcesrvr-1 14936/tcp +hde-lcesrvr-1 14936/udp +hde-lcesrvr-2 14937/tcp +hde-lcesrvr-2 14937/udp +hydap 15000/tcp +hydap 15000/udp +onep-tls 15002/tcp +v2g-secc 15118/udp +xpilot 15345/tcp +xpilot 15345/udp +3link 15363/tcp +3link 15363/udp +cisco-snat 15555/tcp +cisco-snat 15555/udp +bex-xr 15660/tcp +bex-xr 15660/udp +ptp 15740/tcp +ptp 15740/udp +2ping 15998/udp +programmar 15999/tcp +fmsas 16000/tcp +fmsascon 16001/tcp +gsms 16002/tcp +alfin 16003/udp +jwpc 16020/tcp +jwpc-bin 16021/tcp +sun-sea-port 16161/tcp +sun-sea-port 16161/udp +solaris-audit 16162/tcp +etb4j 16309/tcp +etb4j 16309/udp +pduncs 16310/tcp +pduncs 16310/udp +pdefmns 16311/tcp +pdefmns 16311/udp +netserialext1 16360/tcp +netserialext1 16360/udp +netserialext2 16361/tcp +netserialext2 16361/udp +netserialext3 16367/tcp +netserialext3 16367/udp +netserialext4 16368/tcp +netserialext4 16368/udp +connected 16384/tcp +connected 16384/udp +rdgs 16385/tcp +xoms 16619/tcp +axon-tunnel 16665/tcp +vtp 16666/udp +cadsisvr 16789/tcp +newbay-snc-mc 16900/tcp +newbay-snc-mc 16900/udp +sgcip 16950/tcp +sgcip 16950/udp +intel-rci-mp 16991/tcp +intel-rci-mp 16991/udp +amt-soap-http 16992/tcp +amt-soap-http 16992/udp +amt-soap-https 16993/tcp +amt-soap-https 16993/udp +amt-redir-tcp 16994/tcp +amt-redir-tcp 16994/udp +amt-redir-tls 16995/tcp +amt-redir-tls 16995/udp +isode-dua 17007/tcp +isode-dua 17007/udp +vestasdlp 17184/tcp +soundsvirtual 17185/tcp +soundsvirtual 17185/udp +chipper 17219/tcp +chipper 17219/udp +avtp 17220/tcp +avtp 17220/udp +avdecc 17221/tcp +avdecc 17221/udp +cpsp 17222/udp +isa100-gci 17223/tcp +trdp-pd 17224/udp +trdp-md 17225/tcp +trdp-md 17225/udp +integrius-stp 17234/tcp +integrius-stp 17234/udp +ssh-mgmt 17235/tcp +ssh-mgmt 17235/udp +db-lsp 17500/tcp +db-lsp-disc 17500/udp +ailith 17555/tcp +ea 17729/tcp +ea 17729/udp +zep 17754/tcp +zep 17754/udp +zigbee-ip 17755/tcp +zigbee-ip 17755/udp +zigbee-ips 17756/tcp +zigbee-ips 17756/udp +sw-orion 17777/tcp +biimenu 18000/tcp +biimenu 18000/udp +radpdf 18104/tcp +racf 18136/tcp +opsec-cvp 18181/tcp +opsec-cvp 18181/udp +opsec-ufp 18182/tcp +opsec-ufp 18182/udp +opsec-sam 18183/tcp +opsec-sam 18183/udp +opsec-lea 18184/tcp +opsec-lea 18184/udp +opsec-omi 18185/tcp +opsec-omi 18185/udp +ohsc 18186/tcp +ohsc 18186/udp +opsec-ela 18187/tcp +opsec-ela 18187/udp +checkpoint-rtm 18241/tcp +checkpoint-rtm 18241/udp +iclid 18242/tcp +clusterxl 18243/tcp +gv-pf 18262/tcp +gv-pf 18262/udp +ac-cluster 18463/tcp +ac-cluster 18463/udp +heythings 18516/udp +rds-ib 18634/tcp +rds-ib 18634/udp +rds-ip 18635/tcp +rds-ip 18635/udp +vdmmesh 18668/tcp +vdmmesh-disc 18668/udp +ique 18769/tcp +ique 18769/udp +infotos 18881/tcp +infotos 18881/udp +apc-necmp 18888/tcp +apc-necmp 18888/udp +igrid 19000/tcp +igrid 19000/udp +scintilla 19007/tcp +scintilla 19007/udp +j-link 19020/tcp +opsec-uaa 19191/tcp +opsec-uaa 19191/udp +ua-secureagent 19194/tcp +ua-secureagent 19194/udp +cora 19220/tcp +cora-disc 19220/udp +keysrvr 19283/tcp +keysrvr 19283/udp +keyshadow 19315/tcp +keyshadow 19315/udp +mtrgtrans 19398/tcp +mtrgtrans 19398/udp +hp-sco 19410/tcp +hp-sco 19410/udp +hp-sca 19411/tcp +hp-sca 19411/udp +hp-sessmon 19412/tcp +hp-sessmon 19412/udp +fxuptp 19539/tcp +fxuptp 19539/udp +sxuptp 19540/tcp +sxuptp 19540/udp +jcp 19541/tcp +jcp 19541/udp +mle 19788/udp +iec-104-sec 19998/tcp +dnp-sec 19999/tcp +dnp-sec 19999/udp +dnp 20000/tcp +dnp 20000/udp +microsan 20001/tcp +microsan 20001/udp +commtact-http 20002/tcp +commtact-http 20002/udp +commtact-https 20003/tcp +commtact-https 20003/udp +openwebnet 20005/tcp +openwebnet 20005/udp +ss-idi-disc 20012/udp +ss-idi 20013/tcp +opendeploy 20014/tcp +opendeploy 20014/udp +nburn-id 20034/tcp +nburn-id 20034/udp +tmophl7mts 20046/tcp +tmophl7mts 20046/udp +mountd 20048/tcp +mountd 20048/udp +nfsrdma 20049/tcp +nfsrdma 20049/udp +nfsrdma 20049/sctp +avesterra 20057/tcp +tolfab 20167/tcp +tolfab 20167/udp +ipdtp-port 20202/tcp +ipdtp-port 20202/udp +ipulse-ics 20222/tcp +ipulse-ics 20222/udp +emwavemsg 20480/tcp +emwavemsg 20480/udp +track 20670/tcp +track 20670/udp +athand-mmp 20999/tcp +athand-mmp 20999/udp +irtrans 21000/tcp +irtrans 21000/udp +notezilla-lan 21010/tcp +trinket-agent 21212/tcp +cohesity-agent 21213/tcp +aigairserver 21221/tcp +rdm-tfs 21553/tcp +dfserver 21554/tcp +dfserver 21554/udp +vofr-gateway 21590/tcp +vofr-gateway 21590/udp +tvpm 21800/tcp +tvpm 21800/udp +webphone 21845/tcp +webphone 21845/udp +netspeak-is 21846/tcp +netspeak-is 21846/udp +netspeak-cs 21847/tcp +netspeak-cs 21847/udp +netspeak-acd 21848/tcp +netspeak-acd 21848/udp +netspeak-cps 21849/tcp +netspeak-cps 21849/udp +snapenetio 22000/tcp +snapenetio 22000/udp +optocontrol 22001/tcp +optocontrol 22001/udp +optohost002 22002/tcp +optohost002 22002/udp +optohost003 22003/tcp +optohost003 22003/udp +optohost004 22004/tcp +optohost004 22004/udp +optohost004 22005/tcp +optohost004 22005/udp +dcap 22125/tcp +gsidcap 22128/tcp +easyengine 22222/tcp +wnn6 22273/tcp +wnn6 22273/udp +cis 22305/tcp +cis 22305/udp +shrewd-control 22335/tcp +shrewd-stream 22335/udp +cis-secure 22343/tcp +cis-secure 22343/udp +wibukey 22347/tcp +wibukey 22347/udp +codemeter 22350/tcp +codemeter 22350/udp +codemeter-cmwan 22351/tcp +caldsoft-backup 22537/tcp +vocaltec-wconf 22555/tcp +vocaltec-phone 22555/udp +talikaserver 22763/tcp +talikaserver 22763/udp +aws-brf 22800/tcp +aws-brf 22800/udp +brf-gw 22951/tcp +brf-gw 22951/udp +inovaport1 23000/tcp +inovaport1 23000/udp +inovaport2 23001/tcp +inovaport2 23001/udp +inovaport3 23002/tcp +inovaport3 23002/udp +inovaport4 23003/tcp +inovaport4 23003/udp +inovaport5 23004/tcp +inovaport5 23004/udp +inovaport6 23005/tcp +inovaport6 23005/udp +gntp 23053/tcp +s102 23272/udp +5afe-dir 23294/tcp +5afe-disc 23294/udp +elxmgmt 23333/tcp +elxmgmt 23333/udp +novar-dbase 23400/tcp +novar-dbase 23400/udp +novar-alarm 23401/tcp +novar-alarm 23401/udp +novar-global 23402/tcp +novar-global 23402/udp +aequus 23456/tcp +aequus-alt 23457/tcp +areaguard-neo 23546/tcp +med-ltp 24000/tcp +med-ltp 24000/udp +med-fsp-rx 24001/tcp +med-fsp-rx 24001/udp +med-fsp-tx 24002/tcp +med-fsp-tx 24002/udp +med-supp 24003/tcp +med-supp 24003/udp +med-ovw 24004/tcp +med-ovw 24004/udp +med-ci 24005/tcp +med-ci 24005/udp +med-net-svc 24006/tcp +med-net-svc 24006/udp +filesphere 24242/tcp +filesphere 24242/udp +vista-4gl 24249/tcp +vista-4gl 24249/udp +ild 24321/tcp +ild 24321/udp +hid 24322/udp +vrmg-ip 24323/tcp +intel-rci 24386/tcp +intel-rci 24386/udp +tonidods 24465/tcp +tonidods 24465/udp +binkp 24554/tcp +binkp 24554/udp +bilobit 24577/tcp +bilobit-update 24577/udp +sdtvwcam 24666/tcp +canditv 24676/tcp +canditv 24676/udp +flashfiler 24677/tcp +flashfiler 24677/udp +proactivate 24678/tcp +proactivate 24678/udp +tcc-http 24680/tcp +tcc-http 24680/udp +cslg 24754/tcp +assoc-disc 24850/udp +find 24922/tcp +find 24922/udp +icl-twobase1 25000/tcp +icl-twobase1 25000/udp +icl-twobase2 25001/tcp +icl-twobase2 25001/udp +icl-twobase3 25002/tcp +icl-twobase3 25002/udp +icl-twobase4 25003/tcp +icl-twobase4 25003/udp +icl-twobase5 25004/tcp +icl-twobase5 25004/udp +icl-twobase6 25005/tcp +icl-twobase6 25005/udp +icl-twobase7 25006/tcp +icl-twobase7 25006/udp +icl-twobase8 25007/tcp +icl-twobase8 25007/udp +icl-twobase9 25008/tcp +icl-twobase9 25008/udp +icl-twobase10 25009/tcp +icl-twobase10 25009/udp +rna 25471/sctp +sauterdongle 25576/tcp +idtp 25604/tcp +vocaltec-hos 25793/tcp +vocaltec-hos 25793/udp +tasp-net 25900/tcp +tasp-net 25900/udp +niobserver 25901/tcp +niobserver 25901/udp +nilinkanalyst 25902/tcp +nilinkanalyst 25902/udp +niprobe 25903/tcp +niprobe 25903/udp +bf-game 25954/udp +bf-master 25955/udp +quake 26000/tcp +quake 26000/udp +scscp 26133/tcp +scscp 26133/udp +wnn6-ds 26208/tcp +wnn6-ds 26208/udp +cockroach 26257/tcp +ezproxy 26260/tcp +ezproxy 26260/udp +ezmeeting 26261/tcp +ezmeeting 26261/udp +k3software-svr 26262/tcp +k3software-svr 26262/udp +k3software-cli 26263/tcp +k3software-cli 26263/udp +exoline-tcp 26486/tcp +exoline-udp 26486/udp +exoconfig 26487/tcp +exoconfig 26487/udp +exonet 26489/tcp +exonet 26489/udp +flex-lmadmin 27010/tcp +mongodb 27017/tcp +imagepump 27345/tcp +imagepump 27345/udp +jesmsjc 27442/tcp +jesmsjc 27442/udp +kopek-httphead 27504/tcp +kopek-httphead 27504/udp +ars-vista 27782/tcp +ars-vista 27782/udp +astrolink 27876/tcp +tw-auth-key 27999/tcp +tw-auth-key 27999/udp +nxlmd 28000/tcp +nxlmd 28000/udp +pqsp 28001/tcp +gruber-cashreg 28010/tcp +a27-ran-ran 28119/udp +voxelstorm 28200/tcp +voxelstorm 28200/udp +siemensgsm 28240/tcp +siemensgsm 28240/udp +bosswave 28589/tcp +saltd-licensing 29000/tcp +sgsap 29118/sctp +otmp 29167/tcp +otmp 29167/udp +sbcap 29168/sctp +iuhsctpassoc 29169/sctp +bingbang 29999/tcp +ndmps 30000/tcp +pago-services1 30001/tcp +pago-services1 30001/udp +pago-services2 30002/tcp +pago-services2 30002/udp +amicon-fpsu-ra 30003/tcp +amicon-fpsu-ra 30003/udp +amicon-fpsu-s 30004/udp +rwp 30100/tcp +rwp 30100/sctp +kingdomsonline 30260/tcp +kingdomsonline 30260/udp +gs-realtime 30400/tcp +samsung-disc 30832/udp +ovobs 30999/tcp +ovobs 30999/udp +ka-sddp 31016/tcp +ka-kdp 31016/udp +autotrac-acp 31020/tcp +yawn 31029/udp +pace-licensed 31400/tcp +xqosd 31416/tcp +xqosd 31416/udp +tetrinet 31457/tcp +tetrinet 31457/udp +lm-mon 31620/tcp +lm-mon 31620/udp +dsx-monitor 31685/tcp +gamesmith-port 31765/tcp +gamesmith-port 31765/udp +iceedcp-tx 31948/tcp +iceedcp-tx 31948/udp +iceedcp-rx 31949/tcp +iceedcp-rx 31949/udp +iracinghelper 32034/tcp +iracinghelper 32034/udp +t1distproc60 32249/tcp +t1distproc60 32249/udp +plex 32400/tcp +apm-link 32483/tcp +apm-link 32483/udp +sec-ntb-clnt 32635/tcp +sec-ntb-clnt 32635/udp +DMExpress 32636/tcp +DMExpress 32636/udp +filenet-powsrm 32767/tcp +filenet-powsrm 32767/udp +filenet-tms 32768/tcp +filenet-tms 32768/udp +filenet-rpc 32769/tcp +filenet-rpc 32769/udp +filenet-nch 32770/tcp +filenet-nch 32770/udp +filenet-rmi 32771/tcp +filenet-rmi 32771/udp +filenet-pa 32772/tcp +filenet-pa 32772/udp +filenet-cm 32773/tcp +filenet-cm 32773/udp +filenet-re 32774/tcp +filenet-re 32774/udp +filenet-pch 32775/tcp +filenet-pch 32775/udp +filenet-peior 32776/tcp +filenet-peior 32776/udp +filenet-obrok 32777/tcp +filenet-obrok 32777/udp +mlsn 32801/tcp +mlsn 32801/udp +retp 32811/tcp +idmgratm 32896/tcp +idmgratm 32896/udp +wg-endpt-comms 33000/tcp +mysqlx 33060/tcp +aurora-balaena 33123/tcp +aurora-balaena 33123/udp +diamondport 33331/tcp +diamondport 33331/udp +dgi-serv 33333/tcp +speedtrace 33334/tcp +speedtrace-disc 33334/udp +traceroute 33434/tcp +traceroute 33434/udp +mtrace 33435/udp +snip-slave 33656/tcp +snip-slave 33656/udp +digilent-adept 33890/tcp +turbonote-2 34249/tcp +turbonote-2 34249/udp +p-net-local 34378/tcp +p-net-local 34378/udp +p-net-remote 34379/tcp +p-net-remote 34379/udp +dhanalakshmi 34567/tcp +edi_service 34567/udp +profinet-rt 34962/tcp +profinet-rt 34962/udp +profinet-rtm 34963/tcp +profinet-rtm 34963/udp +profinet-cm 34964/tcp +profinet-cm 34964/udp +ethercat 34980/tcp +ethercat 34980/udp +heathview 35000/tcp +rt-viewer 35001/tcp +rt-viewer 35001/udp +rt-sound 35002/tcp +rt-devicemapper 35003/tcp +rt-classmanager 35004/tcp +rt-classmanager 35004/udp +rt-labtracker 35005/tcp +rt-helper 35006/tcp +axio-disc 35100/tcp +axio-disc 35100/udp +kitim 35354/tcp +altova-lm 35355/tcp +altova-lm-disc 35355/udp +guttersnex 35356/tcp +openstack-id 35357/tcp +allpeers 36001/tcp +allpeers 36001/udp +wlcp 36411/udp +s1-control 36412/sctp +x2-control 36422/sctp +slmap 36423/sctp +nq-ap 36424/sctp +m2ap 36443/sctp +m3ap 36444/sctp +xw-control 36462/sctp +febooti-aw 36524/tcp +observium-agent 36602/tcp +mapx 36700/tcp +kastenxpipe 36865/tcp +kastenxpipe 36865/udp +3gpp-w1ap 37472/sctp +neckar 37475/tcp +neckar 37475/udp +gdrive-sync 37483/tcp +eftp 37601/tcp +unisys-eportal 37654/tcp +unisys-eportal 37654/udp +ivs-database 38000/tcp +ivs-insertion 38001/tcp +cresco-control 38002/tcp +crescoctrl-disc 38002/udp +galaxy7-data 38201/tcp +galaxy7-data 38201/udp +fairview 38202/tcp +fairview 38202/udp +agpolicy 38203/tcp +agpolicy 38203/udp +ng-control 38412/sctp +xn-control 38422/sctp +e1-interface 38462/sctp +f1-control 38472/sctp +sruth 38800/tcp +secrmmsafecopya 38865/tcp +turbonote-1 39681/tcp +turbonote-1 39681/udp +safetynetp 40000/tcp +safetynetp 40000/udp +k-patentssensor 40023/udp +sptx 40404/tcp +cscp 40841/tcp +cscp 40841/udp +csccredir 40842/tcp +csccredir 40842/udp +csccfirewall 40843/tcp +csccfirewall 40843/udp +ortec-disc 40853/udp +fs-qos 41111/tcp +fs-qos 41111/udp +tentacle 41121/tcp +z-wave-s 41230/tcp +z-wave-s 41230/udp +crestron-cip 41794/tcp +crestron-cip 41794/udp +crestron-ctp 41795/tcp +crestron-ctp 41795/udp +crestron-cips 41796/tcp +crestron-ctps 41797/tcp +candp 42508/tcp +candp 42508/udp +candrp 42509/tcp +candrp 42509/udp +caerpc 42510/tcp +caerpc 42510/udp +recvr-rc 43000/tcp +recvr-rc-disc 43000/udp +reachout 43188/tcp +reachout 43188/udp +ndm-agent-port 43189/tcp +ndm-agent-port 43189/udp +ip-provision 43190/tcp +ip-provision 43190/udp +noit-transport 43191/tcp +shaperai 43210/tcp +shaperai-disc 43210/udp +hmip-routing 43438/udp +eq3-update 43439/tcp +eq3-config 43439/udp +ew-mgmt 43440/tcp +ew-disc-cmd 43440/udp +ciscocsdb 43441/tcp +ciscocsdb 43441/udp +z-wave-tunnel 44123/tcp +pmcd 44321/tcp +pmcd 44321/udp +pmcdproxy 44322/tcp +pmcdproxy 44322/udp +pmwebapi 44323/tcp +cognex-dataman 44444/tcp +acronis-backup 44445/tcp +domiq 44544/udp +rbr-debug 44553/tcp +rbr-debug 44553/udp +asihpi 44600/udp +EtherNet-IP-2 44818/tcp +EtherNet-IP-2 44818/udp +m3da 44900/tcp +m3da-disc 44900/udp +asmp 45000/tcp +asmp-mon 45000/udp +asmps 45001/tcp +rs-status 45002/tcp +synctest 45045/tcp +invision-ag 45054/tcp +invision-ag 45054/udp +cloudcheck 45514/tcp +cloudcheck-ping 45514/udp +eba 45678/tcp +eba 45678/udp +dai-shell 45824/tcp +qdb2service 45825/tcp +qdb2service 45825/udp +ssr-servermgr 45966/tcp +ssr-servermgr 45966/udp +inedo 46336/tcp +spremotetablet 46998/tcp +mediabox 46999/tcp +mediabox 46999/udp +mbus 47000/tcp +mbus 47000/udp +winrm 47001/tcp +jvl-mactalk 47100/udp +dbbrowse 47557/tcp +dbbrowse 47557/udp +directplaysrvr 47624/tcp +directplaysrvr 47624/udp +ap 47806/tcp +ap 47806/udp +bacnet 47808/tcp +bacnet 47808/udp +presonus-ucnet 47809/udp +nimcontroller 48000/tcp +nimcontroller 48000/udp +nimspooler 48001/tcp +nimspooler 48001/udp +nimhub 48002/tcp +nimhub 48002/udp +nimgtw 48003/tcp +nimgtw 48003/udp +nimbusdb 48004/tcp +nimbusdbctrl 48005/tcp +juka 48048/tcp +3gpp-cbsp 48049/tcp +weandsf 48050/tcp +isnetserv 48128/tcp +isnetserv 48128/udp +blp5 48129/tcp +blp5 48129/udp +com-bardac-dw 48556/tcp +com-bardac-dw 48556/udp +iqobject 48619/tcp +iqobject 48619/udp +robotraconteur 48653/tcp +robotraconteur 48653/udp +matahari 49000/tcp +nusrp 49001/tcp +nusdp-disc 49001/udp +inspider 49150/tcp diff --git a/community-mod/iana-etc/sources b/community-mod/iana-etc/sources new file mode 100644 index 0000000..1a193ec --- /dev/null +++ b/community-mod/iana-etc/sources @@ -0,0 +1,2 @@ +files/protocols +files/services diff --git a/community-mod/iana-etc/version b/community-mod/iana-etc/version new file mode 100644 index 0000000..38c50e8 --- /dev/null +++ b/community-mod/iana-etc/version @@ -0,0 +1 @@ +20200910 1 diff --git a/community-mod/icu/build b/community-mod/icu/build new file mode 100755 index 0000000..39bb094 --- /dev/null +++ b/community-mod/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/community-mod/icu/checksums b/community-mod/icu/checksums new file mode 100644 index 0000000..0127fd6 --- /dev/null +++ b/community-mod/icu/checksums @@ -0,0 +1 @@ +4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745 diff --git a/community-mod/icu/sources b/community-mod/icu/sources new file mode 100644 index 0000000..86d8a44 --- /dev/null +++ b/community-mod/icu/sources @@ -0,0 +1 @@ +https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-src.tgz diff --git a/community-mod/icu/version b/community-mod/icu/version new file mode 100644 index 0000000..4156826 --- /dev/null +++ b/community-mod/icu/version @@ -0,0 +1 @@ +69.1 1 diff --git a/community-mod/ii/build b/community-mod/ii/build new file mode 100755 index 0000000..254cbe4 --- /dev/null +++ b/community-mod/ii/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +sed -i 's/775/755/g' Makefile + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/ii/checksums b/community-mod/ii/checksums new file mode 100644 index 0000000..9ae3ec4 --- /dev/null +++ b/community-mod/ii/checksums @@ -0,0 +1 @@ +b9d9e1eae25e63071960e921af8b217ab1abe64210bd290994aca178a8dc68d2 ii-1.8.tar.gz diff --git a/community-mod/ii/sources b/community-mod/ii/sources new file mode 100644 index 0000000..3ef7697 --- /dev/null +++ b/community-mod/ii/sources @@ -0,0 +1 @@ +https://dl.suckless.org/tools/ii-1.8.tar.gz diff --git a/community-mod/ii/version b/community-mod/ii/version new file mode 100644 index 0000000..33fba2c --- /dev/null +++ b/community-mod/ii/version @@ -0,0 +1 @@ +1.8 1 diff --git a/community-mod/imagemagick/build b/community-mod/imagemagick/build new file mode 100755 index 0000000..86d7859 --- /dev/null +++ b/community-mod/imagemagick/build @@ -0,0 +1,18 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --disable-shared \ + --disable-nls \ + --without-modules \ + --without-magick-plus-plus \ + --without-perl \ + --without-xml + +make +make DESTDIR="$1" install-binPROGRAMS install-exec-local + +# Remove the rarely used library. +rm -rf "$1/usr/lib" diff --git a/community-mod/imagemagick/checksums b/community-mod/imagemagick/checksums new file mode 100644 index 0000000..82cd6af --- /dev/null +++ b/community-mod/imagemagick/checksums @@ -0,0 +1 @@ +7150558c6936367e745614c1a570fa24608ff779818fd5c03630cb10f7096d03 diff --git a/community-mod/imagemagick/depends b/community-mod/imagemagick/depends new file mode 100644 index 0000000..3cbcf24 --- /dev/null +++ b/community-mod/imagemagick/depends @@ -0,0 +1,5 @@ +fontconfig +libjpeg-turbo +libpng +libwebp +pkgconf make diff --git a/community-mod/imagemagick/sources b/community-mod/imagemagick/sources new file mode 100644 index 0000000..2b031e3 --- /dev/null +++ b/community-mod/imagemagick/sources @@ -0,0 +1 @@ +https://download.imagemagick.org/ImageMagick/download/releases/ImageMagick-7.1.0-0.tar.xz diff --git a/community-mod/imagemagick/version b/community-mod/imagemagick/version new file mode 100644 index 0000000..09de5b3 --- /dev/null +++ b/community-mod/imagemagick/version @@ -0,0 +1 @@ +7.1.0-0 1 diff --git a/community-mod/imlib2/build b/community-mod/imlib2/build new file mode 100755 index 0000000..bea0bc3 --- /dev/null +++ b/community-mod/imlib2/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc/imlib2 \ + --enable-visibility-hiding + +make +make DESTDIR="$1" install diff --git a/community-mod/imlib2/checksums b/community-mod/imlib2/checksums new file mode 100644 index 0000000..36736d4 --- /dev/null +++ b/community-mod/imlib2/checksums @@ -0,0 +1 @@ +af30cf36e956febf18f9d33a81a4b43fea8f761ce74a67715d2ad157bb92c090 diff --git a/community-mod/imlib2/depends b/community-mod/imlib2/depends new file mode 100644 index 0000000..97e0df8 --- /dev/null +++ b/community-mod/imlib2/depends @@ -0,0 +1,9 @@ +freetype-harfbuzz +libXext + +# By default, gif and tiff are commented. You can enable support for +# both formats by uncommenting giflib and tiff. +# giflib +libjpeg-turbo +libpng +# tiff diff --git a/community-mod/imlib2/sources b/community-mod/imlib2/sources new file mode 100644 index 0000000..6400eef --- /dev/null +++ b/community-mod/imlib2/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/enlightenment/imlib2-src/imlib2-1.7.1.tar.gz diff --git a/community-mod/imlib2/version b/community-mod/imlib2/version new file mode 100644 index 0000000..2817085 --- /dev/null +++ b/community-mod/imlib2/version @@ -0,0 +1 @@ +1.7.1 1 diff --git a/community-mod/intel-media-driver/build b/community-mod/intel-media-driver/build new file mode 100755 index 0000000..2fa64ab --- /dev/null +++ b/community-mod/intel-media-driver/build @@ -0,0 +1,20 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +sed -i 's/SHARED/STATIC/' gmmlib/Source/GmmLib/CMakeLists.txt + +cd media + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBS_DIR_GMMLIB="$OLDPWD/gmmlib/Source/GmmLib" \ + -DINSTALL_DRIVER_SYSCONF=OFF \ + -DRUN_TEST_SUITE=OFF + +cmake --build build +cmake --install build + +rm -rf "$1/usr/include/igdgmm" \ + "$1/usr/lib/pkgconfig/igdgmm.pc" diff --git a/community-mod/intel-media-driver/checksums b/community-mod/intel-media-driver/checksums new file mode 100644 index 0000000..7fdc8cf --- /dev/null +++ b/community-mod/intel-media-driver/checksums @@ -0,0 +1,2 @@ +f2374c29bc46dab73e0ab78c86620a2b644bd6989d33327fe3ba36c4b9d0f82f +d54d547f9f9e74196dead6a338923039ea10c859f1f693f33f10be1562b81d6d diff --git a/community-mod/intel-media-driver/depends b/community-mod/intel-media-driver/depends new file mode 100644 index 0000000..fe1f7b3 --- /dev/null +++ b/community-mod/intel-media-driver/depends @@ -0,0 +1,3 @@ +cmake make +libpciaccess +libva diff --git a/community-mod/intel-media-driver/sources b/community-mod/intel-media-driver/sources new file mode 100644 index 0000000..e6349f1 --- /dev/null +++ b/community-mod/intel-media-driver/sources @@ -0,0 +1,2 @@ +https://github.com/intel/media-driver/archive/intel-media-21.1.2.tar.gz media +https://github.com/intel/gmmlib/archive/intel-gmmlib-20.4.1.tar.gz gmmlib diff --git a/community-mod/intel-media-driver/version b/community-mod/intel-media-driver/version new file mode 100644 index 0000000..7cf5aa8 --- /dev/null +++ b/community-mod/intel-media-driver/version @@ -0,0 +1 @@ +21.1.2 1 diff --git a/community-mod/ioping/build b/community-mod/ioping/build new file mode 100755 index 0000000..e34b16a --- /dev/null +++ b/community-mod/ioping/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make PREFIX=/usr +make PREFIX="$1/usr" install diff --git a/community-mod/ioping/checksums b/community-mod/ioping/checksums new file mode 100644 index 0000000..c2e5029 --- /dev/null +++ b/community-mod/ioping/checksums @@ -0,0 +1 @@ +d3e4497c653a1e96df67c72ce2b70da18e9f5e3b93179a5bb57a6e30ceacfa75 diff --git a/community-mod/ioping/sources b/community-mod/ioping/sources new file mode 100644 index 0000000..77d47bd --- /dev/null +++ b/community-mod/ioping/sources @@ -0,0 +1 @@ +https://github.com/koct9i/ioping/archive/v1.2.tar.gz diff --git a/community-mod/ioping/version b/community-mod/ioping/version new file mode 100644 index 0000000..f76d834 --- /dev/null +++ b/community-mod/ioping/version @@ -0,0 +1 @@ +1.2 1 diff --git a/community-mod/iosevka-nerd-fonts/build b/community-mod/iosevka-nerd-fonts/build new file mode 100755 index 0000000..c750bf6 --- /dev/null +++ b/community-mod/iosevka-nerd-fonts/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +find ./ -name '*Windows*' -exec rm -rf {} + + +install -dm755 "$1/usr/share/fonts/TTF" +install -Dm644 -- *.ttf "$1/usr/share/fonts/TTF" diff --git a/community-mod/iosevka-nerd-fonts/checksums b/community-mod/iosevka-nerd-fonts/checksums new file mode 100644 index 0000000..6f75a7e --- /dev/null +++ b/community-mod/iosevka-nerd-fonts/checksums @@ -0,0 +1 @@ +6bd29ef886b808d1d76dd85f82b8823452265fda582801734aab6f9460270de3 Iosevka.zip diff --git a/community-mod/iosevka-nerd-fonts/sources b/community-mod/iosevka-nerd-fonts/sources new file mode 100644 index 0000000..7c0e50b --- /dev/null +++ b/community-mod/iosevka-nerd-fonts/sources @@ -0,0 +1 @@ +https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Iosevka.zip diff --git a/community-mod/iosevka-nerd-fonts/version b/community-mod/iosevka-nerd-fonts/version new file mode 100644 index 0000000..628fcde --- /dev/null +++ b/community-mod/iosevka-nerd-fonts/version @@ -0,0 +1 @@ +2.1.0 2 diff --git a/community-mod/iproute2/build b/community-mod/iproute2/build new file mode 100755 index 0000000..3a8f75b --- /dev/null +++ b/community-mod/iproute2/build @@ -0,0 +1,17 @@ +#!/bin/sh -e + +patch -p1 < 0001-make-iproute2-fhs-compliant.patch + +# Fix hardcoded `gcc` ( there is HOST_CC := $(CC) on line after this, +# but upstream seems to use it inconsistently ). Otherwise build fails on +# `clang` based systems with no `gcc` installed. +sed -i 's/CC := gcc/CC ?= gcc/' Makefile + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" SBINDIR="/usr/bin" install + +install -Dm0644 include/libnetlink.h "$1/usr/include/libnetlink.h" +install -Dm0644 lib/libnetlink.a "$1/usr/lib/libnetlink.a" diff --git a/community-mod/iproute2/checksums b/community-mod/iproute2/checksums new file mode 100644 index 0000000..f066b17 --- /dev/null +++ b/community-mod/iproute2/checksums @@ -0,0 +1,2 @@ +72a2e53774cac9e65f7b617deebb2059f87e8960d6e9713e4d788cea966f1b36 +f60fefe4c17d3b768824bb50ae6416292bcebba06d73452e23f4147b46b827d3 diff --git a/community-mod/iproute2/depends b/community-mod/iproute2/depends new file mode 100644 index 0000000..7babf53 --- /dev/null +++ b/community-mod/iproute2/depends @@ -0,0 +1,2 @@ +iptables +libelf diff --git a/community-mod/iproute2/patches/0001-make-iproute2-fhs-compliant.patch b/community-mod/iproute2/patches/0001-make-iproute2-fhs-compliant.patch new file mode 100644 index 0000000..ef6a077 --- /dev/null +++ b/community-mod/iproute2/patches/0001-make-iproute2-fhs-compliant.patch @@ -0,0 +1,101 @@ +From f0624f6cc656cb177b64e2664f2a806221bfab58 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Thu, 28 Jul 2016 08:49:20 +0200 +Subject: [PATCH 1/1] make iproute2 fhs compliant + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + netem/Makefile | 4 ++-- + tc/q_netem.c | 2 +- + tc/tc_util.c | 15 +++++++++++++++ + tc/tc_util.h | 1 + + 5 files changed, 20 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index eb571a5..db0a04c 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ DBM_INCLUDE:=$(DESTDIR)/usr/include + + SHARED_LIBS = y + +-DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" ++DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DDATADIR=\"$(DATADIR)\" + ifneq ($(SHARED_LIBS),y) + DEFINES+= -DNO_SHARED_LIBS + endif +diff --git a/netem/Makefile b/netem/Makefile +index e52e125..5b4d283 100644 +--- a/netem/Makefile ++++ b/netem/Makefile +@@ -20,9 +20,9 @@ stats: stats.c + $(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm + + install: all +- mkdir -p $(DESTDIR)$(LIBDIR)/tc ++ mkdir -p $(DESTDIR)$(DATADIR)/tc + for i in $(DISTDATA); \ +- do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \ ++ do install -m 644 $$i $(DESTDIR)$(DATADIR)/tc; \ + done + + clean: +diff --git a/tc/q_netem.c b/tc/q_netem.c +index 8fe2204..a15a5c7 100644 +--- a/tc/q_netem.c ++++ b/tc/q_netem.c +@@ -113,7 +113,7 @@ static int get_distribution(const char *type, __s16 *data, int maxdata) + char *line = NULL; + char name[128]; + +- snprintf(name, sizeof(name), "%s/%s.dist", get_tc_lib(), type); ++ snprintf(name, sizeof(name), "%s/%s.dist", get_tc_datadir(), type); + if ((f = fopen(name, "r")) == NULL) { + fprintf(stderr, "No distribution data for %s (%s: %s)\n", + type, name, strerror(errno)); +diff --git a/tc/tc_util.c b/tc/tc_util.c +index afc4cf5..728b854 100644 +--- a/tc/tc_util.c ++++ b/tc/tc_util.c +@@ -32,6 +32,10 @@ + #define LIBDIR "/usr/lib" + #endif + ++#ifndef DATADIR ++#define DATADIR "/usr/share" ++#endif ++ + static struct db_names *cls_names; + + #define NAMES_DB "/etc/iproute2/tc_cls" +@@ -73,6 +77,17 @@ const char *get_tc_lib(void) + return lib_dir; + } + ++const char *get_tc_datadir(void) ++{ ++ const char *data_dir; ++ ++ data_dir = getenv("TC_DATA_DIR"); ++ if (!data_dir) ++ data_dir = DATADIR "/tc/"; ++ ++ return data_dir; ++} ++ + int get_qdisc_handle(__u32 *h, const char *str) + { + __u32 maj; +diff --git a/tc/tc_util.h b/tc/tc_util.h +index 61e60b1..6d448de 100644 +--- a/tc/tc_util.h ++++ b/tc/tc_util.h +@@ -55,6 +55,7 @@ struct exec_util { + }; + + const char *get_tc_lib(void); ++const char *get_tc_datadir(void); + + struct qdisc_util *get_qdisc_kind(const char *str); + struct filter_util *get_filter_kind(const char *str); diff --git a/community-mod/iproute2/sources b/community-mod/iproute2/sources new file mode 100644 index 0000000..31c676d --- /dev/null +++ b/community-mod/iproute2/sources @@ -0,0 +1,2 @@ +https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-5.13.0.tar.xz +patches/0001-make-iproute2-fhs-compliant.patch diff --git a/community-mod/iproute2/version b/community-mod/iproute2/version new file mode 100644 index 0000000..5967235 --- /dev/null +++ b/community-mod/iproute2/version @@ -0,0 +1 @@ +5.13.0 1 diff --git a/community-mod/iptables/build b/community-mod/iptables/build new file mode 100755 index 0000000..68ed828 --- /dev/null +++ b/community-mod/iptables/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sbindir=/usr/sbin \ + --enable-libipq \ + --with-xtlibdir=/lib/xtables \ + --disable-nftables + +make +make DESTDIR="$1" install diff --git a/community-mod/iptables/checksums b/community-mod/iptables/checksums new file mode 100644 index 0000000..ecfb259 --- /dev/null +++ b/community-mod/iptables/checksums @@ -0,0 +1 @@ +c109c96bb04998cd44156622d36f8e04b140701ec60531a10668cfdff5e8d8f0 diff --git a/community-mod/iptables/sources b/community-mod/iptables/sources new file mode 100644 index 0000000..3c2e40f --- /dev/null +++ b/community-mod/iptables/sources @@ -0,0 +1 @@ +https://www.netfilter.org/projects/iptables/files/iptables-1.8.7.tar.bz2 diff --git a/community-mod/iptables/version b/community-mod/iptables/version new file mode 100644 index 0000000..6b7ba1c --- /dev/null +++ b/community-mod/iptables/version @@ -0,0 +1 @@ +1.8.7 1 diff --git a/community-mod/iputils/build b/community-mod/iputils/build new file mode 100755 index 0000000..0cbc6ed --- /dev/null +++ b/community-mod/iputils/build @@ -0,0 +1,20 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +sed -i 's/cap_setuid/cap_setuserid/g' ninfod/ninfod.c + +meson \ + --prefix=/usr \ + --sbindir=/usr/bin \ + -DUSE_CAP=true \ + -DNO_SETCAP_OR_SUID=true \ + -DBUILD_MANS=false \ + -Duse_gettext=false \ + . output + +ninja -C output +ninja -C output install + +ln -s tracepath "$1/usr/bin/tracepath6" +ln -s ping "$1/usr/bin/ping6" diff --git a/community-mod/iputils/checksums b/community-mod/iputils/checksums new file mode 100644 index 0000000..2e594b4 --- /dev/null +++ b/community-mod/iputils/checksums @@ -0,0 +1 @@ +3f557ecfd2ace873801231d2c1f42de73ced9fbc1ef3a438d847688b5fb0e8ab diff --git a/community-mod/iputils/depends b/community-mod/iputils/depends new file mode 100644 index 0000000..fb25d87 --- /dev/null +++ b/community-mod/iputils/depends @@ -0,0 +1,2 @@ +libcap +meson make diff --git a/community-mod/iputils/post-install b/community-mod/iputils/post-install new file mode 100755 index 0000000..c9a6976 --- /dev/null +++ b/community-mod/iputils/post-install @@ -0,0 +1,5 @@ +#!/bin/sh -e + +setcap cap_net_raw+p /usr/bin/ping +setcap cap_net_raw+p /usr/bin/clockdiff +setcap cap_net_raw+p /usr/bin/arping diff --git a/community-mod/iputils/sources b/community-mod/iputils/sources new file mode 100644 index 0000000..64a5945 --- /dev/null +++ b/community-mod/iputils/sources @@ -0,0 +1 @@ +https://github.com/iputils/iputils/archive/20210202.tar.gz diff --git a/community-mod/iputils/version b/community-mod/iputils/version new file mode 100644 index 0000000..8f874ba --- /dev/null +++ b/community-mod/iputils/version @@ -0,0 +1 @@ +20210202 1 diff --git a/community-mod/irssi/build b/community-mod/irssi/build new file mode 100755 index 0000000..89969dc --- /dev/null +++ b/community-mod/irssi/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --with-perl=module \ + --with-otr=no \ + --with-proxy \ + --enable-true-color + +make +make DESTDIR="$1" install diff --git a/community-mod/irssi/checksums b/community-mod/irssi/checksums new file mode 100644 index 0000000..c7963d6 --- /dev/null +++ b/community-mod/irssi/checksums @@ -0,0 +1 @@ +29cbb746d7e57591d8fcf799406fb28cb7c2d734bc4288cbb8b4c4e05cf99c25 diff --git a/community-mod/irssi/depends b/community-mod/irssi/depends new file mode 100644 index 0000000..3466754 --- /dev/null +++ b/community-mod/irssi/depends @@ -0,0 +1,4 @@ +glib +libressl +ncurses +perl diff --git a/community-mod/irssi/sources b/community-mod/irssi/sources new file mode 100644 index 0000000..aaa99ab --- /dev/null +++ b/community-mod/irssi/sources @@ -0,0 +1 @@ +https://github.com/irssi/irssi/releases/download/1.2.3/irssi-1.2.3.tar.gz diff --git a/community-mod/irssi/version b/community-mod/irssi/version new file mode 100644 index 0000000..883a7ec --- /dev/null +++ b/community-mod/irssi/version @@ -0,0 +1 @@ +1.2.3 1 diff --git a/community-mod/jansson/build b/community-mod/jansson/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/community-mod/jansson/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/community-mod/jansson/checksums b/community-mod/jansson/checksums new file mode 100644 index 0000000..e5f59ca --- /dev/null +++ b/community-mod/jansson/checksums @@ -0,0 +1 @@ +f4f377da17b10201a60c1108613e78ee15df6b12016b116b6de42209f47a474f diff --git a/community-mod/jansson/sources b/community-mod/jansson/sources new file mode 100644 index 0000000..c99a294 --- /dev/null +++ b/community-mod/jansson/sources @@ -0,0 +1 @@ +https://digip.org/jansson/releases/jansson-2.13.1.tar.gz diff --git a/community-mod/jansson/version b/community-mod/jansson/version new file mode 100644 index 0000000..002c2af --- /dev/null +++ b/community-mod/jansson/version @@ -0,0 +1 @@ +2.13.1 1 diff --git a/community-mod/jbig2dec/build b/community-mod/jbig2dec/build new file mode 100755 index 0000000..0195925 --- /dev/null +++ b/community-mod/jbig2dec/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +autoreconf -fi + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/jbig2dec/checksums b/community-mod/jbig2dec/checksums new file mode 100644 index 0000000..b0b56ff --- /dev/null +++ b/community-mod/jbig2dec/checksums @@ -0,0 +1 @@ +279476695b38f04939aa59d041be56f6bade3422003a406a85e9792c27118a37 diff --git a/community-mod/jbig2dec/depends b/community-mod/jbig2dec/depends new file mode 100644 index 0000000..e46c350 --- /dev/null +++ b/community-mod/jbig2dec/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +libpng +libtool make diff --git a/community-mod/jbig2dec/sources b/community-mod/jbig2dec/sources new file mode 100644 index 0000000..4576386 --- /dev/null +++ b/community-mod/jbig2dec/sources @@ -0,0 +1 @@ +https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9531/jbig2dec-0.19.tar.gz diff --git a/community-mod/jbig2dec/version b/community-mod/jbig2dec/version new file mode 100644 index 0000000..002b377 --- /dev/null +++ b/community-mod/jbig2dec/version @@ -0,0 +1 @@ +0.19 1 diff --git a/community-mod/jq/build b/community-mod/jq/build new file mode 100755 index 0000000..8bfadcd --- /dev/null +++ b/community-mod/jq/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-maintainer-mode \ + --with-oniguruma=no + +make +make DESTDIR="$1" install diff --git a/community-mod/jq/checksums b/community-mod/jq/checksums new file mode 100644 index 0000000..66fd482 --- /dev/null +++ b/community-mod/jq/checksums @@ -0,0 +1 @@ +5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72 jq-1.6.tar.gz diff --git a/community-mod/jq/sources b/community-mod/jq/sources new file mode 100644 index 0000000..f081d4d --- /dev/null +++ b/community-mod/jq/sources @@ -0,0 +1 @@ +https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.tar.gz diff --git a/community-mod/jq/version b/community-mod/jq/version new file mode 100644 index 0000000..1b2c330 --- /dev/null +++ b/community-mod/jq/version @@ -0,0 +1 @@ +1.6 2 diff --git a/community-mod/json-c/build b/community-mod/json-c/build new file mode 100755 index 0000000..7f4f480 --- /dev/null +++ b/community-mod/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/community-mod/json-c/checksums b/community-mod/json-c/checksums new file mode 100644 index 0000000..7f35ddc --- /dev/null +++ b/community-mod/json-c/checksums @@ -0,0 +1 @@ +4ba9a090a42cf1e12b84c64e4464bb6fb893666841d5843cc5bef90774028882 json-c-0.15-20200726.tar.gz diff --git a/community-mod/json-c/depends b/community-mod/json-c/depends new file mode 100644 index 0000000..7d91ec2 --- /dev/null +++ b/community-mod/json-c/depends @@ -0,0 +1 @@ +cmake make diff --git a/community-mod/json-c/sources b/community-mod/json-c/sources new file mode 100644 index 0000000..d72f151 --- /dev/null +++ b/community-mod/json-c/sources @@ -0,0 +1 @@ +https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz diff --git a/community-mod/json-c/version b/community-mod/json-c/version new file mode 100644 index 0000000..a78cbfc --- /dev/null +++ b/community-mod/json-c/version @@ -0,0 +1 @@ +0.15 1 diff --git a/community-mod/keyutils/build b/community-mod/keyutils/build new file mode 100755 index 0000000..1243a93 --- /dev/null +++ b/community-mod/keyutils/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +make \ + CPPFLAGS="$CPPFLAGS -I." \ + CFLAGS="$CFLAGS" \ + LDFLAGS="$LDFLAGS" + +make \ + DESTDIR="$1" \ + BINDIR=/usr/bin \ + SBINDIR=/usr/bin \ + LIBDIR=/usr/lib \ + install diff --git a/community-mod/keyutils/checksums b/community-mod/keyutils/checksums new file mode 100644 index 0000000..663e472 --- /dev/null +++ b/community-mod/keyutils/checksums @@ -0,0 +1 @@ +a61d5706136ae4c05bd48f86186bcfdbd88dd8bd5107e3e195c924cfc1b39bb4 diff --git a/community-mod/keyutils/sources b/community-mod/keyutils/sources new file mode 100644 index 0000000..11d6f9d --- /dev/null +++ b/community-mod/keyutils/sources @@ -0,0 +1 @@ +https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/keyutils-1.6.3.tar.gz diff --git a/community-mod/keyutils/version b/community-mod/keyutils/version new file mode 100644 index 0000000..05465e0 --- /dev/null +++ b/community-mod/keyutils/version @@ -0,0 +1 @@ +1.6.3 1 diff --git a/community-mod/kirc/build b/community-mod/kirc/build new file mode 100755 index 0000000..458a119 --- /dev/null +++ b/community-mod/kirc/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/kirc/checksums b/community-mod/kirc/checksums new file mode 100644 index 0000000..5b58e2f --- /dev/null +++ b/community-mod/kirc/checksums @@ -0,0 +1 @@ +ed189f0553c148c4fff9a43b4433d861d2fde9b53c7b96eb9b29ef6b07229720 diff --git a/community-mod/kirc/patches/channel.patch b/community-mod/kirc/patches/channel.patch new file mode 100644 index 0000000..3f42e1b --- /dev/null +++ b/community-mod/kirc/patches/channel.patch @@ -0,0 +1,13 @@ +diff --git a/kirc.c b/kirc.c +index 3396610..0fc28b5 100644 +--- a/kirc.c ++++ b/kirc.c +@@ -19,7 +19,7 @@ + #define CHA_MAX 200 /* max channel length */ + + static int conn; /* connection socket */ +-static char chan_default[MSG_MAX]; /* default PRIVMSG channel */ ++static char chan_default[MSG_MAX] = "kisslinux"; /* default PRIVMSG channel */ + static int verb = 0; /* verbose output */ + static int sasl = 0; /* SASL method */ + static size_t gutl = 20; /* max printed nick chars */ diff --git a/community-mod/kirc/sources b/community-mod/kirc/sources new file mode 100644 index 0000000..105133e --- /dev/null +++ b/community-mod/kirc/sources @@ -0,0 +1 @@ +https://github.com/mcpcpc/kirc/archive/0.2.6.tar.gz diff --git a/community-mod/kirc/version b/community-mod/kirc/version new file mode 100644 index 0000000..193c903 --- /dev/null +++ b/community-mod/kirc/version @@ -0,0 +1 @@ +0.2.6 1 diff --git a/community-mod/kiss-encryption/build b/community-mod/kiss-encryption/build new file mode 100755 index 0000000..d5f438d --- /dev/null +++ b/community-mod/kiss-encryption/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make DESTDIR="$1" install diff --git a/community-mod/kiss-encryption/checksums b/community-mod/kiss-encryption/checksums new file mode 100644 index 0000000..c6bacb4 --- /dev/null +++ b/community-mod/kiss-encryption/checksums @@ -0,0 +1 @@ +git git+https://github.com/illiliti/kiss-encryption diff --git a/community-mod/kiss-encryption/sources b/community-mod/kiss-encryption/sources new file mode 100644 index 0000000..a381a33 --- /dev/null +++ b/community-mod/kiss-encryption/sources @@ -0,0 +1 @@ +git+https://github.com/illiliti/kiss-encryption diff --git a/community-mod/kiss-encryption/version b/community-mod/kiss-encryption/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/community-mod/kiss-encryption/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/kmod/build b/community-mod/kmod/build new file mode 100755 index 0000000..63b378a --- /dev/null +++ b/community-mod/kmod/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-xz \ + --with-zlib + +make +make DESTDIR="$1" install + +for tool in lsmod insmod rmmod depmod modinfo modprobe; do + ln -s kmod "$1/usr/bin/$tool" +done diff --git a/community-mod/kmod/checksums b/community-mod/kmod/checksums new file mode 100644 index 0000000..4e041ad --- /dev/null +++ b/community-mod/kmod/checksums @@ -0,0 +1 @@ +0b80eea7aa184ac6fd20cafa2a1fdf290ffecc70869a797079e2cc5c6225a52a diff --git a/community-mod/kmod/depends b/community-mod/kmod/depends new file mode 100644 index 0000000..dd4b081 --- /dev/null +++ b/community-mod/kmod/depends @@ -0,0 +1,3 @@ +pkgconf make +xz +zlib diff --git a/community-mod/kmod/sources b/community-mod/kmod/sources new file mode 100644 index 0000000..0c77e47 --- /dev/null +++ b/community-mod/kmod/sources @@ -0,0 +1 @@ +https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-29.tar.xz diff --git a/community-mod/kmod/version b/community-mod/kmod/version new file mode 100644 index 0000000..f80f8f9 --- /dev/null +++ b/community-mod/kmod/version @@ -0,0 +1 @@ +29 1 diff --git a/community-mod/lagrange/build b/community-mod/lagrange/build new file mode 100755 index 0000000..57f2f07 --- /dev/null +++ b/community-mod/lagrange/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release + +cmake --build build +cmake --install build diff --git a/community-mod/lagrange/checksums b/community-mod/lagrange/checksums new file mode 100644 index 0000000..dda7601 --- /dev/null +++ b/community-mod/lagrange/checksums @@ -0,0 +1 @@ +3be4d5b383726f725301bf757e06dcd2d30de1aa50431943387c9aa0df8d0a3f diff --git a/community-mod/lagrange/depends b/community-mod/lagrange/depends new file mode 100644 index 0000000..56c25f5 --- /dev/null +++ b/community-mod/lagrange/depends @@ -0,0 +1,5 @@ +cmake make +libressl +libunistring +pcre +sdl2 diff --git a/community-mod/lagrange/sources b/community-mod/lagrange/sources new file mode 100644 index 0000000..9152193 --- /dev/null +++ b/community-mod/lagrange/sources @@ -0,0 +1 @@ +https://github.com/skyjake/lagrange/releases/download/v1.5.2/lagrange-1.5.2.tar.gz diff --git a/community-mod/lagrange/version b/community-mod/lagrange/version new file mode 100644 index 0000000..5b702ae --- /dev/null +++ b/community-mod/lagrange/version @@ -0,0 +1 @@ +1.5.2 1 diff --git a/community-mod/lariza/build b/community-mod/lariza/build new file mode 100755 index 0000000..8e14c95 --- /dev/null +++ b/community-mod/lariza/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" prefix=/usr install diff --git a/community-mod/lariza/checksums b/community-mod/lariza/checksums new file mode 100644 index 0000000..cd79198 --- /dev/null +++ b/community-mod/lariza/checksums @@ -0,0 +1 @@ +9faf06a8f4d87b3a63eb3c1e22dcbc7d8361c054357637ae7e870b9212372a13 diff --git a/community-mod/lariza/depends b/community-mod/lariza/depends new file mode 100644 index 0000000..d5d0765 --- /dev/null +++ b/community-mod/lariza/depends @@ -0,0 +1 @@ +webkit2gtk diff --git a/community-mod/lariza/sources b/community-mod/lariza/sources new file mode 100644 index 0000000..9f4fb96 --- /dev/null +++ b/community-mod/lariza/sources @@ -0,0 +1 @@ +https://www.uninformativ.de/git/lariza/archives/lariza-v21.06.tar.gz diff --git a/community-mod/lariza/version b/community-mod/lariza/version new file mode 100644 index 0000000..5afa71a --- /dev/null +++ b/community-mod/lariza/version @@ -0,0 +1 @@ +21.06 1 diff --git a/community-mod/less/build b/community-mod/less/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/less/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/less/checksums b/community-mod/less/checksums new file mode 100644 index 0000000..a6ae059 --- /dev/null +++ b/community-mod/less/checksums @@ -0,0 +1 @@ +ce5b6d2b9fc4442d7a07c93ab128d2dff2ce09a1d4f2d055b95cf28dd0dc9a9a diff --git a/community-mod/less/depends b/community-mod/less/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/less/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/less/sources b/community-mod/less/sources new file mode 100644 index 0000000..53b3990 --- /dev/null +++ b/community-mod/less/sources @@ -0,0 +1 @@ +https://www.greenwoodsoftware.com/less/less-563.tar.gz diff --git a/community-mod/less/version b/community-mod/less/version new file mode 100644 index 0000000..3402310 --- /dev/null +++ b/community-mod/less/version @@ -0,0 +1 @@ +563 1 diff --git a/community-mod/lesstif/build b/community-mod/lesstif/build new file mode 100755 index 0000000..b3f02a1 --- /dev/null +++ b/community-mod/lesstif/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + +make +make DESTDIR="$1" install + +rm -rf "$1/usr/LessTif" diff --git a/community-mod/lesstif/checksums b/community-mod/lesstif/checksums new file mode 100644 index 0000000..daffb56 --- /dev/null +++ b/community-mod/lesstif/checksums @@ -0,0 +1 @@ +eb4aa38858c29a4a3bcf605cfe7d91ca41f4522d78d770f69721e6e3a4ecf7e3 diff --git a/community-mod/lesstif/depends b/community-mod/lesstif/depends new file mode 100644 index 0000000..ca8a23c --- /dev/null +++ b/community-mod/lesstif/depends @@ -0,0 +1,6 @@ +freetype-harfbuzz +libICE +libSM +libX11 +libXext +libXt diff --git a/community-mod/lesstif/sources b/community-mod/lesstif/sources new file mode 100644 index 0000000..38f7399 --- /dev/null +++ b/community-mod/lesstif/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/lesstif/lesstif-0.95.2.tar.bz2 diff --git a/community-mod/lesstif/version b/community-mod/lesstif/version new file mode 100644 index 0000000..22e5d0a --- /dev/null +++ b/community-mod/lesstif/version @@ -0,0 +1 @@ +0.95.2 1 diff --git a/community-mod/libXslt/build b/community-mod/libXslt/build new file mode 100755 index 0000000..270ae64 --- /dev/null +++ b/community-mod/libXslt/build @@ -0,0 +1 @@ +#!/bin/sh -e diff --git a/community-mod/libXslt/post-install b/community-mod/libXslt/post-install new file mode 100755 index 0000000..6af3fe4 --- /dev/null +++ b/community-mod/libXslt/post-install @@ -0,0 +1,7 @@ +#!/bin/sh -e + +cat <' src/chartype.h + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libedit/checksums b/community-mod/libedit/checksums new file mode 100644 index 0000000..34960ac --- /dev/null +++ b/community-mod/libedit/checksums @@ -0,0 +1 @@ +0220bc2047e927c0c1984ef5f7b4eb2a9469a5b7bf12ba573ca3b23ca02bbb6f diff --git a/community-mod/libedit/depends b/community-mod/libedit/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/libedit/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/libedit/sources b/community-mod/libedit/sources new file mode 100644 index 0000000..e1ed04f --- /dev/null +++ b/community-mod/libedit/sources @@ -0,0 +1 @@ +https://www.thrysoee.dk/editline/libedit-20210522-3.1.tar.gz diff --git a/community-mod/libedit/version b/community-mod/libedit/version new file mode 100644 index 0000000..ddf1c9b --- /dev/null +++ b/community-mod/libedit/version @@ -0,0 +1 @@ +20210522-3.1 1 diff --git a/community-mod/libev/build b/community-mod/libev/build new file mode 100755 index 0000000..2a87b6d --- /dev/null +++ b/community-mod/libev/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install + +# Remove compatibility header which conflicts with 'libevent'. +rm -f "$1/usr/include/event.h" diff --git a/community-mod/libev/checksums b/community-mod/libev/checksums new file mode 100644 index 0000000..ce2a108 --- /dev/null +++ b/community-mod/libev/checksums @@ -0,0 +1 @@ +507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea diff --git a/community-mod/libev/sources b/community-mod/libev/sources new file mode 100644 index 0000000..2395ec2 --- /dev/null +++ b/community-mod/libev/sources @@ -0,0 +1 @@ +https://deb.debian.org/debian/pool/main/libe/libev/libev_4.33.orig.tar.gz diff --git a/community-mod/libev/version b/community-mod/libev/version new file mode 100644 index 0000000..68b185d --- /dev/null +++ b/community-mod/libev/version @@ -0,0 +1 @@ +4.33 1 diff --git a/community-mod/libevent/build b/community-mod/libevent/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/community-mod/libevent/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/community-mod/libevent/checksums b/community-mod/libevent/checksums new file mode 100644 index 0000000..dc8fe3c --- /dev/null +++ b/community-mod/libevent/checksums @@ -0,0 +1 @@ +92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb libevent-2.1.12-stable.tar.gz diff --git a/community-mod/libevent/sources b/community-mod/libevent/sources new file mode 100644 index 0000000..ab57f04 --- /dev/null +++ b/community-mod/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/community-mod/libevent/version b/community-mod/libevent/version new file mode 100644 index 0000000..19d8e60 --- /dev/null +++ b/community-mod/libevent/version @@ -0,0 +1 @@ +2.1.12 1 diff --git a/community-mod/libexif/build b/community-mod/libexif/build new file mode 100755 index 0000000..dd147fb --- /dev/null +++ b/community-mod/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/community-mod/libexif/checksums b/community-mod/libexif/checksums new file mode 100644 index 0000000..1724924 --- /dev/null +++ b/community-mod/libexif/checksums @@ -0,0 +1 @@ +5048f1c8fc509cc636c2f97f4b40c293338b6041a5652082d5ee2cf54b530c56 libexif-0.6.22.tar.xz diff --git a/community-mod/libexif/sources b/community-mod/libexif/sources new file mode 100644 index 0000000..1ac73b4 --- /dev/null +++ b/community-mod/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/community-mod/libexif/version b/community-mod/libexif/version new file mode 100644 index 0000000..4da7a56 --- /dev/null +++ b/community-mod/libexif/version @@ -0,0 +1 @@ +0.6.22 1 diff --git a/community-mod/libgcrypt/build b/community-mod/libgcrypt/build new file mode 100755 index 0000000..80ce93e --- /dev/null +++ b/community-mod/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/community-mod/libgcrypt/checksums b/community-mod/libgcrypt/checksums new file mode 100644 index 0000000..b0b3958 --- /dev/null +++ b/community-mod/libgcrypt/checksums @@ -0,0 +1 @@ +97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd diff --git a/community-mod/libgcrypt/depends b/community-mod/libgcrypt/depends new file mode 100644 index 0000000..546d074 --- /dev/null +++ b/community-mod/libgcrypt/depends @@ -0,0 +1 @@ +libgpg-error diff --git a/community-mod/libgcrypt/sources b/community-mod/libgcrypt/sources new file mode 100644 index 0000000..dcf4bee --- /dev/null +++ b/community-mod/libgcrypt/sources @@ -0,0 +1 @@ +https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.9.3.tar.bz2 diff --git a/community-mod/libgcrypt/version b/community-mod/libgcrypt/version new file mode 100644 index 0000000..c82debe --- /dev/null +++ b/community-mod/libgcrypt/version @@ -0,0 +1 @@ +1.9.3 1 diff --git a/community-mod/libgmp/build b/community-mod/libgmp/build new file mode 100755 index 0000000..412be89 --- /dev/null +++ b/community-mod/libgmp/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --localstatedir=/var/state/gmp \ + --enable-cxx \ + --enable-fat \ + --with-pic + +make +make DESTDIR="$1" install diff --git a/community-mod/libgmp/checksums b/community-mod/libgmp/checksums new file mode 100644 index 0000000..1335f73 --- /dev/null +++ b/community-mod/libgmp/checksums @@ -0,0 +1 @@ +fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 diff --git a/community-mod/libgmp/depends b/community-mod/libgmp/depends new file mode 100644 index 0000000..e8fb4a1 --- /dev/null +++ b/community-mod/libgmp/depends @@ -0,0 +1 @@ +m4 make diff --git a/community-mod/libgmp/sources b/community-mod/libgmp/sources new file mode 100644 index 0000000..0fad815 --- /dev/null +++ b/community-mod/libgmp/sources @@ -0,0 +1 @@ +https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz diff --git a/community-mod/libgmp/version b/community-mod/libgmp/version new file mode 100644 index 0000000..eeb874a --- /dev/null +++ b/community-mod/libgmp/version @@ -0,0 +1 @@ +6.2.1 1 diff --git a/community-mod/libgpg-error/build b/community-mod/libgpg-error/build new file mode 100755 index 0000000..80ce93e --- /dev/null +++ b/community-mod/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/community-mod/libgpg-error/checksums b/community-mod/libgpg-error/checksums new file mode 100644 index 0000000..4a11e12 --- /dev/null +++ b/community-mod/libgpg-error/checksums @@ -0,0 +1 @@ +fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23 diff --git a/community-mod/libgpg-error/sources b/community-mod/libgpg-error/sources new file mode 100644 index 0000000..2be693a --- /dev/null +++ b/community-mod/libgpg-error/sources @@ -0,0 +1 @@ +https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.42.tar.bz2 diff --git a/community-mod/libgpg-error/version b/community-mod/libgpg-error/version new file mode 100644 index 0000000..8fce8e6 --- /dev/null +++ b/community-mod/libgpg-error/version @@ -0,0 +1 @@ +1.42 1 diff --git a/community-mod/libisoburn/build b/community-mod/libisoburn/build new file mode 100755 index 0000000..e762a0f --- /dev/null +++ b/community-mod/libisoburn/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-libreadline \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/community-mod/libisoburn/checksums b/community-mod/libisoburn/checksums new file mode 100644 index 0000000..19382fc --- /dev/null +++ b/community-mod/libisoburn/checksums @@ -0,0 +1 @@ +2d89846d43880f17fa591c53b3bea42ffb803628e4e630c680fc2c9184f79132 diff --git a/community-mod/libisoburn/depends b/community-mod/libisoburn/depends new file mode 100644 index 0000000..77fddc8 --- /dev/null +++ b/community-mod/libisoburn/depends @@ -0,0 +1,4 @@ +libburn +libisofs +ncurses +zlib diff --git a/community-mod/libisoburn/sources b/community-mod/libisoburn/sources new file mode 100644 index 0000000..4269f44 --- /dev/null +++ b/community-mod/libisoburn/sources @@ -0,0 +1 @@ +https://files.libburnia-project.org/releases/libisoburn-1.5.4.tar.gz diff --git a/community-mod/libisoburn/version b/community-mod/libisoburn/version new file mode 100644 index 0000000..de75e7c --- /dev/null +++ b/community-mod/libisoburn/version @@ -0,0 +1 @@ +1.5.4 1 diff --git a/community-mod/libisofs/build b/community-mod/libisofs/build new file mode 100755 index 0000000..bee3865 --- /dev/null +++ b/community-mod/libisofs/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-libacl \ + --enable-xattr \ + --disable-static + +make +make -j1 DESTDIR="$1" install diff --git a/community-mod/libisofs/checksums b/community-mod/libisofs/checksums new file mode 100644 index 0000000..b480db2 --- /dev/null +++ b/community-mod/libisofs/checksums @@ -0,0 +1 @@ +aaa0ed80a7501979316f505b0b017f29cba0ea5463b751143bad2c360215a88e diff --git a/community-mod/libisofs/depends b/community-mod/libisofs/depends new file mode 100644 index 0000000..f22003e --- /dev/null +++ b/community-mod/libisofs/depends @@ -0,0 +1 @@ +zlib diff --git a/community-mod/libisofs/sources b/community-mod/libisofs/sources new file mode 100644 index 0000000..86cfdfe --- /dev/null +++ b/community-mod/libisofs/sources @@ -0,0 +1 @@ +https://files.libburnia-project.org/releases/libisofs-1.5.4.tar.gz diff --git a/community-mod/libisofs/version b/community-mod/libisofs/version new file mode 100644 index 0000000..de75e7c --- /dev/null +++ b/community-mod/libisofs/version @@ -0,0 +1 @@ +1.5.4 1 diff --git a/community-mod/libjpeg/build b/community-mod/libjpeg/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libjpeg/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libjpeg/checksums b/community-mod/libjpeg/checksums new file mode 100644 index 0000000..3b038d8 --- /dev/null +++ b/community-mod/libjpeg/checksums @@ -0,0 +1 @@ +6c434a3be59f8f62425b2e3c077e785c9ce30ee5874ea1c270e843f273ba71ee diff --git a/community-mod/libjpeg/sources b/community-mod/libjpeg/sources new file mode 100644 index 0000000..1c4664e --- /dev/null +++ b/community-mod/libjpeg/sources @@ -0,0 +1 @@ +https://www.ijg.org/files/jpegsrc.v9d.tar.gz diff --git a/community-mod/libjpeg/version b/community-mod/libjpeg/version new file mode 100644 index 0000000..781a245 --- /dev/null +++ b/community-mod/libjpeg/version @@ -0,0 +1 @@ +9 1 diff --git a/community-mod/libksba/build b/community-mod/libksba/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libksba/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libksba/checksums b/community-mod/libksba/checksums new file mode 100644 index 0000000..dabd54a --- /dev/null +++ b/community-mod/libksba/checksums @@ -0,0 +1 @@ +dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b diff --git a/community-mod/libksba/sources b/community-mod/libksba/sources new file mode 100644 index 0000000..b6811a0 --- /dev/null +++ b/community-mod/libksba/sources @@ -0,0 +1 @@ +https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.0.tar.bz2 diff --git a/community-mod/libksba/version b/community-mod/libksba/version new file mode 100644 index 0000000..bfa5a6a --- /dev/null +++ b/community-mod/libksba/version @@ -0,0 +1 @@ +1.6.0 1 diff --git a/community-mod/libmad/build b/community-mod/libmad/build new file mode 100755 index 0000000..e4f1730 --- /dev/null +++ b/community-mod/libmad/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +sed -i'' '/ -fforce-mem/d' configure + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libmad/checksums b/community-mod/libmad/checksums new file mode 100644 index 0000000..a4b9c3c --- /dev/null +++ b/community-mod/libmad/checksums @@ -0,0 +1 @@ +bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690 libmad-0.15.1b.tar.gz diff --git a/community-mod/libmad/sources b/community-mod/libmad/sources new file mode 100755 index 0000000..21d3185 --- /dev/null +++ b/community-mod/libmad/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz diff --git a/community-mod/libmad/version b/community-mod/libmad/version new file mode 100755 index 0000000..81a8958 --- /dev/null +++ b/community-mod/libmad/version @@ -0,0 +1 @@ +0.15.1b 1 diff --git a/community-mod/libmediainfo/build b/community-mod/libmediainfo/build new file mode 100755 index 0000000..a98d436 --- /dev/null +++ b/community-mod/libmediainfo/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +cd Project/GNU/Library + +./autogen.sh + +./configure \ + --prefix=/usr \ + --enable-shared \ + --disable-static \ + --with-libcurl \ + --with-libmms + +make +make DESTDIR="$1" install diff --git a/community-mod/libmediainfo/checksums b/community-mod/libmediainfo/checksums new file mode 100644 index 0000000..0286140 --- /dev/null +++ b/community-mod/libmediainfo/checksums @@ -0,0 +1 @@ +56b7e9abf80cba48032165cd7a46fd8d43dd63e3af35765f66c3f134caaca4ca diff --git a/community-mod/libmediainfo/depends b/community-mod/libmediainfo/depends new file mode 100644 index 0000000..177d9bf --- /dev/null +++ b/community-mod/libmediainfo/depends @@ -0,0 +1,2 @@ +libzen +pkgconf make diff --git a/community-mod/libmediainfo/sources b/community-mod/libmediainfo/sources new file mode 100644 index 0000000..8c6c593 --- /dev/null +++ b/community-mod/libmediainfo/sources @@ -0,0 +1 @@ +https://mediaarea.net/download/source/libmediainfo/21.03/libmediainfo_21.03.tar.xz diff --git a/community-mod/libmediainfo/version b/community-mod/libmediainfo/version new file mode 100644 index 0000000..7ead539 --- /dev/null +++ b/community-mod/libmediainfo/version @@ -0,0 +1 @@ +21.03 1 diff --git a/community-mod/libmpc/build b/community-mod/libmpc/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libmpc/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libmpc/checksums b/community-mod/libmpc/checksums new file mode 100644 index 0000000..0a104ca --- /dev/null +++ b/community-mod/libmpc/checksums @@ -0,0 +1 @@ +17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459 diff --git a/community-mod/libmpc/depends b/community-mod/libmpc/depends new file mode 100644 index 0000000..a3822e2 --- /dev/null +++ b/community-mod/libmpc/depends @@ -0,0 +1 @@ +libmpfr diff --git a/community-mod/libmpc/sources b/community-mod/libmpc/sources new file mode 100644 index 0000000..c4f29c2 --- /dev/null +++ b/community-mod/libmpc/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz diff --git a/community-mod/libmpc/version b/community-mod/libmpc/version new file mode 100644 index 0000000..cd3d02b --- /dev/null +++ b/community-mod/libmpc/version @@ -0,0 +1 @@ +1.2.1 1 diff --git a/community-mod/libmpfr/build b/community-mod/libmpfr/build new file mode 100755 index 0000000..9e85cfc --- /dev/null +++ b/community-mod/libmpfr/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-shared + +make +make DESTDIR="$1" install diff --git a/community-mod/libmpfr/checksums b/community-mod/libmpfr/checksums new file mode 100644 index 0000000..fe27d86 --- /dev/null +++ b/community-mod/libmpfr/checksums @@ -0,0 +1 @@ +0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f mpfr-4.1.0.tar.xz diff --git a/community-mod/libmpfr/depends b/community-mod/libmpfr/depends new file mode 100644 index 0000000..17ca61b --- /dev/null +++ b/community-mod/libmpfr/depends @@ -0,0 +1 @@ +libgmp diff --git a/community-mod/libmpfr/sources b/community-mod/libmpfr/sources new file mode 100644 index 0000000..a68892a --- /dev/null +++ b/community-mod/libmpfr/sources @@ -0,0 +1 @@ +https://www.mpfr.org/mpfr-current/mpfr-4.1.0.tar.xz diff --git a/community-mod/libmpfr/version b/community-mod/libmpfr/version new file mode 100644 index 0000000..1bc2766 --- /dev/null +++ b/community-mod/libmpfr/version @@ -0,0 +1 @@ +4.1.0 1 diff --git a/community-mod/libnghttp2/build b/community-mod/libnghttp2/build new file mode 100755 index 0000000..c196215 --- /dev/null +++ b/community-mod/libnghttp2/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-examples \ + --disable-python-bindings \ + --enable-lib-only + +make +make DESTDIR="$1" install diff --git a/community-mod/libnghttp2/checksums b/community-mod/libnghttp2/checksums new file mode 100644 index 0000000..61675a6 --- /dev/null +++ b/community-mod/libnghttp2/checksums @@ -0,0 +1 @@ +f7d54fa6f8aed29f695ca44612136fa2359013547394d5dffeffca9e01a26b0f diff --git a/community-mod/libnghttp2/sources b/community-mod/libnghttp2/sources new file mode 100644 index 0000000..5a3be4a --- /dev/null +++ b/community-mod/libnghttp2/sources @@ -0,0 +1 @@ +https://github.com/nghttp2/nghttp2/releases/download/v1.43.0/nghttp2-1.43.0.tar.xz diff --git a/community-mod/libnghttp2/version b/community-mod/libnghttp2/version new file mode 100644 index 0000000..57b0488 --- /dev/null +++ b/community-mod/libnghttp2/version @@ -0,0 +1 @@ +1.43.0 1 diff --git a/community-mod/libnl/build b/community-mod/libnl/build new file mode 100755 index 0000000..105b0ee --- /dev/null +++ b/community-mod/libnl/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/community-mod/libnl/checksums b/community-mod/libnl/checksums new file mode 100644 index 0000000..44ea30a --- /dev/null +++ b/community-mod/libnl/checksums @@ -0,0 +1 @@ +352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa libnl-3.5.0.tar.gz diff --git a/community-mod/libnl/sources b/community-mod/libnl/sources new file mode 100644 index 0000000..47e8b9d --- /dev/null +++ b/community-mod/libnl/sources @@ -0,0 +1 @@ +https://github.com/thom311/libnl/releases/download/libnl3_5_0/libnl-3.5.0.tar.gz diff --git a/community-mod/libnl/version b/community-mod/libnl/version new file mode 100644 index 0000000..ad1efe9 --- /dev/null +++ b/community-mod/libnl/version @@ -0,0 +1 @@ +3.5.0 1 diff --git a/community-mod/libnpth/build b/community-mod/libnpth/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libnpth/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libnpth/checksums b/community-mod/libnpth/checksums new file mode 100644 index 0000000..22a525b --- /dev/null +++ b/community-mod/libnpth/checksums @@ -0,0 +1 @@ +1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1 npth-1.6.tar.bz2 diff --git a/community-mod/libnpth/sources b/community-mod/libnpth/sources new file mode 100644 index 0000000..1ed1414 --- /dev/null +++ b/community-mod/libnpth/sources @@ -0,0 +1 @@ +https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2 diff --git a/community-mod/libnpth/version b/community-mod/libnpth/version new file mode 100644 index 0000000..14aaeb3 --- /dev/null +++ b/community-mod/libnpth/version @@ -0,0 +1 @@ +1.6 1 diff --git a/community-mod/libpcap/build b/community-mod/libpcap/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libpcap/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libpcap/checksums b/community-mod/libpcap/checksums new file mode 100644 index 0000000..edc9c97 --- /dev/null +++ b/community-mod/libpcap/checksums @@ -0,0 +1 @@ +8d12b42623eeefee872f123bd0dc85d535b00df4d42e865f993c40f7bfc92b1e diff --git a/community-mod/libpcap/sources b/community-mod/libpcap/sources new file mode 100644 index 0000000..ef130b3 --- /dev/null +++ b/community-mod/libpcap/sources @@ -0,0 +1 @@ +https://www.tcpdump.org/release/libpcap-1.10.0.tar.gz diff --git a/community-mod/libpcap/version b/community-mod/libpcap/version new file mode 100644 index 0000000..ac83b38 --- /dev/null +++ b/community-mod/libpcap/version @@ -0,0 +1 @@ +1.10.0 1 diff --git a/community-mod/libpsl/build b/community-mod/libpsl/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libpsl/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libpsl/checksums b/community-mod/libpsl/checksums new file mode 100644 index 0000000..e46c48d --- /dev/null +++ b/community-mod/libpsl/checksums @@ -0,0 +1 @@ +ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c diff --git a/community-mod/libpsl/depends b/community-mod/libpsl/depends new file mode 100644 index 0000000..29c6b76 --- /dev/null +++ b/community-mod/libpsl/depends @@ -0,0 +1,2 @@ +icu +python make diff --git a/community-mod/libpsl/sources b/community-mod/libpsl/sources new file mode 100644 index 0000000..57a914d --- /dev/null +++ b/community-mod/libpsl/sources @@ -0,0 +1 @@ +https://github.com/rockdaboot/libpsl/releases/download/0.21.1/libpsl-0.21.1.tar.gz diff --git a/community-mod/libpsl/version b/community-mod/libpsl/version new file mode 100644 index 0000000..e54d47e --- /dev/null +++ b/community-mod/libpsl/version @@ -0,0 +1 @@ +0.21.1 3 diff --git a/community-mod/libseccomp/build b/community-mod/libseccomp/build new file mode 100755 index 0000000..1534d15 --- /dev/null +++ b/community-mod/libseccomp/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +sed -i '//d' src/system.h + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libseccomp/checksums b/community-mod/libseccomp/checksums new file mode 100644 index 0000000..42d64b5 --- /dev/null +++ b/community-mod/libseccomp/checksums @@ -0,0 +1 @@ +ee307e383c77aa7995abc5ada544d51c9723ae399768a97667d4cdb3c3a30d55 diff --git a/community-mod/libseccomp/depends b/community-mod/libseccomp/depends new file mode 100644 index 0000000..4a6884f --- /dev/null +++ b/community-mod/libseccomp/depends @@ -0,0 +1 @@ +gperf make diff --git a/community-mod/libseccomp/sources b/community-mod/libseccomp/sources new file mode 100644 index 0000000..85c3b9f --- /dev/null +++ b/community-mod/libseccomp/sources @@ -0,0 +1 @@ +https://github.com/seccomp/libseccomp/releases/download/v2.5.1/libseccomp-2.5.1.tar.gz diff --git a/community-mod/libseccomp/version b/community-mod/libseccomp/version new file mode 100644 index 0000000..0a50c00 --- /dev/null +++ b/community-mod/libseccomp/version @@ -0,0 +1 @@ +2.5.1 1 diff --git a/community-mod/libsixel/build b/community-mod/libsixel/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libsixel/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libsixel/checksums b/community-mod/libsixel/checksums new file mode 100644 index 0000000..f840224 --- /dev/null +++ b/community-mod/libsixel/checksums @@ -0,0 +1 @@ +9f6dcaf40d250614ce0121b153949c327c46a958cfd2e47750d8788b7ed28e6a diff --git a/community-mod/libsixel/depends b/community-mod/libsixel/depends new file mode 100644 index 0000000..55a2fa3 --- /dev/null +++ b/community-mod/libsixel/depends @@ -0,0 +1,2 @@ +libjpeg-turbo +libpng diff --git a/community-mod/libsixel/sources b/community-mod/libsixel/sources new file mode 100644 index 0000000..921fd64 --- /dev/null +++ b/community-mod/libsixel/sources @@ -0,0 +1 @@ +https://github.com/saitoha/libsixel/releases/download/v1.8.6/libsixel-1.8.6.tar.gz diff --git a/community-mod/libsixel/version b/community-mod/libsixel/version new file mode 100644 index 0000000..1cb00c8 --- /dev/null +++ b/community-mod/libsixel/version @@ -0,0 +1 @@ +1.8.6 1 diff --git a/community-mod/libsodium/build b/community-mod/libsodium/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libsodium/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libsodium/checksums b/community-mod/libsodium/checksums new file mode 100644 index 0000000..6156ee3 --- /dev/null +++ b/community-mod/libsodium/checksums @@ -0,0 +1 @@ +6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1 libsodium-1.0.18.tar.gz diff --git a/community-mod/libsodium/sources b/community-mod/libsodium/sources new file mode 100644 index 0000000..d1d7b4c --- /dev/null +++ b/community-mod/libsodium/sources @@ -0,0 +1 @@ +https://github.com/jedisct1/libsodium/releases/download/1.0.18-RELEASE/libsodium-1.0.18.tar.gz diff --git a/community-mod/libsodium/version b/community-mod/libsodium/version new file mode 100644 index 0000000..dd3ab87 --- /dev/null +++ b/community-mod/libsodium/version @@ -0,0 +1 @@ +1.0.18 1 diff --git a/community-mod/libsoup/build b/community-mod/libsoup/build new file mode 100755 index 0000000..334686c --- /dev/null +++ b/community-mod/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/community-mod/libsoup/checksums b/community-mod/libsoup/checksums new file mode 100644 index 0000000..6216aaf --- /dev/null +++ b/community-mod/libsoup/checksums @@ -0,0 +1 @@ +170c3f8446b0f65f8e4b93603349172b1085fb8917c181d10962f02bb85f5387 libsoup-2.72.0.tar.xz diff --git a/community-mod/libsoup/depends b/community-mod/libsoup/depends new file mode 100644 index 0000000..dba55b4 --- /dev/null +++ b/community-mod/libsoup/depends @@ -0,0 +1,8 @@ +glib +glib-networking +libpsl +libxml2 +meson make +pkgconf make +sqlite +zlib diff --git a/community-mod/libsoup/sources b/community-mod/libsoup/sources new file mode 100644 index 0000000..c350cd2 --- /dev/null +++ b/community-mod/libsoup/sources @@ -0,0 +1 @@ +https://download.gnome.org/sources/libsoup/2.72/libsoup-2.72.0.tar.xz diff --git a/community-mod/libsoup/version b/community-mod/libsoup/version new file mode 100644 index 0000000..84ab5da --- /dev/null +++ b/community-mod/libsoup/version @@ -0,0 +1 @@ +2.72.0 1 diff --git a/community-mod/libtasn1/build b/community-mod/libtasn1/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libtasn1/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libtasn1/checksums b/community-mod/libtasn1/checksums new file mode 100644 index 0000000..208a370 --- /dev/null +++ b/community-mod/libtasn1/checksums @@ -0,0 +1 @@ +0e0fb0903839117cb6e3b56e68222771bebf22ad7fc2295a0ed7d576e8d4329d diff --git a/community-mod/libtasn1/sources b/community-mod/libtasn1/sources new file mode 100644 index 0000000..66a5930 --- /dev/null +++ b/community-mod/libtasn1/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.16.0.tar.gz diff --git a/community-mod/libtasn1/version b/community-mod/libtasn1/version new file mode 100644 index 0000000..5695e87 --- /dev/null +++ b/community-mod/libtasn1/version @@ -0,0 +1 @@ +4.16.0 1 diff --git a/community-mod/libtermkey/build b/community-mod/libtermkey/build new file mode 100755 index 0000000..a40ac6b --- /dev/null +++ b/community-mod/libtermkey/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +patch -p1 < static-no-libtool.patch + +make libtermkey.a +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/libtermkey/checksums b/community-mod/libtermkey/checksums new file mode 100644 index 0000000..992b7ca --- /dev/null +++ b/community-mod/libtermkey/checksums @@ -0,0 +1,2 @@ +3bf45d27e0eed46f1ff1b9faccefee927617cb5aabaec73a7c896553ba55894c +3f3a6099d90569671034d2d1a8817522933f24f875112a6f4fc6af96de96ab7a diff --git a/community-mod/libtermkey/depends b/community-mod/libtermkey/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/libtermkey/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/libtermkey/patches/static-no-libtool.patch b/community-mod/libtermkey/patches/static-no-libtool.patch new file mode 100644 index 0000000..248937d --- /dev/null +++ b/community-mod/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/community-mod/libtermkey/sources b/community-mod/libtermkey/sources new file mode 100644 index 0000000..b6e2878 --- /dev/null +++ b/community-mod/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/community-mod/libtermkey/version b/community-mod/libtermkey/version new file mode 100644 index 0000000..4a159ec --- /dev/null +++ b/community-mod/libtermkey/version @@ -0,0 +1 @@ +0.22 2 diff --git a/community-mod/libtirpc/build b/community-mod/libtirpc/build new file mode 100755 index 0000000..cd73e35 --- /dev/null +++ b/community-mod/libtirpc/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-static \ + --disable-gssapi + +make +make DESTDIR="$1" install diff --git a/community-mod/libtirpc/checksums b/community-mod/libtirpc/checksums new file mode 100644 index 0000000..6663fa0 --- /dev/null +++ b/community-mod/libtirpc/checksums @@ -0,0 +1 @@ +e24eb88b8ce7db3b7ca6eb80115dd1284abc5ec32a8deccfed2224fc2532b9fd diff --git a/community-mod/libtirpc/sources b/community-mod/libtirpc/sources new file mode 100644 index 0000000..2b5f041 --- /dev/null +++ b/community-mod/libtirpc/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.2.tar.bz2 diff --git a/community-mod/libtirpc/version b/community-mod/libtirpc/version new file mode 100644 index 0000000..a8cebfe --- /dev/null +++ b/community-mod/libtirpc/version @@ -0,0 +1 @@ +1.3.2 1 diff --git a/community-mod/libtool/build b/community-mod/libtool/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libtool/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libtool/checksums b/community-mod/libtool/checksums new file mode 100644 index 0000000..238a49a --- /dev/null +++ b/community-mod/libtool/checksums @@ -0,0 +1 @@ +7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f libtool-2.4.6.tar.xz diff --git a/community-mod/libtool/depends b/community-mod/libtool/depends new file mode 100644 index 0000000..8fd1a89 --- /dev/null +++ b/community-mod/libtool/depends @@ -0,0 +1,2 @@ +m4 +perl diff --git a/community-mod/libtool/sources b/community-mod/libtool/sources new file mode 100644 index 0000000..5f32de1 --- /dev/null +++ b/community-mod/libtool/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz diff --git a/community-mod/libtool/version b/community-mod/libtool/version new file mode 100644 index 0000000..dd1cfc6 --- /dev/null +++ b/community-mod/libtool/version @@ -0,0 +1 @@ +2.4.6 1 diff --git a/community-mod/libtorrent/build b/community-mod/libtorrent/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libtorrent/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libtorrent/checksums b/community-mod/libtorrent/checksums new file mode 100644 index 0000000..46eb8a5 --- /dev/null +++ b/community-mod/libtorrent/checksums @@ -0,0 +1 @@ +ed115a28f4ae8cfcd33b94a597c076ca74fd549867a26e4fac9505c27288e983 libtorrent-0.13.8.tar.gz diff --git a/community-mod/libtorrent/depends b/community-mod/libtorrent/depends new file mode 100644 index 0000000..5e737b4 --- /dev/null +++ b/community-mod/libtorrent/depends @@ -0,0 +1 @@ +pkgconf make diff --git a/community-mod/libtorrent/sources b/community-mod/libtorrent/sources new file mode 100644 index 0000000..731e791 --- /dev/null +++ b/community-mod/libtorrent/sources @@ -0,0 +1 @@ +https://rtorrent.net/downloads/libtorrent-0.13.8.tar.gz diff --git a/community-mod/libtorrent/version b/community-mod/libtorrent/version new file mode 100644 index 0000000..a66148b --- /dev/null +++ b/community-mod/libtorrent/version @@ -0,0 +1 @@ +0.13.8 1 diff --git a/community-mod/libunistring/build b/community-mod/libunistring/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libunistring/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libunistring/checksums b/community-mod/libunistring/checksums new file mode 100644 index 0000000..9995e42 --- /dev/null +++ b/community-mod/libunistring/checksums @@ -0,0 +1 @@ +eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7 diff --git a/community-mod/libunistring/sources b/community-mod/libunistring/sources new file mode 100644 index 0000000..5e2e2b1 --- /dev/null +++ b/community-mod/libunistring/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/libunistring/libunistring-0.9.10.tar.xz diff --git a/community-mod/libunistring/version b/community-mod/libunistring/version new file mode 100644 index 0000000..b1465b7 --- /dev/null +++ b/community-mod/libunistring/version @@ -0,0 +1 @@ +0.9.10 1 diff --git a/community-mod/libusb/build b/community-mod/libusb/build new file mode 100755 index 0000000..b207bcb --- /dev/null +++ b/community-mod/libusb/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-udev + +make +make DESTDIR="$1" install diff --git a/community-mod/libusb/checksums b/community-mod/libusb/checksums new file mode 100644 index 0000000..c0a38c3 --- /dev/null +++ b/community-mod/libusb/checksums @@ -0,0 +1 @@ +7efd2685f7b327326dcfb85cee426d9b871fd70e22caa15bb68d595ce2a2b12a diff --git a/community-mod/libusb/sources b/community-mod/libusb/sources new file mode 100644 index 0000000..89167de --- /dev/null +++ b/community-mod/libusb/sources @@ -0,0 +1 @@ +https://github.com/libusb/libusb/releases/download/v1.0.24/libusb-1.0.24.tar.bz2 diff --git a/community-mod/libusb/version b/community-mod/libusb/version new file mode 100644 index 0000000..163aac1 --- /dev/null +++ b/community-mod/libusb/version @@ -0,0 +1 @@ +1.0.24 1 diff --git a/community-mod/libuv/build b/community-mod/libuv/build new file mode 100755 index 0000000..65a28cd --- /dev/null +++ b/community-mod/libuv/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib + +cmake --build build +cmake --install build diff --git a/community-mod/libuv/checksums b/community-mod/libuv/checksums new file mode 100644 index 0000000..126be5a --- /dev/null +++ b/community-mod/libuv/checksums @@ -0,0 +1 @@ +1184533907e1ddad9c0dcd30a5abb0fe25288c287ff7fee303fff7b9b2d6eb6e diff --git a/community-mod/libuv/depends b/community-mod/libuv/depends new file mode 100644 index 0000000..7d91ec2 --- /dev/null +++ b/community-mod/libuv/depends @@ -0,0 +1 @@ +cmake make diff --git a/community-mod/libuv/sources b/community-mod/libuv/sources new file mode 100644 index 0000000..009a398 --- /dev/null +++ b/community-mod/libuv/sources @@ -0,0 +1 @@ +https://dist.libuv.org/dist/v1.41.0/libuv-v1.41.0.tar.gz diff --git a/community-mod/libuv/version b/community-mod/libuv/version new file mode 100644 index 0000000..bab56fd --- /dev/null +++ b/community-mod/libuv/version @@ -0,0 +1 @@ +1.41.0 1 diff --git a/community-mod/libvncserver/build b/community-mod/libvncserver/build new file mode 100755 index 0000000..62a16b0 --- /dev/null +++ b/community-mod/libvncserver/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DWITH_OPENSSL=ON + +cmake --build build +cmake --install build diff --git a/community-mod/libvncserver/checksums b/community-mod/libvncserver/checksums new file mode 100644 index 0000000..c7e5431 --- /dev/null +++ b/community-mod/libvncserver/checksums @@ -0,0 +1 @@ +0ae5bb9175dc0a602fe85c1cf591ac47ee5247b87f2bf164c16b05f87cbfa81a LibVNCServer-0.9.13.tar.gz diff --git a/community-mod/libvncserver/depends b/community-mod/libvncserver/depends new file mode 100644 index 0000000..7d91ec2 --- /dev/null +++ b/community-mod/libvncserver/depends @@ -0,0 +1 @@ +cmake make diff --git a/community-mod/libvncserver/sources b/community-mod/libvncserver/sources new file mode 100644 index 0000000..034d5e0 --- /dev/null +++ b/community-mod/libvncserver/sources @@ -0,0 +1 @@ +https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.13.tar.gz diff --git a/community-mod/libvncserver/version b/community-mod/libvncserver/version new file mode 100644 index 0000000..592eccd --- /dev/null +++ b/community-mod/libvncserver/version @@ -0,0 +1 @@ +0.9.13 1 diff --git a/community-mod/libxml2/build b/community-mod/libxml2/build new file mode 100755 index 0000000..a568fbd --- /dev/null +++ b/community-mod/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/community-mod/libxml2/checksums b/community-mod/libxml2/checksums new file mode 100644 index 0000000..28697ab --- /dev/null +++ b/community-mod/libxml2/checksums @@ -0,0 +1 @@ +65ee7a2f5e100c64ddf7beb92297c9b2a30b994a76cd1fab67470cf22db6b7d0 diff --git a/community-mod/libxml2/depends b/community-mod/libxml2/depends new file mode 100644 index 0000000..8c24938 --- /dev/null +++ b/community-mod/libxml2/depends @@ -0,0 +1,2 @@ +xz +zlib diff --git a/community-mod/libxml2/sources b/community-mod/libxml2/sources new file mode 100644 index 0000000..215b240 --- /dev/null +++ b/community-mod/libxml2/sources @@ -0,0 +1 @@ +https://deb.debian.org/debian/pool/main/libx/libxml2/libxml2_2.9.10+dfsg.orig.tar.xz diff --git a/community-mod/libxml2/version b/community-mod/libxml2/version new file mode 100644 index 0000000..af4c1a1 --- /dev/null +++ b/community-mod/libxml2/version @@ -0,0 +1 @@ +2.9.10 1 diff --git a/community-mod/libxslt/build b/community-mod/libxslt/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/libxslt/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/libxslt/checksums b/community-mod/libxslt/checksums new file mode 100644 index 0000000..e648f35 --- /dev/null +++ b/community-mod/libxslt/checksums @@ -0,0 +1 @@ +98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f diff --git a/community-mod/libxslt/depends b/community-mod/libxslt/depends new file mode 100644 index 0000000..e62d874 --- /dev/null +++ b/community-mod/libxslt/depends @@ -0,0 +1,2 @@ +libxml2 +pkgconf make diff --git a/community-mod/libxslt/sources b/community-mod/libxslt/sources new file mode 100644 index 0000000..a25df5f --- /dev/null +++ b/community-mod/libxslt/sources @@ -0,0 +1 @@ +https://fossies.org/linux/www/libxslt-1.1.34.tar.gz diff --git a/community-mod/libxslt/version b/community-mod/libxslt/version new file mode 100644 index 0000000..6364ddb --- /dev/null +++ b/community-mod/libxslt/version @@ -0,0 +1 @@ +1.1.34 1 diff --git a/community-mod/libyajl/build b/community-mod/libyajl/build new file mode 100755 index 0000000..3243d7f --- /dev/null +++ b/community-mod/libyajl/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + -p /usr + +make -j1 +make DESTDIR="$1" install diff --git a/community-mod/libyajl/checksums b/community-mod/libyajl/checksums new file mode 100644 index 0000000..99479ef --- /dev/null +++ b/community-mod/libyajl/checksums @@ -0,0 +1 @@ +3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a 2.1.0.tar.gz diff --git a/community-mod/libyajl/sources b/community-mod/libyajl/sources new file mode 100644 index 0000000..d57773c --- /dev/null +++ b/community-mod/libyajl/sources @@ -0,0 +1 @@ +https://github.com/lloyd/yajl/archive/2.1.0.tar.gz diff --git a/community-mod/libyajl/version b/community-mod/libyajl/version new file mode 100644 index 0000000..c7e6491 --- /dev/null +++ b/community-mod/libyajl/version @@ -0,0 +1 @@ +2.1.0 1 diff --git a/community-mod/libzen/build b/community-mod/libzen/build new file mode 100755 index 0000000..54ea2d1 --- /dev/null +++ b/community-mod/libzen/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +cd Project/GNU/Library + +./autogen.sh + +./configure \ + --prefix=/usr \ + --enable-shared + +make +make DESTDIR="$1" install diff --git a/community-mod/libzen/checksums b/community-mod/libzen/checksums new file mode 100644 index 0000000..15ba2f5 --- /dev/null +++ b/community-mod/libzen/checksums @@ -0,0 +1 @@ +bd2772ab1ae4e375cdbbbdd114ad8471ebe67bf78c76e3812d66c7d462ed8ae7 diff --git a/community-mod/libzen/depends b/community-mod/libzen/depends new file mode 100644 index 0000000..71f2bb8 --- /dev/null +++ b/community-mod/libzen/depends @@ -0,0 +1,2 @@ +automake make +libtool make diff --git a/community-mod/libzen/sources b/community-mod/libzen/sources new file mode 100644 index 0000000..968efdf --- /dev/null +++ b/community-mod/libzen/sources @@ -0,0 +1 @@ +https://mediaarea.net/download/source/libzen/0.4.39/libzen_0.4.39.tar.bz2 diff --git a/community-mod/libzen/version b/community-mod/libzen/version new file mode 100644 index 0000000..b286a86 --- /dev/null +++ b/community-mod/libzen/version @@ -0,0 +1 @@ +0.4.39 1 diff --git a/community-mod/lilo/build b/community-mod/lilo/build new file mode 100755 index 0000000..74bb5a1 --- /dev/null +++ b/community-mod/lilo/build @@ -0,0 +1,34 @@ +#!/bin/sh -e + +( + cd bin86 + + patch -p1 < ../x86_64.patch + + make -j1 CFLAGS="$CFLAGS -D_POSIX_SOURCE" PREFIX="$PWD/../bin86" + make install +) + +export PATH=$PWD/bin86/bin:$PATH + +patch -p1 < musl.patch + +# shellcheck disable=2016,2016 +sed -i '/strip/d;s|^ make| $(MAKE)|g' Makefile src/Makefile +sed -i "/images install/d" Makefile src/Makefile +sed -i "/images all/d" Makefile src/Makefile + +export LC_ALL=C + +make CFLAGS="-fcommon" all +make DESTDIR="$1" install + +install -Dm 644 lilo.conf "$1/etc/lilo.conf" + +mv "$1/usr/sbin/" "$1/usr/bin/" +mv "$1/sbin/lilo" "$1/usr/bin/lilo" +rmdir "$1/sbin" + +rm -rf "$1/etc/initramfs" +rm -rf "$1/etc/kernel" +rm -rf "$1/etc/lilo.conf_example" diff --git a/community-mod/lilo/checksums b/community-mod/lilo/checksums new file mode 100644 index 0000000..e9c5f13 --- /dev/null +++ b/community-mod/lilo/checksums @@ -0,0 +1,5 @@ +021e37cde3a20632c4c9000993cb4aa9f58cb82b1d3c26b9aeb62d6566925738 bin86-0.16.21.tar.gz +e158f19de4560c935ebe0507c21b79bff17618b9230d8076fe8c5fff9fdbd5b1 lilo-24.2.tar.gz +270971e830ae4a0729a86ce2cfc05b7c9b4cba10aec6d555e62e2cd7b176887d lilo.conf +bf2173fb2d31749387c85da810ca103bc17e77c4c8361a2b7b9c6992ac0f2063 musl.patch +f69599d1f5cf57fc3eb4d4be5d5253f4189292afe70b20c8000dc95d121d555d x86_64.patch diff --git a/community-mod/lilo/depends b/community-mod/lilo/depends new file mode 100644 index 0000000..6f88eb9 --- /dev/null +++ b/community-mod/lilo/depends @@ -0,0 +1 @@ +lvm2 diff --git a/community-mod/lilo/files/lilo.conf b/community-mod/lilo/files/lilo.conf new file mode 100644 index 0000000..7587f35 --- /dev/null +++ b/community-mod/lilo/files/lilo.conf @@ -0,0 +1,19 @@ +# +# /etc/lilo.conf: lilo configuration +# + +boot=/dev/sda +# This line often fixes L40 errors on bootup +# disk=/dev/sda bios=0x80 + +default=KISS +timeout=50 +lba32 +compact + +image=/boot/vmlinuz + label=KISS + root=/dev/sda3 + read-only + +# End of file diff --git a/community-mod/lilo/patches/musl.patch b/community-mod/lilo/patches/musl.patch new file mode 100644 index 0000000..541c1dd --- /dev/null +++ b/community-mod/lilo/patches/musl.patch @@ -0,0 +1,26 @@ +--- a/src/lilo.c ++++ b/src/lilo.c +@@ -182,7 +182,6 @@ extern int has_partitions_beta(dev_t dev); /* defined in geometry.c */ + printf("Without"); + #endif + printf(" device-mapper\n"); +- printf("\nglibc version %d.%d\n", __GLIBC__, __GLIBC_MINOR__); + printf("Kernel Headers included from %d.%d.%d\n", + LINUX_VERSION_CODE>>16, + LINUX_VERSION_CODE>>8 & 255, +--- a/src/common.h 2011-06-22 03:13:27.000000000 -0400 ++++ b/src/common.h 2015-07-22 19:27:06.272990549 -0400 +@@ -23,12 +23,7 @@ + # define PAGE_SIZE 4096U + #endif + +-#ifdef O_ACCMODE +-# define O_NOACCESS O_ACCMODE +-#else +-/* open a file for "no access" */ +-# define O_NOACCESS 3 +-#endif ++#define O_NOACCESS O_RDONLY + + /* special for LILO, bypass the actual open in dev_open( , ,-1) */ + #define O_BYPASS -1 diff --git a/community-mod/lilo/patches/x86_64.patch b/community-mod/lilo/patches/x86_64.patch new file mode 100644 index 0000000..b1553ff --- /dev/null +++ b/community-mod/lilo/patches/x86_64.patch @@ -0,0 +1,44 @@ +Submitted By: Ken Moffat +Date: 2005-06-28 +Initial Package Version: 0.16.14 +Upstream Status: Submitted Upstream +Origin: from ROCK Linux +Description: Allows bin86 to compile on x86_64, which permits lilo to + be used in a 64-bit system. I'm dubious about ROCK's attempts to + automatically add dual-licensing to all their patches, but bin86 is + already GPL'd. I've heard from the maintainer that this will be + included in the next upload. + + +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/x86/bin86/x86_64.patch +# ROCK Linux is Copyright (C) 1998 - 2005 Clifford Wolf +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +diff -urN bin86-0.16.14-orig/ld/x86_aout.h bin86-0.16.14/ld/x86_aout.h +--- bin86-0.16.14-orig/ld/x86_aout.h 2004-11-07 20:07:31.506442000 +0100 ++++ bin86-0.16.14/ld/x86_aout.h 2004-11-07 20:07:41.106982496 +0100 +@@ -12,6 +12,9 @@ + #if defined(i386) || defined(__BCC__) || defined(MSDOS) + typedef long Long; + #define __OUT_OK 1 ++#elif defined(__x86_64__) ++typedef int Long; ++#define __OUT_OK 1 + #else + /* Beware: this will probably allow some BE hosts to generate broken files. */ + #ifdef INT32_MAX diff --git a/community-mod/lilo/sources b/community-mod/lilo/sources new file mode 100644 index 0000000..564908a --- /dev/null +++ b/community-mod/lilo/sources @@ -0,0 +1,5 @@ +https://mirror.netcologne.de/gentoo/distfiles/bin86-0.16.21.tar.gz bin86 +https://www.joonet.de/lilo/ftp/sources/lilo-24.2.tar.gz +files/lilo.conf +patches/musl.patch +patches/x86_64.patch diff --git a/community-mod/lilo/version b/community-mod/lilo/version new file mode 100644 index 0000000..7326077 --- /dev/null +++ b/community-mod/lilo/version @@ -0,0 +1 @@ +24.2 2 diff --git a/community-mod/lld/build b/community-mod/lld/build new file mode 100755 index 0000000..367d771 --- /dev/null +++ b/community-mod/lld/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +install -Dm644 libunwind/include/mach-o/compact_unwind_encoding.h include/mach-o/compact_unwind_encoding.h + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -Wno-dev + +cmake --build build +cmake --install build + +ln -s lld "$1/usr/bin/ld" diff --git a/community-mod/lld/checksums b/community-mod/lld/checksums new file mode 100644 index 0000000..9b3ae27 --- /dev/null +++ b/community-mod/lld/checksums @@ -0,0 +1,2 @@ +2cb7d497f3ce33ce8a2c50ad26ec93a8c45f57268d4d96953cd0f25566f753fd +9ed2a5b28853f7f58be9d04836ff43d6e4132df5a2c058b690dc3e9d75bd1cf5 diff --git a/community-mod/lld/depends b/community-mod/lld/depends new file mode 100644 index 0000000..453889a --- /dev/null +++ b/community-mod/lld/depends @@ -0,0 +1 @@ +llvm diff --git a/community-mod/lld/sources b/community-mod/lld/sources new file mode 100644 index 0000000..7b5b367 --- /dev/null +++ b/community-mod/lld/sources @@ -0,0 +1,2 @@ +https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/lld-12.0.0.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/libunwind-12.0.0.src.tar.xz libunwind diff --git a/community-mod/lld/version b/community-mod/lld/version new file mode 100644 index 0000000..1284e40 --- /dev/null +++ b/community-mod/lld/version @@ -0,0 +1 @@ +12.0.0 1 diff --git a/community-mod/lm-sensors/build b/community-mod/lm-sensors/build new file mode 100755 index 0000000..220fdb6 --- /dev/null +++ b/community-mod/lm-sensors/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +make +make \ + DESTDIR="$1" \ + PREFIX=/usr \ + SBINDIR=/usr/bin \ + MANDIR=/usr/share/man \ + install diff --git a/community-mod/lm-sensors/checksums b/community-mod/lm-sensors/checksums new file mode 100644 index 0000000..124fbbf --- /dev/null +++ b/community-mod/lm-sensors/checksums @@ -0,0 +1 @@ +0591f9fa0339f0d15e75326d0365871c2d4e2ed8aa1ff759b3a55d3734b7d197 diff --git a/community-mod/lm-sensors/depends b/community-mod/lm-sensors/depends new file mode 100644 index 0000000..706d0b0 --- /dev/null +++ b/community-mod/lm-sensors/depends @@ -0,0 +1,2 @@ +bison make +flex make diff --git a/community-mod/lm-sensors/sources b/community-mod/lm-sensors/sources new file mode 100644 index 0000000..c432cd8 --- /dev/null +++ b/community-mod/lm-sensors/sources @@ -0,0 +1 @@ +https://github.com/lm-sensors/lm-sensors/archive/V3-6-0.tar.gz diff --git a/community-mod/lm-sensors/version b/community-mod/lm-sensors/version new file mode 100644 index 0000000..46df76b --- /dev/null +++ b/community-mod/lm-sensors/version @@ -0,0 +1 @@ +3.6.0 1 diff --git a/community-mod/lmdb/build b/community-mod/lmdb/build new file mode 100755 index 0000000..f18163c --- /dev/null +++ b/community-mod/lmdb/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +cd libraries/liblmdb + +make CC="${CC:-cc}" +make DESTDIR="$1" prefix=/usr install diff --git a/community-mod/lmdb/checksums b/community-mod/lmdb/checksums new file mode 100644 index 0000000..3b01ae3 --- /dev/null +++ b/community-mod/lmdb/checksums @@ -0,0 +1 @@ +22054926b426c66d8f2bc22071365df6e35f3aacf19ad943bc6167d4cae3bebb diff --git a/community-mod/lmdb/sources b/community-mod/lmdb/sources new file mode 100644 index 0000000..1a90528 --- /dev/null +++ b/community-mod/lmdb/sources @@ -0,0 +1 @@ +https://github.com/LMDB/lmdb/archive/refs/tags/LMDB_0.9.29.tar.gz diff --git a/community-mod/lmdb/version b/community-mod/lmdb/version new file mode 100644 index 0000000..658e6cf --- /dev/null +++ b/community-mod/lmdb/version @@ -0,0 +1 @@ +0.9.29 1 diff --git a/community-mod/lsof/build b/community-mod/lsof/build new file mode 100755 index 0000000..4b0e14d --- /dev/null +++ b/community-mod/lsof/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +export LSOF_CC="$CC" +export LSOF_CFGF="$CFLAGS" +export LSOF_CFGL="$LDFLAGS" + +# Uncomment 'HASSECURITY' to non-root user may list only files whose processes +# have the same user ID as the real user ID of the 'lsof' process. +sed 's|/\* \(#define\tHASSECURITY\t1\) \*/|\1|' -i dialects/linux/machine.h + +./Configure -n linux + +make +install -Dm755 lsof "$1/usr/bin/lsof" +install -Dm644 Lsof.8 "$1/usr/share/man/man1/lsof.8" diff --git a/community-mod/lsof/checksums b/community-mod/lsof/checksums new file mode 100644 index 0000000..d50d88b --- /dev/null +++ b/community-mod/lsof/checksums @@ -0,0 +1 @@ +a9865eeb581c3abaac7426962ddb112ecfd86a5ae93086eb4581ce100f8fa8f4 diff --git a/community-mod/lsof/sources b/community-mod/lsof/sources new file mode 100644 index 0000000..e3edc13 --- /dev/null +++ b/community-mod/lsof/sources @@ -0,0 +1 @@ +https://github.com/lsof-org/lsof/archive/4.94.0.tar.gz diff --git a/community-mod/lsof/version b/community-mod/lsof/version new file mode 100644 index 0000000..75e17f9 --- /dev/null +++ b/community-mod/lsof/version @@ -0,0 +1 @@ +4.94.0 1 diff --git a/community-mod/lua/build b/community-mod/lua/build new file mode 100755 index 0000000..a6626b8 --- /dev/null +++ b/community-mod/lua/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +make MYCFLAGS="$CFLAGS -fPIC" \ + MYLDFLAGS="$LDFLAGS" \ + posix + +make INSTALL_TOP="$1/usr" \ + INSTALL_MAN="$1/usr/share/man/man1" \ + INSTALL_DATA="cp -d" \ + install + +install -Dm 644 lua.pc "$1/usr/lib/pkgconfig/lua.pc" diff --git a/community-mod/lua/checksums b/community-mod/lua/checksums new file mode 100644 index 0000000..820c2ae --- /dev/null +++ b/community-mod/lua/checksums @@ -0,0 +1,2 @@ +f8612276169e3bfcbcfb8f226195bfc6e466fe13042f1076cbde92b7ec96bbfb +c58f3ff3aecd07fc409486e31e65461eb10a919c0ee225836c88d5558933b3b5 diff --git a/community-mod/lua/files/lua.pc b/community-mod/lua/files/lua.pc new file mode 100644 index 0000000..7c8da4a --- /dev/null +++ b/community-mod/lua/files/lua.pc @@ -0,0 +1,20 @@ +V=5.3 +R=5.3.5 + +prefix=/usr +INSTALL_BIN=${prefix}/bin +INSTALL_INC=${prefix}/include +INSTALL_LIB=${prefix}/lib +INSTALL_MAN=${prefix}/man/man1 +INSTALL_LMOD=${prefix}/share/lua/${V} +INSTALL_CMOD=${prefix}/lib/lua/${V} +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: Lua +Description: An Extensible Extension Language +Version: ${R} +Requires: +Libs: -L${libdir} -llua -lm +Cflags: -I${includedir} diff --git a/community-mod/lua/sources b/community-mod/lua/sources new file mode 100644 index 0000000..af66093 --- /dev/null +++ b/community-mod/lua/sources @@ -0,0 +1,2 @@ +https://www.lua.org/ftp/lua-5.4.3.tar.gz +files/lua.pc diff --git a/community-mod/lua/version b/community-mod/lua/version new file mode 100644 index 0000000..52dd1df --- /dev/null +++ b/community-mod/lua/version @@ -0,0 +1 @@ +5.4.3 1 diff --git a/community-mod/luajit/build b/community-mod/luajit/build new file mode 100755 index 0000000..438683b --- /dev/null +++ b/community-mod/luajit/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +make amalg PREFIX=/usr +make install PREFIX=/usr DESTDIR="$1" + +# Create these symlinks ourselves as luajit relies +# on ldconfig to do so and musl does not provide it. +ln -s libluajit-5.1.so.2.0.5 "$1/usr/lib/libluajit-5.1.so" +ln -s libluajit-5.1.so.2.0.5 "$1/usr/lib/libluajit-5.1.so.2" diff --git a/community-mod/luajit/checksums b/community-mod/luajit/checksums new file mode 100644 index 0000000..838d79c --- /dev/null +++ b/community-mod/luajit/checksums @@ -0,0 +1 @@ +874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979 LuaJIT-2.0.5.tar.gz diff --git a/community-mod/luajit/sources b/community-mod/luajit/sources new file mode 100644 index 0000000..8c8381c --- /dev/null +++ b/community-mod/luajit/sources @@ -0,0 +1 @@ +https://luajit.org/download/LuaJIT-2.0.5.tar.gz diff --git a/community-mod/luajit/version b/community-mod/luajit/version new file mode 100644 index 0000000..336bb83 --- /dev/null +++ b/community-mod/luajit/version @@ -0,0 +1 @@ +2.0.5 2 diff --git a/community-mod/lxappearance/build b/community-mod/lxappearance/build new file mode 100755 index 0000000..9bbfb31 --- /dev/null +++ b/community-mod/lxappearance/build @@ -0,0 +1,24 @@ +#!/bin/sh -e + +sed -i '/INTLTOOL_APPLIED_VERSION=/d' configure +sed -i "/version|grep '(GNU/d" configure + +export MSGFMT=/usr/bin/true +export MSGMERGE=/usr/bin/true +export XGETTEXT=/usr/bin/true +export mfversion=9.99.99 +export mmversion=9.99.99 +export xgversion=9.99.99 +export INTLTOOL_MERGE=/usr/bin/true +export INTLTOOL_UPDATE=/usr/bin/true +export INTLTOOL_EXTRACT=/usr/bin/true +export INTLTOOL_PERL=/usr/bin/true +export INTLTOOL_APPLIED_VERSION=9.99.99 + +./configure \ + --prefix=/usr \ + --enable-gtk3 + +for target in data src; do + make -C "$target" && make -C "$target" DESTDIR="$1" install +done diff --git a/community-mod/lxappearance/checksums b/community-mod/lxappearance/checksums new file mode 100644 index 0000000..d52f11a --- /dev/null +++ b/community-mod/lxappearance/checksums @@ -0,0 +1 @@ +7222d858b8fef4b7967c42142d61e82ded6dd42dc5ef1d59caad775795928b38 diff --git a/community-mod/lxappearance/depends b/community-mod/lxappearance/depends new file mode 100644 index 0000000..03db788 --- /dev/null +++ b/community-mod/lxappearance/depends @@ -0,0 +1,2 @@ +gtk+3 +perl make diff --git a/community-mod/lxappearance/sources b/community-mod/lxappearance/sources new file mode 100644 index 0000000..151f9be --- /dev/null +++ b/community-mod/lxappearance/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/sourceforge/lxde/lxappearance-0.6.3.tar.xz diff --git a/community-mod/lxappearance/version b/community-mod/lxappearance/version new file mode 100644 index 0000000..8d54380 --- /dev/null +++ b/community-mod/lxappearance/version @@ -0,0 +1 @@ +0.6.3 1 diff --git a/community-mod/lynx/build b/community-mod/lynx/build new file mode 100755 index 0000000..3fbc0ee --- /dev/null +++ b/community-mod/lynx/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-screen=ncursesw \ + --with-ssl \ + --with-zlib \ + --enable-ipv6 + +make +make DESTDIR="$1" install diff --git a/community-mod/lynx/checksums b/community-mod/lynx/checksums new file mode 100644 index 0000000..23d5935 --- /dev/null +++ b/community-mod/lynx/checksums @@ -0,0 +1 @@ +387f193d7792f9cfada14c60b0e5c0bff18f227d9257a39483e14fa1aaf79595 lynx2.8.9rel.1.tar.bz2 diff --git a/community-mod/lynx/depends b/community-mod/lynx/depends new file mode 100644 index 0000000..c375091 --- /dev/null +++ b/community-mod/lynx/depends @@ -0,0 +1,3 @@ +libressl +ncurses +zlib diff --git a/community-mod/lynx/sources b/community-mod/lynx/sources new file mode 100644 index 0000000..194dbd4 --- /dev/null +++ b/community-mod/lynx/sources @@ -0,0 +1 @@ +https://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.9rel.1.tar.bz2 diff --git a/community-mod/lynx/version b/community-mod/lynx/version new file mode 100644 index 0000000..6e8389b --- /dev/null +++ b/community-mod/lynx/version @@ -0,0 +1 @@ +2.8.9rel1 1 diff --git a/community-mod/lz4/build b/community-mod/lz4/build new file mode 100755 index 0000000..ba87937 --- /dev/null +++ b/community-mod/lz4/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +make -C lib PREFIX=/usr +make -C programs PREFIX=/usr lz4 lz4c + +make install PREFIX=/usr DESTDIR="$1" diff --git a/community-mod/lz4/checksums b/community-mod/lz4/checksums new file mode 100644 index 0000000..e080901 --- /dev/null +++ b/community-mod/lz4/checksums @@ -0,0 +1 @@ +030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1 diff --git a/community-mod/lz4/sources b/community-mod/lz4/sources new file mode 100644 index 0000000..1cf4f0a --- /dev/null +++ b/community-mod/lz4/sources @@ -0,0 +1 @@ +https://github.com/lz4/lz4/archive/v1.9.3.tar.gz diff --git a/community-mod/lz4/version b/community-mod/lz4/version new file mode 100644 index 0000000..c82debe --- /dev/null +++ b/community-mod/lz4/version @@ -0,0 +1 @@ +1.9.3 1 diff --git a/community-mod/lzo/build b/community-mod/lzo/build new file mode 100755 index 0000000..c647b8e --- /dev/null +++ b/community-mod/lzo/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make DESTDIR="$1" install diff --git a/community-mod/lzo/checksums b/community-mod/lzo/checksums new file mode 100644 index 0000000..0bbe965 --- /dev/null +++ b/community-mod/lzo/checksums @@ -0,0 +1 @@ +c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072 diff --git a/community-mod/lzo/sources b/community-mod/lzo/sources new file mode 100644 index 0000000..539f839 --- /dev/null +++ b/community-mod/lzo/sources @@ -0,0 +1 @@ +https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz diff --git a/community-mod/lzo/version b/community-mod/lzo/version new file mode 100644 index 0000000..c815e91 --- /dev/null +++ b/community-mod/lzo/version @@ -0,0 +1 @@ +2.10 1 diff --git a/community-mod/maim/build b/community-mod/maim/build new file mode 100755 index 0000000..9dacb82 --- /dev/null +++ b/community-mod/maim/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +# Use local glm headers. +sed -i 's||"../glm/glm/glm.hpp"|' src/*.?pp + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release + +cmake --build build +cmake --install build diff --git a/community-mod/maim/checksums b/community-mod/maim/checksums new file mode 100644 index 0000000..3d2043f --- /dev/null +++ b/community-mod/maim/checksums @@ -0,0 +1 @@ +b4f9381ec66ce0bd35d7a4f2d83439b253d573a50881c213cacf63b0c00b0863 v5.6.3.tar.gz diff --git a/community-mod/maim/depends b/community-mod/maim/depends new file mode 100644 index 0000000..6979a1e --- /dev/null +++ b/community-mod/maim/depends @@ -0,0 +1,5 @@ +cmake make +libjpeg-turbo +libpng +libXcomposite +slop diff --git a/community-mod/maim/sources b/community-mod/maim/sources new file mode 100644 index 0000000..71fee5a --- /dev/null +++ b/community-mod/maim/sources @@ -0,0 +1,2 @@ +https://github.com/naelstrof/maim/archive/v5.6.3.tar.gz +https://github.com/g-truc/glm/archive/0.9.9.5.tar.gz glm diff --git a/community-mod/maim/version b/community-mod/maim/version new file mode 100644 index 0000000..ec69dd6 --- /dev/null +++ b/community-mod/maim/version @@ -0,0 +1 @@ +5.6.3 1 diff --git a/community-mod/man-pages-posix/build b/community-mod/man-pages-posix/build new file mode 100755 index 0000000..0fa9b71 --- /dev/null +++ b/community-mod/man-pages-posix/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make prefix=/usr DESTDIR="$1" install diff --git a/community-mod/man-pages-posix/checksums b/community-mod/man-pages-posix/checksums new file mode 100644 index 0000000..1061c42 --- /dev/null +++ b/community-mod/man-pages-posix/checksums @@ -0,0 +1 @@ +ce67bb25b5048b20dad772e405a83f4bc70faf051afa289361c81f9660318bc3 diff --git a/community-mod/man-pages-posix/sources b/community-mod/man-pages-posix/sources new file mode 100644 index 0000000..6dc7ad7 --- /dev/null +++ b/community-mod/man-pages-posix/sources @@ -0,0 +1 @@ +https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/man-pages-posix/man-pages-posix-2017-a.tar.xz diff --git a/community-mod/man-pages-posix/version b/community-mod/man-pages-posix/version new file mode 100644 index 0000000..77d4274 --- /dev/null +++ b/community-mod/man-pages-posix/version @@ -0,0 +1 @@ +2017a 1 diff --git a/community-mod/man-pages/build b/community-mod/man-pages/build new file mode 100755 index 0000000..0fa9b71 --- /dev/null +++ b/community-mod/man-pages/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make prefix=/usr DESTDIR="$1" install diff --git a/community-mod/man-pages/checksums b/community-mod/man-pages/checksums new file mode 100644 index 0000000..809ce7a --- /dev/null +++ b/community-mod/man-pages/checksums @@ -0,0 +1 @@ +3eda5dce5184599ec37dae3494cf964c550362e9a41fb724792da610bdb13caa diff --git a/community-mod/man-pages/sources b/community-mod/man-pages/sources new file mode 100644 index 0000000..e946ede --- /dev/null +++ b/community-mod/man-pages/sources @@ -0,0 +1 @@ +https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/man-pages-5.11.tar.xz diff --git a/community-mod/man-pages/version b/community-mod/man-pages/version new file mode 100644 index 0000000..2058461 --- /dev/null +++ b/community-mod/man-pages/version @@ -0,0 +1 @@ +5.11 1 diff --git a/community-mod/mawk/build b/community-mod/mawk/build new file mode 100755 index 0000000..9b1ef84 --- /dev/null +++ b/community-mod/mawk/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install + +# Enable alternatives. +ln -s mawk "$1/usr/bin/awk" +ln -s mawk.1 "$1/usr/share/man/man1/awk.1" diff --git a/community-mod/mawk/checksums b/community-mod/mawk/checksums new file mode 100644 index 0000000..114b0f3 --- /dev/null +++ b/community-mod/mawk/checksums @@ -0,0 +1 @@ +7fd4cd1e1fae9290fe089171181bbc6291dfd9bca939ca804f0ddb851c8b8237 diff --git a/community-mod/mawk/sources b/community-mod/mawk/sources new file mode 100644 index 0000000..81000a4 --- /dev/null +++ b/community-mod/mawk/sources @@ -0,0 +1 @@ +https://invisible-mirror.net/archives/mawk/mawk-1.3.4-20200120.tgz diff --git a/community-mod/mawk/version b/community-mod/mawk/version new file mode 100644 index 0000000..77ddbf9 --- /dev/null +++ b/community-mod/mawk/version @@ -0,0 +1 @@ +1.3.4-20200120 1 diff --git a/community-mod/mblaze/build b/community-mod/mblaze/build new file mode 100755 index 0000000..3dad5ee --- /dev/null +++ b/community-mod/mblaze/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make all +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/mblaze/checksums b/community-mod/mblaze/checksums new file mode 100644 index 0000000..aa0d10b --- /dev/null +++ b/community-mod/mblaze/checksums @@ -0,0 +1 @@ +edd8cb86f667543e703dee58263b81c7e47744339d23ebbb6a43e75059ba93b1 diff --git a/community-mod/mblaze/sources b/community-mod/mblaze/sources new file mode 100644 index 0000000..5e748e1 --- /dev/null +++ b/community-mod/mblaze/sources @@ -0,0 +1 @@ +https://github.com/leahneukirchen/mblaze/archive/v1.1.tar.gz diff --git a/community-mod/mblaze/version b/community-mod/mblaze/version new file mode 100644 index 0000000..f8b0b37 --- /dev/null +++ b/community-mod/mblaze/version @@ -0,0 +1 @@ +1.1 1 diff --git a/community-mod/mdadm/build b/community-mod/mdadm/build new file mode 100755 index 0000000..be00a1e --- /dev/null +++ b/community-mod/mdadm/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +sed -i '//a #include ' mdadm.h +sed 's@-Werror@@' -i Makefile + +make BINDIR=/usr/bin UDEVDIR=/usr/lib +make DESTDIR="$1" BINDIR=/usr/bin UDEVDIR=/usr/lib install diff --git a/community-mod/mdadm/checksums b/community-mod/mdadm/checksums new file mode 100644 index 0000000..f9c1e7b --- /dev/null +++ b/community-mod/mdadm/checksums @@ -0,0 +1 @@ +ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a diff --git a/community-mod/mdadm/sources b/community-mod/mdadm/sources new file mode 100644 index 0000000..13e802b --- /dev/null +++ b/community-mod/mdadm/sources @@ -0,0 +1 @@ +https://kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.1.tar.xz diff --git a/community-mod/mdadm/version b/community-mod/mdadm/version new file mode 100644 index 0000000..60d2ac6 --- /dev/null +++ b/community-mod/mdadm/version @@ -0,0 +1 @@ +4.1 1 diff --git a/community-mod/mediainfo/build b/community-mod/mediainfo/build new file mode 100755 index 0000000..8251ddf --- /dev/null +++ b/community-mod/mediainfo/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +cd Project/GNU/CLI + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/mediainfo/checksums b/community-mod/mediainfo/checksums new file mode 100644 index 0000000..879198a --- /dev/null +++ b/community-mod/mediainfo/checksums @@ -0,0 +1 @@ +de50ca0b2c607b8999d3c9e542d27c97030a59f31859b612335315be6850021e diff --git a/community-mod/mediainfo/depends b/community-mod/mediainfo/depends new file mode 100644 index 0000000..e05376f --- /dev/null +++ b/community-mod/mediainfo/depends @@ -0,0 +1 @@ +libmediainfo diff --git a/community-mod/mediainfo/sources b/community-mod/mediainfo/sources new file mode 100644 index 0000000..80ee1ef --- /dev/null +++ b/community-mod/mediainfo/sources @@ -0,0 +1 @@ +https://mediaarea.net/download/source/mediainfo/21.03/mediainfo_21.03.tar.xz diff --git a/community-mod/mediainfo/version b/community-mod/mediainfo/version new file mode 100644 index 0000000..32f1651 --- /dev/null +++ b/community-mod/mediainfo/version @@ -0,0 +1 @@ +21.03 1 diff --git a/community-mod/mg/build b/community-mod/mg/build new file mode 100755 index 0000000..66703fd --- /dev/null +++ b/community-mod/mg/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man + +make +make DESTDIR="$1" install diff --git a/community-mod/mg/checksums b/community-mod/mg/checksums new file mode 100644 index 0000000..413c2c7 --- /dev/null +++ b/community-mod/mg/checksums @@ -0,0 +1 @@ +3d66079d6a9a2bfba414260f6afd5de5eb148406782772e84850b8585e901925 diff --git a/community-mod/mg/depends b/community-mod/mg/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/mg/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/mg/sources b/community-mod/mg/sources new file mode 100644 index 0000000..9863a50 --- /dev/null +++ b/community-mod/mg/sources @@ -0,0 +1 @@ +https://github.com/ibara/mg/releases/download/mg-6.9/mg-6.9.tar.gz diff --git a/community-mod/mg/version b/community-mod/mg/version new file mode 100644 index 0000000..3957d4e --- /dev/null +++ b/community-mod/mg/version @@ -0,0 +1 @@ +6.9 1 diff --git a/community-mod/mksh/build b/community-mod/mksh/build new file mode 100755 index 0000000..4cfabaa --- /dev/null +++ b/community-mod/mksh/build @@ -0,0 +1,5 @@ +#!/bin/sh -e + +CFLAGS="$CFLAGS -static" sh Build.sh + +install -Dm755 "mksh" "$1/usr/bin/mksh" diff --git a/community-mod/mksh/checksums b/community-mod/mksh/checksums new file mode 100644 index 0000000..b8b6bb9 --- /dev/null +++ b/community-mod/mksh/checksums @@ -0,0 +1 @@ +e5942607eb930ba6ce3303c4a0db0733371f210c9ce6d5d4b9cc202c76360343 diff --git a/community-mod/mksh/sources b/community-mod/mksh/sources new file mode 100644 index 0000000..3b27f40 --- /dev/null +++ b/community-mod/mksh/sources @@ -0,0 +1 @@ +https://github.com/MirBSD/mksh/archive/mksh-R59c.tar.gz diff --git a/community-mod/mksh/version b/community-mod/mksh/version new file mode 100644 index 0000000..2f97b95 --- /dev/null +++ b/community-mod/mksh/version @@ -0,0 +1 @@ +59c 1 diff --git a/community-mod/most/build b/community-mod/most/build new file mode 100755 index 0000000..6b0a232 --- /dev/null +++ b/community-mod/most/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install diff --git a/community-mod/most/checksums b/community-mod/most/checksums new file mode 100644 index 0000000..ae52e71 --- /dev/null +++ b/community-mod/most/checksums @@ -0,0 +1 @@ +db805d1ffad3e85890802061ac8c90e3c89e25afb184a794e03715a3ed190501 diff --git a/community-mod/most/depends b/community-mod/most/depends new file mode 100644 index 0000000..9ff94a9 --- /dev/null +++ b/community-mod/most/depends @@ -0,0 +1 @@ +slang diff --git a/community-mod/most/sources b/community-mod/most/sources new file mode 100644 index 0000000..3ff06b8 --- /dev/null +++ b/community-mod/most/sources @@ -0,0 +1 @@ +https://www.jedsoft.org/releases/most/most-5.1.0.tar.gz diff --git a/community-mod/most/version b/community-mod/most/version new file mode 100644 index 0000000..8f0e326 --- /dev/null +++ b/community-mod/most/version @@ -0,0 +1 @@ +5.1.0 1 diff --git a/community-mod/msmtp/build b/community-mod/msmtp/build new file mode 100755 index 0000000..de15017 --- /dev/null +++ b/community-mod/msmtp/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-tls=libtls \ + --disable-nls + +make +make DESTDIR="$1" install diff --git a/community-mod/msmtp/checksums b/community-mod/msmtp/checksums new file mode 100644 index 0000000..0a7805d --- /dev/null +++ b/community-mod/msmtp/checksums @@ -0,0 +1 @@ +2265dc639ebf2edf3069fffe0a3bd76749f8b58f4001d5cdeae19873949099ce diff --git a/community-mod/msmtp/depends b/community-mod/msmtp/depends new file mode 100644 index 0000000..b176ac7 --- /dev/null +++ b/community-mod/msmtp/depends @@ -0,0 +1,2 @@ +libressl +pkgconf make diff --git a/community-mod/msmtp/sources b/community-mod/msmtp/sources new file mode 100644 index 0000000..5c792de --- /dev/null +++ b/community-mod/msmtp/sources @@ -0,0 +1 @@ +https://marlam.de/msmtp/releases/msmtp-1.8.15.tar.xz diff --git a/community-mod/msmtp/version b/community-mod/msmtp/version new file mode 100644 index 0000000..d6216e8 --- /dev/null +++ b/community-mod/msmtp/version @@ -0,0 +1 @@ +1.8.15 1 diff --git a/community-mod/mutt/build b/community-mod/mutt/build new file mode 100755 index 0000000..5585f1d --- /dev/null +++ b/community-mod/mutt/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-pop \ + --enable-imap \ + --enable-smtp \ + --with-ssl \ + --with-sasl + +make +make DESTDIR="$1" install + +rm -f "$1/etc/mime.types" diff --git a/community-mod/mutt/checksums b/community-mod/mutt/checksums new file mode 100644 index 0000000..9468631 --- /dev/null +++ b/community-mod/mutt/checksums @@ -0,0 +1 @@ +80835bbcce920bccf4fc99676eda9e83f03a929b4022eada931d721ede330d37 diff --git a/community-mod/mutt/depends b/community-mod/mutt/depends new file mode 100644 index 0000000..daa48eb --- /dev/null +++ b/community-mod/mutt/depends @@ -0,0 +1,4 @@ +cyrus-sasl +ncurses +perl make +zlib diff --git a/community-mod/mutt/sources b/community-mod/mutt/sources new file mode 100644 index 0000000..e850b21 --- /dev/null +++ b/community-mod/mutt/sources @@ -0,0 +1 @@ +https://bitbucket.org/mutt/mutt/downloads/mutt-2.1.0.tar.gz diff --git a/community-mod/mutt/version b/community-mod/mutt/version new file mode 100644 index 0000000..ef86239 --- /dev/null +++ b/community-mod/mutt/version @@ -0,0 +1 @@ +2.1.0 1 diff --git a/community-mod/nano/build b/community-mod/nano/build new file mode 100755 index 0000000..6b0a232 --- /dev/null +++ b/community-mod/nano/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install diff --git a/community-mod/nano/checksums b/community-mod/nano/checksums new file mode 100644 index 0000000..5f6626c --- /dev/null +++ b/community-mod/nano/checksums @@ -0,0 +1 @@ +f47c7407d4d7b780c4a8fa20706ebf5740c0df41dc0e521a536916660bc18ec4 diff --git a/community-mod/nano/depends b/community-mod/nano/depends new file mode 100644 index 0000000..82e5165 --- /dev/null +++ b/community-mod/nano/depends @@ -0,0 +1,3 @@ +linux-headers make +ncurses +zlib diff --git a/community-mod/nano/sources b/community-mod/nano/sources new file mode 100644 index 0000000..853639b --- /dev/null +++ b/community-mod/nano/sources @@ -0,0 +1 @@ +https://www.nano-editor.org/dist/v5/nano-5.8.tar.gz diff --git a/community-mod/nano/version b/community-mod/nano/version new file mode 100644 index 0000000..bcbc4c2 --- /dev/null +++ b/community-mod/nano/version @@ -0,0 +1 @@ +5.8 1 diff --git a/community-mod/nawk-git/build b/community-mod/nawk-git/build new file mode 100755 index 0000000..09ea9cb --- /dev/null +++ b/community-mod/nawk-git/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +make CFLAGS="$CFLAGS -static" + +install -Dm755 "a.out" "$1/usr/bin/nawk" + +ln -s /usr/bin/nawk "$1/usr/bin/awk" diff --git a/community-mod/nawk-git/checksums b/community-mod/nawk-git/checksums new file mode 100644 index 0000000..9ee531e --- /dev/null +++ b/community-mod/nawk-git/checksums @@ -0,0 +1 @@ +git git+https://github.com/onetrueawk/awk diff --git a/community-mod/nawk-git/sources b/community-mod/nawk-git/sources new file mode 100644 index 0000000..dd50916 --- /dev/null +++ b/community-mod/nawk-git/sources @@ -0,0 +1 @@ +git+https://github.com/onetrueawk/awk diff --git a/community-mod/nawk-git/version b/community-mod/nawk-git/version new file mode 100644 index 0000000..75e7ae6 --- /dev/null +++ b/community-mod/nawk-git/version @@ -0,0 +1 @@ +20180827 1 diff --git a/community-mod/ncdu/build b/community-mod/ncdu/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/ncdu/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/ncdu/checksums b/community-mod/ncdu/checksums new file mode 100644 index 0000000..6d64fe7 --- /dev/null +++ b/community-mod/ncdu/checksums @@ -0,0 +1 @@ +2b915752a183fae014b5e5b1f0a135b4b408de7488c716e325217c2513980fd4 diff --git a/community-mod/ncdu/depends b/community-mod/ncdu/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/ncdu/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/ncdu/sources b/community-mod/ncdu/sources new file mode 100644 index 0000000..6da91c3 --- /dev/null +++ b/community-mod/ncdu/sources @@ -0,0 +1 @@ +https://dev.yorhel.nl/download/ncdu-1.16.tar.gz diff --git a/community-mod/ncdu/version b/community-mod/ncdu/version new file mode 100644 index 0000000..d1d913e --- /dev/null +++ b/community-mod/ncdu/version @@ -0,0 +1 @@ +1.16 1 diff --git a/community-mod/neofetch/build b/community-mod/neofetch/build new file mode 100755 index 0000000..d5f438d --- /dev/null +++ b/community-mod/neofetch/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make DESTDIR="$1" install diff --git a/community-mod/neofetch/checksums b/community-mod/neofetch/checksums new file mode 100644 index 0000000..ceca3b5 --- /dev/null +++ b/community-mod/neofetch/checksums @@ -0,0 +1 @@ +58a95e6b714e41efc804eca389a223309169b2def35e57fa934482a6b47c27e7 7.1.0.tar.gz diff --git a/community-mod/neofetch/depends b/community-mod/neofetch/depends new file mode 100644 index 0000000..705963a --- /dev/null +++ b/community-mod/neofetch/depends @@ -0,0 +1 @@ +bash diff --git a/community-mod/neofetch/sources b/community-mod/neofetch/sources new file mode 100644 index 0000000..e6c89e8 --- /dev/null +++ b/community-mod/neofetch/sources @@ -0,0 +1 @@ +https://github.com/dylanaraps/neofetch/archive/7.1.0.tar.gz diff --git a/community-mod/neofetch/version b/community-mod/neofetch/version new file mode 100644 index 0000000..452f8a8 --- /dev/null +++ b/community-mod/neofetch/version @@ -0,0 +1 @@ +7.1.0 1 diff --git a/community-mod/neomutt/build b/community-mod/neomutt/build new file mode 100755 index 0000000..6a55df7 --- /dev/null +++ b/community-mod/neomutt/build @@ -0,0 +1,29 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --ssl \ + --sasl \ + --gnutls \ + --disable-nls \ + --disable-idn \ + --disable-doc \ + --zlib + +make +make DESTDIR="$1" install + +# Install the man pages. +# The neomutt.1 and neomuttrc.5 are usually generated (when running +# ./configure without --disable-doc) but this requires an internet +# connection (!?), so I've included them as local sources. The other +# ones are provided in the tarball. +install -Dm644 -t "$1/usr/share/man/man1/" \ + docs/neomutt.1 \ + docs/pgpewrap.1 \ + docs/smime_keys.1 +install -Dm644 -t "$1/usr/share/man/man5/" \ + docs/neomuttrc.5 \ + docs/mbox.5 \ + docs/mmdf.5 diff --git a/community-mod/neomutt/checksums b/community-mod/neomutt/checksums new file mode 100644 index 0000000..66fc4b1 --- /dev/null +++ b/community-mod/neomutt/checksums @@ -0,0 +1,3 @@ +77e177780fc2d8abb475d9cac4342c7e61d53c243f6ce2f9bc86d819fc962cdb +90f180684dd3a0a30738fd2fa3c571a30999d5d4a01aa5632310a5692260b4df +7401991898d187e26729cf8df1ccd671572da6830f318444da0644e6cab5fc2c diff --git a/community-mod/neomutt/depends b/community-mod/neomutt/depends new file mode 100644 index 0000000..d17eb73 --- /dev/null +++ b/community-mod/neomutt/depends @@ -0,0 +1,4 @@ +cyrus-sasl +gnutls +ncurses +zlib diff --git a/community-mod/neomutt/files/neomutt.1 b/community-mod/neomutt/files/neomutt.1 new file mode 100644 index 0000000..0cc4ef8 --- /dev/null +++ b/community-mod/neomutt/files/neomutt.1 @@ -0,0 +1,589 @@ +'\" t +.\" -*- nroff -*- +.\" +.\" +.\" Copyright (C) 1996-2020 Michael R. Elkins +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program; if not, write to the Free Software +.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +.\" +.TH neomutt 1 "2021-02-05" Unix "User Manuals" +.\" -------------------------------------------------------------------- +.SH NAME +.\" -------------------------------------------------------------------- +neomutt \- The NeoMutt Mail User Agent (MUA) +. +.\" -------------------------------------------------------------------- +.SH SYNTAX +.\" -------------------------------------------------------------------- +.SY neomutt +.OP \-Enx +.OP \-e command +.OP \-F config +.OP \-H draft +.OP \-i include +.br +.OP \-b address +.OP \-c address +.OP \-s subject +.RB [ \-a +.IR file " [" .\|.\|.\& ] +.BR \-\- ] +.IR address " [" .\|.\|.\& ] +.YS +. +.SY neomutt +.OP \-nx +.OP \-e command +.OP \-F config +.OP \-b address +.OP \-c address +.br +.OP \-s subject +.RB [ \-a +.IR file " [" .\|.\|.\& ] +.BR \-\- ] +.IR address " [" .\|.\|.\& "] < message" +.YS +. +.SY neomutt +.OP \-nRy +.OP \-e command +.OP \-F config +.OP \-f mailbox +.OP \-m type +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BI \-A " alias" +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BR \-B +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BR \-D " [" \-S ] " [" \-O ] +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BI \-d " level" +.BI \-l " file" +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BI \-G +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BI \-g " server" +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BI \-p +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BI \-Q " variable [" \-O ] +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BI \-Z +.YS +. +.SY neomutt +.OP \-n +.OP \-e command +.OP \-F config +.BI \-z +.OP \-f mailbox +.YS +. +.SY neomutt +.BR \-v [ v ] +.YS +. +.\" -------------------------------------------------------------------- +.SH DESCRIPTION +.\" -------------------------------------------------------------------- +.PP +NeoMutt is a small but very powerful text based program for reading and sending +electronic mail under Unix operating systems, including support for color +terminals, MIME, OpenPGP, and a threaded sorting mode. +. +.PP +.B Note: +This manual page gives a brief overview of NeoMutt's command line options. You +should find a copy of the full manual in \fI/usr/share/doc/neomutt\fP, in plain text, +HTML, and/or PDF format. +. +.\" -------------------------------------------------------------------- +.SH OPTIONS +.\" -------------------------------------------------------------------- +.TP +.BI \-\- +Special argument forces NeoMutt to stop option parsing and treat remaining +arguments as \fIaddress\fPes even if they start with a dash +. +.TP +.BI \-A " alias" +Print an expanded version of the given \fIalias\fP to stdout and exit +. +.TP +.BI \-a " file" +Attach one or more \fIfile\fPs to a message (must be the last option). Add any +addresses after the \(aq\fB\-\-\fP\(aq argument, e.g.: +.RS +.IP +.EX +.BI "neomutt \-a " "image.jpg " "\-\- " "address1 " +.BI "neomutt \-a " "image.jpg *.png " "\-\- " "address1 address2 " +.EE +.RE +.IP +. +.TP +.BI \-B +Run in batch mode (do not start the ncurses UI) +. +.TP +.BI \-b " address" +Specify a blind carbon copy (Bcc) recipient +. +.TP +.BI \-c " address" +Specify a carbon copy (Cc) recipient +. +.TP +.BI \-D +Dump all configuration variables as +.RB \(aq name = value \(aq +pairs to stdout +. +.TP +.BI \-D\ \-O +Like \fB\-D\fP, but show one-liner documentation +. +.TP +.BI \-D\ \-S +Like \fB\-D\fP, but hide the value of sensitive variables +. +.TP +.BI \-d " level" +Log debugging output to a file (default is \(dq\fI~/.neomuttdebug0\fP\(dq). +The \fIlevel\fP can range from 1\(en5 and affects verbosity (a value of 2 is +recommended) +.IP +Using this option along with \fB\-l\fP is useful to log the early startup +process (before reading any configuration and hence $debug_level and +$debug_file) +. +.TP +.BI \-E +Edit \fIdraft\fP (\fB\-H\fP) or \fIinclude\fP (\fB\-i\fP) file during message +composition +. +.TP +.BI \-e " command" +Specify a \fIcommand\fP to be run after reading the config files +. +.TP +.BI \-F " config" +Specify an alternative initialization file to read, see \fIFILES\fP section +below for a list of regular configuration files +. +.TP +.BI \-f " mailbox" +Specify a \fImailbox\fP (as defined with \fBmailboxes\fP command) to load +. +.TP +.BI \-G +Start NeoMutt with a listing of subscribed newsgroups +. +.TP +.BI \-g " server" +Like \fB\-G\fP, but start at specified news \fIserver\fP +. +.BI \-H " draft" +Specify a \fIdraft\fP file which contains header and body to use to send a +message. +If \fIdraft\fP is \*(lq\fB\-\fP\*(rq, then data is read from stdin. +The draft file is expected to contain just an RFC822 email \(em headers and a body. +Although it is not an mbox file, if an mbox "\fBFrom\~\fP" line is present, +it will be silently discarded. +. +.TP +.BI \-h +Print this help message and exit +. +.TP +.BI \-i " include" +Specify an \fIinclude\fP file to be embedded in the body of a message +. +.TP +.BI \-l " file" +Specify a \fIfile\fP for debugging output (default +\(dq\fI~/.neomuttdebug0\fP\(dq) +.IP +This overrules $debug_file setting and NeoMutt keeps up to five debug logs +.RI "({ " file " | $debug_file | " ~/.neomuttdebug " }[" 0 - 4 ]) +before override the oldest file +. +.TP +.BI \-m " type" +Specify a default mailbox format \fItype\fP for newly created folders +.IP +The \fItype\fP is either MH, MMDF, Maildir or mbox (case-insensitive) +. +.TP +.BI \-n +Do not read the system-wide configuration file +. +.TP +.BI \-p +Resume a prior postponed message, if any +. +.TP +.BI \-Q " variable" +Query a configuration \fIvariable\fP and print its value to stdout (after the +config has been read and any commands executed). +Add -O for one-liner documentation. +. +.TP +.BI \-R +Open mailbox in read-only mode +. +.TP +.BI \-s " subject" +Specify a \fIsubject\fP (must be enclosed in quotes if it has spaces) +. +.TP +.BI \-v +Print the NeoMutt version and compile-time definitions and exit +. +.TP +.BI \-vv +Print the NeoMutt license and copyright information and exit +. +.TP +.BI \-y +Start NeoMutt with a listing of all defined mailboxes +. +.TP +.BI \-Z +Open the first mailbox with new message or exit immediately with exit code 1 if +none is found in all defined mailboxes +. +.TP +.BI \-z +Open the first or specified (\fB\-f\fP) mailbox if it holds any message or exit +immediately with exit code 1 otherwise +. +.\" -------------------------------------------------------------------- +.SH ENVIRONMENT +.\" -------------------------------------------------------------------- +.TP +.SM +.B EDITOR +Specifies the editor to use if \fIVISUAL\fP is unset. Defaults to the \fBVi\fP +editor if unset. +. +.TP +.SM +.B EGDSOCKET +For OpenSSL since version 0.9.5, files, mentioned at \fIRANDFILE\fP below, can +be Entropy Gathering Daemon (EGD) sockets. Also, and if exists, +\fI~/.entropy\fP and \fI/tmp/entropy\fP will be used to initialize SSL library +functions. Specified sockets must be owned by the user and have permission of +600 (octal number representing). +. +.TP +.SM +.B EMAIL +The user's email address. +. +.TP +.SM +.B HOME +Full path of the user's home directory. +. +.TP +.SM +.B MAIL +Full path of the user's spool mailbox. +. +.TP +.SM +.B MAILCAPS +Path to search for mailcap files. If unset, a RFC1524 compliant search path +that is extended with NeoMutt related paths (at position two and three): +.\" .RS +.\" .IP +.RI \(dq \ +"$HOME/\:.mailcap" \:: \ +"/usr/share/neomutt/\:mailcap" \:: \ +"/etc/\:mailcap" \:: \ +"/etc/\:mailcap" \:: \ +"/usr/\:etc/\:mailcap" \:: \ +"/usr/\:local/\:etc/\:mailcap" \(dq +.\" .RE +.\" .IP +will be used instead. +. +.TP +.SM +.B MAILDIR +Full path of the user's spool mailbox if \fIMAIL\fP is unset. Commonly used +when the spool mailbox is a +.BR maildir (5) +folder. +. +.TP +.SM +.B MM_NOASK +If this variable is set, mailcap are always used without prompting first. +. +.TP +.SM +.B NNTPSERVER +Similar to configuration variable $news_server, specifies the domain name or +address of the default NNTP server to connect. If unset, +\fI/etc/nntpserver\fP is used but can be overridden by command line +option \fB\-g\fP. +. +.TP +.SM +.B RANDFILE +Like configuration variable $entropy_file, defines a path to a file which +includes random data that is used to initialize SSL library functions. If +unset, \fI~/.rnd\fP is used. DO NOT store important data in the specified file. +. +.TP +.SM +.B REPLYTO +When set, specifies the default Reply-To address. +. +.TP +.SM +.B TEXTDOMAINDIR +Defines an absolute path corresponding to \fI/usr/share/locale\fP that will +be recognised by GNU +.BR gettext (1) +and used for Native Language Support (NLS) if enabled. +. +.TP +.SM +.B TMPDIR +Directory in which temporary files are created. Defaults to \fI/tmp\fP if +unset. Configuration variable $tmpdir takes precedence over this one. +. +.TP +.SM +.B VISUAL +Specifies the editor to use when composing messages. +. +.TP +.SM +.B XDG_CONFIG_DIRS +Specifies a X Desktop Group (XDG) compliant location for the system-wide +configuration file, as described in \fIFILES\fP section below. This variable +defaults to \fI/etc/xdg\fP. Bypass loading with command line option \fB\-n\fP. +. +.TP +.SM +.B XDG_CONFIG_HOME +Specifies a XDG compliant location for the user-specific configuration file, as +described in \fIFILES\fP section below. This variable defaults to +\fI$HOME/.config\fP. Can be overridden by command line option \fB\-F\fP. +. +.\" -------------------------------------------------------------------- +.SH FILES +.\" -------------------------------------------------------------------- +.SS "\s-1Configuration files\s0" +.\" -------------------------------------------------------------------- +.PP +NeoMutt will read just the first found configuration file of system-wide and +user-specific category, from the list below and in that order. +. +.PP +But it allows building of a recursive configuration by using the \fBsource\fP +command. +. +.PP +.na +.TS +allbox tab(|); +cb cb cb +r lxi lxi . +\0#N|system-wide|user-specific +1|T{ +\%$XDG_CONFIG_DIRS/\:neomutt/\:neomuttrc +T}|T{ +\%$XDG_CONFIG_HOME/\:neomutt/\:neomuttrc +T} +2|T{ +\%$XDG_CONFIG_DIRS/\:neomutt/\:Muttrc \fB*\fP\fR)\fP +T}|T{ +\%$XDG_CONFIG_HOME/\:neomutt/\:muttrc +T} +3|T{ +\%/etc/\:neomuttrc +T}|T{ +\%$XDG_CONFIG_HOME/\:mutt/\:neomuttrc +T} +4|T{ +\%/etc/\:Muttrc \fB*\fP\fR)\fP +T}|T{ +\%$XDG_CONFIG_HOME/\:mutt/\:muttrc +T} +5|T{ +\%/usr/share/neomutt/\:neomuttrc +T}|T{ +\%~/\:.neomutt/\:neomuttrc +T} +6|T{ +\%/usr/share/neomutt/\:Muttrc \fB*\fP\fR)\fP +T}|T{ +\%~/\:.neomutt/\:muttrc +T} +.T& +r c li . +7|\(em|~/.mutt/neomuttrc +8|\(em|~/.mutt/muttrc +9|\(em|~/.neomuttrc +10|\(em|~/.muttrc +.T& +l s s . +\0\fB*\fP) Note the case of the filename +.TE +.PP +.ad +. +.SS "\s-1Other relevant files\s0" +.\" -------------------------------------------------------------------- +.PP +Unless otherwise stated, NeoMutt will process all grouped files in the order +(from top to bottom) as they are specified in that listing. +. +.TP +.IR "~/.mailcap" +.TQ +.IR "/etc/mailcap" +User-specific and system-wide definitions for handling non-text MIME types, +look at environment variable \fBMAILCAPS\fP above for additional search +locations. +. +.TP +.IR "~/.neomuttdebug0" +User's default debug log file. For further details or customising file path see +command line options \fB\-d\fP and \fB\-l\fP above. +. +.TP +.IR "/etc/mime.types" +.TQ +.IR "/etc/mime.types" +.TQ +.IR "/usr/share/neomutt/mime.types" +.TQ +.IR "~/.mime.types" +Description files for simple plain text mapping between MIME types and filename +extensions. NeoMutt parses these files in the stated order while processing +attachments to determine their MIME type. +. +.TP +.IR "/usr/share/doc/neomutt/manual." { html , pdf , txt } +The full NeoMutt manual in HTML, PDF or plain text format. +. +.TP +.IR "/tmp/neomutt-XXXX-XXXX-XXXX" +Temporary files created by NeoMutt. For custom locations look at description of +the environment variable \fBTMPDIR\fP above. Notice that the suffix +\fI-XXXX-XXXX-XXXX\fP is just a placeholder for, e.g. hostname, user name/ID, +process ID and/or other random data. +. +.\" -------------------------------------------------------------------- +.SH BUGS +.\" -------------------------------------------------------------------- +.PP +See issue tracker at . +. +.\" -------------------------------------------------------------------- +.SH NO WARRANTIES +.\" -------------------------------------------------------------------- +.PP +This program is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. See the GNU General Public License for more details. +. +.\" -------------------------------------------------------------------- +.SH SEE ALSO +.\" -------------------------------------------------------------------- +.PP +.\" sorted by category and name +.BR gettext (1), +.BR msmtp (1), +.BR notmuch (1), +.BR sendmail (1), +.BR smail (1), +.BR RAND_egd (3), +.BR curses (3), +.BR ncurses (3), +.BR mailcap (5), +.BR maildir (5), +.BR mbox (5), +.BR neomuttrc (5). +. +.PP +For further NeoMutt information: +.RS 4 +.TP +\(bu the full manual, see \fIFILES\fP section above +.TQ +\(bu the home page, +.RE +. +.\" -------------------------------------------------------------------- +.SH AUTHOR +.\" -------------------------------------------------------------------- +.PP +Michael Elkins, and others. Use to contact the +developers. +. diff --git a/community-mod/neomutt/files/neomuttrc.5 b/community-mod/neomutt/files/neomuttrc.5 new file mode 100644 index 0000000..829aecc --- /dev/null +++ b/community-mod/neomutt/files/neomuttrc.5 @@ -0,0 +1,9330 @@ +'\" t +.\" -*- nroff -*- +.\" +.\" Copyright (C) 1996-2000 Michael R. Elkins +.\" Copyright (C) 1999-2000 Thomas Roessler +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program; if not, write to the Free Software +.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +.\" +.de EX +.nf +.ft CW +.. +.de EE +.ft +.fi +.. +.TH neomuttrc 5 "2021-02-05" Unix "User Manuals" +.\" -------------------------------------------------------------------- +.SH NAME +.\" -------------------------------------------------------------------- +neomuttrc \- Configuration file for the NeoMutt Mail User Agent (MUA) +. +.\" -------------------------------------------------------------------- +.SH DESCRIPTION +.\" -------------------------------------------------------------------- +.PP +A NeoMutt configuration file consists of a series of \(lqcommands\(rq. Each +line of the file may contain one or more commands. When multiple commands are +used, they must be separated by a semicolon (\(lq\fB;\fP\(rq). +. +.PP +The hash mark, or pound sign (\(lq\fB#\fP\(rq), is used as a \(lqcomment\(rq +character. You can use it to annotate your initialization file. All text after +the comment character to the end of the line is ignored. +. +.PP +Single quotes (\(lq\fB\(aq\fP\(rq) and double quotes (\(lq\fB\(dq\fP\(rq) can +be used to quote strings which contain spaces or other special characters. The +difference between the two types of quotes is similar to that of many popular +shell programs, namely that a single quote is used to specify a literal string +(one that is not interpreted for shell variables or quoting with a backslash +[see next paragraph]), while double quotes indicate a string which should be +evaluated. For example, backticks are evaluated inside of double quotes, but +not single quotes. +. +.PP +\(lq\fB\(rs\fP\(rq quotes the next character, just as in shells such as Bash +and Zsh. For example, if you want to put quotes (\(lq\fB\(dq\fP\(rq) inside of +a string, you can use \(lq\fB\(rs\fP\(rq to force the next character to be +a literal instead of interpreted character. +. +.PP +\(lq\fB\(rs\(rs\fP\(rq means to insert a literal \(lq\fB\(rs\fP\(rq into the +line. \(lq\fB\(rsn\fP\(rq and \(lq\fB\(rsr\fP\(rq have their usual C meanings +of line feed (LF) and carriage return (CR), respectively. +. +.PP +A \(lq\fB\(rs\fP\(rq at the end of a line can be used to split commands over +multiple lines, provided that the split points don't appear in the middle of +command names. +. +.PP +It is also possible to substitute the output of a Unix command in an +initialization file. This is accomplished by enclosing the command in backticks +(\fB\(ga\fP\fIcommand\fP\fB\(ga\fP). +. +.PP +Unix environment variables can be accessed like the way it is done in shells +like sh and Bash: Prepend the name of the variable by a dollar +(\(lq\fB\(Do\fP\(rq) sign. +. +.\" -------------------------------------------------------------------- +.SH COMMANDS +.\" -------------------------------------------------------------------- +.SS "\s-1Configuration Commands\s0" +.\" -------------------------------------------------------------------- +.PP +The following are the commands understood by NeoMutt: +. +.PP +.nf +\fBaccount-hook\fP \fIregex\fP \fIcommand\fP +.fi +.IP +This hook is executed whenever you access a remote mailbox. Useful to adjust +configuration settings to different IMAP or POP servers. +. +.PP +.nf +\fBalias\fP [ \fB\-group\fP \fIname\fP ... ] \fIkey\fP \fIaddress\fP [\fB,\fP \fIaddress\fP ... ] +\fBunalias\fP [ \fB\-group\fP \fIname\fP ... ] { \fB*\fP | \fIkey\fP ... } +.fi +.IP +\fBalias\fP defines a surrogate \fIkey\fP for the given address(es). Each +\fIaddress\fP will be resolved into either an email address +(user@\:example.com) or a named email address (User Name ). +The address may be specified in either format, or in the format +\(lquser@\:example.com (User Name)\(rq. +.IP +\fBNote\fP: If you want to create an alias for more than one address, you +\fBmust\fP separate the addresses with a comma (\(lq\fB,\fP\(rq). +.IP +\fBunalias\fP removes the alias corresponding to the given \fIkey\fP or all +aliases when \(lq\fB*\fP\(rq is used as an argument. +.IP +The optional \fB\-group\fP flag causes the address(es) to be added to or +removed from the \fIname\fPd group. +. +.PP +.nf +\fBalternates\fP [ \fB\-group\fP \fIname\fP ... ] \fIregex\fP [ \fIregex\fP ... ] +\fBunalternates\fP [ \fB\-group\fP \fIname\fP ... ] { \fB*\fP | \fIregex\fP ... } +.fi +.IP +\fBalternates\fP is used to inform NeoMutt about alternate addresses where you +receive mail; you can use regular expressions (\fIregex\fP) to specify +alternate addresses. This affects NeoMutt's idea about messages from you, and +messages addressed to you. +.IP +\fBunalternates\fP can be used to write exceptions to alternates patterns. To +remove a regular expression from the alternates list, use the unalternates +command with exactly the same \fIregex\fP or use \(lq\fB*\fP\(rq to remove all +entries. +.IP +The optional \fB\-group\fP flag causes all of the subsequent regular expressions +to be added to or removed from the \fIname\fPd group. +. +.PP +.nf +\fBalternative_order\fP \fImime-type\fP[/\fImime-subtype\fP] [ \fImime-type\fP[/\fImime-subtype\fP] ... ] +\fBunalternative_order\fP { \fB*\fP | \fImime-type\fP[/\fImime-subtype\fP] ... } +.fi +.IP +\fBalternative_order\fP command permits you to define an order of preference +that is used by NeoMutt to determine which part of +a \fBmultipart/\:alternative\fP body to display. A \fImime-subtype\fP of +\(lq\fB*\fP\(rq matches any \fBmultipart/\:alternative\fP subtype, as does an +empty \fImime-subtype\fP. +.IP +\fBunalternative_order\fP removes entries from the ordered list or deletes the +entire list when \(lq\fB*\fP\(rq is used as an argument. +. +.PP +.nf +\fBattachments\fP { \fB+\fP | \fB\-\fP }\fIdisposition\fP \fImime-type\fP +\fBunattachments\fP { \fB+\fP | \fB\-\fP }\fIdisposition\fP \fImime-type\fP +.fi +.IP +You can make your message index display the number of qualifying attachments in +each message, or search for messages by attachment count. You also can +configure what kinds of attachments qualify for this feature with the +\fBattachments\fP and \fBunattachments\fP commands. +.IP +\fIdisposition\fP is the attachment's Content-Disposition type \(em either +inline or attachment. You can abbreviate this to \fBI\fP or \fBA\fP. +.IP +\fImime-type\fP is the MIME type of the attachment you want the command to +affect. A MIME type is always of the format \fBmajor/minor\fP. The major part +of \fImime-type\fP must be literal text (or the special token \(lq\fB*\fP\(rq, +but the minor part may be a regular expression. Therefore, \(lq\fB*/.*\fP\(rq +matches any MIME type. +. +.PP +.nf +\fBauto_view\fP \fImime-type\fP[\fB/\fP\fImime-subtype\fP] [ \fImime-type\fP[\fB/\fP\fImime-subtype\fP] ... ] +\fBunauto_view\fP { \fB*\fP | \fImime-type\fP[\fB/\fP\fImime-subtype\fP] ... } +.fi +.IP +This commands permits you to specify that NeoMutt should automatically convert +the given \fImime-type\fPs to text/plain when displaying messages. For this to work, +there must be a +.BR mailcap (5) +entry for the given \fImime-type\fP with the \fBcopiousoutput\fP option set. +A \fImime-subtype\fP of \(lq\fB*\fP\(rq matches any +\fBmultipart/\:alternative\fP subtype, as does an empty \fImime-subtype\fP. +. +.PP +.nf +\fBbind\fP \fImap\fP[\fB,\fP\fImap\fP ... ] \fIkey\fP \fIfunction\fP +\fBunbind\fP { \fB*\fP | \fImap\fP | [\fB,\fP\fImap\fP...]} [ \fIkey\fP ] +.fi +.IP +This command allows you to change the default or define additional key bindings +(operation invoked when pressing a key). +.IP +\fImap\fP specifies in which menu the binding belongs. Multiple \fImap\fPs may +be specified by separating them with commas (no additional whitespace is +allowed). The currently defined \fImap\fPs are: +.BR alias ", " attach ", " browser ", " compose ", " editor ", " generic ", " +.BR index ", " mix ", " pager ", " pgp ", " postpone ", " query " and " smime "." +.IP +\fIkey\fP is the key (or key sequence) you wish to bind, e.g. +\(lq\fB\(rsCa\fP\(rq for control-A. In addition, \fIkey\fP may be specified as +a three digit octal number prefixed with a \(lq\fB\(rs\fP\(rq or as a symbolic +name. The \fB\fP function can be used to explore keycode and +symbolic names for the keys on your keyboard. +.IP +\fIfunction\fP specifies which action to take when key is pressed. Note that +the function name is to be specified without angle brackets. +.IP +Missing key sequence in \fBunbind\fP command means unbind all bindings in menus given in \fImap\fP . +.IP +For more information on keys and functions, please consult the NeoMutt manual. +. +.PP +.nf +\fBcharset-hook\fP \fIalias\fP \fIcharset\fP +\fBiconv-hook\fP \fIcharset\fP \fIlocal-charset\fP +.fi +.IP +\fBcharset-hook\fP defines an \fIalias\fP for a character set. This is useful to +properly display messages which are tagged with a character set name not known +to NeoMutt. +.IP +\fBiconv-hook\fP defines a system-specific name for a character set. This is +useful when your system's +.BR iconv (3) +implementation does not understand MIME character set names (such as +\fBiso-8859-1\fP), but instead insists on being fed with +implementation-specific character set names (such as \fB8859-1\fP). In this +specific case, you'd put \(lq\fBiconv-hook\fP\~iso-8859-1\~8859-1\(rq into your +configuration file. +. +.PP +.nf +\fBcolor\fP \fIobject\fP [ \fIattribute\fP ... ] \fIforeground\fP \fIbackground\fP +\fBcolor\fP { header | body } [ \fIattribute\fP ... ] \fIforeground\fP \fIbackground\fP \fIregex\fP +\fBcolor\fP index-object [ \fIattribute\fP ... ] \fIforeground\fP \fIbackground\fP \fIpattern\fP +\fBcolor\fP compose \fIcomposeobject\fP \fIforeground\fP \fIbackground\fP +\fBcolor\fP compose \fIcomposeobject\fP [ \fIattribute\fP ... ] \fIforeground\fP \fIbackground\fP +\fBuncolor\fP { index-object | header | body } { \fB*\fP | \fIpattern\fP ... } +.fi +.IP +If your terminal supports color, these commands can be used to assign +\fIforeground\fP/\:\fIbackground\fP combinations to certain \fIobject\fPs. The +currently defined \fIobject\fPs are: +.BR attach_\:headers ", " +.BR attachment ", " +.BR body ", " +.BR bold ", " +.BR error ", " +.BR hdrdefault ", " +.BR header ", " +.BR index ", " +.BR index_\:author ", " +.BR index_\:collapsed ", " +.BR index_\:date ", " +.BR index_\:flags ", " +.BR index_\:label ", " +.BR index_\:number ", " +.BR index_\:size ", " +.BR index_\:subject ", " +.BR index_\:tag ", " +.BR index_\:tags ", " +.BR indicator ", " +.BR markers ", " +.BR message ", " +.BR normal ", " +.BR progress ", " +.BR prompt ", " +.BR quoted ", " +.BR quoted\fIN\fP ", " +.BR search ", " +.BR signature ", " +.BR status ", " +.BR tilde ", " +.BR tree ", " +.BR underline "." +.IP +If the sidebar is enabled the following \fIobject\fPs are also valid: +.BR sidebar_\:divider ", " +.BR sidebar_\:flagged ", " +.BR sidebar_\:highlight ", " +.BR sidebar_\:indicator ", " +.BR sidebar_\:new ", " +.BR sidebar_\:ordinary ", " +.BR sidebar_\:spoolfile "." +.IP +The \fBbody\fP and \fBheader\fP objects allow you to restrict the colorization +to a regular expression. The \fBindex-object\fP permits you to select colored +messages by pattern. +.IP +The \fBheader\fP and \fBbody\fP match \fIregex\fP in the header/body of +a message, \fBindex-object\fP can match \fIpattern\fP in the message index. +Note that IMAP server-side searches (=b, =B, =h) are not supported for color +index patterns. +.IP +Valid composeobjects include +.BR header ", " security_encrypt ", " security_sign ", " +.BR security_both ", " security_none . +.IP +Valid colors include: +.BR default ", " +.BR black ", " +.BR red ", " +.BR green ", " +.BR yellow ", " +.BR blue ", " +.BR magenta ", " +.BR cyan ", " +.BR white ", " +.BR color\fIN\fP "." +.IP +Valid attributes include: +.BR none ", " bold ", " underline ", " +.BR reverse ", and " standout . +IP +The \fBuncolor\fP command can be applied to the index, header and body objects +only. It removes entries from the list. You must specify the same \fIpattern\fP +specified in the \fBcolor\fP command for it to be removed. The pattern +\(lq\fB*\fP\(rq is a special token which means to clear the color list of all +entries. +.IP +For further information on colorization, please consult the NeoMutt manual. +. +.PP +.nf +\fBcrypt-hook\fP \fIregex\fP \fIkeyid\fP +.fi +.IP +The crypt-hook command provides a method by which you can specify the ID of the +public key to be used when encrypting messages to a certain recipient. The +meaning of \fIkeyid\fP is to be taken broadly: This can be a different email +address, a numerical \fIkeyid\fP, or even just an arbitrary search string. You +may use multiple \fBcrypt-hook\fPs with the same \fIregex\fP; multiple matching +\fBcrypt-hook\fPs result in the use of multiple \fIkeyid\fPs for a recipient. +.TP +\fBindex-format-hook\fP \fIname\fP [\fB!\fP]\fIpattern\fP \fIformat-string\fP +This command is used to inject format strings dynamically into +$index_format based on pattern matching against the current message. +.IP +The $index_format expando \fI%@name@\fP specifies a placeholder for +the injection. Index-format-hooks with the same \fIname\fP are matched +using \fIpattern\fP against the current message. Matching is done in +the order specified in the .neomuttrc, with the first match being +used. The hook's \fIformat-string\fP is then substituted and evaluated. +. +.PP +.nf +\fBexec\fP \fIfunction\fP [ \fIfunction\fP ... ] +.fi +.IP +This command can be used to execute any \fIfunction\fP. Functions are listed in +the function reference. \(lq\fBexec\fP \fIfunction\fP\(rq is equivalent to +\(lq\fBpush\fP <\fIfunction\fP>\(rq. +. +.PP +.nf +\fBfcc-save-hook\fP \fIpattern\fP \fImailbox\fP +\fBfcc-hook\fP \fIpattern\fP \fImailbox\fP +\fBsave-hook\fP \fIpattern\fP \fImailbox\fP +.fi +.IP +\fBfcc-save-hook\fP is a shortcut, equivalent to doing both a \fBfcc-hook\fP +and a \fBsave-hook\fP with its arguments, including %-expansion on +\fImailbox\fP according to $index_format. +.IP +\fBfcc-hook\fP is used to save outgoing mail in a mailbox other than $record. +NeoMutt searches the initial list of message recipients for the first matching +\fIpattern\fP and uses \fImailbox\fP as the default \(lqFcc:\(rq mailbox. If no +match is found the message will be saved to $record mailbox. +.IP +\fBsave-hook\fP is used to override the default mailbox used when saving +messages. \fImailbox\fP will be used as the default if the message matches +\fIpattern\fP. +.IP +To provide more flexibility and good defaults, NeoMutt applies the expandos of +$index_format to \fImailbox\fP after it was expanded. See \fIPATTERNS\fP +section below or consult section \(lq\fBMessage Matching in Hooks\fP\(rq in +NeoMutt manual for information on the exact format of \fIpattern\fP. +. +.PP +.nf +\fBfolder-hook\fP \fIregex\fP \fIcommand\fP +.fi +.IP +When NeoMutt enters a folder which matches \fIregex\fP (or, when \fIregex\fP is +preceded by an exclamation mark, does not match \fIregex\fP), the given +\fIcommand\fP is executed. +.IP +When several \fBfolder-hook\fPs match a given mail folder, they are executed in +the order given in the configuration file. +. +.PP +.nf +\fBgroup\fP [ \fB\-group\fP \fIname\fP ... ] { \fB\-rx\fP \fIexpr\fP ... | \fB\-addr\fP \fIaddress\fP ... } +\fBungroup\fP [ \fB\-group\fP \fIname\fP ... ] { \fB*\fP | \fB\-rx\fP \fIexpr\fP ... | \fB\-addr\fP \fIaddress\fP ... } +.fi +.IP +\fBgroup\fP is used to directly add either addresses or regular expressions to +the specified group or groups. The different categories of arguments to the +\fBgroup\fP command can be in any order. The flags \fB\-rx\fP and \fB\-addr\fP +specify what the following strings (that cannot begin with a hyphen) should be +interpreted as: either a regular expression or an email address, respectively. +.IP +\fBungroup\fP is used to remove addresses or regular expressions from the +specified group or groups. The syntax is similar to the \fBgroup\fP command, +however the special character \(lq\fB*\fP\(rq can be used to empty a group of +all of its contents. +.IP +These address groups can also be created implicitly by the \fBalias\fP, +\fBlists\fP, \fBsubscribe\fP and \fBalternates\fP commands by specifying the +optional \fB\-group\fP option. +.IP +Once defined, these address groups can be used in patterns to search for and +limit the display to messages matching a group. +. +.PP +.nf +\fBhdr_order\fP \fIheader\fP [ \fIheader\fP ... ] +\fBunhdr_order\fP { \fB*\fP | \fIheader\fP ... } +.fi +.IP +With the \fBhdr_order\fP command you can specify an order in which NeoMutt will +attempt to present these headers to you when viewing messages. +.IP +\(lq\fBunhdr_order\~*\fP\(rq will clear all previous headers from the order +list, thus removing the header order effects set by the system-wide startup +file. +. +.PP +.nf +\fBifdef\fP \fIsymbol\fP "\fIconfig-command\fP [ \fIargs\fP ... ]" +\fBifndef\fP \fIsymbol\fP "\fIconfig-command\fP [ \fIargs\fP ... ]" +\fBfinish\fP +.fi +.IP +The \fBifdef\fP feature introduces three new commands to NeoMutt and allow you +to share one config file between versions of NeoMutt that may have different +features compiled in. +.IP +Here a \fIsymbol\fP can be a +.BR $variable ", <" function ">, " command " or " "compile-time symbol" ", " +such as \(lq\fBimap\fP\(rq. A list of compile-time \fIsymbol\fPs can be seen in +the output of the command \(lq\fBneomutt\~\-v\fP\(rq (in the +\(lq\fBCompile options\fP\(rq section). +.IP +\fBfinish\fP is particularly useful when combined with \fBifndef\fP. +. +.PP +.nf +\fBignore\fP \fIpattern\fP [ \fIpattern\fP ... ] +\fBunignore\fP { \fB*\fP | \fIpattern\fP ... } +.fi +.IP +The \fBignore\fP command allows you to specify header fields which you don't +normally want to see in the pager. You do not need to specify the full header +field name. For example, \(lq\fBignore\fP content-\(rq will ignore all header +fields that begin with the pattern \(lqcontent-\(rq, \(lq\fBignore\fP\~*\(rq +will ignore all headers. +.IP +To remove a previously added token from the list, use the \fBunignore\fP +command. For example, \(lq\fBunignore\fP\~*\(rq will remove all tokens from the +ignore list. +. +.PP +.nf +\fBlists\fP [ \fB\-group\fP \fIname\fP ... ] \fIregex\fP [ \fIregex\fP ... ] +\fBunlists\fP [ \fB\-group\fP \fIname\fP ... ] { \fB*\fP | \fIregex\fP ... } +\fBsubscribe\fP [ \fB\-group\fP \fIname\fP ... ] \fIregex\fP [ \fIregex\fP ... ] +\fBunsubscribe\fP [ \fB\-group\fP \fIname\fP ... ] { \fB*\fP | \fIregex\fP ... } +.fi +.IP +NeoMutt maintains two lists of mailing list address patterns, a list of +subscribed mailing lists, and a list of known mailing lists. All subscribed +mailing lists are known. Patterns use regular expressions. +.IP +The \fBlists\fP command adds a mailing list address to the list of known +mailing lists. The \fBunlists\fP command removes a mailing list from the lists +of known and subscribed mailing lists. +.IP +The \fBsubscribe\fP command adds a mailing list to the lists of known and +subscribed mailing lists. The \fBunsubscribe\fP command removes it from the +list of subscribed mailing lists. +.IP +The \fB\-group\fP flag adds all of the subsequent regular expressions to the +\fIname\fPd group. +. +.PP +.nf +\fBmacro\fP \fImenu\fP[\fB,\fP\fImenu\fP ... ] \fIkey\fP \fIsequence\fP [ \fIdescription\fP ] +\fBunmacro\fP { \fB*\fP | \fImenu\fP | [\fB,\fP\fImenu\fP...]} [ \fIkey\fP ] +.fi +.IP +This command binds the given \fIsequence\fP of keys to the given \fIkey\fP in +the given \fImenu\fP or menus. For currently defined menus, see \fBbind\fP +command above. To specify multiple menus, put only a comma between the menus. +.IP +Optionally you can specify a descriptive text after \fIsequence\fP, which is +shown in the help screens if they contain a \fIdescription\fP. +.IP +Missing key sequence in \fBunmacro\fP command means unmacro all macros in menus given in \fImenu\fP. +. +.PP +.nf +\fBmailboxes\fP \fImailbox\fP [ \fImailbox\fP ... ] +\fBnamed-mailboxes\fP \fIdescription\fP \fImailbox\fP [\fIdescription\fP \fImailbox\fP ... ] +\fBunmailboxes\fP { \fB*\fP | \fImailbox\fP ... } +.fi +.IP +The \fBmailboxes\fP specifies folders which can receive mail and which will be +checked for new messages. When changing folders, pressing space will cycle +through folders with new mail. +.IP +The \fBnamed-mailboxes\fP is an alternative to \fBmailboxes\fP that allows +adding a description for a mailbox. NeoMutt can be configured to display the +description instead of the mailbox path. +.IP +The \fBunmailboxes\fP command is used to remove a file name from the list of +folders which can receive mail. If \(lq\fB*\fP\(rq is specified as the file +name, the list is emptied. +. +.PP +.nf +\fBmailto_allow\fP { \fB*\fP | \fIheader-field\fP ... } +\fBunmailto_allow\fP { \fB*\fP | \fIheader-field\fP ... } +.fi +.IP +As a security measure, NeoMutt will only add user-approved \fIheader-field\fPs +from a \fImailto:\fP URL. This is necessary since NeoMutt will handle certain +\fIheader-field\fPs, such as \fBAttach\fP, in a special way. The +\fBmailto_allow\fP and \fBunmailto_allow\fP commands allow the user to modify +the list of approved headers. +.IP +NeoMutt initializes the default list to contain only the \fBSubject\fP and +\fBBody\fP \fIheader-field\fPs, which are the only requirement specified by the +\fImailto:\fP specification in RFC2368, and the \fBCc\fP, \fBIn-Reply-To\fP, +\fBReferences\fP headers to aid with replies to mailing lists. +.TP +\fBecho\fP \fImessage\fP +Prints \fImessage\fP to the message window. After printing the +message, echo will pause for the number of seconds specified by +$sleep_time. +.TP +\fBcd\fP \fIdirectory\fP +Changes the current working directory. +. +.PP +.nf +\fBmbox-hook\fP \fIregex\fP \fImailbox\fP +.fi +.IP +When NeoMutt changes to a mail folder which matches \fIregex\fP, \fImailbox\fP +will be used as the \(lqmbox\(rq folder, i.e. read messages will be moved to +that folder when the mail folder is left. +.IP +Note that execution of \fBmbox-hook\fPs is dependent on the $move configuration +variable. If set to \(lqno\(rq (the default), \fBmbox-hook\fPs will not be +executed. +.IP +The first matching \fBmbox-hook\fP applies. +. +.PP +.nf +\fBmessage-hook\fP \fIpattern\fP \fIcommand\fP +.fi +.IP +Before NeoMutt displays (or formats for replying or forwarding) a message which +matches the given \fIpattern\fP (or, when it is preceded by an exclamation +mark, does not match the \fIpattern\fP), the given \fIcommand\fP is executed. +When multiple \fBmessage-hook\fPs match, they are executed in the order in +which they occur in the configuration file. +. +.PP +.nf +\fBmime_lookup\fP \fImime-type\fP[\fB/\fP\fImime-subtype\fP] [ \fImime-type\fP[\fB/\fP\fImime-subtype\fP] ... ] +\fBunmime_lookup\fP { \fB*\fP | \fImime-type\fP[\fB/\fP\fImime-subtype\fP] ... } +.fi +.IP +This command permits you to define a list of \(lqdata\(rq MIME content types +for which NeoMutt will try to determine the actual file type from the file +name, and not use a +.BR mailcap (5) +entry given for the original MIME type. For instance, you may add the +\fBapplication/\:octet-stream\fP MIME type to this list. +.IP +In addition, the \fBunmime_lookup\fP command may be used to disable this +feature for any particular MIME type if it had been set, for example in +a global \fIneomuttrc\fP. +. +.PP +.nf +\fBmono\fP \fIobject\fP \fIattribute\fP +\fBmono\fP { header | body } \fIattribute\fP \fIregex\fP +\fBmono\fP index-object \fIattribute\fP \fIpattern\fP +\fBunmono\fP { index-object | header | body } { \fB*\fP | \fIpattern\fP ... } +.fi +.IP +For terminals which don't support color, you can still assign +attributes to objects. +. +.PP +.nf +\fBmy_hdr\fP \fIstring\fP +\fBunmy_hdr\fP { \fB*\fP | \fIfield\fP ... } +.fi +.IP +Using \fBmy_hdr\fP, you can define headers which will be added to the messages +you compose. \fBunmy_hdr\fP will remove the given user-defined headers. +. +.PP +.nf +\fBopen-hook\fP \fIregex\fP "\fIshell-command\fP" +\fBclose-hook\fP \fIregex\fP "\fIshell-command\fP" +\fBappend-hook\fP \fIregex\fP "\fIshell-command\fP" +.fi +.IP +These commands provide a way to handle compressed folders. The given +\fIregex\fP specifies which folders are taken as compressed (e.g. +\(dq\fB\(rs.gz$\fP\(dq). The commands tell NeoMutt how to uncompress a folder +(\fBopen-hook\fP), compress a folder (\fBclose-hook\fP) or append a compressed +mail to a compressed folder (\fBappend-hook\fP). The \fIshell-command\fP is a +.BR printf (3) +like format string and must contain two placeholders for from (\fB%f\fP) and to +(\fB%t\fP) filenames which should be placed inside single-quotes to prevent +unintended shell expansions. Examples: +.RS +.IP +.EX +.BR append-hook " \(aq" "\(rs.gz$" "\(aq \(dqgzip \-\-stdout \(aq" "%t" "\(aq >> \(aq" "%f" "\(aq\(dq" +.BR close-hook " \(aq" "\(rs.gz$" "\(aq \(dqgzip \-\-stdout \(aq" "%t" "\(aq > \(aq" "%f" "\(aq\(dq" +.BR open-hook " \(aq" "\(rs.gz$" "\(aq \(dqgzip \-\-stdout \-\-decompress \(aq" "%f" "\(aq > \(aq" "%t" "\(aq\(dq" +.EE +.RE +. +.PP +.nf +\fBpush\fP \fIstring\fP +.fi +.IP +This command adds the named \fIstring\fP to the beginning of the keyboard +buffer. The string may contain control characters, key names and function names +like the sequence string in the \fBmacro\fP command. You may use it to +automatically run a sequence of commands at startup, or when entering certain +folders. +.IP +For using functions, it's important to use angle brackets (\(lq<\(rq and +\(lq>\(rq) to make NeoMutt recognize the input as a function name. Otherwise +it will simulate individual just keystrokes. +. +. +.PP +.nf +\fBreply-hook\fP \fIpattern\fP \fIcommand\fP +\fBsend-hook\fP \fIpattern\fP \fIcommand\fP +\fBsend2-hook\fP \fIpattern\fP \fIcommand\fP +.fi +.IP +These commands can be used to execute arbitrary configuration commands based +upon recipients of the message. \fIpattern\fP is used to match the message, see +section \(lq\fBMessage Matching in Hooks\fP\(rq in manual for details. +\fIcommand\fP is executed when \fIpattern\fP matches. +.IP +\fBreply-hook\fP is matched against the message you are replying to, instead of +the message you are sending. \fBsend-hook\fP is matched against all messages, +both new and replies. \fBNote\fP, \fBreply-hook\fPs are matched before the +\fBsend-hook\fP, regardless of the order specified in the user's configuration +file. +.IP +\fBsend2-hook\fP is matched every time a message is changed, either by editing +it, or by using the compose menu to change its recipients or subject. +\fBsend2-hook\fP is executed after \fBsend-hook\fP, and can, e.g., be used to +set parameters such as the $sendmail variable depending on the message's sender +address. \fBNote\fP, \fBsend-hook\fPs are only executed once after getting the +initial list of recipients. +. +.PP +.nf +\fBscore\fP \fIpattern\fP \fIvalue\fP +\fBunscore\fP { \fB*\fP | \fIpattern\fP ... } +.fi +.IP +The \fBscore\fP command adds \fIvalue\fP to a message's score if \fIpattern\fP +matches it. \fIpattern\fP is a string in the format described in the +\fIPATTERNS\fP section below. \fIvalue\fP is a positive or negative integer. +A message's final score is the sum total of all matching score entries. +.IP +The \fBunscore\fP command removes score entries from the list. You must specify +the same \fIpattern\fP specified in the \fBscore\fP command for it to be +removed. The pattern \(lq\fB*\fP\(rq is a special token which means to clear +the list of all score entries. +. +.PP +.nf +\fBset\fP { [ \fBno\fP | \fBinv\fP | \fB&\fP | \fB?\fP ]\fIvariable\fP } [ ... ] +\fBset\fP { \fIvariable\fP=\fIvalue\fP | \fIvariable+=increment\fP | \fIvariable-=decrement\fP } [ ... ] +\fBunset\fP \fIvariable\fP [ \fIvariable\fP ... ] +\fBreset\fP \fIvariable\fP [ \fIvariable\fP ... ] +\fBtoggle\fP \fIvariable\fP [ \fIvariable\fP ... ] +.fi +.IP +These commands are used to set and manipulate configuration \fIvariable\fPs. +.IP +NeoMutt knows four basic types of \fIvariable\fPs: boolean, number, string, string +list and quadoption. Boolean \fIvariable\fPs can be \fBset\fP (true), \fBunset\fP +(false), or \fBtoggle\fPd. Number \fIvariable\fPs can be assigned a positive +integer \fIvalue\fP. Value of number \fIvariable\fPs can be incremented "\fB+=\fP" +and decremented "\fB-=\fP". String list \fIvariable\fPs use "\fB+=\fP" for +appending increment to the string list and "\fB-=\fP" for removal decrement from +the string list. +.IP +String \fIvariable\fPs consist of any number of printable characters and must +be enclosed in quotes if they contain spaces or tabs. You may also use the +escape sequences \(lq\fB\(rsn\fP\(rq and \(lq\fB\(rst\fP\(rq for newline and +tab, respectively. Content of a string \fIvariable\fPs can be extended using +"\fB+=\fP" +.IP +Quadoption \fIvariable\fPs are used to control whether or not to be prompted +for certain actions, or to specify a default action. A \fIvalue\fP of \fByes\fP +will cause the action to be carried out automatically as if you had answered +\(lqyes\(rq to the question. Similarly, a \fIvalue\fP of \fBno\fP will cause +the action to be carried out as if you had answered \(lqno\(rq. A \fIvalue\fP +of \fBask-yes\fP will cause a prompt with a default answer of \(lqyes\(rq and +\fBask-no\fP will provide a default answer of \(lqno\(rq. +.IP +The \fBtoggle\fP command automatically prepends the \(lq\fBinv\fP\(rq prefix to +all specified \fIvariable\fPs. The \fBunset\fP command automatically prepends +the \(lq\fBno\fP\(rq prefix to all specified \fIvariable\fPs. If you use the +command \fBset\fP and prefix the \fIvariable\fP with \(lq\fB&\fP\(rq this has +the same behavior as the \fBreset\fP command. +.IP +The \fBreset\fP command resets all given \fIvariable\fPs to the compile time +defaults. With the \fBreset\fP command there exists the special \fIvariable\fP +\fBall\fP, which allows you to reset all \fIvariable\fPs to their system +defaults. +.IP +Using the <\fBenter-command\fP> function, you can query the \fIvalue\fP of +a \fIvariable\fP by prefixing the name of the \fIvariable\fP with a question +mark: \(dq:\fBset\~?\fPallow_8bit\(dq. +. +.PP +.nf +\fBsetenv\fP { \fB?\fP\fIvariable\fP | \fIvariable\fP \fIvalue\fP } +\fBunsetenv\fP \fIvariable\fP +.fi +.IP +You can alter the environment that NeoMutt passes on to its child processes +using the \fBsetenv\fP and \fBunsetenv\fP operators. +.IP +You can also query current environment \fIvalue\fPs by prefixing a +\(lq\fB?\fP\(rq character. +. +.PP +.nf +\fBsidebar_whitelist\fP \fImailbox\fP [ \fImailbox\fP ...] +\fBunsidebar_whitelist\fP { \fB*\fP | \fImailbox\fP ... } +.fi +.IP +The \fBsidebar_whitelist\fP command specifies \fImailbox\fPes that will always +be displayed in the sidebar, even if $sidebar_new_mail_only is set and the +\fImailbox\fP does not contain new mail. +.IP +The \fBunsidebar_whitelist\fP command is used to remove a \fImailbox\fP from +the list of whitelisted \fImailbox\fPes. Use +\(lq\fBunsidebar_whitelist\~*\fP\(rq to remove all \fImailbox\fPes. +. +.PP +.nf +\fBsource\fP \fIfilename\fP +.fi +.IP +This command allows the inclusion of initialization commands from other files. +If the \fIfilename\fP begins with a tilde (\(lq~\(rq), it will be expanded to +the path of your home directory. +.IP +If the \fIfilename\fP ends with a vertical bar (\(lq|\(rq), then \fIfilename\fP +is considered to be an executable program from which to read input, (e.g. +\(lq\fBsource\fP\~\fI~/\:bin/\:myscript\fP|\(rq). +. +.PP +.nf +\fBspam\fP \fIpattern\fP \fIformat\fP +\fBnospam\fP { \fB*\fP | \fIpattern\fP } +.fi +.IP +NeoMutt has generalized support for external spam-scoring filters. By defining +your spam \fIpattern\fPs with the \fBspam\fP and \fBnospam\fP commands, you can +limit, search, and sort your mail based on its spam attributes, as determined +by the external filter. You also can display the spam attributes in your index +display using the %H selector in the $index_format variable. (Tip: try +\(dq%?H?[%H]\~?\(dq to display spam tags only when they are defined for a given +message). +.IP +For further information on spam-scoring filters, please consult the +section \(lq\fBSpam Detection\fP\(rq in the NeoMutt manual. +. +.PP +.nf +\fBsubjectrx\fP \fIpattern\fP \fIreplacement\fP +\fBunsubjectrx\fP { \fB*\fP | \fIpattern\fP } +.fi +.IP +The \fBsubjectrx\fP command specifies a regular expression \fIpattern\fP which, +if detected in a message subject, causes the subject to be replaced with the +\fIreplacement\fP value. The \fIreplacement\fP is subject to substitutions in +the same way as for the \fBspam\fP command: %L for the text to the left of the +match, %R for text to the right of the match, and %1 for the first subgroup in +the match (etc). If you simply want to erase the match, set it to \(lq%L%R\(rq. +Any number of \fBsubjectrx\fP commands may coexist. +.IP +Note this well: the \fIreplacement\fP value replaces the entire subject, not +just the match! +.IP +\fBunsubjectrx\fP removes a given \fBsubjectrx\fP from the substitution list. +If \(lq\fB*\fP\(rq is used as the pattern, all substitutions will be removed. +. +.PP +.nf +\fBtimeout-hook\fP \fIcommand\fP +\fBstartup-hook\fP \fIcommand\fP +\fBshutdown-hook\fP \fIcommand\fP +.fi +.IP +The \fBGlobal Hooks\fP feature introduces these hooks to NeoMutt. They are +called when global events take place in NeoMutt. \fBstartup-hook\fP and +\fBshutdown-hook\fP are most likely to be useful to users of +.BR notmuch (1). +.IP +\fBtimeout-hook\fP runs a \fIcommand\fP periodically when NeoMutt checks for +new mail. This hook is called every $timeout seconds. +.IP +Before NeoMutt opens the first mailbox when first starting, NeoMutt will run +the \fBstartup-hook\fP for the given \fIcommand\fP. +.IP +Before NeoMutt is about to exit, and before the mailbox is closed, NeoMutt will +run the \fBshutdown-hook\fP for the given \fIcommand\fP. +. +.PP +.nf +\fBunhook\fP { \fB*\fP | \fIhook-type\fP } +.fi +.IP +This command permits you to flush hooks you have previously defined. You can +either remove all hooks by giving the \(lq\fB*\fP\(rq character as an argument, +or you can remove all hooks of a specific \fIhook-type\fP by saying something +like \(lq\fBunhook\fP\~\fIsend-hook\fP\(rq. +. +.\" -------------------------------------------------------------------- +.SH PATTERNS +.\" -------------------------------------------------------------------- +.SS "\s-1Pattern Modifier\s0" +.\" -------------------------------------------------------------------- +.PP +Many of NeoMutt's commands allow you to specify a pattern to match messages +.RB ( limit ", " tag-pattern ", " delete-pattern ", the above mentioned " hook +commands etc.). The table \(lq\fBPattern modifiers\fP\(rq shows several ways to +select messages. +. +.na +.TS +box tab(|); +lb s | lb +l s | lx +. +\0Pattern|Description +_ +\0~A|T{ +all messages +T} +_ +\0=B \fISTRING\fP|T{ +messages which contain \fISTRING\fP in the whole message. If IMAP is enabled, +searches for \fISTRING\fP on the server, rather than downloading each message +and searching it locally. +T} +_ +\0=b \fISTRING\fP|T{ +messages which contain \fISTRING\fP in the message body. If IMAP is enabled, +searches for \fISTRING\fP on the server, rather than downloading each message +and searching it locally. +T} +_ +\0~B \fIEXPR\fP|T{ +messages which contain \fIEXPR\fP in the whole message +T} +_ +\0~b \fIEXPR\fP|T{ +messages which contain \fIEXPR\fP in the message body +T} +_ +\0%C \fIGROUP\fP|T{ +messages either \(lqTo:\(rq or \(lqCc:\(rq to any member of \fIGROUP\fP +T} +_ +\0%c \fIGROUP\fP|T{ +messages carbon-copied to any member of \fIGROUP\fP +T} +_ +\0~C \fIEXPR\fP|T{ +messages either \(lqTo:\(rq or \(lqCc:\(rq \fIEXPR\fP +T} +_ +\0~c \fIEXPR\fP|T{ +messages carbon-copied to \fIEXPR\fP +T} +_ +\0~D|T{ +deleted messages +T} +_ +\0~d \fIMIN\fP-\fIMAX\fP|T{ +messages with \(lqdate-sent\(rq in a date range +T} +_ +\0%e \fIGROUP\fP|T{ +messages which contain a member of \fIGROUP\fP in the \(lqSender:\(rq field +T} +_ +\0~E|T{ +expired messages +T} +_ +\0~e \fIEXPR\fP|T{ +messages which contain \fIEXPR\fP in the \(lqSender:\(rq field +T} +_ +\0%f \fIGROUP\fP|T{ +messages originating from any member of \fIGROUP\fP +T} +_ +\0~F|T{ +flagged messages +T} +_ +\0~f \fIEXPR\fP|T{ +messages originating from \fIEXPR\fP +T} +_ +\0~G|T{ +cryptographically encrypted messages +T} +_ +\0~g|T{ +cryptographically signed messages +T} +_ +\0=h \fISTRING\fP|T{ +messages which contain \fISTRING\fP in the message header. If IMAP is enabled, +searches for \fISTRING\fP on the server, rather than downloading each message +and searching it locally; \fISTRING\fP must be of the form \(lqHeader: +substring\(rq (see below). +T} +_ +\0~H \fIEXPR\fP|T{ +messages with spam attribute matching \fIEXPR\fP +T} +_ +\0~h \fIEXPR\fP|T{ +messages which contain \fIEXPR\fP in the message header +T} +_ +\0~i \fIEXPR\fP|T{ +messages which match \fIEXPR\fP in the \(lqMessage-ID:\(rq field +T} +_ +\0~k|T{ +messages containing PGP key material +T} +_ +\0%L \fIGROUP\fP|T{ +messages either originated or received by any member of \fIGROUP\fP +T} +_ +\0~L \fIEXPR\fP|T{ +messages either originated or received by \fIEXPR\fP +T} +_ +\0~l|T{ +messages addressed to a known mailing list +T} +_ +\0~m <\fIMAX\fP|T{ +messages with numbers less than \fIMAX\fP \fB*\fP) +T} +_ +\0~m >\fIMIN\fP|T{ +messages with numbers greater than \fIMIN\fP \fB*\fP) +T} +_ +\0~m \fIMIN\fP,\fIMAX\fP|T{ +messages with offsets (from selected message) in the range \fIMIN\fP to +\fIMAX\fP \fB*\fP) +T} +_ +\0~m \fIMIN\fP-\fIMAX\fP|T{ +message in the range \fIMIN\fP to \fIMAX\fP \fB*\fP) +T} +_ +\0~m \fIN\fP|T{ +just message number \fIN\fP \fB*\fP) +T} +_ +\0~N|T{ +new messages +T} +_ +\0~n \fIMIN\fP-\fIMAX\fP|T{ +messages with a score in the range \fIMIN\fP to \fIMAX\fP \fB**\fP) +T} +_ +\0~O|T{ +old messages +T} +_ +\0~P|T{ +messages from you (consults $from, \fBalternates\fP, and local account/hostname information) +T} +_ +\0~p|T{ +messages addressed to you (consults $from, \fBalternates\fP, and local account/hostname information) +T} +_ +\0~Q|T{ +messages which have been replied to +T} +_ +\0~R|T{ +read messages +T} +_ +\0~r \fIMIN\fP-\fIMAX\fP|T{ +messages with \(lqdate-received\(rq in a date range +T} +_ +\0~S|T{ +superseded messages +T} +_ +\0~s \fIEXPR\fP|T{ +messages having \fIEXPR\fP in the \(lqSubject:\(rq field +T} +_ +\0~T|T{ +tagged messages +T} +_ +\0~t \fIEXPR\fP|T{ +messages addressed to \fIEXPR\fP +T} +_ +\0~U|T{ +unread messages +T} +_ +\0~u|T{ +messages addressed to a subscribed mailing list +T} +_ +\0~V|T{ +cryptographically verified messages +T} +_ +\0~v|T{ +message is part of a collapsed thread. +T} +_ +\0~X \fIMIN\fP-\fIMAX\fP|T{ +messages with \fIMIN\fP to \fIMAX\fP attachments \fB**\fP) +T} +_ +\0~x \fIEXPR\fP|T{ +messages which contain \fIEXPR\fP in the \(lqReferences:\(rq or +\(lqIn-Reply-To:\(rq field +T} +_ +\0~y \fIEXPR\fP|T{ +messages which contain \fIEXPR\fP in their keywords +T} +_ +\0~Y \fIEXPR\fP|T{ +messages whose tags match \fIEXPR\fP +T} +_ +\0~z \fIMIN\fP-\fIMAX\fP|T{ +messages with a size in the range \fIMIN\fP to \fIMAX\fP \fB**\fP) \fB***\fP) +T} +_ +\0=/ \fISTRING\fP|T{ +IMAP custom server-side search for \fISTRING\fP. Currently only defined for +Gmail. See section \(lq\fBGmail Patterns\fP\(rq in NeoMutt manual. +T} +_ +\0~=|T{ +duplicated messages (see $duplicate_threads) +T} +_ +\0~#|T{ +broken threads (see $strict_threads) +T} +_ +\0~$|T{ +unreferenced message (requires threaded view) +T} +_ +\0~(\fIPATTERN\fP)|T{ +messages in threads containing messages matching \fIPATTERN\fP, e.g. all +threads containing messages from you: ~(~P) +T} +_ +\0~<(\fIPATTERN\fP)|T{ +messages whose immediate parent matches \fIPATTERN\fP, e.g. replies to your +messages: ~<(~P) +T} +_ +\0~>(\fIPATTERN\fP)|T{ +messages having an immediate child matching \fIPATTERN\fP, e.g. messages you +replied to: ~>(~P) +T} +_ +.T& +l s s . +T{ +\0Where \fIEXPR\fP is a regular expression, and \fIGROUP\fP is an address group. +T} +.T& +l l s . +.PP +\0\fB*\fP)|T{ +The message number ranges (introduced by \(lq\fB~m\fP\(rq) are even +more general and powerful than the other types of ranges. Read on and see +section \(lq\fBMessage Ranges\fP\(rq in manual. +T} +\0\fB**\fP)|T{ +The forms \(lq<\fIMAX\fP\(rq, \(lq>\fIMIN\fP\(rq, \(lq\fIMIN\fP-\(rq and +\(lq-\fIMAX\fP\(rq are allowed, too. +T} +\0\fB***\fP)|T{ +The suffixes \(lqK\(rq and \(lqM\(rq are allowed to specify +kilobyte and megabyte respectively. +T} +.TE +.PP +.ad +. +.PP +Special attention has to be paid when using regular expressions inside of +patterns. Specifically, NeoMutt's parser for these patterns will strip one +level of backslash (\(lq\fB\(rs\fP\(rq), which is normally used for quoting. If +it is your intention to use a backslash in the regular expression, you will +need to use two backslashes (\(lq\fB\(rs\(rs\fP\(rq) instead. +. +.PP +You can force NeoMutt to treat \fIEXPR\fP as a simple \fISTRING\fP instead of +a regular expression by using \(lq\fB=\fP\(rq instead of \(lq\fB~\fP\(rq in the +pattern name. For example, \(lq\fB=b\~*.*\fP\(rq will find all messages that +contain the literal \fISTRING\fP \(lq\fB*.*\fP\(rq. Simple substring matches +are less powerful than regular expressions but can be considerably faster. This +is especially true for IMAP folders, because substring matches can be performed +on the server instead of by fetching every message. IMAP treats +\(lq\fB=h\fP\(rq specially: it must be of the form +\(lqHeader:\~\fIsubstring\fP\(rq and will \fBnot\fP partially match header +names. The \fIsubstring\fP part may be omitted if you simply wish to find +messages containing a particular header without regard to its value. +. +.PP +Patterns matching lists of addresses (notably +.BR c ", " C ", " p ", " P " and " t ) +match if there is at least one match in the whole list. If you want to make +sure that all elements of that list match, you need to prefix your pattern with +\(lq\fB^\fP\(rq. +. +.PP +This example matches all mails which only has recipients from Germany. +.IP +Matching all addresses in address lists: +.BI ^~C\~ \(rs.de$ +. +.PP +You can restrict address pattern matching to aliases that you have defined with +the \(lq\fB@\fP\(rq modifier. This example matches messages whose recipients +are all from Germany \fBand\fP who are known to your alias list. +. +.IP +Matching restricted to aliases: +.BI ^@~C\~ \(rs.de$ +. +.PP +To match any defined alias, use a regular expression that matches \fBany\fP +string. This example matches messages whose senders are known aliases. +. +.IP +Matching any defined alias: +.BI @~f\~ . +. +.SS "\s-1Nesting and Boolean Operators\s0" +.\" -------------------------------------------------------------------- +.PP +Logical AND is performed by specifying more than one criterion. +.IP +For example: +.BI ~t\~ work " ~f\~" elkins +. +.PP +would select messages which contain the word \(lqwork\(rq in the list of +recipients \fBand\fP that have the word \(lqelkins\(rq in the \(lqFrom:\(rq +header field. +. +.PP +NeoMutt also recognizes the following operators to create more complex +search patterns: +. +.RS +.TP 4 +\(bu \(lq\fB!\fP\(rq \(em logical NOT operator +.TQ +\(bu \(lq\fB|\fP\(rq \(em logical OR operator +.TQ +\(bu \(lq\fB()\fP\(rq \(em logical grouping operator +.RE +. +.PP +Here is an example illustrating a complex search pattern. This pattern will +select all messages which do \fBnot\fP contain \(lqwork\(rq in the \(lqTo:\(rq +\fBor\fP \(lqCc:\(rq field \fBand\fP which are from \(lqelkins\(rq. +. +.IP +Using boolean operators in patterns: +.BI !(~t\~ work |~c\~ work ") ~f\~" elkins +. +.PP +Here is an example using white space in the regular expression (note the +\(lq\fB\(aq\fP\(rq and \(lq\fB\(dq\fP\(rq delimiters). For this to match, the +mail's subject must match the \(lq^Junk +From +Me$\(rq \fBand\fP it must be +from either \(lqJim +Somebody\(rq \fBor\fP \(lqEd +SomeoneElse\(rq: +. +.IP +Quoting regex: +.na +.IB \(aq ~s\~ "\(dq^Junk +From +Me$\(dq" +.BI ~f\~( "\(dqJim +Somebody\(dq" | "\(dqEd +SomeoneElse\(dq" ) \(aq +.ad +. +.PP +\fBNote\fP: If a regular expression contains parenthesis, or a vertical bar +(\(lq\fB|\fP\(rq), you must enclose the expression in double or single quotes +since those characters are also used to separate different parts of NeoMutt's +pattern language. +. +.IP +For example: +.BI ~f \~\(dquser@ ( home\(rs.org | work\(rs.com ) \(dq +. +.PP +Without the quotes, the parenthesis wouldn't end. This would be separated to +two OR'd patterns: +.BI ~f \~user@(home\(rs.org +.RI "and " work\(rs.com) ". They are never what you want." +. +.SS "\s-1Searching by Date\s0" +.\" -------------------------------------------------------------------- +.PP +NeoMutt supports two types of dates, \fBabsolute\fP and \fBrelative\fP for +the \(lq\fB~d\fP\(rq and \(lq\fB~r\fP\(rq pattern. +. +.PP +.nf +.B Absolute Dates +.fi +Dates must be in +.IR dd [/ mm [/[ CC ] YY ]] +format (day, month, century and year \(em all parts, with the exception of day, +are optional, defaulting to the current month and year). An example of a valid +range of dates is: +. +.IP +Limit to messages matching: +.IR \fB~d\fP\~20 / 1 / 95 - 31 / 10 +. +.PP +Alternatively, you may use \fIYYYYMMDD\fP to specify a date. +.PP +When given a two-digit year, NeoMutt will interpret values less than \(lq70\(rq +as lying in the 21st century (i.e., \(lq38\(rq means 2038 and not 1938, and +\(lq00\(rq is interpreted as 2000), and values greater than or equal to +\(lq70\(rq as lying in the 20th century. +. +.PP +If you omit the \fIMIN\fPimum (first) date, and just specify +.RI - dd / mm / YY , +all messages before the given date will be selected. If you omit the +\fIMAX\fPimum (second) date, and specify +.IR dd / mm / YY -, +all messages after the given date will be selected. If you specify a single +date with no dash (\(lq\fB-\fP\(rq), only messages sent/received on the given +date will be selected. +. +.PP +You can add error margins to absolute dates. An error margin is a sign +(\(lq\fB+\fP\(rq or \(lq\fB-\fP\(rq), followed by a digit, followed by one of +the units in table \(lq\fBDate units\fP\(rq below. As a special case, you can +replace the sign by a \(lq\fB*\fP\(rq character, which is equivalent to giving +identical plus and minus error margins. +. +.\".TS +.\"allbox tab(|); +.\"cb cb +.\"c l . +.\"\0Unit|Description +.\"\0d|Days +.\"\0w|Weeks +.\"\0m|Months +.\"\0y|Years +.\".TE +.\".PP +.\". +.TS +allbox center tab(|); +lb c c c c +lb l l l l . +\0Date Unit|S|M|H|d|w|m|y +\0Description|Seconds|Minutes|Hours|Days|Weeks|Months|Years +.TE +.PP +. +.PP +\fBExample\fP: To select any messages two weeks around January 15, 2001, you'd +use the following pattern: +. +.IP +Limit to messages matching: +.IR \fB~d\fP\~15 / 1 / 2001 \fB*\fP 2 \fBw\fP +. +.PP +It is possible to give multiple error margins: +. +.IP +which cumulate: +.IR \fB~d\fP\~1 / 1 / 2001 \fB-\fP 1 \fBw+\fP 2 \fBw*\fP 3 \fBd\fP +. +.PP +.nf +.B Relative Dates +.fi +This type of date is relative to the current date, and may be specified as: +. +.RS +.TP 4 +\(bu \(lq\fB<\fP\fIoffset\fP\(rq for messages newer than \fIoffset\fP units +.TQ +\(bu \(lq\fB=\fP\fIoffset\fP\(rq for messages exactly \fIoffset\fP units old +.TQ +\(bu \(lq\fB>\fP\fIoffset\fP\(rq for messages older than \fIoffset\fP units +.RE +. +.PP +\fIoffset\fP is specified as a positive number with one of the units from table +\(lq\fBDate units\fP\(rq. +. +.PP +\fBExample\fP: To select messages less than 1 month old, you would use: +. +.IP +Limit to messages matching: +.BI ~d\~< 1 m +. +.PP +\fBNote\fP: All dates used when searching are relative to the \fBlocal\fP time +zone, so unless you change the setting of your $index_format to include +a \(lq\fB%[...]\fP\(rq format, these are \fBnot\fP the dates shown in the main +index. +. +.\" -------------------------------------------------------------------- +.SH CONFIGURATION VARIABLES +.\" -------------------------------------------------------------------- + +.TP +.B abort_backspace +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, hitting backspace against an empty prompt aborts the +prompt. + + +.TP +.B abort_key +.nf +Type: string +Default: "007" +.fi +.IP +Specifies the key that can be used to abort prompts. The format is the +same as used in "bind" commands. The default is equivalent to "\\G". +Note that the specified key should not be used in other bindings, as the +abort operation has higher precedence and the binding will not have the +desired effect. +.IP +Example: + +.IP +.EX +set abort_key = "" + +.EE +.IP +Please note that when using as the abort key, you may also want to +set the environment variable ESCDELAY to a low value or even 0 which will +reduce the time that ncurses waits to distinguish singular key +presses from the start of a terminal escape sequence. The default time is +1000 milliseconds and thus quite noticeable. + + +.TP +.B abort_noattach +.nf +Type: quadoption +Default: no +.fi +.IP +If set to \fIyes\fP, when composing messages containing the regular +expression specified by $abort_noattach_regex and no attachments are +given, composition will be aborted. If set to \fIno\fP, composing messages +as such will never be aborted. +.IP +Example: + +.IP +.EX +set abort_noattach_regex = "\\\\" + +.EE + + +.TP +.B abort_noattach_regex +.nf +Type: regular expression +Default: "\\<(attach|attached|attachments?)\\>" +.fi +.IP +Specifies a regular expression to match against the body of the message, to +determine if an attachment was mentioned but mistakenly forgotten. If it +matches, $abort_noattach will be consulted to determine if message sending +will be aborted. +.IP +Like other regular expressions in NeoMutt, the search is case sensitive +if the pattern contains at least one upper case letter, and case +insensitive otherwise. + + +.TP +.B abort_nosubject +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +If set to \fIyes\fP, when composing messages and no subject is given +at the subject prompt, composition will be aborted. If set to +\fIno\fP, composing messages with no subject given at the subject +prompt will never be aborted. + + +.TP +.B abort_unmodified +.nf +Type: quadoption +Default: yes +.fi +.IP +If set to \fIyes\fP, composition will automatically abort after +editing the message body if no changes are made to the file (this +check only happens after the \fIfirst\fP edit of the file). When set +to \fIno\fP, composition will never be aborted. + + +.TP +.B alias_file +.nf +Type: path +Default: "~/.neomuttrc" +.fi +.IP +The default file in which to save aliases created by the +\fC\fP function. Entries added to this file are +encoded in the character set specified by $config_charset if it +is \fIset\fP or the current character set otherwise. +.IP +\fBNote:\fP NeoMutt will not automatically source this file; you must +explicitly use the "source" command for it to be executed in case +this option points to a dedicated alias file. +.IP +The default for this option is the currently used neomuttrc file, or +"~/.neomuttrc" if no user neomuttrc was found. + + +.TP +.B alias_format +.nf +Type: string +Default: "%3n %f%t %\-15a %\-56r | %c" +.fi +.IP +Specifies the format of the data displayed for the "alias" menu. The +following \fCprintf(3)\fP\-style sequences are available: +.RS +.PD 0 +.TP +%a +Alias name +.TP +%c +Comment +.TP +%f +Flags \- currently, a "d" for an alias marked for deletion +.TP +%n +Index number +.TP +%r +Address which alias expands to +.TP +%t +Character which indicates if the alias is tagged for inclusion +.TP +%>X +right justify the rest of the string and pad with character "X" +.TP +%|X +pad to the end of the line with character "X" +.TP +%*X +soft\-fill with character "X" as pad +.RE +.PD 1 + +.TP +.B allow_8bit +.nf +Type: boolean +Default: yes +.fi +.IP +Controls whether 8\-bit data is converted to 7\-bit using either Quoted\- +Printable or Base64 encoding when sending mail. + + +.TP +.B allow_ansi +.nf +Type: boolean +Default: no +.fi +.IP +Controls whether ANSI color codes in messages (and color tags in +rich text messages) are to be interpreted. +Messages containing these codes are rare, but if this option is \fIset\fP, +their text will be colored accordingly. Note that this may override +your color choices, and even present a security problem, since a +message could include a line like + +.IP +.EX +[\-\- PGP output follows ... + +.EE +.IP +and give it the same color as your attachment color (see also +$crypt_timestamp). + + +.TP +.B arrow_cursor +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, an arrow ("\->") will be used to indicate the current entry +in menus instead of highlighting the whole line. On slow network or modem +links this will make response faster because there is less that has to +be redrawn on the screen when moving to the next or previous entries +in the menu. + + +.TP +.B arrow_string +.nf +Type: string +Default: "\->" +.fi +.IP +Specifies the string of arrow_cursor when arrow_cursor enabled. + + +.TP +.B ascii_chars +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, NeoMutt will use plain ASCII characters when displaying thread +and attachment trees, instead of the default \fIACS\fP characters. + + +.TP +.B ask_follow_up +.nf +Type: boolean +Default: no +.fi +.IP +If set, NeoMutt will prompt you for follow\-up groups before editing +the body of an outgoing message. + + +.TP +.B ask_x_comment_to +.nf +Type: boolean +Default: no +.fi +.IP +If set, NeoMutt will prompt you for x\-comment\-to field before editing +the body of an outgoing message. + + +.TP +.B askbcc +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, NeoMutt will prompt you for blind\-carbon\-copy (Bcc) recipients +before editing an outgoing message. + + +.TP +.B askcc +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, NeoMutt will prompt you for carbon\-copy (Cc) recipients before +editing the body of an outgoing message. + + +.TP +.B assumed_charset +.nf +Type: string +Default: "" +.fi +.IP +This variable is a colon\-separated list of character encoding +schemes for messages without character encoding indication. +Header field values and message body content without character encoding +indication would be assumed that they are written in one of this list. +By default, all the header fields and message body without any charset +indication are assumed to be in "us\-ascii". +.IP +For example, Japanese users might prefer this: + +.IP +.EX +set assumed_charset="iso\-2022\-jp:euc\-jp:shift_jis:utf\-8" + +.EE +.IP +However, only the first content is valid for the message body. + + +.TP +.B attach_charset +.nf +Type: string +Default: "" +.fi +.IP +This variable is a colon\-separated list of character encoding +schemes for text file attachments. NeoMutt uses this setting to guess +which encoding files being attached are encoded in to convert them to +a proper character set given in $send_charset. +.IP +If \fIunset\fP, the value of $charset will be used instead. +For example, the following configuration would work for Japanese +text handling: + +.IP +.EX +set attach_charset="iso\-2022\-jp:euc\-jp:shift_jis:utf\-8" + +.EE +.IP +Note: for Japanese users, "iso\-2022\-*" must be put at the head +of the value as shown above if included. + + +.TP +.B attach_format +.nf +Type: string +Default: "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] " +.fi +.IP +This variable describes the format of the "attachment" menu. The +following \fCprintf(3)\fP\-style sequences are understood: +.RS +.PD 0 +.TP +%C +Charset +.TP +%c +Requires charset conversion ("n" or "c") +.TP +%D +Deleted flag +.TP +%d +Description (if none, falls back to %F) +.TP +%e +MIME content\-transfer\-encoding +.TP +%f +Filename +.TP +%F +Filename in content\-disposition header (if none, falls back to %f) +.TP +%I +Disposition ("I" for inline, "A" for attachment) +.TP +%m +Major MIME type +.TP +%M +MIME subtype +.TP +%n +Attachment number +.TP +%Q +"Q", if MIME part qualifies for attachment counting +.TP +%s +Size (see formatstrings-size) +.TP +%T +Graphic tree characters +.TP +%t +Tagged flag +.TP +%u +Unlink (=to delete) flag +.TP +%X +Number of qualifying MIME parts in this part and its children +(please see the "attachments" section for possible speed effects) +.TP +%>X +Right justify the rest of the string and pad with character "X" +.TP +%|X +Pad to the end of the line with character "X" +.TP +%*X +Soft\-fill with character "X" as pad +.RE +.PD 1 +.IP +For an explanation of "soft\-fill", see the $index_format documentation. + + +.TP +.B attach_save_dir +.nf +Type: path +Default: "./" +.fi +.IP +The directory where attachments are saved. + + +.TP +.B attach_save_without_prompting +.nf +Type: boolean +Default: no +.fi +.IP +This variable, when set to true, will cause attachments to be saved to +the 'attach_save_dir' location without prompting the user for the filename. +.IP + + +.TP +.B attach_sep +.nf +Type: string +Default: "\\n" +.fi +.IP +The separator to add between attachments when operating (saving, +printing, piping, etc) on a list of tagged attachments. + + +.TP +.B attach_split +.nf +Type: boolean +Default: yes +.fi +.IP +If this variable is \fIunset\fP, when operating (saving, printing, piping, +etc) on a list of tagged attachments, NeoMutt will concatenate the +attachments and will operate on them as a single attachment. The +$attach_sep separator is added after each attachment. When \fIset\fP, +NeoMutt will operate on the attachments one by one. + + +.TP +.B attribution +.nf +Type: string +Default: "On %d, %n wrote:" +.fi +.IP +This is the string that will precede a message which has been included +in a reply. For a full listing of defined \fCprintf(3)\fP\-like sequences see +the section on $index_format. + + +.TP +.B attribution_locale +.nf +Type: string +Default: "" +.fi +.IP +The locale used by \fCstrftime(3)\fP to format dates in the +attribution string. Legal values are the strings your system +accepts for the locale environment variable \fC$LC_TIME\fP. +.IP +This variable is to allow the attribution date format to be +customized by recipient or folder using hooks. By default, NeoMutt +will use your locale environment, so there is no need to set +this except to override that default. + + +.TP +.B auto_subscribe +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt assumes the presence of a List\-Post header +means the recipient is subscribed to the list. Unless the mailing list +is in the "unsubscribe" or "unlist" lists, it will be added +to the "subscribe" list. Parsing and checking these things slows +header reading down, so this option is disabled by default. + + +.TP +.B auto_tag +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, functions in the \fIindex\fP menu which affect a message +will be applied to all tagged messages (if there are any). When +unset, you must first use the \fC\fP function (bound to ";" +by default) to make the next function apply to all tagged messages. + + +.TP +.B autocrypt +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, enables autocrypt, which provides +passive encryption protection with keys exchanged via headers. +See "autocryptdoc" for more details. +(Autocrypt only) + + +.TP +.B autocrypt_acct_format +.nf +Type: string +Default: "%4n %\-30a %20p %10s" +.fi +.IP +This variable describes the format of the "autocrypt account" menu. +The following \fCprintf(3)\fP\-style sequences are understood +.RS +.PD 0 +.TP +%a +email address +.TP +%k +gpg keyid +.TP +%n +current entry number +.TP +%p +prefer\-encrypt flag +.TP +%s +status flag (active/inactive) +.RE +.PD 1 +.IP +(Autocrypt only) + + +.TP +.B autocrypt_dir +.nf +Type: path +Default: "~/.mutt/autocrypt" +.fi +.IP +This variable sets where autocrypt files are stored, including the GPG +keyring and SQLite database. See "autocryptdoc" for more details. +(Autocrypt only) + + +.TP +.B autocrypt_reply +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, replying to an autocrypt email automatically +enables autocrypt in the reply. You may want to unset this if you're using +the same key for autocrypt as normal web\-of\-trust, so that autocrypt +isn't forced on for all encrypted replies. +(Autocrypt only) + + +.TP +.B autoedit +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP along with $edit_headers, NeoMutt will skip the initial +send\-menu (prompting for subject and recipients) and allow you to +immediately begin editing the body of your +message. The send\-menu may still be accessed once you have finished +editing the body of your message. +.IP +\fBNote:\fP when this option is \fIset\fP, you can't use send\-hooks that depend +on the recipients when composing a new (non\-reply) message, as the initial +list of recipients is empty. +.IP +Also see $fast_reply. + + +.TP +.B beep +.nf +Type: boolean +Default: yes +.fi +.IP +When this variable is \fIset\fP, NeoMutt will beep when an error occurs. + + +.TP +.B beep_new +.nf +Type: boolean +Default: no +.fi +.IP +When this variable is \fIset\fP, NeoMutt will beep whenever it prints a message +notifying you of new mail. This is independent of the setting of the +$beep variable. + + +.TP +.B bounce +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +Controls whether you will be asked to confirm bouncing messages. +If set to \fIyes\fP you don't get asked if you want to bounce a +message. Setting this variable to \fIno\fP is not generally useful, +and thus not recommended, because you are unable to bounce messages. + + +.TP +.B bounce_delivered +.nf +Type: boolean +Default: yes +.fi +.IP +When this variable is \fIset\fP, NeoMutt will include Delivered\-To headers when +bouncing messages. Postfix users may wish to \fIunset\fP this variable. + + +.TP +.B braille_friendly +.nf +Type: boolean +Default: no +.fi +.IP +When this variable is \fIset\fP, NeoMutt will place the cursor at the beginning +of the current line in menus, even when the $arrow_cursor variable +is \fIunset\fP, making it easier for blind persons using Braille displays to +follow these menus. The option is \fIunset\fP by default because many +visual terminals don't permit making the cursor invisible. + + +.TP +.B browser_abbreviate_mailboxes +.nf +Type: boolean +Default: yes +.fi +.IP +When this variable is \fIset\fP, NeoMutt will abbreviate mailbox +names in the browser mailbox list, using '~' and '=' +shortcuts. +.IP +The default \fC"alpha"\fP setting of $sort_browser uses +locale\-based sorting (using \fCstrcoll(3)\fP), which ignores some +punctuation. This can lead to some situations where the order +doesn't make intuitive sense. In those cases, it may be +desirable to \fIunset\fP this variable. + + +.TP +.B catchup_newsgroup +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +If this variable is \fIset\fP, NeoMutt will mark all articles in newsgroup +as read when you quit the newsgroup (catchup newsgroup). + + +.TP +.B certificate_file +.nf +Type: path +Default: "~/.mutt_certificates" +.fi +.IP +This variable specifies the file where the certificates you trust +are saved. When an unknown certificate is encountered, you are asked +if you accept it or not. If you accept it, the certificate can also +be saved in this file and further connections are automatically +accepted. +.IP +You can also manually add CA certificates in this file. Any server +certificate that is signed with one of these CA certificates is +also automatically accepted. +.IP +Example: + +.IP +.EX +set certificate_file=~/.neomutt/certificates + +.EE + + +.TP +.B change_folder_next +.nf +Type: boolean +Default: no +.fi +.IP +When this variable is \fIset\fP, the \fC\fP function +mailbox suggestion will start at the next folder in your "mailboxes" +list, instead of starting at the first folder in the list. + + +.TP +.B charset +.nf +Type: string +Default: "" +.fi +.IP +Character set your terminal uses to display and enter textual data. +It is also the fallback for $send_charset. +.IP +Upon startup NeoMutt tries to derive this value from environment variables +such as \fC$LC_CTYPE\fP or \fC$LANG\fP. +.IP +\fBNote:\fP It should only be set in case NeoMutt isn't able to determine the +character set used correctly. + + +.TP +.B check_mbox_size +.nf +Type: boolean +Default: no +.fi +.IP +When this variable is \fIset\fP, NeoMutt will use file size attribute instead of +access time when checking for new mail in mbox and mmdf folders. +.IP +This variable is \fIunset\fP by default and should only be enabled when +new mail detection for these folder types is unreliable or doesn't work. +.IP +Note that enabling this variable should happen before any "mailboxes" +directives occur in configuration files regarding mbox or mmdf folders +because NeoMutt needs to determine the initial new mail status of such a +mailbox by performing a fast mailbox scan when it is defined. +Afterwards the new mail status is tracked by file size changes. + + +.TP +.B check_new +.nf +Type: boolean +Default: yes +.fi +.IP +\fBNote:\fP this option only affects \fImaildir\fP and \fIMH\fP style +mailboxes. +.IP +When \fIset\fP, NeoMutt will check for new mail delivered while the +mailbox is open. Especially with MH mailboxes, this operation can +take quite some time since it involves scanning the directory and +checking each file to see if it has already been looked at. If +this variable is \fIunset\fP, no check for new mail is performed +while the mailbox is open. + + +.TP +.B collapse_all +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will collapse all threads when entering a folder. + + +.TP +.B collapse_flagged +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIunset\fP, NeoMutt will not collapse a thread if it contains any +flagged messages. + + +.TP +.B collapse_unread +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIunset\fP, NeoMutt will not collapse a thread if it contains any +unread messages. + + +.TP +.B compose_format +.nf +Type: string +Default: "\-\- NeoMutt: Compose [Approx. msg size: %l Atts: %a]%>\-" +.fi +.IP +Controls the format of the status line displayed in the "compose" +menu. This string is similar to $status_format, but has its own +set of \fCprintf(3)\fP\-like sequences: +.RS +.PD 0 +.TP +%a +Total number of attachments +.TP +%h +Local hostname +.TP +%l +Approximate size (in bytes) of the current message (see formatstrings-size) +.TP +%v +NeoMutt version string +.TP +%>X +right justify the rest of the string and pad with character "X" +.TP +%|X +pad to the end of the line with character "X" +.TP +%*X +soft\-fill with character "X" as pad +.RE +.PD 1 +.IP +See the text describing the $status_format option for more +information on how to set $compose_format. + + +.TP +.B compose_show_user_headers +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, Neomutt will display user\-defined headers (set via my_hdr +or from editing with edit\-headers). + + +.TP +.B config_charset +.nf +Type: string +Default: "" +.fi +.IP +When defined, NeoMutt will recode commands in rc files from this +encoding to the current character set as specified by $charset +and aliases written to $alias_file from the current character set. +.IP +Please note that if setting $charset it must be done before +setting $config_charset. +.IP +Recoding should be avoided as it may render unconvertable +characters as question marks which can lead to undesired +side effects (for example in regular expressions). + + +.TP +.B confirmappend +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will prompt for confirmation when appending messages to +an existing mailbox. + + +.TP +.B confirmcreate +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will prompt for confirmation when saving messages to a +mailbox which does not yet exist before creating it. + + +.TP +.B connect_timeout +.nf +Type: number +Default: 30 +.fi +.IP +Causes NeoMutt to timeout a network connection (for IMAP, POP or SMTP) after this +many seconds if the connection is not able to be established. A negative +value causes NeoMutt to wait indefinitely for the connection attempt to succeed. + + +.TP +.B content_type +.nf +Type: string +Default: "text/plain" +.fi +.IP +Sets the default Content\-Type for the body of newly composed messages. + + +.TP +.B copy +.nf +Type: quadoption +Default: yes +.fi +.IP +This variable controls whether or not copies of your outgoing messages +will be saved for later references. Also see $record, +$save_name, $force_name and "fcc-hook". + + +.TP +.B copy_decode_weed +.nf +Type: boolean +Default: no +.fi +.IP +Controls whether NeoMutt will weed headers when invoking the +\fC\fP or \fC\fP functions. + + +.TP +.B count_alternatives +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, Mutt will recurse inside multipart/alternatives while +performing attachment searching and counting(see attachments). +.IP +Traditionally, multipart/alternative parts have simply represented +different encodings of the main content of the email. Unfortunately, +some mail clients have started to place email attachments inside +one of alternatives. Setting this will allow Mutt to find +and count matching attachments hidden there, and include them +in the index via %X or through ~X pattern matching. + + +.TP +.B crypt_autoencrypt +.nf +Type: boolean +Default: no +.fi +.IP +Setting this variable will cause NeoMutt to always attempt to PGP +encrypt outgoing messages. This is probably only useful in +connection to the "send-hook" command. It can be overridden +by use of the pgp menu, when encryption is not required or +signing is requested as well. If $smime_is_default is \fIset\fP, +then OpenSSL is used instead to create S/MIME messages and +settings can be overridden by use of the smime menu instead. +(Crypto only) + + +.TP +.B crypt_autopgp +.nf +Type: boolean +Default: yes +.fi +.IP +This variable controls whether or not NeoMutt may automatically enable +PGP encryption/signing for messages. See also $crypt_autoencrypt, +$crypt_replyencrypt, +$crypt_autosign, $crypt_replysign and $smime_is_default. + + +.TP +.B crypt_autosign +.nf +Type: boolean +Default: no +.fi +.IP +Setting this variable will cause NeoMutt to always attempt to +cryptographically sign outgoing messages. This can be overridden +by use of the pgp menu, when signing is not required or +encryption is requested as well. If $smime_is_default is \fIset\fP, +then OpenSSL is used instead to create S/MIME messages and settings can +be overridden by use of the smime menu instead of the pgp menu. +(Crypto only) + + +.TP +.B crypt_autosmime +.nf +Type: boolean +Default: yes +.fi +.IP +This variable controls whether or not NeoMutt may automatically enable +S/MIME encryption/signing for messages. See also $crypt_autoencrypt, +$crypt_replyencrypt, +$crypt_autosign, $crypt_replysign and $smime_is_default. + + +.TP +.B crypt_chars +.nf +Type: character string +Default: "SPsK " +.fi +.IP +Controls the characters used in cryptography flags. +.RS +.PD 0 +.TP +\fBCharacter\fP +\fBDefault\fP +\fBDescription\fP +.TP +1 +S +The mail is signed, and the signature is successfully verified. +.TP +2 +P +The mail is PGP encrypted. +.TP +3 +s +The mail is signed. +.TP +4 +K +The mail contains a PGP public key. +.TP +5 + +The mail has no crypto info. +.RE +.PD 1 + +.TP +.B crypt_confirmhook +.nf +Type: boolean +Default: yes +.fi +.IP +If set, then you will be prompted for confirmation of keys when using +the \fIcrypt\-hook\fP command. If unset, no such confirmation prompt will +be presented. This is generally considered unsafe, especially where +typos are concerned. + + +.TP +.B crypt_opportunistic_encrypt +.nf +Type: boolean +Default: no +.fi +.IP +Setting this variable will cause NeoMutt to automatically enable and +disable encryption, based on whether all message recipient keys +can be located by NeoMutt. +.IP +When this option is enabled, NeoMutt will enable/disable encryption +each time the TO, CC, and BCC lists are edited. If +$edit_headers is set, NeoMutt will also do so each time the message +is edited. +.IP +While this is set, encryption can't be manually enabled/disabled. +The pgp or smime menus provide a selection to temporarily disable +this option for the current message. +.IP +If $crypt_autoencrypt or $crypt_replyencrypt enable encryption for +a message, this option will be disabled for that message. It can +be manually re\-enabled in the pgp or smime menus. +(Crypto only) + + +.TP +.B crypt_opportunistic_encrypt_strong_keys +.nf +Type: boolean +Default: no +.fi +.IP +When set, this modifies the behavior of $crypt_opportunistic_encrypt +to only search for "strong keys", that is, keys with full validity +according to the web\-of\-trust algorithm. A key with marginal or no +validity will not enable opportunistic encryption. +.IP +For S/MIME, the behavior depends on the backend. Classic S/MIME will +filter for certificates with the 't'(trusted) flag in the .index file. +The GPGME backend will use the same filters as with OpenPGP, and depends +on GPGME's logic for assigning the GPGME_VALIDITY_FULL and +GPGME_VALIDITY_ULTIMATE validity flag. + + +.TP +.B crypt_protected_headers_read +.nf +Type: boolean +Default: yes +.fi +.IP +When set, NeoMutt will display protected headers ("Memory Hole") in the pager, +When set, NeoMutt will display protected headers in the pager, +and will update the index and header cache with revised headers. +.IP +Protected headers are stored inside the encrypted or signed part of an +an email, to prevent disclosure or tampering. +For more information see https://github.com/autocrypt/protected\-headers +Currently NeoMutt only supports the Subject header. +.IP +Encrypted messages using protected headers often substitute the exposed +Subject header with a dummy value (see $crypt_protected_headers_subject). +NeoMutt will update its concept of the correct subject \fBafter\fP the +message is opened, i.e. via the \fC\fP function. +If you reply to a message before opening it, NeoMutt will end up using +the dummy Subject header, so be sure to open such a message first. +(Crypto only) + + +.TP +.B crypt_protected_headers_save +.nf +Type: boolean +Default: no +.fi +.IP +When $crypt_protected_headers_read is set, and a message with a +protected Subject is opened, NeoMutt will save the updated Subject +into the header cache by default. This allows searching/limiting +based on the protected Subject header if the mailbox is +re\-opened, without having to re\-open the message each time. +However, for mbox/mh mailbox types, or if header caching is not +set up, you would need to re\-open the message each time the +mailbox was reopened before you could see or search/limit on the +protected subject again. +.IP +When this variable is set, NeoMutt additionally saves the protected +Subject back \fBin the clear\-text message headers\fP. This +provides better usability, but with the tradeoff of reduced +security. The protected Subject header, which may have +previously been encrypted, is now stored in clear\-text in the +message headers. Copying the message elsewhere, via NeoMutt or +external tools, could expose this previously encrypted data. +Please make sure you understand the consequences of this before +you enable this variable. +(Crypto only) + + +.TP +.B crypt_protected_headers_subject +.nf +Type: string +Default: "..." +.fi +.IP +When $crypt_protected_headers_write is set, and the message is marked +for encryption, this will be substituted into the Subject field in the +message headers. +.IP +To prevent a subject from being substituted, unset this variable, or set it +to the empty string. +(Crypto only) + + +.TP +.B crypt_protected_headers_write +.nf +Type: boolean +Default: no +.fi +.IP +When set, NeoMutt will generate protected headers for signed and encrypted +emails. +.IP +Protected headers are stored inside the encrypted or signed part of an +an email, to prevent disclosure or tampering. +For more information see https://github.com/autocrypt/protected\-headers +.IP +Currently NeoMutt only supports the Subject header. +(Crypto only) + + +.TP +.B crypt_replyencrypt +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, automatically PGP or OpenSSL encrypt replies to messages which are +encrypted. +(Crypto only) + + +.TP +.B crypt_replysign +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, automatically PGP or OpenSSL sign replies to messages which are +signed. +.IP +\fBNote:\fP this does not work on messages that are encrypted +\fIand\fP signed! +(Crypto only) + + +.TP +.B crypt_replysignencrypted +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, automatically PGP or OpenSSL sign replies to messages +which are encrypted. This makes sense in combination with +$crypt_replyencrypt, because it allows you to sign all +messages which are automatically encrypted. This works around +the problem noted in $crypt_replysign, that NeoMutt is not able +to find out whether an encrypted message is also signed. +(Crypto only) + + +.TP +.B crypt_timestamp +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, NeoMutt will include a time stamp in the lines surrounding +PGP or S/MIME output, so spoofing such lines is more difficult. +If you are using colors to mark these lines, and rely on these, +you may \fIunset\fP this setting. +(Crypto only) + + +.TP +.B crypt_use_gpgme +.nf +Type: boolean +Default: yes +.fi +.IP +This variable controls the use of the GPGME\-enabled crypto backends. +If it is \fIset\fP and NeoMutt was built with GPGME support, the gpgme code for +S/MIME and PGP will be used instead of the classic code. Note that +you need to set this option in .neomuttrc; it won't have any effect when +used interactively. +.IP +Note that the GPGME backend does not support creating old\-style inline +(traditional) PGP encrypted or signed messages (see $pgp_autoinline). + + +.TP +.B crypt_use_pka +.nf +Type: boolean +Default: no +.fi +.IP +Controls whether NeoMutt uses PKA +(see http://www.g10code.de/docs/pka\-intro.de.pdf) during signature +verification (only supported by the GPGME backend). + + +.TP +.B crypt_verify_sig +.nf +Type: quadoption +Default: yes +.fi +.IP +If \fI"yes"\fP, always attempt to verify PGP or S/MIME signatures. +If \fI"ask\-*"\fP, ask whether or not to verify the signature. +If \fI"no"\fP, never attempt to verify cryptographic signatures. +(Crypto only) + + +.TP +.B date_format +.nf +Type: string +Default: "!%a, %b %d, %Y at %I:%M:%S%p %Z" +.fi +.IP +This variable controls the format of the date printed by the "%d" +sequence in $index_format. This is passed to the \fCstrftime(3)\fP +function to process the date, see the man page for the proper syntax. +.IP +Unless the first character in the string is a bang ("!"), the month +and week day names are expanded according to the locale. +If the first character in the string is a +bang, the bang is discarded, and the month and week day names in the +rest of the string are expanded in the \fIC\fP locale (that is in US +English). + + +.TP +.B debug_file +.nf +Type: path +Default: "~/.neomuttdebug" +.fi +.IP +Debug logging is controlled by the variables \fC$debug_file\fP and \fC$debug_level\fP. +\fC$debug_file\fP specifies the root of the filename. NeoMutt will add "0" to the end. +Each time NeoMutt is run with logging enabled, the log files are rotated. +A maximum of five log files are kept, numbered 0 (most recent) to 4 (oldest). +.IP +This option can be enabled on the command line, "neomutt \-l mylog" +.IP +See also: \fC$debug_level\fP + + +.TP +.B debug_level +.nf +Type: number +Default: 0 +.fi +.IP +Debug logging is controlled by the variables \fC$debug_file\fP and \fC$debug_level\fP. +.IP +The debug level controls how much information is saved to the log file. +If you have a problem with NeoMutt, then enabling logging may help find the cause. +Levels 1\-3 will usually provide enough information for writing a bug report. +Levels 4,5 will be extremely verbose. +.IP +Warning: Logging at high levels may save private information to the file. +.IP +This option can be enabled on the command line, "neomutt \-d 2" +.IP +See also: \fC$debug_file\fP + + +.TP +.B default_hook +.nf +Type: string +Default: "~f %s !~P | (~P ~C %s)" +.fi +.IP +This variable controls how "message-hook", "reply-hook", "send-hook", +"send2-hook", "save-hook", and "fcc-hook" will +be interpreted if they are specified with only a simple regex, +instead of a matching pattern. The hooks are expanded when they are +declared, so a hook will be interpreted according to the value of this +variable at the time the hook is declared. +.IP +The default value matches +if the message is either from a user matching the regular expression +given, or if it is from you (if the from address matches +"alternates") and is to or cc'ed to a user matching the given +regular expression. + + +.TP +.B delete +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +Controls whether or not messages are really deleted when closing or +synchronizing a mailbox. If set to \fIyes\fP, messages marked for +deleting will automatically be purged without prompting. If set to +\fIno\fP, messages marked for deletion will be kept in the mailbox. + + +.TP +.B delete_untag +.nf +Type: boolean +Default: yes +.fi +.IP +If this option is \fIset\fP, NeoMutt will untag messages when marking them +for deletion. This applies when you either explicitly delete a message, +or when you save it to another folder. + + +.TP +.B digest_collapse +.nf +Type: boolean +Default: yes +.fi +.IP +If this option is \fIset\fP, NeoMutt's received\-attachments menu will not show the subparts of +individual messages in a multipart/digest. To see these subparts, press "v" on that menu. + + +.TP +.B display_filter +.nf +Type: command +Default: "" +.fi +.IP +When set, specifies a command used to filter messages. When a message +is viewed it is passed as standard input to $display_filter, and the +filtered message is read from the standard output. +.IP +When preparing the message, NeoMutt inserts some escape sequences into the +text. They are of the form: \fC]9;XXX\fP where "XXX" is a random +64\-bit number. +.IP +If these escape sequences interfere with your filter, they can be removed +using a tool like \fCansifilter\fP or \fCsed 's/^\\x1b]9;[0\-9]\\+\\x7//'\fP +.IP +If they are removed, then PGP and MIME headers will no longer be coloured. +This can be fixed by adding this to your config: +\fCcolor body magenta default '^\\[\-\- .* \-\-\\]$'\fP. + + +.TP +.B dsn_notify +.nf +Type: string +Default: "" +.fi +.IP +This variable sets the request for when notification is returned. The +string consists of a comma separated list (no spaces!) of one or more +of the following: \fInever\fP, to never request notification, +\fIfailure\fP, to request notification on transmission failure, +\fIdelay\fP, to be notified of message delays, \fIsuccess\fP, to be +notified of successful transmission. +.IP +Example: + +.IP +.EX +set dsn_notify="failure,delay" + +.EE +.IP +\fBNote:\fP when using $sendmail for delivery, you should not enable +this unless you are either using Sendmail 8.8.x or greater or a MTA +providing a \fCsendmail(1)\fP\-compatible interface supporting the \fC\-N\fP option +for DSN. For SMTP delivery, DSN support is auto\-detected so that it +depends on the server whether DSN will be used or not. + + +.TP +.B dsn_return +.nf +Type: string +Default: "" +.fi +.IP +This variable controls how much of your message is returned in DSN +messages. It may be set to either \fIhdrs\fP to return just the +message header, or \fIfull\fP to return the full message. +.IP +Example: + +.IP +.EX +set dsn_return=hdrs + +.EE +.IP +\fBNote:\fP when using $sendmail for delivery, you should not enable +this unless you are either using Sendmail 8.8.x or greater or a MTA +providing a \fCsendmail(1)\fP\-compatible interface supporting the \fC\-R\fP option +for DSN. For SMTP delivery, DSN support is auto\-detected so that it +depends on the server whether DSN will be used or not. + + +.TP +.B duplicate_threads +.nf +Type: boolean +Default: yes +.fi +.IP +This variable controls whether NeoMutt, when $sort is set to \fIthreads\fP, threads +messages with the same Message\-Id together. If it is \fIset\fP, it will indicate +that it thinks they are duplicates of each other with an equals sign +in the thread tree. + + +.TP +.B edit_headers +.nf +Type: boolean +Default: no +.fi +.IP +This option allows you to edit the header of your outgoing messages +along with the body of your message. +.IP +Although the compose menu may have localized header labels, the +labels passed to your editor will be standard RFC2822 headers, +(e.g. To:, Cc:, Subject:). Headers added in your editor must +also be RFC2822 headers, or one of the pseudo headers listed in +"edit-header". NeoMutt will not understand localized header +labels, just as it would not when parsing an actual email. +.IP +\fBNote\fP that changes made to the References: and Date: headers are +ignored for interoperability reasons. + + +.TP +.B editor +.nf +Type: command +Default: "vi" +.fi +.IP +This variable specifies which editor is used by NeoMutt. +It defaults to the value of the \fC$VISUAL\fP, or \fC$EDITOR\fP, environment +variable, or to the string "vi" if neither of those are set. +.IP +The \fC$editor\fP string may contain a \fI%s\fP escape, which will be replaced by the name +of the file to be edited. If the \fI%s\fP escape does not appear in \fC$editor\fP, a +space and the name to be edited are appended. +.IP +The resulting string is then executed by running + +.IP +.EX +sh \-c 'string' + +.EE +.IP +where \fIstring\fP is the expansion of \fC$editor\fP described above. + + +.TP +.B empty_subject +.nf +Type: string +Default: "Re: your mail" +.fi +.IP +This variable specifies the subject to be used when replying to an email +with an empty subject. It defaults to "Re: your mail". + + +.TP +.B encode_from +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will quoted\-printable encode messages when +they contain the string "From " (note the trailing space) in the beginning of a line. +This is useful to avoid the tampering certain mail delivery and transport +agents tend to do with messages (in order to prevent tools from +misinterpreting the line as a mbox message separator). + + +.TP +.B entropy_file +.nf +Type: path +Default: "" +.fi +.IP +The file which includes random data that is used to initialize SSL +library functions. + + +.TP +.B envelope_from_address +.nf +Type: e-mail address +Default: "" +.fi +.IP +Manually sets the \fIenvelope\fP sender for outgoing messages. +This value is ignored if $use_envelope_from is \fIunset\fP. + + +.TP +.B external_search_command +.nf +Type: command +Default: "" +.fi +.IP +If set, contains the name of the external program used by "~I" patterns. +This will usually be a wrapper script around mairix, mu, or similar +indexers other than notmuch (for which there is optional special support). +.IP +Here is an example how it works. Let's assume $external_search_command +is set to "mairix_filter", and mairix_filter is a script which +runs the old but well loved mairix indexer with the arguments +given to mairix_filter, in the "raw" mode of mairix, producing +on the standard output a list of Message\-IDs, one per line. +.IP +If possible, it also filters down the results coming from mairix +such that only messages in the current folder remain. It can do +this because it gets a hidden first argument which is the path +to the folder. +(This can be the type of clean and simple script called a \fIone\-liner\fP.) +.IP +Now if NeoMutt gets a limit or tag command followed by the pattern +"~I '\-t s:bleeping='", mairix_filter runs mairix with the +arguments from inside the quotes (the quotes are needed because +of the space after "\-t"), mairix finds all messages with +"bleeping" in the Subject plus all messages sharing threads +with these and outputs their file names, and mairix_filter +translates the file names into Message\-IDs. Finally, NeoMutt +reads the Message\-IDs and targets the matching messages with the +command given to it. +.IP +You, the user, still have to rewrite the mairix_filter script to +match the behavior of your indexer, but this should help users +of indexers other than notmuch to integrate them cleanly with NeoMutt. + + +.TP +.B fast_reply +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, the initial prompt for recipients and subject are skipped +when replying to messages, and the initial prompt for subject is +skipped when forwarding messages. +.IP +\fBNote:\fP this variable has no effect when the $autoedit +variable is \fIset\fP. + + +.TP +.B fcc_attach +.nf +Type: quadoption +Default: yes +.fi +.IP +This variable controls whether or not attachments on outgoing messages +are saved along with the main body of your message. + + +.TP +.B fcc_before_send +.nf +Type: boolean +Default: no +.fi +.IP +When this variable is \fIset\fP, FCCs will occur before sending +the message. Before sending, the message cannot be manipulated, +so it will be stored the exact same as sent: +$fcc_attach and $fcc_clear will be ignored (using their default +values). +.IP +When \fIunset\fP, the default, FCCs will occur after sending. +Variables $fcc_attach and $fcc_clear will be respected, allowing +it to be stored without attachments or encryption/signing if +desired. + + +.TP +.B fcc_clear +.nf +Type: boolean +Default: no +.fi +.IP +When this variable is \fIset\fP, FCCs will be stored unencrypted and +unsigned, even when the actual message is encrypted and/or +signed. +(PGP only) + + +.TP +.B flag_chars +.nf +Type: character string +Default: "*!DdrONon\- " +.fi +.IP +Controls the characters used in several flags. +.RS +.PD 0 +.TP +\fBCharacter\fP +\fBDefault\fP +\fBDescription\fP +.TP +1 +* +The mail is tagged. +.TP +2 +! +The mail is flagged as important. +.TP +3 +D +The mail is marked for deletion. +.TP +4 +d +The mail has attachments marked for deletion. +.TP +5 +r +The mail has been replied to. +.TP +6 +O +The mail is Old (Unread but seen). +.TP +7 +N +The mail is New (Unread but not seen). +.TP +8 +o +The mail thread is Old (Unread but seen). +.TP +9 +n +The mail thread is New (Unread but not seen). +.TP +10 +\- +The mail is read \- %S expando. +.TP +11 + +The mail is read \- %Z expando. +.RE +.PD 1 + +.TP +.B flag_safe +.nf +Type: boolean +Default: no +.fi +.IP +If set, flagged messages can't be deleted. + + +.TP +.B folder +.nf +Type: mailbox +Default: "~/Mail" +.fi +.IP +Specifies the default location of your mailboxes. A "+" or "=" at the +beginning of a pathname will be expanded to the value of this +variable. Note that if you change this variable (from the default) +value you need to make sure that the assignment occurs \fIbefore\fP +you use "+" or "=" for any other variables since expansion takes place +when handling the "mailboxes" command. + + +.TP +.B folder_format +.nf +Type: string +Default: "%2C %t %N %F %2l %\-8.8u %\-8.8g %8s %d %i" +.fi +.IP +This variable allows you to customize the file browser display to your +personal taste. This string is similar to $index_format, but has +its own set of \fCprintf(3)\fP\-like sequences: +.RS +.PD 0 +.TP +%C + +Current file number +.TP +%d + +Date/time folder was last modified +.TP +%D + +Date/time folder was last modified using $date_format. +.TP +%f + +Filename ("/" is appended to directory names, +"@" to symbolic links and "*" to executable files) +.TP +%F + +File permissions +.TP +%g + +Group name (or numeric gid, if missing) +.TP +%i + +Description of the folder +.TP +%l + +Number of hard links +.TP +%m +* +Number of messages in the mailbox +.TP +%n +* +Number of unread messages in the mailbox +.TP +%N + +"N" if mailbox has new mail, blank otherwise +.TP +%s + +Size in bytes (see formatstrings-size) +.TP +%t + +"*" if the file is tagged, blank otherwise +.TP +%u + +Owner name (or numeric uid, if missing) +.TP +%>X + +Right justify the rest of the string and pad with character "X" +.TP +%|X + +Pad to the end of the line with character "X" +.TP +%*X + +Soft\-fill with character "X" as pad +.RE +.PD 1 +.IP +For an explanation of "soft\-fill", see the $index_format documentation. +.IP +* = can be optionally printed if nonzero +.IP +%m, %n, and %N only work for monitored mailboxes. +%m requires $mail_check_stats to be set. +%n requires $mail_check_stats to be set (except for IMAP mailboxes). + + +.TP +.B followup_to +.nf +Type: boolean +Default: yes +.fi +.IP +Controls whether or not the "Mail\-Followup\-To:" header field is +generated when sending mail. When \fIset\fP, NeoMutt will generate this +field when you are replying to a known mailing list, specified with +the "subscribe" or "lists" commands. +.IP +This field has two purposes. First, preventing you from +receiving duplicate copies of replies to messages which you send +to mailing lists, and second, ensuring that you do get a reply +separately for any messages sent to known lists to which you are +not subscribed. +.IP +The header will contain only the list's address +for subscribed lists, and both the list address and your own +email address for unsubscribed lists. Without this header, a +group reply to your message sent to a subscribed list will be +sent to both the list and your address, resulting in two copies +of the same email for you. + + +.TP +.B followup_to_poster +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +If this variable is \fIset\fP and the keyword "poster" is present in +\fIFollowup\-To\fP header, follow\-up to newsgroup function is not +permitted. The message will be mailed to the submitter of the +message via mail. + + +.TP +.B force_name +.nf +Type: boolean +Default: no +.fi +.IP +This variable is similar to $save_name, except that NeoMutt will +store a copy of your outgoing message by the username of the address +you are sending to even if that mailbox does not exist. +.IP +Also see the $record variable. + + +.TP +.B forward_attachments +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +When forwarding inline (i.e. $mime_forward \fIunset\fP or +answered with "no" and $forward_decode \fIset\fP), attachments +which cannot be decoded in a reasonable manner will be attached +to the newly composed message if this quadoption is \fIset\fP or +answered with "yes". + + +.TP +.B forward_attribution_intro +.nf +Type: string +Default: "\-\-\-\-\- Forwarded message from %f \-\-\-\-\-" +.fi +.IP +This is the string that will precede a message which has been forwarded +in the main body of a message (when $mime_forward is unset). +For a full listing of defined \fCprintf(3)\fP\-like sequences see +the section on $index_format. See also $attribution_locale. + + +.TP +.B forward_attribution_trailer +.nf +Type: string +Default: "\-\-\-\-\- End forwarded message \-\-\-\-\-" +.fi +.IP +This is the string that will follow a message which has been forwarded +in the main body of a message (when $mime_forward is unset). +For a full listing of defined \fCprintf(3)\fP\-like sequences see +the section on $index_format. See also $attribution_locale. + + +.TP +.B forward_decode +.nf +Type: boolean +Default: yes +.fi +.IP +Controls the decoding of complex MIME messages into \fCtext/plain\fP when +forwarding a message. The message header is also RFC2047 decoded. +This variable is only used, if $mime_forward is \fIunset\fP, +otherwise $mime_forward_decode is used instead. + + +.TP +.B forward_decrypt +.nf +Type: boolean +Default: yes +.fi +.IP +Controls the handling of encrypted messages when forwarding a message. +When \fIset\fP, the outer layer of encryption is stripped off. This +variable is only used if $mime_forward is \fIset\fP and +$mime_forward_decode is \fIunset\fP. +(PGP only) + + +.TP +.B forward_edit +.nf +Type: quadoption +Default: yes +.fi +.IP +This quadoption controls whether or not the user is automatically +placed in the editor when forwarding messages. For those who always want +to forward with no modification, use a setting of "no". + + +.TP +.B forward_format +.nf +Type: string +Default: "[%a: %s]" +.fi +.IP +This variable controls the default subject when forwarding a message. +It uses the same format sequences as the $index_format variable. + + +.TP +.B forward_quote +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, forwarded messages included in the main body of the +message (when $mime_forward is \fIunset\fP) will be quoted using +$indent_string. + + +.TP +.B forward_references +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, forwarded messages set the "In\-Reply\-To:" and +"References:" headers in the same way as normal replies would. Hence the +forwarded message becomes part of the original thread instead of starting +a new one. + + +.TP +.B from +.nf +Type: e-mail address +Default: "" +.fi +.IP +When \fIset\fP, this variable contains a default "from" address. It +can be overridden using "my_hdr" (including from a "send-hook") and +$reverse_name. This variable is ignored if $use_from is \fIunset\fP. +.IP +If not specified, then it may be read from the environment variable \fC$EMAIL\fP. + + +.TP +.B from_chars +.nf +Type: character string +Default: "" +.fi +.IP +Controls the character used to prefix the %F and %L fields in the +index. +.RS +.PD 0 +.TP +\fBCharacter\fP +\fBDescription\fP +.TP +1 +Mail is written by you and has a To address, or has a known mailing list in the To address. +.TP +2 +Mail is written by you and has a Cc address, or has a known mailing list in the Cc address. +.TP +3 +Mail is written by you and has a Bcc address. +.TP +4 +All remaining cases. +.RE +.PD 1 +.IP +If this is empty or unset (default), the traditional long "To ", +"Cc " and "Bcc " prefixes are used. If set but too short to +include a character for a particular case, a single space will be +prepended to the field. To prevent any prefix at all from being +added in a particular case, use the special value CR (aka ^M) +for the corresponding character. +.IP +This slightly odd interface is necessitated by NeoMutt's handling of +string variables; one can't tell a variable that is unset from one +that is set to the empty string. + + +.TP +.B gecos_mask +.nf +Type: regular expression +Default: "^[^,]*" +.fi +.IP +A regular expression used by NeoMutt to parse the GECOS field of a password +entry when expanding the alias. The default value +will return the string up to the first "," encountered. +If the GECOS field contains a string like "lastname, firstname" then you +should set it to "\fC.*\fP". +.IP +This can be useful if you see the following behavior: you address an e\-mail +to user ID "stevef" whose full name is "Steve Franklin". If NeoMutt expands +"stevef" to '"Franklin" stevef@foo.bar' then you should set the $gecos_mask to +a regular expression that will match the whole name so NeoMutt will expand +"Franklin" to "Franklin, Steve". + + +.TP +.B group_index_format +.nf +Type: string +Default: "%4C %M%N %5s %\-45.45f %d" +.fi +.IP +This variable allows you to customize the newsgroup browser display to +your personal taste. This string is similar to "index_format", but +has its own set of printf()\-like sequences: +.RS +.PD 0 +.TP +%C +Current newsgroup number +.TP +%d +Description of newsgroup (becomes from server) +.TP +%f +Newsgroup name +.TP +%M +\- if newsgroup not allowed for direct post (moderated for example) +.TP +%N +N if newsgroup is new, u if unsubscribed, blank otherwise +.TP +%n +Number of new articles in newsgroup +.TP +%s +Number of unread articles in newsgroup +.TP +%>X +Right justify the rest of the string and pad with character "X" +.TP +%|X +Pad to the end of the line with character "X" +.RE +.PD 1 + +.TP +.B hdrs +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIunset\fP, the header fields normally added by the "my_hdr" +command are not created. This variable \fImust\fP be unset before +composing a new message or replying in order to take effect. If \fIset\fP, +the user defined header fields are added to every new message. + + +.TP +.B header +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, this variable causes NeoMutt to include the header +of the message you are replying to into the edit buffer. +The $weed setting applies. + + +.TP +.B header_cache +.nf +Type: path +Default: "" +.fi +.IP +This variable points to the header cache database. If the path points to +an existing directory, NeoMutt will create a dedicated header cache +database per folder. Otherwise, the path points to a regular file, which +will be created as needed and used as a shared global header cache for +all folders. +By default it is \fIunset\fP so no header caching will be used. +.IP +Header caching can greatly improve speed when opening POP, IMAP +MH or Maildir folders, see "caching" for details. + + +.TP +.B header_cache_backend +.nf +Type: string +Default: "" +.fi +.IP +This variable specifies the header cache backend. By default it is +\fIunset\fP so no header caching will be used. + + +.TP +.B header_cache_compress_level +.nf +Type: number +Default: 1 +.fi +.IP +When NeoMutt is compiled with lz4, zstd or zlib, this option can be used +to setup the compression level. + + +.TP +.B header_cache_compress_method +.nf +Type: string +Default: "" +.fi +.IP +When NeoMutt is compiled with lz4, zstd or zlib, the header cache backend +can use these compression methods for compressing the cache files. +This results in much smaller cache file sizes and may even improve speed. + + +.TP +.B header_color_partial +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, color header regexes behave like color body regexes: +color is applied to the exact text matched by the regex. When +\fIunset\fP, color is applied to the entire header. +.IP +One use of this option might be to apply color to just the header labels. +.IP +See "color" for more details. + + +.TP +.B help +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, help lines describing the bindings for the major functions +provided by each menu are displayed on the first line of the screen. +.IP +\fBNote:\fP The binding will not be displayed correctly if the +function is bound to a sequence rather than a single keystroke. Also, +the help line may not be updated if a binding is changed while NeoMutt is +running. Since this variable is primarily aimed at new users, neither +of these should present a major problem. + + +.TP +.B hidden_host +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will skip the host name part of $hostname variable +when adding the domain part to addresses. This variable does not +affect the generation of Message\-IDs, and it will not lead to the +cut\-off of first\-level domains. + + +.TP +.B hidden_tags +.nf +Type: string list +Default: "unread,draft,flagged,passed,replied,attachment,signed,encrypted" +.fi +.IP +This variable specifies private notmuch/imap tags which should not be printed +on screen. + + +.TP +.B hide_limited +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will not show the presence of messages that are hidden +by limiting, in the thread tree. + + +.TP +.B hide_missing +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will not show the presence of missing messages in the +thread tree. + + +.TP +.B hide_thread_subject +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will not show the subject of messages in the thread +tree that have the same subject as their parent or closest previously +displayed sibling. + + +.TP +.B hide_top_limited +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will not show the presence of messages that are hidden +by limiting, at the top of threads in the thread tree. Note that when +$hide_limited is \fIset\fP, this option will have no effect. + + +.TP +.B hide_top_missing +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will not show the presence of missing messages at the +top of threads in the thread tree. Note that when $hide_missing is +\fIset\fP, this option will have no effect. + + +.TP +.B history +.nf +Type: number +Default: 10 +.fi +.IP +This variable controls the size (in number of strings remembered) of +the string history buffer per category. The buffer is cleared each time the +variable is set. + + +.TP +.B history_file +.nf +Type: path +Default: "~/.mutthistory" +.fi +.IP +The file in which NeoMutt will save its history. +.IP +Also see $save_history. + + +.TP +.B history_remove_dups +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, all of the string history will be scanned for duplicates +when a new entry is added. Duplicate entries in the $history_file will +also be removed when it is periodically compacted. + + +.TP +.B honor_disposition +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will not display attachments with a +disposition of "attachment" inline even if it could +render the part to plain text. These MIME parts can only +be viewed from the attachment menu. +.IP +If \fIunset\fP, NeoMutt will render all MIME parts it can +properly transform to plain text. + + +.TP +.B honor_followup_to +.nf +Type: quadoption +Default: yes +.fi +.IP +This variable controls whether or not a Mail\-Followup\-To header is +honored when group\-replying to a message. + + +.TP +.B hostname +.nf +Type: string +Default: "" +.fi +.IP +Specifies the fully\-qualified hostname of the system NeoMutt is running on +containing the host's name and the DNS domain it belongs to. It is used +as the domain part (after "@") for local email addresses as well as +Message\-Id headers. +.IP +If not specified in a config file, then NeoMutt will try to determine the hostname itself. +.IP +Optionally, NeoMutt can be compiled with a fixed domain name. +.IP +Also see $use_domain and $hidden_host. + + +.TP +.B idn_decode +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will show you international domain names decoded. +Note: You can use IDNs for addresses even if this is \fIunset\fP. +This variable only affects decoding. (IDN only) + + +.TP +.B idn_encode +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will encode international domain names using +IDN. Unset this if your SMTP server can handle newer (RFC6531) +UTF\-8 encoded domains. (IDN only) + + +.TP +.B ignore_list_reply_to +.nf +Type: boolean +Default: no +.fi +.IP +Affects the behavior of the \fC\fP function when replying to +messages from mailing lists (as defined by the "subscribe" or +"lists" commands). When \fIset\fP, if the "Reply\-To:" field is +set to the same value as the "To:" field, NeoMutt assumes that the +"Reply\-To:" field was set by the mailing list to automate responses +to the list, and will ignore this field. To direct a response to the +mailing list when this option is \fIset\fP, use the \fC\fP +function; \fC\fP will reply to both the sender and the +list. + + +.TP +.B imap_authenticators +.nf +Type: string list +Default: "" +.fi +.IP +This is a colon\-delimited list of authentication methods NeoMutt may +attempt to use to log in to an IMAP server, in the order NeoMutt should +try them. Authentication methods are either "login" or the right +side of an IMAP "AUTH=xxx" capability string, e.g. "digest\-md5", "gssapi" +or "cram\-md5". This option is case\-insensitive. If it's +\fIunset\fP (the default) NeoMutt will try all available methods, +in order from most\-secure to least\-secure. +.IP +Example: + +.IP +.EX +set imap_authenticators="gssapi:cram\-md5:login" + +.EE +.IP +\fBNote:\fP NeoMutt will only fall back to other authentication methods if +the previous methods are unavailable. If a method is available but +authentication fails, NeoMutt will not connect to the IMAP server. + + +.TP +.B imap_check_subscribed +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will fetch the set of subscribed folders from +your server whenever a mailbox is \fBselected\fP, and add them to the set +of mailboxes it polls for new mail just as if you had issued individual +"mailboxes" commands. + + +.TP +.B imap_condstore +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will use the CONDSTORE extension (RFC7162) +if advertised by the server. NeoMutt's current implementation is basic, +used only for initial message fetching and flag updates. +.IP +For some IMAP servers, enabling this will slightly speed up +downloading initial messages. Unfortunately, Gmail is not one +those, and displays worse performance when enabled. Your +mileage may vary. + + +.TP +.B imap_deflate +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will use the COMPRESS=DEFLATE extension (RFC4978) +if advertised by the server. +.IP +In general a good compression efficiency can be achieved, which +speeds up reading large mailboxes also on fairly good connections. + + +.TP +.B imap_delim_chars +.nf +Type: string +Default: "/." +.fi +.IP +This contains the list of characters that NeoMutt will use as folder +separators for IMAP paths, when no separator is provided on the IMAP +connection. + + +.TP +.B imap_fetch_chunk_size +.nf +Type: number (long) +Default: 0 +.fi +.IP +When set to a value greater than 0, new headers will be +downloaded in groups of this many headers per request. If you +have a very large mailbox, this might prevent a timeout and +disconnect when opening the mailbox, by sending a FETCH per set +of this many headers, instead of a single FETCH for all new +headers. + + +.TP +.B imap_headers +.nf +Type: string +Default: "" +.fi +.IP +NeoMutt requests these header fields in addition to the default headers +("Date:", "From:", "Sender:", "Subject:", "To:", "Cc:", "Message\-Id:", +"References:", "Content\-Type:", "Content\-Description:", "In\-Reply\-To:", +"Reply\-To:", "Lines:", "List\-Post:", "X\-Label:") from IMAP +servers before displaying the index menu. You may want to add more +headers for spam detection. +.IP +\fBNote:\fP This is a space separated list, items should be uppercase +and not contain the colon, e.g. "X\-BOGOSITY X\-SPAM\-STATUS" for the +"X\-Bogosity:" and "X\-Spam\-Status:" header fields. + + +.TP +.B imap_idle +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will attempt to use the IMAP IDLE extension +to check for new mail in the current mailbox. Some servers +(dovecot was the inspiration for this option) react badly +to NeoMutt's implementation. If your connection seems to freeze +up periodically, try unsetting this. + + +.TP +.B imap_keepalive +.nf +Type: number +Default: 300 +.fi +.IP +This variable specifies the maximum amount of time in seconds that NeoMutt +will wait before polling open IMAP connections, to prevent the server +from closing them before NeoMutt has finished with them. The default is +well within the RFC\-specified minimum amount of time (30 minutes) before +a server is allowed to do this, but in practice the RFC does get +violated every now and then. Reduce this number if you find yourself +getting disconnected from your IMAP server due to inactivity. + + +.TP +.B imap_list_subscribed +.nf +Type: boolean +Default: no +.fi +.IP +This variable configures whether IMAP folder browsing will look for +only subscribed folders or all folders. This can be toggled in the +IMAP browser with the \fC\fP function. + + +.TP +.B imap_login +.nf +Type: string +Default: "" +.fi +.IP +Your login name on the IMAP server. +.IP +This variable defaults to the value of $imap_user. + + +.TP +.B imap_oauth_refresh_command +.nf +Type: command +Default: "" +.fi +.IP +The command to run to generate an OAUTH refresh token for +authorizing your connection to your IMAP server. This command will be +run on every connection attempt that uses the OAUTHBEARER authentication +mechanism. See "oauth" for details. + + +.TP +.B imap_pass +.nf +Type: string +Default: "" +.fi +.IP +Specifies the password for your IMAP account. If \fIunset\fP, NeoMutt will +prompt you for your password when you invoke the \fC\fP function +or try to open an IMAP folder. +.IP +\fBWarning\fP: you should only use this option when you are on a +fairly secure machine, because the superuser can read your neomuttrc even +if you are the only one who can read the file. + + +.TP +.B imap_passive +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will not open new IMAP connections to check for new +mail. NeoMutt will only check for new mail over existing IMAP +connections. This is useful if you don't want to be prompted for +user/password pairs on NeoMutt invocation, or if opening the connection +is slow. + + +.TP +.B imap_peek +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will avoid implicitly marking your mail as read whenever +you fetch a message from the server. This is generally a good thing, +but can make closing an IMAP folder somewhat slower. This option +exists to appease speed freaks. + + +.TP +.B imap_pipeline_depth +.nf +Type: number +Default: 15 +.fi +.IP +Controls the number of IMAP commands that may be queued up before they +are sent to the server. A deeper pipeline reduces the amount of time +NeoMutt must wait for the server, and can make IMAP servers feel much +more responsive. But not all servers correctly handle pipelined commands, +so if you have problems you might want to try setting this variable to 0. +.IP +\fBNote:\fP Changes to this variable have no effect on open connections. + + +.TP +.B imap_poll_timeout +.nf +Type: number +Default: 15 +.fi +.IP +This variable specifies the maximum amount of time in seconds +that NeoMutt will wait for a response when polling IMAP connections +for new mail, before timing out and closing the connection. Set +to 0 to disable timing out. + + +.TP +.B imap_qresync +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will use the QRESYNC extension (RFC7162) +if advertised by the server. NeoMutt's current implementation is basic, +used only for initial message fetching and flag updates. +.IP +Note: this feature is currently experimental. If you experience +strange behavior, such as duplicate or missing messages please +file a bug report to let us know. + + +.TP +.B imap_rfc5161 +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will use the IMAP ENABLE extension (RFC5161) to +select CAPABILITIES. Some servers (notably Coremail System IMap Server) do +not properly respond to ENABLE commands, which might cause NeoMutt to hang. +If your connection seems to freeze at login, try unsetting this. See also +https://github.com/neomutt/neomutt/issues/1689 + + +.TP +.B imap_servernoise +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will display warning messages from the IMAP +server as error messages. Since these messages are often +harmless, or generated due to configuration problems on the +server which are out of the users' hands, you may wish to suppress +them at some point. + + +.TP +.B imap_user +.nf +Type: string +Default: "" +.fi +.IP +The name of the user whose mail you intend to access on the IMAP +server. +.IP +This variable defaults to your user name on the local machine. + + +.TP +.B implicit_autoview +.nf +Type: boolean +Default: no +.fi +.IP +If set to "yes", NeoMutt will look for a mailcap entry with the +"\fCcopiousoutput\fP" flag set for \fIevery\fP MIME attachment it doesn't have +an internal viewer defined for. If such an entry is found, NeoMutt will +use the viewer defined in that entry to convert the body part to text +form. + + +.TP +.B include +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +Controls whether or not a copy of the message(s) you are replying to +is included in your reply. + + +.TP +.B include_encrypted +.nf +Type: boolean +Default: no +.fi +.IP +Controls whether or not NeoMutt includes separately encrypted attachment +contents when replying. +.IP +This variable was added to prevent accidental exposure of encrypted +contents when replying to an attacker. If a previously encrypted message +were attached by the attacker, they could trick an unwary recipient into +decrypting and including the message in their reply. + + +.TP +.B include_onlyfirst +.nf +Type: boolean +Default: no +.fi +.IP +Controls whether or not NeoMutt includes only the first attachment +of the message you are replying. + + +.TP +.B indent_string +.nf +Type: string +Default: "> " +.fi +.IP +Specifies the string to prepend to each line of text quoted in a +message to which you are replying. You are strongly encouraged not to +change this value, as it tends to agitate the more fanatical netizens. +.IP +The value of this option is ignored if $text_flowed is set, because +the quoting mechanism is strictly defined for format=flowed. +.IP +This option is a format string, please see the description of +$index_format for supported \fCprintf(3)\fP\-style sequences. + + +.TP +.B index_format +.nf +Type: string +Default: "%4C %Z %{%b %d} %\-15.15L (%?l?%4l&%4c?) %s" +.fi +.IP +This variable allows you to customize the message index display to +your personal taste. +.IP +"Format strings" are similar to the strings used in the C +function \fCprintf(3)\fP to format output (see the man page for more details). +For an explanation of the %? construct, see the status_format description. +The following sequences are defined in NeoMutt: +.RS +.PD 0 +.TP +%a +Address of the author +.TP +%A +Reply\-to address (if present; otherwise: address of author) +.TP +%b +Filename of the original message folder (think mailbox) +.TP +%B +The list to which the letter was sent, or else the folder name (%b). +.TP +%C +Current message number +.TP +%c +Number of characters (bytes) in the body of the message (see formatstrings-size) +.TP +%cr +Number of characters (bytes) in the raw message, including the header (see formatstrings-size) +.TP +%D +Date and time of message using date_format and local timezone +.TP +%d +Date and time of message using date_format and sender's timezone +.TP +%e +Current message number in thread +.TP +%E +Number of messages in current thread +.TP +%F +Author name, or recipient name if the message is from you +.TP +%Fp +Like %F, but plain. No contextual formatting is applied to recipient name +.TP +%f +Sender (address + real name), either From: or Return\-Path: +.TP +%g +Newsgroup name (if compiled with NNTP support) +.TP +%g +Message tags (e.g. notmuch tags/imap flags) +.TP +%Gx +Individual message tag (e.g. notmuch tags/imap flags) +.TP +%H +Spam attribute(s) of this message +.TP +%I +Initials of author +.TP +%i +Message\-id of the current message +.TP +%J +Message tags (if present, tree unfolded, and != parent's tags) +.TP +%K +The list to which the letter was sent (if any; otherwise: empty) +.TP +%L +If an address in the "To:" or "Cc:" header field matches an address +Defined by the user's "subscribe" command, this displays +"To ", otherwise the same as %F +.TP +%l +number of lines in the unprocessed message (may not work with +maildir, mh, and IMAP folders) +.TP +%M +Number of hidden messages if the thread is collapsed +.TP +%m +Total number of message in the mailbox +.TP +%N +Message score +.TP +%n +Author's real name (or address if missing) +.TP +%O +Original save folder where NeoMutt would formerly have +Stashed the message: list name or recipient name +If not sent to a list +.TP +%P +Progress indicator for the built\-in pager (how much of the file has been displayed) +.TP +%q +Newsgroup name (if compiled with NNTP support) +.TP +%R +Comma separated list of "Cc:" recipients +.TP +%r +Comma separated list of "To:" recipients +.TP +%S +Single character status of the message ("N"/"O"/"D"/"d"/"!"/"r"/"*") +.TP +%s +Subject of the message +.TP +%T +The appropriate character from the $to_chars string +.TP +%t +"To:" field (recipients) +.TP +%u +User (login) name of the author +.TP +%v +First name of the author, or the recipient if the message is from you +.TP +%W +Name of organization of author ("Organization:" field) +.TP +%x +"X\-Comment\-To:" field (if present and compiled with NNTP support) +.TP +%X +Number of MIME attachments +(please see the "attachments" section for possible speed effects) +.TP +%Y +"X\-Label:" field, if present, and \fI(1)\fP not at part of a thread tree, +\fI(2)\fP at the top of a thread, or \fI(3)\fP "X\-Label:" is different from +Preceding message's "X\-Label:" +.TP +%y +"X\-Label:" field, if present +.TP +%Z +A three character set of message status flags. +The first character is new/read/replied flags ("n"/"o"/"r"/"O"/"N"). +The second is deleted or encryption flags ("D"/"d"/"S"/"P"/"s"/"K"). +The third is either tagged/flagged ("*"/"!"), or one of the characters +Listed in $to_chars. +.TP +%zc +Message crypto flags +.TP +%zs +Message status flags +.TP +%zt +Message tag flags +.TP +%@name@ +insert and evaluate format\-string from the matching +"index-format-hook" command +.TP +%{fmt} +the date and time of the message is converted to sender's +time zone, and "fmt" is expanded by the library function +\fCstrftime(3)\fP; a leading bang disables locales +.TP +%[fmt] +the date and time of the message is converted to the local +time zone, and "fmt" is expanded by the library function +\fCstrftime(3)\fP; a leading bang disables locales +.TP +%(fmt) +the local date and time when the message was received. +"fmt" is expanded by the library function \fCstrftime(3)\fP; +a leading bang disables locales +.TP +%>X +right justify the rest of the string and pad with character "X" +.TP +%|X +pad to the end of the line with character "X" +.TP +%*X +soft\-fill with character "X" as pad +.RE +.PD 1 +.IP +Date format expressions can be constructed based on relative dates. Using +the date formatting operators along with nested conditionals, the date +format can be modified based on how old a message is. See the section on +"Conditional Dates" for an explanation and examples +.IP +Note that for mbox/mmdf, "%l" applies to the unprocessed message, and +for maildir/mh, the value comes from the "Lines:" header field when +present (the meaning is normally the same). Thus the value depends on +the encodings used in the different parts of the message and has little +meaning in practice. +.IP +"Soft\-fill" deserves some explanation: Normal right\-justification +will print everything to the left of the "%>", displaying padding and +whatever lies to the right only if there's room. By contrast, +soft\-fill gives priority to the right\-hand side, guaranteeing space +to display it and showing padding only if there's still room. If +necessary, soft\-fill will eat text leftwards to make room for +rightward text. +.IP +Note that these expandos are supported in +"save-hook", "fcc-hook" and "fcc-save-hook", too. + + +.TP +.B inews +.nf +Type: command +Default: "" +.fi +.IP +If set, specifies the program and arguments used to deliver news posted +by NeoMutt. Otherwise, NeoMutt posts article using current connection to +news server. The following printf\-style sequence is understood: +.RS +.PD 0 +.TP +%a +account url +.TP +%p +port +.TP +%P +port if specified +.TP +%s +news server name +.TP +%S +url schema +.TP +%u +username +.RE +.PD 1 +.IP +Example: + +.IP +.EX +set inews="/usr/local/bin/inews \-hS" + +.EE + + +.TP +.B ispell +.nf +Type: command +Default: "ispell" +.fi +.IP +How to invoke ispell (GNU's spell\-checking software). + + +.TP +.B keep_flagged +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, read messages marked as flagged will not be moved +from your spool mailbox to your $mbox mailbox, or as a result of +a "mbox-hook" command. + + +.TP +.B mail_check +.nf +Type: number +Default: 5 +.fi +.IP +This variable configures how often (in seconds) NeoMutt should look for +new mail. Also see the $timeout variable. + + +.TP +.B mail_check_recent +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will only notify you about new mail that has been received +since the last time you opened the mailbox. When \fIunset\fP, NeoMutt will notify you +if any new mail exists in the mailbox, regardless of whether you have visited it +recently. +.IP +When \fI$mark_old\fP is set, NeoMutt does not consider the mailbox to contain new +mail if only old messages exist. + + +.TP +.B mail_check_stats +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will periodically calculate message +statistics of a mailbox while polling for new mail. It will +check for unread, flagged, and total message counts. Because +this operation is more performance intensive, it defaults to +\fIunset\fP, and has a separate option, $mail_check_stats_interval, to +control how often to update these counts. +.IP +Message statistics can also be explicitly calculated by invoking the +\fC\fP function. + + +.TP +.B mail_check_stats_interval +.nf +Type: number +Default: 60 +.fi +.IP +When $mail_check_stats is \fIset\fP, this variable configures +how often (in seconds) NeoMutt will update message counts. + + +.TP +.B mailcap_path +.nf +Type: string list +Default: "~/.mailcap:/usr/share/neomutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap" +.fi +.IP +This variable specifies which files to consult when attempting to +display MIME bodies not directly supported by NeoMutt. The default value +is generated during startup: see the "mailcap" section of the manual. +.IP +$mailcap_path is overridden by the environment variable \fC$MAILCAPS\fP. +.IP +The default search path is from RFC1524. + + +.TP +.B mailcap_sanitize +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, NeoMutt will restrict possible characters in mailcap % expandos +to a well\-defined set of safe characters. This is the safe setting, +but we are not sure it doesn't break some more advanced MIME stuff. +.IP +\fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE +DOING!\fP + + +.TP +.B maildir_check_cur +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, NeoMutt will poll both the new and cur directories of +a maildir folder for new messages. This might be useful if other +programs interacting with the folder (e.g. dovecot) are moving new +messages to the cur directory. Note that setting this option may +slow down polling for new messages in large folders, since NeoMutt has +to scan all cur messages. + + +.TP +.B maildir_header_cache_verify +.nf +Type: boolean +Default: yes +.fi +.IP +Check for Maildir unaware programs other than NeoMutt having modified maildir +files when the header cache is in use. This incurs one \fCstat(2)\fP per +message every time the folder is opened (which can be very slow for NFS +folders). + + +.TP +.B maildir_trash +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, messages marked as deleted will be saved with the maildir +trashed flag instead of unlinked. \fBNote:\fP this only applies +to maildir\-style mailboxes. Setting it will have no effect on other +mailbox types. + + +.TP +.B mark_macro_prefix +.nf +Type: string +Default: "'" +.fi +.IP +Prefix for macros created using mark\-message. A new macro +automatically generated with \fIa\fP will be composed +from this prefix and the letter \fIa\fP. + + +.TP +.B mark_old +.nf +Type: boolean +Default: yes +.fi +.IP +Controls whether or not NeoMutt marks \fInew\fP \fBunread\fP +messages as \fIold\fP if you exit a mailbox without reading them. +With this option \fIset\fP, the next time you start NeoMutt, the messages +will show up with an "O" next to them in the index menu, +indicating that they are old. + + +.TP +.B markers +.nf +Type: boolean +Default: yes +.fi +.IP +Controls the display of wrapped lines in the internal pager. If set, a +"+" marker is displayed at the beginning of wrapped lines. +.IP +Also see the $smart_wrap variable. + + +.TP +.B mask +.nf +Type: regular expression +Default: "!^\\.[^.]" +.fi +.IP +A regular expression used in the file browser, optionally preceded by +the \fInot\fP operator "!". Only files whose names match this mask +will be shown. The match is always case\-sensitive. + + +.TP +.B mbox +.nf +Type: mailbox +Default: "~/mbox" +.fi +.IP +This specifies the folder into which read mail in your $spoolfile +folder will be appended. +.IP +Also see the $move variable. + + +.TP +.B mbox_type +.nf +Type: enumeration +Default: mbox +.fi +.IP +The default mailbox type used when creating new folders. May be any of +"mbox", "MMDF", "MH" or "Maildir". +.IP +This can also be set using the \fC\-m\fP command\-line option. + + +.TP +.B menu_context +.nf +Type: number +Default: 0 +.fi +.IP +This variable controls the number of lines of context that are given +when scrolling through menus. (Similar to $pager_context.) + + +.TP +.B menu_move_off +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIunset\fP, the bottom entry of menus will never scroll up past +the bottom of the screen, unless there are less entries than lines. +When \fIset\fP, the bottom entry may move off the bottom. + + +.TP +.B menu_scroll +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, menus will be scrolled up or down one line when you +attempt to move across a screen boundary. If \fIunset\fP, the screen +is cleared and the next or previous page of the menu is displayed +(useful for slow links to avoid many redraws). + + +.TP +.B message_cache_clean +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, NeoMutt will clean out obsolete entries from the message cache when +the mailbox is synchronized. You probably only want to set it +every once in a while, since it can be a little slow +(especially for large folders). + + +.TP +.B message_cachedir +.nf +Type: path +Default: "" +.fi +.IP +Set this to a directory and NeoMutt will cache copies of messages from +your IMAP and POP servers here. You are free to remove entries at any +time. +.IP +When setting this variable to a directory, NeoMutt needs to fetch every +remote message only once and can perform regular expression searches +as fast as for local folders. +.IP +Also see the $message_cache_clean variable. + + +.TP +.B message_format +.nf +Type: string +Default: "%s" +.fi +.IP +This is the string displayed in the "attachment" menu for +attachments of type \fCmessage/rfc822\fP. For a full listing of defined +\fCprintf(3)\fP\-like sequences see the section on $index_format. + + +.TP +.B meta_key +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, forces NeoMutt to interpret keystrokes with the high bit (bit 8) +set as if the user had pressed the Esc key and whatever key remains +after having the high bit removed. For example, if the key pressed +has an ASCII value of \fC0xf8\fP, then this is treated as if the user had +pressed Esc then "x". This is because the result of removing the +high bit from \fC0xf8\fP is \fC0x78\fP, which is the ASCII character +"x". + + +.TP +.B metoo +.nf +Type: boolean +Default: no +.fi +.IP +If \fIunset\fP, NeoMutt will remove your address (see the "alternates" +command) from the list of recipients when replying to a message. + + +.TP +.B mh_purge +.nf +Type: boolean +Default: no +.fi +.IP +When \fIunset\fP, NeoMutt will mimic mh's behavior and rename deleted messages +to \fI,\fP in mh folders instead of really deleting +them. This leaves the message on disk but makes programs reading the folder +ignore it. If the variable is \fIset\fP, the message files will simply be +deleted. +.IP +This option is similar to $maildir_trash for Maildir folders. + + +.TP +.B mh_seq_flagged +.nf +Type: string +Default: "flagged" +.fi +.IP +The name of the MH sequence used for flagged messages. + + +.TP +.B mh_seq_replied +.nf +Type: string +Default: "replied" +.fi +.IP +The name of the MH sequence used to tag replied messages. + + +.TP +.B mh_seq_unseen +.nf +Type: string +Default: "unseen" +.fi +.IP +The name of the MH sequence used for unseen messages. + + +.TP +.B mime_forward +.nf +Type: quadoption +Default: no +.fi +.IP +When \fIset\fP, the message you are forwarding will be attached as a +separate \fCmessage/rfc822\fP MIME part instead of included in the main body of the +message. This is useful for forwarding MIME messages so the receiver +can properly view the message as it was delivered to you. If you like +to switch between MIME and not MIME from mail to mail, set this +variable to "ask\-no" or "ask\-yes". +.IP +Also see $forward_decode and $mime_forward_decode. + + +.TP +.B mime_forward_decode +.nf +Type: boolean +Default: no +.fi +.IP +Controls the decoding of complex MIME messages into \fCtext/plain\fP when +forwarding a message while $mime_forward is \fIset\fP. Otherwise +$forward_decode is used instead. + + +.TP +.B mime_forward_rest +.nf +Type: quadoption +Default: yes +.fi +.IP +When forwarding multiple attachments of a MIME message from the attachment +menu, attachments which can't be decoded in a reasonable manner will +be attached to the newly composed message if this option is \fIset\fP. + + +.TP +.B mime_subject +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIunset\fP, 8\-bit "subject:" line in article header will not be +encoded according to RFC2047 to base64. This is useful when message +is Usenet article, because MIME for news is nonstandard feature. + + +.TP +.B mime_type_query_command +.nf +Type: command +Default: "" +.fi +.IP +This specifies a command to run, to determine the mime type of a +new attachment when composing a message. Unless +$mime_type_query_first is set, this will only be run if the +attachment's extension is not found in the mime.types file. +.IP +The string may contain a "%s", which will be substituted with the +attachment filename. NeoMutt will add quotes around the string substituted +for "%s" automatically according to shell quoting rules, so you should +avoid adding your own. If no "%s" is found in the string, NeoMutt will +append the attachment filename to the end of the string. +.IP +The command should output a single line containing the +attachment's mime type. +.IP +Suggested values are "xdg\-mime query filetype" or +"file \-bi". + + +.TP +.B mime_type_query_first +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, the $mime_type_query_command will be run before the +mime.types lookup. + + +.TP +.B mix_entry_format +.nf +Type: string +Default: "%4n %c %\-16s %a" +.fi +.IP +This variable describes the format of a remailer line on the mixmaster +chain selection screen. The following \fCprintf(3)\fP\-like sequences are +supported: +.RS +.PD 0 +.TP +%a +The remailer's e\-mail address +.TP +%c +Remailer capabilities +.TP +%n +The running number on the menu +.TP +%s +The remailer's short name +.TP +%>X +right justify the rest of the string and pad with character "X" +.TP +%|X +pad to the end of the line with character "X" +.TP +%*X +soft\-fill with character "X" as pad +.RE +.PD 1 + +.TP +.B mixmaster +.nf +Type: command +Default: "mixmaster" +.fi +.IP +This variable contains the path to the Mixmaster binary on your +system. It is used with various sets of parameters to gather the +list of known remailers, and to finally send a message through the +mixmaster chain. + + +.TP +.B move +.nf +Type: quadoption +Default: no +.fi +.IP +Controls whether or not NeoMutt will move read messages +from your spool mailbox to your $mbox mailbox, or as a result of +a "mbox-hook" command. + + +.TP +.B narrow_tree +.nf +Type: boolean +Default: no +.fi +.IP +This variable, when \fIset\fP, makes the thread tree narrower, allowing +deeper threads to fit on the screen. + + +.TP +.B net_inc +.nf +Type: number +Default: 10 +.fi +.IP +Operations that expect to transfer a large amount of data over the +network will update their progress every $net_inc kilobytes. +If set to 0, no progress messages will be displayed. +.IP +See also $read_inc, $write_inc and $net_inc. + + +.TP +.B new_mail_command +.nf +Type: command +Default: "" +.fi +.IP +If \fIset\fP, NeoMutt will call this command after a new message is received. +See the $status_format documentation for the values that can be formatted +into this command. + + +.TP +.B news_cache_dir +.nf +Type: path +Default: "~/.neomutt" +.fi +.IP +This variable pointing to directory where NeoMutt will save cached news +articles and headers in. If \fIunset\fP, articles and headers will not be +saved at all and will be reloaded from the server each time. + + +.TP +.B news_server +.nf +Type: string +Default: "" +.fi +.IP +This variable specifies domain name or address of NNTP server. +.IP +You can also specify username and an alternative port for each news server, +e.g. \fC[[s]news://][username[:password]@]server[:port]\fP +.IP +This option can also be set using the command line option "\-g", the +environment variable \fC$NNTPSERVER\fP, or putting the server name in the +file "/etc/nntpserver". + + +.TP +.B newsgroups_charset +.nf +Type: string +Default: "utf\-8" +.fi +.IP +Character set of newsgroups descriptions. + + +.TP +.B newsrc +.nf +Type: path +Default: "~/.newsrc" +.fi +.IP +The file, containing info about subscribed newsgroups \- names and +indexes of read articles. The following printf\-style sequence +is understood: +.RS +.PD 0 +.TP +\fBExpando\fP +\fBDescription\fP +\fBExample\fP +.TP +%a +Account url +\fCnews:news.gmane.org\fP +.TP +%p +Port +\fC119\fP +.TP +%P +Port if specified +\fC10119\fP +.TP +%s +News server name +\fCnews.gmane.org\fP +.TP +%S +Url schema +\fCnews\fP +.TP +%u +Username +\fCusername\fP +.RE +.PD 1 + +.TP +.B nm_db_limit +.nf +Type: number +Default: 0 +.fi +.IP +This variable specifies the default limit used in notmuch queries. + + +.TP +.B nm_default_url +.nf +Type: string +Default: "" +.fi +.IP +This variable specifies the default Notmuch database in format +notmuch://. + + +.TP +.B nm_exclude_tags +.nf +Type: string +Default: "" +.fi +.IP +The messages tagged with these tags are excluded and not loaded +from notmuch DB to NeoMutt unless specified explicitly. + + +.TP +.B nm_flagged_tag +.nf +Type: string +Default: "flagged" +.fi +.IP +This variable specifies notmuch tag which is used for flagged messages. The +variable is used to count flagged messages in DB and set the flagged flag when +modifying tags. All other NeoMutt commands use standard (e.g. maildir) flags. + + +.TP +.B nm_open_timeout +.nf +Type: number +Default: 5 +.fi +.IP +This variable specifies the timeout for database open in seconds. + + +.TP +.B nm_query_type +.nf +Type: string +Default: "messages" +.fi +.IP +This variable specifies the default query type (threads or messages) used in notmuch queries. + + +.TP +.B nm_query_window_current_position +.nf +Type: number +Default: 0 +.fi +.IP +This variable contains the position of the current search for window based vfolder. + + +.TP +.B nm_query_window_current_search +.nf +Type: string +Default: "" +.fi +.IP +This variable contains the currently setup notmuch search for window based vfolder. + + +.TP +.B nm_query_window_duration +.nf +Type: number +Default: 0 +.fi +.IP +This variable sets the time duration of a windowed notmuch query. +Accepted values all non negative integers. A value of 0 disables the feature. + + +.TP +.B nm_query_window_timebase +.nf +Type: string +Default: "week" +.fi +.IP +This variable sets the time base of a windowed notmuch query. +Accepted values are 'minute', 'hour', 'day', 'week', 'month', 'year' + + +.TP +.B nm_record +.nf +Type: boolean +Default: no +.fi +.IP +This variable specifies if the NeoMutt record should indexed by notmuch. + + +.TP +.B nm_record_tags +.nf +Type: string +Default: "" +.fi +.IP +This variable specifies the default tags applied to messages stored to the NeoMutt record. +When set to 0 this variable disable the window feature. + + +.TP +.B nm_replied_tag +.nf +Type: string +Default: "replied" +.fi +.IP +This variable specifies notmuch tag which is used for replied messages. The +variable is used to set the replied flag when modifiying tags. All other NeoMutt +commands use standard (e.g. maildir) flags. + + +.TP +.B nm_unread_tag +.nf +Type: string +Default: "unread" +.fi +.IP +This variable specifies notmuch tag which is used for unread messages. The +variable is used to count unread messages in DB and set the unread flag when +modifiying tags. All other NeoMutt commands use standard (e.g. maildir) flags. + + +.TP +.B nntp_authenticators +.nf +Type: string +Default: "" +.fi +.IP +This is a colon\-delimited list of authentication methods NeoMutt may +attempt to use to log in to a news server, in the order NeoMutt should +try them. Authentication methods are either "user" or any +SASL mechanism, e.g. "digest\-md5", "gssapi" or "cram\-md5". +This option is case\-insensitive. If it's \fIunset\fP (the default) +NeoMutt will try all available methods, in order from most\-secure to +least\-secure. +.IP +Example: + +.IP +.EX +set nntp_authenticators="digest\-md5:user" + +.EE +.IP +\fBNote:\fP NeoMutt will only fall back to other authentication methods if +the previous methods are unavailable. If a method is available but +authentication fails, NeoMutt will not connect to the IMAP server. + + +.TP +.B nntp_context +.nf +Type: number +Default: 1000 +.fi +.IP +This variable defines number of articles which will be in index when +newsgroup entered. If active newsgroup have more articles than this +number, oldest articles will be ignored. Also controls how many +articles headers will be saved in cache when you quit newsgroup. + + +.TP +.B nntp_listgroup +.nf +Type: boolean +Default: yes +.fi +.IP +This variable controls whether or not existence of each article is +checked when newsgroup is entered. + + +.TP +.B nntp_load_description +.nf +Type: boolean +Default: yes +.fi +.IP +This variable controls whether or not descriptions for each newsgroup +must be loaded when newsgroup is added to list (first time list +loading or new newsgroup adding). + + +.TP +.B nntp_pass +.nf +Type: string +Default: "" +.fi +.IP +Your password for NNTP account. + + +.TP +.B nntp_poll +.nf +Type: number +Default: 60 +.fi +.IP +The time in seconds until any operations on newsgroup except post new +article will cause recheck for new news. If set to 0, NeoMutt will +recheck newsgroup on each operation in index (stepping, read article, +etc.). + + +.TP +.B nntp_user +.nf +Type: string +Default: "" +.fi +.IP +Your login name on the NNTP server. If \fIunset\fP and NNTP server requires +authentication, NeoMutt will prompt you for your account name when you +connect to news server. + + +.TP +.B pager +.nf +Type: command +Default: "builtin" +.fi +.IP +This variable specifies which pager you would like to use to view +messages. The value "builtin" means to use the built\-in pager, otherwise this +variable should specify the pathname of the external pager you would +like to use. +.IP +Using an external pager may have some disadvantages: Additional +keystrokes are necessary because you can't call NeoMutt functions +directly from the pager, and screen resizes cause lines longer than +the screen width to be badly formatted in the help menu. + + +.TP +.B pager_context +.nf +Type: number +Default: 0 +.fi +.IP +This variable controls the number of lines of context that are given +when displaying the next or previous page in the internal pager. By +default, NeoMutt will display the line after the last one on the screen +at the top of the next page (0 lines of context). +.IP +This variable also specifies the amount of context given for search +results. If positive, this many lines will be given before a match, +if 0, the match will be top\-aligned. + + +.TP +.B pager_format +.nf +Type: string +Default: "\-%Z\- %C/%m: %\-20.20n %s%* \-\- (%P)" +.fi +.IP +This variable controls the format of the one\-line message "status" +displayed before each message in either the internal or an external +pager. The valid sequences are listed in the $index_format +section. + + +.TP +.B pager_index_lines +.nf +Type: number +Default: 0 +.fi +.IP +Determines the number of lines of a mini\-index which is shown when in +the pager. The current message, unless near the top or bottom of the +folder, will be roughly one third of the way down this mini\-index, +giving the reader the context of a few messages before and after the +message. This is useful, for example, to determine how many messages +remain to be read in the current thread. A value of 0 results in no index +being shown. If the number of messages in the current folder is less than +$pager_index_lines, then the index will only use as many lines as it needs. + + +.TP +.B pager_stop +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, the internal\-pager will \fBnot\fP move to the next message +when you are at the end of a message and invoke the \fC\fP +function. + + +.TP +.B pattern_format +.nf +Type: string +Default: "%2n %\-15e %d" +.fi +.IP +This variable describes the format of the "pattern completion" menu. The +following \fCprintf(3)\fP\-style sequences are understood: +.RS +.PD 0 +.TP +%d +pattern description +.TP +%e +pattern expression +.TP +%n +index number +.RE +.PD 1 +.IP + + +.TP +.B pgp_auto_decode +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, NeoMutt will automatically attempt to decrypt traditional PGP +messages whenever the user performs an operation which ordinarily would +result in the contents of the message being operated on. For example, +if the user displays a pgp\-traditional message which has not been manually +checked with the \fC\fP function, NeoMutt will automatically +check the message for traditional pgp. + + +.TP +.B pgp_autoinline +.nf +Type: boolean +Default: no +.fi +.IP +This option controls whether NeoMutt generates old\-style inline +(traditional) PGP encrypted or signed messages under certain +circumstances. This can be overridden by use of the pgp menu, +when inline is not required. The GPGME backend does not support +this option. +.IP +Note that NeoMutt might automatically use PGP/MIME for messages +which consist of more than a single MIME part. NeoMutt can be +configured to ask before sending PGP/MIME messages when inline +(traditional) would not work. +.IP +Also see the $pgp_mime_auto variable. +.IP +Also note that using the old\-style PGP message format is \fBstrongly\fP +\fBdeprecated\fP. +(PGP only) + + +.TP +.B pgp_check_exit +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, NeoMutt will check the exit code of the PGP subprocess when +signing or encrypting. A non\-zero exit code means that the +subprocess failed. +(PGP only) + + +.TP +.B pgp_check_gpg_decrypt_status_fd +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, NeoMutt will check the status file descriptor output +of $pgp_decrypt_command and $pgp_decode_command for GnuPG status codes +indicating successful decryption. This will check for the presence of +DECRYPTION_OKAY, absence of DECRYPTION_FAILED, and that all +PLAINTEXT occurs between the BEGIN_DECRYPTION and END_DECRYPTION +status codes. +.IP +If \fIunset\fP, NeoMutt will instead match the status fd output +against $pgp_decryption_okay. +(PGP only) + + +.TP +.B pgp_clearsign_command +.nf +Type: command +Default: "" +.fi +.IP +This format is used to create an old\-style "clearsigned" PGP +message. Note that the use of this format is \fBstrongly\fP +\fBdeprecated\fP. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +Note that in this case, %r expands to the search string, which is a list of +one or more quoted values such as email address, name, or keyid. +(PGP only) + + +.TP +.B pgp_decode_command +.nf +Type: command +Default: "" +.fi +.IP +This format strings specifies a command which is used to decode +application/pgp attachments. +.IP +The PGP command formats have their own set of \fCprintf(3)\fP\-like sequences: +.RS +.PD 0 +.TP +%a +The value of $pgp_sign_as if set, otherwise the value +of $pgp_default_key. +.TP +%f +Expands to the name of a file containing a message. +.TP +%p +Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty +string otherwise. Note: This may be used with a %? construct. +.TP +%r +One or more key IDs (or fingerprints if available). +.TP +%s +Expands to the name of a file containing the signature part +of a \fCmultipart/signed\fP attachment when verifying it. +.RE +.PD 1 +.IP +For examples on how to configure these formats for the various versions +of PGP which are floating around, see the pgp and gpg sample configuration files in +the \fCsamples/\fP subdirectory which has been installed on your system +alongside the documentation. +(PGP only) + + +.TP +.B pgp_decrypt_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to decrypt a PGP encrypted message. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +(PGP only) +.IP +Note: When decrypting messages using \fCgpg\fP, a pinentry program needs to +be invoked unless the password is cached within \fCgpg\-agent\fP. +Currently, the \fCpinentry\-tty\fP program (usually distributed with +\fCgpg\fP) isn't suitable for being invoked by NeoMutt. You are encouraged +to use a different pinentry\-program when running NeoMutt in order to avoid +problems. +.IP +See also: https://github.com/neomutt/neomutt/issues/1014 + + +.TP +.B pgp_decryption_okay +.nf +Type: regular expression +Default: "" +.fi +.IP +If you assign text to this variable, then an encrypted PGP +message is only considered successfully decrypted if the output +from $pgp_decrypt_command contains the text. This is used to +protect against a spoofed encrypted message, with multipart/encrypted +headers but containing a block that is not actually encrypted. +(e.g. simply signed and ascii armored text). +.IP +Note that if $pgp_check_gpg_decrypt_status_fd is set, this variable +is ignored. +(PGP only) + + +.TP +.B pgp_default_key +.nf +Type: string +Default: "" +.fi +.IP +This is the default key\-pair to use for PGP operations. It will be +used for encryption (see $postpone_encrypt and $pgp_self_encrypt). +.IP +It will also be used for signing unless $pgp_sign_as is set. +.IP +The (now deprecated) \fIpgp_self_encrypt_as\fP is an alias for this +variable, and should no longer be used. +(PGP only) + + +.TP +.B pgp_encrypt_only_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to encrypt a body part without signing it. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +Note that in this case, %r expands to the search string, which is a list of +one or more quoted values such as email address, name, or keyid. +(PGP only) + + +.TP +.B pgp_encrypt_sign_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to both sign and encrypt a body part. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +(PGP only) + + +.TP +.B pgp_entry_format +.nf +Type: string +Default: "%4n %t%f %4l/0x%k %\-4a %2c %u" +.fi +.IP +This variable allows you to customize the PGP key selection menu to +your personal taste. If $crypt_use_gpgme is \fIset\fP, then it applies +to S/MIME key selection menu also. This string is similar to $index_format, +but has its own set of \fCprintf(3)\fP\-like sequences: +.RS +.PD 0 +.TP +%a +Algorithm +.TP +%c +Capabilities +.TP +%f +Flags +.TP +%k +Key id +.TP +%l +Key length +.TP +%n +Number +.TP +%p +Protocol +.TP +%t +Trust/validity of the key\-uid association +.TP +%u +User id +.TP +%[] +Date of the key where is an \fCstrftime(3)\fP expression +.RE +.PD 1 +.IP +(Crypto only) or (PGP only when GPGME disabled) + + +.TP +.B pgp_export_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to export a public key from the user's +key ring. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +(PGP only) + + +.TP +.B pgp_getkeys_command +.nf +Type: command +Default: "" +.fi +.IP +This command is invoked whenever NeoMutt needs to fetch the public key associated with +an email address. Of the sequences supported by $pgp_decode_command, %r is +the only \fCprintf(3)\fP\-like sequence used with this format. Note that +in this case, %r expands to the email address, not the public key ID (the key ID is +unknown, which is why NeoMutt is invoking this command). +(PGP only) + + +.TP +.B pgp_good_sign +.nf +Type: regular expression +Default: "" +.fi +.IP +If you assign a text to this variable, then a PGP signature is only +considered verified if the output from $pgp_verify_command contains +the text. Use this variable if the exit code from the command is 0 +even for bad signatures. +(PGP only) + + +.TP +.B pgp_ignore_subkeys +.nf +Type: boolean +Default: yes +.fi +.IP +Setting this variable will cause NeoMutt to ignore OpenPGP subkeys. Instead, +the principal key will inherit the subkeys' capabilities. \fIUnset\fP this +if you want to play interesting key selection games. +(PGP only) + + +.TP +.B pgp_import_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to import a key from a message into +the user's public key ring. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +(PGP only) + + +.TP +.B pgp_list_pubring_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to list the public key ring's contents. The +output format must be analogous to the one used by + +.IP +.EX +gpg \-\-list\-keys \-\-with\-colons \-\-with\-fingerprint + +.EE +.IP +Note: gpg's \fCfixed\-list\-mode\fP option should not be used. It +produces a different date format which may result in NeoMutt showing +incorrect key generation dates. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +(PGP only) + + +.TP +.B pgp_list_secring_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to list the secret key ring's contents. The +output format must be analogous to the one used by: + +.IP +.EX +gpg \-\-list\-keys \-\-with\-colons \-\-with\-fingerprint + +.EE +.IP +Note: gpg's \fCfixed\-list\-mode\fP option should not be used. It +produces a different date format which may result in NeoMutt showing +incorrect key generation dates. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +(PGP only) + + +.TP +.B pgp_long_ids +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, use 64 bit PGP key IDs, if \fIunset\fP use the normal 32 bit key IDs. +NOTE: Internally, NeoMutt has transitioned to using fingerprints (or long key IDs +as a fallback). This option now only controls the display of key IDs +in the key selection menu and a few other places. +(PGP only) + + +.TP +.B pgp_mime_auto +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +This option controls whether NeoMutt will prompt you for +automatically sending a (signed/encrypted) message using +PGP/MIME when inline (traditional) fails (for any reason). +.IP +Also note that using the old\-style PGP message format is \fBstrongly\fP +\fBdeprecated\fP. +(PGP only) + + +.TP +.B pgp_replyinline +.nf +Type: boolean +Default: no +.fi +.IP +Setting this variable will cause NeoMutt to always attempt to +create an inline (traditional) message when replying to a +message which is PGP encrypted/signed inline. This can be +overridden by use of the pgp menu, when inline is not +required. This option does not automatically detect if the +(replied\-to) message is inline; instead it relies on NeoMutt +internals for previously checked/flagged messages. +.IP +Note that NeoMutt might automatically use PGP/MIME for messages +which consist of more than a single MIME part. NeoMutt can be +configured to ask before sending PGP/MIME messages when inline +(traditional) would not work. +.IP +Also see the $pgp_mime_auto variable. +.IP +Also note that using the old\-style PGP message format is \fBstrongly\fP +\fBdeprecated\fP. +(PGP only) + + +.TP +.B pgp_retainable_sigs +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, signed and encrypted messages will consist of nested +\fCmultipart/signed\fP and \fCmultipart/encrypted\fP body parts. +.IP +This is useful for applications like encrypted and signed mailing +lists, where the outer layer (\fCmultipart/encrypted\fP) can be easily +removed, while the inner \fCmultipart/signed\fP part is retained. +(PGP only) + + +.TP +.B pgp_self_encrypt +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, PGP encrypted messages will also be encrypted +using the key in $pgp_default_key. +(PGP only) + + +.TP +.B pgp_show_unusable +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, NeoMutt will display non\-usable keys on the PGP key selection +menu. This includes keys which have been revoked, have expired, or +have been marked as "disabled" by the user. +(PGP only) + + +.TP +.B pgp_sign_as +.nf +Type: string +Default: "" +.fi +.IP +If you have a different key pair to use for signing, you should +set this to the signing key. Most people will only need to set +$pgp_default_key. It is recommended that you use the keyid form +to specify your key (e.g. \fC0x00112233\fP). +(PGP only) + + +.TP +.B pgp_sign_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to create the detached PGP signature for a +\fCmultipart/signed\fP PGP/MIME body part. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +(PGP only) + + +.TP +.B pgp_sort_keys +.nf +Type: sort order +Default: address +.fi +.IP +Specifies how the entries in the pgp menu are sorted. The +following are legal values: +.RS +.PD 0 +.TP +address +sort alphabetically by user id +.TP +keyid +sort alphabetically by key id +.TP +date +sort by key creation date +.TP +trust +sort by the trust of the key +.RE +.PD 1 +.IP +If you prefer reverse order of the above values, prefix it with +"reverse\-". +(PGP only) + + +.TP +.B pgp_strict_enc +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, NeoMutt will automatically encode PGP/MIME signed messages as +quoted\-printable. Please note that unsetting this variable may +lead to problems with non\-verifyable PGP signatures, so only change +this if you know what you are doing. +(PGP only) + + +.TP +.B pgp_timeout +.nf +Type: number (long) +Default: 300 +.fi +.IP +The number of seconds after which a cached passphrase will expire if +not used. +(PGP only) + + +.TP +.B pgp_use_gpg_agent +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, NeoMutt expects a \fCgpg\-agent(1)\fP process will handle +private key passphrase prompts. If \fIunset\fP, NeoMutt will prompt +for the passphrase and pass it via stdin to the pgp command. +.IP +Note that as of version 2.1, GnuPG automatically spawns an agent +and requires the agent be used for passphrase management. Since +that version is increasingly prevalent, this variable now +defaults \fIset\fP. +.IP +NeoMutt works with a GUI or curses pinentry program. A TTY pinentry +should not be used. +.IP +If you are using an older version of GnuPG without an agent running, +or another encryption program without an agent, you will need to +\fIunset\fP this variable. +(PGP only) + + +.TP +.B pgp_verify_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to verify PGP signatures. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +(PGP only) + + +.TP +.B pgp_verify_key_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to verify key information from the key selection +menu. +.IP +This is a format string, see the $pgp_decode_command command for +possible \fCprintf(3)\fP\-like sequences. +(PGP only) + + +.TP +.B pipe_decode +.nf +Type: boolean +Default: no +.fi +.IP +Used in connection with the \fC\fP function. When \fIunset\fP, +NeoMutt will pipe the messages without any preprocessing. When \fIset\fP, NeoMutt +will attempt to decode the messages first. +.IP +Also see $pipe_decode_weed, which controls whether headers will +be weeded when this is \fIset\fP. + + +.TP +.B pipe_decode_weed +.nf +Type: boolean +Default: yes +.fi +.IP +For \fC\fP, when $pipe_decode is set, this further +controls whether NeoMutt will weed headers. + + +.TP +.B pipe_sep +.nf +Type: string +Default: "\\n" +.fi +.IP +The separator to add between messages when piping a list of tagged +messages to an external Unix command. + + +.TP +.B pipe_split +.nf +Type: boolean +Default: no +.fi +.IP +Used in connection with the \fC\fP function following +\fC\fP. If this variable is \fIunset\fP, when piping a list of +tagged messages NeoMutt will concatenate the messages and will pipe them +all concatenated. When \fIset\fP, NeoMutt will pipe the messages one by one. +In both cases the messages are piped in the current sorted order, +and the $pipe_sep separator is added after each message. + + +.TP +.B pop_auth_try_all +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, NeoMutt will try all available authentication methods. +When \fIunset\fP, NeoMutt will only fall back to other authentication +methods if the previous methods are unavailable. If a method is +available but authentication fails, NeoMutt will not connect to the POP server. + + +.TP +.B pop_authenticators +.nf +Type: string list +Default: "" +.fi +.IP +This is a colon\-delimited list of authentication methods NeoMutt may +attempt to use to log in to an POP server, in the order NeoMutt should +try them. Authentication methods are either "user", "apop" or any +SASL mechanism, e.g. "digest\-md5", "gssapi" or "cram\-md5". +This option is case\-insensitive. If this option is \fIunset\fP +(the default) NeoMutt will try all available methods, in order from +most\-secure to least\-secure. +.IP +Example: + +.IP +.EX +set pop_authenticators="digest\-md5:apop:user" + +.EE + + +.TP +.B pop_checkinterval +.nf +Type: number +Default: 60 +.fi +.IP +This variable configures how often (in seconds) NeoMutt should look for +new mail in the currently selected mailbox if it is a POP mailbox. + + +.TP +.B pop_delete +.nf +Type: quadoption +Default: ask\-no +.fi +.IP +If \fIset\fP, NeoMutt will delete successfully downloaded messages from the POP +server when using the \fC\fP function. When \fIunset\fP, NeoMutt will +download messages but also leave them on the POP server. + + +.TP +.B pop_host +.nf +Type: string +Default: "" +.fi +.IP +The name of your POP server for the \fC\fP function. You +can also specify an alternative port, username and password, i.e.: + +.IP +.EX +[pop[s]://][username[:password]@]popserver[:port] + +.EE +.IP +where "[...]" denotes an optional part. + + +.TP +.B pop_last +.nf +Type: boolean +Default: no +.fi +.IP +If this variable is \fIset\fP, NeoMutt will try to use the "\fCLAST\fP" POP command +for retrieving only unread messages from the POP server when using +the \fC\fP function. + + +.TP +.B pop_oauth_refresh_command +.nf +Type: command +Default: "" +.fi +.IP +The command to run to generate an OAUTH refresh token for +authorizing your connection to your POP server. This command will be +run on every connection attempt that uses the OAUTHBEARER authentication +mechanism. See "oauth" for details. + + +.TP +.B pop_pass +.nf +Type: string +Default: "" +.fi +.IP +Specifies the password for your POP account. If \fIunset\fP, NeoMutt will +prompt you for your password when you open a POP mailbox. +.IP +\fBWarning\fP: you should only use this option when you are on a +fairly secure machine, because the superuser can read your neomuttrc +even if you are the only one who can read the file. + + +.TP +.B pop_reconnect +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +Controls whether or not NeoMutt will try to reconnect to the POP server if +the connection is lost. + + +.TP +.B pop_user +.nf +Type: string +Default: "" +.fi +.IP +Your login name on the POP server. +.IP +This variable defaults to your user name on the local machine. + + +.TP +.B post_indent_string +.nf +Type: string +Default: "" +.fi +.IP +Similar to the $attribution variable, NeoMutt will append this +string after the inclusion of a message which is being replied to. + + +.TP +.B post_moderated +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +If set to \fIyes\fP, NeoMutt will post article to newsgroup that have +not permissions to posting (e.g. moderated). \fBNote:\fP if news server +does not support posting to that newsgroup or totally read\-only, that +posting will not have an effect. + + +.TP +.B postpone +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +Controls whether or not messages are saved in the $postponed +mailbox when you elect not to send immediately. If set to +\fIask\-yes\fP or \fIask\-no\fP, you will be prompted with "Save +(postpone) draft message?" when quitting from the "compose" +screen. +.IP +Also see the $recall variable. + + +.TP +.B postpone_encrypt +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, postponed messages that are marked for encryption will be +self\-encrypted. NeoMutt will first try to encrypt using the value specified +in $pgp_default_key or $smime_default_key. If those are not +set, it will try the deprecated $postpone_encrypt_as. +(Crypto only) + + +.TP +.B postpone_encrypt_as +.nf +Type: string +Default: "" +.fi +.IP +This is a deprecated fall\-back variable for $postpone_encrypt. +Please use $pgp_default_key or $smime_default_key. +(Crypto only) + + +.TP +.B postponed +.nf +Type: mailbox +Default: "~/postponed" +.fi +.IP +NeoMutt allows you to indefinitely "postpone sending a message" which +you are editing. When you choose to postpone a message, NeoMutt saves it +in the mailbox specified by this variable. +.IP +Also see the $postpone variable. + + +.TP +.B preconnect +.nf +Type: string +Default: "" +.fi +.IP +If \fIset\fP, a shell command to be executed if NeoMutt fails to establish +a connection to the server. This is useful for setting up secure +connections, e.g. with \fCssh(1)\fP. If the command returns a nonzero +status, NeoMutt gives up opening the server. Example: + +.IP +.EX +set preconnect="ssh \-f \-q \-L 1234:mailhost.net:143 mailhost.net \\ +sleep 20 < /dev/null > /dev/null" + +.EE +.IP +Mailbox "foo" on "mailhost.net" can now be reached +as "{localhost:1234}foo". +.IP +Note: For this example to work, you must be able to log in to the +remote machine without having to enter a password. + + +.TP +.B preferred_languages +.nf +Type: string list +Default: "" +.fi +.IP +RFC8255 : user preferred languages to be search in parts and display +Ex. : set preferred_languages="en,fr,de" + + +.TP +.B print +.nf +Type: quadoption +Default: ask\-no +.fi +.IP +Controls whether or not NeoMutt really prints messages. +This is set to "ask\-no" by default, because some people +accidentally hit "p" often. + + +.TP +.B print_command +.nf +Type: command +Default: "lpr" +.fi +.IP +This specifies the command pipe that should be used to print messages. + + +.TP +.B print_decode +.nf +Type: boolean +Default: yes +.fi +.IP +Used in connection with the \fC\fP function. If this +option is \fIset\fP, the message is decoded before it is passed to the +external command specified by $print_command. If this option +is \fIunset\fP, no processing will be applied to the message when +printing it. The latter setting may be useful if you are using +some advanced printer filter which is able to properly format +e\-mail messages for printing. +.IP +Also see $print_decode_weed, which controls whether headers will +be weeded when this is \fIset\fP. + + +.TP +.B print_decode_weed +.nf +Type: boolean +Default: yes +.fi +.IP +For \fC\fP, when $print_decode is set, this +further controls whether NeoMutt will weed headers. + + +.TP +.B print_split +.nf +Type: boolean +Default: no +.fi +.IP +Used in connection with the \fC\fP function. If this option +is \fIset\fP, the command specified by $print_command is executed once for +each message which is to be printed. If this option is \fIunset\fP, +the command specified by $print_command is executed only once, and +all the messages are concatenated, with a form feed as the message +separator. +.IP +Those who use the \fCenscript\fP(1) program's mail\-printing mode will +most likely want to \fIset\fP this option. + + +.TP +.B prompt_after +.nf +Type: boolean +Default: yes +.fi +.IP +If you use an \fIexternal\fP $pager, setting this variable will +cause NeoMutt to prompt you for a command when the pager exits rather +than returning to the index menu. If \fIunset\fP, NeoMutt will return to the +index menu when the external pager exits. + + +.TP +.B query_command +.nf +Type: command +Default: "" +.fi +.IP +This specifies the command NeoMutt will use to make external address +queries. The string may contain a "%s", which will be substituted +with the query string the user types. NeoMutt will add quotes around the +string substituted for "%s" automatically according to shell quoting +rules, so you should avoid adding your own. If no "%s" is found in +the string, NeoMutt will append the user's query to the end of the string. +See "query" for more information. + + +.TP +.B query_format +.nf +Type: string +Default: "%3c %t %\-25.25n %\-25.25a | %e" +.fi +.IP +This variable describes the format of the "query" menu. The +following \fCprintf(3)\fP\-style sequences are understood: +.RS +.PD 0 +.TP +%a + +Destination address +.TP +%c + +Current entry number +.TP +%e +* +Extra information +.TP +%n + +Destination name +.TP +%t + +"*" if current entry is tagged, a space otherwise +.TP +%>X + +Right justify the rest of the string and pad with "X" +.TP +%|X + +Pad to the end of the line with "X" +.TP +%*X + +Soft\-fill with character "X" as pad +.RE +.PD 1 +.IP +For an explanation of "soft\-fill", see the $index_format documentation. +.IP +* = can be optionally printed if nonzero, see the $status_format documentation. + + +.TP +.B quit +.nf +Type: quadoption +Default: yes +.fi +.IP +This variable controls whether "quit" and "exit" actually quit +from NeoMutt. If this option is \fIset\fP, they do quit, if it is \fIunset\fP, they +have no effect, and if it is set to \fIask\-yes\fP or \fIask\-no\fP, you are +prompted for confirmation when you try to quit. + + +.TP +.B quote_regex +.nf +Type: regular expression +Default: "^([ \\t]*[|>:}#])+" +.fi +.IP +A regular expression used in the internal pager to determine quoted +sections of text in the body of a message. Quoted text may be filtered +out using the \fC\fP command, or colored according to the +"color quoted" family of directives. +.IP +Higher levels of quoting may be colored differently ("color quoted1", +"color quoted2", etc.). The quoting level is determined by removing +the last character from the matched text and recursively reapplying +the regular expression until it fails to produce a match. +.IP +Match detection may be overridden by the $smileys regular expression. + + +.TP +.B read_inc +.nf +Type: number +Default: 10 +.fi +.IP +If set to a value greater than 0, NeoMutt will display which message it +is currently on when reading a mailbox or when performing search actions +such as search and limit. The message is printed after +this many messages have been read or searched (e.g., if set to 25, NeoMutt will +print a message when it is at message 25, and then again when it gets +to message 50). This variable is meant to indicate progress when +reading or searching large mailboxes which may take some time. +When set to 0, only a single message will appear before the reading +the mailbox. +.IP +Also see the $write_inc, $net_inc and $time_inc variables and the +"tuning" section of the manual for performance considerations. + + +.TP +.B read_only +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, all folders are opened in read\-only mode. + + +.TP +.B realname +.nf +Type: string +Default: "" +.fi +.IP +This variable specifies what "real" or "personal" name should be used +when sending messages. +.IP +If not specified, then the user's "real name" will be read from \fC/etc/passwd\fP. +This option will not be used, if "$from" is set. + + +.TP +.B recall +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +Controls whether or not NeoMutt recalls postponed messages +when composing a new message. +.IP +Setting this variable to \fIyes\fP is not generally useful, and thus not +recommended. Note that the \fC\fP function can be used +to manually recall postponed messages. +.IP +Also see $postponed variable. + + +.TP +.B record +.nf +Type: mailbox +Default: "~/sent" +.fi +.IP +This specifies the file into which your outgoing messages should be +appended. (This is meant as the primary method for saving a copy of +your messages, but another way to do this is using the "my_hdr" +command to create a "Bcc:" field with your email address in it.) +.IP +The value of \fI$record\fP is overridden by the $force_name and +$save_name variables, and the "fcc-hook" command. Also see $copy +and $write_bcc. + + +.TP +.B reflow_space_quotes +.nf +Type: boolean +Default: yes +.fi +.IP +This option controls how quotes from format=flowed messages are displayed +in the pager and when replying (with $text_flowed \fIunset\fP). +When set, this option adds spaces after each level of quote marks, turning +">>>foo" into "> > > foo". +.IP +\fBNote:\fP If $reflow_text is \fIunset\fP, this option has no effect. +Also, this option does not affect replies when $text_flowed is \fIset\fP. + + +.TP +.B reflow_text +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will reformat paragraphs in text/plain +parts marked format=flowed. If \fIunset\fP, NeoMutt will display paragraphs +unaltered from how they appear in the message body. See RFC3676 for +details on the \fIformat=flowed\fP format. +.IP +Also see $reflow_wrap, and $wrap. + + +.TP +.B reflow_wrap +.nf +Type: number +Default: 78 +.fi +.IP +This variable controls the maximum paragraph width when reformatting text/plain +parts when $reflow_text is \fIset\fP. When the value is 0, paragraphs will +be wrapped at the terminal's right margin. A positive value sets the +paragraph width relative to the left margin. A negative value set the +paragraph width relative to the right margin. +.IP +Also see $wrap. + + +.TP +.B reply_regex +.nf +Type: regular expression +Default: "^((re|aw|sv)(\\[[0\-9]+\\])*:[ \\t]*)*" +.fi +.IP +A regular expression used to recognize reply messages when threading +and replying. The default value corresponds to the English "Re:", the +German "Aw:" and the Swedish "Sv:". + + +.TP +.B reply_self +.nf +Type: boolean +Default: no +.fi +.IP +If \fIunset\fP and you are replying to a message sent by you, NeoMutt will +assume that you want to reply to the recipients of that message rather +than to yourself. +.IP +Also see the "alternates" command. + + +.TP +.B reply_to +.nf +Type: quadoption +Default: ask\-yes +.fi +.IP +If \fIset\fP, when replying to a message, NeoMutt will use the address listed +in the Reply\-to: header as the recipient of the reply. If \fIunset\fP, +it will use the address in the From: header field instead. This +option is useful for reading a mailing list that sets the Reply\-To: +header field to the list address and you want to send a private +message to the author of a message. + + +.TP +.B reply_with_xorig +.nf +Type: boolean +Default: no +.fi +.IP +This variable provides a toggle. When active, the From: header will be +extracted from the current mail's 'X\-Original\-To:' header. This setting +does not have precedence over "reverse_realname". +.IP +Assuming 'fast_reply' is disabled, this option will prompt the user with a +prefilled From: header. + + +.TP +.B resolve +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, the cursor will be automatically advanced to the next +(possibly undeleted) message whenever a command that modifies the +current message is executed. + + +.TP +.B resume_draft_files +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, draft files (specified by \fC\-H\fP on the command +line) are processed similarly to when resuming a postponed +message. Recipients are not prompted for; send\-hooks are not +evaluated; no alias expansion takes place; user\-defined headers +and signatures are not added to the message. + + +.TP +.B resume_edited_draft_files +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, draft files previously edited (via \fC\-E \-H\fP on +the command line) will have $resume_draft_files automatically +set when they are used as a draft file again. +.IP +The first time a draft file is saved, NeoMutt will add a header, +X\-Mutt\-Resume\-Draft to the saved file. The next time the draft +file is read in, if NeoMutt sees the header, it will set +$resume_draft_files. +.IP +This option is designed to prevent multiple signatures, +user\-defined headers, and other processing effects from being +made multiple times to the draft file. + + +.TP +.B reverse_alias +.nf +Type: boolean +Default: no +.fi +.IP +This variable controls whether or not NeoMutt will display the "personal" +name from your aliases in the index menu if it finds an alias that +matches the message's sender. For example, if you have the following +alias: + +.IP +.EX +alias juser abd30425@somewhere.net (Joe User) + +.EE +.IP +and then you receive mail which contains the following header: + +.IP +.EX +From: abd30425@somewhere.net + +.EE +.IP +It would be displayed in the index menu as "Joe User" instead of +"abd30425@somewhere.net." This is useful when the person's e\-mail +address is not human friendly. + + +.TP +.B reverse_name +.nf +Type: boolean +Default: no +.fi +.IP +It may sometimes arrive that you receive mail to a certain machine, +move the messages to another machine, and reply to some the messages +from there. If this variable is \fIset\fP, the default \fIFrom:\fP line of +the reply messages is built using the address where you received the +messages you are replying to \fBif\fP that address matches your +"alternates". If the variable is \fIunset\fP, or the address that would be +used doesn't match your "alternates", the \fIFrom:\fP line will use +your address on the current machine. +.IP +Also see the "alternates" command and $reverse_realname. + + +.TP +.B reverse_realname +.nf +Type: boolean +Default: yes +.fi +.IP +This variable fine\-tunes the behavior of the $reverse_name feature. +.IP +When it is \fIunset\fP, NeoMutt will remove the real name part of a +matching address. This allows the use of the email address +without having to also use what the sender put in the real name +field. +.IP +When it is \fIset\fP, NeoMutt will use the matching address as\-is. +.IP +In either case, a missing real name will be filled in afterwards +using the value of $realname. + + +.TP +.B rfc2047_parameters +.nf +Type: boolean +Default: no +.fi +.IP +When this variable is \fIset\fP, NeoMutt will decode RFC2047\-encoded MIME +parameters. You want to set this variable when NeoMutt suggests you +to save attachments to files named like: + +.IP +.EX +=?iso\-8859\-1?Q?file=5F=E4=5F991116=2Ezip?= +=?utf\-8?Q?z=C4=99ta.png?= + +.EE +.IP +When this variable is \fIset\fP interactively, the change won't be +active until you change folders. +.IP +Note that this use of RFC2047's encoding is explicitly +prohibited by the standard, but nevertheless encountered in the +wild and produced by, e.g., Outlook. +.IP +Also note that setting this parameter will \fInot\fP have the effect +that NeoMutt \fIgenerates\fP this kind of encoding. Instead, NeoMutt will +unconditionally use the encoding specified in RFC2231. + + +.TP +.B save_address +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, NeoMutt will take the sender's full address when choosing a +default folder for saving a mail. If $save_name or $force_name +is \fIset\fP too, the selection of the Fcc folder will be changed as well. + + +.TP +.B save_empty +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIunset\fP, mailboxes which contain no saved messages will be removed +when closed (the exception is $spoolfile which is never removed). +If \fIset\fP, mailboxes are never removed. +.IP +\fBNote:\fP This only applies to mbox and MMDF folders, NeoMutt does not +delete MH and Maildir directories. + + +.TP +.B save_history +.nf +Type: number +Default: 0 +.fi +.IP +This variable controls the size of the history (per category) saved in the +$history_file file. + + +.TP +.B save_name +.nf +Type: boolean +Default: no +.fi +.IP +This variable controls how copies of outgoing messages are saved. +When \fIset\fP, a check is made to see if a mailbox specified by the +recipient address exists (this is done by searching for a mailbox in +the $folder directory with the \fIusername\fP part of the +recipient address). If the mailbox exists, the outgoing message will +be saved to that mailbox, otherwise the message is saved to the +$record mailbox. +.IP +Also see the $force_name variable. + + +.TP +.B save_unsubscribed +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, info about unsubscribed newsgroups will be saved into +"newsrc" file and into cache. + + +.TP +.B score +.nf +Type: boolean +Default: yes +.fi +.IP +When this variable is \fIunset\fP, scoring is turned off. This can +be useful to selectively disable scoring for certain folders when the +$score_threshold_delete variable and related are used. + + +.TP +.B score_threshold_delete +.nf +Type: number +Default: \-1 +.fi +.IP +Messages which have been assigned a score equal to or lower than the value +of this variable are automatically marked for deletion by NeoMutt. Since +NeoMutt scores are always greater than or equal to zero, the default setting +of this variable will never mark a message for deletion. + + +.TP +.B score_threshold_flag +.nf +Type: number +Default: 9999 +.fi +.IP +Messages which have been assigned a score greater than or equal to this +variable's value are automatically marked "flagged". + + +.TP +.B score_threshold_read +.nf +Type: number +Default: \-1 +.fi +.IP +Messages which have been assigned a score equal to or lower than the value +of this variable are automatically marked as read by NeoMutt. Since +NeoMutt scores are always greater than or equal to zero, the default setting +of this variable will never mark a message read. + + +.TP +.B search_context +.nf +Type: number +Default: 0 +.fi +.IP +For the pager, this variable specifies the number of lines shown +before search results. By default, search results will be top\-aligned. + + +.TP +.B send_charset +.nf +Type: string +Default: "us\-ascii:iso\-8859\-1:utf\-8" +.fi +.IP +A colon\-delimited list of character sets for outgoing messages. NeoMutt will use the +first character set into which the text can be converted exactly. +If your $charset is not "iso\-8859\-1" and recipients may not +understand "UTF\-8", it is advisable to include in the list an +appropriate widely used standard character set (such as +"iso\-8859\-2", "koi8\-r" or "iso\-2022\-jp") either instead of or after +"iso\-8859\-1". +.IP +In case the text can't be converted into one of these exactly, +NeoMutt uses $charset as a fallback. + + +.TP +.B sendmail +.nf +Type: command +Default: "/usr/sbin/sendmail \-oem \-oi" +.fi +.IP +Specifies the program and arguments used to deliver mail sent by NeoMutt. +NeoMutt expects that the specified program interprets additional +arguments as recipient addresses. NeoMutt appends all recipients after +adding a \fC\-\-\fP delimiter (if not already present). Additional +flags, such as for $use_8bitmime, $use_envelope_from, +$dsn_notify, or $dsn_return will be added before the delimiter. +.IP +\fBSee also:\fP $write_bcc. + + +.TP +.B sendmail_wait +.nf +Type: number +Default: 0 +.fi +.IP +Specifies the number of seconds to wait for the $sendmail process +to finish before giving up and putting delivery in the background. +.IP +NeoMutt interprets the value of this variable as follows: +.RS +.PD 0 +.TP +>0 +number of seconds to wait for sendmail to finish before continuing +.TP +0 +wait forever for sendmail to finish +.TP +<0 +always put sendmail in the background without waiting +.RE +.PD 1 +.IP +Note that if you specify a value other than 0, the output of the child +process will be put in a temporary file. If there is some error, you +will be informed as to where to find the output. + + +.TP +.B shell +.nf +Type: command +Default: "/bin/sh" +.fi +.IP +Command to use when spawning a subshell. +If not specified, then the user's login shell from \fC/etc/passwd\fP is used. + + +.TP +.B show_multipart_alternative +.nf +Type: string +Default: "" +.fi +.IP +When \fIset\fP to \fCinfo\fP, the multipart/alternative information is shown. +When \fIset\fP to \fCinline\fP, all of the alternatives are displayed. +When not set, the default behavior is to show only the chosen alternative. + + +.TP +.B show_new_news +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, news server will be asked for new newsgroups on entering +the browser. Otherwise, it will be done only once for a news server. +Also controls whether or not number of new articles of subscribed +newsgroups will be then checked. + + +.TP +.B show_only_unread +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, only subscribed newsgroups that contain unread articles +will be displayed in browser. + + +.TP +.B sidebar_component_depth +.nf +Type: number +Default: 0 +.fi +.IP +By default the sidebar will show the mailbox's path, relative to the +$folder variable. This specifies the number of parent directories to hide +from display in the sidebar. For example: If a maildir is normally +displayed in the sidebar as dir1/dir2/dir3/maildir, setting +\fCsidebar_component_depth=2\fP will display it as dir3/maildir, having +truncated the 2 highest directories. +.IP +\fBSee also:\fP $sidebar_short_path + + +.TP +.B sidebar_delim_chars +.nf +Type: string +Default: "/." +.fi +.IP +This contains the list of characters which you would like to treat +as folder separators for displaying paths in the sidebar. +.IP +Local mail is often arranged in directories: 'dir1/dir2/mailbox'. + +.IP +.EX +set sidebar_delim_chars='/' + +.EE +.IP +IMAP mailboxes are often named: 'folder1.folder2.mailbox'. + +.IP +.EX +set sidebar_delim_chars='.' + +.EE +.IP +\fBSee also:\fP $sidebar_short_path, $sidebar_folder_indent, $sidebar_indent_string. + + +.TP +.B sidebar_divider_char +.nf +Type: string +Default: "" +.fi +.IP +This specifies the characters to be drawn between the sidebar (when +visible) and the other NeoMutt panels. ASCII and Unicode line\-drawing +characters are supported. + + +.TP +.B sidebar_folder_indent +.nf +Type: boolean +Default: no +.fi +.IP +Set this to indent mailboxes in the sidebar. +.IP +\fBSee also:\fP $sidebar_short_path, $sidebar_indent_string, $sidebar_delim_chars. + + +.TP +.B sidebar_format +.nf +Type: string +Default: "%D%* %n" +.fi +.IP +This variable allows you to customize the sidebar display. This string is +similar to $index_format, but has its own set of \fCprintf(3)\fP\-like +sequences: +.RS +.PD 0 +.TP +%B + +Name of the mailbox +.TP +%d +* @ +Number of deleted messages in the mailbox +.TP +%D + +Descriptive name of the mailbox +.TP +%F +* +Number of flagged messages in the mailbox +.TP +%L +* @ +Number of messages after limiting +.TP +%n + +'N' if mailbox has new mail, ' ' (space) otherwise +.TP +%N +* +Number of unread messages in the mailbox (seen or unseen) +.TP +%o +* +Number of old messages in the mailbox (unread, seen) +.TP +%r +* +Number of read messages in the mailbox (read, seen) +.TP +%S +* +Size of mailbox (total number of messages) +.TP +%t +* @ +Number of tagged messages in the mailbox +.TP +%Z +* +Number of new messages in the mailbox (unread, unseen) +.TP +%! + +"!" : one flagged message; +"!!" : two flagged messages; +"n!" : n flagged messages (for n > 2). +Otherwise prints nothing. +.TP +%>X + +Right justify the rest of the string and pad with "X" +.TP +%|X + +Pad to the end of the line with "X" +.TP +%*X + +Soft\-fill with character "X" as pad +.RE +.PD 1 +.IP +* = Can be optionally printed if nonzero +.IP +@ = Only applicable to the current folder +.IP +In order to use %S, %N, %F, and %!, $mail_check_stats must +be \fIset\fP. When thus set, a suggested value for this option is +"%B%?F? [%F]?%* %?N?%N/?%S". + + +.TP +.B sidebar_indent_string +.nf +Type: string +Default: " " +.fi +.IP +This specifies the string that is used to indent mailboxes in the sidebar. +It defaults to two spaces. +.IP +\fBSee also:\fP $sidebar_short_path, $sidebar_folder_indent, $sidebar_delim_chars. + + +.TP +.B sidebar_new_mail_only +.nf +Type: boolean +Default: no +.fi +.IP +When set, the sidebar will only display mailboxes containing new, or +flagged, mail. +.IP +\fBSee also:\fP $sidebar_whitelist, $sidebar_non_empty_mailbox_only. + + +.TP +.B sidebar_next_new_wrap +.nf +Type: boolean +Default: no +.fi +.IP +When set, the \fC\fP command will not stop and the end of +the list of mailboxes, but wrap around to the beginning. The +\fC\fP command is similarly affected, wrapping around to +the end of the list. + + +.TP +.B sidebar_non_empty_mailbox_only +.nf +Type: boolean +Default: no +.fi +.IP +When set, the sidebar will only display mailboxes that contain one or more mails. +.IP +\fBSee also:\fP $sidebar_new_mail_only, $sidebar_whitelist. + + +.TP +.B sidebar_on_right +.nf +Type: boolean +Default: no +.fi +.IP +When set, the sidebar will appear on the right\-hand side of the screen. + + +.TP +.B sidebar_short_path +.nf +Type: boolean +Default: no +.fi +.IP +By default the sidebar will show the mailbox's path, relative to the +$folder variable. Setting \fCsidebar_shortpath=yes\fP will shorten the +names relative to the previous name. Here's an example: +.RS +.PD 0 +.TP +\fBshortpath=no\fP +\fBshortpath=yes\fP +\fBshortpath=yes, folderindent=yes, indentstr=".."\fP +.TP +\fCfruit\fP +\fCfruit\fP +\fCfruit\fP +.TP +\fCfruit.apple\fP +\fCapple\fP +\fC..apple\fP +.TP +\fCfruit.banana\fP +\fCbanana\fP +\fC..banana\fP +.TP +\fCfruit.cherry\fP +\fCcherry\fP +\fC..cherry\fP +.RE +.PD 1 +.IP +\fBSee also:\fP $sidebar_delim_chars, $sidebar_folder_indent, +$sidebar_indent_string, $sidebar_component_depth. + + +.TP +.B sidebar_sort_method +.nf +Type: sort order +Default: order +.fi +.IP +Specifies how to sort mailbox entries in the sidebar. By default, the +entries are sorted alphabetically. Valid values: +.RS +.PD 0 +.TP +\(hy path (alphabetically) +.TP +\(hy count (all message count) +.TP +\(hy flagged (flagged message count) +.TP +\(hy new (unread message count) +.TP +\(hy unread (unread message count) +.TP +\(hy unsorted +.RE +.PD 1 +.IP +You may optionally use the "reverse\-" prefix to specify reverse sorting +order (example: "\fCset sidebar_sort_method=reverse\-alpha\fP"). +.IP +The "alpha" and "name" values are synonyms for "path". + + +.TP +.B sidebar_visible +.nf +Type: boolean +Default: no +.fi +.IP +This specifies whether or not to show sidebar. The sidebar shows a list of +all your mailboxes. +.IP +\fBSee also:\fP $sidebar_format, $sidebar_width + + +.TP +.B sidebar_width +.nf +Type: number +Default: 30 +.fi +.IP +This controls the width of the sidebar. It is measured in screen columns. +For example: sidebar_width=20 could display 20 ASCII characters, or 10 +Chinese characters. + + +.TP +.B sig_dashes +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, a line containing "\-\- " (note the trailing space) will be inserted before your +$signature. It is \fBstrongly\fP recommended that you not \fIunset\fP +this variable unless your signature contains just your name. The +reason for this is because many software packages use "\-\- \\n" to +detect your signature. For example, NeoMutt has the ability to highlight +the signature in a different color in the built\-in pager. + + +.TP +.B sig_on_top +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, the signature will be included before any quoted or forwarded +text. It is \fBstrongly\fP recommended that you do not set this variable +unless you really know what you are doing, and are prepared to take +some heat from netiquette guardians. + + +.TP +.B signature +.nf +Type: path +Default: "~/.signature" +.fi +.IP +Specifies the filename of your signature, which is appended to all +outgoing messages. If the filename ends with a pipe ("|"), it is +assumed that filename is a shell command and input should be read from +its standard output. + + +.TP +.B simple_search +.nf +Type: string +Default: "~f %s | ~s %s" +.fi +.IP +Specifies how NeoMutt should expand a simple search into a real search +pattern. A simple search is one that does not contain any of the "~" pattern +operators. See "patterns" for more information on search patterns. +.IP +For example, if you simply type "joe" at a search or limit prompt, NeoMutt +will automatically expand it to the value specified by this variable by +replacing "%s" with the supplied string. +For the default value, "joe" would be expanded to: "~f joe | ~s joe". + + +.TP +.B size_show_bytes +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, message sizes will display bytes for values less than +1 kilobyte. See formatstrings-size. + + +.TP +.B size_show_fractions +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, message sizes will be displayed with a single decimal value +for sizes from 0 to 10 kilobytes and 1 to 10 megabytes. +See formatstrings-size. + + +.TP +.B size_show_mb +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP, message sizes will display megabytes for values greater than +or equal to 1 megabyte. See formatstrings-size. + + +.TP +.B size_units_on_left +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, message sizes units will be displayed to the left of the number. +See formatstrings-size. + + +.TP +.B skip_quoted_offset +.nf +Type: number +Default: 0 +.fi +.IP +Lines of quoted text that are displayed before the unquoted text after +"skip to quoted" command (S) + + +.TP +.B sleep_time +.nf +Type: number +Default: 1 +.fi +.IP +Specifies time, in seconds, to pause while displaying certain informational +messages, while moving from folder to folder and after expunging +messages from the current folder. The default is to pause one second, so +a value of zero for this option suppresses the pause. + + +.TP +.B smart_wrap +.nf +Type: boolean +Default: yes +.fi +.IP +Controls the display of lines longer than the screen width in the +internal pager. If \fIset\fP, long lines are wrapped at a word boundary. If +\fIunset\fP, lines are simply wrapped at the screen edge. Also see the +$markers variable. + + +.TP +.B smileys +.nf +Type: regular expression +Default: "(>From )|(:[\-^]?[][)(><}{|/DP])" +.fi +.IP +The \fIpager\fP uses this variable to catch some common false +positives of $quote_regex, most notably smileys and not consider +a line quoted text if it also matches $smileys. This mostly +happens at the beginning of a line. + + +.TP +.B smime_ask_cert_label +.nf +Type: boolean +Default: yes +.fi +.IP +This flag controls whether you want to be asked to enter a label +for a certificate about to be added to the database or not. It is +\fIset\fP by default. +(S/MIME only) + + +.TP +.B smime_ca_location +.nf +Type: path +Default: "" +.fi +.IP +This variable contains the name of either a directory, or a file which +contains trusted certificates for use with OpenSSL. +(S/MIME only) + + +.TP +.B smime_certificates +.nf +Type: path +Default: "" +.fi +.IP +Since for S/MIME there is no pubring/secring as with PGP, NeoMutt has to handle +storage and retrieval of keys by itself. This is very basic right +now, and keys and certificates are stored in two different +directories, both named as the hash\-value retrieved from +OpenSSL. There is an index file which contains mailbox\-address +keyid pairs, and which can be manually edited. This option points to +the location of the certificates. +(S/MIME only) + + +.TP +.B smime_decrypt_command +.nf +Type: command +Default: "" +.fi +.IP +This format string specifies a command which is used to decrypt +\fCapplication/x\-pkcs7\-mime\fP attachments. +.IP +The OpenSSL command formats have their own set of \fCprintf(3)\fP\-like sequences +similar to PGP's: +.RS +.PD 0 +.TP +%f +Expands to the name of a file containing a message. +.TP +%s +Expands to the name of a file containing the signature part +of a \fCmultipart/signed\fP attachment when verifying it. +.TP +%k +The key\-pair specified with $smime_default_key +.TP +%i +Intermediate certificates +.TP +%c +One or more certificate IDs. +.TP +%a +The algorithm used for encryption. +.TP +%d +The message digest algorithm specified with $smime_sign_digest_alg. +.TP +%C +CA location: Depending on whether $smime_ca_location +points to a directory or file, this expands to +"\-CApath $smime_ca_location" or "\-CAfile $smime_ca_location". +.RE +.PD 1 +.IP +For examples on how to configure these formats, see the \fCsmime.rc\fP in +the \fCsamples/\fP subdirectory which has been installed on your system +alongside the documentation. +(S/MIME only) + + +.TP +.B smime_decrypt_use_default_key +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP (default) this tells NeoMutt to use the default key for decryption. Otherwise, +if managing multiple certificate\-key\-pairs, NeoMutt will try to use the mailbox\-address +to determine the key to use. It will ask you to supply a key, if it can't find one. +(S/MIME only) + + +.TP +.B smime_default_key +.nf +Type: string +Default: "" +.fi +.IP +This is the default key\-pair to use for S/MIME operations, and must be +set to the keyid (the hash\-value that OpenSSL generates) to work properly. +.IP +It will be used for encryption (see $postpone_encrypt and +$smime_self_encrypt). +.IP +It will be used for decryption unless $smime_decrypt_use_default_key +is \fIunset\fP. +.IP +It will also be used for signing unless $smime_sign_as is set. +.IP +The (now deprecated) \fIsmime_self_encrypt_as\fP is an alias for this +variable, and should no longer be used. +(S/MIME only) + + +.TP +.B smime_encrypt_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to create encrypted S/MIME messages. +.IP +This is a format string, see the $smime_decrypt_command command for +possible \fCprintf(3)\fP\-like sequences. +(S/MIME only) +.IP +Encrypt the message to $smime_default_key too. +(S/MIME only) + + +.TP +.B smime_encrypt_with +.nf +Type: string +Default: "aes256" +.fi +.IP +This sets the algorithm that should be used for encryption. +Valid choices are "aes128", "aes192", "aes256", "des", "des3", "rc2\-40", "rc2\-64", "rc2\-128". +(S/MIME only) + + +.TP +.B smime_get_cert_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to extract X509 certificates from a PKCS7 structure. +.IP +This is a format string, see the $smime_decrypt_command command for +possible \fCprintf(3)\fP\-like sequences. +(S/MIME only) + + +.TP +.B smime_get_cert_email_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to extract the mail address(es) used for storing +X509 certificates, and for verification purposes (to check whether the +certificate was issued for the sender's mailbox). +.IP +This is a format string, see the $smime_decrypt_command command for +possible \fCprintf(3)\fP\-like sequences. +(S/MIME only) + + +.TP +.B smime_get_signer_cert_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to extract only the signers X509 certificate from a S/MIME +signature, so that the certificate's owner may get compared to the +email's "From:" field. +.IP +This is a format string, see the $smime_decrypt_command command for +possible \fCprintf(3)\fP\-like sequences. +(S/MIME only) + + +.TP +.B smime_import_cert_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to import a certificate via smime_keys. +.IP +This is a format string, see the $smime_decrypt_command command for +possible \fCprintf(3)\fP\-like sequences. NOTE: %c and %k will default +to $smime_sign_as if set, otherwise $smime_default_key. +(S/MIME only) + + +.TP +.B smime_is_default +.nf +Type: boolean +Default: no +.fi +.IP +The default behavior of NeoMutt is to use PGP on all auto\-sign/encryption +operations. To override and to use OpenSSL instead this must be \fIset\fP. +However, this has no effect while replying, since NeoMutt will automatically +select the same application that was used to sign/encrypt the original +message. (Note that this variable can be overridden by unsetting $crypt_autosmime.) +(S/MIME only) + + +.TP +.B smime_keys +.nf +Type: path +Default: "" +.fi +.IP +Since for S/MIME there is no pubring/secring as with PGP, NeoMutt has to handle +storage and retrieval of keys/certs by itself. This is very basic right now, +and stores keys and certificates in two different directories, both +named as the hash\-value retrieved from OpenSSL. There is an index file +which contains mailbox\-address keyid pair, and which can be manually +edited. This option points to the location of the private keys. +(S/MIME only) + + +.TP +.B smime_pk7out_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to extract PKCS7 structures of S/MIME signatures, +in order to extract the public X509 certificate(s). +.IP +This is a format string, see the $smime_decrypt_command command for +possible \fCprintf(3)\fP\-like sequences. +(S/MIME only) + + +.TP +.B smime_self_encrypt +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, S/MIME encrypted messages will also be encrypted +using the certificate in $smime_default_key. +(S/MIME only) + + +.TP +.B smime_sign_as +.nf +Type: string +Default: "" +.fi +.IP +If you have a separate key to use for signing, you should set this +to the signing key. Most people will only need to set $smime_default_key. +(S/MIME only) + + +.TP +.B smime_sign_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to created S/MIME signatures of type +\fCmultipart/signed\fP, which can be read by all mail clients. +.IP +This is a format string, see the $smime_decrypt_command command for +possible \fCprintf(3)\fP\-like sequences. +(S/MIME only) + + +.TP +.B smime_sign_digest_alg +.nf +Type: string +Default: "sha256" +.fi +.IP +This sets the algorithm that should be used for the signature message digest. +Valid choices are "md5", "sha1", "sha224", "sha256", "sha384", "sha512". +(S/MIME only) + + +.TP +.B smime_timeout +.nf +Type: number +Default: 300 +.fi +.IP +The number of seconds after which a cached passphrase will expire if +not used. +(S/MIME only) + + +.TP +.B smime_verify_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to verify S/MIME signatures of type \fCmultipart/signed\fP. +.IP +This is a format string, see the $smime_decrypt_command command for +possible \fCprintf(3)\fP\-like sequences. +(S/MIME only) + + +.TP +.B smime_verify_opaque_command +.nf +Type: command +Default: "" +.fi +.IP +This command is used to verify S/MIME signatures of type +\fCapplication/x\-pkcs7\-mime\fP. +.IP +This is a format string, see the $smime_decrypt_command command for +possible \fCprintf(3)\fP\-like sequences. +(S/MIME only) + + +.TP +.B smtp_authenticators +.nf +Type: string list +Default: "" +.fi +.IP +This is a colon\-delimited list of authentication methods NeoMutt may +attempt to use to log in to an SMTP server, in the order NeoMutt should +try them. Authentication methods are any SASL mechanism, e.g. "plain", +"digest\-md5", "gssapi" or "cram\-md5". +This option is case\-insensitive. If it is "unset" +(the default) NeoMutt will try all available methods, in order from +most\-secure to least\-secure. Support for the "plain" mechanism is +bundled; other mechanisms are provided by an external SASL library (look +for +USE_SASL in the output of neomutt \-v). +.IP +Example: + +.IP +.EX +set smtp_authenticators="digest\-md5:cram\-md5" + +.EE + + +.TP +.B smtp_oauth_refresh_command +.nf +Type: command +Default: "" +.fi +.IP +The command to run to generate an OAUTH refresh token for +authorizing your connection to your SMTP server. This command will be +run on every connection attempt that uses the OAUTHBEARER authentication +mechanism. See "oauth" for details. + + +.TP +.B smtp_pass +.nf +Type: string +Default: "" +.fi +.IP +Specifies the password for your SMTP account. If \fIunset\fP, NeoMutt will +prompt you for your password when you first send mail via SMTP. +See $smtp_url to configure NeoMutt to send mail via SMTP. +.IP +\fBWarning\fP: you should only use this option when you are on a +fairly secure machine, because the superuser can read your neomuttrc even +if you are the only one who can read the file. + + +.TP +.B smtp_url +.nf +Type: string +Default: "" +.fi +.IP +Defines the SMTP smarthost where sent messages should relayed for +delivery. This should take the form of an SMTP URL, e.g.: + +.IP +.EX +smtp[s]://[user[:pass]@]host[:port] + +.EE +.IP +where "[...]" denotes an optional part. +Setting this variable overrides the value of the $sendmail +variable. +.IP +Also see $write_bcc. + + +.TP +.B smtp_user +.nf +Type: string +Default: "" +.fi +.IP +The username for the SMTP server. +.IP +This variable defaults to your user name on the local machine. + + +.TP +.B sort +.nf +Type: sort order +Default: date +.fi +.IP +Specifies how to sort messages in the "index" menu. Valid values +are: +.RS +.PD 0 +.TP +\(hy date +.TP +\(hy date\-received +.TP +\(hy from +.TP +\(hy score +.TP +\(hy size +.TP +\(hy spam +.TP +\(hy subject +.TP +\(hy threads +.TP +\(hy to +.TP +\(hy unsorted +.RE +.PD 1 +.IP +You may optionally use the "reverse\-" prefix to specify reverse sorting +order. +.IP +The "date\-sent" value is a synonym for "date". The "mailbox\-order" value is +a synonym for "unsorted". +.IP +Example: + +.IP +.EX +set sort=reverse\-date\-sent + +.EE + + +.TP +.B sort_alias +.nf +Type: sort order +Default: alias +.fi +.IP +Specifies how the entries in the "alias" menu are sorted. The +following are legal values: +.RS +.PD 0 +.TP +\(hy address (sort alphabetically by email address) +.TP +\(hy alias (sort alphabetically by alias name) +.TP +\(hy unsorted (leave in order specified in .neomuttrc) +.RE +.PD 1 +.IP +Note: This also affects the entries of the address query menu, thus +potentially overruling the order of entries as generated by $query_command. + + +.TP +.B sort_aux +.nf +Type: sort order +Default: date +.fi +.IP +This provides a secondary sort for messages in the "index" menu, used +when the $sort value is equal for two messages. +.IP +When sorting by threads, this variable controls how threads are sorted +in relation to other threads, and how the branches of the thread trees +are sorted. This can be set to any value that $sort can, except +"threads" (in that case, NeoMutt will just use "date"). You can also +specify the "last\-" prefix in addition to the "reverse\-" prefix, but "last\-" +must come after "reverse\-". The "last\-" prefix causes messages to be +sorted against its siblings by which has the last descendant, using +the rest of $sort_aux as an ordering. For instance, + +.IP +.EX +set sort_aux=last\-date\-received + +.EE +.IP +would mean that if a new message is received in a +thread, that thread becomes the last one displayed (or the first, if +you have "\fCset sort=reverse\-threads\fP".) +.IP +Note: For reversed\-threads $sort +order, $sort_aux is reversed again (which is not the right thing to do, +but kept to not break any existing configuration setting). + + +.TP +.B sort_browser +.nf +Type: sort order +Default: alpha +.fi +.IP +Specifies how to sort entries in the file browser. By default, the +entries are sorted alphabetically. Valid values: +.RS +.PD 0 +.TP +\(hy alpha (alphabetically) +.TP +\(hy count (all message count) +.TP +\(hy date +.TP +\(hy desc (description) +.TP +\(hy new (new message count) +.TP +\(hy size +.TP +\(hy unsorted +.RE +.PD 1 +.IP +You may optionally use the "reverse\-" prefix to specify reverse sorting +order (example: "\fCset sort_browser=reverse\-date\fP"). +.IP +The "unread" value is a synonym for "new". + + +.TP +.B sort_re +.nf +Type: boolean +Default: yes +.fi +.IP +This variable is only useful when sorting by threads with +$strict_threads \fIunset\fP. In that case, it changes the heuristic +mutt uses to thread messages by subject. With $sort_re \fIset\fP, mutt will +only attach a message as the child of another message by subject if +the subject of the child message starts with a substring matching the +setting of $reply_regex. With $sort_re \fIunset\fP, mutt will attach +the message whether or not this is the case, as long as the +non\-$reply_regex parts of both messages are identical. + + +.TP +.B spam_separator +.nf +Type: string +Default: "," +.fi +.IP +This variable controls what happens when multiple spam headers +are matched: if \fIunset\fP, each successive header will overwrite any +previous matches value for the spam label. If \fIset\fP, each successive +match will append to the previous, using this variable's value as a +separator. + + +.TP +.B spoolfile +.nf +Type: mailbox +Default: "" +.fi +.IP +If your spool mailbox is in a non\-default place where NeoMutt can't find +it, you can specify its location with this variable. The description from +"named\-mailboxes" or "virtual\-mailboxes" may be used for the spoolfile. +.IP +If not specified, then the environment variables \fC$MAIL\fP and +\fC$MAILDIR\fP will be checked. + + +.TP +.B ssl_ca_certificates_file +.nf +Type: path +Default: "" +.fi +.IP +This variable specifies a file containing trusted CA certificates. +Any server certificate that is signed with one of these CA +certificates is also automatically accepted. (GnuTLS only) +.IP +Example: + +.IP +.EX +set ssl_ca_certificates_file=/etc/ssl/certs/ca\-certificates.crt + +.EE + + +.TP +.B ssl_ciphers +.nf +Type: string +Default: "" +.fi +.IP +Contains a colon\-separated list of ciphers to use when using SSL. +For OpenSSL, see ciphers(1) for the syntax of the string. +.IP +For GnuTLS, this option will be used in place of "NORMAL" at the +start of the priority string. See gnutls_priority_init(3) for the +syntax and more details. (Note: GnuTLS version 2.1.7 or higher is +required.) + + +.TP +.B ssl_client_cert +.nf +Type: path +Default: "" +.fi +.IP +The file containing a client certificate and its associated private +key. + + +.TP +.B ssl_force_tls +.nf +Type: boolean +Default: no +.fi +.IP +If this variable is \fIset\fP, NeoMutt will require that all connections +to remote servers be encrypted. Furthermore it will attempt to +negotiate TLS even if the server does not advertise the capability, +since it would otherwise have to abort the connection anyway. This +option supersedes $ssl_starttls. + + +.TP +.B ssl_min_dh_prime_bits +.nf +Type: number +Default: 0 +.fi +.IP +This variable specifies the minimum acceptable prime size (in bits) +for use in any Diffie\-Hellman key exchange. A value of 0 will use +the default from the GNUTLS library. (GnuTLS only) + + +.TP +.B ssl_starttls +.nf +Type: quadoption +Default: yes +.fi +.IP +If \fIset\fP (the default), NeoMutt will attempt to use \fCSTARTTLS\fP on servers +advertising the capability. When \fIunset\fP, NeoMutt will not attempt to +use \fCSTARTTLS\fP regardless of the server's capabilities. +.IP +\fBNote\fP that \fCSTARTTLS\fP is subject to many kinds of +attacks, including the ability of a machine\-in\-the\-middle to +suppress the advertising of support. Setting $ssl_force_tls is +recommended if you rely on \fCSTARTTLS\fP. + + +.TP +.B ssl_use_sslv2 +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP , NeoMutt will use SSLv2 when communicating with servers that +request it. \fBN.B. As of 2011, SSLv2 is considered insecure, and using +is inadvisable. See https://tools.ietf.org/html/rfc6176 .\fP +(OpenSSL only) + + +.TP +.B ssl_use_sslv3 +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP , NeoMutt will use SSLv3 when communicating with servers that +request it. \fBN.B. As of 2015, SSLv3 is considered insecure, and using +it is inadvisable. See https://tools.ietf.org/html/rfc7525 .\fP + + +.TP +.B ssl_use_tlsv1 +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP , NeoMutt will use TLSv1.0 when communicating with servers that +request it. \fBN.B. As of 2015, TLSv1.0 is considered insecure, and using +it is inadvisable. See https://tools.ietf.org/html/rfc7525 .\fP + + +.TP +.B ssl_use_tlsv1_1 +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP , NeoMutt will use TLSv1.1 when communicating with servers that +request it. \fBN.B. As of 2015, TLSv1.1 is considered insecure, and using +it is inadvisable. See https://tools.ietf.org/html/rfc7525 .\fP + + +.TP +.B ssl_use_tlsv1_2 +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP , NeoMutt will use TLSv1.2 when communicating with servers that +request it. + + +.TP +.B ssl_use_tlsv1_3 +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP , NeoMutt will use TLSv1.3 when communicating with servers that +request it. + + +.TP +.B ssl_usesystemcerts +.nf +Type: boolean +Default: yes +.fi +.IP +If set to \fIyes\fP, NeoMutt will use CA certificates in the +system\-wide certificate store when checking if a server certificate +is signed by a trusted CA. (OpenSSL only) + + +.TP +.B ssl_verify_dates +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP (the default), NeoMutt will not automatically accept a server +certificate that is either not yet valid or already expired. You should +only unset this for particular known hosts, using the +\fC\fP function. + + +.TP +.B ssl_verify_host +.nf +Type: boolean +Default: yes +.fi +.IP +If \fIset\fP (the default), NeoMutt will not automatically accept a server +certificate whose host name does not match the host used in your folder +URL. You should only unset this for particular known hosts, using +the \fC\fP function. + + +.TP +.B ssl_verify_partial_chains +.nf +Type: boolean +Default: no +.fi +.IP +This option should not be changed from the default unless you understand +what you are doing. +.IP +Setting this variable to \fIyes\fP will permit verifying partial +certification chains, i. e. a certificate chain where not the root, +but an intermediate certificate CA, or the host certificate, are +marked trusted (in $certificate_file), without marking the root +signing CA as trusted. +.IP +(OpenSSL 1.0.2b and newer only). + + +.TP +.B status_chars +.nf +Type: character string +Default: "\-*%A" +.fi +.IP +Controls the characters used by the "%r" indicator in $status_format. +.RS +.PD 0 +.TP +\fBCharacter\fP +\fBDefault\fP +\fBDescription\fP +.TP +1 +\- +Mailbox is unchanged +.TP +2 +* +Mailbox has been changed and needs to be resynchronized +.TP +3 +% +Mailbox is read\-only, or will not be written when exiting. +(You can toggle whether to write changes to a mailbox +with the \fC\fP operation, bound by default +to "%") +.TP +4 +A +Folder opened in attach\-message mode. +(Certain operations like composing a new mail, replying, +forwarding, etc. are not permitted in this mode) +.RE +.PD 1 + +.TP +.B status_format +.nf +Type: string +Default: "\-%r\-NeoMutt: %D [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]\-\-\-(%s/%S)\-%>\-(%P)\-\-\-" +.fi +.IP +Controls the format of the status line displayed in the "index" +menu. This string is similar to $index_format, but has its own +set of \fCprintf(3)\fP\-like sequences: +.RS +.PD 0 +.TP +%b +* +Number of mailboxes with new mail +.TP +%d +* +Number of deleted messages +.TP +%D + +Description of the mailbox +.TP +%f + +The full pathname of the current mailbox +.TP +%F +* +Number of flagged messages +.TP +%h + +Local hostname +.TP +%l +* +Size (in bytes) of the current mailbox (see formatstrings-size) +.TP +%L +* +Size (in bytes) of the messages shown +(i.e., which match the current limit) (see formatstrings-size) +.TP +%m +* +The number of messages in the mailbox +.TP +%M +* +The number of messages shown (i.e., which match the current limit) +.TP +%n +* +Number of new messages in the mailbox (unread, unseen) +.TP +%o +* +Number of old messages in the mailbox (unread, seen) +.TP +%p +* +Number of postponed messages +.TP +%P + +Percentage of the way through the index +.TP +%r + +Modified/read\-only/won't\-write/attach\-message indicator, +According to $status_chars +.TP +%R +* +Number of read messages in the mailbox (read, seen) +.TP +%s + +Current sorting mode ($sort) +.TP +%S + +Current aux sorting method ($sort_aux) +.TP +%t +* +Number of tagged messages in the mailbox +.TP +%u +* +Number of unread messages in the mailbox (seen or unseen) +.TP +%v + +NeoMutt version string +.TP +%V +* +Currently active limit pattern, if any +.TP +%>X + +Right justify the rest of the string and pad with "X" +.TP +%|X + +Pad to the end of the line with "X" +.TP +%*X + +Soft\-fill with character "X" as pad +.RE +.PD 1 +.IP +For an explanation of "soft\-fill", see the $index_format documentation. +.IP +* = can be optionally printed if nonzero +.IP +Some of the above sequences can be used to optionally print a string +if their value is nonzero. For example, you may only want to see the +number of flagged messages if such messages exist, since zero is not +particularly meaningful. To optionally print a string based upon one +of the above sequences, the following construct is used: +.IP +\fC%???\fP +.IP +where \fIsequence_char\fP is a character from the table above, and +\fIoptional_string\fP is the string you would like printed if +\fIsequence_char\fP is nonzero. \fIoptional_string\fP \fBmay\fP contain +other sequences as well as normal text, but you may \fBnot\fP nest +optional strings. +.IP +Here is an example illustrating how to optionally print the number of +new messages in a mailbox: +.IP +\fC%?n?%n new messages.?\fP +.IP +You can also switch between two strings using the following construct: +.IP +\fC%??&?\fP +.IP +If the value of \fIsequence_char\fP is non\-zero, \fIif_string\fP will +be expanded, otherwise \fIelse_string\fP will be expanded. +.IP +You can force the result of any \fCprintf(3)\fP\-like sequence to be lowercase +by prefixing the sequence character with an underscore ("_") sign. +For example, if you want to display the local hostname in lowercase, +you would use: "\fC%_h\fP". +.IP +If you prefix the sequence character with a colon (":") character, NeoMutt +will replace any dots in the expansion by underscores. This might be helpful +with IMAP folders that don't like dots in folder names. + + +.TP +.B status_on_top +.nf +Type: boolean +Default: no +.fi +.IP +Setting this variable causes the "status bar" to be displayed on +the first line of the screen rather than near the bottom. If $help +is \fIset\fP, too it'll be placed at the bottom. + + +.TP +.B strict_threads +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, threading will only make use of the "In\-Reply\-To" and +"References:" fields when you $sort by message threads. By +default, messages with the same subject are grouped together in +"pseudo threads.". This may not always be desirable, such as in a +personal mailbox where you might have several unrelated messages with +the subjects like "hi" which will get grouped together. See also +$sort_re for a less drastic way of controlling this +behavior. + + +.TP +.B suspend +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIunset\fP, NeoMutt won't stop when the user presses the terminal's +\fIsusp\fP key, usually "^Z". This is useful if you run NeoMutt +inside an xterm using a command like "\fCxterm \-e neomutt\fP". + + +.TP +.B text_flowed +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will generate "format=flowed" bodies with a content type +of "\fCtext/plain; format=flowed\fP". +This format is easier to handle for some mailing software, and generally +just looks like ordinary text. To actually make use of this format's +features, you'll need support in your editor. +.IP +The option only controls newly composed messages. Postponed messages, +resent messages, and draft messages (via \-H on the command line) will +use the content\-type of the source message. +.IP +Note that $indent_string is ignored when this option is \fIset\fP. + + +.TP +.B thorough_search +.nf +Type: boolean +Default: yes +.fi +.IP +Affects the \fC~b\fP and \fC~h\fP search operations described in +section "patterns". If \fIset\fP, the headers and body/attachments of +messages to be searched are decoded before searching. If \fIunset\fP, +messages are searched as they appear in the folder. +.IP +Users searching attachments or for non\-ASCII characters should \fIset\fP +this value because decoding also includes MIME parsing/decoding and possible +character set conversions. Otherwise NeoMutt will attempt to match against the +raw message received (for example quoted\-printable encoded or with encoded +headers) which may lead to incorrect search results. + + +.TP +.B thread_received +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt uses the date received rather than the date sent +to thread messages by subject. + + +.TP +.B tilde +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, the internal\-pager will pad blank lines to the bottom of the +screen with a tilde ("~"). + + +.TP +.B time_inc +.nf +Type: number +Default: 0 +.fi +.IP +Along with $read_inc, $write_inc, and $net_inc, this +variable controls the frequency with which progress updates are +displayed. It suppresses updates less than $time_inc milliseconds +apart. This can improve throughput on systems with slow terminals, +or when running NeoMutt on a remote system. +.IP +Also see the "tuning" section of the manual for performance considerations. + + +.TP +.B timeout +.nf +Type: number +Default: 600 +.fi +.IP +When NeoMutt is waiting for user input either idling in menus or +in an interactive prompt, NeoMutt would block until input is +present. Depending on the context, this would prevent certain +operations from working, like checking for new mail or keeping +an IMAP connection alive. +.IP +This variable controls how many seconds NeoMutt will at most wait +until it aborts waiting for input, performs these operations and +continues to wait for input. +.IP +A value of zero or less will cause NeoMutt to never time out. + + +.TP +.B tmpdir +.nf +Type: path +Default: "/tmp" +.fi +.IP +This variable allows you to specify where NeoMutt will place its +temporary files needed for displaying and composing messages. +.IP +If this variable is not set, the environment variable \fC$TMPDIR\fP is +used. Failing that, then "\fC/tmp\fP" is used. + + +.TP +.B to_chars +.nf +Type: character string +Default: " +TCFLR" +.fi +.IP +Controls the character used to indicate mail addressed to you. +.RS +.PD 0 +.TP +\fBCharacter\fP +\fBDefault\fP +\fBDescription\fP +.TP +1 + +The mail is \fInot\fP addressed to your address. +.TP +2 ++ +You are the only recipient of the message. +.TP +3 +T +Your address appears in the "To:" header field, but you are not the only recipient of the message. +.TP +4 +C +Your address is specified in the "Cc:" header field, but you are not the only recipient. +.TP +5 +F +Indicates the mail that was sent by \fIyou\fP. +.TP +6 +L +Indicates the mail was sent to a mailing\-list you subscribe to. +.TP +7 +R +Your address appears in the "Reply\-To:" header field but none of the above applies. +.RE +.PD 1 + +.TP +.B toggle_quoted_show_levels +.nf +Type: number +Default: 0 +.fi +.IP +Quoted text may be filtered out using the \fC\fP command. +If set to a number greater than 0, then the \fC\fP +command will only filter out quote levels above this number. + + +.TP +.B trash +.nf +Type: mailbox +Default: "" +.fi +.IP +If set, this variable specifies the path of the trash folder where the +mails marked for deletion will be moved, instead of being irremediably +purged. +.IP +NOTE: When you delete a message in the trash folder, it is really +deleted, so that you have a way to clean the trash. + + +.TP +.B ts_enabled +.nf +Type: boolean +Default: no +.fi +.IP +Controls whether NeoMutt tries to set the terminal status line and icon name. +Most terminal emulators emulate the status line in the window title. + + +.TP +.B ts_icon_format +.nf +Type: string +Default: "M%?n?AIL&ail?" +.fi +.IP +Controls the format of the icon title, as long as "$ts_enabled" is set. +This string is identical in formatting to the one used by +"$status_format". + + +.TP +.B ts_status_format +.nf +Type: string +Default: "NeoMutt with %?m?%m messages&no messages?%?n? [%n NEW]?" +.fi +.IP +Controls the format of the terminal status line (or window title), +provided that "$ts_enabled" has been set. This string is identical in +formatting to the one used by "$status_format". + + +.TP +.B tunnel +.nf +Type: command +Default: "" +.fi +.IP +Setting this variable will cause NeoMutt to open a pipe to a command +instead of a raw socket. You may be able to use this to set up +preauthenticated connections to your IMAP/POP3/SMTP server. Example: + +.IP +.EX +set tunnel="ssh \-q mailhost.net /usr/local/libexec/imapd" + +.EE +.IP +Note: For this example to work you must be able to log in to the remote +machine without having to enter a password. +.IP +When set, NeoMutt uses the tunnel for all remote connections. +Please see "account-hook" in the manual for how to use different +tunnel commands per connection. + + +.TP +.B tunnel_is_secure +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will assume the $tunnel connection does not need +STARTTLS to be enabled. It will also allow IMAP PREAUTH server +responses inside a tunnel to proceed. This is appropriate if $tunnel +uses ssh or directly invokes the server locally. +.IP +When \fIunset\fP, NeoMutt will negotiate STARTTLS according to the +ssl_starttls and ssl_force_tls variables. If ssl_force_tls is +set, NeoMutt will abort connecting if an IMAP server responds with PREAUTH. +This setting is appropriate if $tunnel does not provide security and +could be tampered with by attackers. + + +.TP +.B uncollapse_jump +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will jump to the next unread message, if any, +when the current thread is \fIun\fPcollapsed. + + +.TP +.B uncollapse_new +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will automatically uncollapse any collapsed thread +that receives a new message. When \fIunset\fP, collapsed threads will +remain collapsed. the presence of the new message will still affect +index sorting, though. + + +.TP +.B use_8bitmime +.nf +Type: boolean +Default: no +.fi +.IP +\fBWarning:\fP do not set this variable unless you are using a version +of sendmail which supports the \fC\-B8BITMIME\fP flag (such as sendmail +8.8.x) or you may not be able to send mail. +.IP +When \fIset\fP, NeoMutt will invoke $sendmail with the \fC\-B8BITMIME\fP +flag when sending 8\-bit messages to enable ESMTP negotiation. + + +.TP +.B use_domain +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will qualify all local addresses (ones without the +"@host" portion) with the value of $hostname. If \fIunset\fP, no +addresses will be qualified. + + +.TP +.B use_envelope_from +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will set the \fIenvelope\fP sender of the message. +If $envelope_from_address is \fIset\fP, it will be used as the sender +address. If \fIunset\fP, NeoMutt will attempt to derive the sender from the +"From:" header. +.IP +Note that this information is passed to sendmail command using the +\fC\-f\fP command line switch. Therefore setting this option is not useful +if the $sendmail variable already contains \fC\-f\fP or if the +executable pointed to by $sendmail doesn't support the \fC\-f\fP switch. + + +.TP +.B use_from +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will generate the "From:" header field when +sending messages. If \fIunset\fP, no "From:" header field will be +generated unless the user explicitly sets one using the "my_hdr" +command. + + +.TP +.B use_ipv6 +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will look for IPv6 addresses of hosts it tries to +contact. If this option is \fIunset\fP, NeoMutt will restrict itself to IPv4 addresses. +Normally, the default should work. + + +.TP +.B user_agent +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will add a "User\-Agent:" header to outgoing +messages, indicating which version of NeoMutt was used for composing +them. + + +.TP +.B vfolder_format +.nf +Type: string +Default: "%2C %?n?%4n/& ?%4m %f" +.fi +.IP +This variable allows you to customize the file browser display for virtual +folders to your personal taste. This string uses many of the same +expandos as $folder_format. + + +.TP +.B virtual_spoolfile +.nf +Type: boolean +Default: no +.fi +.IP +When \fIset\fP, NeoMutt will use the first defined virtual mailbox (see +virtual\-mailboxes) as a spool file. +.IP +This command is now unnecessary. $spoolfile has been extended to support +mailbox descriptions as a value. + + +.TP +.B visual +.nf +Type: command +Default: "vi" +.fi +.IP +Specifies the visual editor to invoke when the "\fC~v\fP" command is +given in the built\-in editor. +.IP +$visual is overridden by the environment variable \fC$VISUAL\fP or \fC$EDITOR\fP. + + +.TP +.B wait_key +.nf +Type: boolean +Default: yes +.fi +.IP +Controls whether NeoMutt will ask you to press a key after an external command +has been invoked by these functions: \fC\fP, +\fC\fP, \fC\fP, \fC\fP, +and \fC\fP commands. +.IP +It is also used when viewing attachments with "auto_view", provided +that the corresponding mailcap entry has a \fIneedsterminal\fP flag, +and the external program is interactive. +.IP +When \fIset\fP, NeoMutt will always ask for a key. When \fIunset\fP, NeoMutt will wait +for a key only if the external command returned a non\-zero status. + + +.TP +.B weed +.nf +Type: boolean +Default: yes +.fi +.IP +When \fIset\fP, NeoMutt will weed headers when displaying, forwarding, +or replying to messages. +.IP +Also see $copy_decode_weed, $pipe_decode_weed, $print_decode_weed. + + +.TP +.B wrap +.nf +Type: number +Default: 0 +.fi +.IP +When set to a positive value, NeoMutt will wrap text at $wrap characters. +When set to a negative value, NeoMutt will wrap text so that there are $wrap +characters of empty space on the right side of the terminal. Setting it +to zero makes NeoMutt wrap at the terminal width. +.IP +Also see $reflow_wrap. + + +.TP +.B wrap_headers +.nf +Type: number +Default: 78 +.fi +.IP +This option specifies the number of characters to use for wrapping +an outgoing message's headers. Allowed values are between 78 and 998 +inclusive. +.IP +\fBNote:\fP This option usually shouldn't be changed. RFC5233 +recommends a line length of 78 (the default), so \fBplease only change +this setting when you know what you're doing\fP. + + +.TP +.B wrap_search +.nf +Type: boolean +Default: yes +.fi +.IP +Controls whether searches wrap around the end. +.IP +When \fIset\fP, searches will wrap around the first (or last) item. When +\fIunset\fP, incremental searches will not wrap. + + +.TP +.B write_bcc +.nf +Type: boolean +Default: no +.fi +.IP +Controls whether NeoMutt writes out the "Bcc:" header when +preparing messages to be sent. Some MTAs, such as Exim and +Courier, do not strip the "Bcc:" header; so it is advisable to +leave this unset unless you have a particular need for the header +to be in the sent message. +.IP +If NeoMutt is set to deliver directly via SMTP(see $smtp_url), +this option does nothing: NeoMutt will never write out the "Bcc:" +header in this case. +.IP +Note this option only affects the sending of messages. Fcc'ed +copies of a message will always contain the "Bcc:" header if +one exists. + + +.TP +.B write_inc +.nf +Type: number +Default: 10 +.fi +.IP +When writing a mailbox, a message will be printed every +$write_inc messages to indicate progress. If set to 0, only a +single message will be displayed before writing a mailbox. +.IP +Also see the $read_inc, $net_inc and $time_inc variables and the +"tuning" section of the manual for performance considerations. + + +.TP +.B x_comment_to +.nf +Type: boolean +Default: no +.fi +.IP +If \fIset\fP, NeoMutt will add "X\-Comment\-To:" field (that contains full +name of original article author) to article that followuped to newsgroup. + + +.\" -*- nroff -*- +.\" -------------------------------------------------------------------- +.SH SEE ALSO +.\" -------------------------------------------------------------------- +.PP +.\" sorted by category and name +.BR iconv (1), +.BR neomutt (1), +.BR notmuch (1), +.BR iconv (3), +.BR printf (3), +.BR strftime (3), +.BR mailcap (5), +.BR maildir (5), +.BR mbox (5), +.BR regex (7). +. +.PP +For further NeoMutt information: +.RS 4 +.TP +.RI "\(bu the full manual, " "/usr/share/doc/neomutt/manual." { html , pdf , txt } +.TQ +\(bu the home page, +.RE +. +.\" -------------------------------------------------------------------- +.SH AUTHOR +.\" -------------------------------------------------------------------- +.PP +Michael Elkins, and others. Use to contact the +developers. +. diff --git a/community-mod/neomutt/post-install b/community-mod/neomutt/post-install new file mode 100755 index 0000000..f185a00 --- /dev/null +++ b/community-mod/neomutt/post-install @@ -0,0 +1,5 @@ +#!/bin/sh -e + +cat << EOF +You can find some sample neomuttrc files in /usr/share/doc/neomutt/samples. +EOF diff --git a/community-mod/neomutt/sources b/community-mod/neomutt/sources new file mode 100644 index 0000000..d073487 --- /dev/null +++ b/community-mod/neomutt/sources @@ -0,0 +1,3 @@ +https://github.com/neomutt/neomutt/archive/refs/tags/20210205.tar.gz +files/neomutt.1 docs/ +files/neomuttrc.5 docs/ diff --git a/community-mod/neomutt/version b/community-mod/neomutt/version new file mode 100644 index 0000000..5773bfe --- /dev/null +++ b/community-mod/neomutt/version @@ -0,0 +1 @@ +20210205 1 diff --git a/community-mod/neovim/build b/community-mod/neovim/build new file mode 100755 index 0000000..7ccd374 --- /dev/null +++ b/community-mod/neovim/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +# Remove mandatory gettext dependency. +sed -i 's/^/#/' src/nvim/po/CMakeLists.txt + +make \ + CMAKE_BUILD_TYPE=Release \ + CMAKE_INSTALL_PREFIX=/usr \ + CMAKE_INSTALL_LIBDIR=lib \ + -Wno-dev + +make DESTDIR="$1" install diff --git a/community-mod/neovim/checksums b/community-mod/neovim/checksums new file mode 100644 index 0000000..b3b9fb5 --- /dev/null +++ b/community-mod/neovim/checksums @@ -0,0 +1 @@ +2294caa9d2011996499fbd70e4006e4ef55db75b99b6719154c09262e23764ef diff --git a/community-mod/neovim/depends b/community-mod/neovim/depends new file mode 100644 index 0000000..4c9b17b --- /dev/null +++ b/community-mod/neovim/depends @@ -0,0 +1,3 @@ +automake make +cmake make +libtool make diff --git a/community-mod/neovim/sources b/community-mod/neovim/sources new file mode 100644 index 0000000..d76aa6d --- /dev/null +++ b/community-mod/neovim/sources @@ -0,0 +1 @@ +https://github.com/neovim/neovim/archive/refs/tags/v0.5.0.tar.gz diff --git a/community-mod/neovim/version b/community-mod/neovim/version new file mode 100644 index 0000000..0c9ae2a --- /dev/null +++ b/community-mod/neovim/version @@ -0,0 +1 @@ +0.5.0 1 diff --git a/community-mod/nettle/build b/community-mod/nettle/build new file mode 100755 index 0000000..32a7795 --- /dev/null +++ b/community-mod/nettle/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-shared \ + --enable-static \ + --enable-mini-gmp \ + --disable-documentation + +make +make DESTDIR="$1" install diff --git a/community-mod/nettle/checksums b/community-mod/nettle/checksums new file mode 100644 index 0000000..fc61251 --- /dev/null +++ b/community-mod/nettle/checksums @@ -0,0 +1 @@ +661f5eb03f048a3b924c3a8ad2515d4068e40f67e774e8a26827658007e3bcf0 diff --git a/community-mod/nettle/sources b/community-mod/nettle/sources new file mode 100644 index 0000000..67ee87d --- /dev/null +++ b/community-mod/nettle/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/nettle/nettle-3.7.3.tar.gz diff --git a/community-mod/nettle/version b/community-mod/nettle/version new file mode 100644 index 0000000..3f0b66c --- /dev/null +++ b/community-mod/nettle/version @@ -0,0 +1 @@ +3.7.3 1 diff --git a/community-mod/nfs-utils/build b/community-mod/nfs-utils/build new file mode 100755 index 0000000..f213af7 --- /dev/null +++ b/community-mod/nfs-utils/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-nfsv4 \ + --disable-gss \ + --disable-uuid \ + --sbindir=/usr/bin + +sed -i "s|sbindir = /sbin|sbindir = /usr/bin|" ./utils/mount/Makefile + +make +make DESTDIR="$1" install diff --git a/community-mod/nfs-utils/checksums b/community-mod/nfs-utils/checksums new file mode 100644 index 0000000..e77c48c --- /dev/null +++ b/community-mod/nfs-utils/checksums @@ -0,0 +1 @@ +b54d6d8ea2ee62d64111278301ba4631b7bb19174e7f717a724fe5d463900c80 diff --git a/community-mod/nfs-utils/depends b/community-mod/nfs-utils/depends new file mode 100644 index 0000000..9cfea4b --- /dev/null +++ b/community-mod/nfs-utils/depends @@ -0,0 +1,2 @@ +libtirpc +rpcsvc-proto diff --git a/community-mod/nfs-utils/sources b/community-mod/nfs-utils/sources new file mode 100644 index 0000000..6e6441b --- /dev/null +++ b/community-mod/nfs-utils/sources @@ -0,0 +1 @@ +https://www.kernel.org/pub/linux/utils/nfs-utils/2.5.3/nfs-utils-2.5.3.tar.xz diff --git a/community-mod/nfs-utils/version b/community-mod/nfs-utils/version new file mode 100644 index 0000000..6a63654 --- /dev/null +++ b/community-mod/nfs-utils/version @@ -0,0 +1 @@ +2.5.3 1 diff --git a/community-mod/nmap/build b/community-mod/nmap/build new file mode 100755 index 0000000..148d62c --- /dev/null +++ b/community-mod/nmap/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --without-zenmap + +make +make DESTDIR="$1" install diff --git a/community-mod/nmap/checksums b/community-mod/nmap/checksums new file mode 100644 index 0000000..dc2836b --- /dev/null +++ b/community-mod/nmap/checksums @@ -0,0 +1 @@ +18cc4b5070511c51eb243cdd2b0b30ff9b2c4dc4544c6312f75ce3a67a593300 nmap-7.91.tar.bz2 diff --git a/community-mod/nmap/sources b/community-mod/nmap/sources new file mode 100644 index 0000000..40fc760 --- /dev/null +++ b/community-mod/nmap/sources @@ -0,0 +1 @@ +https://nmap.org/dist/nmap-7.91.tar.bz2 diff --git a/community-mod/nmap/version b/community-mod/nmap/version new file mode 100644 index 0000000..f6d2f1b --- /dev/null +++ b/community-mod/nmap/version @@ -0,0 +1 @@ +7.91 1 diff --git a/community-mod/nss/build b/community-mod/nss/build new file mode 100755 index 0000000..2524795 --- /dev/null +++ b/community-mod/nss/build @@ -0,0 +1,49 @@ +#!/bin/sh -e + +export NSS_USE_SYSTEM_SQLITE=1 +export NSS_ENABLE_WERROR=0 +export USE_64=1 +export BUILD_OPT=1 +export CC="${CC:-cc}" +export CCC="${CXX:-c++}" +export CXX="${CXX:-c++}" + +make -j1 -C nss nss_build_all + +# TODO: Maybe install the NSS binaries. They're uneeded +# right now as we handle certs differently. +# +# TODO: Maybe install nss-config. Nothing uses it yet +# and this build system is terrible so shhh. +install -Dt "$1/usr/include/nss" -m644 dist/public/nss/*.h +install -Dt "$1/usr/include/nss" -m644 dist/Linux*/include/*.h +install -Dt "$1/usr/lib" dist/Linux*/lib/*.so +install -Dt "$1/usr/lib" -m644 dist/Linux*/lib/*.chk + +# Yucky. This is needed by qtwebengine. +install -Dt "$1/usr/include/nss/obsolete" \ + -m644 dist/Linux*/include/obsolete/*.h + +# Install the NSPR files. This is a joint package as I'd +# rather not juggle which version of NSPR works best with NSS. +install -Dt "$1/usr/include/nspr" -m644 nspr/pr/include/*.h +install -Dt "$1/usr/include/nspr" -m644 nspr/lib/*/*.h + +# Disgusting. Disgusting. Disgusting. Disgusting. Disgusting. +find nspr/Linux* -name \*.so \ + -exec install -Dt "$1/usr/lib" {} \; + +# This is disgusting and I hate this package with a passion. +sed nss/pkg/pkg-config/nss.pc.in \ + -e "s,%libdir%,/usr/lib,g" \ + -e "s,%prefix%,/usr,g" \ + -e "s,%exec_prefix%,/usr/bin,g" \ + -e "s,%includedir%,/usr/include/nss,g" \ + -e "s,%NSPR_VERSION%,4.29,g" \ + -e "s,%NSS_VERSION%,3.67,g" | +install -Dm644 /dev/stdin "$1/usr/lib/pkgconfig/nss.pc" + +# This is disgusting and I hate this package with a passion. +sed nspr/Linux*/config/nspr.pc \ + -e "s,/usr/local,/usr,g" | +install -Dm644 /dev/stdin "$1/usr/lib/pkgconfig/nspr.pc" diff --git a/community-mod/nss/checksums b/community-mod/nss/checksums new file mode 100644 index 0000000..fde61a7 --- /dev/null +++ b/community-mod/nss/checksums @@ -0,0 +1 @@ +683a4fc92aad224fde8ba18d49bdbc6ef93716731167d4e85d5654765162f042 diff --git a/community-mod/nss/depends b/community-mod/nss/depends new file mode 100644 index 0000000..48065a6 --- /dev/null +++ b/community-mod/nss/depends @@ -0,0 +1,4 @@ +linux-headers make +perl make +sqlite +zlib diff --git a/community-mod/nss/sources b/community-mod/nss/sources new file mode 100644 index 0000000..d8d1de1 --- /dev/null +++ b/community-mod/nss/sources @@ -0,0 +1 @@ +https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_67_RTM/src/nss-3.67-with-nspr-4.29.tar.gz diff --git a/community-mod/nss/version b/community-mod/nss/version new file mode 100644 index 0000000..abac1f1 --- /dev/null +++ b/community-mod/nss/version @@ -0,0 +1 @@ +3.67 1 diff --git a/community-mod/nvme-cli/build b/community-mod/nvme-cli/build new file mode 100755 index 0000000..89fdd15 --- /dev/null +++ b/community-mod/nvme-cli/build @@ -0,0 +1,16 @@ +#!/bin/sh -e + +# Makefile uses a flag which is incompatible with busybox. +sed -i 's/644 -T/644 /g' Makefile + +# Build is broken with GCC 11 +sed -i '//a #include ' nvme.h + +make +make PREFIX=/usr SBINDIR=/usr/bin DESTDIR="$1" install + +# Remove systemd, dracut and autocompletion files +rm -rf "$1/usr/lib" +rm -rf "$1/etc/udev" +rm -rf "$1/usr/share/zsh" +rm -rf "$1/usr/share/bash-completion" diff --git a/community-mod/nvme-cli/checksums b/community-mod/nvme-cli/checksums new file mode 100644 index 0000000..72f3507 --- /dev/null +++ b/community-mod/nvme-cli/checksums @@ -0,0 +1 @@ +07ead5e006212310c424526c84b2ea2822677225e030a75ca96a7f8b48d786bb diff --git a/community-mod/nvme-cli/depends b/community-mod/nvme-cli/depends new file mode 100644 index 0000000..c4f3a54 --- /dev/null +++ b/community-mod/nvme-cli/depends @@ -0,0 +1,2 @@ +pkgconf make +util-linux diff --git a/community-mod/nvme-cli/sources b/community-mod/nvme-cli/sources new file mode 100644 index 0000000..f3eda48 --- /dev/null +++ b/community-mod/nvme-cli/sources @@ -0,0 +1 @@ +https://github.com/linux-nvme/nvme-cli/archive/v1.14.tar.gz diff --git a/community-mod/nvme-cli/version b/community-mod/nvme-cli/version new file mode 100644 index 0000000..cfaaf4d --- /dev/null +++ b/community-mod/nvme-cli/version @@ -0,0 +1 @@ +1.14 1 diff --git a/community-mod/oath-toolkit/build b/community-mod/oath-toolkit/build new file mode 100755 index 0000000..4a259bc --- /dev/null +++ b/community-mod/oath-toolkit/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-pam + +make +make DESTDIR="$1" install diff --git a/community-mod/oath-toolkit/checksums b/community-mod/oath-toolkit/checksums new file mode 100644 index 0000000..dad3aa4 --- /dev/null +++ b/community-mod/oath-toolkit/checksums @@ -0,0 +1 @@ +36eddfce8f2f36347fb257dbf878ba0303a2eaafe24eaa071d5cd302261046a9 diff --git a/community-mod/oath-toolkit/depends b/community-mod/oath-toolkit/depends new file mode 100644 index 0000000..a7a81b1 --- /dev/null +++ b/community-mod/oath-toolkit/depends @@ -0,0 +1,2 @@ +libtool make +xmlsec1 diff --git a/community-mod/oath-toolkit/sources b/community-mod/oath-toolkit/sources new file mode 100644 index 0000000..e0161dc --- /dev/null +++ b/community-mod/oath-toolkit/sources @@ -0,0 +1 @@ +https://download.savannah.nongnu.org/releases/oath-toolkit/oath-toolkit-2.6.7.tar.gz diff --git a/community-mod/oath-toolkit/version b/community-mod/oath-toolkit/version new file mode 100644 index 0000000..71897f1 --- /dev/null +++ b/community-mod/oath-toolkit/version @@ -0,0 +1 @@ +2.6.7 1 diff --git a/community-mod/oed/build b/community-mod/oed/build new file mode 100755 index 0000000..c477e86 --- /dev/null +++ b/community-mod/oed/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --mandir=/usr/share/man \ + --prefix=/usr \ + --program-name=ed + +make +make DESTDIR="$1" install diff --git a/community-mod/oed/checksums b/community-mod/oed/checksums new file mode 100644 index 0000000..f094672 --- /dev/null +++ b/community-mod/oed/checksums @@ -0,0 +1 @@ +ce9bffe0c500015ef1b9745897c2e94fb65105b7ff0258d0dd362e994fea2a85 oed-6.7.tar.gz diff --git a/community-mod/oed/sources b/community-mod/oed/sources new file mode 100644 index 0000000..356369c --- /dev/null +++ b/community-mod/oed/sources @@ -0,0 +1 @@ +https://github.com/ibara/oed/releases/download/oed-6.7/oed-6.7.tar.gz diff --git a/community-mod/oed/version b/community-mod/oed/version new file mode 100644 index 0000000..7662cc8 --- /dev/null +++ b/community-mod/oed/version @@ -0,0 +1 @@ +6.7 1 diff --git a/community-mod/oksh/build b/community-mod/oksh/build new file mode 100755 index 0000000..9cbf8f3 --- /dev/null +++ b/community-mod/oksh/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +# We have an alternative system, use "ksh" and "sh" as binary names. +./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --mandir=/usr/share/man \ + --enable-ksh \ + --enable-sh + +make +make DESTDIR="$1" install diff --git a/community-mod/oksh/checksums b/community-mod/oksh/checksums new file mode 100644 index 0000000..9e3d1ce --- /dev/null +++ b/community-mod/oksh/checksums @@ -0,0 +1 @@ +c08d97b2ac9ee5d88e9e508d27c75502b2d06c20d4c5ab87b496cb3b9951bd35 diff --git a/community-mod/oksh/depends b/community-mod/oksh/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/oksh/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/oksh/post-install b/community-mod/oksh/post-install new file mode 100755 index 0000000..6d77721 --- /dev/null +++ b/community-mod/oksh/post-install @@ -0,0 +1,4 @@ +#!/bin/sh -e + +grep -qFx /usr/bin/ksh /etc/shells || + printf /usr/bin/ksh\\n >>/etc/shells diff --git a/community-mod/oksh/sources b/community-mod/oksh/sources new file mode 100644 index 0000000..67e2b3a --- /dev/null +++ b/community-mod/oksh/sources @@ -0,0 +1 @@ +https://github.com/ibara/oksh/releases/download/oksh-6.9/oksh-6.9.tar.gz diff --git a/community-mod/oksh/version b/community-mod/oksh/version new file mode 100644 index 0000000..3957d4e --- /dev/null +++ b/community-mod/oksh/version @@ -0,0 +1 @@ +6.9 1 diff --git a/community-mod/openjpeg2/build b/community-mod/openjpeg2/build new file mode 100755 index 0000000..5332ac4 --- /dev/null +++ b/community-mod/openjpeg2/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/community-mod/openjpeg2/checksums b/community-mod/openjpeg2/checksums new file mode 100644 index 0000000..0c8061d --- /dev/null +++ b/community-mod/openjpeg2/checksums @@ -0,0 +1 @@ +8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d diff --git a/community-mod/openjpeg2/depends b/community-mod/openjpeg2/depends new file mode 100644 index 0000000..385f4dd --- /dev/null +++ b/community-mod/openjpeg2/depends @@ -0,0 +1,5 @@ +libpng +tiff +lcms +cmake make +zlib diff --git a/community-mod/openjpeg2/sources b/community-mod/openjpeg2/sources new file mode 100644 index 0000000..027f57e --- /dev/null +++ b/community-mod/openjpeg2/sources @@ -0,0 +1 @@ +https://github.com/uclouvain/openjpeg/archive/v2.4.0.tar.gz diff --git a/community-mod/openjpeg2/version b/community-mod/openjpeg2/version new file mode 100644 index 0000000..36c97d9 --- /dev/null +++ b/community-mod/openjpeg2/version @@ -0,0 +1 @@ +2.4.0 1 diff --git a/community-mod/openvpn/build b/community-mod/openvpn/build new file mode 100755 index 0000000..d7d4abe --- /dev/null +++ b/community-mod/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/community-mod/openvpn/checksums b/community-mod/openvpn/checksums new file mode 100644 index 0000000..a909813 --- /dev/null +++ b/community-mod/openvpn/checksums @@ -0,0 +1 @@ +40930489c837c05f6153f38e1ebaec244431ef1a034e4846ff732d71d59ff194 diff --git a/community-mod/openvpn/depends b/community-mod/openvpn/depends new file mode 100644 index 0000000..73cd55c --- /dev/null +++ b/community-mod/openvpn/depends @@ -0,0 +1,2 @@ +lzo +pkcs11-helper diff --git a/community-mod/openvpn/sources b/community-mod/openvpn/sources new file mode 100644 index 0000000..a55a5c9 --- /dev/null +++ b/community-mod/openvpn/sources @@ -0,0 +1 @@ +https://swupdate.openvpn.org/community/releases/openvpn-2.5.1.tar.xz diff --git a/community-mod/openvpn/version b/community-mod/openvpn/version new file mode 100644 index 0000000..9ba16f5 --- /dev/null +++ b/community-mod/openvpn/version @@ -0,0 +1 @@ +2.5.1 1 diff --git a/community-mod/optipng/build b/community-mod/optipng/build new file mode 100755 index 0000000..5fcf83e --- /dev/null +++ b/community-mod/optipng/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --with-system-libs + +make +make DESTDIR="$1" install diff --git a/community-mod/optipng/checksums b/community-mod/optipng/checksums new file mode 100644 index 0000000..a896211 --- /dev/null +++ b/community-mod/optipng/checksums @@ -0,0 +1 @@ +4f32f233cef870b3f95d3ad6428bfe4224ef34908f1b42b0badf858216654452 diff --git a/community-mod/optipng/depends b/community-mod/optipng/depends new file mode 100644 index 0000000..071aca2 --- /dev/null +++ b/community-mod/optipng/depends @@ -0,0 +1,2 @@ +libpng +zlib diff --git a/community-mod/optipng/sources b/community-mod/optipng/sources new file mode 100644 index 0000000..5fad921 --- /dev/null +++ b/community-mod/optipng/sources @@ -0,0 +1 @@ +https://prdownloads.sourceforge.net/optipng/optipng-0.7.7.tar.gz diff --git a/community-mod/optipng/version b/community-mod/optipng/version new file mode 100644 index 0000000..543d7ac --- /dev/null +++ b/community-mod/optipng/version @@ -0,0 +1 @@ +0.7.7 1 diff --git a/community-mod/p11-kit/build b/community-mod/p11-kit/build new file mode 100755 index 0000000..9374807 --- /dev/null +++ b/community-mod/p11-kit/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + . output + +ninja -C output +ninja -C output install diff --git a/community-mod/p11-kit/checksums b/community-mod/p11-kit/checksums new file mode 100644 index 0000000..c1ef7c0 --- /dev/null +++ b/community-mod/p11-kit/checksums @@ -0,0 +1 @@ +81e6140584f635e4e956a1b93a32239acf3811ff5b2d3a5c6094e94e99d2c685 diff --git a/community-mod/p11-kit/depends b/community-mod/p11-kit/depends new file mode 100644 index 0000000..1c6c245 --- /dev/null +++ b/community-mod/p11-kit/depends @@ -0,0 +1,2 @@ +libffi +meson make diff --git a/community-mod/p11-kit/sources b/community-mod/p11-kit/sources new file mode 100644 index 0000000..f27b748 --- /dev/null +++ b/community-mod/p11-kit/sources @@ -0,0 +1 @@ +https://github.com/p11-glue/p11-kit/releases/download/0.24.0/p11-kit-0.24.0.tar.xz diff --git a/community-mod/p11-kit/version b/community-mod/p11-kit/version new file mode 100644 index 0000000..f5001f0 --- /dev/null +++ b/community-mod/p11-kit/version @@ -0,0 +1 @@ +0.24.0 1 diff --git a/community-mod/patch/build b/community-mod/patch/build new file mode 100755 index 0000000..206a476 --- /dev/null +++ b/community-mod/patch/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/patch/checksums b/community-mod/patch/checksums new file mode 100644 index 0000000..584ddee --- /dev/null +++ b/community-mod/patch/checksums @@ -0,0 +1 @@ +ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd patch-2.7.6.tar.xz diff --git a/community-mod/patch/sources b/community-mod/patch/sources new file mode 100644 index 0000000..4587831 --- /dev/null +++ b/community-mod/patch/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/patch/patch-2.7.6.tar.xz diff --git a/community-mod/patch/version b/community-mod/patch/version new file mode 100644 index 0000000..6f36a2e --- /dev/null +++ b/community-mod/patch/version @@ -0,0 +1 @@ +2.7.6 1 diff --git a/community-mod/pciutils/build b/community-mod/pciutils/build new file mode 100755 index 0000000..6bc921d --- /dev/null +++ b/community-mod/pciutils/build @@ -0,0 +1,20 @@ +#!/bin/sh -e + +mk() { + make \ + CC="${CC:-cc}" \ + OPT="$CFLAGS -fPIC" \ + ZLIB=yes \ + PREFIX=/usr \ + SBINDIR=/usr/bin \ + SHAREDIR=/usr/share/hwdata \ + "$@" +} + + +for shared in yes no; do ( + cd "$shared" + + mk SHARED="$shared" + mk SHARED="$shared" DESTDIR="$1" install install-lib +) done diff --git a/community-mod/pciutils/checksums b/community-mod/pciutils/checksums new file mode 100644 index 0000000..415a88c --- /dev/null +++ b/community-mod/pciutils/checksums @@ -0,0 +1,2 @@ +2432e7a2e12000502d36cf769ab6e5a0cf4931e5050ccaf8b02984b2d3cb0948 pciutils-3.7.0.tar.gz +2432e7a2e12000502d36cf769ab6e5a0cf4931e5050ccaf8b02984b2d3cb0948 pciutils-3.7.0.tar.gz diff --git a/community-mod/pciutils/depends b/community-mod/pciutils/depends new file mode 100644 index 0000000..f22003e --- /dev/null +++ b/community-mod/pciutils/depends @@ -0,0 +1 @@ +zlib diff --git a/community-mod/pciutils/sources b/community-mod/pciutils/sources new file mode 100644 index 0000000..d098e75 --- /dev/null +++ b/community-mod/pciutils/sources @@ -0,0 +1,2 @@ +https://www.kernel.org/pub/software/utils/pciutils/pciutils-3.7.0.tar.gz yes +https://www.kernel.org/pub/software/utils/pciutils/pciutils-3.7.0.tar.gz no diff --git a/community-mod/pciutils/version b/community-mod/pciutils/version new file mode 100644 index 0000000..ffa17dd --- /dev/null +++ b/community-mod/pciutils/version @@ -0,0 +1 @@ +3.7.0 1 diff --git a/community-mod/pcre/build b/community-mod/pcre/build new file mode 100755 index 0000000..9e66a4b --- /dev/null +++ b/community-mod/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/community-mod/pcre/checksums b/community-mod/pcre/checksums new file mode 100644 index 0000000..9d61417 --- /dev/null +++ b/community-mod/pcre/checksums @@ -0,0 +1 @@ +aecafd4af3bd0f3935721af77b889d9024b2e01d96b58471bd91a3063fb47728 pcre-8.44.tar.gz diff --git a/community-mod/pcre/sources b/community-mod/pcre/sources new file mode 100644 index 0000000..3824807 --- /dev/null +++ b/community-mod/pcre/sources @@ -0,0 +1 @@ +https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz diff --git a/community-mod/pcre/version b/community-mod/pcre/version new file mode 100644 index 0000000..7c59171 --- /dev/null +++ b/community-mod/pcre/version @@ -0,0 +1 @@ +8.44 1 diff --git a/community-mod/pcre2/build b/community-mod/pcre2/build new file mode 100755 index 0000000..f086ea7 --- /dev/null +++ b/community-mod/pcre2/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-jit + +make +make DESTDIR="$1" install diff --git a/community-mod/pcre2/checksums b/community-mod/pcre2/checksums new file mode 100644 index 0000000..9794f48 --- /dev/null +++ b/community-mod/pcre2/checksums @@ -0,0 +1 @@ +a9ef39278113542968c7c73a31cfcb81aca1faa64690f400b907e8ab6b4a665c diff --git a/community-mod/pcre2/sources b/community-mod/pcre2/sources new file mode 100644 index 0000000..2958d81 --- /dev/null +++ b/community-mod/pcre2/sources @@ -0,0 +1 @@ +https://ftp.pcre.org/pub/pcre/pcre2-10.36.tar.bz2 diff --git a/community-mod/pcre2/version b/community-mod/pcre2/version new file mode 100644 index 0000000..825cf77 --- /dev/null +++ b/community-mod/pcre2/version @@ -0,0 +1 @@ +10.36 1 diff --git a/community-mod/pfetch/build b/community-mod/pfetch/build new file mode 100755 index 0000000..d033dd4 --- /dev/null +++ b/community-mod/pfetch/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +install -Dm 755 pfetch "$1/usr/bin/pfetch" diff --git a/community-mod/pfetch/checksums b/community-mod/pfetch/checksums new file mode 100644 index 0000000..61c6944 --- /dev/null +++ b/community-mod/pfetch/checksums @@ -0,0 +1 @@ +d1f611e61c1f8ae55bd14f8f6054d06fcb9a2d973095367c1626842db66b3182 0.6.0.tar.gz diff --git a/community-mod/pfetch/sources b/community-mod/pfetch/sources new file mode 100644 index 0000000..f2c2556 --- /dev/null +++ b/community-mod/pfetch/sources @@ -0,0 +1 @@ +https://github.com/dylanaraps/pfetch/archive/0.6.0.tar.gz diff --git a/community-mod/pfetch/version b/community-mod/pfetch/version new file mode 100644 index 0000000..eb13fd2 --- /dev/null +++ b/community-mod/pfetch/version @@ -0,0 +1 @@ +0.6.0 1 diff --git a/community-mod/picom/build b/community-mod/picom/build new file mode 100755 index 0000000..39599ad --- /dev/null +++ b/community-mod/picom/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + -Ddbus=false \ + -Dregex=false \ + . build + +ninja -C build +ninja -C build install diff --git a/community-mod/picom/checksums b/community-mod/picom/checksums new file mode 100644 index 0000000..d44e355 --- /dev/null +++ b/community-mod/picom/checksums @@ -0,0 +1 @@ +9d0c2533985e9670ff175e717a42b5bf1a2a00ccde5cac1e1009f5d6ee7912ec diff --git a/community-mod/picom/depends b/community-mod/picom/depends new file mode 100644 index 0000000..a6bdc60 --- /dev/null +++ b/community-mod/picom/depends @@ -0,0 +1,8 @@ +libconfig +libev +meson make +pixman +pkgconf make +uthash make +xcb-util-image +xcb-util-renderutil diff --git a/community-mod/picom/sources b/community-mod/picom/sources new file mode 100644 index 0000000..3039165 --- /dev/null +++ b/community-mod/picom/sources @@ -0,0 +1 @@ +https://github.com/yshui/picom/archive/v8.2.tar.gz diff --git a/community-mod/picom/version b/community-mod/picom/version new file mode 100644 index 0000000..2ca496f --- /dev/null +++ b/community-mod/picom/version @@ -0,0 +1 @@ +8.2 1 diff --git a/community-mod/pkcs11-helper/build b/community-mod/pkcs11-helper/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/pkcs11-helper/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/pkcs11-helper/checksums b/community-mod/pkcs11-helper/checksums new file mode 100644 index 0000000..a8e60e7 --- /dev/null +++ b/community-mod/pkcs11-helper/checksums @@ -0,0 +1 @@ +653730f0c561bbf5941754c0783976113589b2dc64a0661c908dc878bfa4e58b diff --git a/community-mod/pkcs11-helper/depends b/community-mod/pkcs11-helper/depends new file mode 100644 index 0000000..2996edd --- /dev/null +++ b/community-mod/pkcs11-helper/depends @@ -0,0 +1 @@ +lzo diff --git a/community-mod/pkcs11-helper/sources b/community-mod/pkcs11-helper/sources new file mode 100644 index 0000000..70f5e65 --- /dev/null +++ b/community-mod/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/community-mod/pkcs11-helper/version b/community-mod/pkcs11-helper/version new file mode 100644 index 0000000..6a78dc9 --- /dev/null +++ b/community-mod/pkcs11-helper/version @@ -0,0 +1 @@ +1.27.0 1 diff --git a/community-mod/poppler-data/build b/community-mod/poppler-data/build new file mode 100755 index 0000000..0fa9b71 --- /dev/null +++ b/community-mod/poppler-data/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make prefix=/usr DESTDIR="$1" install diff --git a/community-mod/poppler-data/checksums b/community-mod/poppler-data/checksums new file mode 100644 index 0000000..bf31b19 --- /dev/null +++ b/community-mod/poppler-data/checksums @@ -0,0 +1 @@ +6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30 diff --git a/community-mod/poppler-data/sources b/community-mod/poppler-data/sources new file mode 100644 index 0000000..6697a5f --- /dev/null +++ b/community-mod/poppler-data/sources @@ -0,0 +1 @@ +https://poppler.freedesktop.org/poppler-data-0.4.10.tar.gz diff --git a/community-mod/poppler-data/version b/community-mod/poppler-data/version new file mode 100644 index 0000000..4c12412 --- /dev/null +++ b/community-mod/poppler-data/version @@ -0,0 +1 @@ +0.4.10 1 diff --git a/community-mod/poppler/build b/community-mod/poppler/build new file mode 100755 index 0000000..2c2e2ad --- /dev/null +++ b/community-mod/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/community-mod/poppler/checksums b/community-mod/poppler/checksums new file mode 100644 index 0000000..d2ba713 --- /dev/null +++ b/community-mod/poppler/checksums @@ -0,0 +1 @@ +e26ab29f68065de4d6562f0a3e2b5435a83ca92be573b99a1c81998fa286a4d4 diff --git a/community-mod/poppler/depends b/community-mod/poppler/depends new file mode 100644 index 0000000..4443109 --- /dev/null +++ b/community-mod/poppler/depends @@ -0,0 +1,4 @@ +cmake make +fontconfig +openjpeg2 +pkgconf make diff --git a/community-mod/poppler/sources b/community-mod/poppler/sources new file mode 100644 index 0000000..6d2b854 --- /dev/null +++ b/community-mod/poppler/sources @@ -0,0 +1 @@ +https://poppler.freedesktop.org/poppler-21.07.0.tar.xz diff --git a/community-mod/poppler/version b/community-mod/poppler/version new file mode 100644 index 0000000..683d00a --- /dev/null +++ b/community-mod/poppler/version @@ -0,0 +1 @@ +21.07.0 1 diff --git a/community-mod/popt/build b/community-mod/popt/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/popt/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/popt/checksums b/community-mod/popt/checksums new file mode 100644 index 0000000..2c445fa --- /dev/null +++ b/community-mod/popt/checksums @@ -0,0 +1 @@ +5159bc03a20b28ce363aa96765f37df99ea4d8850b1ece17d1e6ad5c24fdc5d1 popt-1.18.tar.gz diff --git a/community-mod/popt/sources b/community-mod/popt/sources new file mode 100644 index 0000000..b3f0814 --- /dev/null +++ b/community-mod/popt/sources @@ -0,0 +1 @@ +https://fossies.org/linux/misc/popt-1.18.tar.gz diff --git a/community-mod/popt/version b/community-mod/popt/version new file mode 100644 index 0000000..4fd73f1 --- /dev/null +++ b/community-mod/popt/version @@ -0,0 +1 @@ +1.18 1 diff --git a/community-mod/postgresql/build b/community-mod/postgresql/build new file mode 100755 index 0000000..0b4124d --- /dev/null +++ b/community-mod/postgresql/build @@ -0,0 +1,22 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --enable-thread-safety \ + --with-libedit-preferred \ + --with-openssl \ + --with-uuid=e2fs \ + --with-llvm + +make world +make DESTDIR="$1" install + +install -Dm644 postgresqld.conf "$1/etc/default/postgresql" + +install -Dm644 "$1/usr/share/postgresql/postgresql.conf.sample" \ + "$1/etc/postgresql/postgresql.conf" + +install -Dm755 postgresql.run "$1/etc/sv/postgresql/run" +ln -s /run/runit/supervise.postgresql "$1/etc/sv/postgresql/supervise" diff --git a/community-mod/postgresql/checksums b/community-mod/postgresql/checksums new file mode 100644 index 0000000..e70ef3e --- /dev/null +++ b/community-mod/postgresql/checksums @@ -0,0 +1,3 @@ +0b54a8a68dbfaf5dcddd89eb3922740143df50fbea02fefda8de743d8af99516 +5f7540549d92d9579f3e2e1e09e8b47b51c62964ab67e7cf90c3fdc28f92d65f +e75f6bb86488cbf2e2efcf91f753cae1d7f9879d5687bfe954ffed52338dd580 diff --git a/community-mod/postgresql/depends b/community-mod/postgresql/depends new file mode 100644 index 0000000..991a1b6 --- /dev/null +++ b/community-mod/postgresql/depends @@ -0,0 +1,5 @@ +clang make +libedit +llvm +python +zlib diff --git a/community-mod/postgresql/files/postgresql.run b/community-mod/postgresql/files/postgresql.run new file mode 100755 index 0000000..2b721ba --- /dev/null +++ b/community-mod/postgresql/files/postgresql.run @@ -0,0 +1,27 @@ +#!/bin/sh + +. /etc/default/postgresql + +PGDATA="${PGDATA:-"$PGROOT/data"}" + +if [ "$PGROOT" != "/var/lib/postgresql" ]; then + # Remove /var/lib/postgres if empty dir, but not if symlink + if [ ! -L /var/lib/postgres ] && [ -d /var/lib/postgres ]; then + rmdir /var/lib/postgres + fi + + ln -sf "$PGROOT" /var/lib/postgresql +fi + +if [ ! -d "$PGDATA" ]; then + mkdir -p "$PGDATA" + chown -R postgres:postgres "$PGDATA" + chmod 0700 "$PGDATA" + su - postgres -c "/usr/bin/initdb $INITOPTS -D '$PGDATA'" >/dev/null + + if [ -f /etc/postgresql/postgresql.conf ]; then + ln -sf /etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf" + fi +fi + +exec chpst -u postgres:postgres postgres -D "$PGDATA" $PGOPTS diff --git a/community-mod/postgresql/files/postgresqld.conf b/community-mod/postgresql/files/postgresqld.conf new file mode 100644 index 0000000..2a3cd14 --- /dev/null +++ b/community-mod/postgresql/files/postgresqld.conf @@ -0,0 +1,17 @@ +# Configuration file for the PostgreSQL server. + +# PostgreSQL's database directory +PGROOT="/var/lib/postgresql" + +# PostgreSQL's log file. +PGLOG="/var/log/postgresql.log" + +# Passed to initdb if necessary +INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8" + +# Extra options to run postmaster with, e.g.: +# -N is the maximal number of client connections +# -B is the number of shared buffers and has to be at least 2x the value for -N +# Please read the man-page to postmaster for more options. Many of these options +# can be set directly in the configuration-file. +#PGOPTS="-N 512 -B 1024" diff --git a/community-mod/postgresql/post-install b/community-mod/postgresql/post-install new file mode 100755 index 0000000..0d80598 --- /dev/null +++ b/community-mod/postgresql/post-install @@ -0,0 +1,7 @@ +#!/bin/sh -e + +cat <' proc/escape.c + +make CCLD="${CC:-cc} -all-static" +make DESTDIR="$1" install diff --git a/community-mod/procps-ng/checksums b/community-mod/procps-ng/checksums new file mode 100644 index 0000000..f0d4ffa --- /dev/null +++ b/community-mod/procps-ng/checksums @@ -0,0 +1 @@ +4518b3e7aafd34ec07d0063d250fd474999b20b200218c3ae56f5d2113f141b4 diff --git a/community-mod/procps-ng/depends b/community-mod/procps-ng/depends new file mode 100644 index 0000000..2392c85 --- /dev/null +++ b/community-mod/procps-ng/depends @@ -0,0 +1 @@ +ncurses make diff --git a/community-mod/procps-ng/sources b/community-mod/procps-ng/sources new file mode 100644 index 0000000..7af0ea7 --- /dev/null +++ b/community-mod/procps-ng/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-3.3.17.tar.xz diff --git a/community-mod/procps-ng/version b/community-mod/procps-ng/version new file mode 100644 index 0000000..18737f8 --- /dev/null +++ b/community-mod/procps-ng/version @@ -0,0 +1 @@ +3.3.17 1 diff --git a/community-mod/python2/build b/community-mod/python2/build new file mode 100755 index 0000000..ae85513 --- /dev/null +++ b/community-mod/python2/build @@ -0,0 +1,28 @@ +#!/bin/sh -e + +patch -p1 < python2-always-pip.patch + +./configure \ + --prefix=/usr \ + --with-ensurepip=yes + +make +make DESTDIR="$1" install + +# Make static library writable. +chmod u+w "$1/usr/lib/libpython"*.a + +# Let's make some kind of effort to reduce the overall +# size of Python by removing a bunch of rarely used and +# otherwise useless components. +# +# This can't be done via ./configure as the build system +# doesn't give you this much control over the process. +{ + cd "$1/usr/lib/python"* + rm -rf test ./*/test ./*/tests + rm -rf lib2to3 pydoc* idlelib turtle* ensurepip lib-tk config + + cd "$1/usr/bin" + rm -f 2to3* pydoc* idle* python pip +} diff --git a/community-mod/python2/checksums b/community-mod/python2/checksums new file mode 100644 index 0000000..353fcb4 --- /dev/null +++ b/community-mod/python2/checksums @@ -0,0 +1,2 @@ +b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43 Python-2.7.18.tar.xz +1a184c64f85d7a2fb57642135ea298ddd005684c5bd3e601b932cf31b82b9417 python2-always-pip.patch diff --git a/community-mod/python2/depends b/community-mod/python2/depends new file mode 100644 index 0000000..4711f7d --- /dev/null +++ b/community-mod/python2/depends @@ -0,0 +1,3 @@ +bzip2 +sqlite +zlib diff --git a/community-mod/python2/patches/python2-always-pip.patch b/community-mod/python2/patches/python2-always-pip.patch new file mode 100644 index 0000000..91789c9 --- /dev/null +++ b/community-mod/python2/patches/python2-always-pip.patch @@ -0,0 +1,13 @@ +diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py +index 526dfd0..d85dc33 100644 +--- a/Lib/ensurepip/__init__.py ++++ b/Lib/ensurepip/__init__.py +@@ -104,7 +104,7 @@ def _bootstrap(*, root=None, upgrade=False, user=False, + additional_paths.append(os.path.join(tmpdir, wheel_name)) + + # Construct the arguments to be passed to the pip command +- args = ["install", "--no-index", "--find-links", tmpdir] ++ args = ["install", "-I", "--no-index", "--find-links", tmpdir] + if root: + args += ["--root", root] + if upgrade: diff --git a/community-mod/python2/sources b/community-mod/python2/sources new file mode 100644 index 0000000..4a76f24 --- /dev/null +++ b/community-mod/python2/sources @@ -0,0 +1,2 @@ +https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz +patches/python2-always-pip.patch diff --git a/community-mod/python2/version b/community-mod/python2/version new file mode 100644 index 0000000..63e5489 --- /dev/null +++ b/community-mod/python2/version @@ -0,0 +1 @@ +2.7.18 3 diff --git a/community-mod/qbe/build b/community-mod/qbe/build new file mode 100755 index 0000000..52d87a9 --- /dev/null +++ b/community-mod/qbe/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make PREFIX="$1/usr" install diff --git a/community-mod/qbe/sources b/community-mod/qbe/sources new file mode 100644 index 0000000..fb51685 --- /dev/null +++ b/community-mod/qbe/sources @@ -0,0 +1 @@ +git+https://git.sr.ht/~mcf/qbe diff --git a/community-mod/qbe/version b/community-mod/qbe/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/community-mod/qbe/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/qemu/build b/community-mod/qemu/build new file mode 100755 index 0000000..cf706de --- /dev/null +++ b/community-mod/qemu/build @@ -0,0 +1,49 @@ +#!/bin/sh -e + +for patch in *.patch; do + patch -p1 < "$patch" +done + +# This is required for linux-headers 5.10 +# If you encounter build failures using a later kernel, +# comment out this line: +sed -i 's/#include //' linux-user/syscall.c + +# Remove bash dependency +sed -i 's/env bash/env sh/g' Makefile + +# Build qemu-system* binaries dynamically linked +./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --disable-debug-info \ + --disable-gtk \ + --disable-docs \ + --enable-sdl \ + --enable-kvm \ + --enable-pie \ + --enable-curses \ + --disable-user \ + --disable-linux-user \ + --enable-system + +make +make DESTDIR="$1" PREFIX=/usr install +make clean + +# Build qemu Linux user binaries statically linked. +./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --disable-debug-info \ + --disable-gtk \ + --disable-docs \ + --disable-user \ + --enable-linux-user \ + --disable-system \ + --static + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/qemu/checksums b/community-mod/qemu/checksums new file mode 100644 index 0000000..62afe4f --- /dev/null +++ b/community-mod/qemu/checksums @@ -0,0 +1,5 @@ +87bc1a471ca24b97e7005711066007d443423d19aacda3d442558ae032fa30b9 +9bffbc3b7361ad18886c877bd442e7b20d3939cb610be4126ef64b51129db03a +263f7d49ce9e51885c4731e6e97228ae1c8892551bf5255eb5836fab8a310e1b +714411e495bd973aca692a0bd7d56a178bcf3a44beff57bee993d801f7570bb1 +6b7c85cdc736b853731b0b81d22f4a7ea0345a4ed48f842806ee70d6a1501879 diff --git a/community-mod/qemu/depends b/community-mod/qemu/depends new file mode 100644 index 0000000..9af6cab --- /dev/null +++ b/community-mod/qemu/depends @@ -0,0 +1,9 @@ +glib +libffi +ncurses +perl make +pixman +pkgconf make +python +samurai make +sdl2 diff --git a/community-mod/qemu/patches/001-sigtrm-max.patch b/community-mod/qemu/patches/001-sigtrm-max.patch new file mode 100644 index 0000000..d670008 --- /dev/null +++ b/community-mod/qemu/patches/001-sigtrm-max.patch @@ -0,0 +1,37 @@ +From 8fbb4e6797ed67310b74cbaaa061269db45a5b71 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 29 Apr 2014 15:51:31 +0200 +Subject: [PATCH] linux-user/signal.c: define __SIGRTMIN/MAX for non-GNU + platforms + +The __SIGRTMIN and __SIGRTMAX are glibc internals and are not available +on all platforms, so we define those if they are missing. + +This is needed for musl libc. + +Signed-off-by: Natanael Copa +--- + linux-user/signal.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/linux-user/signal.c b/linux-user/signal.c +index 5ca6d62b15..e917c16d91 100644 +--- a/linux-user/signal.c ++++ a/linux-user/signal.c +@@ -25,6 +25,13 @@ + #include "trace.h" + #include "signal-common.h" + ++#ifndef __SIGRTMIN ++#define __SIGRTMIN 32 ++#endif ++#ifndef __SIGRTMAX ++#define __SIGRTMAX (NSIG-1) ++#endif ++ + static struct target_sigaction sigact_table[TARGET_NSIG]; + + static void host_signal_handler(int host_signum, siginfo_t *info, +-- +2.23.0 + diff --git a/community-mod/qemu/patches/002-syscall.patch b/community-mod/qemu/patches/002-syscall.patch new file mode 100644 index 0000000..a3dcdf0 --- /dev/null +++ b/community-mod/qemu/patches/002-syscall.patch @@ -0,0 +1,28 @@ +--- a/linux-user/syscall.c.orig ++++ a/linux-user/syscall.c +@@ -81,6 +81,16 @@ + #include + #endif + ++struct host_sigevent { ++ union sigval sigev_value; ++ int sigev_signo; ++ int sigev_notify; ++ union { ++ int _pad[64-sizeof(int) * 2 + sizeof(union sigval)]; ++ int _tid; ++ } _sigev_un; ++}; ++ + #define termios host_termios + #define winsize host_winsize + #define termio host_termio +@@ -7393,7 +7403,7 @@ + } + #endif + +-static inline abi_long target_to_host_sigevent(struct sigevent *host_sevp, ++static inline abi_long target_to_host_sigevent(struct host_sigevent *host_sevp, + abi_ulong target_addr) + { + struct target_sigevent *target_sevp; diff --git a/community-mod/qemu/patches/CVE-2021-20255.patch b/community-mod/qemu/patches/CVE-2021-20255.patch new file mode 100644 index 0000000..970c00c --- /dev/null +++ b/community-mod/qemu/patches/CVE-2021-20255.patch @@ -0,0 +1,43 @@ +CVE-2021-20255 patch adapted from QEMU patch by Stefan Weil + +Link: https://bugzilla.redhat.com/show_bug.cgi?id=1930646 + +Signed-off-by: Neha Agarwal +--- +diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c +index 16e95ef9cc..2474cf3dc2 100644 +--- a/hw/net/eepro100.c ++++ b/hw/net/eepro100.c +@@ -279,6 +279,9 @@ typedef struct { + /* Quasi static device properties (no need to save them). */ + uint16_t stats_size; + bool has_extended_tcb_support; ++ ++ /* Flag to avoid recursions. */ ++ bool busy; + } EEPRO100State; + + /* Word indices in EEPROM. */ +@@ -837,6 +840,14 @@ static void action_command(EEPRO100State *s) + Therefore we limit the number of iterations. */ + unsigned max_loop_count = 16; + ++ if (s->busy) { ++ /* Prevent recursions. */ ++ logout("recursion in %s:%u\n", __FILE__, __LINE__); ++ return; ++ } ++ ++ s->busy = true; ++ + for (;;) { + bool bit_el; + bool bit_s; +@@ -933,6 +944,7 @@ static void action_command(EEPRO100State *s) + } + TRACE(OTHER, logout("CU list empty\n")); + /* List is empty. Now CU is idle or suspended. */ ++ s->busy = false; + } + + static void eepro100_cu_command(EEPRO100State * s, uint8_t val) diff --git a/community-mod/qemu/patches/CVE-2021-3527.patch b/community-mod/qemu/patches/CVE-2021-3527.patch new file mode 100644 index 0000000..d87e5d8 --- /dev/null +++ b/community-mod/qemu/patches/CVE-2021-3527.patch @@ -0,0 +1,205 @@ +From 3f67e2e7f135b8be4117f3c2960e78d894feaa03 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 3 May 2021 15:29:11 +0200 +Subject: usb/hid: avoid dynamic stack allocation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use autofree heap allocation instead. + +Signed-off-by: Gerd Hoffmann +Reviewed-by: Philippe Mathieu-Daudé +Tested-by: Philippe Mathieu-Daudé +Message-Id: <20210503132915.2335822-2-kraxel@redhat.com> +--- + hw/usb/dev-hid.c | 2 +- + hw/usb/dev-wacom.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hw/usb/dev-hid.c b/hw/usb/dev-hid.c +index fc39bab79f..1c7ae97c30 100644 +--- a/hw/usb/dev-hid.c ++++ b/hw/usb/dev-hid.c +@@ -656,7 +656,7 @@ static void usb_hid_handle_data(USBDevice *dev, USBPacket *p) + { + USBHIDState *us = USB_HID(dev); + HIDState *hs = &us->hid; +- uint8_t buf[p->iov.size]; ++ g_autofree uint8_t *buf = g_malloc(p->iov.size); + int len = 0; + + switch (p->pid) { +diff --git a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c +index b595048635..ed687bc9f1 100644 +--- a/hw/usb/dev-wacom.c ++++ b/hw/usb/dev-wacom.c +@@ -301,7 +301,7 @@ static void usb_wacom_handle_control(USBDevice *dev, USBPacket *p, + static void usb_wacom_handle_data(USBDevice *dev, USBPacket *p) + { + USBWacomState *s = (USBWacomState *) dev; +- uint8_t buf[p->iov.size]; ++ g_autofree uint8_t *buf = g_malloc(p->iov.size); + int len = 0; + + switch (p->pid) { +-- +cgit v1.2.2 + +From 7ec54f9eb62b5d177e30eb8b1cad795a5f8d8986 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 3 May 2021 15:29:12 +0200 +Subject: usb/redir: avoid dynamic stack allocation (CVE-2021-3527) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use autofree heap allocation instead. + +Fixes: 4f4321c11ff ("usb: use iovecs in USBPacket") +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Gerd Hoffmann +Tested-by: Philippe Mathieu-Daudé +Message-Id: <20210503132915.2335822-3-kraxel@redhat.com> +--- + hw/usb/redirect.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c +index 17f06f3417..6a75b0dc4a 100644 +--- a/hw/usb/redirect.c ++++ b/hw/usb/redirect.c +@@ -620,7 +620,7 @@ static void usbredir_handle_iso_data(USBRedirDevice *dev, USBPacket *p, + .endpoint = ep, + .length = p->iov.size + }; +- uint8_t buf[p->iov.size]; ++ g_autofree uint8_t *buf = g_malloc(p->iov.size); + /* No id, we look at the ep when receiving a status back */ + usb_packet_copy(p, buf, p->iov.size); + usbredirparser_send_iso_packet(dev->parser, 0, &iso_packet, +@@ -818,7 +818,7 @@ static void usbredir_handle_bulk_data(USBRedirDevice *dev, USBPacket *p, + usbredirparser_send_bulk_packet(dev->parser, p->id, + &bulk_packet, NULL, 0); + } else { +- uint8_t buf[size]; ++ g_autofree uint8_t *buf = g_malloc(size); + usb_packet_copy(p, buf, size); + usbredir_log_data(dev, "bulk data out:", buf, size); + usbredirparser_send_bulk_packet(dev->parser, p->id, +@@ -923,7 +923,7 @@ static void usbredir_handle_interrupt_out_data(USBRedirDevice *dev, + USBPacket *p, uint8_t ep) + { + struct usb_redir_interrupt_packet_header interrupt_packet; +- uint8_t buf[p->iov.size]; ++ g_autofree uint8_t *buf = g_malloc(p->iov.size); + + DPRINTF("interrupt-out ep %02X len %zd id %"PRIu64"\n", ep, + p->iov.size, p->id); +-- +cgit v1.2.2 + +From 06aa50c06c6392084244f8169d34b8e2d9c43ef2 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 3 May 2021 15:29:13 +0200 +Subject: usb/mtp: avoid dynamic stack allocation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use autofree heap allocation instead. + +Signed-off-by: Gerd Hoffmann +Reviewed-by: Philippe Mathieu-Daudé +Tested-by: Philippe Mathieu-Daudé +Message-Id: <20210503132915.2335822-4-kraxel@redhat.com> +--- + hw/usb/dev-mtp.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c +index bbb8274344..2a895a73b0 100644 +--- a/hw/usb/dev-mtp.c ++++ b/hw/usb/dev-mtp.c +@@ -907,7 +907,8 @@ static MTPData *usb_mtp_get_object_handles(MTPState *s, MTPControl *c, + MTPObject *o) + { + MTPData *d = usb_mtp_data_alloc(c); +- uint32_t i = 0, handles[o->nchildren]; ++ uint32_t i = 0; ++ g_autofree uint32_t *handles = g_new(uint32_t, o->nchildren); + MTPObject *iter; + + trace_usb_mtp_op_get_object_handles(s->dev.addr, o->handle, o->path); +-- +cgit v1.2.2 + +From 3f8e5ae2a0cc0c482718a1c9ea111c94b7321b58 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 3 May 2021 15:29:14 +0200 +Subject: usb/xhci: sanity check packet size (CVE-2021-3527) + +Make sure the usb packet size is within the +bounds of the endpoint configuration. + +Signed-off-by: Gerd Hoffmann +Message-Id: <20210503132915.2335822-5-kraxel@redhat.com> +--- + hw/usb/hcd-xhci.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c +index 46212b1e69..7acfb8137b 100644 +--- a/hw/usb/hcd-xhci.c ++++ b/hw/usb/hcd-xhci.c +@@ -1568,6 +1568,11 @@ static int xhci_setup_packet(XHCITransfer *xfer) + qemu_sglist_destroy(&xfer->sgl); + return -1; + } ++ if (xfer->packet.iov.size > ep->max_packet_size) { ++ usb_packet_unmap(&xfer->packet, &xfer->sgl); ++ qemu_sglist_destroy(&xfer->sgl); ++ return -1; ++ } + DPRINTF("xhci: setup packet pid 0x%x addr %d ep %d\n", + xfer->packet.pid, ep->dev->addr, ep->nr); + return 0; +-- +cgit v1.2.2 + +From 6d900b0752a72d1236a37dd31ff4a9e685e5ff56 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 3 May 2021 15:29:15 +0200 +Subject: usb: limit combined packets to 1 MiB (CVE-2021-3527) + +usb-host and usb-redirect try to batch bulk transfers by combining many +small usb packets into a single, large transfer request, to reduce the +overhead and improve performance. + +This patch adds a size limit of 1 MiB for those combined packets to +restrict the host resources the guest can bind that way. + +Signed-off-by: Gerd Hoffmann +Message-Id: <20210503132915.2335822-6-kraxel@redhat.com> +--- + hw/usb/combined-packet.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/hw/usb/combined-packet.c b/hw/usb/combined-packet.c +index 5d57e883dc..e56802f89a 100644 +--- a/hw/usb/combined-packet.c ++++ b/hw/usb/combined-packet.c +@@ -171,7 +171,9 @@ void usb_ep_combine_input_packets(USBEndpoint *ep) + if ((p->iov.size % ep->max_packet_size) != 0 || !p->short_not_ok || + next == NULL || + /* Work around for Linux usbfs bulk splitting + migration */ +- (totalsize == (16 * KiB - 36) && p->int_req)) { ++ (totalsize == (16 * KiB - 36) && p->int_req) || ++ /* Next package may grow combined package over 1MiB */ ++ totalsize > 1 * MiB - ep->max_packet_size) { + usb_device_handle_data(ep->dev, first); + assert(first->status == USB_RET_ASYNC); + if (first->combined) { +-- +cgit v1.2.2 + diff --git a/community-mod/qemu/sources b/community-mod/qemu/sources new file mode 100644 index 0000000..5757b60 --- /dev/null +++ b/community-mod/qemu/sources @@ -0,0 +1,5 @@ +https://download.qemu.org/qemu-6.0.0.tar.xz +patches/001-sigtrm-max.patch +patches/002-syscall.patch +patches/CVE-2021-3527.patch +patches/CVE-2021-20255.patch diff --git a/community-mod/qemu/version b/community-mod/qemu/version new file mode 100644 index 0000000..dd00d5d --- /dev/null +++ b/community-mod/qemu/version @@ -0,0 +1 @@ +6.0.0 1 diff --git a/community-mod/qpdf/build b/community-mod/qpdf/build new file mode 100755 index 0000000..7a59a2b --- /dev/null +++ b/community-mod/qpdf/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +sed -i 's/bash/sh/' make/libtool.mk + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/community-mod/qpdf/checksums b/community-mod/qpdf/checksums new file mode 100644 index 0000000..5725bf8 --- /dev/null +++ b/community-mod/qpdf/checksums @@ -0,0 +1 @@ +8f1f42d1c36f62cf5bb4d2511e80e4fc0125093adc7fc444bc96cb7e79e71402 diff --git a/community-mod/qpdf/depends b/community-mod/qpdf/depends new file mode 100644 index 0000000..5cbbca0 --- /dev/null +++ b/community-mod/qpdf/depends @@ -0,0 +1,2 @@ +libjpeg-turbo +zlib diff --git a/community-mod/qpdf/sources b/community-mod/qpdf/sources new file mode 100644 index 0000000..246e6fb --- /dev/null +++ b/community-mod/qpdf/sources @@ -0,0 +1 @@ +https://github.com/qpdf/qpdf/archive/release-qpdf-10.3.2.tar.gz diff --git a/community-mod/qpdf/version b/community-mod/qpdf/version new file mode 100644 index 0000000..47efaeb --- /dev/null +++ b/community-mod/qpdf/version @@ -0,0 +1 @@ +10.3.2 1 diff --git a/community-mod/qrencode/build b/community-mod/qrencode/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/qrencode/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/qrencode/checksums b/community-mod/qrencode/checksums new file mode 100644 index 0000000..8cb00e6 --- /dev/null +++ b/community-mod/qrencode/checksums @@ -0,0 +1 @@ +da448ed4f52aba6bcb0cd48cac0dd51b8692bccc4cd127431402fca6f8171e8e diff --git a/community-mod/qrencode/depends b/community-mod/qrencode/depends new file mode 100644 index 0000000..5db9cf2 --- /dev/null +++ b/community-mod/qrencode/depends @@ -0,0 +1,2 @@ +libpng +sdl2 diff --git a/community-mod/qrencode/sources b/community-mod/qrencode/sources new file mode 100644 index 0000000..53ac208 --- /dev/null +++ b/community-mod/qrencode/sources @@ -0,0 +1 @@ +https://fukuchi.org/works/qrencode/qrencode-4.1.1.tar.gz diff --git a/community-mod/qrencode/version b/community-mod/qrencode/version new file mode 100644 index 0000000..7b6aadf --- /dev/null +++ b/community-mod/qrencode/version @@ -0,0 +1 @@ +4.1.1 1 diff --git a/community-mod/radare2/build b/community-mod/radare2/build new file mode 100755 index 0000000..0e9165b --- /dev/null +++ b/community-mod/radare2/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin + +make +make DESTDIR="$1" install diff --git a/community-mod/radare2/checksums b/community-mod/radare2/checksums new file mode 100644 index 0000000..f2229f3 --- /dev/null +++ b/community-mod/radare2/checksums @@ -0,0 +1 @@ +f95cbbba27f427bc3da41e9296e632c4bba1c47d107a9c911e82a524c136c406 diff --git a/community-mod/radare2/sources b/community-mod/radare2/sources new file mode 100644 index 0000000..b081ae7 --- /dev/null +++ b/community-mod/radare2/sources @@ -0,0 +1 @@ +https://github.com/radareorg/radare2/archive/refs/tags/5.3.1.tar.gz diff --git a/community-mod/radare2/version b/community-mod/radare2/version new file mode 100644 index 0000000..fdacdc0 --- /dev/null +++ b/community-mod/radare2/version @@ -0,0 +1 @@ +5.3.1 1 diff --git a/community-mod/rdrview/build b/community-mod/rdrview/build new file mode 100755 index 0000000..954aa1f --- /dev/null +++ b/community-mod/rdrview/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/rdrview/depends b/community-mod/rdrview/depends new file mode 100644 index 0000000..baf764f --- /dev/null +++ b/community-mod/rdrview/depends @@ -0,0 +1,3 @@ +curl +libseccomp +libxml2 diff --git a/community-mod/rdrview/sources b/community-mod/rdrview/sources new file mode 100644 index 0000000..8632e93 --- /dev/null +++ b/community-mod/rdrview/sources @@ -0,0 +1 @@ +git+https://github.com/eafer/rdrview diff --git a/community-mod/rdrview/version b/community-mod/rdrview/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/community-mod/rdrview/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/readline/build b/community-mod/readline/build new file mode 100755 index 0000000..b19251e --- /dev/null +++ b/community-mod/readline/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -fPIC" + +./configure \ + --prefix=/usr + +make SHLIB_LIBS=-lncurses +make DESTDIR="$1" install diff --git a/community-mod/readline/checksums b/community-mod/readline/checksums new file mode 100644 index 0000000..d3ca8ea --- /dev/null +++ b/community-mod/readline/checksums @@ -0,0 +1 @@ +f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02 diff --git a/community-mod/readline/depends b/community-mod/readline/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/readline/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/readline/sources b/community-mod/readline/sources new file mode 100644 index 0000000..b66a1b2 --- /dev/null +++ b/community-mod/readline/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/readline/readline-8.1.tar.gz diff --git a/community-mod/readline/version b/community-mod/readline/version new file mode 100644 index 0000000..e2d1666 --- /dev/null +++ b/community-mod/readline/version @@ -0,0 +1 @@ +8.1 1 diff --git a/community-mod/retrogram-rtlsdr/build b/community-mod/retrogram-rtlsdr/build new file mode 100755 index 0000000..3bee14a --- /dev/null +++ b/community-mod/retrogram-rtlsdr/build @@ -0,0 +1,5 @@ +#!/bin/sh -e + +make + +install -Dm755 retrogram-rtlsdr "$1/usr/bin/retrogram-rtlsdr" diff --git a/community-mod/retrogram-rtlsdr/checksums b/community-mod/retrogram-rtlsdr/checksums new file mode 100644 index 0000000..761d70f --- /dev/null +++ b/community-mod/retrogram-rtlsdr/checksums @@ -0,0 +1 @@ +git git+https://github.com/r4d10n/retrogram-rtlsdr.git diff --git a/community-mod/retrogram-rtlsdr/depends b/community-mod/retrogram-rtlsdr/depends new file mode 100644 index 0000000..d579dbe --- /dev/null +++ b/community-mod/retrogram-rtlsdr/depends @@ -0,0 +1 @@ +boost diff --git a/community-mod/retrogram-rtlsdr/sources b/community-mod/retrogram-rtlsdr/sources new file mode 100644 index 0000000..62ae9b6 --- /dev/null +++ b/community-mod/retrogram-rtlsdr/sources @@ -0,0 +1 @@ +git+https://github.com/r4d10n/retrogram-rtlsdr.git diff --git a/community-mod/retrogram-rtlsdr/version b/community-mod/retrogram-rtlsdr/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/community-mod/retrogram-rtlsdr/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/rpcsvc-proto/build b/community-mod/rpcsvc-proto/build new file mode 100755 index 0000000..8427c0c --- /dev/null +++ b/community-mod/rpcsvc-proto/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install + diff --git a/community-mod/rpcsvc-proto/checksums b/community-mod/rpcsvc-proto/checksums new file mode 100644 index 0000000..4d67e11 --- /dev/null +++ b/community-mod/rpcsvc-proto/checksums @@ -0,0 +1 @@ +678851b9f7ddf4410d2859c12016b65a6dd1a0728d478f18aeb54d165352f17c rpcsvc-proto-1.4.2.tar.xz diff --git a/community-mod/rpcsvc-proto/sources b/community-mod/rpcsvc-proto/sources new file mode 100644 index 0000000..26ded5b --- /dev/null +++ b/community-mod/rpcsvc-proto/sources @@ -0,0 +1 @@ +https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.2/rpcsvc-proto-1.4.2.tar.xz diff --git a/community-mod/rpcsvc-proto/version b/community-mod/rpcsvc-proto/version new file mode 100644 index 0000000..4ff136a --- /dev/null +++ b/community-mod/rpcsvc-proto/version @@ -0,0 +1 @@ +1.4.2 1 diff --git a/community-mod/rtorrent/build b/community-mod/rtorrent/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/rtorrent/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/rtorrent/checksums b/community-mod/rtorrent/checksums new file mode 100644 index 0000000..36231c4 --- /dev/null +++ b/community-mod/rtorrent/checksums @@ -0,0 +1 @@ +9edf0304bf142215d3bc85a0771446b6a72d0ad8218efbe184b41e4c9c7542af rtorrent-0.9.8.tar.gz diff --git a/community-mod/rtorrent/depends b/community-mod/rtorrent/depends new file mode 100644 index 0000000..5923a7f --- /dev/null +++ b/community-mod/rtorrent/depends @@ -0,0 +1 @@ +libtorrent diff --git a/community-mod/rtorrent/sources b/community-mod/rtorrent/sources new file mode 100644 index 0000000..be07c20 --- /dev/null +++ b/community-mod/rtorrent/sources @@ -0,0 +1 @@ +https://rtorrent.net/downloads/rtorrent-0.9.8.tar.gz diff --git a/community-mod/rtorrent/version b/community-mod/rtorrent/version new file mode 100644 index 0000000..071d54e --- /dev/null +++ b/community-mod/rtorrent/version @@ -0,0 +1 @@ +0.9.8 1 diff --git a/community-mod/ruby/build b/community-mod/ruby/build new file mode 100755 index 0000000..276e5c2 --- /dev/null +++ b/community-mod/ruby/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-shared \ + --disable-rpath + +make +make DESTDIR="$1" install diff --git a/community-mod/ruby/checksums b/community-mod/ruby/checksums new file mode 100644 index 0000000..8988aee --- /dev/null +++ b/community-mod/ruby/checksums @@ -0,0 +1 @@ +369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727 diff --git a/community-mod/ruby/depends b/community-mod/ruby/depends new file mode 100644 index 0000000..d01671c --- /dev/null +++ b/community-mod/ruby/depends @@ -0,0 +1,2 @@ +libffi +zlib diff --git a/community-mod/ruby/sources b/community-mod/ruby/sources new file mode 100644 index 0000000..09c3345 --- /dev/null +++ b/community-mod/ruby/sources @@ -0,0 +1 @@ +https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.1.tar.gz diff --git a/community-mod/ruby/version b/community-mod/ruby/version new file mode 100644 index 0000000..51545db --- /dev/null +++ b/community-mod/ruby/version @@ -0,0 +1 @@ +3.0.1 1 diff --git a/community-mod/s6-linux-init/build b/community-mod/s6-linux-init/build new file mode 100755 index 0000000..83f3954 --- /dev/null +++ b/community-mod/s6-linux-init/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --skeldir=/etc/s6-linux-init/skel + +make +make DESTDIR="$1" install + +# Create symbolic links so they can be used by kiss alternatives. +for file in halt poweroff reboot init shutdown telinit; do + ln -s "/etc/s6-linux-init/current/bin/$file" "$1/usr/bin" +done diff --git a/community-mod/s6-linux-init/checksums b/community-mod/s6-linux-init/checksums new file mode 100644 index 0000000..da9dfb9 --- /dev/null +++ b/community-mod/s6-linux-init/checksums @@ -0,0 +1 @@ +29e368516b1a3c61a6d1f8680645cc122a2e02127debec91738f170a3b93b8c5 diff --git a/community-mod/s6-linux-init/depends b/community-mod/s6-linux-init/depends new file mode 100644 index 0000000..9f9f4aa --- /dev/null +++ b/community-mod/s6-linux-init/depends @@ -0,0 +1,3 @@ +execline +s6 +skalibs diff --git a/community-mod/s6-linux-init/post-install b/community-mod/s6-linux-init/post-install new file mode 100755 index 0000000..c535ee9 --- /dev/null +++ b/community-mod/s6-linux-init/post-install @@ -0,0 +1,7 @@ +#!/bin/sh -e + +if [ ! -e /etc/s6-linux-init/current ]; then + s6-linux-init-maker /etc/s6-linux-init/current +fi + +echo 's6-linux-init: Remember to add your service manager in /etc/s6-linux-init/current/scripts/*' diff --git a/community-mod/s6-linux-init/sources b/community-mod/s6-linux-init/sources new file mode 100644 index 0000000..be34337 --- /dev/null +++ b/community-mod/s6-linux-init/sources @@ -0,0 +1 @@ +https://www.skarnet.org/software/s6-linux-init/s6-linux-init-1.0.6.3.tar.gz diff --git a/community-mod/s6-linux-init/version b/community-mod/s6-linux-init/version new file mode 100644 index 0000000..547e339 --- /dev/null +++ b/community-mod/s6-linux-init/version @@ -0,0 +1 @@ +1.0.6.3 1 diff --git a/community-mod/s6-rc/build b/community-mod/s6-rc/build new file mode 100755 index 0000000..1bd73d3 --- /dev/null +++ b/community-mod/s6-rc/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib + +make +make DESTDIR="$1" install diff --git a/community-mod/s6-rc/checksums b/community-mod/s6-rc/checksums new file mode 100644 index 0000000..f1e76b1 --- /dev/null +++ b/community-mod/s6-rc/checksums @@ -0,0 +1 @@ +2a8d1cd455c05c8502b34517cfe79841aa46d08ad969076b37a15d3910617f89 diff --git a/community-mod/s6-rc/depends b/community-mod/s6-rc/depends new file mode 100644 index 0000000..9f9f4aa --- /dev/null +++ b/community-mod/s6-rc/depends @@ -0,0 +1,3 @@ +execline +s6 +skalibs diff --git a/community-mod/s6-rc/sources b/community-mod/s6-rc/sources new file mode 100644 index 0000000..e7f0fbe --- /dev/null +++ b/community-mod/s6-rc/sources @@ -0,0 +1 @@ +https://skarnet.org/software/s6-rc/s6-rc-0.5.2.2.tar.gz diff --git a/community-mod/s6-rc/version b/community-mod/s6-rc/version new file mode 100644 index 0000000..d325fc7 --- /dev/null +++ b/community-mod/s6-rc/version @@ -0,0 +1 @@ +0.5.2.2 1 diff --git a/community-mod/s6/build b/community-mod/s6/build new file mode 100755 index 0000000..c690010 --- /dev/null +++ b/community-mod/s6/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --enable-shared + +make +make DESTDIR="$1" install diff --git a/community-mod/s6/checksums b/community-mod/s6/checksums new file mode 100644 index 0000000..e8c223d --- /dev/null +++ b/community-mod/s6/checksums @@ -0,0 +1 @@ +1d21373151704150df0e8ed199f097f6ee5d2befb9a68aca4f20f3862e5d8757 diff --git a/community-mod/s6/depends b/community-mod/s6/depends new file mode 100644 index 0000000..1f57905 --- /dev/null +++ b/community-mod/s6/depends @@ -0,0 +1,2 @@ +execline +skalibs diff --git a/community-mod/s6/sources b/community-mod/s6/sources new file mode 100644 index 0000000..c4febc4 --- /dev/null +++ b/community-mod/s6/sources @@ -0,0 +1 @@ +https://skarnet.org/software/s6/s6-2.10.0.3.tar.gz diff --git a/community-mod/s6/version b/community-mod/s6/version new file mode 100644 index 0000000..498595b --- /dev/null +++ b/community-mod/s6/version @@ -0,0 +1 @@ +2.10.0.3 1 diff --git a/community-mod/sbase/build b/community-mod/sbase/build new file mode 100755 index 0000000..7febc55 --- /dev/null +++ b/community-mod/sbase/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +# Make sbase tar accept arguments without dash +patch -p1 < tar-dash-remove.patch + +make LDFLAGS="$LDFLAGS -static" sbase-box +make DESTDIR="$1" PREFIX=/usr sbase-box-install + +# Unlink sed, because '-i' is widely used +unlink "$1/usr/bin/sed" diff --git a/community-mod/sbase/checksums b/community-mod/sbase/checksums new file mode 100644 index 0000000..87406b3 --- /dev/null +++ b/community-mod/sbase/checksums @@ -0,0 +1 @@ +e3db05a871c6344960ed05eb848557937d0f01070833a885eb06113966d74a10 diff --git a/community-mod/sbase/patches/tar-dash-remove.patch b/community-mod/sbase/patches/tar-dash-remove.patch new file mode 100644 index 0000000..ec498b5 --- /dev/null +++ b/community-mod/sbase/patches/tar-dash-remove.patch @@ -0,0 +1,29 @@ +From d50db4931d75ed1c8100f6a933175deb5976a196 Mon Sep 17 00:00:00 2001 +From: Ethan Sommer +Date: Thu, 14 May 2020 12:02:51 -0400 +Subject: [PATCH] tar: if first argument doesn't have a leading dash, prepend + one + +this allows tar to be called in the common form "tar " instead of only +allowing "tar -" +--- + tar.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/tar.c b/tar.c +index 603e544..759402e 100644 +--- a/tar.c ++++ b/tar.c +@@ -520,6 +520,12 @@ main(int argc, char *argv[]) + char *file = NULL, *dir = ".", mode = '\0'; + int fd; + ++ if (argc >= 2 && argv[1][0] != '-') { ++ char *argv1 = emalloc(strlen(argv[1] + 2)); ++ sprintf(argv1, "-%s", argv[1]); ++ argv[1] = argv1; ++ } ++ + ARGBEGIN { + case 'x': + case 'c': diff --git a/community-mod/sbase/sources b/community-mod/sbase/sources new file mode 100644 index 0000000..d2dd60b --- /dev/null +++ b/community-mod/sbase/sources @@ -0,0 +1,2 @@ +git+git://git.suckless.org/sbase +patches/tar-dash-remove.patch diff --git a/community-mod/sbase/version b/community-mod/sbase/version new file mode 100644 index 0000000..8202611 --- /dev/null +++ b/community-mod/sbase/version @@ -0,0 +1 @@ +git 2 diff --git a/community-mod/sc-im/build b/community-mod/sc-im/build new file mode 100755 index 0000000..c706eec --- /dev/null +++ b/community-mod/sc-im/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -fcommon" + +make -C src +make -C src \ + DESTDIR="$1" \ + prefix=/usr \ + install diff --git a/community-mod/sc-im/checksums b/community-mod/sc-im/checksums new file mode 100644 index 0000000..1ce390f --- /dev/null +++ b/community-mod/sc-im/checksums @@ -0,0 +1 @@ +7f00c98601e7f7709431fb4cbb83707c87016a3b015d48e5a7c2f018eff4b7f7 diff --git a/community-mod/sc-im/depends b/community-mod/sc-im/depends new file mode 100644 index 0000000..82c37a6 --- /dev/null +++ b/community-mod/sc-im/depends @@ -0,0 +1,2 @@ +bison make +ncurses diff --git a/community-mod/sc-im/sources b/community-mod/sc-im/sources new file mode 100644 index 0000000..58bcc22 --- /dev/null +++ b/community-mod/sc-im/sources @@ -0,0 +1 @@ +https://github.com/andmarti1424/sc-im/archive/v0.8.2.tar.gz diff --git a/community-mod/sc-im/version b/community-mod/sc-im/version new file mode 100644 index 0000000..10f0f2d --- /dev/null +++ b/community-mod/sc-im/version @@ -0,0 +1 @@ +0.8.2 1 diff --git a/community-mod/sc/build b/community-mod/sc/build new file mode 100755 index 0000000..128e754 --- /dev/null +++ b/community-mod/sc/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +./configure + +make +make \ + DESTDIR="$1" \ + EXDIR="$1/usr/bin" \ + LIBDIR="$1/usr/lib" \ + MANDIR="$1/usr/share/man" \ + PREFIX=/usr \ + install diff --git a/community-mod/sc/checksums b/community-mod/sc/checksums new file mode 100644 index 0000000..db200f3 --- /dev/null +++ b/community-mod/sc/checksums @@ -0,0 +1 @@ +1802c9d3d60dac85feb783adf967bc0d2fd7e5f592d9d1df15e4e87d83efcf14 7.16_1.1.2.tar.gz diff --git a/community-mod/sc/depends b/community-mod/sc/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/sc/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/sc/sources b/community-mod/sc/sources new file mode 100644 index 0000000..0dda239 --- /dev/null +++ b/community-mod/sc/sources @@ -0,0 +1 @@ +https://github.com/n-t-roff/sc/archive/7.16_1.1.2.tar.gz diff --git a/community-mod/sc/version b/community-mod/sc/version new file mode 100644 index 0000000..aa2a5ba --- /dev/null +++ b/community-mod/sc/version @@ -0,0 +1 @@ +7.16_1.1.2 1 diff --git a/community-mod/scdoc/build b/community-mod/scdoc/build new file mode 100755 index 0000000..88032b7 --- /dev/null +++ b/community-mod/scdoc/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make PREFIX=/usr +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/scdoc/checksums b/community-mod/scdoc/checksums new file mode 100644 index 0000000..ff3e998 --- /dev/null +++ b/community-mod/scdoc/checksums @@ -0,0 +1 @@ +1098a1ed2e087596fc0b3f657c1c8a5e00412267aa4baf3619e36824306645b1 diff --git a/community-mod/scdoc/sources b/community-mod/scdoc/sources new file mode 100644 index 0000000..5f2684d --- /dev/null +++ b/community-mod/scdoc/sources @@ -0,0 +1 @@ +https://git.sr.ht/~sircmpwn/scdoc/archive/1.11.1.tar.gz diff --git a/community-mod/scdoc/version b/community-mod/scdoc/version new file mode 100644 index 0000000..2cfc561 --- /dev/null +++ b/community-mod/scdoc/version @@ -0,0 +1 @@ +1.11.1 1 diff --git a/community-mod/screen/build b/community-mod/screen/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/screen/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/screen/checksums b/community-mod/screen/checksums new file mode 100644 index 0000000..1d6941d --- /dev/null +++ b/community-mod/screen/checksums @@ -0,0 +1 @@ +6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1 screen-4.8.0.tar.gz diff --git a/community-mod/screen/sources b/community-mod/screen/sources new file mode 100644 index 0000000..fb4f937 --- /dev/null +++ b/community-mod/screen/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/screen/screen-4.8.0.tar.gz diff --git a/community-mod/screen/version b/community-mod/screen/version new file mode 100644 index 0000000..94f04f6 --- /dev/null +++ b/community-mod/screen/version @@ -0,0 +1 @@ +4.8.0 1 diff --git a/community-mod/scroll/build b/community-mod/scroll/build new file mode 100755 index 0000000..954aa1f --- /dev/null +++ b/community-mod/scroll/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/scroll/checksums b/community-mod/scroll/checksums new file mode 100644 index 0000000..337b29a --- /dev/null +++ b/community-mod/scroll/checksums @@ -0,0 +1 @@ +git git+git://git.suckless.org/scroll diff --git a/community-mod/scroll/sources b/community-mod/scroll/sources new file mode 100644 index 0000000..4a630e2 --- /dev/null +++ b/community-mod/scroll/sources @@ -0,0 +1 @@ +git+git://git.suckless.org/scroll diff --git a/community-mod/scroll/version b/community-mod/scroll/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/community-mod/scroll/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/scrot/build b/community-mod/scrot/build new file mode 100755 index 0000000..13959c4 --- /dev/null +++ b/community-mod/scrot/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man + +make +make DESTDIR="$1" install diff --git a/community-mod/scrot/checksums b/community-mod/scrot/checksums new file mode 100644 index 0000000..24aeda4 --- /dev/null +++ b/community-mod/scrot/checksums @@ -0,0 +1 @@ +ca9156a06b468334e18220040b2984da60136f6a2e0e979f668eda6e3f1e1c05 scrot-0.8.tar.gz diff --git a/community-mod/scrot/depends b/community-mod/scrot/depends new file mode 100644 index 0000000..e8bd8c3 --- /dev/null +++ b/community-mod/scrot/depends @@ -0,0 +1 @@ +giblib diff --git a/community-mod/scrot/sources b/community-mod/scrot/sources new file mode 100644 index 0000000..5f3150b --- /dev/null +++ b/community-mod/scrot/sources @@ -0,0 +1 @@ +https://github.com/dreamer/scrot/archive/scrot-0.8.tar.gz diff --git a/community-mod/scrot/version b/community-mod/scrot/version new file mode 100644 index 0000000..330ad2d --- /dev/null +++ b/community-mod/scrot/version @@ -0,0 +1 @@ +0.8 1 diff --git a/community-mod/sct/build b/community-mod/sct/build new file mode 100755 index 0000000..ab9d50c --- /dev/null +++ b/community-mod/sct/build @@ -0,0 +1,5 @@ +#!/bin/sh -e + +cc -std=c99 -O2 -I /usr/X11R6/include -o sct sct.c -L /usr/X11R6/lib -lm -lX11 -lXrandr + +install -Dm755 sct "$1/usr/bin/sct" diff --git a/community-mod/sct/checksums b/community-mod/sct/checksums new file mode 100644 index 0000000..e7599cb --- /dev/null +++ b/community-mod/sct/checksums @@ -0,0 +1 @@ +0dda697ec3f4129d793f8896743d82be09934883f5aeda05c4a2193d7ab3c305 diff --git a/community-mod/sct/depends b/community-mod/sct/depends new file mode 100644 index 0000000..0444ec4 --- /dev/null +++ b/community-mod/sct/depends @@ -0,0 +1,6 @@ +libX11 +libXau +libXext +libXrandr +libXrender +libxcb diff --git a/community-mod/sct/sources b/community-mod/sct/sources new file mode 100644 index 0000000..009c620 --- /dev/null +++ b/community-mod/sct/sources @@ -0,0 +1 @@ +https://flak.tedunangst.com/files/sct.c diff --git a/community-mod/sct/version b/community-mod/sct/version new file mode 100644 index 0000000..95cb2aa --- /dev/null +++ b/community-mod/sct/version @@ -0,0 +1 @@ +2018.12.18 1 diff --git a/community-mod/sdcv/build b/community-mod/sdcv/build new file mode 100755 index 0000000..c984593 --- /dev/null +++ b/community-mod/sdcv/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_READLINE=False \ + -DENABLE_NLS=False + +cmake --build build +cmake --install build + +# Remove man page translations. +rm -rf "$1/usr/share/man/uk" diff --git a/community-mod/sdcv/checksums b/community-mod/sdcv/checksums new file mode 100644 index 0000000..d09ca48 --- /dev/null +++ b/community-mod/sdcv/checksums @@ -0,0 +1 @@ +75fb95b1607fdd2fb9f7795d3432d295904614150575ae539202f680499803c9 v0.5.3.tar.gz diff --git a/community-mod/sdcv/depends b/community-mod/sdcv/depends new file mode 100644 index 0000000..d890086 --- /dev/null +++ b/community-mod/sdcv/depends @@ -0,0 +1,3 @@ +cmake make +glib +zlib diff --git a/community-mod/sdcv/sources b/community-mod/sdcv/sources new file mode 100644 index 0000000..ca9fcd4 --- /dev/null +++ b/community-mod/sdcv/sources @@ -0,0 +1 @@ +https://github.com/Dushistov/sdcv/archive/v0.5.3.tar.gz diff --git a/community-mod/sdcv/version b/community-mod/sdcv/version new file mode 100644 index 0000000..f7c20fa --- /dev/null +++ b/community-mod/sdcv/version @@ -0,0 +1 @@ +0.5.3 1 diff --git a/community-mod/sdl/build b/community-mod/sdl/build new file mode 100755 index 0000000..97c691d --- /dev/null +++ b/community-mod/sdl/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +# Fixes bug that prevents SDL from building with X11 support +sed -e '/_XData32/s:register long:register _Xconst long:' \ + -i src/video/x11/SDL_x11sym.h + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/sdl/checksums b/community-mod/sdl/checksums new file mode 100644 index 0000000..9ed29f5 --- /dev/null +++ b/community-mod/sdl/checksums @@ -0,0 +1 @@ +d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00 SDL-1.2.15.tar.gz diff --git a/community-mod/sdl/depends b/community-mod/sdl/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/community-mod/sdl/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/community-mod/sdl/sources b/community-mod/sdl/sources new file mode 100644 index 0000000..373f585 --- /dev/null +++ b/community-mod/sdl/sources @@ -0,0 +1 @@ +https://libsdl.org/release/SDL-1.2.15.tar.gz diff --git a/community-mod/sdl/version b/community-mod/sdl/version new file mode 100644 index 0000000..75dfb3b --- /dev/null +++ b/community-mod/sdl/version @@ -0,0 +1 @@ +1.2.15 1 diff --git a/community-mod/sdl2/build b/community-mod/sdl2/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/sdl2/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/sdl2/checksums b/community-mod/sdl2/checksums new file mode 100644 index 0000000..ff40a88 --- /dev/null +++ b/community-mod/sdl2/checksums @@ -0,0 +1 @@ +d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc diff --git a/community-mod/sdl2/depends b/community-mod/sdl2/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/community-mod/sdl2/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/community-mod/sdl2/sources b/community-mod/sdl2/sources new file mode 100644 index 0000000..08a9072 --- /dev/null +++ b/community-mod/sdl2/sources @@ -0,0 +1 @@ +https://libsdl.org/release/SDL2-2.0.14.tar.gz diff --git a/community-mod/sdl2/version b/community-mod/sdl2/version new file mode 100644 index 0000000..64723c6 --- /dev/null +++ b/community-mod/sdl2/version @@ -0,0 +1 @@ +2.0.14 1 diff --git a/community-mod/seatd/build b/community-mod/seatd/build new file mode 100755 index 0000000..b209c84 --- /dev/null +++ b/community-mod/seatd/build @@ -0,0 +1,17 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +export CFLAGS="-Wno-error" + +meson \ + --prefix=/usr \ + -Dseatd=enabled \ + -Dbuiltin=enabled \ + -Dlogind=disabled \ + . output + +ninja -C output +ninja -C output install + +install -Dm755 run "$1/etc/sv/seatd/run" diff --git a/community-mod/seatd/checksums b/community-mod/seatd/checksums new file mode 100644 index 0000000..a6c6c7a --- /dev/null +++ b/community-mod/seatd/checksums @@ -0,0 +1,2 @@ +274b56324fc81ca6002bc1cdd387668dee34a6e1063e5f3896805c3770948988 +7f1833057e00607fbe2479a45e17de2303ca448120f3c51dcd88fa3527189ead diff --git a/community-mod/seatd/depends b/community-mod/seatd/depends new file mode 100644 index 0000000..36f6fe6 --- /dev/null +++ b/community-mod/seatd/depends @@ -0,0 +1 @@ +meson make diff --git a/community-mod/seatd/files/run b/community-mod/seatd/files/run new file mode 100755 index 0000000..ddf7bd9 --- /dev/null +++ b/community-mod/seatd/files/run @@ -0,0 +1,5 @@ +#!/bin/sh + +export LIBSEAT_BACKEND=seatd + +exec seatd -g video diff --git a/community-mod/seatd/sources b/community-mod/seatd/sources new file mode 100644 index 0000000..2f88b11 --- /dev/null +++ b/community-mod/seatd/sources @@ -0,0 +1,2 @@ +https://git.sr.ht/~kennylevinsen/seatd/archive/0.5.0.tar.gz +files/run diff --git a/community-mod/seatd/version b/community-mod/seatd/version new file mode 100644 index 0000000..4fa7342 --- /dev/null +++ b/community-mod/seatd/version @@ -0,0 +1 @@ +0.5.0 1 diff --git a/community-mod/secret/build b/community-mod/secret/build new file mode 100755 index 0000000..c01ee5b --- /dev/null +++ b/community-mod/secret/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make DESTDIR="$1" prefix=/usr install diff --git a/community-mod/secret/checksums b/community-mod/secret/checksums new file mode 100644 index 0000000..958defa --- /dev/null +++ b/community-mod/secret/checksums @@ -0,0 +1,3 @@ +392a1cce663aa7cc1a0729304143d6cafe85de423d9120f94cf852f9439870e2 v0.11.tar.gz +0c836d770453ddd8f740300994909b12ca34f15e38294ea8ee03c359b26198f5 eb8b122247bd48b11984ae4f8755ae6a4059e6c2.tar.gz +ca35fe558da7a411bde17d6fc6e808e061a76afb4f1d8f4a1f9f9e0fc8747ea9 a4de6e098b5bbbd5389eb8058130f782b53826c3.tar.gz diff --git a/community-mod/secret/sources b/community-mod/secret/sources new file mode 100644 index 0000000..4f3aab8 --- /dev/null +++ b/community-mod/secret/sources @@ -0,0 +1,3 @@ +https://github.com/angt/secret/archive/v0.11.tar.gz +https://github.com/angt/argz/archive/eb8b122247bd48b11984ae4f8755ae6a4059e6c2.tar.gz argz +https://github.com/jedisct1/libhydrogen/archive/a4de6e098b5bbbd5389eb8058130f782b53826c3.tar.gz libhydrogen diff --git a/community-mod/secret/version b/community-mod/secret/version new file mode 100644 index 0000000..2311023 --- /dev/null +++ b/community-mod/secret/version @@ -0,0 +1 @@ +0.11 2 diff --git a/community-mod/sed-i/build b/community-mod/sed-i/build new file mode 100755 index 0000000..fbc11f1 --- /dev/null +++ b/community-mod/sed-i/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +make DESTDIR="$1" PREFIX="/usr/lib/sed-i/" install diff --git a/community-mod/sed-i/checksums b/community-mod/sed-i/checksums new file mode 100644 index 0000000..d722e23 --- /dev/null +++ b/community-mod/sed-i/checksums @@ -0,0 +1 @@ +7c7c7ac1809f607bd5fbf97ea23f6209d628454e16641295aa559297ebb7108e diff --git a/community-mod/sed-i/post-install b/community-mod/sed-i/post-install new file mode 100755 index 0000000..ecab8c3 --- /dev/null +++ b/community-mod/sed-i/post-install @@ -0,0 +1,3 @@ +#!/bin/sh -e + +printf '%s\n' "NOTE: add /usr/lib/sed-i/bin to the beginning of your \$PATH" diff --git a/community-mod/sed-i/sources b/community-mod/sed-i/sources new file mode 100644 index 0000000..a078f5b --- /dev/null +++ b/community-mod/sed-i/sources @@ -0,0 +1 @@ +https://github.com/aaronNGi/sed-i/archive/refs/tags/0.1.tar.gz diff --git a/community-mod/sed-i/version b/community-mod/sed-i/version new file mode 100644 index 0000000..084a74c --- /dev/null +++ b/community-mod/sed-i/version @@ -0,0 +1 @@ +0.1 1 diff --git a/community-mod/setroot/build b/community-mod/setroot/build new file mode 100755 index 0000000..8e51827 --- /dev/null +++ b/community-mod/setroot/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make PREFIX=/usr xinerama=1 +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/setroot/checksums b/community-mod/setroot/checksums new file mode 100644 index 0000000..bd99778 --- /dev/null +++ b/community-mod/setroot/checksums @@ -0,0 +1 @@ +767c0b63b92562fbe8a0439147a974f678a342d378f287847bbf4cd190418c60 v2.0.2.tar.gz diff --git a/community-mod/setroot/depends b/community-mod/setroot/depends new file mode 100644 index 0000000..ed4757c --- /dev/null +++ b/community-mod/setroot/depends @@ -0,0 +1,2 @@ +imlib2 +libXinerama diff --git a/community-mod/setroot/sources b/community-mod/setroot/sources new file mode 100644 index 0000000..a3b3e50 --- /dev/null +++ b/community-mod/setroot/sources @@ -0,0 +1 @@ +https://github.com/ttzhou/setroot/archive/v2.0.2.tar.gz diff --git a/community-mod/setroot/version b/community-mod/setroot/version new file mode 100644 index 0000000..f7a60dc --- /dev/null +++ b/community-mod/setroot/version @@ -0,0 +1 @@ +2.0.2 2 diff --git a/community-mod/sfeed/build b/community-mod/sfeed/build new file mode 100755 index 0000000..b1e46ca --- /dev/null +++ b/community-mod/sfeed/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +make +make \ + DESTDIR="$1" \ + PREFIX=/usr \ + MANPREFIX=/usr/share/man \ + install diff --git a/community-mod/sfeed/checksums b/community-mod/sfeed/checksums new file mode 100644 index 0000000..fd0e88b --- /dev/null +++ b/community-mod/sfeed/checksums @@ -0,0 +1 @@ +0d45e2fc62c5bc29b6cfe08eb7f2f08b50039ce38b0bdc3028fb85ff63681060 diff --git a/community-mod/sfeed/depends b/community-mod/sfeed/depends new file mode 100644 index 0000000..13368f8 --- /dev/null +++ b/community-mod/sfeed/depends @@ -0,0 +1 @@ +curl diff --git a/community-mod/sfeed/sources b/community-mod/sfeed/sources new file mode 100644 index 0000000..4fd5610 --- /dev/null +++ b/community-mod/sfeed/sources @@ -0,0 +1 @@ +https://codemadness.org/releases/sfeed/sfeed-0.9.24.tar.gz diff --git a/community-mod/sfeed/version b/community-mod/sfeed/version new file mode 100644 index 0000000..166aa05 --- /dev/null +++ b/community-mod/sfeed/version @@ -0,0 +1 @@ +0.9.24 1 diff --git a/community-mod/sfeed_curses/build b/community-mod/sfeed_curses/build new file mode 100755 index 0000000..b1e46ca --- /dev/null +++ b/community-mod/sfeed_curses/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +make +make \ + DESTDIR="$1" \ + PREFIX=/usr \ + MANPREFIX=/usr/share/man \ + install diff --git a/community-mod/sfeed_curses/checksums b/community-mod/sfeed_curses/checksums new file mode 100644 index 0000000..c8eb7df --- /dev/null +++ b/community-mod/sfeed_curses/checksums @@ -0,0 +1 @@ +d08a481c6a4f74cac3e16bda6c5373fe4ce068afa11a09d75b727e07b739d581 diff --git a/community-mod/sfeed_curses/depends b/community-mod/sfeed_curses/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/sfeed_curses/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/sfeed_curses/sources b/community-mod/sfeed_curses/sources new file mode 100644 index 0000000..d0cb925 --- /dev/null +++ b/community-mod/sfeed_curses/sources @@ -0,0 +1 @@ +https://codemadness.org/releases/sfeed_curses/sfeed_curses-0.9.12.tar.gz diff --git a/community-mod/sfeed_curses/version b/community-mod/sfeed_curses/version new file mode 100644 index 0000000..5e4bc9a --- /dev/null +++ b/community-mod/sfeed_curses/version @@ -0,0 +1 @@ +0.9.12 1 diff --git a/community-mod/sgt-puzzles/build b/community-mod/sgt-puzzles/build new file mode 100755 index 0000000..e8e1f43 --- /dev/null +++ b/community-mod/sgt-puzzles/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DNAME_PREFIX=sgt- + +cmake --build build +cmake --install build diff --git a/community-mod/sgt-puzzles/checksums b/community-mod/sgt-puzzles/checksums new file mode 100644 index 0000000..30ec548 --- /dev/null +++ b/community-mod/sgt-puzzles/checksums @@ -0,0 +1 @@ +6c075a6ae2ab4131281fe07278d4daac6e9363142b65325f60cbf0660b532225 diff --git a/community-mod/sgt-puzzles/depends b/community-mod/sgt-puzzles/depends new file mode 100644 index 0000000..8ce1bbc --- /dev/null +++ b/community-mod/sgt-puzzles/depends @@ -0,0 +1,2 @@ +cmake make +gtk+3 diff --git a/community-mod/sgt-puzzles/sources b/community-mod/sgt-puzzles/sources new file mode 100644 index 0000000..dd8b334 --- /dev/null +++ b/community-mod/sgt-puzzles/sources @@ -0,0 +1 @@ +https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-20210526.8f3413c.tar.gz diff --git a/community-mod/sgt-puzzles/version b/community-mod/sgt-puzzles/version new file mode 100644 index 0000000..9b34607 --- /dev/null +++ b/community-mod/sgt-puzzles/version @@ -0,0 +1 @@ +20210526 1 diff --git a/community-mod/shadow/build b/community-mod/shadow/build new file mode 100755 index 0000000..4e550f4 --- /dev/null +++ b/community-mod/shadow/build @@ -0,0 +1,22 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sbindir=/usr/bin \ + --libdir=/usr/lib \ + --mandir=/usr/share/man \ + --sysconfdir=/etc \ + --disable-man \ + --disable-account-tools-setuid \ + --with-group-name-max-length=32 \ + --without-audit \ + --without-selinux \ + --without-libpam + +make +make DESTDIR="$1" install + +# Fix broken --sbindir. +mv -f "$1/usr/sbin/"* "$1/usr/bin" +rmdir "$1/usr/sbin" diff --git a/community-mod/shadow/checksums b/community-mod/shadow/checksums new file mode 100644 index 0000000..917abc8 --- /dev/null +++ b/community-mod/shadow/checksums @@ -0,0 +1 @@ +a3ad4630bdc41372f02a647278a8c3514844295d36eefe68ece6c3a641c1ae62 shadow-4.8.1.tar.xz diff --git a/community-mod/shadow/sources b/community-mod/shadow/sources new file mode 100644 index 0000000..f0d99ec --- /dev/null +++ b/community-mod/shadow/sources @@ -0,0 +1 @@ +https://github.com/shadow-maint/shadow/releases/download/4.8.1/shadow-4.8.1.tar.xz diff --git a/community-mod/shadow/version b/community-mod/shadow/version new file mode 100644 index 0000000..e36f878 --- /dev/null +++ b/community-mod/shadow/version @@ -0,0 +1 @@ +4.8.1 1 diff --git a/community-mod/shellcheck-bin/build b/community-mod/shellcheck-bin/build new file mode 100755 index 0000000..3a6a468 --- /dev/null +++ b/community-mod/shellcheck-bin/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +install -Dm755 shellcheck "$1/usr/bin/shellcheck" diff --git a/community-mod/shellcheck-bin/checksums b/community-mod/shellcheck-bin/checksums new file mode 100644 index 0000000..ae5e4e8 --- /dev/null +++ b/community-mod/shellcheck-bin/checksums @@ -0,0 +1 @@ +70423609f27b504d6c0c47e340f33652aea975e45f312324f2dbf91c95a3b188 diff --git a/community-mod/shellcheck-bin/sources b/community-mod/shellcheck-bin/sources new file mode 100644 index 0000000..9630ebb --- /dev/null +++ b/community-mod/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/community-mod/shellcheck-bin/version b/community-mod/shellcheck-bin/version new file mode 100644 index 0000000..e785eb6 --- /dev/null +++ b/community-mod/shellcheck-bin/version @@ -0,0 +1 @@ +0.7.2 1 diff --git a/community-mod/shinit/build b/community-mod/shinit/build new file mode 100755 index 0000000..0b82a3b --- /dev/null +++ b/community-mod/shinit/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +install -Dm755 shinit "$1/usr/bin/shinit" +install -Dm755 poweroff "$1/usr/bin/poweroff" + +ln -s shinit "$1/usr/bin/init" +ln -s poweroff "$1/usr/bin/reboot" diff --git a/community-mod/shinit/checksums b/community-mod/shinit/checksums new file mode 100644 index 0000000..b4c85ab --- /dev/null +++ b/community-mod/shinit/checksums @@ -0,0 +1 @@ +7d5d60d5a56532f8cb8a6e227cba1f78fad256c8114e97c91906d9ff7e6ed0e8 1.0.0.tar.gz diff --git a/community-mod/shinit/sources b/community-mod/shinit/sources new file mode 100644 index 0000000..8482551 --- /dev/null +++ b/community-mod/shinit/sources @@ -0,0 +1 @@ +https://github.com/cemkeylan/shinit/archive/1.0.0.tar.gz diff --git a/community-mod/shinit/version b/community-mod/shinit/version new file mode 100644 index 0000000..69c85ee --- /dev/null +++ b/community-mod/shinit/version @@ -0,0 +1 @@ +1.0.0 1 diff --git a/community-mod/sinit/build b/community-mod/sinit/build new file mode 100755 index 0000000..e064f02 --- /dev/null +++ b/community-mod/sinit/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +make CFLAGS="$CFLAGS -static" PREFIX=/usr DESTDIR="$1" install +ln -s sinit "$1/usr/bin/init" + +install -Dm755 poweroff "$1/usr/bin/poweroff" +install -Dm755 reboot "$1/usr/bin/reboot" + +install -Dm644 sinit-launch-services.boot "$1/etc/rc.d/sinit-launch-services.boot" diff --git a/community-mod/sinit/checksums b/community-mod/sinit/checksums new file mode 100644 index 0000000..136715a --- /dev/null +++ b/community-mod/sinit/checksums @@ -0,0 +1,5 @@ +aaccd0515070545174bf962c462686e7719c02c68004bd0b350b98b4c78a90ba sinit-1.1.tar.gz +6f0f1a5f2f43b5bcfd4beaa93e1a49438d398cf758d7813bc6ba86b5156357a8 config.h +f638aaa23383da584d3a56347a8e279abdc7c9c521661ef54a5bc8b955c5632b reboot +4da8b0c2771a9046a7ce2ded49beb5297045e9979796e5e4b390168286f05379 poweroff +c26e593a3393d3bcb9f7e3237372cd440ec2b873cf91cab2e88a38f231b97771 sinit-launch-services.boot diff --git a/community-mod/sinit/depends b/community-mod/sinit/depends new file mode 100644 index 0000000..d34de7b --- /dev/null +++ b/community-mod/sinit/depends @@ -0,0 +1 @@ +baseinit diff --git a/community-mod/sinit/files/config.h b/community-mod/sinit/files/config.h new file mode 100644 index 0000000..dca21e3 --- /dev/null +++ b/community-mod/sinit/files/config.h @@ -0,0 +1,3 @@ +static char *const rcinitcmd[] = { "/usr/lib/init/rc.boot", NULL }; +static char *const rcrebootcmd[] = { "/usr/lib/init/rc.shutdown", "reboot", NULL }; +static char *const rcpoweroffcmd[] = { "/usr/lib/init/rc.shutdown", "poweroff", NULL }; diff --git a/community-mod/sinit/files/poweroff b/community-mod/sinit/files/poweroff new file mode 100644 index 0000000..69d8731 --- /dev/null +++ b/community-mod/sinit/files/poweroff @@ -0,0 +1,2 @@ +#!/bin/sh +/bin/kill -s USR1 1 diff --git a/community-mod/sinit/files/reboot b/community-mod/sinit/files/reboot new file mode 100644 index 0000000..266afb9 --- /dev/null +++ b/community-mod/sinit/files/reboot @@ -0,0 +1,2 @@ +#!/bin/sh +/bin/kill -s INT 1 diff --git a/community-mod/sinit/files/sinit-launch-services.boot b/community-mod/sinit/files/sinit-launch-services.boot new file mode 100644 index 0000000..6b96347 --- /dev/null +++ b/community-mod/sinit/files/sinit-launch-services.boot @@ -0,0 +1,10 @@ +# We are going to start runit and getty here + +# Uncomment to enable gettys +# for getty in 1 2 3 4 5 6 ; do +# while :; do /sbin/getty tty${getty} 0 linux ; done & # busybox getty +# # while :; do /sbin/getty /dev/tty${getty} linux ; done & # ubase getty +# done + +# Uncomment enable runit services +# while :; do /usr/bin/runsvdir -P /var/service ; done & diff --git a/community-mod/sinit/post-install b/community-mod/sinit/post-install new file mode 100755 index 0000000..bcf13cb --- /dev/null +++ b/community-mod/sinit/post-install @@ -0,0 +1,25 @@ +#!/bin/sh -e + +cat <&2; exit 1;} + +case "$1" in + -d) [ "$3" ] || usage 1 + [ "$2" -gt 0 ] || die "Not a number: $2" + delay=$2; shift 2 + ;; + --help|-h|'') usage ;; + -*) usage 1 +esac + +while :; do + "$@" || err=$? + case $err in + # Usually Ctrl+C interrupt. + 12[7-9]|130) exit 0 + esac + [ "$delay" ] && sleep "$delay" +done diff --git a/community-mod/sysmgr/files/sysmgr.boot b/community-mod/sysmgr/files/sysmgr.boot new file mode 100644 index 0000000..a8eb842 --- /dev/null +++ b/community-mod/sysmgr/files/sysmgr.boot @@ -0,0 +1 @@ +# respawn sysmgr & diff --git a/community-mod/sysmgr/files/sysmgr.pre.shutdown b/community-mod/sysmgr/files/sysmgr.pre.shutdown new file mode 100644 index 0000000..d74b4aa --- /dev/null +++ b/community-mod/sysmgr/files/sysmgr.pre.shutdown @@ -0,0 +1,4 @@ +log "Waiting for sysmgr services to stop..."; { + svctl stop /var/sysmgr/* >/dev/null 2>&1 + svctl kill /var/sysmgr/* >/dev/null 2>&1 +} diff --git a/community-mod/sysmgr/post-install b/community-mod/sysmgr/post-install new file mode 100755 index 0000000..171973a --- /dev/null +++ b/community-mod/sysmgr/post-install @@ -0,0 +1,9 @@ +#!/bin/sh -e + +cat < + #include + #include ++#include + + #include "arg.h" + +@@ -64,16 +65,15 @@ typedef struct { + + typedef struct { + int x, y, w, h; +- unsigned long norm[ColLast]; +- unsigned long sel[ColLast]; ++ XftColor norm[ColLast]; ++ XftColor sel[ColLast]; + Drawable drawable; + GC gc; + struct { + int ascent; + int descent; + int height; +- XFontSet set; +- XFontStruct *xfont; ++ XftFont *xfont; + } font; + } DC; /* draw context */ + +@@ -95,7 +95,7 @@ static void createnotify(const XEvent *e); + static void destroynotify(const XEvent *e); + static void die(const char *errstr, ...); + static void drawbar(void); +-static void drawtext(const char *text, unsigned long col[ColLast]); ++static void drawtext(const char *text, XftColor col[ColLast]); + static void *emallocz(size_t size); + static void *erealloc(void *o, size_t size); + static void expose(const XEvent *e); +@@ -105,7 +105,7 @@ static void focusonce(const Arg *arg); + static void fullscreen(const Arg *arg); + static char* getatom(int a); + static int getclient(Window w); +-static unsigned long getcolor(const char *colstr); ++static XftColor getcolor(const char *colstr); + static int getfirsttab(void); + static Bool gettextprop(Window w, Atom atom, char *text, unsigned int size); + static void initfont(const char *fontstr); +@@ -219,12 +219,6 @@ cleanup(void) { + free(clients); + clients = NULL; + +- if(dc.font.set) { +- XFreeFontSet(dpy, dc.font.set); +- } else { +- XFreeFont(dpy, dc.font.xfont); +- } +- + XFreePixmap(dpy, dc.drawable); + XFreeGC(dpy, dc.gc); + XDestroyWindow(dpy, win); +@@ -305,7 +299,7 @@ die(const char *errstr, ...) { + + void + drawbar(void) { +- unsigned long *col; ++ XftColor *col; + int c, fc, width, n = 0; + char *name = NULL; + +@@ -362,12 +356,13 @@ drawbar(void) { + } + + void +-drawtext(const char *text, unsigned long col[ColLast]) { ++drawtext(const char *text, XftColor col[ColLast]) { + int i, x, y, h, len, olen; + char buf[256]; ++ XftDraw *d; + XRectangle r = { dc.x, dc.y, dc.w, dc.h }; + +- XSetForeground(dpy, dc.gc, col[ColBG]); ++ XSetForeground(dpy, dc.gc, col[ColBG].pixel); + XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); + if(!text) + return; +@@ -388,13 +383,10 @@ drawtext(const char *text, unsigned long col[ColLast]) { + for(i = len; i && i > len - 3; buf[--i] = '.'); + } + +- XSetForeground(dpy, dc.gc, col[ColFG]); +- if(dc.font.set) { +- XmbDrawString(dpy, dc.drawable, dc.font.set, +- dc.gc, x, y, buf, len); +- } else { +- XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); +- } ++ d = XftDrawCreate(dpy, dc.drawable, DefaultVisual(dpy, screen), DefaultColormap(dpy, screen)); ++ ++ XftDrawStringUtf8(d, &col[ColFG], dc.font.xfont, x, y, (XftChar8 *) buf, len); ++ XftDrawDestroy(d); + } + + void * +@@ -524,15 +516,14 @@ getclient(Window w) { + return -1; + } + +-unsigned long ++XftColor + getcolor(const char *colstr) { +- Colormap cmap = DefaultColormap(dpy, screen); +- XColor color; ++ XftColor color; + +- if(!XAllocNamedColor(dpy, cmap, colstr, &color, &color)) ++ if(!XftColorAllocName(dpy, DefaultVisual(dpy, screen), DefaultColormap(dpy, screen), colstr, &color)) + die("tabbed: cannot allocate color '%s'\n", colstr); + +- return color.pixel; ++ return color; + } + + int +@@ -585,41 +576,12 @@ gettextprop(Window w, Atom atom, char *text, unsigned int size) { + + void + initfont(const char *fontstr) { +- char *def, **missing, **font_names; +- int i, n; +- XFontStruct **xfonts; +- +- missing = NULL; +- if(dc.font.set) +- XFreeFontSet(dpy, dc.font.set); +- +- dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); +- if(missing) { +- while(n--) +- fprintf(stderr, "tabbed: missing fontset: %s\n", missing[n]); +- XFreeStringList(missing); +- } ++ if(!(dc.font.xfont = XftFontOpenName(dpy, screen, fontstr)) ++ && !(dc.font.xfont = XftFontOpenName(dpy, screen, "fixed"))) ++ die("error, cannot load font: '%s'\n", fontstr); + +- if(dc.font.set) { +- dc.font.ascent = dc.font.descent = 0; +- n = XFontsOfFontSet(dc.font.set, &xfonts, &font_names); +- for(i = 0, dc.font.ascent = 0, dc.font.descent = 0; i < n; i++) { +- dc.font.ascent = MAX(dc.font.ascent, (*xfonts)->ascent); +- dc.font.descent = MAX(dc.font.descent,(*xfonts)->descent); +- xfonts++; +- } +- } else { +- if(dc.font.xfont) +- XFreeFont(dpy, dc.font.xfont); +- dc.font.xfont = NULL; +- if(!(dc.font.xfont = XLoadQueryFont(dpy, fontstr)) +- && !(dc.font.xfont = XLoadQueryFont(dpy, "fixed"))) { +- die("tabbed: cannot load font: '%s'\n", fontstr); +- } +- +- dc.font.ascent = dc.font.xfont->ascent; +- dc.font.descent = dc.font.xfont->descent; +- } ++ dc.font.ascent = dc.font.xfont->ascent; ++ dc.font.descent = dc.font.xfont->descent; + dc.font.height = dc.font.ascent + dc.font.descent; + } + +@@ -972,11 +934,9 @@ setup(void) { + dc.drawable = XCreatePixmap(dpy, root, ww, wh, + DefaultDepth(dpy, screen)); + dc.gc = XCreateGC(dpy, root, 0, 0); +- if(!dc.font.set) +- XSetFont(dpy, dc.gc, dc.font.xfont->fid); + + win = XCreateSimpleWindow(dpy, root, wx, wy, ww, wh, 0, +- dc.norm[ColFG], dc.norm[ColBG]); ++ dc.norm[ColFG].pixel, dc.norm[ColBG].pixel); + XMapRaised(dpy, win); + XSelectInput(dpy, win, SubstructureNotifyMask|FocusChangeMask| + ButtonPressMask|ExposureMask|KeyPressMask|PropertyChangeMask| +@@ -1040,15 +1000,9 @@ spawn(const Arg *arg) { + + int + textnw(const char *text, unsigned int len) { +- XRectangle r; +- +- if(dc.font.set) { +- XmbTextExtents(dc.font.set, text, len, NULL, &r); +- +- return r.width; +- } +- +- return XTextWidth(dc.font.xfont, text, len); ++ XGlyphInfo ext; ++ XftTextExtentsUtf8(dpy, dc.font.xfont, (XftChar8 *) text, len, &ext); ++ return ext.xOff; + } + + void diff --git a/community-mod/tabbed/sources b/community-mod/tabbed/sources new file mode 100644 index 0000000..283da67 --- /dev/null +++ b/community-mod/tabbed/sources @@ -0,0 +1,2 @@ +https://dl.suckless.org/tools/tabbed-0.6.tar.gz +files/tabbed-0.6-xft.diff diff --git a/community-mod/tabbed/version b/community-mod/tabbed/version new file mode 100644 index 0000000..424287d --- /dev/null +++ b/community-mod/tabbed/version @@ -0,0 +1 @@ +0.6 1 diff --git a/community-mod/tcc/build b/community-mod/tcc/build new file mode 100755 index 0000000..9703991 --- /dev/null +++ b/community-mod/tcc/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --cc="${CC:-cc}" \ + --config-musl + +make +make DESTDIR="$1" install diff --git a/community-mod/tcc/checksums b/community-mod/tcc/checksums new file mode 100644 index 0000000..68580f2 --- /dev/null +++ b/community-mod/tcc/checksums @@ -0,0 +1 @@ +git git+git://repo.or.cz/tinycc.git diff --git a/community-mod/tcc/sources b/community-mod/tcc/sources new file mode 100644 index 0000000..7e21646 --- /dev/null +++ b/community-mod/tcc/sources @@ -0,0 +1 @@ +git+git://repo.or.cz/tinycc.git diff --git a/community-mod/tcc/version b/community-mod/tcc/version new file mode 100644 index 0000000..d4ed325 --- /dev/null +++ b/community-mod/tcc/version @@ -0,0 +1 @@ +git 1 diff --git a/community-mod/tcpdump/build b/community-mod/tcpdump/build new file mode 100755 index 0000000..ae24050 --- /dev/null +++ b/community-mod/tcpdump/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin + +make +make DESTDIR="$1" install + +rm -f "$1/usr/bin/tcpdump.4.9.3" diff --git a/community-mod/tcpdump/checksums b/community-mod/tcpdump/checksums new file mode 100644 index 0000000..60ca5cd --- /dev/null +++ b/community-mod/tcpdump/checksums @@ -0,0 +1 @@ +8cf2f17a9528774a7b41060323be8b73f76024f7778f59c34efa65d49d80b842 diff --git a/community-mod/tcpdump/depends b/community-mod/tcpdump/depends new file mode 100644 index 0000000..22a1e45 --- /dev/null +++ b/community-mod/tcpdump/depends @@ -0,0 +1 @@ +libpcap diff --git a/community-mod/tcpdump/sources b/community-mod/tcpdump/sources new file mode 100644 index 0000000..f3611bd --- /dev/null +++ b/community-mod/tcpdump/sources @@ -0,0 +1 @@ +https://www.tcpdump.org/release/tcpdump-4.99.0.tar.gz diff --git a/community-mod/tcpdump/version b/community-mod/tcpdump/version new file mode 100644 index 0000000..c5db63a --- /dev/null +++ b/community-mod/tcpdump/version @@ -0,0 +1 @@ +4.99.0 1 diff --git a/community-mod/tdb/build b/community-mod/tdb/build new file mode 100755 index 0000000..55304f5 --- /dev/null +++ b/community-mod/tdb/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/tdb/checksums b/community-mod/tdb/checksums new file mode 100644 index 0000000..477f766 --- /dev/null +++ b/community-mod/tdb/checksums @@ -0,0 +1 @@ +c8058393dfa15f47e11ebd2f1d132693f0b3b3b8bf22d0201bfb305026f88a1b tdb-1.4.3.tar.gz diff --git a/community-mod/tdb/depends b/community-mod/tdb/depends new file mode 100644 index 0000000..ecc7772 --- /dev/null +++ b/community-mod/tdb/depends @@ -0,0 +1 @@ +python make diff --git a/community-mod/tdb/sources b/community-mod/tdb/sources new file mode 100644 index 0000000..522465a --- /dev/null +++ b/community-mod/tdb/sources @@ -0,0 +1 @@ +https://www.samba.org/ftp/tdb/tdb-1.4.3.tar.gz diff --git a/community-mod/tdb/version b/community-mod/tdb/version new file mode 100644 index 0000000..7bb1259 --- /dev/null +++ b/community-mod/tdb/version @@ -0,0 +1 @@ +1.4.3 1 diff --git a/community-mod/tig/build b/community-mod/tig/build new file mode 100755 index 0000000..6b0a232 --- /dev/null +++ b/community-mod/tig/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install diff --git a/community-mod/tig/checksums b/community-mod/tig/checksums new file mode 100644 index 0000000..9d98c01 --- /dev/null +++ b/community-mod/tig/checksums @@ -0,0 +1 @@ +c48284d30287a6365f8a4750eb0b122e78689a1aef8ce1d2961b6843ac246aa7 diff --git a/community-mod/tig/depends b/community-mod/tig/depends new file mode 100644 index 0000000..b598d3d --- /dev/null +++ b/community-mod/tig/depends @@ -0,0 +1,3 @@ +git +ncurses +readline diff --git a/community-mod/tig/sources b/community-mod/tig/sources new file mode 100644 index 0000000..227f2be --- /dev/null +++ b/community-mod/tig/sources @@ -0,0 +1 @@ +https://github.com/jonas/tig/releases/download/tig-2.5.4/tig-2.5.4.tar.gz diff --git a/community-mod/tig/version b/community-mod/tig/version new file mode 100644 index 0000000..919d8f6 --- /dev/null +++ b/community-mod/tig/version @@ -0,0 +1 @@ +2.5.4 1 diff --git a/community-mod/tiv/build b/community-mod/tiv/build new file mode 100755 index 0000000..54b4187 --- /dev/null +++ b/community-mod/tiv/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +cd src/main/cpp + +make + +install -Dm755 tiv "$1/usr/bin/tiv" diff --git a/community-mod/tiv/checksums b/community-mod/tiv/checksums new file mode 100644 index 0000000..be80288 --- /dev/null +++ b/community-mod/tiv/checksums @@ -0,0 +1 @@ +727ddaa048643cb0a13e23bc308415060d99d8b1853883ad339ad7b952050d61 diff --git a/community-mod/tiv/depends b/community-mod/tiv/depends new file mode 100644 index 0000000..648c253 --- /dev/null +++ b/community-mod/tiv/depends @@ -0,0 +1 @@ +imagemagick diff --git a/community-mod/tiv/sources b/community-mod/tiv/sources new file mode 100644 index 0000000..581cad1 --- /dev/null +++ b/community-mod/tiv/sources @@ -0,0 +1 @@ +https://github.com/stefanhaustein/TerminalImageViewer/archive/v1.1.0.tar.gz diff --git a/community-mod/tiv/version b/community-mod/tiv/version new file mode 100644 index 0000000..7281bb5 --- /dev/null +++ b/community-mod/tiv/version @@ -0,0 +1 @@ +1.1.0 1 diff --git a/community-mod/tmux/build b/community-mod/tmux/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/tmux/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/tmux/checksums b/community-mod/tmux/checksums new file mode 100644 index 0000000..2d2f575 --- /dev/null +++ b/community-mod/tmux/checksums @@ -0,0 +1 @@ +664d345338c11cbe429d7ff939b92a5191e231a7c1ef42f381cebacb1e08a399 diff --git a/community-mod/tmux/depends b/community-mod/tmux/depends new file mode 100644 index 0000000..229e963 --- /dev/null +++ b/community-mod/tmux/depends @@ -0,0 +1,2 @@ +libevent +ncurses diff --git a/community-mod/tmux/sources b/community-mod/tmux/sources new file mode 100644 index 0000000..e18cc11 --- /dev/null +++ b/community-mod/tmux/sources @@ -0,0 +1 @@ +https://github.com/tmux/tmux/releases/download/3.2/tmux-3.2.tar.gz diff --git a/community-mod/tmux/version b/community-mod/tmux/version new file mode 100644 index 0000000..0ca6cc9 --- /dev/null +++ b/community-mod/tmux/version @@ -0,0 +1 @@ +3.2 1 diff --git a/community-mod/tor/build b/community-mod/tor/build new file mode 100755 index 0000000..d8808ec --- /dev/null +++ b/community-mod/tor/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +./configure \ + --sysconfdir=/etc \ + --prefix=/usr + +make +make DESTDIR="$1" install + +# Install runit service. +install -Dm755 tor.run "$1/etc/sv/tor/run" +ln -s /run/runit/supervise.tor "$1/etc/sv/tor/supervise" diff --git a/community-mod/tor/checksums b/community-mod/tor/checksums new file mode 100644 index 0000000..b5e7d85 --- /dev/null +++ b/community-mod/tor/checksums @@ -0,0 +1,2 @@ +447fcaaa133e2ef22427e98098a60a9c495edf9ff3e0dd13f484b9ad0185f074 +05a48bf85ace761279ef6e2353bb73e1dd78da8c03c4ae8f9aa91d320f02413d diff --git a/community-mod/tor/depends b/community-mod/tor/depends new file mode 100644 index 0000000..840401d --- /dev/null +++ b/community-mod/tor/depends @@ -0,0 +1,3 @@ +libevent +libressl +zlib make diff --git a/community-mod/tor/files/tor.run b/community-mod/tor/files/tor.run new file mode 100644 index 0000000..b3a8b0b --- /dev/null +++ b/community-mod/tor/files/tor.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec tor diff --git a/community-mod/tor/sources b/community-mod/tor/sources new file mode 100644 index 0000000..7c705e4 --- /dev/null +++ b/community-mod/tor/sources @@ -0,0 +1,2 @@ +https://dist.torproject.org/tor-0.4.5.7.tar.gz +files/tor.run diff --git a/community-mod/tor/version b/community-mod/tor/version new file mode 100644 index 0000000..ab6f118 --- /dev/null +++ b/community-mod/tor/version @@ -0,0 +1 @@ +0.4.5.7 1 diff --git a/community-mod/torsocks/build b/community-mod/torsocks/build new file mode 100755 index 0000000..6b0a232 --- /dev/null +++ b/community-mod/torsocks/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install diff --git a/community-mod/torsocks/checksums b/community-mod/torsocks/checksums new file mode 100644 index 0000000..9861810 --- /dev/null +++ b/community-mod/torsocks/checksums @@ -0,0 +1 @@ +b9f1b981d6b3fd4e1820de1eee325f8a7038c84765d5a6cd9af12571d5cc3622 torsocks-2.3.0.tar.xz diff --git a/community-mod/torsocks/depends b/community-mod/torsocks/depends new file mode 100644 index 0000000..bf4577a --- /dev/null +++ b/community-mod/torsocks/depends @@ -0,0 +1,3 @@ +autoconf make +automake make +libtool diff --git a/community-mod/torsocks/sources b/community-mod/torsocks/sources new file mode 100644 index 0000000..a0e23c3 --- /dev/null +++ b/community-mod/torsocks/sources @@ -0,0 +1 @@ +https://people.torproject.org/~dgoulet/torsocks/torsocks-2.3.0.tar.xz diff --git a/community-mod/torsocks/version b/community-mod/torsocks/version new file mode 100644 index 0000000..fbf7643 --- /dev/null +++ b/community-mod/torsocks/version @@ -0,0 +1 @@ +2.3.0 1 diff --git a/community-mod/transmission/build b/community-mod/transmission/build new file mode 100755 index 0000000..f3b30ec --- /dev/null +++ b/community-mod/transmission/build @@ -0,0 +1,16 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --mandir=/usr/share/man \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-nls \ + --enable-daemon \ + --enable-utp \ + --without-systemd-daemon \ + --without-gtk + +make +make DESTDIR="$1" install diff --git a/community-mod/transmission/checksums b/community-mod/transmission/checksums new file mode 100644 index 0000000..7581ff1 --- /dev/null +++ b/community-mod/transmission/checksums @@ -0,0 +1 @@ +423afd8e20912e62ed5e1f81382a12f0e69618930965497f3b3444a0e0e37b3b transmission-3.00.tar.xz diff --git a/community-mod/transmission/depends b/community-mod/transmission/depends new file mode 100644 index 0000000..6c05b42 --- /dev/null +++ b/community-mod/transmission/depends @@ -0,0 +1,3 @@ +curl +pkgconf make +libevent diff --git a/community-mod/transmission/sources b/community-mod/transmission/sources new file mode 100644 index 0000000..fcc7528 --- /dev/null +++ b/community-mod/transmission/sources @@ -0,0 +1 @@ +https://github.com/transmission/transmission-releases/raw/c3be26293dc414523391183c03619cd9b0caa69b/transmission-3.00.tar.xz diff --git a/community-mod/transmission/version b/community-mod/transmission/version new file mode 100644 index 0000000..620bc34 --- /dev/null +++ b/community-mod/transmission/version @@ -0,0 +1 @@ +3.00 1 diff --git a/community-mod/tree/build b/community-mod/tree/build new file mode 100755 index 0000000..f68a4a6 --- /dev/null +++ b/community-mod/tree/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +make +make \ + prefix="$1/usr" \ + MANDIR="$1/usr/share/man/man1" \ + install diff --git a/community-mod/tree/checksums b/community-mod/tree/checksums new file mode 100644 index 0000000..6f21e3e --- /dev/null +++ b/community-mod/tree/checksums @@ -0,0 +1 @@ +715d5d4b434321ce74706d0dd067505bb60c5ea83b5f0b3655dae40aa6f9b7c2 tree-1.8.0.tgz diff --git a/community-mod/tree/sources b/community-mod/tree/sources new file mode 100644 index 0000000..0d6c8cc --- /dev/null +++ b/community-mod/tree/sources @@ -0,0 +1 @@ +https://mama.indstate.edu/users/ice/tree/src/tree-1.8.0.tgz diff --git a/community-mod/tree/version b/community-mod/tree/version new file mode 100644 index 0000000..b56e3d8 --- /dev/null +++ b/community-mod/tree/version @@ -0,0 +1 @@ +1.8.0 2 diff --git a/community-mod/tty-clock/build b/community-mod/tty-clock/build new file mode 100755 index 0000000..33df24f --- /dev/null +++ b/community-mod/tty-clock/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +make + +# No 'DESTDIR' because the Makefile doesn't support it. +make PREFIX="$1/usr" install diff --git a/community-mod/tty-clock/checksums b/community-mod/tty-clock/checksums new file mode 100644 index 0000000..bb4cc84 --- /dev/null +++ b/community-mod/tty-clock/checksums @@ -0,0 +1 @@ +343e119858db7d5622a545e15a3bbfde65c107440700b62f9df0926db8f57984 v2.3.tar.gz diff --git a/community-mod/tty-clock/depends b/community-mod/tty-clock/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/community-mod/tty-clock/depends @@ -0,0 +1 @@ +ncurses diff --git a/community-mod/tty-clock/sources b/community-mod/tty-clock/sources new file mode 100644 index 0000000..137f415 --- /dev/null +++ b/community-mod/tty-clock/sources @@ -0,0 +1 @@ +https://github.com/xorg62/tty-clock/archive/v2.3.tar.gz diff --git a/community-mod/tty-clock/version b/community-mod/tty-clock/version new file mode 100644 index 0000000..1a5b467 --- /dev/null +++ b/community-mod/tty-clock/version @@ -0,0 +1 @@ +2.3 1 diff --git a/community-mod/ubase/build b/community-mod/ubase/build new file mode 100755 index 0000000..2adb8cb --- /dev/null +++ b/community-mod/ubase/build @@ -0,0 +1,17 @@ +#!/bin/sh -e + +for patch in *.patch; do + patch -p1 < "$patch" +done + +sed -i \ + -e "/^CFLAGS/s/=/= $CFLAGS -static/" \ + -e "/^LDFLAGS/s/=/= $LDFLAGS -static/" \ + config.mk + +make ubase-box +make DESTDIR="$1" PREFIX=/usr ubase-box-install + +# Remove 'su' which doesn't support '-c'. +unlink "$1/usr/bin/su" +unlink "$1/usr/bin/stat" diff --git a/community-mod/ubase/checksums b/community-mod/ubase/checksums new file mode 100644 index 0000000..6f49547 --- /dev/null +++ b/community-mod/ubase/checksums @@ -0,0 +1,2 @@ +714715936ff5e8a3574a41031cfbf05d4b061f19fcc07175e717f5db70b7f8e4 +4b2932a50164230b0defd4de008e423babf053bac823930258378b0efee64065 diff --git a/community-mod/ubase/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch b/community-mod/ubase/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch new file mode 100644 index 0000000..d998460 --- /dev/null +++ b/community-mod/ubase/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch @@ -0,0 +1,70 @@ +From f3aa4b156360ce4a18e4a3897f883b663771ba24 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Mon, 5 Aug 2019 15:45:17 -0700 +Subject: [PATCH] Include sys/sysmacros.h when major is not defined in + sys/types.h + +--- + libutil/tty.c | 5 ++++- + mknod.c | 3 +++ + mountpoint.c | 3 +++ + stat.c | 3 +++ + 4 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/libutil/tty.c b/libutil/tty.c +index bceb01e..f56388e 100644 +--- a/libutil/tty.c ++++ b/libutil/tty.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ +-#include + #include ++#include ++#ifndef major ++#include ++#endif + + #include + #include +diff --git a/mknod.c b/mknod.c +index 8de35c7..9dbede7 100644 +--- a/mknod.c ++++ b/mknod.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ + #include + #include ++#ifndef major ++#include ++#endif + + #include + #include +diff --git a/mountpoint.c b/mountpoint.c +index 8f205a2..726cc80 100644 +--- a/mountpoint.c ++++ b/mountpoint.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ + #include + #include ++#ifndef major ++#include ++#endif + + #include + #include +diff --git a/stat.c b/stat.c +index 220a659..3a6569b 100644 +--- a/stat.c ++++ b/stat.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ + #include + #include ++#ifndef major ++#include ++#endif + + #include + #include diff --git a/community-mod/ubase/patches/fix-mount.patch b/community-mod/ubase/patches/fix-mount.patch new file mode 100644 index 0000000..965b69d --- /dev/null +++ b/community-mod/ubase/patches/fix-mount.patch @@ -0,0 +1,12 @@ +diff --git a/mount.c b/mount.c +index e3d00b8..172fd05 100644 +--- a/mount.c ++++ b/mount.c +@@ -36,6 +36,7 @@ struct { + { "mand", "nomand", MS_MANDLOCK }, + { "relatime", "norelatime", MS_RELATIME }, + { "bind", NULL, MS_BIND }, ++ { "move", NULL, MS_MOVE }, + { NULL, NULL, 0 } + }; + diff --git a/community-mod/ubase/sources b/community-mod/ubase/sources new file mode 100644 index 0000000..9ace832 --- /dev/null +++ b/community-mod/ubase/sources @@ -0,0 +1,3 @@ +git+git://git.suckless.org/ubase +patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch +patches/fix-mount.patch diff --git a/community-mod/ubase/version b/community-mod/ubase/version new file mode 100644 index 0000000..421ae56 --- /dev/null +++ b/community-mod/ubase/version @@ -0,0 +1 @@ +git 4 diff --git a/community-mod/unifont/build b/community-mod/unifont/build new file mode 100755 index 0000000..4beac8b --- /dev/null +++ b/community-mod/unifont/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make DESTDIR="$1" CC="${CC:-cc}" +make DESTDIR="$1" install diff --git a/community-mod/unifont/checksums b/community-mod/unifont/checksums new file mode 100644 index 0000000..ad4fe5f --- /dev/null +++ b/community-mod/unifont/checksums @@ -0,0 +1 @@ +68def7a46df44241c7bf62de7ce0444e8ee9782f159c4b7553da9cfdc00be925 diff --git a/community-mod/unifont/sources b/community-mod/unifont/sources new file mode 100644 index 0000000..b5e173f --- /dev/null +++ b/community-mod/unifont/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/unifont/unifont-13.0.06/unifont-13.0.06.tar.gz diff --git a/community-mod/unifont/version b/community-mod/unifont/version new file mode 100644 index 0000000..9abdb50 --- /dev/null +++ b/community-mod/unifont/version @@ -0,0 +1 @@ +13.0.06 1 diff --git a/community-mod/urlview/build b/community-mod/urlview/build new file mode 100755 index 0000000..67c1f8e --- /dev/null +++ b/community-mod/urlview/build @@ -0,0 +1,34 @@ +#!/bin/sh -e + +gunzip urlview_0.9-21.diff.gz +patch -p1 < urlview_0.9-21.diff + +# Move user config to ~/.config/urlview/conf +sed -i 's|%s/\.urlview|%s/\.config/urlview/conf|' urlview.c +sed -i 's|~/.urlview|~/.config/urlview/conf|g' urlview.man + +# The included url_handler.sh is extremely outdated -- use $BROWSER by default. +# We don't want $BROWSER to expand. +# shellcheck disable=SC2016 +sed -i 's|COMMAND url_handler\.sh|COMMAND \$BROWSER %s|' sample.urlview + +aclocal +automake \ + --foreign \ + --ignore-deps \ + --add-missing + +./configure \ + --prefix=/usr + +make + +# Need to create dirs before `make install`. +install -d "$1/etc/urlview" "$1/usr/share/man/man1" + +make \ + prefix="$1/usr" \ + mandir="$1/usr/share/man" \ + install + +install -Dm644 sample.urlview "$1/etc/urlview/system.urlview" diff --git a/community-mod/urlview/checksums b/community-mod/urlview/checksums new file mode 100644 index 0000000..539e416 --- /dev/null +++ b/community-mod/urlview/checksums @@ -0,0 +1,2 @@ +746ff540ccf601645f500ee7743f443caf987d6380e61e5249fc15f7a455ed42 urlview_0.9.orig.tar.gz +efdf6a279d123952820dd6185ab9399ee1bf081ea3dd613dc96933cd1827a9e9 urlview_0.9-21.diff.gz diff --git a/community-mod/urlview/depends b/community-mod/urlview/depends new file mode 100644 index 0000000..fbabccb --- /dev/null +++ b/community-mod/urlview/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +gzip make +ncurses diff --git a/community-mod/urlview/sources b/community-mod/urlview/sources new file mode 100644 index 0000000..f86dd59 --- /dev/null +++ b/community-mod/urlview/sources @@ -0,0 +1,2 @@ +https://deb.debian.org/debian/pool/main/u/urlview/urlview_0.9.orig.tar.gz +https://deb.debian.org/debian/pool/main/u/urlview/urlview_0.9-21.diff.gz diff --git a/community-mod/urlview/version b/community-mod/urlview/version new file mode 100644 index 0000000..b7c2dda --- /dev/null +++ b/community-mod/urlview/version @@ -0,0 +1 @@ +0.9-21 1 diff --git a/community-mod/usbutils/build b/community-mod/usbutils/build new file mode 100755 index 0000000..6184d1d --- /dev/null +++ b/community-mod/usbutils/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/usbutils/checksums b/community-mod/usbutils/checksums new file mode 100644 index 0000000..44514f9 --- /dev/null +++ b/community-mod/usbutils/checksums @@ -0,0 +1 @@ +9e23494fcc78b7a80ee29a07dd179c95ae2f71509c35728dbbabc2d1cca41338 diff --git a/community-mod/usbutils/depends b/community-mod/usbutils/depends new file mode 100644 index 0000000..0bd6d34 --- /dev/null +++ b/community-mod/usbutils/depends @@ -0,0 +1,3 @@ +eudev +libtool make +libusb diff --git a/community-mod/usbutils/sources b/community-mod/usbutils/sources new file mode 100644 index 0000000..002b318 --- /dev/null +++ b/community-mod/usbutils/sources @@ -0,0 +1 @@ +https://kernel.org/pub/linux/utils/usb/usbutils/usbutils-013.tar.xz diff --git a/community-mod/usbutils/version b/community-mod/usbutils/version new file mode 100644 index 0000000..3a4374f --- /dev/null +++ b/community-mod/usbutils/version @@ -0,0 +1 @@ +013 1 diff --git a/community-mod/uthash/build b/community-mod/uthash/build new file mode 100755 index 0000000..0cbcef8 --- /dev/null +++ b/community-mod/uthash/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +install -d "$1/usr/include" +install -m644 ./include/*.h "$1/usr/include" diff --git a/community-mod/uthash/checksums b/community-mod/uthash/checksums new file mode 100644 index 0000000..d8c9cab --- /dev/null +++ b/community-mod/uthash/checksums @@ -0,0 +1 @@ +e10382ab75518bad8319eb922ad04f907cb20cccb451a3aa980c9d005e661acc diff --git a/community-mod/uthash/sources b/community-mod/uthash/sources new file mode 100644 index 0000000..347d5e0 --- /dev/null +++ b/community-mod/uthash/sources @@ -0,0 +1 @@ +https://github.com/troydhanson/uthash/archive/v2.3.0.tar.gz diff --git a/community-mod/uthash/version b/community-mod/uthash/version new file mode 100644 index 0000000..fbf7643 --- /dev/null +++ b/community-mod/uthash/version @@ -0,0 +1 @@ +2.3.0 1 diff --git a/community-mod/webkit2gtk/build b/community-mod/webkit2gtk/build new file mode 100755 index 0000000..bebe756 --- /dev/null +++ b/community-mod/webkit2gtk/build @@ -0,0 +1,52 @@ +#!/bin/sh -e + +# Enable streaming related options if gstreamer is installed. +kiss list gst-plugins-base && streaming=ON + +# Enable the use of openjpeg if the package is installed. +kiss list openjpeg2 && jpeg=ON + +# Enable WEB_CRYPTO if libtasn1 is installed. +kiss list libtasn1 && tasn=ON + +# Remove gettext requirement. +sed -i 's/ngettext/printf/g' Tools/MiniBrowser/gtk/BrowserDownloadsBar.c +sed -i '/po_files \*\.po/d' Source/WebCore/platform/gtk/po/CMakeLists.txt +sed -i '/^GETTEXT_C/d' Source/WebCore/platform/gtk/po/CMakeLists.txt + +# Fix clang build. +sed -i '/LC_ALL/d' Source/JavaScriptCore/jsc.cpp +sed -i '/WTFLogAlways/d' Source/JavaScriptCore/jsc.cpp + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \ + -DLIB_INSTALL_DIR=/usr/lib \ + -DPORT=GTK \ + -DCMAKE_SKIP_RPATH=ON \ + -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ + -DENABLE_SAMPLING_PROFILER=OFF \ + -DENABLE_GAMEPAD=OFF \ + -DENABLE_GEOLOCATION=OFF \ + -DENABLE_GLES2=ON \ + -DENABLE_INTROSPECTION=OFF \ + -DENABLE_MINIBROWSER=OFF \ + -DENABLE_SPELLCHECK=OFF \ + -DUSE_GSTREAMER_GL=OFF \ + -DUSE_LIBHYPHEN=OFF \ + -DUSE_LIBNOTIFY=OFF \ + -DUSE_LIBSECRET=OFF \ + -DUSE_OPENJPEG=${jpeg:-OFF} \ + -DUSE_SYSTEMD=OFF \ + -DUSE_WOFF2=OFF \ + -DUSE_WPE_RENDERER=OFF \ + -DENABLE_WEB_CRYPTO=${tasn:-OFF} \ + -DENABLE_VIDEO=${streaming:-OFF} \ + -DENABLE_WEB_AUDIO=${streaming:-OFF} \ + -Wno-dev + +cmake --build build +cmake --install build diff --git a/community-mod/webkit2gtk/checksums b/community-mod/webkit2gtk/checksums new file mode 100644 index 0000000..d54dac3 --- /dev/null +++ b/community-mod/webkit2gtk/checksums @@ -0,0 +1 @@ +136117317f70f66486f71b8edf5e46f8776403c5d8a296e914b11a36ef836917 diff --git a/community-mod/webkit2gtk/depends b/community-mod/webkit2gtk/depends new file mode 100644 index 0000000..b8634fc --- /dev/null +++ b/community-mod/webkit2gtk/depends @@ -0,0 +1,16 @@ +cairo +cmake make +glib-networking +gperf make +gtk+3 +harfbuzz-icu +libXt +libgcrypt +libsoup +libwebp +libxslt +mesa +perl make +python make +ruby make +sqlite diff --git a/community-mod/webkit2gtk/sources b/community-mod/webkit2gtk/sources new file mode 100644 index 0000000..44800c4 --- /dev/null +++ b/community-mod/webkit2gtk/sources @@ -0,0 +1 @@ +https://webkitgtk.org/releases/webkitgtk-2.32.1.tar.xz diff --git a/community-mod/webkit2gtk/version b/community-mod/webkit2gtk/version new file mode 100644 index 0000000..0bada59 --- /dev/null +++ b/community-mod/webkit2gtk/version @@ -0,0 +1 @@ +2.32.1 1 diff --git a/community-mod/weechat/build b/community-mod/weechat/build new file mode 100755 index 0000000..f9aa473 --- /dev/null +++ b/community-mod/weechat/build @@ -0,0 +1,19 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_PYTHON=OFF \ + -DENABLE_PERL=OFF \ + -DENABLE_PHP=OFF \ + -DENABLE_RUBY=OFF \ + -DENABLE_TCL=OFF \ + -DENABLE_LUA=OFF \ + -DENABLE_GUILE=OFF \ + -DENABLE_SPELL=OFF \ + -DENABLE_MAN=OFF + +cmake --build build +cmake --install build diff --git a/community-mod/weechat/checksums b/community-mod/weechat/checksums new file mode 100644 index 0000000..774241a --- /dev/null +++ b/community-mod/weechat/checksums @@ -0,0 +1 @@ +39a8adf374e80653c9dd2be06870341594ea081b3a9c3690132e556abf9d87a8 diff --git a/community-mod/weechat/depends b/community-mod/weechat/depends new file mode 100644 index 0000000..d8c73d3 --- /dev/null +++ b/community-mod/weechat/depends @@ -0,0 +1,6 @@ +cmake make +pkgconf make +gnutls +ncurses +libgcrypt +zlib diff --git a/community-mod/weechat/sources b/community-mod/weechat/sources new file mode 100644 index 0000000..4848ff2 --- /dev/null +++ b/community-mod/weechat/sources @@ -0,0 +1 @@ +https://weechat.org/files/src/weechat-3.2.tar.xz diff --git a/community-mod/weechat/version b/community-mod/weechat/version new file mode 100644 index 0000000..0ca6cc9 --- /dev/null +++ b/community-mod/weechat/version @@ -0,0 +1 @@ +3.2 1 diff --git a/community-mod/wget/build b/community-mod/wget/build new file mode 100755 index 0000000..817eb4c --- /dev/null +++ b/community-mod/wget/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-ssl=openssl + +make +make DESTDIR="$1" install diff --git a/community-mod/wget/checksums b/community-mod/wget/checksums new file mode 100644 index 0000000..86278b0 --- /dev/null +++ b/community-mod/wget/checksums @@ -0,0 +1 @@ +59ba0bdade9ad135eda581ae4e59a7a9f25e3a4bde6a5419632b31906120e26e diff --git a/community-mod/wget/depends b/community-mod/wget/depends new file mode 100644 index 0000000..75929cf --- /dev/null +++ b/community-mod/wget/depends @@ -0,0 +1 @@ +libressl diff --git a/community-mod/wget/sources b/community-mod/wget/sources new file mode 100644 index 0000000..fa08b48 --- /dev/null +++ b/community-mod/wget/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/wget/wget-1.21.1.tar.gz diff --git a/community-mod/wget/version b/community-mod/wget/version new file mode 100644 index 0000000..31e499e --- /dev/null +++ b/community-mod/wget/version @@ -0,0 +1 @@ +1.21.1 1 diff --git a/community-mod/wireguard-tools/build b/community-mod/wireguard-tools/build new file mode 100755 index 0000000..d4d0613 --- /dev/null +++ b/community-mod/wireguard-tools/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +cd src + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/wireguard-tools/checksums b/community-mod/wireguard-tools/checksums new file mode 100644 index 0000000..020400c --- /dev/null +++ b/community-mod/wireguard-tools/checksums @@ -0,0 +1 @@ +b288b0c43871d919629d7e77846ef0b47f8eeaa9ebc9cedeee8233fc6cc376ad diff --git a/community-mod/wireguard-tools/sources b/community-mod/wireguard-tools/sources new file mode 100644 index 0000000..bbf0728 --- /dev/null +++ b/community-mod/wireguard-tools/sources @@ -0,0 +1 @@ +https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-1.0.20210424.tar.xz diff --git a/community-mod/wireguard-tools/version b/community-mod/wireguard-tools/version new file mode 100644 index 0000000..dae32d5 --- /dev/null +++ b/community-mod/wireguard-tools/version @@ -0,0 +1 @@ +1.0.20210424 1 diff --git a/community-mod/x11vnc/build b/community-mod/x11vnc/build new file mode 100755 index 0000000..584aee5 --- /dev/null +++ b/community-mod/x11vnc/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +patch -p1 < bugfixes.patch +patch -p1 < libressl.patch + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/x11vnc/checksums b/community-mod/x11vnc/checksums new file mode 100644 index 0000000..8576145 --- /dev/null +++ b/community-mod/x11vnc/checksums @@ -0,0 +1,3 @@ +885e5b5f5f25eec6f9e4a1e8be3d0ac71a686331ee1cfb442dba391111bd32bd x11vnc-0.9.16.tar.gz +456a6919f570e7431c658784ea28b2ede893677ddf687c9b12eb3a91978269f0 bugfixes.patch +cfeff7fa420e789debc1d12ec288e6122166454a9d37cafb5e1395f5debb9f80 libressl.patch diff --git a/community-mod/x11vnc/depends b/community-mod/x11vnc/depends new file mode 100644 index 0000000..beef66b --- /dev/null +++ b/community-mod/x11vnc/depends @@ -0,0 +1,4 @@ +libvncserver +xrandr +automake make +autoconf make diff --git a/community-mod/x11vnc/patches/bugfixes.patch b/community-mod/x11vnc/patches/bugfixes.patch new file mode 100644 index 0000000..75a4bcd --- /dev/null +++ b/community-mod/x11vnc/patches/bugfixes.patch @@ -0,0 +1,480 @@ +--- x11vnc-0.9.16/src/cleanup.c ++++ x11vnc/src/cleanup.c +@@ -492,7 +492,7 @@ + } + + if (*str == 'q' && *(str+1) == '\0') { +- fprintf(stderr, "quiting.\n"); ++ fprintf(stderr, "quitting.\n"); + return; + } else if (*str == 'h' && *(str+1) == '\0') { + crash_shell_help(); +--- x11vnc-0.9.16/src/cursor.c ++++ x11vnc/src/cursor.c +@@ -1311,7 +1311,7 @@ + + /* retrieve the cursor info + pixels from server: */ + xfc = XFixesGetCursorImage(dpy); +- { ++ if (xfc) { + /* 2017-07-09, Stephan Fuhrmann: This fixes an implementation flaw for 64 bit systems. + * The XFixesCursorImage structure says xfc->pixels is (unsigned long*) in the structure, but + * the protocol spec says it's 32 bit per pixel +--- x11vnc-0.9.16/src/help.c ++++ x11vnc/src/help.c +@@ -3614,7 +3614,7 @@ + "-ncache_no_dtchange In -ncache mode, do not try to guess when the desktop\n" + " (viewport) changes to another one (i.e. another\n" + " workarea). The default is to try to guess and when\n" +-" detected try to make the transistion more smoothly.\n" ++" detected try to make the transition more smoothly.\n" + "\n" + "-ncache_no_rootpixmap In -ncache mode, do not try to snapshot the desktop\n" + " background to use in guessing or reconstructing window\n" +@@ -3716,7 +3716,7 @@ + " \"mode\" can be \"never\" (same as -nowirecopyrect)\n" + " to never try the copyrect, \"top\" means only do it if\n" + " the window was not covered by any other windows, and\n" +-" \"always\" means to translate the orginally unobscured\n" ++" \"always\" means to translate the originally unobscured\n" + " region (this may look odd as the remaining pieces come\n" + " in, but helps on a slow link). Default: \"%s\"\n" + "\n" +@@ -3990,7 +3990,7 @@ + " to \"eat\" much of that pointer input before re-polling\n" + " the screen and sending out framebuffer updates. The\n" + " mode number \"n\" can be 0 to %d and selects one of\n" +-" the schemes desribed below.\n" ++" the schemes described below.\n" + "\n" + " Note that the -wireframe and -scrollcopyrect modes\n" + " complement -pointer_mode by detecting (and improving)\n" +@@ -4060,7 +4060,7 @@ + " read rate may be much faster. \"x11perf -getimage500\"\n" + " can be used to get a lower bound (remember to factor\n" + " in the bytes per pixel). It is up to you to estimate\n" +-" the network bandwith and latency to clients. For the\n" ++" the network bandwidth and latency to clients. For the\n" + " latency the ping(1) command can be used.\n" + "\n" + " For convenience there are some aliases provided,\n" +@@ -5776,7 +5776,7 @@ + " you can still specify these parameters on the command\n" + " line, they just cannot be invoked via remote-control.\n" + "-safer Equivalent to: -novncconnect -noremote and prohibiting\n" +-" -gui and the -connect file. Shuts off communcation\n" ++" -gui and the -connect file. Shuts off communication\n" + " channels.\n" + "-privremote Perform some sanity checks and disable remote-control\n" + " commands if it appears that the X DISPLAY and/or\n" +@@ -6032,7 +6032,7 @@ + "#@ @#\n" + "#@ Or using the x11vnc SSL options: -ssl and -stunnel @#\n" + "#@ @#\n" +-"#@ Please Read the documention for more info about @#\n" ++"#@ Please Read the documentation for more info about @#\n" + "#@ passwords, security, and encryption. @#\n" + "#@ @#\n" + "#@ http://www.karlrunge.com/x11vnc/faq.html#faq-passwd @#\n" +--- x11vnc-0.9.16/src/inet.c ++++ x11vnc/src/inet.c +@@ -670,6 +670,10 @@ + return -1; + } + saun.sun_family = AF_UNIX; ++ if(strlen(file) + 1 > sizeof(saun.sun_path)) { ++ rfbLogPerror("listen_unix: socket name too long"); ++ return -1; ++ } + strcpy(saun.sun_path, file); + unlink(file); + +--- x11vnc-0.9.16/src/linuxfb.c ++++ x11vnc/src/linuxfb.c +@@ -53,9 +53,31 @@ + char *console_guess(char *str, int *fd); + void console_key_command(rfbBool down, rfbKeySym keysym, rfbClientPtr client); + void console_pointer_command(int mask, int x, int y, rfbClientPtr client); ++void linux_dev_fb_msg(char *); + ++/* Returns offset into fb memory based on yoffset. */ ++int rawfb_get_offset(int *fd) ++{ ++#if HAVE_LINUX_FB_H ++ int offset; ++ struct fb_var_screeninfo var_info; ++ if (ioctl(*fd, FBIOGET_VSCREENINFO, &var_info)) { ++ perror("ioctl"); ++ return 0; ++ } + +-void linux_dev_fb_msg(char *); ++ /* todo: How should x offset be handled? */ ++ if (var_info.xoffset != 0) { ++ rfbLog("rawfb xoffset handling not implemented"); ++ } ++ ++ if (var_info.yoffset != 0) { ++ offset = main_bytes_per_line * var_info.yoffset; ++ return offset; ++ } ++#endif ++ return 0; ++} + + char *console_guess(char *str, int *fd) { + char *q, *in = strdup(str); +--- x11vnc-0.9.16/src/linuxfb.h ++++ x11vnc/src/linuxfb.h +@@ -37,6 +37,7 @@ + extern char *console_guess(char *str, int *fd); + extern void console_key_command(rfbBool down, rfbKeySym keysym, rfbClientPtr client); + extern void console_pointer_command(int mask, int x, int y, rfbClientPtr client); ++extern int rawfb_get_offset(int *fd); + + + #endif /* _X11VNC_LINUXFB_H */ +--- x11vnc-0.9.16/src/params.h ++++ x11vnc/src/params.h +@@ -75,7 +75,7 @@ + #define PIPEINPUT_MACOSX 0x4 + #define PIPEINPUT_VNC 0x5 + +-#define MAX_BUTTONS 5 ++#define MAX_BUTTONS 7 + + #define ROTATE_NONE 0 + #define ROTATE_X 1 +--- x11vnc-0.9.16/src/screen.c ++++ x11vnc/src/screen.c +@@ -109,6 +109,7 @@ + int rawfb_reset = -1; + int rawfb_dev_video = 0; + int rawfb_vnc_reflect = 0; ++int rawfb_double_buffer = 0; + + /* + * X11 and rfb display/screen related routines +@@ -1942,14 +1943,25 @@ + + + /* +O offset */ ++ char *end = NULL; + if ((q = strrchr(str, '+')) != NULL) { +- if (sscanf(q, "+%d", &raw_fb_offset) == 1) { +- *q = '\0'; +- } else { ++ end = q; ++ if (sscanf(q, "+%d", &raw_fb_offset) != 1) { + raw_fb_offset = 0; + } + } +- /* :R/G/B masks */ ++ ++ /* #VWxVH virtual dimensions */ ++ if ((q = strrchr(str, '#')) != NULL) { ++ if (q < end) end = q; ++ if (sscanf(q, "#%dx%d", &raw_fb_virt_x, &raw_fb_virt_y) != 2) { ++ raw_fb_virt_x = 0; ++ raw_fb_virt_y = 0; ++ } ++ } ++ ++ if (end != NULL) *end = '\0'; ++ + if ((q = strrchr(str, ':')) != NULL) { + if (sscanf(q, ":%lx/%lx/%lx", &rm, &gm, &bm) == 3) { + *q = '\0'; +@@ -2138,7 +2150,7 @@ + } else if (strstr(str, "map:") == str || strstr(str, "mmap:") == str + || strstr(str, "file:") == str) { + /* map:/path/... or file:/path */ +- int fd, do_mmap = 1, size; ++ int fd, do_mmap = 1, size, vsize = 0; + struct stat sbuf; + + if (*str == 'f') { +@@ -2178,9 +2190,15 @@ + size = w*h*raw_fb_native_bpp/8 + raw_fb_offset; + } else if (xform24to32) { + size = w*h*24/8 + raw_fb_offset; ++ } else if (raw_fb_virt_x != 0 && raw_fb_virt_y != 0) { ++ size = w*h*b/8; ++ vsize = raw_fb_virt_x*raw_fb_virt_y*b/8; ++ rawfb_double_buffer = 1; ++ rfbLog("virtual size: %d", vsize); + } else { + size = w*h*b/8 + raw_fb_offset; + } ++ + if (fstat(fd, &sbuf) == 0) { + if (S_ISREG(sbuf.st_mode)) { + if (0) size = sbuf.st_size; +@@ -2205,8 +2223,11 @@ + + } else if (do_mmap) { + #if LIBVNCSERVER_HAVE_MMAP +- raw_fb_addr = mmap(0, size, PROT_READ, MAP_SHARED, +- fd, 0); ++ if (vsize != 0) { ++ raw_fb_addr = mmap(0, vsize, PROT_READ, MAP_SHARED, fd, 0); ++ } else { ++ raw_fb_addr = mmap(0, size, PROT_READ, MAP_SHARED, fd, 0); ++ } + + if (raw_fb_addr == MAP_FAILED || raw_fb_addr == NULL) { + rfbLogEnable(1); +@@ -2223,8 +2244,13 @@ + raw_fb_mmap = size; + + rfbLog("rawfb: mmap file: %s\n", q); +- rfbLog(" w: %d h: %d b: %d addr: %p sz: %d\n", w, h, +- b, raw_fb_addr, size); ++ if (vsize != 0) { ++ rfbLog(" w: %d h: %d b: %d addr: %p sz: %d\n", w, h, ++ b, raw_fb_addr, vsize); ++ } else { ++ rfbLog(" w: %d h: %d b: %d addr: %p sz: %d\n", w, h, ++ b, raw_fb_addr, size); ++ } + last_mode = RAWFB_MMAP; + } + #else +@@ -4652,6 +4678,12 @@ + /* Now, for scanning and drawing soft cursors (i.e. writing to the framebuffer), + make sure we're not sending any updates to clients (i.e. reading the framebuffer). + Otherwise we get flicker! */ ++ ++ /* Update offset in case local framebuffer is double buffered */ ++ if (rawfb_double_buffer) { ++ raw_fb_offset = rawfb_get_offset(&raw_fb_fd); ++ } ++ + if(use_threads){ + rfbClientPtr cl; + rfbClientIteratorPtr iter = rfbGetClientIterator(screen); +--- x11vnc-0.9.16/src/sslhelper.c ++++ x11vnc/src/sslhelper.c +@@ -1596,7 +1596,11 @@ + if (ssl_client_mode) { + return 1; + } +- if (!SSL_CTX_set_cipher_list(ctx, "ADH:@STRENGTH")) { ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ /* Security level must be set to 0 for unauthenticated suites. */ ++ SSL_CTX_set_security_level(ctx, 0); ++#endif ++ if (!SSL_CTX_set_cipher_list(ctx, "ADH:@SECLEVEL=0")) { + return 0; + } + if (!add_anon_dh()) { +--- x11vnc-0.9.16/src/ssltools.h ++++ x11vnc/src/ssltools.h +@@ -103,7 +103,7 @@ + "private_key = $dir/private/cakey.pem # The private key\n" + "RANDFILE = $dir/private/.rand # private random number file\n" + "\n" +-"x509_extensions = usr_cert # The extentions to add to the cert\n" ++"x509_extensions = usr_cert # The extensions to add to the cert\n" + "\n" + "name_opt = ca_default # Subject Name options\n" + "cert_opt = ca_default # Certificate field options\n" +@@ -139,7 +139,7 @@ + "default_keyfile = privkey.pem\n" + "distinguished_name = req_distinguished_name\n" + "attributes = req_attributes\n" +-"x509_extensions = v3_ca # The extentions to add to the self signed cert\n" ++"x509_extensions = v3_ca # The extensions to add to the self signed cert\n" + "\n" + "string_mask = nombstr\n" + "\n" +--- x11vnc-0.9.16/src/tkx11vnc.h ++++ x11vnc/src/tkx11vnc.h +@@ -506,7 +506,7 @@ + "display (VNC_CONNECT rootwin property) being polled by the x11vnc server.\n" + "To change or set the X display to use do \\\"Displays -> display\\\".\n" + "\n" +-"Sometimes the \\\"-connect /path/to/filename\\\" is used as the communcation\n" ++"Sometimes the \\\"-connect /path/to/filename\\\" is used as the communication\n" + "channel. The running x11vnc has to know that \\\"/path/to/filename\\\"\n" + "is the communication channel (i.e. it is using the same -connect option).\n" + "\"\n" +@@ -1227,7 +1227,7 @@ + "provides an interface to each of the many x11vnc command line options and\n" + "remote control commands. See \\\"Help -> all\\\" for much info about x11vnc.\n" + "\n" +-"For a simplier gui, run x11vnc in \\\"tray\\\" or \\\"icon\\\" mode such as\n" ++"For a simpler gui, run x11vnc in \\\"tray\\\" or \\\"icon\\\" mode such as\n" + "\\\"-gui tray\\\", \\\"-gui icon\\\", or \\\"-gui tray=setpass\\\". In that\n" + "mode the full gui is only available under \\\"Advanced ...\\\".\n" + "\n" +@@ -3366,7 +3366,7 @@ + "proc menu_help {item} {\n" + " if ![help_win $item] {\n" + " textwin \"nohelp\" \"No help available\" \\\n" +-" \"Sorry, no help avaiable for \\\"$item\\\"\"\n" ++" \"Sorry, no help available for \\\"$item\\\"\"\n" + " }\n" + "}\n" + "\n" +--- x11vnc-0.9.16/src/uinput.c ++++ x11vnc/src/uinput.c +@@ -54,6 +54,11 @@ + #include + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #if !defined(EV_SYN) || !defined(SYN_REPORT) + #undef UINPUT_OK + #endif +@@ -710,6 +715,7 @@ + static void ptr_move(int dx, int dy) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tval; + int d = direct_rel_fd < 0 ? fd : direct_rel_fd; + + if (injectable && strchr(injectable, 'M') == NULL) { +@@ -720,7 +726,9 @@ + + if (db) fprintf(stderr, "ptr_move(%d, %d) fd=%d\n", dx, dy, d); + +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tval, NULL); ++ ev.input_event_sec = tval.tv_sec; ++ ev.input_event_usec = tval.tv_usec; + ev.type = EV_REL; + ev.code = REL_Y; + ev.value = dy; +@@ -755,6 +763,7 @@ + static void ptr_abs(int x, int y, int p) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tval; + int x0, y0; + int d = direct_abs_fd < 0 ? fd : direct_abs_fd; + +@@ -773,7 +782,9 @@ + + if (db) fprintf(stderr, "ptr_abs(%d, %d => %d %d, p=%d) fd=%d\n", x0, y0, x, y, p, d); + +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tval, NULL); ++ ev.input_event_sec = tval.tv_sec; ++ ev.input_event_usec = tval.tv_usec; + ev.type = EV_ABS; + ev.code = ABS_Y; + ev.value = y; +@@ -950,6 +961,7 @@ + static void button_click(int down, int btn) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tval; + int d = direct_btn_fd < 0 ? fd : direct_btn_fd; + + if (injectable && strchr(injectable, 'B') == NULL) { +@@ -959,7 +971,9 @@ + if (db) fprintf(stderr, "button_click: btn %d %s fd=%d\n", btn, down ? "down" : "up", d); + + memset(&ev, 0, sizeof(ev)); +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tval, NULL); ++ ev.input_event_sec = tval.tv_sec; ++ ev.input_event_usec = tval.tv_usec; + ev.type = EV_KEY; + ev.value = down; + +@@ -1230,6 +1244,7 @@ + void uinput_key_command(int down, int keysym, rfbClientPtr client) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tval; + int scancode; + allowed_input_t input; + int d = direct_key_fd < 0 ? fd : direct_key_fd; +@@ -1253,7 +1268,9 @@ + if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s fd=%d\n", keysym, scancode, down ? "down" : "up", d); + + memset(&ev, 0, sizeof(ev)); +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tval, NULL); ++ ev.input_event_sec = tval.tv_sec; ++ ev.input_event_usec = tval.tv_usec; + ev.type = EV_KEY; + ev.code = (unsigned char) scancode; + ev.value = down; +--- x11vnc-0.9.16/src/unixpw.c ++++ x11vnc/src/unixpw.c +@@ -757,7 +757,7 @@ + } + + int crypt_verify(char *user, char *pass) { +-#ifndef UNIXPW_CRYPT ++#if !defined UNIXPW_CRYPT || !defined HAVE_LIBCRYPT + return 0; + #else + struct passwd *pwd; +--- x11vnc-0.9.16/src/util.c ++++ x11vnc/src/util.c +@@ -47,6 +47,9 @@ + #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD + MUTEX(x11Mutex); + MUTEX(scrollMutex); ++MUTEX(clientMutex); ++MUTEX(inputMutex); ++MUTEX(pointerMutex); + #endif + + int nfix(int i, int n); +--- x11vnc-0.9.16/src/util.h ++++ x11vnc/src/util.h +@@ -102,9 +102,9 @@ + #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD + extern MUTEX(x11Mutex); + extern MUTEX(scrollMutex); +-MUTEX(clientMutex); +-MUTEX(inputMutex); +-MUTEX(pointerMutex); ++extern MUTEX(clientMutex); ++extern MUTEX(inputMutex); ++extern MUTEX(pointerMutex); + #endif + + #define X_INIT INIT_MUTEX(x11Mutex) +--- x11vnc-0.9.16/src/v4l.c ++++ x11vnc/src/v4l.c +@@ -1339,7 +1339,7 @@ + } + if (stat(s, &sbuf) != 0) { + rfbLogPerror("stat"); +- rfbLog("You will need to specify the video device more explicity.\n"); ++ rfbLog("You will need to specify the video device more explicitly.\n"); + } + + *dev = s; +--- x11vnc-0.9.16/src/x11vnc.h ++++ x11vnc/src/x11vnc.h +@@ -541,6 +541,8 @@ + extern char *raw_fb; + extern char *raw_fb_addr; + extern int raw_fb_offset; ++extern int raw_fb_virt_x; ++extern int raw_fb_virt_y; + extern int raw_fb_shm; + extern int raw_fb_mmap; + extern int raw_fb_seek; +--- x11vnc-0.9.16/src/x11vnc_defs.c ++++ x11vnc/src/x11vnc_defs.c +@@ -105,6 +105,8 @@ + char *raw_fb = NULL; /* when used should be main_fb */ + char *raw_fb_addr = NULL; + int raw_fb_offset = 0; ++int raw_fb_virt_x = 0; ++int raw_fb_virt_y = 0; + int raw_fb_shm = 0; + int raw_fb_mmap = 0; + int raw_fb_seek = 0; diff --git a/community-mod/x11vnc/patches/libressl.patch b/community-mod/x11vnc/patches/libressl.patch new file mode 100644 index 0000000..82d0bfb --- /dev/null +++ b/community-mod/x11vnc/patches/libressl.patch @@ -0,0 +1,93 @@ +diff --git a/src/sslhelper.c b/src/sslhelper.c +index ba680b3..c8e7de8 100644 +--- a/src/sslhelper.c ++++ b/src/sslhelper.c +@@ -803,7 +803,7 @@ static int pem_passwd_callback(char *buf, int size, int rwflag, + static int crl_callback(X509_STORE_CTX *callback_ctx) { + const ASN1_INTEGER *revoked_serial; + X509_STORE_CTX *store_ctx; +-#if OPENSSL_VERSION_NUMBER > 0x10100000L ++#if OPENSSL_VERSION_NUMBER > 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + X509_OBJECT *obj; + #else + X509_OBJECT obj; +@@ -829,7 +829,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx) { + * the current certificate in order to verify it's integrity. */ + store_ctx = X509_STORE_CTX_new(); + X509_STORE_CTX_init(store_ctx, revocation_store, NULL, NULL); +-#if OPENSSL_VERSION_NUMBER > 0x10100000L ++#if OPENSSL_VERSION_NUMBER > 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + obj = X509_OBJECT_new(); + rc=X509_STORE_get_by_subject(store_ctx, X509_LU_CRL, subject, obj); + crl = X509_OBJECT_get0_X509_CRL(obj); +@@ -865,7 +865,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx) { + rfbLog("Invalid signature on CRL\n"); + X509_STORE_CTX_set_error(callback_ctx, + X509_V_ERR_CRL_SIGNATURE_FAILURE); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + X509_OBJECT_free(obj); + #else + X509_OBJECT_free_contents(&obj); +@@ -883,7 +883,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx) { + rfbLog("Found CRL has invalid nextUpdate field\n"); + X509_STORE_CTX_set_error(callback_ctx, + X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + X509_OBJECT_free(obj); + #else + X509_OBJECT_free_contents(&obj); +@@ -894,14 +894,14 @@ static int crl_callback(X509_STORE_CTX *callback_ctx) { + rfbLog("Found CRL is expired - " + "revoking all certificates until you get updated CRL\n"); + X509_STORE_CTX_set_error(callback_ctx, X509_V_ERR_CRL_HAS_EXPIRED); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + X509_OBJECT_free(obj); + #else + X509_OBJECT_free_contents(&obj); + #endif + return 0; /* Reject connection */ + } +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + X509_OBJECT_free(obj); + #else + X509_OBJECT_free_contents(&obj); +@@ -912,7 +912,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx) { + * the current certificate in order to check for revocation. */ + store_ctx = X509_STORE_CTX_new(); + X509_STORE_CTX_init(store_ctx, revocation_store, NULL, NULL); +-#if OPENSSL_VERSION_NUMBER > 0x10100000L ++#if OPENSSL_VERSION_NUMBER > 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + obj = X509_OBJECT_new(); + rc=X509_STORE_get_by_subject(store_ctx, X509_LU_CRL, issuer, obj); + crl = X509_OBJECT_get0_X509_CRL(obj); +@@ -942,7 +942,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx) { + "revoked per CRL from issuer %s\n", serial, serial, cp); + OPENSSL_free(cp); + X509_STORE_CTX_set_error(callback_ctx, X509_V_ERR_CERT_REVOKED); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + X509_OBJECT_free(obj); + #else + X509_OBJECT_free_contents(&obj); +@@ -950,7 +950,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx) { + return 0; /* Reject connection */ + } + } +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + X509_OBJECT_free(obj); + #else + X509_OBJECT_free_contents(&obj); +@@ -1596,7 +1596,7 @@ static int switch_to_anon_dh(void) { + if (ssl_client_mode) { + return 1; + } +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + /* Security level must be set to 0 for unauthenticated suites. */ + SSL_CTX_set_security_level(ctx, 0); + #endif diff --git a/community-mod/x11vnc/sources b/community-mod/x11vnc/sources new file mode 100644 index 0000000..99ff036 --- /dev/null +++ b/community-mod/x11vnc/sources @@ -0,0 +1,3 @@ +https://fossies.org/linux/privat/x11vnc-0.9.16.tar.gz +patches/bugfixes.patch +patches/libressl.patch diff --git a/community-mod/x11vnc/version b/community-mod/x11vnc/version new file mode 100644 index 0000000..cb918b2 --- /dev/null +++ b/community-mod/x11vnc/version @@ -0,0 +1 @@ +0.9.16 1 diff --git a/community-mod/xbg/build b/community-mod/xbg/build new file mode 100755 index 0000000..954aa1f --- /dev/null +++ b/community-mod/xbg/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/xbg/checksums b/community-mod/xbg/checksums new file mode 100644 index 0000000..677fc28 --- /dev/null +++ b/community-mod/xbg/checksums @@ -0,0 +1 @@ +2ae41cbc55b76b6ccda0de5caa0c7904e1d4dd223ecbd9a9402f4c741a959819 diff --git a/community-mod/xbg/depends b/community-mod/xbg/depends new file mode 100644 index 0000000..767e2c1 --- /dev/null +++ b/community-mod/xbg/depends @@ -0,0 +1,2 @@ +libxcb +xcb-util diff --git a/community-mod/xbg/sources b/community-mod/xbg/sources new file mode 100644 index 0000000..db73183 --- /dev/null +++ b/community-mod/xbg/sources @@ -0,0 +1 @@ +https://github.com/mcpcpc/xbg/archive/0.0.2.tar.gz diff --git a/community-mod/xbg/version b/community-mod/xbg/version new file mode 100644 index 0000000..4f1b638 --- /dev/null +++ b/community-mod/xbg/version @@ -0,0 +1 @@ +0.0.2 1 diff --git a/community-mod/xcb-util-xrm/build b/community-mod/xcb-util-xrm/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/xcb-util-xrm/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/xcb-util-xrm/checksums b/community-mod/xcb-util-xrm/checksums new file mode 100644 index 0000000..01d9813 --- /dev/null +++ b/community-mod/xcb-util-xrm/checksums @@ -0,0 +1 @@ +0129f74c327ae65e2f4ad4002f300b4f02c9aff78c00997f1f1c5a430f922f34 xcb-util-xrm-1.3.tar.gz diff --git a/community-mod/xcb-util-xrm/depends b/community-mod/xcb-util-xrm/depends new file mode 100644 index 0000000..443be0f --- /dev/null +++ b/community-mod/xcb-util-xrm/depends @@ -0,0 +1,6 @@ +libX11 +libXau +libxcb +pkgconf make +xcb-util +xorg-util-macros make diff --git a/community-mod/xcb-util-xrm/sources b/community-mod/xcb-util-xrm/sources new file mode 100644 index 0000000..cef696a --- /dev/null +++ b/community-mod/xcb-util-xrm/sources @@ -0,0 +1 @@ +https://github.com/Airblader/xcb-util-xrm/releases/download/v1.3/xcb-util-xrm-1.3.tar.gz diff --git a/community-mod/xcb-util-xrm/version b/community-mod/xcb-util-xrm/version new file mode 100644 index 0000000..a37a04c --- /dev/null +++ b/community-mod/xcb-util-xrm/version @@ -0,0 +1 @@ +1.3 1 diff --git a/community-mod/xclip/build b/community-mod/xclip/build new file mode 100755 index 0000000..e6b6156 --- /dev/null +++ b/community-mod/xclip/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +autoreconf -i + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/xclip/checksums b/community-mod/xclip/checksums new file mode 100644 index 0000000..b4b5db9 --- /dev/null +++ b/community-mod/xclip/checksums @@ -0,0 +1 @@ +ca5b8804e3c910a66423a882d79bf3c9450b875ac8528791fb60ec9de667f758 0.13.tar.gz diff --git a/community-mod/xclip/depends b/community-mod/xclip/depends new file mode 100644 index 0000000..521ee93 --- /dev/null +++ b/community-mod/xclip/depends @@ -0,0 +1,5 @@ +autoconf make +automake make +libX11 +libXt +libXmu diff --git a/community-mod/xclip/sources b/community-mod/xclip/sources new file mode 100644 index 0000000..4391a43 --- /dev/null +++ b/community-mod/xclip/sources @@ -0,0 +1 @@ +https://github.com/astrand/xclip/archive/0.13.tar.gz diff --git a/community-mod/xclip/version b/community-mod/xclip/version new file mode 100644 index 0000000..2b24089 --- /dev/null +++ b/community-mod/xclip/version @@ -0,0 +1 @@ +0.13 1 diff --git a/community-mod/xdotool/build b/community-mod/xdotool/build new file mode 100755 index 0000000..2498fb7 --- /dev/null +++ b/community-mod/xdotool/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +# Remove compiler debug stuff and post-install message. +sed -i Makefile \ + -e '/CFLAGS.*-g/d' \ + -e '/^install:/s/ post-install$//' + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/community-mod/xdotool/checksums b/community-mod/xdotool/checksums new file mode 100644 index 0000000..bdeb388 --- /dev/null +++ b/community-mod/xdotool/checksums @@ -0,0 +1 @@ +35be5ff6edf0c620a0e16f09ea5e101d5173280161772fca18657d83f20fcca8 xdotool-3.20160805.1.tar.gz diff --git a/community-mod/xdotool/depends b/community-mod/xdotool/depends new file mode 100644 index 0000000..5b8e226 --- /dev/null +++ b/community-mod/xdotool/depends @@ -0,0 +1,9 @@ +libX11 +libXau +libXext +libXi +libXinerama +libXtst +libxcb +libxkbcommon +perl make diff --git a/community-mod/xdotool/sources b/community-mod/xdotool/sources new file mode 100644 index 0000000..f314b4c --- /dev/null +++ b/community-mod/xdotool/sources @@ -0,0 +1 @@ +https://github.com/jordansissel/xdotool/releases/download/v3.20160805.1/xdotool-3.20160805.1.tar.gz diff --git a/community-mod/xdotool/version b/community-mod/xdotool/version new file mode 100644 index 0000000..e283d6d --- /dev/null +++ b/community-mod/xdotool/version @@ -0,0 +1 @@ +3.20160805.1 1 diff --git a/community-mod/xhost/build b/community-mod/xhost/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/xhost/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/xhost/checksums b/community-mod/xhost/checksums new file mode 100644 index 0000000..3147861 --- /dev/null +++ b/community-mod/xhost/checksums @@ -0,0 +1 @@ +a2dc3c579e13674947395ef8ccc1b3763f89012a216c2cc6277096489aadc396 xhost-1.0.8.tar.bz2 diff --git a/community-mod/xhost/depends b/community-mod/xhost/depends new file mode 100644 index 0000000..112279e --- /dev/null +++ b/community-mod/xhost/depends @@ -0,0 +1,4 @@ +libXmu +libX11 +libXau +libxcb diff --git a/community-mod/xhost/sources b/community-mod/xhost/sources new file mode 100644 index 0000000..f587bc8 --- /dev/null +++ b/community-mod/xhost/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/app/xhost-1.0.8.tar.bz2 diff --git a/community-mod/xhost/version b/community-mod/xhost/version new file mode 100644 index 0000000..0bc3d1e --- /dev/null +++ b/community-mod/xhost/version @@ -0,0 +1 @@ +1.0.8 1 diff --git a/community-mod/xkb-switch/build b/community-mod/xkb-switch/build new file mode 100755 index 0000000..56d0d55 --- /dev/null +++ b/community-mod/xkb-switch/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr + +cmake --build build +cmake --install build + +# Man page may be compressed, install manually instead. +rm -rf "$1/usr/share/man" +install -Dm 0644 man/xkb-switch.1 "$1/usr/share/man/man1/xkb-switch.1" diff --git a/community-mod/xkb-switch/checksums b/community-mod/xkb-switch/checksums new file mode 100644 index 0000000..9c44596 --- /dev/null +++ b/community-mod/xkb-switch/checksums @@ -0,0 +1 @@ +89e7cc64a3bfc481b0e341b79320de4f0adbdba49b551988fe4bf02f6ae9e003 diff --git a/community-mod/xkb-switch/depends b/community-mod/xkb-switch/depends new file mode 100644 index 0000000..27c84a1 --- /dev/null +++ b/community-mod/xkb-switch/depends @@ -0,0 +1,3 @@ +cmake make +libX11 +libxkbfile diff --git a/community-mod/xkb-switch/sources b/community-mod/xkb-switch/sources new file mode 100644 index 0000000..aff17aa --- /dev/null +++ b/community-mod/xkb-switch/sources @@ -0,0 +1 @@ +https://github.com/ierton/xkb-switch/archive/1.8.5.tar.gz diff --git a/community-mod/xkb-switch/version b/community-mod/xkb-switch/version new file mode 100644 index 0000000..3ca77ed --- /dev/null +++ b/community-mod/xkb-switch/version @@ -0,0 +1 @@ +1.8.5 1 diff --git a/community-mod/xmlsec1/build b/community-mod/xmlsec1/build new file mode 100755 index 0000000..add61ba --- /dev/null +++ b/community-mod/xmlsec1/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-default-crypto=openssl \ + --without-gcrypt \ + --without-gnutls \ + --without-nss \ + --without-libxslt + +make +make DESTDIR="$1" install diff --git a/community-mod/xmlsec1/checksums b/community-mod/xmlsec1/checksums new file mode 100644 index 0000000..d7901ac --- /dev/null +++ b/community-mod/xmlsec1/checksums @@ -0,0 +1 @@ +e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043 diff --git a/community-mod/xmlsec1/depends b/community-mod/xmlsec1/depends new file mode 100644 index 0000000..e5c985c --- /dev/null +++ b/community-mod/xmlsec1/depends @@ -0,0 +1,3 @@ +libressl +libtool +libxml2 diff --git a/community-mod/xmlsec1/sources b/community-mod/xmlsec1/sources new file mode 100644 index 0000000..d5d547f --- /dev/null +++ b/community-mod/xmlsec1/sources @@ -0,0 +1 @@ +https://www.aleksey.com/xmlsec/download/xmlsec1-1.2.32.tar.gz diff --git a/community-mod/xmlsec1/version b/community-mod/xmlsec1/version new file mode 100644 index 0000000..c5be8c6 --- /dev/null +++ b/community-mod/xmlsec1/version @@ -0,0 +1 @@ +1.2.32 1 diff --git a/community-mod/xmodmap/build b/community-mod/xmodmap/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/community-mod/xmodmap/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/community-mod/xmodmap/checksums b/community-mod/xmodmap/checksums new file mode 100644 index 0000000..0e86f8b --- /dev/null +++ b/community-mod/xmodmap/checksums @@ -0,0 +1 @@ +473f0941d7439d501bb895ff358832b936ec34c749b9704c37a15e11c318487c xmodmap-1.0.10.tar.bz2 diff --git a/community-mod/xmodmap/depends b/community-mod/xmodmap/depends new file mode 100644 index 0000000..1903bba --- /dev/null +++ b/community-mod/xmodmap/depends @@ -0,0 +1 @@ +libX11 diff --git a/community-mod/xmodmap/sources b/community-mod/xmodmap/sources new file mode 100644 index 0000000..951e808 --- /dev/null +++ b/community-mod/xmodmap/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/archive/individual/app/xmodmap-1.0.10.tar.bz2 diff --git a/community-mod/xmodmap/version b/community-mod/xmodmap/version new file mode 100644 index 0000000..2d248d7 --- /dev/null +++ b/community-mod/xmodmap/version @@ -0,0 +1 @@ +1.0.10 1 diff --git a/community-mod/xssstate/build b/community-mod/xssstate/build new file mode 100755 index 0000000..48c3f07 --- /dev/null +++ b/community-mod/xssstate/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +sed -i 's|PREFIX = /usr/local|PREFIX = /usr|g' config.mk + +make +make DESTDIR="$1" install diff --git a/community-mod/xssstate/checksums b/community-mod/xssstate/checksums new file mode 100644 index 0000000..3006c91 --- /dev/null +++ b/community-mod/xssstate/checksums @@ -0,0 +1 @@ +c4b6f504a6a8eb247bc60960bd65cbf9631c008449a1d71ac4c55e34be1c6011 xssstate-1.1.tar.gz diff --git a/community-mod/xssstate/depends b/community-mod/xssstate/depends new file mode 100644 index 0000000..98e1cd0 --- /dev/null +++ b/community-mod/xssstate/depends @@ -0,0 +1 @@ +libXScrnSaver diff --git a/community-mod/xssstate/sources b/community-mod/xssstate/sources new file mode 100644 index 0000000..810f4db --- /dev/null +++ b/community-mod/xssstate/sources @@ -0,0 +1 @@ +https://dl.suckless.org/tools/xssstate-1.1.tar.gz diff --git a/community-mod/xssstate/version b/community-mod/xssstate/version new file mode 100644 index 0000000..08ad782 --- /dev/null +++ b/community-mod/xssstate/version @@ -0,0 +1 @@ +1.1 2 diff --git a/community-mod/xtrlock/build b/community-mod/xtrlock/build new file mode 100755 index 0000000..6393d74 --- /dev/null +++ b/community-mod/xtrlock/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +"${CC:-gcc}" -lX11 -DSHADOW_PWD -o xtrlock xtrlock.c + +install -Dm4755 xtrlock "$1/usr/bin/xtrlock" +install -Dm644 xtrlock.man "$1/usr/share/man/man1/xtrlock.1" diff --git a/community-mod/xtrlock/checksums b/community-mod/xtrlock/checksums new file mode 100644 index 0000000..4ec4bdb --- /dev/null +++ b/community-mod/xtrlock/checksums @@ -0,0 +1 @@ +fcde55d06e6822e9bf1adebe6b251ef78db0ccb390fc6fba81a5ddb897f6f755 diff --git a/community-mod/xtrlock/depends b/community-mod/xtrlock/depends new file mode 100644 index 0000000..1903bba --- /dev/null +++ b/community-mod/xtrlock/depends @@ -0,0 +1 @@ +libX11 diff --git a/community-mod/xtrlock/sources b/community-mod/xtrlock/sources new file mode 100644 index 0000000..d4802dc --- /dev/null +++ b/community-mod/xtrlock/sources @@ -0,0 +1 @@ +https://deb.debian.org/debian/pool/main/x/xtrlock/xtrlock_2.15.tar.xz diff --git a/community-mod/xtrlock/version b/community-mod/xtrlock/version new file mode 100644 index 0000000..2698b40 --- /dev/null +++ b/community-mod/xtrlock/version @@ -0,0 +1 @@ +2.15 1 diff --git a/community-mod/xwallpaper/build b/community-mod/xwallpaper/build new file mode 100755 index 0000000..eae7a1f --- /dev/null +++ b/community-mod/xwallpaper/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --without-seccomp \ + --without-xpm + +make +make DESTDIR="$1" install diff --git a/community-mod/xwallpaper/checksums b/community-mod/xwallpaper/checksums new file mode 100644 index 0000000..8a58a35 --- /dev/null +++ b/community-mod/xwallpaper/checksums @@ -0,0 +1 @@ +b2c7f0dfafab6cbc63cba2f974d1332072fdb725128d1147126af69fa62c2933 diff --git a/community-mod/xwallpaper/depends b/community-mod/xwallpaper/depends new file mode 100644 index 0000000..88e226d --- /dev/null +++ b/community-mod/xwallpaper/depends @@ -0,0 +1,4 @@ +libjpeg-turbo +libpng +pixman +xcb-util-image diff --git a/community-mod/xwallpaper/sources b/community-mod/xwallpaper/sources new file mode 100644 index 0000000..56c74c9 --- /dev/null +++ b/community-mod/xwallpaper/sources @@ -0,0 +1 @@ +https://github.com/stoeckmann/xwallpaper/releases/download/v0.7.1/xwallpaper-0.7.1.tar.xz diff --git a/community-mod/xwallpaper/version b/community-mod/xwallpaper/version new file mode 100644 index 0000000..1078b9e --- /dev/null +++ b/community-mod/xwallpaper/version @@ -0,0 +1 @@ +0.7.1 1 diff --git a/community-mod/xwm/build b/community-mod/xwm/build new file mode 100755 index 0000000..954aa1f --- /dev/null +++ b/community-mod/xwm/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make PREFIX=/usr DESTDIR="$1" install diff --git a/community-mod/xwm/checksums b/community-mod/xwm/checksums new file mode 100644 index 0000000..b523800 --- /dev/null +++ b/community-mod/xwm/checksums @@ -0,0 +1 @@ +135d405f9af5d36a3d7f2311d5db82b3ddddeef5b4162731469c6ce1e14b4c87 diff --git a/community-mod/xwm/depends b/community-mod/xwm/depends new file mode 100644 index 0000000..ea63bc2 --- /dev/null +++ b/community-mod/xwm/depends @@ -0,0 +1,3 @@ +libXau +libxcb +xcb-util-keysyms diff --git a/community-mod/xwm/sources b/community-mod/xwm/sources new file mode 100644 index 0000000..58921c0 --- /dev/null +++ b/community-mod/xwm/sources @@ -0,0 +1 @@ +https://github.com/mcpcpc/xwm/archive/0.1.8.tar.gz diff --git a/community-mod/xwm/version b/community-mod/xwm/version new file mode 100644 index 0000000..bfb00d9 --- /dev/null +++ b/community-mod/xwm/version @@ -0,0 +1 @@ +0.1.8 1 diff --git a/community-mod/yasm/build b/community-mod/yasm/build new file mode 100755 index 0000000..9e85cfc --- /dev/null +++ b/community-mod/yasm/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-shared + +make +make DESTDIR="$1" install diff --git a/community-mod/yasm/checksums b/community-mod/yasm/checksums new file mode 100644 index 0000000..3be2df1 --- /dev/null +++ b/community-mod/yasm/checksums @@ -0,0 +1 @@ +3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f diff --git a/community-mod/yasm/sources b/community-mod/yasm/sources new file mode 100644 index 0000000..f1b23c3 --- /dev/null +++ b/community-mod/yasm/sources @@ -0,0 +1 @@ +https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz diff --git a/community-mod/yasm/version b/community-mod/yasm/version new file mode 100644 index 0000000..0a2d7f2 --- /dev/null +++ b/community-mod/yasm/version @@ -0,0 +1 @@ +1.3.0 1 diff --git a/core-mod/core/baseinit/build b/core-mod/core/baseinit/build new file mode 100755 index 0000000..d8646a8 --- /dev/null +++ b/core-mod/core/baseinit/build @@ -0,0 +1,13 @@ +#!/bin/sh -ef + +mkdir -p "$1/usr/bin" + +cp -R etc "$1" +cp -R lib "$1/usr/lib" + +# Disable warning as CFLAGS must work this way. +# shellcheck disable=2086 +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-mod/core/baseinit/checksums b/core-mod/core/baseinit/checksums new file mode 100644 index 0000000..67c13be --- /dev/null +++ b/core-mod/core/baseinit/checksums @@ -0,0 +1 @@ +2dbb2141cfd1b24d604ccdac4ee9422987c74efac75c05631bbb66d2d646eb0d diff --git a/core-mod/core/baseinit/post-install b/core-mod/core/baseinit/post-install new file mode 100755 index 0000000..468a294 --- /dev/null +++ b/core-mod/core/baseinit/post-install @@ -0,0 +1,9 @@ +#!/bin/sh + +cat < 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-mod/core/baselayout/files/fstab b/core-mod/core/baselayout/files/fstab new file mode 100644 index 0000000..14ababb --- /dev/null +++ b/core-mod/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-mod/core/baselayout/files/group b/core-mod/core/baselayout/files/group new file mode 100644 index 0000000..0797f31 --- /dev/null +++ b/core-mod/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-mod/core/baselayout/files/host.conf b/core-mod/core/baselayout/files/host.conf new file mode 100644 index 0000000..db09a07 --- /dev/null +++ b/core-mod/core/baselayout/files/host.conf @@ -0,0 +1,4 @@ +# /etc/host.conf +# See host.conf(5) for details. + +multi on diff --git a/core-mod/core/baselayout/files/hosts b/core-mod/core/baselayout/files/hosts new file mode 100644 index 0000000..e08b437 --- /dev/null +++ b/core-mod/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-mod/core/baselayout/files/issue b/core-mod/core/baselayout/files/issue new file mode 100644 index 0000000..7304c73 --- /dev/null +++ b/core-mod/core/baselayout/files/issue @@ -0,0 +1 @@ +KISS Linux \r (\l) diff --git a/core-mod/core/baselayout/files/mime.types b/core-mod/core/baselayout/files/mime.types new file mode 100644 index 0000000..8af0a16 --- /dev/null +++ b/core-mod/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-mod/core/baselayout/files/os-release b/core-mod/core/baselayout/files/os-release new file mode 100644 index 0000000..e834e93 --- /dev/null +++ b/core-mod/core/baselayout/files/os-release @@ -0,0 +1,8 @@ +NAME="KISS Linux" +PRETTY_NAME="KISS Linux" +ID=kiss +BUILD_ID=rolling +HOME_URL="https://k1sslinux.org" +DOCUMENTATION_URL="https://k1sslinux.org" +SUPPORT_URL="https://github.com/kiss-community" +BUG_REPORT_URL="https://github.com/kiss-community" diff --git a/core-mod/core/baselayout/files/passwd b/core-mod/core/baselayout/files/passwd new file mode 100644 index 0000000..1edbef6 --- /dev/null +++ b/core-mod/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-mod/core/baselayout/files/profile b/core-mod/core/baselayout/files/profile new file mode 100644 index 0000000..8e5fcd7 --- /dev/null +++ b/core-mod/core/baselayout/files/profile @@ -0,0 +1,16 @@ +# /etc/profile +# +# System wide environment and startup programs. + +# Set default path (/usr/sbin:/sbin:/bin included for non-KISS Linux chroots). +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-mod/core/baselayout/files/securetty b/core-mod/core/baselayout/files/securetty new file mode 100644 index 0000000..7014604 --- /dev/null +++ b/core-mod/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-mod/core/baselayout/files/shadow b/core-mod/core/baselayout/files/shadow new file mode 100644 index 0000000..9af03d3 --- /dev/null +++ b/core-mod/core/baselayout/files/shadow @@ -0,0 +1 @@ +root:!:14871:::::: diff --git a/core-mod/core/baselayout/files/shells b/core-mod/core/baselayout/files/shells new file mode 100644 index 0000000..15eb394 --- /dev/null +++ b/core-mod/core/baselayout/files/shells @@ -0,0 +1,4 @@ +# Pathnames of valid login shells. +# See shells(5) for details. + +/bin/sh diff --git a/core-mod/core/baselayout/sources b/core-mod/core/baselayout/sources new file mode 100644 index 0000000..abe0bf0 --- /dev/null +++ b/core-mod/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-mod/core/baselayout/version b/core-mod/core/baselayout/version new file mode 100644 index 0000000..9ebabbc --- /dev/null +++ b/core-mod/core/baselayout/version @@ -0,0 +1 @@ +1 8 diff --git a/core-mod/core/binutils/build b/core-mod/core/binutils/build new file mode 100755 index 0000000..0117925 --- /dev/null +++ b/core-mod/core/binutils/build @@ -0,0 +1,33 @@ +#!/bin/sh -e + +cat > makeinfo <sound/ +audio root:audio 660 >sound/ +dsp root:audio 660 >sound/ +mixer root:audio 660 >sound/ +sequencer.* root:audio 660 >sound/ + +card[0-9] root:video 660 =dri/ + +agpgart root:root 660 >misc/ +psaux root:root 660 >misc/ +rtc root:root 664 >misc/ + +dri/.* root:video 660 +snd/.* root:audio 660 + diff --git a/core-mod/core/busybox/files/mdev.run b/core-mod/core/busybox/files/mdev.run new file mode 100644 index 0000000..b7f5b44 --- /dev/null +++ b/core-mod/core/busybox/files/mdev.run @@ -0,0 +1,8 @@ +#!/bin/sh + +# Null the legacy hotplugger as the +# service will take over from here. +printf '\n' 2>/dev/null \ + > /proc/sys/kernel/hotplug + +exec mdev -df diff --git a/core-mod/core/busybox/files/ntpd.run b/core-mod/core/busybox/files/ntpd.run new file mode 100644 index 0000000..b679f74 --- /dev/null +++ b/core-mod/core/busybox/files/ntpd.run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec ntpd -n diff --git a/core-mod/core/busybox/files/syslogd.run b/core-mod/core/busybox/files/syslogd.run new file mode 100644 index 0000000..cdcfeaf --- /dev/null +++ b/core-mod/core/busybox/files/syslogd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec syslogd -n diff --git a/core-mod/core/busybox/patches/adduser-no-setgid.patch b/core-mod/core/busybox/patches/adduser-no-setgid.patch new file mode 100644 index 0000000..613c2ad --- /dev/null +++ b/core-mod/core/busybox/patches/adduser-no-setgid.patch @@ -0,0 +1,12 @@ +diff --git a/loginutils/adduser.c b/loginutils/adduser.c +index 850c810..68db3cb 100644 +--- a/loginutils/adduser.c ++++ b/loginutils/adduser.c +@@ -299,7 +299,6 @@ int adduser_main(int argc UNUSED_PARAM, char **argv) + } + if ((mkdir_err != 0 && errno != EEXIST) + || chown(pw.pw_dir, pw.pw_uid, pw.pw_gid) != 0 +- || chmod(pw.pw_dir, 02755) != 0 /* set setgid bit on homedir */ + ) { + bb_simple_perror_msg(pw.pw_dir); + } diff --git a/core-mod/core/busybox/patches/fix-UB+clang.patch b/core-mod/core/busybox/patches/fix-UB+clang.patch new file mode 100644 index 0000000..e442bfc --- /dev/null +++ b/core-mod/core/busybox/patches/fix-UB+clang.patch @@ -0,0 +1,65 @@ +diff --git a/coreutils/test.c b/coreutils/test.c +index 7c65743..ac0ac4e 100644 +--- a/coreutils/test.c ++++ b/coreutils/test.c +@@ -435,7 +435,7 @@ struct test_statics { + }; + + /* See test_ptr_hack.c */ +-extern struct test_statics *const test_ptr_to_statics; ++extern struct test_statics *test_ptr_to_statics; + + #define S (*test_ptr_to_statics) + #define args (S.args ) +diff --git a/include/libbb.h b/include/libbb.h +index cae5465..adbf4b8 100644 +--- a/include/libbb.h ++++ b/include/libbb.h +@@ -342,7 +342,7 @@ struct BUG_off_t_size_is_misdetected { + #if defined(errno) + /* If errno is a define, assume it's "define errno (*__errno_location())" + * and we will cache it's result in this variable */ +-extern int *const bb_errno; ++extern int *bb_errno; + #undef errno + #define errno (*bb_errno) + #define bb_cached_errno_ptr 1 +@@ -2228,7 +2228,7 @@ struct globals; + /* '*const' ptr makes gcc optimize code much better. + * Magic prevents ptr_to_globals from going into rodata. + * If you want to assign a value, use SET_PTR_TO_GLOBALS(x) */ +-extern struct globals *const ptr_to_globals; ++extern struct globals *ptr_to_globals; + + #if defined(__clang_major__) && __clang_major__ >= 9 + /* Clang/llvm drops assignment to "constant" storage. Silently. +diff --git a/libbb/lineedit.c b/libbb/lineedit.c +index 75de88e..78ad893 100644 +--- a/libbb/lineedit.c ++++ b/libbb/lineedit.c +@@ -192,7 +192,7 @@ struct lineedit_statics { + }; + + /* See lineedit_ptr_hack.c */ +-extern struct lineedit_statics *const lineedit_ptr_to_statics; ++extern struct lineedit_statics * lineedit_ptr_to_statics; + + #define S (*lineedit_ptr_to_statics) + #define state (S.state ) +diff --git a/shell/ash.c b/shell/ash.c +index f16d7fb..0eff957 100644 +--- a/shell/ash.c ++++ b/shell/ash.c +@@ -300,10 +300,9 @@ typedef long arith_t; + * set "-DBB_GLOBAL_CONST=''" in CONFIG_EXTRA_CFLAGS to disable + * this optimization. + */ +-#ifndef BB_GLOBAL_CONST +-# define BB_GLOBAL_CONST const +-#endif + ++#undef BB_GLOBAL_CONST ++#define BB_GLOBAL_CONST + + /* ============ Hash table sizes. Configurable. */ + diff --git a/core-mod/core/busybox/patches/fsck-resolve-uuid.patch b/core-mod/core/busybox/patches/fsck-resolve-uuid.patch new file mode 100644 index 0000000..fd2503e --- /dev/null +++ b/core-mod/core/busybox/patches/fsck-resolve-uuid.patch @@ -0,0 +1,56 @@ +From 2e673aac06d661038001286fd389d1b45c511c66 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 28 Nov 2017 13:23:17 +0100 +Subject: [PATCH] fsck: resolve LABEL=.../UUID=... spec to device + +--- + e2fsprogs/fsck.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c +index f5aa3dbe4..e2edc9747 100644 +--- a/e2fsprogs/fsck.c ++++ b/e2fsprogs/fsck.c +@@ -60,6 +60,7 @@ + //usage: "\n -t TYPE List of filesystem types to check" + + #include "libbb.h" ++#include "volume_id.h" + #include "common_bufsiz.h" + + /* "progress indicator" code is somewhat buggy and ext[23] specific. +@@ -524,12 +525,13 @@ static int wait_many(int flags) + * Execute a particular fsck program, and link it into the list of + * child processes we are waiting for. + */ +-static void execute(const char *type, const char *device, ++static void execute(const char *type, const char *spec, + const char *mntpt /*, int interactive */) + { + int i; + struct fsck_instance *inst; + pid_t pid; ++ char *device = (char *)spec; + + G.args[0] = xasprintf("fsck.%s", type); + +@@ -544,7 +546,8 @@ static void execute(const char *type, const char *device, + } + #endif + +- G.args[G.num_args - 2] = (char*)device; ++ resolve_mount_spec(&device); ++ G.args[G.num_args - 2] = device; + /* G.args[G.num_args - 1] = NULL; - already is */ + + if (G.verbose || G.noexecute) { +@@ -973,9 +976,6 @@ int fsck_main(int argc UNUSED_PARAM, char **argv) + + /* "/dev/blk" or "/path" or "UUID=xxx" or "LABEL=xxx" */ + if ((arg[0] == '/' && !opts_for_fsck) || strchr(arg, '=')) { +-// FIXME: must check that arg is a blkdev, or resolve +-// "/path", "UUID=xxx" or "LABEL=xxx" into block device name +-// ("UUID=xxx"/"LABEL=xxx" can probably shifted to fsck.auto duties) + devices = xrealloc_vector(devices, 2, num_devices); + devices[num_devices++] = arg; + continue; diff --git a/core-mod/core/busybox/patches/install-fix-chown.patch b/core-mod/core/busybox/patches/install-fix-chown.patch new file mode 100644 index 0000000..31ecd3c --- /dev/null +++ b/core-mod/core/busybox/patches/install-fix-chown.patch @@ -0,0 +1,36 @@ +chown must precede chmod because on some systems, +chown clears the set[ug]id bits for non-superusers, +resulting in incorrect permissions. +diff --git a/coreutils/install.c b/coreutils/install.c +index 8270490..0256aeb 100644 +--- a/coreutils/install.c ++++ b/coreutils/install.c +@@ -244,6 +244,14 @@ int install_main(int argc, char **argv) + } + } + ++ /* Set the user and group id */ ++ if ((opts & (OPT_OWNER|OPT_GROUP)) ++ && lchown(dest, uid, gid) == -1 ++ ) { ++ bb_perror_msg("can't change %s of %s", "ownership", dest); ++ ret = EXIT_FAILURE; ++ } ++ + /* Set the file mode (always, not only with -m). + * GNU coreutils 6.10 is not affected by umask. */ + if (chmod(dest, mode) == -1) { +@@ -254,13 +262,6 @@ int install_main(int argc, char **argv) + if (use_default_selinux_context) + setdefaultfilecon(dest); + #endif +- /* Set the user and group id */ +- if ((opts & (OPT_OWNER|OPT_GROUP)) +- && lchown(dest, uid, gid) == -1 +- ) { +- bb_perror_msg("can't change %s of %s", "ownership", dest); +- ret = EXIT_FAILURE; +- } + next: + if (ENABLE_FEATURE_CLEAN_UP && isdir) + free(dest); diff --git a/core-mod/core/busybox/patches/libressl.patch b/core-mod/core/busybox/patches/libressl.patch new file mode 100644 index 0000000..91350bb --- /dev/null +++ b/core-mod/core/busybox/patches/libressl.patch @@ -0,0 +1,56 @@ +From a32d2713828bc70762956c9d2f203d2202d1718d Mon Sep 17 00:00:00 2001 +From: git-bruh +Date: Wed, 17 Feb 2021 10:42:13 +0530 +Subject: [PATCH] Revert "wget: fix openssl options for cert verification" + +This reverts commit fc2ce04a38ebfb03f9aeff205979786839cd5a7c. +--- + networking/wget.c | 21 ++++----------------- + 1 file changed, 4 insertions(+), 17 deletions(-) + +diff --git a/networking/wget.c b/networking/wget.c +index e660c279c..d4a5966b6 100644 +--- a/networking/wget.c ++++ b/networking/wget.c +@@ -670,8 +670,7 @@ static int spawn_https_helper_openssl(const char *host, unsigned port) + pid = xvfork(); + if (pid == 0) { + /* Child */ +- char *argv[13]; +- char **argp; ++ char *argv[9]; + + close(sp[0]); + xmove_fd(sp[1], 0); +@@ -694,25 +693,13 @@ static int spawn_https_helper_openssl(const char *host, unsigned port) + * TLS server_name (SNI) field are FQDNs (DNS hostnames). + * IPv4 and IPv6 addresses, port numbers are not allowed. + */ +- argp = &argv[5]; + if (!is_ip_address(servername)) { +- *argp++ = (char*)"-servername"; //[5] +- *argp++ = (char*)servername; //[6] ++ argv[5] = (char*)"-servername"; ++ argv[6] = (char*)servername; + } + if (!(option_mask32 & WGET_OPT_NO_CHECK_CERT)) { +- /* Abort on bad server certificate */ +- *argp++ = (char*)"-verify"; //[7] +- *argp++ = (char*)"100"; //[8] +- *argp++ = (char*)"-verify_return_error"; //[9] +- if (!is_ip_address(servername)) { +- *argp++ = (char*)"-verify_hostname"; //[10] +- *argp++ = (char*)servername; //[11] +- } else { +- *argp++ = (char*)"-verify_ip"; //[10] +- *argp++ = (char*)host; //[11] +- } ++ argv[7] = (char*)"-verify_return_error"; + } +- //[12] (or earlier) is NULL terminator + + BB_EXECVP(argv[0], argv); + xmove_fd(3, 2); +-- +2.30.1 + diff --git a/core-mod/core/busybox/patches/lsusb-vendor-product.patch b/core-mod/core/busybox/patches/lsusb-vendor-product.patch new file mode 100644 index 0000000..45747ae --- /dev/null +++ b/core-mod/core/busybox/patches/lsusb-vendor-product.patch @@ -0,0 +1,53 @@ +diff --git a/util-linux/lsusb.c b/util-linux/lsusb.c +index e27aa7f31..b7b7abb99 100644 +--- a/util-linux/lsusb.c ++++ b/util-linux/lsusb.c +@@ -15,7 +15,16 @@ + //config: system and devices connected to them. + //config: + //config: This version uses sysfs (/sys/bus/usb/devices) only. +- ++//config: ++//config:config FEATURE_LSUSB_STRINGS ++//config: bool "Print vendor and product strings if they exist" ++//config: default y ++//config: depends on LSUSB ++//config: help ++//config: lsusb is a utility for displaying information about USB busses in the ++//config: system and devices connected to them. This option prints out the ++//config: vendor and product strings if they are available. This option ++//config: replicates a simpler version of util-linux lsusb output. + //applet:IF_LSUSB(APPLET_NOEXEC(lsusb, lsusb, BB_DIR_USR_BIN, BB_SUID_DROP, lsusb)) + + //kbuild:lib-$(CONFIG_LSUSB) += lsusb.o +@@ -37,6 +46,16 @@ static int FAST_FUNC fileAction( + int product_vid = 0, product_did = 0; + char *uevent_filename = concat_path_file(fileName, "/uevent"); + ++#if ENABLE_FEATURE_LSUSB_STRINGS ++ ssize_t vlen, plen; ++ // max length standard allows, any longer and someones being naughty ++ char vendor[256] = { 0 }, product[256] = { 0 }; ++ vlen = open_read_close(concat_path_file(fileName, "/manufacturer"), vendor, sizeof(vendor)); ++ vendor[vlen - 1] = '\0'; ++ plen = open_read_close(concat_path_file(fileName, "/product"), product, sizeof(product)); ++ product[plen - 1] = '\0'; ++#endif ++ + parser = config_open2(uevent_filename, fopen_for_read); + free(uevent_filename); + +@@ -64,7 +83,12 @@ static int FAST_FUNC fileAction( + config_close(parser); + + if (busnum) { +- printf("Bus %s Device %s: ID %04x:%04x\n", busnum, devnum, product_vid, product_did); ++ printf("Bus %s Device %s: ID %04x:%04x", busnum, devnum, product_vid, product_did); ++#if ENABLE_FEATURE_LSUSB_STRINGS ++ if(vlen) printf(" %s", vendor); ++ if(plen) printf(" %s", product); ++#endif ++ printf("\n"); + free(busnum); + free(devnum); + } diff --git a/core-mod/core/busybox/patches/modprobe-kernel-version.patch b/core-mod/core/busybox/patches/modprobe-kernel-version.patch new file mode 100644 index 0000000..2d4274a --- /dev/null +++ b/core-mod/core/busybox/patches/modprobe-kernel-version.patch @@ -0,0 +1,71 @@ +diff --git a/modutils/modprobe.c b/modutils/modprobe.c +index 0a372a049..ecb29a8fd 100644 +--- a/modutils/modprobe.c ++++ b/modutils/modprobe.c +@@ -111,7 +111,7 @@ + //usage: " from the command line\n" + //usage: + //usage:#define modprobe_trivial_usage +-//usage: "[-alrqvsD" IF_FEATURE_MODPROBE_BLACKLIST("b") "]" ++//usage: "[-alrqvsD" IF_FEATURE_MODPROBE_BLACKLIST("b") "]" " [-S VERSION]" + //usage: " MODULE" IF_FEATURE_CMDLINE_MODULE_OPTIONS(" [SYMBOL=VALUE]...") + //usage:#define modprobe_full_usage "\n\n" + //usage: " -a Load multiple MODULEs" +@@ -121,6 +121,7 @@ + //usage: "\n -v Verbose" + //usage: "\n -s Log to syslog" + //usage: "\n -D Show dependencies" ++//usage: "\n -S Set kernel version" + //usage: IF_FEATURE_MODPROBE_BLACKLIST( + //usage: "\n -b Apply blacklist to module names too" + //usage: ) +@@ -131,7 +132,7 @@ + * Note2: -b is always accepted, but if !FEATURE_MODPROBE_BLACKLIST, + * it is a no-op. + */ +-#define MODPROBE_OPTS "alrDb" ++#define MODPROBE_OPTS "alrDS:b" + /* -a and -D _are_ in fact compatible */ + #define MODPROBE_COMPLEMENTARY "q-v:v-q:l--arD:r--alD:a--lr:D--rl" + //#define MODPROBE_OPTS "acd:lnrt:C:b" +@@ -147,7 +148,8 @@ enum { + //OPT_VERONLY = (INSMOD_OPT_UNUSED << x), /* V */ + //OPT_CONFIGFILE = (INSMOD_OPT_UNUSED << x), /* C */ + OPT_SHOW_DEPS = (INSMOD_OPT_UNUSED << 3), /* D */ +- OPT_BLACKLIST = (INSMOD_OPT_UNUSED << 4) * ENABLE_FEATURE_MODPROBE_BLACKLIST, ++ OPT_KERNEL = (INSMOD_OPT_UNUSED << 4), /* S */ ++ OPT_BLACKLIST = (INSMOD_OPT_UNUSED << 5) * ENABLE_FEATURE_MODPROBE_BLACKLIST, + }; + #if ENABLE_LONG_OPTS + static const char modprobe_longopts[] ALIGN1 = +@@ -560,6 +562,7 @@ int modprobe_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; + int modprobe_main(int argc UNUSED_PARAM, char **argv) + { + int rc; ++ char *kernel; + unsigned opt; + struct module_entry *me; + +@@ -567,13 +570,20 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv) + + opt = getopt32long(argv, "^" INSMOD_OPTS MODPROBE_OPTS "\0" MODPROBE_COMPLEMENTARY, + modprobe_longopts +- INSMOD_ARGS ++ INSMOD_ARGS, ++ &kernel + ); + argv += optind; + ++ /* Set user specified kernel version */ ++ if (opt & OPT_KERNEL) { ++ safe_strncpy(G.uts.release, kernel, sizeof(G.uts.release)); ++ } else { ++ uname(&G.uts); ++ } ++ + /* Goto modules location */ + xchdir(CONFIG_DEFAULT_MODULES_DIR); +- uname(&G.uts); + xchdir(G.uts.release); + + if (opt & OPT_LIST_ONLY) { \ No newline at end of file diff --git a/core-mod/core/busybox/patches/print-unicode.patch b/core-mod/core/busybox/patches/print-unicode.patch new file mode 100644 index 0000000..178fb93 --- /dev/null +++ b/core-mod/core/busybox/patches/print-unicode.patch @@ -0,0 +1,22 @@ +diff --git a/libbb/printable_string.c b/libbb/printable_string.c +index a814fd0..f4c7b00 100644 +--- a/libbb/printable_string.c ++++ b/libbb/printable_string.c +@@ -28,8 +28,6 @@ const char* FAST_FUNC printable_string2(uni_stat_t *stats, const char *str) + } + if (c < ' ') + break; +- if (c >= 0x7f) +- break; + s++; + } + +@@ -42,7 +40,7 @@ const char* FAST_FUNC printable_string2(uni_stat_t *stats, const char *str) + unsigned char c = *d; + if (c == '\0') + break; +- if (c < ' ' || c >= 0x7f) ++ if (c < ' ') + *d = '?'; + d++; + } diff --git a/core-mod/core/busybox/patches/unzip-usage-no-error.patch b/core-mod/core/busybox/patches/unzip-usage-no-error.patch new file mode 100644 index 0000000..27b2336 --- /dev/null +++ b/core-mod/core/busybox/patches/unzip-usage-no-error.patch @@ -0,0 +1,20 @@ +diff --git a/archival/unzip.c b/archival/unzip.c +index d94bbab..f424fb0 100644 +--- a/archival/unzip.c ++++ b/archival/unzip.c +@@ -592,6 +592,7 @@ int unzip_main(int argc, char **argv) + break; + + default: ++ xfunc_error_retval = 0; + bb_show_usage(); + } + } +@@ -615,6 +616,7 @@ int unzip_main(int argc, char **argv) + #endif + + if (!src_fn) { ++ xfunc_error_retval = 0; + bb_show_usage(); + } + diff --git a/core-mod/core/busybox/sources b/core-mod/core/busybox/sources new file mode 100644 index 0000000..527fbb2 --- /dev/null +++ b/core-mod/core/busybox/sources @@ -0,0 +1,18 @@ +https://git.busybox.net/busybox/snapshot/busybox-1_33_1.tar.gz +files/.config +files/.config-suid +files/acpid.run +files/crond.run +files/mdev.conf +files/mdev.run +files/ntpd.run +files/syslogd.run +patches/adduser-no-setgid.patch +patches/fix-UB+clang.patch +patches/fsck-resolve-uuid.patch +patches/install-fix-chown.patch +patches/libressl.patch +patches/lsusb-vendor-product.patch +patches/modprobe-kernel-version.patch +patches/print-unicode.patch +patches/unzip-usage-no-error.patch diff --git a/core-mod/core/busybox/version b/core-mod/core/busybox/version new file mode 100644 index 0000000..741d813 --- /dev/null +++ b/core-mod/core/busybox/version @@ -0,0 +1 @@ +1.33.1 1 diff --git a/core-mod/core/bzip2/build b/core-mod/core/bzip2/build new file mode 100755 index 0000000..ac1055b --- /dev/null +++ b/core-mod/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-mod/core/bzip2/checksums b/core-mod/core/bzip2/checksums new file mode 100644 index 0000000..b50d346 --- /dev/null +++ b/core-mod/core/bzip2/checksums @@ -0,0 +1 @@ +ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269 bzip2-1.0.8.tar.gz diff --git a/core-mod/core/bzip2/sources b/core-mod/core/bzip2/sources new file mode 100644 index 0000000..a04bc1b --- /dev/null +++ b/core-mod/core/bzip2/sources @@ -0,0 +1 @@ +https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz diff --git a/core-mod/core/bzip2/version b/core-mod/core/bzip2/version new file mode 100644 index 0000000..0bc3d1e --- /dev/null +++ b/core-mod/core/bzip2/version @@ -0,0 +1 @@ +1.0.8 1 diff --git a/core-mod/core/curl/build b/core-mod/core/curl/build new file mode 100755 index 0000000..ac49964 --- /dev/null +++ b/core-mod/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-mod/core/curl/checksums b/core-mod/core/curl/checksums new file mode 100644 index 0000000..efca4bf --- /dev/null +++ b/core-mod/core/curl/checksums @@ -0,0 +1 @@ +0f64582c54282f31c0de9f0a1a596b182776bd4df9a4c4a2a41bbeb54f62594b diff --git a/core-mod/core/curl/depends b/core-mod/core/curl/depends new file mode 100644 index 0000000..9ee911a --- /dev/null +++ b/core-mod/core/curl/depends @@ -0,0 +1,2 @@ +libressl +zlib diff --git a/core-mod/core/curl/sources b/core-mod/core/curl/sources new file mode 100644 index 0000000..4c9b3f0 --- /dev/null +++ b/core-mod/core/curl/sources @@ -0,0 +1 @@ +https://curl.haxx.se/download/curl-7.77.0.tar.xz diff --git a/core-mod/core/curl/version b/core-mod/core/curl/version new file mode 100644 index 0000000..2df10bc --- /dev/null +++ b/core-mod/core/curl/version @@ -0,0 +1 @@ +7.77.0 1 diff --git a/core-mod/core/flex/build b/core-mod/core/flex/build new file mode 100755 index 0000000..2a1bda0 --- /dev/null +++ b/core-mod/core/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/core-mod/core/flex/checksums b/core-mod/core/flex/checksums new file mode 100644 index 0000000..5f05df5 --- /dev/null +++ b/core-mod/core/flex/checksums @@ -0,0 +1 @@ +e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 flex-2.6.4.tar.gz diff --git a/core-mod/core/flex/depends b/core-mod/core/flex/depends new file mode 100644 index 0000000..e8fb4a1 --- /dev/null +++ b/core-mod/core/flex/depends @@ -0,0 +1 @@ +m4 make diff --git a/core-mod/core/flex/sources b/core-mod/core/flex/sources new file mode 100644 index 0000000..c10fca7 --- /dev/null +++ b/core-mod/core/flex/sources @@ -0,0 +1 @@ +https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz diff --git a/core-mod/core/flex/version b/core-mod/core/flex/version new file mode 100644 index 0000000..030e21a --- /dev/null +++ b/core-mod/core/flex/version @@ -0,0 +1 @@ +2.6.4 4 diff --git a/core-mod/core/gcc/build b/core-mod/core/gcc/build new file mode 100755 index 0000000..fc3ad58 --- /dev/null +++ b/core-mod/core/gcc/build @@ -0,0 +1,75 @@ +#!/bin/sh -e + +# Make sure gmp is built with generic options. +cp gcc/gmp/configfsf.guess gcc/gmp/config.guess +cp gcc/gmp/configfsf.sub gcc/gmp/config.sub + +# Use lib not lib64 by default. +sed -i '/m64=/s/lib64/lib/' gcc/gcc/config/i386/t-linux64 +sed -i 's/lib64/lib/' gcc/gcc/config/i386/linux64.h + +# Build must happen outside of gcc source. +mkdir -p gcc-build +cd gcc-build + +# Grab the system's GCC version. +IFS=. read -r gcc_version _ 2>/dev/null \ + < "$KISS_ROOT/var/db/kiss/installed/gcc/version" || gcc_version=null + +# Skip the bootstrap process if we are able. +case $2 in "$gcc_version"*) + printf '%s\n' "Minor version difference, disabling bootstrap." + bootstrap=--disable-bootstrap +esac + +export libat_cv_have_ifunc=no + +../gcc/configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-multilib \ + --disable-symvers \ + --disable-libmpx \ + --disable-libmudflap \ + --disable-libsanitizer \ + --disable-werror \ + --disable-fixed-point \ + --disable-libstdcxx-pch \ + --disable-nls \ + --enable-checking=release \ + --enable-__cxa_atexit \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-shared \ + --enable-threads \ + --enable-tls \ + --enable-languages=c,c++ \ + --without-included-gettext \ + --with-zstd=no \ + --with-system-zlib \ + --build=x86_64-pc-linux-musl \ + "${bootstrap:---enable-bootstrap}" + +make +make DESTDIR="$1" install + +# Save 35MB. +find "$1" -name libgtkpeer.a -exec rm -f {} + +find "$1" -name libgjsmalsa.a -exec rm -f {} + +find "$1" -name libgij.a -exec rm -f {} + + +# Some legacy programs will expect cc +ln -s gcc "$1/usr/bin/cc" + +# POSIX compliance. +install -Dm755 ../c99 "$1/usr/bin/c99" + +# Symlink for LTO. +{ + mkdir -p "$1/usr/lib/bfd-plugins" + + ln -s "/usr/lib/gcc/x86_64-pc-linux-musl/$2/liblto_plugin.so" \ + "$1/usr/lib/bfd-plugins/liblto_plugin.so" +} diff --git a/core-mod/core/gcc/checksums b/core-mod/core/gcc/checksums new file mode 100644 index 0000000..a8bc890 --- /dev/null +++ b/core-mod/core/gcc/checksums @@ -0,0 +1,5 @@ +4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf +fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 +0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f +17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459 +765614b3396d70bca3fa0ae4a813632486c6dca320e2bd13c8c39dca52be4a4c diff --git a/core-mod/core/gcc/depends b/core-mod/core/gcc/depends new file mode 100644 index 0000000..ca8b7e5 --- /dev/null +++ b/core-mod/core/gcc/depends @@ -0,0 +1,4 @@ +binutils +bison make +flex make +zlib diff --git a/core-mod/core/gcc/files/c99 b/core-mod/core/gcc/files/c99 new file mode 100644 index 0000000..692f092 --- /dev/null +++ b/core-mod/core/gcc/files/c99 @@ -0,0 +1,2 @@ +#!/bin/sh +exec cc -std=c99 "$@" diff --git a/core-mod/core/gcc/sources b/core-mod/core/gcc/sources new file mode 100644 index 0000000..19bb893 --- /dev/null +++ b/core-mod/core/gcc/sources @@ -0,0 +1,5 @@ +https://gcc.gnu.org/pub/gcc/releases/gcc-11.1.0/gcc-11.1.0.tar.xz gcc +https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz gcc/gmp +https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.xz gcc/mpfr +https://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz gcc/mpc +files/c99 diff --git a/core-mod/core/gcc/version b/core-mod/core/gcc/version new file mode 100644 index 0000000..ec1ee9a --- /dev/null +++ b/core-mod/core/gcc/version @@ -0,0 +1 @@ +11.1.0 1 diff --git a/core-mod/core/git/build b/core-mod/core/git/build new file mode 100755 index 0000000..4d29f18 --- /dev/null +++ b/core-mod/core/git/build @@ -0,0 +1,29 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +cat > config.mak <&2 + exit 1 +} + +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-mod/core/libressl/post-install b/core-mod/core/libressl/post-install new file mode 100755 index 0000000..c12dca7 --- /dev/null +++ b/core-mod/core/libressl/post-install @@ -0,0 +1,3 @@ +#!/bin/sh + +/etc/ssl/update-certdata.sh diff --git a/core-mod/core/libressl/sources b/core-mod/core/libressl/sources new file mode 100644 index 0000000..79ed0b2 --- /dev/null +++ b/core-mod/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-mod/core/libressl/version b/core-mod/core/libressl/version new file mode 100644 index 0000000..e82f87f --- /dev/null +++ b/core-mod/core/libressl/version @@ -0,0 +1 @@ +3.3.3 1 diff --git a/core-mod/core/linux-headers/build b/core-mod/core/linux-headers/build new file mode 100755 index 0000000..9f5ea9b --- /dev/null +++ b/core-mod/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-mod/core/linux-headers/checksums b/core-mod/core/linux-headers/checksums new file mode 100644 index 0000000..0d4f71b --- /dev/null +++ b/core-mod/core/linux-headers/checksums @@ -0,0 +1 @@ +ed1661128c9bd3e8c9f55e345f715b90fefcf6b127c77e0286773242e7a14e5c diff --git a/core-mod/core/linux-headers/sources b/core-mod/core/linux-headers/sources new file mode 100644 index 0000000..6fb2c46 --- /dev/null +++ b/core-mod/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-mod/core/linux-headers/version b/core-mod/core/linux-headers/version new file mode 100644 index 0000000..1209f7e --- /dev/null +++ b/core-mod/core/linux-headers/version @@ -0,0 +1 @@ +5.10.1 1 diff --git a/core-mod/core/m4/build b/core-mod/core/m4/build new file mode 100755 index 0000000..206a476 --- /dev/null +++ b/core-mod/core/m4/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/core/m4/checksums b/core-mod/core/m4/checksums new file mode 100644 index 0000000..e413a19 --- /dev/null +++ b/core-mod/core/m4/checksums @@ -0,0 +1 @@ +63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96 diff --git a/core-mod/core/m4/sources b/core-mod/core/m4/sources new file mode 100644 index 0000000..bde2eff --- /dev/null +++ b/core-mod/core/m4/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz diff --git a/core-mod/core/m4/version b/core-mod/core/m4/version new file mode 100644 index 0000000..b97669c --- /dev/null +++ b/core-mod/core/m4/version @@ -0,0 +1 @@ +1.4.19 1 diff --git a/core-mod/core/make/build b/core-mod/core/make/build new file mode 100755 index 0000000..206a476 --- /dev/null +++ b/core-mod/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-mod/core/make/checksums b/core-mod/core/make/checksums new file mode 100644 index 0000000..8ce10bc --- /dev/null +++ b/core-mod/core/make/checksums @@ -0,0 +1 @@ +e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19 make-4.3.tar.gz diff --git a/core-mod/core/make/sources b/core-mod/core/make/sources new file mode 100644 index 0000000..038f47f --- /dev/null +++ b/core-mod/core/make/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/make/make-4.3.tar.gz diff --git a/core-mod/core/make/version b/core-mod/core/make/version new file mode 100644 index 0000000..aead541 --- /dev/null +++ b/core-mod/core/make/version @@ -0,0 +1 @@ +4.3 1 diff --git a/core-mod/core/musl/build b/core-mod/core/musl/build new file mode 100755 index 0000000..a003f10 --- /dev/null +++ b/core-mod/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-mod/core/musl/checksums b/core-mod/core/musl/checksums new file mode 100644 index 0000000..5fab64a --- /dev/null +++ b/core-mod/core/musl/checksums @@ -0,0 +1,6 @@ +9b969322012d796dc23dda27a35866034fa67d8fb67e0e2c45c913c3d43219dd +a83818007069c222d24d283a99348c2376f35bac3282d8142004c47d3dc5ecac +c13407edd0e33be73cae72514cb234f8612e1c0e54401c9448daffd3a240158b +e1e498a79bf160a5766fa560f2b07b206fe89fe21a62600c77d72e00a6992f92 +d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c +b323f20c9bf560a13c877eb05428bc4a203383697bac763e7b12865db5c5922c diff --git a/core-mod/core/musl/files/cdefs.h b/core-mod/core/musl/files/cdefs.h new file mode 100755 index 0000000..a60f0e2 --- /dev/null +++ b/core-mod/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-mod/core/musl/files/getconf.c b/core-mod/core/musl/files/getconf.c new file mode 100644 index 0000000..c423524 --- /dev/null +++ b/core-mod/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-mod/core/musl/files/getent.c b/core-mod/core/musl/files/getent.c new file mode 100644 index 0000000..b10d75a --- /dev/null +++ b/core-mod/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-mod/core/musl/files/queue.h b/core-mod/core/musl/files/queue.h new file mode 100755 index 0000000..a38499a --- /dev/null +++ b/core-mod/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-mod/core/musl/files/tree.h b/core-mod/core/musl/files/tree.h new file mode 100755 index 0000000..eaea56a --- /dev/null +++ b/core-mod/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-mod/core/musl/sources b/core-mod/core/musl/sources new file mode 100644 index 0000000..f9e8b81 --- /dev/null +++ b/core-mod/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-mod/core/musl/version b/core-mod/core/musl/version new file mode 100644 index 0000000..5266927 --- /dev/null +++ b/core-mod/core/musl/version @@ -0,0 +1 @@ +1.2.2 1 diff --git a/core-mod/core/xz/build b/core-mod/core/xz/build new file mode 100755 index 0000000..e04e728 --- /dev/null +++ b/core-mod/core/xz/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-nls + +make +make DESTDIR="$1" install diff --git a/core-mod/core/xz/checksums b/core-mod/core/xz/checksums new file mode 100644 index 0000000..030e2e2 --- /dev/null +++ b/core-mod/core/xz/checksums @@ -0,0 +1 @@ +5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df xz-5.2.5.tar.bz2 diff --git a/core-mod/core/xz/sources b/core-mod/core/xz/sources new file mode 100644 index 0000000..657c0be --- /dev/null +++ b/core-mod/core/xz/sources @@ -0,0 +1 @@ +https://nchc.dl.sourceforge.net/project/lzmautils/xz-5.2.5.tar.bz2 diff --git a/core-mod/core/xz/version b/core-mod/core/xz/version new file mode 100644 index 0000000..666bb36 --- /dev/null +++ b/core-mod/core/xz/version @@ -0,0 +1 @@ +5.2.5 1 diff --git a/core-mod/core/zlib/build b/core-mod/core/zlib/build new file mode 100755 index 0000000..2426a8e --- /dev/null +++ b/core-mod/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-mod/core/zlib/checksums b/core-mod/core/zlib/checksums new file mode 100644 index 0000000..ec1ba07 --- /dev/null +++ b/core-mod/core/zlib/checksums @@ -0,0 +1 @@ +c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 diff --git a/core-mod/core/zlib/sources b/core-mod/core/zlib/sources new file mode 100644 index 0000000..17f901f --- /dev/null +++ b/core-mod/core/zlib/sources @@ -0,0 +1 @@ +https://zlib.net/zlib-1.2.11.tar.gz diff --git a/core-mod/core/zlib/version b/core-mod/core/zlib/version new file mode 100644 index 0000000..41acf3f --- /dev/null +++ b/core-mod/core/zlib/version @@ -0,0 +1 @@ +1.2.11 3 diff --git a/core-mod/extra/acpid/build b/core-mod/extra/acpid/build new file mode 100755 index 0000000..258802e --- /dev/null +++ b/core-mod/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/core-mod/extra/acpid/checksums b/core-mod/extra/acpid/checksums new file mode 100644 index 0000000..dd8917f --- /dev/null +++ b/core-mod/extra/acpid/checksums @@ -0,0 +1,2 @@ +f2d2d30b3edc3234bd82f6f7186699a6aa3c85c8d20bc4e30e9b3c68a1ed157e acpid-2.0.32.tar.xz +ebd61afac770d3d9cae5c411f44002496fb18b28cf7b77520072a3909852246e acpid.run diff --git a/core-mod/extra/acpid/depends b/core-mod/extra/acpid/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core-mod/extra/acpid/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core-mod/extra/acpid/files/acpid.run b/core-mod/extra/acpid/files/acpid.run new file mode 100644 index 0000000..5baf800 --- /dev/null +++ b/core-mod/extra/acpid/files/acpid.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec acpid -f diff --git a/core-mod/extra/acpid/sources b/core-mod/extra/acpid/sources new file mode 100644 index 0000000..7dc4321 --- /dev/null +++ b/core-mod/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/core-mod/extra/acpid/version b/core-mod/extra/acpid/version new file mode 100644 index 0000000..1cf6aae --- /dev/null +++ b/core-mod/extra/acpid/version @@ -0,0 +1 @@ +2.0.32 2 diff --git a/core-mod/extra/alsa-lib/build b/core-mod/extra/alsa-lib/build new file mode 100755 index 0000000..544d049 --- /dev/null +++ b/core-mod/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/core-mod/extra/alsa-lib/checksums b/core-mod/extra/alsa-lib/checksums new file mode 100644 index 0000000..11068dc --- /dev/null +++ b/core-mod/extra/alsa-lib/checksums @@ -0,0 +1 @@ +628421d950cecaf234de3f899d520c0a6923313c964ad751ffac081df331438e diff --git a/core-mod/extra/alsa-lib/depends b/core-mod/extra/alsa-lib/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core-mod/extra/alsa-lib/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core-mod/extra/alsa-lib/sources b/core-mod/extra/alsa-lib/sources new file mode 100644 index 0000000..035cb3b --- /dev/null +++ b/core-mod/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/core-mod/extra/alsa-lib/version b/core-mod/extra/alsa-lib/version new file mode 100644 index 0000000..9e7ce45 --- /dev/null +++ b/core-mod/extra/alsa-lib/version @@ -0,0 +1 @@ +1.2.5.1 1 diff --git a/core-mod/extra/alsa-utils/build b/core-mod/extra/alsa-utils/build new file mode 100755 index 0000000..54fbfa1 --- /dev/null +++ b/core-mod/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/core-mod/extra/alsa-utils/checksums b/core-mod/extra/alsa-utils/checksums new file mode 100644 index 0000000..e1555d4 --- /dev/null +++ b/core-mod/extra/alsa-utils/checksums @@ -0,0 +1 @@ +9c169ae37a49295f9b97b92ace772803daf6b6510a19574e0b78f87e562118d0 diff --git a/core-mod/extra/alsa-utils/depends b/core-mod/extra/alsa-utils/depends new file mode 100644 index 0000000..121c051 --- /dev/null +++ b/core-mod/extra/alsa-utils/depends @@ -0,0 +1,3 @@ +alsa-lib +linux-headers make +ncurses diff --git a/core-mod/extra/alsa-utils/sources b/core-mod/extra/alsa-utils/sources new file mode 100644 index 0000000..b27d432 --- /dev/null +++ b/core-mod/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/core-mod/extra/alsa-utils/version b/core-mod/extra/alsa-utils/version new file mode 100644 index 0000000..9e7ce45 --- /dev/null +++ b/core-mod/extra/alsa-utils/version @@ -0,0 +1 @@ +1.2.5.1 1 diff --git a/core-mod/extra/atk/build b/core-mod/extra/atk/build new file mode 100755 index 0000000..5ed96b1 --- /dev/null +++ b/core-mod/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/core-mod/extra/atk/checksums b/core-mod/extra/atk/checksums new file mode 100644 index 0000000..00ffc54 --- /dev/null +++ b/core-mod/extra/atk/checksums @@ -0,0 +1 @@ +fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788 diff --git a/core-mod/extra/atk/depends b/core-mod/extra/atk/depends new file mode 100644 index 0000000..44ea227 --- /dev/null +++ b/core-mod/extra/atk/depends @@ -0,0 +1,4 @@ +glib +libffi +meson make +pkgconf make diff --git a/core-mod/extra/atk/sources b/core-mod/extra/atk/sources new file mode 100644 index 0000000..069914b --- /dev/null +++ b/core-mod/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/core-mod/extra/atk/version b/core-mod/extra/atk/version new file mode 100644 index 0000000..c3e6319 --- /dev/null +++ b/core-mod/extra/atk/version @@ -0,0 +1 @@ +2.36.0 1 diff --git a/core-mod/extra/cairo/build b/core-mod/extra/cairo/build new file mode 100755 index 0000000..597dfd0 --- /dev/null +++ b/core-mod/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/core-mod/extra/cairo/checksums b/core-mod/extra/cairo/checksums new file mode 100644 index 0000000..83f9db7 --- /dev/null +++ b/core-mod/extra/cairo/checksums @@ -0,0 +1 @@ +5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 diff --git a/core-mod/extra/cairo/depends b/core-mod/extra/cairo/depends new file mode 100644 index 0000000..f5ee7b0 --- /dev/null +++ b/core-mod/extra/cairo/depends @@ -0,0 +1,10 @@ +fontconfig +glib +libffi +libpng +libXext +libXrender +mesa +pixman +pkgconf make +zlib diff --git a/core-mod/extra/cairo/sources b/core-mod/extra/cairo/sources new file mode 100644 index 0000000..e43c5aa --- /dev/null +++ b/core-mod/extra/cairo/sources @@ -0,0 +1 @@ +https://cairographics.org/releases/cairo-1.16.0.tar.xz diff --git a/core-mod/extra/cairo/version b/core-mod/extra/cairo/version new file mode 100644 index 0000000..df10ebf --- /dev/null +++ b/core-mod/extra/cairo/version @@ -0,0 +1 @@ +1.16.0 1 diff --git a/core-mod/extra/ccache/build b/core-mod/extra/ccache/build new file mode 100755 index 0000000..61738ef --- /dev/null +++ b/core-mod/extra/ccache/build @@ -0,0 +1,27 @@ +#!/bin/sh -e + +export DESTDIR="$1" +export CFLAGS="$CFLAGS -static" +export CXXFLAGS="$CXXFLAGS -static" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_TESTING=OFF \ + -DZSTD_LIBRARY=/usr/lib/libzstd.a + +cmake --build build +cmake --install build + +mkdir -p "$1/usr/lib/ccache/bin" +host=$(cc -dumpmachine) + +for link in \ + cc "$host-cc" \ + gcc "$host-gcc" \ + g++ "$host-g++" \ + cpp "$host-cpp" \ + c++ "$host-c++" +do + ln -sf /usr/bin/ccache "$1/usr/lib/ccache/bin/$link" +done diff --git a/core-mod/extra/ccache/checksums b/core-mod/extra/ccache/checksums new file mode 100644 index 0000000..f41bbc4 --- /dev/null +++ b/core-mod/extra/ccache/checksums @@ -0,0 +1 @@ +504a0f2184465c306826f035b4bc00bae7500308d6af4abbfb50e33a694989b4 diff --git a/core-mod/extra/ccache/depends b/core-mod/extra/ccache/depends new file mode 100644 index 0000000..e52bd7d --- /dev/null +++ b/core-mod/extra/ccache/depends @@ -0,0 +1,2 @@ +cmake make +zstd make diff --git a/core-mod/extra/ccache/post-install b/core-mod/extra/ccache/post-install new file mode 100755 index 0000000..ee7bde6 --- /dev/null +++ b/core-mod/extra/ccache/post-install @@ -0,0 +1,16 @@ +#!/bin/sh + +cat < export PATH=/usr/lib/ccache/bin:\$PATH + +NOTE: Clang is not supported out-of-the-box. + The following symlinks need to be created. + +-> ln -s /usr/bin/ccache /usr/lib/ccache/bin/clang +-> ln -s /usr/bin/ccache /usr/lib/ccache/bin/clang++ + +EOF diff --git a/core-mod/extra/ccache/sources b/core-mod/extra/ccache/sources new file mode 100644 index 0000000..016b70d --- /dev/null +++ b/core-mod/extra/ccache/sources @@ -0,0 +1 @@ +https://github.com/ccache/ccache/releases/download/v4.3/ccache-4.3.tar.xz diff --git a/core-mod/extra/ccache/version b/core-mod/extra/ccache/version new file mode 100644 index 0000000..aead541 --- /dev/null +++ b/core-mod/extra/ccache/version @@ -0,0 +1 @@ +4.3 1 diff --git a/core-mod/extra/cmake/build b/core-mod/extra/cmake/build new file mode 100755 index 0000000..e942b4c --- /dev/null +++ b/core-mod/extra/cmake/build @@ -0,0 +1,33 @@ +#!/bin/sh -e + +patch -p1 < cmake-no-execinfo.patch + +if kiss l cmake; then + export DESTDIR="$1" + + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_USE_SYSTEM_CURL=True \ + -DCMAKE_USE_SYSTEM_EXPAT=True \ + -DCMAKE_USE_SYSTEM_ZLIB=True \ + -DCMAKE_USE_SYSTEM_BZIP2=True \ + -DBUILD_TESTING=OFF + + cmake --build build + cmake --install build + +else + ./configure \ + --prefix=/usr \ + --system-curl \ + --system-expat \ + --system-zlib \ + --system-bzip2 + + make + make DESTDIR="$1" install +fi + +rm -rf "$1/usr/doc" +rm -rf "$1/usr/share/cmake"*/Help diff --git a/core-mod/extra/cmake/checksums b/core-mod/extra/cmake/checksums new file mode 100644 index 0000000..56ff7e3 --- /dev/null +++ b/core-mod/extra/cmake/checksums @@ -0,0 +1,2 @@ +12c8040ef5c6f1bc5b8868cede16bb7926c18980f59779e299ab52cbc6f15bb0 +93f5582efd076673f9bcb3e639bd594e378954a5a3130e5921027ede23c3325c diff --git a/core-mod/extra/cmake/depends b/core-mod/extra/cmake/depends new file mode 100644 index 0000000..1a51841 --- /dev/null +++ b/core-mod/extra/cmake/depends @@ -0,0 +1,6 @@ +bzip2 +curl +expat +libressl +linux-headers make +zlib diff --git a/core-mod/extra/cmake/patches/cmake-no-execinfo.patch b/core-mod/extra/cmake/patches/cmake-no-execinfo.patch new file mode 100644 index 0000000..fd1e715 --- /dev/null +++ b/core-mod/extra/cmake/patches/cmake-no-execinfo.patch @@ -0,0 +1,52 @@ +diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx +index ed1cdc0..d3afe21 100644 +--- a/Source/kwsys/SystemInformation.cxx ++++ b/Source/kwsys/SystemInformation.cxx +@@ -150,18 +150,8 @@ typedef struct rlimit ResourceLimitType; + # include + #endif + +-#if defined(KWSYS_SYSTEMINFORMATION_HAS_BACKTRACE) +-# include +-# if defined(KWSYS_SYSTEMINFORMATION_HAS_CPP_DEMANGLE) +-# include +-# endif +-# if defined(KWSYS_SYSTEMINFORMATION_HAS_SYMBOL_LOOKUP) +-# include +-# endif +-#else + # undef KWSYS_SYSTEMINFORMATION_HAS_CPP_DEMANGLE + # undef KWSYS_SYSTEMINFORMATION_HAS_SYMBOL_LOOKUP +-#endif + + #include // int isdigit(int c); + #include +diff --git a/Source/kwsys/kwsysPlatformTestsCXX.cxx b/Source/kwsys/kwsysPlatformTestsCXX.cxx +index 0bfa20e..0208417 100644 +--- a/Source/kwsys/kwsysPlatformTestsCXX.cxx ++++ b/Source/kwsys/kwsysPlatformTestsCXX.cxx +@@ -102,24 +102,6 @@ int main() + } + #endif + +-#ifdef TEST_KWSYS_CXX_HAS_BACKTRACE +-# if defined(__PATHSCALE__) || defined(__PATHCC__) || \ +- (defined(__LSB_VERSION__) && (__LSB_VERSION__ < 41)) +-backtrace does not work with this compiler or os +-# endif +-# if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) +-# define _GNU_SOURCE +-# endif +-# include +-int main() +-{ +- void* stackSymbols[256]; +- backtrace(stackSymbols, 256); +- backtrace_symbols(&stackSymbols[0], 1); +- return 0; +-} +-#endif +- + #ifdef TEST_KWSYS_CXX_HAS_DLADDR + # if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) + # define _GNU_SOURCE diff --git a/core-mod/extra/cmake/sources b/core-mod/extra/cmake/sources new file mode 100644 index 0000000..0e66b45 --- /dev/null +++ b/core-mod/extra/cmake/sources @@ -0,0 +1,2 @@ +https://cmake.org/files/v3.20/cmake-3.20.5.tar.gz +patches/cmake-no-execinfo.patch diff --git a/core-mod/extra/cmake/version b/core-mod/extra/cmake/version new file mode 100644 index 0000000..94cd8a6 --- /dev/null +++ b/core-mod/extra/cmake/version @@ -0,0 +1 @@ +3.20.5 1 diff --git a/core-mod/extra/dhcpcd/build b/core-mod/extra/dhcpcd/build new file mode 100755 index 0000000..954bc10 --- /dev/null +++ b/core-mod/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/core-mod/extra/dhcpcd/checksums b/core-mod/extra/dhcpcd/checksums new file mode 100644 index 0000000..fa7c4d2 --- /dev/null +++ b/core-mod/extra/dhcpcd/checksums @@ -0,0 +1,2 @@ +9bac373f17e8a2f8102aecdc4be65f33de60046abb4416e543901c66861828cd +2b56c7e91bebcd8ca87e04998551a454b19a904dfb6d1cd0a9255c2feceda418 diff --git a/core-mod/extra/dhcpcd/depends b/core-mod/extra/dhcpcd/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core-mod/extra/dhcpcd/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core-mod/extra/dhcpcd/files/dhcpcd.run b/core-mod/extra/dhcpcd/files/dhcpcd.run new file mode 100644 index 0000000..23c25c4 --- /dev/null +++ b/core-mod/extra/dhcpcd/files/dhcpcd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec dhcpcd -BM diff --git a/core-mod/extra/dhcpcd/sources b/core-mod/extra/dhcpcd/sources new file mode 100644 index 0000000..f5f44a0 --- /dev/null +++ b/core-mod/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/core-mod/extra/dhcpcd/version b/core-mod/extra/dhcpcd/version new file mode 100644 index 0000000..53139a7 --- /dev/null +++ b/core-mod/extra/dhcpcd/version @@ -0,0 +1 @@ +9.4.0 1 diff --git a/core-mod/extra/dosfstools/build b/core-mod/extra/dosfstools/build new file mode 100755 index 0000000..88d9d4c --- /dev/null +++ b/core-mod/extra/dosfstools/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --mandir=/usr/share/man \ + --enable-compat-symlinks + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/dosfstools/checksums b/core-mod/extra/dosfstools/checksums new file mode 100644 index 0000000..de54099 --- /dev/null +++ b/core-mod/extra/dosfstools/checksums @@ -0,0 +1 @@ +64926eebf90092dca21b14259a5301b7b98e7b1943e8a201c7d726084809b527 diff --git a/core-mod/extra/dosfstools/sources b/core-mod/extra/dosfstools/sources new file mode 100644 index 0000000..6334e34 --- /dev/null +++ b/core-mod/extra/dosfstools/sources @@ -0,0 +1 @@ +https://github.com/dosfstools/dosfstools/releases/download/v4.2/dosfstools-4.2.tar.gz diff --git a/core-mod/extra/dosfstools/version b/core-mod/extra/dosfstools/version new file mode 100644 index 0000000..39a6e92 --- /dev/null +++ b/core-mod/extra/dosfstools/version @@ -0,0 +1 @@ +4.2 1 diff --git a/core-mod/extra/e2fsprogs/build b/core-mod/extra/e2fsprogs/build new file mode 100755 index 0000000..715722f --- /dev/null +++ b/core-mod/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/core-mod/extra/e2fsprogs/checksums b/core-mod/extra/e2fsprogs/checksums new file mode 100644 index 0000000..15a3252 --- /dev/null +++ b/core-mod/extra/e2fsprogs/checksums @@ -0,0 +1 @@ +f1ef0161aa8918182d088c4b576a5485a60aa3aff3e16cf10824698af5d34dcf diff --git a/core-mod/extra/e2fsprogs/sources b/core-mod/extra/e2fsprogs/sources new file mode 100644 index 0000000..08bfe54 --- /dev/null +++ b/core-mod/extra/e2fsprogs/sources @@ -0,0 +1 @@ +https://github.com/tytso/e2fsprogs/archive/v1.46.2.tar.gz diff --git a/core-mod/extra/e2fsprogs/version b/core-mod/extra/e2fsprogs/version new file mode 100644 index 0000000..49efa08 --- /dev/null +++ b/core-mod/extra/e2fsprogs/version @@ -0,0 +1 @@ +1.46.2 1 diff --git a/core-mod/extra/eiwd/build b/core-mod/extra/eiwd/build new file mode 100755 index 0000000..cd386de --- /dev/null +++ b/core-mod/extra/eiwd/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --libexecdir=/usr/bin \ + --localstatedir=/var \ + --disable-dbus + +make +make DESTDIR="$1" install + +# Install runit service. +install -Dm755 eiwd.run "$1/etc/sv/eiwd/run" +ln -s /run/runit/supervise.eiwd "$1/etc/sv/eiwd/supervise" diff --git a/core-mod/extra/eiwd/checksums b/core-mod/extra/eiwd/checksums new file mode 100644 index 0000000..2a23d30 --- /dev/null +++ b/core-mod/extra/eiwd/checksums @@ -0,0 +1,2 @@ +35e9938ccecad1a1336ee94d92ec5cfc2f059bd6d3b154034a450ac3385dbc19 eiwd-1.6-1.tar.xz +9798194395fbc26a1ad8465bab7ac9c9e94c3a51edaf5987a414037c34169e63 eiwd.run diff --git a/core-mod/extra/eiwd/depends b/core-mod/extra/eiwd/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core-mod/extra/eiwd/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core-mod/extra/eiwd/files/eiwd.run b/core-mod/extra/eiwd/files/eiwd.run new file mode 100644 index 0000000..641290d --- /dev/null +++ b/core-mod/extra/eiwd/files/eiwd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec iwd -d diff --git a/core-mod/extra/eiwd/post-install b/core-mod/extra/eiwd/post-install new file mode 100755 index 0000000..97b5631 --- /dev/null +++ b/core-mod/extra/eiwd/post-install @@ -0,0 +1,8 @@ +#!/bin/sh + +cat </d;/atk_bridge_adaptor_init/d' \ + gtk/a11y/gtkaccessibility.c + +# Don't build GTK examples/demos/testsuite. +sed -i 's/demos tests testsuite examples//' Makefile.am Makefile.in +sed -i 's/docs m4macros/m4macros/' Makefile.am Makefile.in + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-xkb \ + --enable-xinerama \ + --enable-xrandr \ + --enable-xfixes \ + --enable-xcomposite \ + --enable-xdamage \ + --enable-x11-backend \ + --disable-schemas-compile \ + --disable-cups \ + --disable-papi \ + --disable-cloudprint \ + --disable-glibtest \ + --disable-nls \ + --disable-installed-tests \ + --enable-introspection=no \ + --enable-colord=no \ + --enable-gtk-doc-html=no + +make +make DESTDIR="$1" install + +# We don't compile with librsvg which leads to this +# utility solely causing compiler errors for some +# packages. It has no use at all. +rm -f "$1/usr/bin/gtk-encode-symbolic-svg" diff --git a/core-mod/extra/gtk+3/checksums b/core-mod/extra/gtk+3/checksums new file mode 100644 index 0000000..8e8e9ef --- /dev/null +++ b/core-mod/extra/gtk+3/checksums @@ -0,0 +1 @@ +f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa diff --git a/core-mod/extra/gtk+3/depends b/core-mod/extra/gtk+3/depends new file mode 100644 index 0000000..561ac12 --- /dev/null +++ b/core-mod/extra/gtk+3/depends @@ -0,0 +1,14 @@ +atk +fribidi +gdk-pixbuf +libXcomposite +libXcursor +libXdamage +libXext +libXi +libXinerama +libXrandr +libepoxy +pango +pkgconf make +python make diff --git a/core-mod/extra/gtk+3/post-install b/core-mod/extra/gtk+3/post-install new file mode 100755 index 0000000..75de5fa --- /dev/null +++ b/core-mod/extra/gtk+3/post-install @@ -0,0 +1,3 @@ +#!/bin/sh + +glib-compile-schemas /usr/share/glib-2.0/schemas/ diff --git a/core-mod/extra/gtk+3/sources b/core-mod/extra/gtk+3/sources new file mode 100644 index 0000000..42aee20 --- /dev/null +++ b/core-mod/extra/gtk+3/sources @@ -0,0 +1 @@ +https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.29.tar.xz diff --git a/core-mod/extra/gtk+3/version b/core-mod/extra/gtk+3/version new file mode 100644 index 0000000..c2f912a --- /dev/null +++ b/core-mod/extra/gtk+3/version @@ -0,0 +1 @@ +3.24.29 1 diff --git a/core-mod/extra/hicolor-icon-theme/build b/core-mod/extra/hicolor-icon-theme/build new file mode 100755 index 0000000..c647b8e --- /dev/null +++ b/core-mod/extra/hicolor-icon-theme/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make DESTDIR="$1" install diff --git a/core-mod/extra/hicolor-icon-theme/checksums b/core-mod/extra/hicolor-icon-theme/checksums new file mode 100644 index 0000000..79c2b66 --- /dev/null +++ b/core-mod/extra/hicolor-icon-theme/checksums @@ -0,0 +1 @@ +317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8 hicolor-icon-theme-0.17.tar.xz diff --git a/core-mod/extra/hicolor-icon-theme/sources b/core-mod/extra/hicolor-icon-theme/sources new file mode 100644 index 0000000..25bef1d --- /dev/null +++ b/core-mod/extra/hicolor-icon-theme/sources @@ -0,0 +1 @@ +https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.17.tar.xz diff --git a/core-mod/extra/hicolor-icon-theme/version b/core-mod/extra/hicolor-icon-theme/version new file mode 100644 index 0000000..dc75c93 --- /dev/null +++ b/core-mod/extra/hicolor-icon-theme/version @@ -0,0 +1 @@ +0.17 1 diff --git a/core-mod/extra/intel-vaapi-driver/build b/core-mod/extra/intel-vaapi-driver/build new file mode 100755 index 0000000..f4cca6c --- /dev/null +++ b/core-mod/extra/intel-vaapi-driver/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +# Fix build fail with GCC 10. +export CFLAGS="$CFLAGS -fcommon" + +meson \ + --prefix=/usr \ + . output + +ninja -C output +ninja -C output install diff --git a/core-mod/extra/intel-vaapi-driver/checksums b/core-mod/extra/intel-vaapi-driver/checksums new file mode 100644 index 0000000..f6b9b91 --- /dev/null +++ b/core-mod/extra/intel-vaapi-driver/checksums @@ -0,0 +1 @@ +03cd7e16acc94f828b6e7f3087863d8ca06e99ffa3385588005b1984bdd56157 2.4.1.tar.gz diff --git a/core-mod/extra/intel-vaapi-driver/depends b/core-mod/extra/intel-vaapi-driver/depends new file mode 100644 index 0000000..23155ae --- /dev/null +++ b/core-mod/extra/intel-vaapi-driver/depends @@ -0,0 +1,6 @@ +libdrm +libpciaccess +libva +linux-headers make +meson make +pkgconf make diff --git a/core-mod/extra/intel-vaapi-driver/sources b/core-mod/extra/intel-vaapi-driver/sources new file mode 100644 index 0000000..edf4829 --- /dev/null +++ b/core-mod/extra/intel-vaapi-driver/sources @@ -0,0 +1 @@ +https://github.com/intel/intel-vaapi-driver/archive/2.4.1.tar.gz diff --git a/core-mod/extra/intel-vaapi-driver/version b/core-mod/extra/intel-vaapi-driver/version new file mode 100644 index 0000000..4fcdc2b --- /dev/null +++ b/core-mod/extra/intel-vaapi-driver/version @@ -0,0 +1 @@ +2.4.1 1 diff --git a/core-mod/extra/lame/build b/core-mod/extra/lame/build new file mode 100755 index 0000000..9e85cfc --- /dev/null +++ b/core-mod/extra/lame/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-shared + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/lame/checksums b/core-mod/extra/lame/checksums new file mode 100644 index 0000000..3b885b2 --- /dev/null +++ b/core-mod/extra/lame/checksums @@ -0,0 +1 @@ +ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e lame-3.100.tar.gz diff --git a/core-mod/extra/lame/sources b/core-mod/extra/lame/sources new file mode 100644 index 0000000..8cc2835 --- /dev/null +++ b/core-mod/extra/lame/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/lame/lame-3.100.tar.gz diff --git a/core-mod/extra/lame/version b/core-mod/extra/lame/version new file mode 100644 index 0000000..a8af8af --- /dev/null +++ b/core-mod/extra/lame/version @@ -0,0 +1 @@ +3.100 2 diff --git a/core-mod/extra/libass/build b/core-mod/extra/libass/build new file mode 100755 index 0000000..1193889 --- /dev/null +++ b/core-mod/extra/libass/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-fontconfig + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/libass/checksums b/core-mod/extra/libass/checksums new file mode 100644 index 0000000..ea2a7e0 --- /dev/null +++ b/core-mod/extra/libass/checksums @@ -0,0 +1 @@ +1cdd39c9d007b06e737e7738004d7f38cf9b1e92843f37307b24e7ff63ab8e53 diff --git a/core-mod/extra/libass/depends b/core-mod/extra/libass/depends new file mode 100644 index 0000000..4220926 --- /dev/null +++ b/core-mod/extra/libass/depends @@ -0,0 +1,6 @@ +expat +fontconfig +freetype-harfbuzz +fribidi +nasm make +pkgconf make diff --git a/core-mod/extra/libass/sources b/core-mod/extra/libass/sources new file mode 100644 index 0000000..a627189 --- /dev/null +++ b/core-mod/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/core-mod/extra/libass/version b/core-mod/extra/libass/version new file mode 100644 index 0000000..a506fde --- /dev/null +++ b/core-mod/extra/libass/version @@ -0,0 +1 @@ +0.15.1 1 diff --git a/core-mod/extra/libdrm/build b/core-mod/extra/libdrm/build new file mode 100755 index 0000000..a4efcbe --- /dev/null +++ b/core-mod/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/core-mod/extra/libdrm/checksums b/core-mod/extra/libdrm/checksums new file mode 100644 index 0000000..fc2e6e1 --- /dev/null +++ b/core-mod/extra/libdrm/checksums @@ -0,0 +1 @@ +c554cef03b033636a975543eab363cc19081cb464595d3da1ec129f87370f888 diff --git a/core-mod/extra/libdrm/depends b/core-mod/extra/libdrm/depends new file mode 100644 index 0000000..58247fb --- /dev/null +++ b/core-mod/extra/libdrm/depends @@ -0,0 +1,4 @@ +libpciaccess +linux-headers make +meson make +pkgconf make diff --git a/core-mod/extra/libdrm/sources b/core-mod/extra/libdrm/sources new file mode 100644 index 0000000..4de5763 --- /dev/null +++ b/core-mod/extra/libdrm/sources @@ -0,0 +1 @@ +https://dri.freedesktop.org/libdrm/libdrm-2.4.107.tar.xz diff --git a/core-mod/extra/libdrm/version b/core-mod/extra/libdrm/version new file mode 100644 index 0000000..5e5f0bf --- /dev/null +++ b/core-mod/extra/libdrm/version @@ -0,0 +1 @@ +2.4.107 1 diff --git a/core-mod/extra/libelf/build b/core-mod/extra/libelf/build new file mode 100755 index 0000000..4c2da98 --- /dev/null +++ b/core-mod/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/core-mod/extra/libelf/checksums b/core-mod/extra/libelf/checksums new file mode 100644 index 0000000..d5dbb04 --- /dev/null +++ b/core-mod/extra/libelf/checksums @@ -0,0 +1,2 @@ +dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6 +bf11b56670c7919b44e33b5b0f3a216b7f20cf2859b74bf5e2e837532f8e0579 diff --git a/core-mod/extra/libelf/depends b/core-mod/extra/libelf/depends new file mode 100644 index 0000000..70b01bc --- /dev/null +++ b/core-mod/extra/libelf/depends @@ -0,0 +1,2 @@ +pkgconf make +zlib diff --git a/core-mod/extra/libelf/files/error.h b/core-mod/extra/libelf/files/error.h new file mode 100644 index 0000000..ef06827 --- /dev/null +++ b/core-mod/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/core-mod/extra/libelf/sources b/core-mod/extra/libelf/sources new file mode 100644 index 0000000..1903c16 --- /dev/null +++ b/core-mod/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/core-mod/extra/libelf/version b/core-mod/extra/libelf/version new file mode 100644 index 0000000..4b6b3ae --- /dev/null +++ b/core-mod/extra/libelf/version @@ -0,0 +1 @@ +0.185 1 diff --git a/core-mod/extra/libepoxy/build b/core-mod/extra/libepoxy/build new file mode 100755 index 0000000..5447552 --- /dev/null +++ b/core-mod/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/core-mod/extra/libepoxy/checksums b/core-mod/extra/libepoxy/checksums new file mode 100644 index 0000000..836b50e --- /dev/null +++ b/core-mod/extra/libepoxy/checksums @@ -0,0 +1 @@ +0cd80cb040b75cbe77fadd45c48282ebab82d845c597ce11ee5e8cb9c1efeabb diff --git a/core-mod/extra/libepoxy/depends b/core-mod/extra/libepoxy/depends new file mode 100644 index 0000000..e68256b --- /dev/null +++ b/core-mod/extra/libepoxy/depends @@ -0,0 +1,2 @@ +mesa make +meson make diff --git a/core-mod/extra/libepoxy/sources b/core-mod/extra/libepoxy/sources new file mode 100644 index 0000000..5d6338d --- /dev/null +++ b/core-mod/extra/libepoxy/sources @@ -0,0 +1 @@ +https://github.com/anholt/libepoxy/archive/1.5.8.tar.gz diff --git a/core-mod/extra/libepoxy/version b/core-mod/extra/libepoxy/version new file mode 100644 index 0000000..7f26b0d --- /dev/null +++ b/core-mod/extra/libepoxy/version @@ -0,0 +1 @@ +1.5.8 1 diff --git a/core-mod/extra/liberation-fonts/build b/core-mod/extra/liberation-fonts/build new file mode 100755 index 0000000..081f1d5 --- /dev/null +++ b/core-mod/extra/liberation-fonts/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +mkdir -p "$1/usr/share/fonts/TTF" +cp ./*.ttf "$1/usr/share/fonts/TTF" diff --git a/core-mod/extra/liberation-fonts/checksums b/core-mod/extra/liberation-fonts/checksums new file mode 100644 index 0000000..af2b301 --- /dev/null +++ b/core-mod/extra/liberation-fonts/checksums @@ -0,0 +1 @@ +26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef diff --git a/core-mod/extra/liberation-fonts/sources b/core-mod/extra/liberation-fonts/sources new file mode 100644 index 0000000..2d35d41 --- /dev/null +++ b/core-mod/extra/liberation-fonts/sources @@ -0,0 +1 @@ +https://github.com/liberationfonts/liberation-fonts/files/6418984/liberation-fonts-ttf-2.1.4.tar.gz diff --git a/core-mod/extra/liberation-fonts/version b/core-mod/extra/liberation-fonts/version new file mode 100644 index 0000000..0c29842 --- /dev/null +++ b/core-mod/extra/liberation-fonts/version @@ -0,0 +1 @@ +2.1.4 1 diff --git a/core-mod/extra/libevdev/build b/core-mod/extra/libevdev/build new file mode 100755 index 0000000..0cccff6 --- /dev/null +++ b/core-mod/extra/libevdev/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-gcov + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/libevdev/checksums b/core-mod/extra/libevdev/checksums new file mode 100644 index 0000000..9a572ce --- /dev/null +++ b/core-mod/extra/libevdev/checksums @@ -0,0 +1 @@ +63f4ea1489858a109080e0b40bd43e4e0903a1e12ea888d581db8c495747c2d0 diff --git a/core-mod/extra/libevdev/depends b/core-mod/extra/libevdev/depends new file mode 100644 index 0000000..0efd8db --- /dev/null +++ b/core-mod/extra/libevdev/depends @@ -0,0 +1,2 @@ +linux-headers make +python make diff --git a/core-mod/extra/libevdev/sources b/core-mod/extra/libevdev/sources new file mode 100644 index 0000000..839ef67 --- /dev/null +++ b/core-mod/extra/libevdev/sources @@ -0,0 +1 @@ +https://www.freedesktop.org/software/libevdev/libevdev-1.11.0.tar.xz diff --git a/core-mod/extra/libevdev/version b/core-mod/extra/libevdev/version new file mode 100644 index 0000000..0da43b1 --- /dev/null +++ b/core-mod/extra/libevdev/version @@ -0,0 +1 @@ +1.11.0 1 diff --git a/core-mod/extra/libffi/build b/core-mod/extra/libffi/build new file mode 100755 index 0000000..7f3e4bf --- /dev/null +++ b/core-mod/extra/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-mod/extra/libffi/checksums b/core-mod/extra/libffi/checksums new file mode 100644 index 0000000..14695d6 --- /dev/null +++ b/core-mod/extra/libffi/checksums @@ -0,0 +1 @@ +540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620 diff --git a/core-mod/extra/libffi/depends b/core-mod/extra/libffi/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core-mod/extra/libffi/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core-mod/extra/libffi/sources b/core-mod/extra/libffi/sources new file mode 100644 index 0000000..a966e96 --- /dev/null +++ b/core-mod/extra/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-mod/extra/libffi/version b/core-mod/extra/libffi/version new file mode 100644 index 0000000..ddd85e5 --- /dev/null +++ b/core-mod/extra/libffi/version @@ -0,0 +1 @@ +3.4.2 2 diff --git a/core-mod/extra/libinput/build b/core-mod/extra/libinput/build new file mode 100755 index 0000000..52895f7 --- /dev/null +++ b/core-mod/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/core-mod/extra/libinput/checksums b/core-mod/extra/libinput/checksums new file mode 100644 index 0000000..f62e01c --- /dev/null +++ b/core-mod/extra/libinput/checksums @@ -0,0 +1 @@ +65a657490de896081935cf0830a9773aa76756b8e9961edeffcce1074706bbe6 diff --git a/core-mod/extra/libinput/depends b/core-mod/extra/libinput/depends new file mode 100644 index 0000000..c323c7a --- /dev/null +++ b/core-mod/extra/libinput/depends @@ -0,0 +1,5 @@ +libevdev +linux-headers make +meson make +mtdev +pkgconf make diff --git a/core-mod/extra/libinput/post-install b/core-mod/extra/libinput/post-install new file mode 100755 index 0000000..e682fc0 --- /dev/null +++ b/core-mod/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/core-mod/extra/libpng/sources b/core-mod/extra/libpng/sources new file mode 100644 index 0000000..d6556f0 --- /dev/null +++ b/core-mod/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/core-mod/extra/libpng/version b/core-mod/extra/libpng/version new file mode 100644 index 0000000..d61fa1c --- /dev/null +++ b/core-mod/extra/libpng/version @@ -0,0 +1 @@ +1.6.37 2 diff --git a/core-mod/extra/libtheora/build b/core-mod/extra/libtheora/build new file mode 100755 index 0000000..288944d --- /dev/null +++ b/core-mod/extra/libtheora/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +patch -p0 < libtheora-1.1.1-libpng16.patch + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/libtheora/checksums b/core-mod/extra/libtheora/checksums new file mode 100644 index 0000000..9286d3e --- /dev/null +++ b/core-mod/extra/libtheora/checksums @@ -0,0 +1,2 @@ +40952956c47811928d1e7922cda3bc1f427eb75680c3c37249c91e949054916b libtheora-1.1.1.tar.gz +e4c9a8dc798c596ed32a2a720020ae27a0e72f5add1a47cb8fadebe0e7180d7e libtheora-1.1.1-libpng16.patch diff --git a/core-mod/extra/libtheora/depends b/core-mod/extra/libtheora/depends new file mode 100644 index 0000000..b6a6854 --- /dev/null +++ b/core-mod/extra/libtheora/depends @@ -0,0 +1 @@ +libogg diff --git a/core-mod/extra/libtheora/patches/libtheora-1.1.1-libpng16.patch b/core-mod/extra/libtheora/patches/libtheora-1.1.1-libpng16.patch new file mode 100644 index 0000000..93da700 --- /dev/null +++ b/core-mod/extra/libtheora/patches/libtheora-1.1.1-libpng16.patch @@ -0,0 +1,17 @@ +http://bugs.gentoo.org/465450 +http://trac.xiph.org/ticket/1947 + +--- examples/png2theora.c ++++ examples/png2theora.c +@@ -462,9 +462,9 @@ + png_set_strip_alpha(png_ptr); + + row_data = (png_bytep)png_malloc(png_ptr, +- 3*height*width*png_sizeof(*row_data)); ++ 3*height*width*sizeof(*row_data)); + row_pointers = (png_bytep *)png_malloc(png_ptr, +- height*png_sizeof(*row_pointers)); ++ height*sizeof(*row_pointers)); + for(y = 0; y < height; y++) { + row_pointers[y] = row_data + y*(3*width); + } diff --git a/core-mod/extra/libtheora/sources b/core-mod/extra/libtheora/sources new file mode 100644 index 0000000..c5eaf31 --- /dev/null +++ b/core-mod/extra/libtheora/sources @@ -0,0 +1,2 @@ +https://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz +patches/libtheora-1.1.1-libpng16.patch diff --git a/core-mod/extra/libtheora/version b/core-mod/extra/libtheora/version new file mode 100644 index 0000000..d9f65d2 --- /dev/null +++ b/core-mod/extra/libtheora/version @@ -0,0 +1 @@ +1.1.1 2 diff --git a/core-mod/extra/libudev-zero/build b/core-mod/extra/libudev-zero/build new file mode 100755 index 0000000..28bda35 --- /dev/null +++ b/core-mod/extra/libudev-zero/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make PREFIX=/usr +make DESTDIR="$1" PREFIX=/usr install diff --git a/core-mod/extra/libudev-zero/checksums b/core-mod/extra/libudev-zero/checksums new file mode 100644 index 0000000..d75c293 --- /dev/null +++ b/core-mod/extra/libudev-zero/checksums @@ -0,0 +1 @@ +23f1046f13403ec217665193e78dad6cdb0af54e105a9aaf8440a846e66a1d62 diff --git a/core-mod/extra/libudev-zero/depends b/core-mod/extra/libudev-zero/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core-mod/extra/libudev-zero/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core-mod/extra/libudev-zero/sources b/core-mod/extra/libudev-zero/sources new file mode 100644 index 0000000..9aeb574 --- /dev/null +++ b/core-mod/extra/libudev-zero/sources @@ -0,0 +1 @@ +https://github.com/illiliti/libudev-zero/archive/0.5.2.tar.gz diff --git a/core-mod/extra/libudev-zero/version b/core-mod/extra/libudev-zero/version new file mode 100644 index 0000000..b6c7193 --- /dev/null +++ b/core-mod/extra/libudev-zero/version @@ -0,0 +1 @@ +0.5.2 1 diff --git a/core-mod/extra/libva-utils/build b/core-mod/extra/libva-utils/build new file mode 100755 index 0000000..fd5a075 --- /dev/null +++ b/core-mod/extra/libva-utils/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + . output + +ninja -C output +ninja -C output install diff --git a/core-mod/extra/libva-utils/checksums b/core-mod/extra/libva-utils/checksums new file mode 100644 index 0000000..e643473 --- /dev/null +++ b/core-mod/extra/libva-utils/checksums @@ -0,0 +1 @@ +bcab647f42147aa5cf83b324b6c3fe69e392e44d34aababfafcb6c3b4310377d diff --git a/core-mod/extra/libva-utils/depends b/core-mod/extra/libva-utils/depends new file mode 100644 index 0000000..fd106ae --- /dev/null +++ b/core-mod/extra/libva-utils/depends @@ -0,0 +1,4 @@ +libva +mesa make +meson make +pkgconf make diff --git a/core-mod/extra/libva-utils/sources b/core-mod/extra/libva-utils/sources new file mode 100644 index 0000000..b969808 --- /dev/null +++ b/core-mod/extra/libva-utils/sources @@ -0,0 +1 @@ +https://github.com/intel/libva-utils/archive/2.12.0.tar.gz diff --git a/core-mod/extra/libva-utils/version b/core-mod/extra/libva-utils/version new file mode 100644 index 0000000..f30894e --- /dev/null +++ b/core-mod/extra/libva-utils/version @@ -0,0 +1 @@ +2.12.0 1 diff --git a/core-mod/extra/libva/build b/core-mod/extra/libva/build new file mode 100755 index 0000000..58e9cf8 --- /dev/null +++ b/core-mod/extra/libva/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + -Ddocs=false \ + -Dintrospection=false \ + . output + +ninja -C output +ninja -C output install diff --git a/core-mod/extra/libva/checksums b/core-mod/extra/libva/checksums new file mode 100644 index 0000000..c669541 --- /dev/null +++ b/core-mod/extra/libva/checksums @@ -0,0 +1 @@ +7bca8c8a854653e15e602f243e2452e84e4b454b26549bf80a932ab29d7d6b21 diff --git a/core-mod/extra/libva/depends b/core-mod/extra/libva/depends new file mode 100644 index 0000000..ff4013e --- /dev/null +++ b/core-mod/extra/libva/depends @@ -0,0 +1,8 @@ +libX11 +libXext +libXfixes +libdrm +linux-headers make +mesa +meson make +pkgconf make diff --git a/core-mod/extra/libva/sources b/core-mod/extra/libva/sources new file mode 100644 index 0000000..ba22be3 --- /dev/null +++ b/core-mod/extra/libva/sources @@ -0,0 +1 @@ +https://github.com/intel/libva/archive/2.12.0.tar.gz diff --git a/core-mod/extra/libva/version b/core-mod/extra/libva/version new file mode 100644 index 0000000..f30894e --- /dev/null +++ b/core-mod/extra/libva/version @@ -0,0 +1 @@ +2.12.0 1 diff --git a/core-mod/extra/libvorbis/build b/core-mod/extra/libvorbis/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/extra/libvorbis/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/libvorbis/checksums b/core-mod/extra/libvorbis/checksums new file mode 100644 index 0000000..9ba3dea --- /dev/null +++ b/core-mod/extra/libvorbis/checksums @@ -0,0 +1 @@ +0e982409a9c3fc82ee06e08205b1355e5c6aa4c36bca58146ef399621b0ce5ab libvorbis-1.3.7.tar.gz diff --git a/core-mod/extra/libvorbis/depends b/core-mod/extra/libvorbis/depends new file mode 100644 index 0000000..b6a6854 --- /dev/null +++ b/core-mod/extra/libvorbis/depends @@ -0,0 +1 @@ +libogg diff --git a/core-mod/extra/libvorbis/sources b/core-mod/extra/libvorbis/sources new file mode 100644 index 0000000..16ec9f3 --- /dev/null +++ b/core-mod/extra/libvorbis/sources @@ -0,0 +1 @@ +https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-1.3.7.tar.gz diff --git a/core-mod/extra/libvorbis/version b/core-mod/extra/libvorbis/version new file mode 100644 index 0000000..ae80c29 --- /dev/null +++ b/core-mod/extra/libvorbis/version @@ -0,0 +1 @@ +1.3.7 1 diff --git a/core-mod/extra/libvpx/build b/core-mod/extra/libvpx/build new file mode 100755 index 0000000..708c3b8 --- /dev/null +++ b/core-mod/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/core-mod/extra/libvpx/checksums b/core-mod/extra/libvpx/checksums new file mode 100644 index 0000000..60cdc5d --- /dev/null +++ b/core-mod/extra/libvpx/checksums @@ -0,0 +1,6 @@ +85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a +ce802d64bcbeb4230527aea2b4284d9844fb12fa5aca868a94e03982f85ec45b +e6aa264d60371d76e39a8fa0118e37915ea348400f82046d083a4511d229f8eb +bc2ab604abf616682374d65c9d154e6e2dac0524fd969b12ab4d81e30452b904 +77716ffb6d08322a3f300b9adad302641836af6e923854eba040a95e0766fa70 +7445cedc0bc43d2d17b8f838b1d876b0fe861d669f43a8f8555c3ea7b745fc52 diff --git a/core-mod/extra/libvpx/depends b/core-mod/extra/libvpx/depends new file mode 100644 index 0000000..116f6b2 --- /dev/null +++ b/core-mod/extra/libvpx/depends @@ -0,0 +1 @@ +nasm make diff --git a/core-mod/extra/libvpx/files/vp8_rtcd.h b/core-mod/extra/libvpx/files/vp8_rtcd.h new file mode 100644 index 0000000..6794409 --- /dev/null +++ b/core-mod/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/core-mod/extra/libvpx/files/vp9_rtcd.h b/core-mod/extra/libvpx/files/vp9_rtcd.h new file mode 100644 index 0000000..b58898b --- /dev/null +++ b/core-mod/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/core-mod/extra/libvpx/files/vpx_dsp_rtcd.h b/core-mod/extra/libvpx/files/vpx_dsp_rtcd.h new file mode 100644 index 0000000..4682593 --- /dev/null +++ b/core-mod/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/core-mod/extra/libvpx/files/vpx_scale_rtcd.h b/core-mod/extra/libvpx/files/vpx_scale_rtcd.h new file mode 100644 index 0000000..5f09104 --- /dev/null +++ b/core-mod/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/core-mod/extra/libvpx/patches/fix-busybox-diff.patch b/core-mod/extra/libvpx/patches/fix-busybox-diff.patch new file mode 100644 index 0000000..fa93b0a --- /dev/null +++ b/core-mod/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/core-mod/extra/libvpx/sources b/core-mod/extra/libvpx/sources new file mode 100644 index 0000000..3c8a026 --- /dev/null +++ b/core-mod/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/core-mod/extra/libvpx/version b/core-mod/extra/libvpx/version new file mode 100644 index 0000000..ac83b38 --- /dev/null +++ b/core-mod/extra/libvpx/version @@ -0,0 +1 @@ +1.10.0 1 diff --git a/core-mod/extra/libwebp/build b/core-mod/extra/libwebp/build new file mode 100755 index 0000000..9b42927 --- /dev/null +++ b/core-mod/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/core-mod/extra/libwebp/checksums b/core-mod/extra/libwebp/checksums new file mode 100644 index 0000000..a211abf --- /dev/null +++ b/core-mod/extra/libwebp/checksums @@ -0,0 +1 @@ +2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c diff --git a/core-mod/extra/libwebp/depends b/core-mod/extra/libwebp/depends new file mode 100644 index 0000000..55a2fa3 --- /dev/null +++ b/core-mod/extra/libwebp/depends @@ -0,0 +1,2 @@ +libjpeg-turbo +libpng diff --git a/core-mod/extra/libwebp/sources b/core-mod/extra/libwebp/sources new file mode 100644 index 0000000..4ed0cd5 --- /dev/null +++ b/core-mod/extra/libwebp/sources @@ -0,0 +1 @@ +http://downloads.webmproject.org/releases/webp/libwebp-1.2.0.tar.gz diff --git a/core-mod/extra/libwebp/version b/core-mod/extra/libwebp/version new file mode 100644 index 0000000..8b9a47f --- /dev/null +++ b/core-mod/extra/libwebp/version @@ -0,0 +1 @@ +1.2.0 1 diff --git a/core-mod/extra/llvm/build b/core-mod/extra/llvm/build new file mode 100755 index 0000000..f066cd8 --- /dev/null +++ b/core-mod/extra/llvm/build @@ -0,0 +1,21 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_BUILD_LLVM_DYLIB=ON \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_HOST_TRIPLE="$(cc -dumpmachine)" \ + -DLLVM_INCLUDE_BENCHMARKS=OFF \ + -DLLVM_INCLUDE_EXAMPLES=OFF \ + -DLLVM_INCLUDE_DOCS=OFF \ + -DLLVM_INCLUDE_TESTS=OFF \ + -DLLVM_ENABLE_LIBXML2=OFF \ + -Wno-dev + +cmake --build build +cmake --install build diff --git a/core-mod/extra/llvm/checksums b/core-mod/extra/llvm/checksums new file mode 100644 index 0000000..f7a1987 --- /dev/null +++ b/core-mod/extra/llvm/checksums @@ -0,0 +1 @@ +49dc47c8697a1a0abd4ee51629a696d7bfe803662f2a7252a3b16fc75f3a8b50 diff --git a/core-mod/extra/llvm/depends b/core-mod/extra/llvm/depends new file mode 100644 index 0000000..126422e --- /dev/null +++ b/core-mod/extra/llvm/depends @@ -0,0 +1,3 @@ +cmake make +python make +zlib diff --git a/core-mod/extra/llvm/sources b/core-mod/extra/llvm/sources new file mode 100644 index 0000000..890e505 --- /dev/null +++ b/core-mod/extra/llvm/sources @@ -0,0 +1 @@ +https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/llvm-12.0.0.src.tar.xz diff --git a/core-mod/extra/llvm/version b/core-mod/extra/llvm/version new file mode 100644 index 0000000..1284e40 --- /dev/null +++ b/core-mod/extra/llvm/version @@ -0,0 +1 @@ +12.0.0 1 diff --git a/core-mod/extra/lzip/build b/core-mod/extra/lzip/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/extra/lzip/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/lzip/checksums b/core-mod/extra/lzip/checksums new file mode 100644 index 0000000..1b68b59 --- /dev/null +++ b/core-mod/extra/lzip/checksums @@ -0,0 +1 @@ +c3342d42e67139c165b8b128d033b5c96893a13ac5f25933190315214e87a948 diff --git a/core-mod/extra/lzip/sources b/core-mod/extra/lzip/sources new file mode 100644 index 0000000..850f6cd --- /dev/null +++ b/core-mod/extra/lzip/sources @@ -0,0 +1 @@ +https://download.savannah.gnu.org/releases/lzip/lzip-1.22.tar.gz diff --git a/core-mod/extra/lzip/version b/core-mod/extra/lzip/version new file mode 100644 index 0000000..d8d7075 --- /dev/null +++ b/core-mod/extra/lzip/version @@ -0,0 +1 @@ +1.22 1 diff --git a/core-mod/extra/mandoc/build b/core-mod/extra/mandoc/build new file mode 100755 index 0000000..bf3f40e --- /dev/null +++ b/core-mod/extra/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-mod/extra/mandoc/sources b/core-mod/extra/mandoc/sources new file mode 100644 index 0000000..d012518 --- /dev/null +++ b/core-mod/extra/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-mod/extra/mandoc/version b/core-mod/extra/mandoc/version new file mode 100644 index 0000000..aa6575c --- /dev/null +++ b/core-mod/extra/mandoc/version @@ -0,0 +1 @@ +1.14.5 4 diff --git a/core-mod/extra/mesa/build b/core-mod/extra/mesa/build new file mode 100755 index 0000000..850d5c6 --- /dev/null +++ b/core-mod/extra/mesa/build @@ -0,0 +1,48 @@ +#!/bin/sh -e + +# Install python-mako which is solely needed for mesa +# and thus contained in this build. +{ + cd mako + + python3 setup.py build + python3 setup.py install \ + --prefix=/usr \ + --root="$PWD/dist" + + # Use a glob to avoid having to figure out the Python + # version for the path below. + cd dist/usr/lib/python*/site-packages + + # Set the PYTHONPATH so python knows where to find mako. + # The one liner simply appends the existing path and + # handles the case where an unset PYTHONPATH breaks + # python as it will only contain our new addition. + PYTHONPATH=$PWD:$(python -c "import sys; print(':'.join(sys.path))") + + cd -; cd .. +} + +export PYTHONPATH +export DESTDIR="$1" +export CFLAGS="$CFLAGS -DGLX_X86_READONLY_TEXT" + +# Fix issues with musl and firefox. +# https://bugs.freedesktop.org/show_bug.cgi?id=35268 +# https://github.com/mesa3d/mesa/commit/9f37c9903b87f86a533bfaffa72f0ecb285b02b2 +sed -i "/pre_args += '-DUSE_ELF_TLS'/d" meson.build + +python3 bin/git_sha1_gen.py --output include/git_sha1.h + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + -Dplatforms=x11 \ + -Dzstd=disabled \ + . output + +ninja -C output +ninja -C output install diff --git a/core-mod/extra/mesa/checksums b/core-mod/extra/mesa/checksums new file mode 100644 index 0000000..5b20e94 --- /dev/null +++ b/core-mod/extra/mesa/checksums @@ -0,0 +1,2 @@ +1f177f44098164b65731c5ded4c928fd58b14f6c9d2087aa0e37bc79bf79e90b +17831f0b7087c313c0ffae2bcbbd3c1d5ba9eeac9c38f2eb7b50e8c99fe9d5ab diff --git a/core-mod/extra/mesa/depends b/core-mod/extra/mesa/depends new file mode 100644 index 0000000..3455f6b --- /dev/null +++ b/core-mod/extra/mesa/depends @@ -0,0 +1,21 @@ +bison make +expat +flex make +libX11 +libXdamage +libXext +libXrandr +libXrender +libXxf86vm +libdrm +libelf +libxcb +libxshmfence +linux-headers make +llvm +m4 make +meson make +pkgconf make +python make +xorgproto +zlib diff --git a/core-mod/extra/mesa/sources b/core-mod/extra/mesa/sources new file mode 100644 index 0000000..8a7013f --- /dev/null +++ b/core-mod/extra/mesa/sources @@ -0,0 +1,2 @@ +https://archive.mesa3d.org/mesa-21.1.4.tar.xz +https://files.pythonhosted.org/packages/source/M/Mako/Mako-1.1.4.tar.gz mako diff --git a/core-mod/extra/mesa/version b/core-mod/extra/mesa/version new file mode 100644 index 0000000..b115689 --- /dev/null +++ b/core-mod/extra/mesa/version @@ -0,0 +1 @@ +21.1.4 1 diff --git a/core-mod/extra/meson/build b/core-mod/extra/meson/build new file mode 100755 index 0000000..366c544 --- /dev/null +++ b/core-mod/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/core-mod/extra/meson/checksums b/core-mod/extra/meson/checksums new file mode 100644 index 0000000..953fc60 --- /dev/null +++ b/core-mod/extra/meson/checksums @@ -0,0 +1 @@ +78e0f553dd3bc632d5f96ab943b1bbccb599c2c84ff27c5fb7f7fff9c8a3f6b4 diff --git a/core-mod/extra/meson/depends b/core-mod/extra/meson/depends new file mode 100644 index 0000000..35f0809 --- /dev/null +++ b/core-mod/extra/meson/depends @@ -0,0 +1,2 @@ +python +samurai diff --git a/core-mod/extra/meson/sources b/core-mod/extra/meson/sources new file mode 100644 index 0000000..03d10c5 --- /dev/null +++ b/core-mod/extra/meson/sources @@ -0,0 +1 @@ +https://github.com/mesonbuild/meson/archive/0.58.1.tar.gz diff --git a/core-mod/extra/meson/version b/core-mod/extra/meson/version new file mode 100644 index 0000000..c45a1cb --- /dev/null +++ b/core-mod/extra/meson/version @@ -0,0 +1 @@ +0.58.1 1 diff --git a/core-mod/extra/mpv/build b/core-mod/extra/mpv/build new file mode 100755 index 0000000..c7307dc --- /dev/null +++ b/core-mod/extra/mpv/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +ln -s waf-2.0.18 waf + +python waf configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --confdir=/etc/mpv \ + --enable-alsa + +python waf build +python waf install --destdir="$1" diff --git a/core-mod/extra/mpv/checksums b/core-mod/extra/mpv/checksums new file mode 100644 index 0000000..ba4d1cf --- /dev/null +++ b/core-mod/extra/mpv/checksums @@ -0,0 +1,2 @@ +100a116b9f23bdcda3a596e9f26be3a69f166a4f1d00910d1789b6571c46f3a9 +2e0cf83a63843da127610420cef1d3126f1187d8e572b6b3a28052fc2250d4bf diff --git a/core-mod/extra/mpv/depends b/core-mod/extra/mpv/depends new file mode 100644 index 0000000..0cebadc --- /dev/null +++ b/core-mod/extra/mpv/depends @@ -0,0 +1,10 @@ +alsa-lib +ffmpeg +freetype-harfbuzz +libass +libXScrnSaver +libXinerama +libXrandr +mesa +pkgconf make +python make diff --git a/core-mod/extra/mpv/sources b/core-mod/extra/mpv/sources new file mode 100644 index 0000000..0c3bd28 --- /dev/null +++ b/core-mod/extra/mpv/sources @@ -0,0 +1,2 @@ +https://github.com/mpv-player/mpv/archive/v0.33.1.tar.gz +https://waf.io/waf-2.0.18 diff --git a/core-mod/extra/mpv/version b/core-mod/extra/mpv/version new file mode 100644 index 0000000..472281f --- /dev/null +++ b/core-mod/extra/mpv/version @@ -0,0 +1 @@ +0.33.1 1 diff --git a/core-mod/extra/mtdev/build b/core-mod/extra/mtdev/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/extra/mtdev/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/mtdev/checksums b/core-mod/extra/mtdev/checksums new file mode 100644 index 0000000..784a687 --- /dev/null +++ b/core-mod/extra/mtdev/checksums @@ -0,0 +1 @@ +15d7b28da8ac71d8bc8c9287c2045fd174267bc740bec10cfda332dc1204e0e0 mtdev-1.1.6.tar.bz2 diff --git a/core-mod/extra/mtdev/depends b/core-mod/extra/mtdev/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core-mod/extra/mtdev/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core-mod/extra/mtdev/sources b/core-mod/extra/mtdev/sources new file mode 100644 index 0000000..d322c9b --- /dev/null +++ b/core-mod/extra/mtdev/sources @@ -0,0 +1 @@ +https://bitmath.org/code/mtdev/mtdev-1.1.6.tar.bz2 diff --git a/core-mod/extra/mtdev/version b/core-mod/extra/mtdev/version new file mode 100644 index 0000000..e17b92d --- /dev/null +++ b/core-mod/extra/mtdev/version @@ -0,0 +1 @@ +1.1.6 1 diff --git a/core-mod/extra/nasm/build b/core-mod/extra/nasm/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/extra/nasm/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/nasm/checksums b/core-mod/extra/nasm/checksums new file mode 100644 index 0000000..b3f2c66 --- /dev/null +++ b/core-mod/extra/nasm/checksums @@ -0,0 +1 @@ +3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f diff --git a/core-mod/extra/nasm/sources b/core-mod/extra/nasm/sources new file mode 100644 index 0000000..8f32899 --- /dev/null +++ b/core-mod/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/core-mod/extra/nasm/version b/core-mod/extra/nasm/version new file mode 100644 index 0000000..97b3c2d --- /dev/null +++ b/core-mod/extra/nasm/version @@ -0,0 +1 @@ +2.15.05 1 diff --git a/core-mod/extra/ncurses/build b/core-mod/extra/ncurses/build new file mode 100755 index 0000000..30d99b7 --- /dev/null +++ b/core-mod/extra/ncurses/build @@ -0,0 +1,32 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-pc-files \ + --disable-rpath-hack \ + --with-pkg-config-libdir=/usr/lib/pkgconfig \ + --with-shared \ + --enable-widec \ + --without-ada \ + --without-tests \ + --without-debug \ + --without-cxx-binding + +make +make DESTDIR="$1" install + +# Force ncurses to link against wide-character ncurses library. +for lib in ncurses form panel menu; do + rm -f "$1/usr/lib/lib${lib}.so" + printf '%s\n' "INPUT(-l${lib}w)" > "$1/usr/lib/lib${lib}.so" + chmod 755 "$1/usr/lib/lib${lib}.so" + ln -sf "lib${lib}w.a" "$1/usr/lib/lib${lib}.a" +done + +# Some packages look for libcurses instead of libncurses when building. +printf '%s\n' "INPUT(-lncursesw)" > "$1/usr/lib/libcursesw.so" +ln -s libncurses.so "$1/usr/lib/libcurses.so" + +# Fix pkgconfig file. +ln -s ncursesw.pc "$1/usr/lib/pkgconfig/ncurses.pc" diff --git a/core-mod/extra/ncurses/checksums b/core-mod/extra/ncurses/checksums new file mode 100644 index 0000000..3d3b37b --- /dev/null +++ b/core-mod/extra/ncurses/checksums @@ -0,0 +1 @@ +30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d ncurses-6.2.tar.gz diff --git a/core-mod/extra/ncurses/sources b/core-mod/extra/ncurses/sources new file mode 100644 index 0000000..e1e0d6a --- /dev/null +++ b/core-mod/extra/ncurses/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz diff --git a/core-mod/extra/ncurses/version b/core-mod/extra/ncurses/version new file mode 100644 index 0000000..724191a --- /dev/null +++ b/core-mod/extra/ncurses/version @@ -0,0 +1 @@ +6.2 5 diff --git a/core-mod/extra/openresolv/build b/core-mod/extra/openresolv/build new file mode 100755 index 0000000..9b9fa59 --- /dev/null +++ b/core-mod/extra/openresolv/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/openresolv/checksums b/core-mod/extra/openresolv/checksums new file mode 100644 index 0000000..6b6bd2c --- /dev/null +++ b/core-mod/extra/openresolv/checksums @@ -0,0 +1 @@ +42b30508e857a228535c631eaac936862d86eca68c14b5c0bf387ba176b91b97 diff --git a/core-mod/extra/openresolv/sources b/core-mod/extra/openresolv/sources new file mode 100644 index 0000000..3e5c81d --- /dev/null +++ b/core-mod/extra/openresolv/sources @@ -0,0 +1 @@ +https://roy.marples.name/downloads/openresolv/openresolv-3.12.0.tar.xz diff --git a/core-mod/extra/openresolv/version b/core-mod/extra/openresolv/version new file mode 100644 index 0000000..d677113 --- /dev/null +++ b/core-mod/extra/openresolv/version @@ -0,0 +1 @@ +3.12.0 1 diff --git a/core-mod/extra/openssh/build b/core-mod/extra/openssh/build new file mode 100755 index 0000000..988e909 --- /dev/null +++ b/core-mod/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/core-mod/extra/openssh/checksums b/core-mod/extra/openssh/checksums new file mode 100644 index 0000000..a0f1746 --- /dev/null +++ b/core-mod/extra/openssh/checksums @@ -0,0 +1,2 @@ +c3e6e4da1621762c850d03b47eed1e48dff4cc9608ddeb547202a234df8ed7ae +cd9a79943f8f6c05373bd70afc22a230f3c5e6e6200b9115f598e180dacefb54 diff --git a/core-mod/extra/openssh/depends b/core-mod/extra/openssh/depends new file mode 100644 index 0000000..9ee911a --- /dev/null +++ b/core-mod/extra/openssh/depends @@ -0,0 +1,2 @@ +libressl +zlib diff --git a/core-mod/extra/openssh/files/sshd.run b/core-mod/extra/openssh/files/sshd.run new file mode 100644 index 0000000..6645902 --- /dev/null +++ b/core-mod/extra/openssh/files/sshd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/bin/sshd -D diff --git a/core-mod/extra/openssh/post-install b/core-mod/extra/openssh/post-install new file mode 100755 index 0000000..00aabb8 --- /dev/null +++ b/core-mod/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/core-mod/extra/openssh/sources b/core-mod/extra/openssh/sources new file mode 100644 index 0000000..e98b6fe --- /dev/null +++ b/core-mod/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/core-mod/extra/openssh/version b/core-mod/extra/openssh/version new file mode 100644 index 0000000..e405c06 --- /dev/null +++ b/core-mod/extra/openssh/version @@ -0,0 +1 @@ +8.6p1 1 diff --git a/core-mod/extra/opus/build b/core-mod/extra/opus/build new file mode 100755 index 0000000..23f4676 --- /dev/null +++ b/core-mod/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/core-mod/extra/opus/checksums b/core-mod/extra/opus/checksums new file mode 100644 index 0000000..77a9ad9 --- /dev/null +++ b/core-mod/extra/opus/checksums @@ -0,0 +1 @@ +65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d opus-1.3.1.tar.gz diff --git a/core-mod/extra/opus/sources b/core-mod/extra/opus/sources new file mode 100644 index 0000000..d11f072 --- /dev/null +++ b/core-mod/extra/opus/sources @@ -0,0 +1 @@ +https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz diff --git a/core-mod/extra/opus/version b/core-mod/extra/opus/version new file mode 100644 index 0000000..957d07e --- /dev/null +++ b/core-mod/extra/opus/version @@ -0,0 +1 @@ +1.3.1 1 diff --git a/core-mod/extra/pango/build b/core-mod/extra/pango/build new file mode 100755 index 0000000..1d4cc2e --- /dev/null +++ b/core-mod/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/core-mod/extra/pango/checksums b/core-mod/extra/pango/checksums new file mode 100644 index 0000000..9cd7385 --- /dev/null +++ b/core-mod/extra/pango/checksums @@ -0,0 +1 @@ +8783c82927582437d3a224eb18ea90d195b7451ff2effdffba16039df5346170 diff --git a/core-mod/extra/pango/depends b/core-mod/extra/pango/depends new file mode 100644 index 0000000..a826934 --- /dev/null +++ b/core-mod/extra/pango/depends @@ -0,0 +1,9 @@ +cairo +fontconfig +freetype-harfbuzz +fribidi +glib +libXft +libXrender +meson make +pkgconf make diff --git a/core-mod/extra/pango/sources b/core-mod/extra/pango/sources new file mode 100644 index 0000000..7521cf4 --- /dev/null +++ b/core-mod/extra/pango/sources @@ -0,0 +1 @@ +https://github.com/GNOME/pango/archive/1.48.7.tar.gz diff --git a/core-mod/extra/pango/version b/core-mod/extra/pango/version new file mode 100644 index 0000000..3098975 --- /dev/null +++ b/core-mod/extra/pango/version @@ -0,0 +1 @@ +1.48.7 1 diff --git a/core-mod/extra/patchelf/build b/core-mod/extra/patchelf/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/extra/patchelf/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/patchelf/checksums b/core-mod/extra/patchelf/checksums new file mode 100644 index 0000000..f411562 --- /dev/null +++ b/core-mod/extra/patchelf/checksums @@ -0,0 +1 @@ +699a31cf52211cf5ad6e35a8801eb637bc7f3c43117140426400d67b7babd792 diff --git a/core-mod/extra/patchelf/sources b/core-mod/extra/patchelf/sources new file mode 100644 index 0000000..813c335 --- /dev/null +++ b/core-mod/extra/patchelf/sources @@ -0,0 +1 @@ +https://github.com/NixOS/patchelf/releases/download/0.12/patchelf-0.12.tar.bz2 diff --git a/core-mod/extra/patchelf/version b/core-mod/extra/patchelf/version new file mode 100644 index 0000000..510a262 --- /dev/null +++ b/core-mod/extra/patchelf/version @@ -0,0 +1 @@ +0.12 1 diff --git a/core-mod/extra/perl/build b/core-mod/extra/perl/build new file mode 100755 index 0000000..8f369e2 --- /dev/null +++ b/core-mod/extra/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-mod/extra/perl/checksums b/core-mod/extra/perl/checksums new file mode 100644 index 0000000..cf9c549 --- /dev/null +++ b/core-mod/extra/perl/checksums @@ -0,0 +1 @@ +82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded diff --git a/core-mod/extra/perl/depends b/core-mod/extra/perl/depends new file mode 100644 index 0000000..4565337 --- /dev/null +++ b/core-mod/extra/perl/depends @@ -0,0 +1,2 @@ +bzip2 +zlib diff --git a/core-mod/extra/perl/sources b/core-mod/extra/perl/sources new file mode 100644 index 0000000..a06cabd --- /dev/null +++ b/core-mod/extra/perl/sources @@ -0,0 +1 @@ +https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz diff --git a/core-mod/extra/perl/version b/core-mod/extra/perl/version new file mode 100644 index 0000000..23cfb12 --- /dev/null +++ b/core-mod/extra/perl/version @@ -0,0 +1 @@ +5.34.0 1 diff --git a/core-mod/extra/pkgconf/build b/core-mod/extra/pkgconf/build new file mode 100755 index 0000000..503d3a7 --- /dev/null +++ b/core-mod/extra/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-mod/extra/pkgconf/checksums b/core-mod/extra/pkgconf/checksums new file mode 100644 index 0000000..2041335 --- /dev/null +++ b/core-mod/extra/pkgconf/checksums @@ -0,0 +1 @@ +d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab diff --git a/core-mod/extra/pkgconf/sources b/core-mod/extra/pkgconf/sources new file mode 100644 index 0000000..ff1ef80 --- /dev/null +++ b/core-mod/extra/pkgconf/sources @@ -0,0 +1 @@ +https://distfiles.dereferenced.org/pkgconf/pkgconf-1.7.4.tar.xz diff --git a/core-mod/extra/pkgconf/version b/core-mod/extra/pkgconf/version new file mode 100644 index 0000000..d70531c --- /dev/null +++ b/core-mod/extra/pkgconf/version @@ -0,0 +1 @@ +1.7.4 1 diff --git a/core-mod/extra/plzip/build b/core-mod/extra/plzip/build new file mode 100755 index 0000000..ff37a3f --- /dev/null +++ b/core-mod/extra/plzip/build @@ -0,0 +1,17 @@ +#!/bin/sh -e + +# plzip is the only thing that will ever require +# this library. Let's simply build it and statically +# compile plzip. +(cd lzlib; ./configure; make) + +./configure \ + --prefix=/usr \ + CXXFLAGS="$CXXFLAGS -static -L$PWD/lzlib -I$PWD/lzlib" + +make +make DESTDIR="$1" install + +# Create the symlink for compatibility. We're using +# a multi-threaded implementation of lzip. +ln -s plzip "$1/usr/bin/lzip" diff --git a/core-mod/extra/plzip/checksums b/core-mod/extra/plzip/checksums new file mode 100644 index 0000000..e98b416 --- /dev/null +++ b/core-mod/extra/plzip/checksums @@ -0,0 +1,2 @@ +14d8d1db8dde76bdd9060b59d50b2943417eb4c0fbd2b84736546b78fab5f1a7 +2472f8d93830d0952b0c75f67e372d38c8f7c174dde2252369d5b20c87d3ba8e diff --git a/core-mod/extra/plzip/sources b/core-mod/extra/plzip/sources new file mode 100644 index 0000000..100844b --- /dev/null +++ b/core-mod/extra/plzip/sources @@ -0,0 +1,2 @@ +https://download.savannah.gnu.org/releases/lzip/plzip/plzip-1.9.tar.gz +https://download.savannah.gnu.org/releases/lzip/lzlib/lzlib-1.9.tar.gz lzlib diff --git a/core-mod/extra/plzip/version b/core-mod/extra/plzip/version new file mode 100644 index 0000000..6346e5c --- /dev/null +++ b/core-mod/extra/plzip/version @@ -0,0 +1 @@ +1.9 1 diff --git a/core-mod/extra/python/build b/core-mod/extra/python/build new file mode 100755 index 0000000..f7baaab --- /dev/null +++ b/core-mod/extra/python/build @@ -0,0 +1,47 @@ +#!/bin/sh -e + +# Remove util-linux dependency among other things. +cat >> Modules/Setup < 0) old_protos = old_protos ? old_protos "\n" i : i + protos = "/* This file is automatically generated with \"make proto\". DO NOT EDIT */\n" +} + +inheader { + protos = protos "\n" ((inheader = /\)[ \t]*$/ ? 0 : 1) ? $0 : $0 ";") + next +} + +/^FN_(LOCAL|GLOBAL)_[^(]+\([^,()]+/ { + local = /^FN_LOCAL/ + gsub(/^FN_(LOC|GLOB)AL_|,.*$/, "") + sub(/^BOOL\(/, "BOOL ") + sub(/^CHAR\(/, "char ") + sub(/^INTEGER\(/, "int ") + sub(/^STRING\(/, "char *") + protos = protos "\n" $0 (local ? "(int module_id);" : "(void);") + next +} + +/^static|^extern|;/||!/^[A-Za-z][A-Za-z0-9_]* / { next } + +/\(.*\)[ \t]*$/ { + protos = protos "\n" $0 ";" + next +} + +/\(/ { + inheader = 1 + protos = protos "\n" $0 +} + +END { + if (old_protos != protos) print protos > "proto.h" + print "" > "proto.h-tstamp" +} diff --git a/core-mod/extra/rsync/sources b/core-mod/extra/rsync/sources new file mode 100644 index 0000000..8cf1740 --- /dev/null +++ b/core-mod/extra/rsync/sources @@ -0,0 +1,2 @@ +https://download.samba.org/pub/rsync/src/rsync-3.2.3.tar.gz +files/mkproto.awk diff --git a/core-mod/extra/rsync/version b/core-mod/extra/rsync/version new file mode 100644 index 0000000..088245e --- /dev/null +++ b/core-mod/extra/rsync/version @@ -0,0 +1 @@ +3.2.3 1 diff --git a/core-mod/extra/samurai/build b/core-mod/extra/samurai/build new file mode 100755 index 0000000..1dd11b3 --- /dev/null +++ b/core-mod/extra/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-mod/extra/samurai/checksums b/core-mod/extra/samurai/checksums new file mode 100644 index 0000000..c688a25 --- /dev/null +++ b/core-mod/extra/samurai/checksums @@ -0,0 +1 @@ +3b8cf51548dfc49b7efe035e191ff5e1963ebc4fe8f6064a5eefc5343eaf78a5 diff --git a/core-mod/extra/samurai/sources b/core-mod/extra/samurai/sources new file mode 100644 index 0000000..2122189 --- /dev/null +++ b/core-mod/extra/samurai/sources @@ -0,0 +1 @@ +https://github.com/michaelforney/samurai/releases/download/1.2/samurai-1.2.tar.gz diff --git a/core-mod/extra/samurai/version b/core-mod/extra/samurai/version new file mode 100644 index 0000000..f76d834 --- /dev/null +++ b/core-mod/extra/samurai/version @@ -0,0 +1 @@ +1.2 1 diff --git a/core-mod/extra/sqlite/build b/core-mod/extra/sqlite/build new file mode 100755 index 0000000..e5325a5 --- /dev/null +++ b/core-mod/extra/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-mod/extra/sqlite/checksums b/core-mod/extra/sqlite/checksums new file mode 100644 index 0000000..54b3397 --- /dev/null +++ b/core-mod/extra/sqlite/checksums @@ -0,0 +1 @@ +bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 diff --git a/core-mod/extra/sqlite/depends b/core-mod/extra/sqlite/depends new file mode 100644 index 0000000..f22003e --- /dev/null +++ b/core-mod/extra/sqlite/depends @@ -0,0 +1 @@ +zlib diff --git a/core-mod/extra/sqlite/sources b/core-mod/extra/sqlite/sources new file mode 100644 index 0000000..84fc70a --- /dev/null +++ b/core-mod/extra/sqlite/sources @@ -0,0 +1 @@ +https://sqlite.org/2021/sqlite-autoconf-3360000.tar.gz diff --git a/core-mod/extra/sqlite/version b/core-mod/extra/sqlite/version new file mode 100644 index 0000000..21a73e1 --- /dev/null +++ b/core-mod/extra/sqlite/version @@ -0,0 +1 @@ +3.36.0 1 diff --git a/core-mod/extra/strace/build b/core-mod/extra/strace/build new file mode 100755 index 0000000..4012cb5 --- /dev/null +++ b/core-mod/extra/strace/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-mpers + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/strace/checksums b/core-mod/extra/strace/checksums new file mode 100644 index 0000000..6f5b7ce --- /dev/null +++ b/core-mod/extra/strace/checksums @@ -0,0 +1 @@ +29171edf9d252f89c988a4c340dfdec662f458cb8c63d85431d64bab5911e7c4 diff --git a/core-mod/extra/strace/depends b/core-mod/extra/strace/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/core-mod/extra/strace/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/core-mod/extra/strace/sources b/core-mod/extra/strace/sources new file mode 100644 index 0000000..c362f18 --- /dev/null +++ b/core-mod/extra/strace/sources @@ -0,0 +1 @@ +https://github.com/strace/strace/releases/download/v5.12/strace-5.12.tar.xz diff --git a/core-mod/extra/strace/version b/core-mod/extra/strace/version new file mode 100644 index 0000000..35970e0 --- /dev/null +++ b/core-mod/extra/strace/version @@ -0,0 +1 @@ +5.12 1 diff --git a/core-mod/extra/tiff/build b/core-mod/extra/tiff/build new file mode 100755 index 0000000..eb4850d --- /dev/null +++ b/core-mod/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/core-mod/extra/tiff/checksums b/core-mod/extra/tiff/checksums new file mode 100644 index 0000000..a7f5914 --- /dev/null +++ b/core-mod/extra/tiff/checksums @@ -0,0 +1 @@ +0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8 diff --git a/core-mod/extra/tiff/depends b/core-mod/extra/tiff/depends new file mode 100644 index 0000000..59e7114 --- /dev/null +++ b/core-mod/extra/tiff/depends @@ -0,0 +1,3 @@ +libjpeg-turbo +xz +zlib diff --git a/core-mod/extra/tiff/sources b/core-mod/extra/tiff/sources new file mode 100644 index 0000000..2863900 --- /dev/null +++ b/core-mod/extra/tiff/sources @@ -0,0 +1 @@ +https://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz diff --git a/core-mod/extra/tiff/version b/core-mod/extra/tiff/version new file mode 100644 index 0000000..1fa6c9a --- /dev/null +++ b/core-mod/extra/tiff/version @@ -0,0 +1 @@ +4.3.0 1 diff --git a/core-mod/extra/tzdata/build b/core-mod/extra/tzdata/build new file mode 100755 index 0000000..7e542ee --- /dev/null +++ b/core-mod/extra/tzdata/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +pkg_dir=$1 + +make CC="${CC:-cc}" +make DESTDIR="$1" ZICDIR=/usr/bin install + +set -- africa asia australasia europe northamerica southamerica + +./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-mod/extra/tzdata/checksums b/core-mod/extra/tzdata/checksums new file mode 100644 index 0000000..b262b41 --- /dev/null +++ b/core-mod/extra/tzdata/checksums @@ -0,0 +1 @@ +bd7ecd99cbb0a2f15bb7e38be2cbc04dced89922fce4ac0ffcd1ca844ba9362f diff --git a/core-mod/extra/tzdata/sources b/core-mod/extra/tzdata/sources new file mode 100644 index 0000000..2421adf --- /dev/null +++ b/core-mod/extra/tzdata/sources @@ -0,0 +1 @@ +https://github.com/eggert/tz/archive/2021a.tar.gz diff --git a/core-mod/extra/tzdata/version b/core-mod/extra/tzdata/version new file mode 100644 index 0000000..2221e5b --- /dev/null +++ b/core-mod/extra/tzdata/version @@ -0,0 +1 @@ +2021a 1 diff --git a/core-mod/extra/util-linux/build b/core-mod/extra/util-linux/build new file mode 100755 index 0000000..76c1f23 --- /dev/null +++ b/core-mod/extra/util-linux/build @@ -0,0 +1,23 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --bindir=/usr/bin \ + --sbindir=/usr/bin \ + --libdir=/usr/lib \ + --enable-libuuid \ + --enable-libblkid \ + --enable-fsck \ + --disable-makeinstall-chown \ + --disable-rpath \ + --without-udev \ + --without-python \ + --without-systemd + +make +make DESTDIR="$1" install + +# Fix broken --sbindir. +mv -f "$1/usr/sbin/"* "$1/usr/bin" +rmdir "$1/usr/sbin" diff --git a/core-mod/extra/util-linux/checksums b/core-mod/extra/util-linux/checksums new file mode 100644 index 0000000..03c2476 --- /dev/null +++ b/core-mod/extra/util-linux/checksums @@ -0,0 +1 @@ +bd07b7e98839e0359842110525a3032fdb8eaf3a90bedde3dd1652d32d15cce5 diff --git a/core-mod/extra/util-linux/depends b/core-mod/extra/util-linux/depends new file mode 100644 index 0000000..709a840 --- /dev/null +++ b/core-mod/extra/util-linux/depends @@ -0,0 +1,2 @@ +linux-headers make +zlib diff --git a/core-mod/extra/util-linux/sources b/core-mod/extra/util-linux/sources new file mode 100644 index 0000000..43f8a92 --- /dev/null +++ b/core-mod/extra/util-linux/sources @@ -0,0 +1 @@ +https://cdn.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.tar.xz diff --git a/core-mod/extra/util-linux/version b/core-mod/extra/util-linux/version new file mode 100644 index 0000000..c304d36 --- /dev/null +++ b/core-mod/extra/util-linux/version @@ -0,0 +1 @@ +2.37 1 diff --git a/core-mod/extra/wpa_supplicant/build b/core-mod/extra/wpa_supplicant/build new file mode 100755 index 0000000..8860314 --- /dev/null +++ b/core-mod/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/core-mod/extra/wpa_supplicant/checksums b/core-mod/extra/wpa_supplicant/checksums new file mode 100644 index 0000000..06ed6d3 --- /dev/null +++ b/core-mod/extra/wpa_supplicant/checksums @@ -0,0 +1,3 @@ +fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17 wpa_supplicant-2.9.tar.gz +d2b57597b234c84b113e7640064c3273616c0bf086ad223d71f49aaea086ad59 4225e93bec5304abee3386213213718367e54a93.tar.gz +ea81361a44cede64fb42309e783f26ca1d0a4f6677a21550aad925b25405eeb0 .config diff --git a/core-mod/extra/wpa_supplicant/depends b/core-mod/extra/wpa_supplicant/depends new file mode 100644 index 0000000..86dfce4 --- /dev/null +++ b/core-mod/extra/wpa_supplicant/depends @@ -0,0 +1,2 @@ +libressl +linux-headers make diff --git a/core-mod/extra/wpa_supplicant/files/.config b/core-mod/extra/wpa_supplicant/files/.config new file mode 100644 index 0000000..97808b5 --- /dev/null +++ b/core-mod/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/core-mod/extra/wpa_supplicant/post-install b/core-mod/extra/wpa_supplicant/post-install new file mode 100755 index 0000000..a50eb53 --- /dev/null +++ b/core-mod/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/core-mod/extra/x264/sources b/core-mod/extra/x264/sources new file mode 100644 index 0000000..ec3be5c --- /dev/null +++ b/core-mod/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/core-mod/extra/x264/version b/core-mod/extra/x264/version new file mode 100644 index 0000000..c416a33 --- /dev/null +++ b/core-mod/extra/x264/version @@ -0,0 +1 @@ +20190812-2245 4 diff --git a/core-mod/extra/x265/build b/core-mod/extra/x265/build new file mode 100755 index 0000000..2bc1c91 --- /dev/null +++ b/core-mod/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/core-mod/extra/x265/checksums b/core-mod/extra/x265/checksums new file mode 100644 index 0000000..5e3f312 --- /dev/null +++ b/core-mod/extra/x265/checksums @@ -0,0 +1 @@ +5ca3403c08de4716719575ec56c686b1eb55b078c0fe50a064dcf1ac20af1618 diff --git a/core-mod/extra/x265/depends b/core-mod/extra/x265/depends new file mode 100644 index 0000000..8e82f95 --- /dev/null +++ b/core-mod/extra/x265/depends @@ -0,0 +1,2 @@ +cmake make +nasm make diff --git a/core-mod/extra/x265/sources b/core-mod/extra/x265/sources new file mode 100644 index 0000000..f289c04 --- /dev/null +++ b/core-mod/extra/x265/sources @@ -0,0 +1 @@ +https://bitbucket.org/multicoreware/x265_git/get/3.5.tar.gz diff --git a/core-mod/extra/x265/version b/core-mod/extra/x265/version new file mode 100644 index 0000000..61e3d24 --- /dev/null +++ b/core-mod/extra/x265/version @@ -0,0 +1 @@ +3.5 1 diff --git a/core-mod/extra/xfsprogs/build b/core-mod/extra/xfsprogs/build new file mode 100755 index 0000000..1d9f1ec --- /dev/null +++ b/core-mod/extra/xfsprogs/build @@ -0,0 +1,39 @@ +#!/bin/sh -e + +# Bundle libinih just for xfsprogs +export DESTDIR="$PWD/../libinih" + +meson \ + -Dprefix=/ \ + -Ddefault_library=static \ + -Ddistro_install=true \ + -Dwith_INIReader=true \ + -Dmulti-line_entries=true \ + -Dutf-8_bom=true \ + -Dinline_comments=true \ + -Duse_heap=false \ + inih inih/output + +ninja -C inih/output +ninja -C inih/output install + +export CFLAGS="$CFLAGS -I$PWD/../libinih/include" +export LDFLAGS="$LDFLAGS -L$PWD/../libinih/lib" + +# Remove incorrect bash dependency. +sed -i 's/bash/sh/' install-sh + +# Explicitly include instead of implicit inclusion. +sed -i '1i#include ' include/linux.h + +./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --disable-gettext + +make +make \ + DIST_ROOT="$1" \ + PKG_ROOT_SBIN_DIR=/usr/bin \ + PKG_ROOT_LIB_DIR=/usr/lib \ + install install-dev diff --git a/core-mod/extra/xfsprogs/checksums b/core-mod/extra/xfsprogs/checksums new file mode 100644 index 0000000..42a5268 --- /dev/null +++ b/core-mod/extra/xfsprogs/checksums @@ -0,0 +1,2 @@ +bec44445cf18f49e63971d4f27dc4e90a17b118b852714a1104b621ea30e3507 +01b0366fdfdf6363efc070c2f856f1afa33e7a6546548bada5456ad94a516241 diff --git a/core-mod/extra/xfsprogs/depends b/core-mod/extra/xfsprogs/depends new file mode 100644 index 0000000..59e01b6 --- /dev/null +++ b/core-mod/extra/xfsprogs/depends @@ -0,0 +1,3 @@ +linux-headers make +meson make +util-linux diff --git a/core-mod/extra/xfsprogs/sources b/core-mod/extra/xfsprogs/sources new file mode 100644 index 0000000..22e214d --- /dev/null +++ b/core-mod/extra/xfsprogs/sources @@ -0,0 +1,2 @@ +https://fossies.org/linux/misc/xfsprogs-5.12.0.tar.xz +https://github.com/benhoyt/inih/archive/r53.tar.gz inih diff --git a/core-mod/extra/xfsprogs/version b/core-mod/extra/xfsprogs/version new file mode 100644 index 0000000..c131ff6 --- /dev/null +++ b/core-mod/extra/xfsprogs/version @@ -0,0 +1 @@ +5.12.0 1 diff --git a/core-mod/extra/xvidcore/build b/core-mod/extra/xvidcore/build new file mode 100755 index 0000000..ac4edec --- /dev/null +++ b/core-mod/extra/xvidcore/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +cd build/generic + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/extra/xvidcore/checksums b/core-mod/extra/xvidcore/checksums new file mode 100644 index 0000000..0fc163d --- /dev/null +++ b/core-mod/extra/xvidcore/checksums @@ -0,0 +1 @@ +aeeaae952d4db395249839a3bd03841d6844843f5a4f84c271ff88f7aa1acff7 xvidcore-1.3.7.tar.bz2 diff --git a/core-mod/extra/xvidcore/depends b/core-mod/extra/xvidcore/depends new file mode 100644 index 0000000..116f6b2 --- /dev/null +++ b/core-mod/extra/xvidcore/depends @@ -0,0 +1 @@ +nasm make diff --git a/core-mod/extra/xvidcore/sources b/core-mod/extra/xvidcore/sources new file mode 100644 index 0000000..9dc4bd6 --- /dev/null +++ b/core-mod/extra/xvidcore/sources @@ -0,0 +1 @@ +https://downloads.xvid.com/downloads/xvidcore-1.3.7.tar.bz2 diff --git a/core-mod/extra/xvidcore/version b/core-mod/extra/xvidcore/version new file mode 100644 index 0000000..ae80c29 --- /dev/null +++ b/core-mod/extra/xvidcore/version @@ -0,0 +1 @@ +1.3.7 1 diff --git a/core-mod/extra/zip/build b/core-mod/extra/zip/build new file mode 100755 index 0000000..ce76823 --- /dev/null +++ b/core-mod/extra/zip/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +make \ + prefix=/usr \ + CC="${CC:-cc} $CFLAGS $CXXFLAGS" \ + -f unix/Makefile generic + +make \ + prefix="$1/usr" \ + MANDIR="$1/usr/share/man/man1" \ + -f unix/Makefile install diff --git a/core-mod/extra/zip/checksums b/core-mod/extra/zip/checksums new file mode 100644 index 0000000..3337c64 --- /dev/null +++ b/core-mod/extra/zip/checksums @@ -0,0 +1 @@ +f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369 zip30.tar.gz diff --git a/core-mod/extra/zip/depends b/core-mod/extra/zip/depends new file mode 100644 index 0000000..7a45712 --- /dev/null +++ b/core-mod/extra/zip/depends @@ -0,0 +1 @@ +bzip2 diff --git a/core-mod/extra/zip/sources b/core-mod/extra/zip/sources new file mode 100644 index 0000000..49a2168 --- /dev/null +++ b/core-mod/extra/zip/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/infozip/zip30.tar.gz diff --git a/core-mod/extra/zip/version b/core-mod/extra/zip/version new file mode 100644 index 0000000..f90f0a3 --- /dev/null +++ b/core-mod/extra/zip/version @@ -0,0 +1 @@ +3.0 2 diff --git a/core-mod/xorg/libICE/build b/core-mod/xorg/libICE/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libICE/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libICE/checksums b/core-mod/xorg/libICE/checksums new file mode 100644 index 0000000..98a60cf --- /dev/null +++ b/core-mod/xorg/libICE/checksums @@ -0,0 +1 @@ +6f86dce12cf4bcaf5c37dddd8b1b64ed2ddf1ef7b218f22b9942595fb747c348 libICE-1.0.10.tar.bz2 diff --git a/core-mod/xorg/libICE/depends b/core-mod/xorg/libICE/depends new file mode 100644 index 0000000..ff0c653 --- /dev/null +++ b/core-mod/xorg/libICE/depends @@ -0,0 +1,3 @@ +pkgconf make +xorgproto make +xtrans make diff --git a/core-mod/xorg/libICE/sources b/core-mod/xorg/libICE/sources new file mode 100644 index 0000000..1137b15 --- /dev/null +++ b/core-mod/xorg/libICE/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libICE-1.0.10.tar.bz2 diff --git a/core-mod/xorg/libICE/version b/core-mod/xorg/libICE/version new file mode 100644 index 0000000..9933b0e --- /dev/null +++ b/core-mod/xorg/libICE/version @@ -0,0 +1 @@ +1.0.10 2 diff --git a/core-mod/xorg/libSM/build b/core-mod/xorg/libSM/build new file mode 100755 index 0000000..801017e --- /dev/null +++ b/core-mod/xorg/libSM/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --without-libuuid + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libSM/checksums b/core-mod/xorg/libSM/checksums new file mode 100644 index 0000000..67486e6 --- /dev/null +++ b/core-mod/xorg/libSM/checksums @@ -0,0 +1 @@ +2d264499dcb05f56438dee12a1b4b71d76736ce7ba7aa6efbf15ebb113769cbb libSM-1.2.3.tar.bz2 diff --git a/core-mod/xorg/libSM/depends b/core-mod/xorg/libSM/depends new file mode 100644 index 0000000..1e97931 --- /dev/null +++ b/core-mod/xorg/libSM/depends @@ -0,0 +1,3 @@ +pkgconf make +libICE +xtrans make diff --git a/core-mod/xorg/libSM/sources b/core-mod/xorg/libSM/sources new file mode 100644 index 0000000..a9b4bbe --- /dev/null +++ b/core-mod/xorg/libSM/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libSM-1.2.3.tar.bz2 diff --git a/core-mod/xorg/libSM/version b/core-mod/xorg/libSM/version new file mode 100644 index 0000000..e63ae1d --- /dev/null +++ b/core-mod/xorg/libSM/version @@ -0,0 +1 @@ +1.2.3 2 diff --git a/core-mod/xorg/libX11/build b/core-mod/xorg/libX11/build new file mode 100755 index 0000000..0ebe0da --- /dev/null +++ b/core-mod/xorg/libX11/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +CFLAGS_FOR_BUILD=-fPIC \ +./configure \ + --prefix=/usr \ + --without-xmlto \ + --disable-specs \ + --enable-static + +make +make DESTDIR="$1" install + +# This will be removed once 'xorgproto' 2019.2 +# is released. +rm -f "$1/usr/include/X11/extensions/XKBgeom.h" diff --git a/core-mod/xorg/libX11/checksums b/core-mod/xorg/libX11/checksums new file mode 100644 index 0000000..3a840bd --- /dev/null +++ b/core-mod/xorg/libX11/checksums @@ -0,0 +1 @@ +1cfa35e37aaabbe4792e9bb690468efefbfbf6b147d9c69d6f90d13c3092ea6c diff --git a/core-mod/xorg/libX11/depends b/core-mod/xorg/libX11/depends new file mode 100644 index 0000000..9be9ae5 --- /dev/null +++ b/core-mod/xorg/libX11/depends @@ -0,0 +1,5 @@ +libXau +libxcb +pkgconf make +xorgproto +xtrans make diff --git a/core-mod/xorg/libX11/sources b/core-mod/xorg/libX11/sources new file mode 100644 index 0000000..50b5f3d --- /dev/null +++ b/core-mod/xorg/libX11/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libX11-1.7.2.tar.bz2 diff --git a/core-mod/xorg/libX11/version b/core-mod/xorg/libX11/version new file mode 100644 index 0000000..8a5282d --- /dev/null +++ b/core-mod/xorg/libX11/version @@ -0,0 +1 @@ +1.7.2 1 diff --git a/core-mod/xorg/libXScrnSaver/build b/core-mod/xorg/libXScrnSaver/build new file mode 100755 index 0000000..105ed0c --- /dev/null +++ b/core-mod/xorg/libXScrnSaver/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-malloc0returnsnull + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXScrnSaver/checksums b/core-mod/xorg/libXScrnSaver/checksums new file mode 100644 index 0000000..c456e07 --- /dev/null +++ b/core-mod/xorg/libXScrnSaver/checksums @@ -0,0 +1 @@ +f917075a1b7b5a38d67a8b0238eaab14acd2557679835b154cf2bca576e89bf8 libXScrnSaver-1.2.3.tar.bz2 diff --git a/core-mod/xorg/libXScrnSaver/depends b/core-mod/xorg/libXScrnSaver/depends new file mode 100644 index 0000000..0d40d49 --- /dev/null +++ b/core-mod/xorg/libXScrnSaver/depends @@ -0,0 +1,4 @@ +libX11 make +libXext make +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXScrnSaver/sources b/core-mod/xorg/libXScrnSaver/sources new file mode 100644 index 0000000..6fa7c11 --- /dev/null +++ b/core-mod/xorg/libXScrnSaver/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXScrnSaver-1.2.3.tar.bz2 diff --git a/core-mod/xorg/libXScrnSaver/version b/core-mod/xorg/libXScrnSaver/version new file mode 100644 index 0000000..883a7ec --- /dev/null +++ b/core-mod/xorg/libXScrnSaver/version @@ -0,0 +1 @@ +1.2.3 1 diff --git a/core-mod/xorg/libXau/build b/core-mod/xorg/libXau/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXau/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXau/checksums b/core-mod/xorg/libXau/checksums new file mode 100644 index 0000000..cf7404f --- /dev/null +++ b/core-mod/xorg/libXau/checksums @@ -0,0 +1 @@ +ccf8cbf0dbf676faa2ea0a6d64bcc3b6746064722b606c8c52917ed00dcb73ec libXau-1.0.9.tar.bz2 diff --git a/core-mod/xorg/libXau/depends b/core-mod/xorg/libXau/depends new file mode 100644 index 0000000..2b5e439 --- /dev/null +++ b/core-mod/xorg/libXau/depends @@ -0,0 +1,2 @@ +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXau/sources b/core-mod/xorg/libXau/sources new file mode 100644 index 0000000..471e749 --- /dev/null +++ b/core-mod/xorg/libXau/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXau-1.0.9.tar.bz2 diff --git a/core-mod/xorg/libXau/version b/core-mod/xorg/libXau/version new file mode 100644 index 0000000..7773763 --- /dev/null +++ b/core-mod/xorg/libXau/version @@ -0,0 +1 @@ +1.0.9 1 diff --git a/core-mod/xorg/libXcomposite/build b/core-mod/xorg/libXcomposite/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXcomposite/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXcomposite/checksums b/core-mod/xorg/libXcomposite/checksums new file mode 100644 index 0000000..ed55a54 --- /dev/null +++ b/core-mod/xorg/libXcomposite/checksums @@ -0,0 +1 @@ +b3218a2c15bab8035d16810df5b8251ffc7132ff3aa70651a1fba0bfe9634e8f libXcomposite-0.4.5.tar.bz2 diff --git a/core-mod/xorg/libXcomposite/depends b/core-mod/xorg/libXcomposite/depends new file mode 100644 index 0000000..91199d2 --- /dev/null +++ b/core-mod/xorg/libXcomposite/depends @@ -0,0 +1,3 @@ +libXfixes +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXcomposite/sources b/core-mod/xorg/libXcomposite/sources new file mode 100644 index 0000000..e0fc6db --- /dev/null +++ b/core-mod/xorg/libXcomposite/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXcomposite-0.4.5.tar.bz2 diff --git a/core-mod/xorg/libXcomposite/version b/core-mod/xorg/libXcomposite/version new file mode 100644 index 0000000..d49665f --- /dev/null +++ b/core-mod/xorg/libXcomposite/version @@ -0,0 +1 @@ +0.4.5 2 diff --git a/core-mod/xorg/libXcursor/build b/core-mod/xorg/libXcursor/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXcursor/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXcursor/checksums b/core-mod/xorg/libXcursor/checksums new file mode 100644 index 0000000..0b7031a --- /dev/null +++ b/core-mod/xorg/libXcursor/checksums @@ -0,0 +1 @@ +3ad3e9f8251094af6fe8cb4afcf63e28df504d46bfa5a5529db74a505d628782 libXcursor-1.2.0.tar.bz2 diff --git a/core-mod/xorg/libXcursor/depends b/core-mod/xorg/libXcursor/depends new file mode 100644 index 0000000..e3ddce2 --- /dev/null +++ b/core-mod/xorg/libXcursor/depends @@ -0,0 +1,4 @@ +libXfixes +libXrender +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXcursor/sources b/core-mod/xorg/libXcursor/sources new file mode 100644 index 0000000..8171945 --- /dev/null +++ b/core-mod/xorg/libXcursor/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXcursor-1.2.0.tar.bz2 diff --git a/core-mod/xorg/libXcursor/version b/core-mod/xorg/libXcursor/version new file mode 100644 index 0000000..9d7d10a --- /dev/null +++ b/core-mod/xorg/libXcursor/version @@ -0,0 +1 @@ +1.2.0 2 diff --git a/core-mod/xorg/libXdamage/build b/core-mod/xorg/libXdamage/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXdamage/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXdamage/checksums b/core-mod/xorg/libXdamage/checksums new file mode 100644 index 0000000..6065795 --- /dev/null +++ b/core-mod/xorg/libXdamage/checksums @@ -0,0 +1 @@ +b734068643cac3b5f3d2c8279dd366b5bf28c7219d9e9d8717e1383995e0ea45 libXdamage-1.1.5.tar.bz2 diff --git a/core-mod/xorg/libXdamage/depends b/core-mod/xorg/libXdamage/depends new file mode 100644 index 0000000..42912da --- /dev/null +++ b/core-mod/xorg/libXdamage/depends @@ -0,0 +1,4 @@ +libX11 +libXfixes +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXdamage/sources b/core-mod/xorg/libXdamage/sources new file mode 100644 index 0000000..4e59261 --- /dev/null +++ b/core-mod/xorg/libXdamage/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXdamage-1.1.5.tar.bz2 diff --git a/core-mod/xorg/libXdamage/version b/core-mod/xorg/libXdamage/version new file mode 100644 index 0000000..89d25d2 --- /dev/null +++ b/core-mod/xorg/libXdamage/version @@ -0,0 +1 @@ +1.1.5 2 diff --git a/core-mod/xorg/libXext/build b/core-mod/xorg/libXext/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXext/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXext/checksums b/core-mod/xorg/libXext/checksums new file mode 100644 index 0000000..e86d68c --- /dev/null +++ b/core-mod/xorg/libXext/checksums @@ -0,0 +1 @@ +59ad6fcce98deaecc14d39a672cf218ca37aba617c9a0f691cac3bcd28edf82b libXext-1.3.4.tar.bz2 diff --git a/core-mod/xorg/libXext/depends b/core-mod/xorg/libXext/depends new file mode 100644 index 0000000..83fe618 --- /dev/null +++ b/core-mod/xorg/libXext/depends @@ -0,0 +1,3 @@ +libX11 +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXext/sources b/core-mod/xorg/libXext/sources new file mode 100644 index 0000000..60f7ab6 --- /dev/null +++ b/core-mod/xorg/libXext/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXext-1.3.4.tar.bz2 diff --git a/core-mod/xorg/libXext/version b/core-mod/xorg/libXext/version new file mode 100644 index 0000000..d289440 --- /dev/null +++ b/core-mod/xorg/libXext/version @@ -0,0 +1 @@ +1.3.4 2 diff --git a/core-mod/xorg/libXfixes/build b/core-mod/xorg/libXfixes/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXfixes/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXfixes/checksums b/core-mod/xorg/libXfixes/checksums new file mode 100644 index 0000000..aa8d822 --- /dev/null +++ b/core-mod/xorg/libXfixes/checksums @@ -0,0 +1 @@ +a7c1a24da53e0b46cac5aea79094b4b2257321c621b258729bc3139149245b4c diff --git a/core-mod/xorg/libXfixes/depends b/core-mod/xorg/libXfixes/depends new file mode 100644 index 0000000..eeacdf7 --- /dev/null +++ b/core-mod/xorg/libXfixes/depends @@ -0,0 +1,2 @@ +libX11 +pkgconf make diff --git a/core-mod/xorg/libXfixes/sources b/core-mod/xorg/libXfixes/sources new file mode 100644 index 0000000..707ab5b --- /dev/null +++ b/core-mod/xorg/libXfixes/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXfixes-6.0.0.tar.bz2 diff --git a/core-mod/xorg/libXfixes/version b/core-mod/xorg/libXfixes/version new file mode 100644 index 0000000..dd00d5d --- /dev/null +++ b/core-mod/xorg/libXfixes/version @@ -0,0 +1 @@ +6.0.0 1 diff --git a/core-mod/xorg/libXfont2/build b/core-mod/xorg/libXfont2/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXfont2/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXfont2/checksums b/core-mod/xorg/libXfont2/checksums new file mode 100644 index 0000000..b3ec805 --- /dev/null +++ b/core-mod/xorg/libXfont2/checksums @@ -0,0 +1 @@ +6d151b3368e5035efede4b6264c0fdc6662c1c99dbc2de425e3480cababc69e6 libXfont2-2.0.4.tar.bz2 diff --git a/core-mod/xorg/libXfont2/depends b/core-mod/xorg/libXfont2/depends new file mode 100644 index 0000000..59277f4 --- /dev/null +++ b/core-mod/xorg/libXfont2/depends @@ -0,0 +1,5 @@ +freetype-harfbuzz +libfontenc +pkgconf make +xorgproto make +xtrans make diff --git a/core-mod/xorg/libXfont2/sources b/core-mod/xorg/libXfont2/sources new file mode 100644 index 0000000..9f2c695 --- /dev/null +++ b/core-mod/xorg/libXfont2/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXfont2-2.0.4.tar.bz2 diff --git a/core-mod/xorg/libXfont2/version b/core-mod/xorg/libXfont2/version new file mode 100644 index 0000000..aaedf8d --- /dev/null +++ b/core-mod/xorg/libXfont2/version @@ -0,0 +1 @@ +2.0.4 1 diff --git a/core-mod/xorg/libXft/build b/core-mod/xorg/libXft/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXft/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXft/checksums b/core-mod/xorg/libXft/checksums new file mode 100644 index 0000000..de00909 --- /dev/null +++ b/core-mod/xorg/libXft/checksums @@ -0,0 +1 @@ +225c68e616dd29dbb27809e45e9eadf18e4d74c50be43020ef20015274529216 libXft-2.3.3.tar.bz2 diff --git a/core-mod/xorg/libXft/depends b/core-mod/xorg/libXft/depends new file mode 100644 index 0000000..083c4f7 --- /dev/null +++ b/core-mod/xorg/libXft/depends @@ -0,0 +1,5 @@ +fontconfig make +freetype-harfbuzz make +libXrender make +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXft/sources b/core-mod/xorg/libXft/sources new file mode 100644 index 0000000..572dd4a --- /dev/null +++ b/core-mod/xorg/libXft/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXft-2.3.3.tar.bz2 diff --git a/core-mod/xorg/libXft/version b/core-mod/xorg/libXft/version new file mode 100644 index 0000000..c811426 --- /dev/null +++ b/core-mod/xorg/libXft/version @@ -0,0 +1 @@ +2.3.3 1 diff --git a/core-mod/xorg/libXi/build b/core-mod/xorg/libXi/build new file mode 100755 index 0000000..105ed0c --- /dev/null +++ b/core-mod/xorg/libXi/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-malloc0returnsnull + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXi/checksums b/core-mod/xorg/libXi/checksums new file mode 100644 index 0000000..449c086 --- /dev/null +++ b/core-mod/xorg/libXi/checksums @@ -0,0 +1 @@ +2ce90ebcb7fa0c3ed671924f1268b8f4c500fff62e1284699fc413e182a7896b diff --git a/core-mod/xorg/libXi/depends b/core-mod/xorg/libXi/depends new file mode 100644 index 0000000..e0e1b6e --- /dev/null +++ b/core-mod/xorg/libXi/depends @@ -0,0 +1,4 @@ +libXext +libXfixes +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXi/sources b/core-mod/xorg/libXi/sources new file mode 100644 index 0000000..1ff9ff9 --- /dev/null +++ b/core-mod/xorg/libXi/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXi-1.7.99.2.tar.bz2 diff --git a/core-mod/xorg/libXi/version b/core-mod/xorg/libXi/version new file mode 100644 index 0000000..44c637a --- /dev/null +++ b/core-mod/xorg/libXi/version @@ -0,0 +1 @@ +1.7.99.2 1 diff --git a/core-mod/xorg/libXinerama/build b/core-mod/xorg/libXinerama/build new file mode 100755 index 0000000..105ed0c --- /dev/null +++ b/core-mod/xorg/libXinerama/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-malloc0returnsnull + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXinerama/checksums b/core-mod/xorg/libXinerama/checksums new file mode 100644 index 0000000..7a97240 --- /dev/null +++ b/core-mod/xorg/libXinerama/checksums @@ -0,0 +1 @@ +0008dbd7ecf717e1e507eed1856ab0d9cf946d03201b85d5dcf61489bb02d720 libXinerama-1.1.4.tar.bz2 diff --git a/core-mod/xorg/libXinerama/depends b/core-mod/xorg/libXinerama/depends new file mode 100644 index 0000000..c14d9ad --- /dev/null +++ b/core-mod/xorg/libXinerama/depends @@ -0,0 +1,3 @@ +libXext +pkgconf make +xorgproto diff --git a/core-mod/xorg/libXinerama/sources b/core-mod/xorg/libXinerama/sources new file mode 100644 index 0000000..a9a1786 --- /dev/null +++ b/core-mod/xorg/libXinerama/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXinerama-1.1.4.tar.bz2 diff --git a/core-mod/xorg/libXinerama/version b/core-mod/xorg/libXinerama/version new file mode 100644 index 0000000..b01ca96 --- /dev/null +++ b/core-mod/xorg/libXinerama/version @@ -0,0 +1 @@ +1.1.4 1 diff --git a/core-mod/xorg/libXmu/build b/core-mod/xorg/libXmu/build new file mode 100755 index 0000000..6b0a232 --- /dev/null +++ b/core-mod/xorg/libXmu/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXmu/checksums b/core-mod/xorg/libXmu/checksums new file mode 100644 index 0000000..af34d90 --- /dev/null +++ b/core-mod/xorg/libXmu/checksums @@ -0,0 +1 @@ +9c343225e7c3dc0904f2122b562278da5fed639b1b5e880d25111561bac5b731 libXmu-1.1.3.tar.bz2 diff --git a/core-mod/xorg/libXmu/depends b/core-mod/xorg/libXmu/depends new file mode 100644 index 0000000..80a1600 --- /dev/null +++ b/core-mod/xorg/libXmu/depends @@ -0,0 +1,4 @@ +libXext +libXt +pkgconf make +xorg-util-macros make diff --git a/core-mod/xorg/libXmu/sources b/core-mod/xorg/libXmu/sources new file mode 100644 index 0000000..ac95a86 --- /dev/null +++ b/core-mod/xorg/libXmu/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXmu-1.1.3.tar.bz2 diff --git a/core-mod/xorg/libXmu/version b/core-mod/xorg/libXmu/version new file mode 100644 index 0000000..035474a --- /dev/null +++ b/core-mod/xorg/libXmu/version @@ -0,0 +1 @@ +1.1.3 1 diff --git a/core-mod/xorg/libXrandr/build b/core-mod/xorg/libXrandr/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXrandr/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXrandr/checksums b/core-mod/xorg/libXrandr/checksums new file mode 100644 index 0000000..8876a4c --- /dev/null +++ b/core-mod/xorg/libXrandr/checksums @@ -0,0 +1 @@ +8aea0ebe403d62330bb741ed595b53741acf45033d3bda1792f1d4cc3daee023 libXrandr-1.5.2.tar.bz2 diff --git a/core-mod/xorg/libXrandr/depends b/core-mod/xorg/libXrandr/depends new file mode 100644 index 0000000..9f12d15 --- /dev/null +++ b/core-mod/xorg/libXrandr/depends @@ -0,0 +1,4 @@ +libXext +libXrender +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXrandr/sources b/core-mod/xorg/libXrandr/sources new file mode 100644 index 0000000..803033d --- /dev/null +++ b/core-mod/xorg/libXrandr/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXrandr-1.5.2.tar.bz2 diff --git a/core-mod/xorg/libXrandr/version b/core-mod/xorg/libXrandr/version new file mode 100644 index 0000000..5b702ae --- /dev/null +++ b/core-mod/xorg/libXrandr/version @@ -0,0 +1 @@ +1.5.2 1 diff --git a/core-mod/xorg/libXrender/build b/core-mod/xorg/libXrender/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXrender/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXrender/checksums b/core-mod/xorg/libXrender/checksums new file mode 100644 index 0000000..2c21218 --- /dev/null +++ b/core-mod/xorg/libXrender/checksums @@ -0,0 +1 @@ +c06d5979f86e64cabbde57c223938db0b939dff49fdb5a793a1d3d0396650949 libXrender-0.9.10.tar.bz2 diff --git a/core-mod/xorg/libXrender/depends b/core-mod/xorg/libXrender/depends new file mode 100644 index 0000000..1fd995a --- /dev/null +++ b/core-mod/xorg/libXrender/depends @@ -0,0 +1,3 @@ +libXext make +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXrender/sources b/core-mod/xorg/libXrender/sources new file mode 100644 index 0000000..bf938ce --- /dev/null +++ b/core-mod/xorg/libXrender/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXrender-0.9.10.tar.bz2 diff --git a/core-mod/xorg/libXrender/version b/core-mod/xorg/libXrender/version new file mode 100644 index 0000000..6377cbb --- /dev/null +++ b/core-mod/xorg/libXrender/version @@ -0,0 +1 @@ +0.9.10 2 diff --git a/core-mod/xorg/libXt/build b/core-mod/xorg/libXt/build new file mode 100755 index 0000000..105ed0c --- /dev/null +++ b/core-mod/xorg/libXt/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-malloc0returnsnull + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXt/checksums b/core-mod/xorg/libXt/checksums new file mode 100644 index 0000000..1b793d6 --- /dev/null +++ b/core-mod/xorg/libXt/checksums @@ -0,0 +1 @@ +679cc08f1646dbd27f5e48ffe8dd49406102937109130caab02ca32c083a3d60 diff --git a/core-mod/xorg/libXt/depends b/core-mod/xorg/libXt/depends new file mode 100644 index 0000000..4cb81bd --- /dev/null +++ b/core-mod/xorg/libXt/depends @@ -0,0 +1,4 @@ +libSM +libX11 +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXt/sources b/core-mod/xorg/libXt/sources new file mode 100644 index 0000000..3cda998 --- /dev/null +++ b/core-mod/xorg/libXt/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXt-1.2.1.tar.bz2 diff --git a/core-mod/xorg/libXt/version b/core-mod/xorg/libXt/version new file mode 100644 index 0000000..cd3d02b --- /dev/null +++ b/core-mod/xorg/libXt/version @@ -0,0 +1 @@ +1.2.1 1 diff --git a/core-mod/xorg/libXtst/build b/core-mod/xorg/libXtst/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXtst/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXtst/checksums b/core-mod/xorg/libXtst/checksums new file mode 100644 index 0000000..09feb1e --- /dev/null +++ b/core-mod/xorg/libXtst/checksums @@ -0,0 +1 @@ +4655498a1b8e844e3d6f21f3b2c4e2b571effb5fd83199d428a6ba7ea4bf5204 libXtst-1.2.3.tar.bz2 diff --git a/core-mod/xorg/libXtst/depends b/core-mod/xorg/libXtst/depends new file mode 100644 index 0000000..c9898e0 --- /dev/null +++ b/core-mod/xorg/libXtst/depends @@ -0,0 +1,6 @@ +libX11 +libXau +libXext +libXi +libxcb +pkgconf make diff --git a/core-mod/xorg/libXtst/sources b/core-mod/xorg/libXtst/sources new file mode 100644 index 0000000..e6c9d6e --- /dev/null +++ b/core-mod/xorg/libXtst/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXtst-1.2.3.tar.bz2 diff --git a/core-mod/xorg/libXtst/version b/core-mod/xorg/libXtst/version new file mode 100644 index 0000000..883a7ec --- /dev/null +++ b/core-mod/xorg/libXtst/version @@ -0,0 +1 @@ +1.2.3 1 diff --git a/core-mod/xorg/libXxf86vm/build b/core-mod/xorg/libXxf86vm/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libXxf86vm/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libXxf86vm/checksums b/core-mod/xorg/libXxf86vm/checksums new file mode 100644 index 0000000..bacddce --- /dev/null +++ b/core-mod/xorg/libXxf86vm/checksums @@ -0,0 +1 @@ +afee27f93c5f31c0ad582852c0fb36d50e4de7cd585fcf655e278a633d85cd57 libXxf86vm-1.1.4.tar.bz2 diff --git a/core-mod/xorg/libXxf86vm/depends b/core-mod/xorg/libXxf86vm/depends new file mode 100644 index 0000000..1fd995a --- /dev/null +++ b/core-mod/xorg/libXxf86vm/depends @@ -0,0 +1,3 @@ +libXext make +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libXxf86vm/sources b/core-mod/xorg/libXxf86vm/sources new file mode 100644 index 0000000..45538dc --- /dev/null +++ b/core-mod/xorg/libXxf86vm/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libXxf86vm-1.1.4.tar.bz2 diff --git a/core-mod/xorg/libXxf86vm/version b/core-mod/xorg/libXxf86vm/version new file mode 100644 index 0000000..b01ca96 --- /dev/null +++ b/core-mod/xorg/libXxf86vm/version @@ -0,0 +1 @@ +1.1.4 1 diff --git a/core-mod/xorg/libfontenc/build b/core-mod/xorg/libfontenc/build new file mode 100755 index 0000000..b1980f7 --- /dev/null +++ b/core-mod/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/core-mod/xorg/libfontenc/checksums b/core-mod/xorg/libfontenc/checksums new file mode 100644 index 0000000..23248ab --- /dev/null +++ b/core-mod/xorg/libfontenc/checksums @@ -0,0 +1 @@ +2cfcce810ddd48f2e5dc658d28c1808e86dcf303eaff16728b9aa3dbc0092079 libfontenc-1.1.4.tar.bz2 diff --git a/core-mod/xorg/libfontenc/depends b/core-mod/xorg/libfontenc/depends new file mode 100644 index 0000000..d60ad15 --- /dev/null +++ b/core-mod/xorg/libfontenc/depends @@ -0,0 +1,3 @@ +pkgconf make +xorgproto make +zlib diff --git a/core-mod/xorg/libfontenc/sources b/core-mod/xorg/libfontenc/sources new file mode 100644 index 0000000..db937a3 --- /dev/null +++ b/core-mod/xorg/libfontenc/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libfontenc-1.1.4.tar.bz2 diff --git a/core-mod/xorg/libfontenc/version b/core-mod/xorg/libfontenc/version new file mode 100644 index 0000000..6cab2e0 --- /dev/null +++ b/core-mod/xorg/libfontenc/version @@ -0,0 +1 @@ +1.1.4 2 diff --git a/core-mod/xorg/libpciaccess/build b/core-mod/xorg/libpciaccess/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libpciaccess/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libpciaccess/checksums b/core-mod/xorg/libpciaccess/checksums new file mode 100644 index 0000000..3e2c8c1 --- /dev/null +++ b/core-mod/xorg/libpciaccess/checksums @@ -0,0 +1 @@ +214c9d0d884fdd7375ec8da8dcb91a8d3169f263294c9a90c575bf1938b9f489 libpciaccess-0.16.tar.bz2 diff --git a/core-mod/xorg/libpciaccess/sources b/core-mod/xorg/libpciaccess/sources new file mode 100644 index 0000000..e2d1679 --- /dev/null +++ b/core-mod/xorg/libpciaccess/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libpciaccess-0.16.tar.bz2 diff --git a/core-mod/xorg/libpciaccess/version b/core-mod/xorg/libpciaccess/version new file mode 100644 index 0000000..06da242 --- /dev/null +++ b/core-mod/xorg/libpciaccess/version @@ -0,0 +1 @@ +0.16 1 diff --git a/core-mod/xorg/libxcb/build b/core-mod/xorg/libxcb/build new file mode 100755 index 0000000..285ad90 --- /dev/null +++ b/core-mod/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/core-mod/xorg/libxcb/checksums b/core-mod/xorg/libxcb/checksums new file mode 100644 index 0000000..0d257af --- /dev/null +++ b/core-mod/xorg/libxcb/checksums @@ -0,0 +1 @@ +a55ed6db98d43469801262d81dc2572ed124edc3db31059d4e9916eb9f844c34 libxcb-1.14.tar.xz diff --git a/core-mod/xorg/libxcb/depends b/core-mod/xorg/libxcb/depends new file mode 100644 index 0000000..5e13142 --- /dev/null +++ b/core-mod/xorg/libxcb/depends @@ -0,0 +1,5 @@ +libXau +pkgconf make +python make +xcb-proto +xorg-util-macros diff --git a/core-mod/xorg/libxcb/sources b/core-mod/xorg/libxcb/sources new file mode 100644 index 0000000..79f6299 --- /dev/null +++ b/core-mod/xorg/libxcb/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.14.tar.xz diff --git a/core-mod/xorg/libxcb/version b/core-mod/xorg/libxcb/version new file mode 100644 index 0000000..cfaaf4d --- /dev/null +++ b/core-mod/xorg/libxcb/version @@ -0,0 +1 @@ +1.14 1 diff --git a/core-mod/xorg/libxkbcommon/build b/core-mod/xorg/libxkbcommon/build new file mode 100755 index 0000000..5da7e6b --- /dev/null +++ b/core-mod/xorg/libxkbcommon/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + -Denable-docs=false \ + -Denable-wayland=false \ + -Denable-xkbregistry=false \ + . output + +ninja -C output +ninja -C output install diff --git a/core-mod/xorg/libxkbcommon/checksums b/core-mod/xorg/libxkbcommon/checksums new file mode 100644 index 0000000..6fdd9cf --- /dev/null +++ b/core-mod/xorg/libxkbcommon/checksums @@ -0,0 +1 @@ +e1b79838256549d72f42c824f720b4f14603374cfbe5587942e35a0cbb13ff9e diff --git a/core-mod/xorg/libxkbcommon/depends b/core-mod/xorg/libxkbcommon/depends new file mode 100644 index 0000000..350e4c7 --- /dev/null +++ b/core-mod/xorg/libxkbcommon/depends @@ -0,0 +1,3 @@ +bison make +meson make +pkgconf make diff --git a/core-mod/xorg/libxkbcommon/sources b/core-mod/xorg/libxkbcommon/sources new file mode 100644 index 0000000..0d5d1fd --- /dev/null +++ b/core-mod/xorg/libxkbcommon/sources @@ -0,0 +1 @@ +https://github.com/xkbcommon/libxkbcommon/archive/xkbcommon-1.3.0.tar.gz diff --git a/core-mod/xorg/libxkbcommon/version b/core-mod/xorg/libxkbcommon/version new file mode 100644 index 0000000..a21ffc5 --- /dev/null +++ b/core-mod/xorg/libxkbcommon/version @@ -0,0 +1 @@ +1.3.0 2 diff --git a/core-mod/xorg/libxkbfile/build b/core-mod/xorg/libxkbfile/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/libxkbfile/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/libxkbfile/checksums b/core-mod/xorg/libxkbfile/checksums new file mode 100644 index 0000000..7320a84 --- /dev/null +++ b/core-mod/xorg/libxkbfile/checksums @@ -0,0 +1 @@ +758dbdaa20add2db4902df0b1b7c936564b7376c02a0acd1f2a331bd334b38c7 libxkbfile-1.1.0.tar.bz2 diff --git a/core-mod/xorg/libxkbfile/depends b/core-mod/xorg/libxkbfile/depends new file mode 100644 index 0000000..b3fe0df --- /dev/null +++ b/core-mod/xorg/libxkbfile/depends @@ -0,0 +1,3 @@ +libX11 make +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libxkbfile/sources b/core-mod/xorg/libxkbfile/sources new file mode 100644 index 0000000..3421d44 --- /dev/null +++ b/core-mod/xorg/libxkbfile/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libxkbfile-1.1.0.tar.bz2 diff --git a/core-mod/xorg/libxkbfile/version b/core-mod/xorg/libxkbfile/version new file mode 100644 index 0000000..7281bb5 --- /dev/null +++ b/core-mod/xorg/libxkbfile/version @@ -0,0 +1 @@ +1.1.0 1 diff --git a/core-mod/xorg/libxshmfence/build b/core-mod/xorg/libxshmfence/build new file mode 100755 index 0000000..4a70bbd --- /dev/null +++ b/core-mod/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/core-mod/xorg/libxshmfence/checksums b/core-mod/xorg/libxshmfence/checksums new file mode 100644 index 0000000..64031f3 --- /dev/null +++ b/core-mod/xorg/libxshmfence/checksums @@ -0,0 +1 @@ +b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7 libxshmfence-1.3.tar.bz2 diff --git a/core-mod/xorg/libxshmfence/depends b/core-mod/xorg/libxshmfence/depends new file mode 100644 index 0000000..2b5e439 --- /dev/null +++ b/core-mod/xorg/libxshmfence/depends @@ -0,0 +1,2 @@ +pkgconf make +xorgproto make diff --git a/core-mod/xorg/libxshmfence/sources b/core-mod/xorg/libxshmfence/sources new file mode 100644 index 0000000..703a3fa --- /dev/null +++ b/core-mod/xorg/libxshmfence/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/libxshmfence-1.3.tar.bz2 diff --git a/core-mod/xorg/libxshmfence/version b/core-mod/xorg/libxshmfence/version new file mode 100644 index 0000000..a37a04c --- /dev/null +++ b/core-mod/xorg/libxshmfence/version @@ -0,0 +1 @@ +1.3 1 diff --git a/core-mod/xorg/pixman/build b/core-mod/xorg/pixman/build new file mode 100755 index 0000000..cb0b1bf --- /dev/null +++ b/core-mod/xorg/pixman/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-gtk + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/pixman/checksums b/core-mod/xorg/pixman/checksums new file mode 100644 index 0000000..8df09aa --- /dev/null +++ b/core-mod/xorg/pixman/checksums @@ -0,0 +1 @@ +da8ed9fe2d1c5ef8ce5d1207992db959226bd4e37e3f88acf908fd9a71e2704e pixman-0.40.0.tar.xz diff --git a/core-mod/xorg/pixman/sources b/core-mod/xorg/pixman/sources new file mode 100644 index 0000000..3b4975d --- /dev/null +++ b/core-mod/xorg/pixman/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/lib/pixman-0.40.0.tar.xz diff --git a/core-mod/xorg/pixman/version b/core-mod/xorg/pixman/version new file mode 100644 index 0000000..950c002 --- /dev/null +++ b/core-mod/xorg/pixman/version @@ -0,0 +1 @@ +0.40.0 1 diff --git a/core-mod/xorg/rxvt-unicode/build b/core-mod/xorg/rxvt-unicode/build new file mode 100755 index 0000000..397aabb --- /dev/null +++ b/core-mod/xorg/rxvt-unicode/build @@ -0,0 +1,26 @@ +#!/bin/sh -e + +patch -p1 < rxvt-unicode-kerning.patch +patch -p1 < gentables.patch + +./configure \ + --prefix=/usr \ + --with-terminfo=/usr/share/terminfo \ + --enable-256-color \ + --enable-font-styles \ + --enable-xim \ + --enable-keepscrolling \ + --enable-selectionscrolling \ + --enable-smart-resize \ + --enable-transparency \ + --enable-frills \ + --enable-perl \ + --enable-mousewheel \ + --enable-text-blink \ + --enable-fading \ + --enable-unicode3 \ + --disable-utmp \ + --disable-wtmp \ + --disable-lastlog + +make DESTDIR="$1" install diff --git a/core-mod/xorg/rxvt-unicode/checksums b/core-mod/xorg/rxvt-unicode/checksums new file mode 100644 index 0000000..a2b5d1e --- /dev/null +++ b/core-mod/xorg/rxvt-unicode/checksums @@ -0,0 +1,3 @@ +643116b9a25d29ad29f4890131796d42e6d2d21312282a613ef66c80c5b8c98b +f1dc6defe4bd6bedaf0f4b4425da353e2e3a86bbc936369392938db8c3fade31 +b3db15563addedf5bf770336a2a4a1c5b0c0306f8d37e77e59d1940babe82812 diff --git a/core-mod/xorg/rxvt-unicode/depends b/core-mod/xorg/rxvt-unicode/depends new file mode 100644 index 0000000..f573ec9 --- /dev/null +++ b/core-mod/xorg/rxvt-unicode/depends @@ -0,0 +1,6 @@ +fontconfig +libX11 +libXft +libXrender +ncurses +perl diff --git a/core-mod/xorg/rxvt-unicode/patches/gentables.patch b/core-mod/xorg/rxvt-unicode/patches/gentables.patch new file mode 100644 index 0000000..4ae8a33 --- /dev/null +++ b/core-mod/xorg/rxvt-unicode/patches/gentables.patch @@ -0,0 +1,7 @@ +--- ./src/gentables.orig Wed Aug 4 04:59:09 2004 ++++ ./src/gentables Tue Aug 10 00:03:21 2004 +@@ -1,4 +1,4 @@ +-#!/opt/bin/perl ++#!/usr/bin/perl + + # the generated tables mostly have NOT been checked so far! diff --git a/core-mod/xorg/rxvt-unicode/patches/rxvt-unicode-kerning.patch b/core-mod/xorg/rxvt-unicode/patches/rxvt-unicode-kerning.patch new file mode 100644 index 0000000..b0e64ca --- /dev/null +++ b/core-mod/xorg/rxvt-unicode/patches/rxvt-unicode-kerning.patch @@ -0,0 +1,21 @@ +--- a/src/rxvtfont.C 2008-07-09 12:21:45.000000000 +0400 ++++ b/src/rxvtfont.C 2009-10-30 14:32:53.000000000 +0300 +@@ -1195,12 +1195,14 @@ + XGlyphInfo g; + XftTextExtents16 (disp, f, &ch, 1, &g); + +- g.width -= g.x; +- ++/* ++ * bukind: don't use g.width as a width of a character! ++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial ++ */ + int wcw = WCWIDTH (ch); +- if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; ++ if (wcw > 1) g.xOff = g.xOff / wcw; ++ if (width < g.xOff) width = g.xOff; + +- if (width < g.width ) width = g.width; + if (height < g.height ) height = g.height; + if (glheight < g.height - g.y) glheight = g.height - g.y; + } diff --git a/core-mod/xorg/rxvt-unicode/sources b/core-mod/xorg/rxvt-unicode/sources new file mode 100644 index 0000000..3b41da7 --- /dev/null +++ b/core-mod/xorg/rxvt-unicode/sources @@ -0,0 +1,3 @@ +http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-9.26.tar.bz2 +patches/gentables.patch +patches/rxvt-unicode-kerning.patch diff --git a/core-mod/xorg/rxvt-unicode/version b/core-mod/xorg/rxvt-unicode/version new file mode 100644 index 0000000..0f9e797 --- /dev/null +++ b/core-mod/xorg/rxvt-unicode/version @@ -0,0 +1 @@ +9.26 1 diff --git a/core-mod/xorg/setxkbmap/build b/core-mod/xorg/setxkbmap/build new file mode 100755 index 0000000..373bcee --- /dev/null +++ b/core-mod/xorg/setxkbmap/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --localstatedir=/var + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/setxkbmap/checksums b/core-mod/xorg/setxkbmap/checksums new file mode 100644 index 0000000..a9832e3 --- /dev/null +++ b/core-mod/xorg/setxkbmap/checksums @@ -0,0 +1 @@ +7e934afc55f161406f7dd99b5be8837e5d1478d8263776697b159d48461a1d3c setxkbmap-1.3.2.tar.gz diff --git a/core-mod/xorg/setxkbmap/depends b/core-mod/xorg/setxkbmap/depends new file mode 100644 index 0000000..1a5a95f --- /dev/null +++ b/core-mod/xorg/setxkbmap/depends @@ -0,0 +1,3 @@ +libX11 +libxkbfile +pkgconf make diff --git a/core-mod/xorg/setxkbmap/sources b/core-mod/xorg/setxkbmap/sources new file mode 100644 index 0000000..4d80b98 --- /dev/null +++ b/core-mod/xorg/setxkbmap/sources @@ -0,0 +1 @@ +https://x.org/archive//individual/app/setxkbmap-1.3.2.tar.gz diff --git a/core-mod/xorg/setxkbmap/version b/core-mod/xorg/setxkbmap/version new file mode 100644 index 0000000..a8cebfe --- /dev/null +++ b/core-mod/xorg/setxkbmap/version @@ -0,0 +1 @@ +1.3.2 1 diff --git a/core-mod/xorg/xauth/build b/core-mod/xorg/xauth/build new file mode 100755 index 0000000..373bcee --- /dev/null +++ b/core-mod/xorg/xauth/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --localstatedir=/var + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xauth/checksums b/core-mod/xorg/xauth/checksums new file mode 100644 index 0000000..363ecce --- /dev/null +++ b/core-mod/xorg/xauth/checksums @@ -0,0 +1 @@ +6d1dd1b79dd185107c5b0fdd22d1d791ad749ad6e288d0cdf80964c4ffa7530c xauth-1.1.tar.bz2 diff --git a/core-mod/xorg/xauth/depends b/core-mod/xorg/xauth/depends new file mode 100644 index 0000000..c730a1e --- /dev/null +++ b/core-mod/xorg/xauth/depends @@ -0,0 +1,3 @@ +libXmu +pkgconf make +xorg-util-macros make diff --git a/core-mod/xorg/xauth/sources b/core-mod/xorg/xauth/sources new file mode 100644 index 0000000..add04e1 --- /dev/null +++ b/core-mod/xorg/xauth/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/app/xauth-1.1.tar.bz2 diff --git a/core-mod/xorg/xauth/version b/core-mod/xorg/xauth/version new file mode 100644 index 0000000..f8b0b37 --- /dev/null +++ b/core-mod/xorg/xauth/version @@ -0,0 +1 @@ +1.1 1 diff --git a/core-mod/xorg/xbitmaps/build b/core-mod/xorg/xbitmaps/build new file mode 100755 index 0000000..80ce93e --- /dev/null +++ b/core-mod/xorg/xbitmaps/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-mod/xorg/xbitmaps/checksums b/core-mod/xorg/xbitmaps/checksums new file mode 100644 index 0000000..69278b0 --- /dev/null +++ b/core-mod/xorg/xbitmaps/checksums @@ -0,0 +1 @@ +b9f0c71563125937776c8f1f25174ae9685314cbd130fb4c2efce811981e07ee xbitmaps-1.1.2.tar.bz2 diff --git a/core-mod/xorg/xbitmaps/depends b/core-mod/xorg/xbitmaps/depends new file mode 100644 index 0000000..8c98a97 --- /dev/null +++ b/core-mod/xorg/xbitmaps/depends @@ -0,0 +1 @@ +xorg-util-macros make diff --git a/core-mod/xorg/xbitmaps/sources b/core-mod/xorg/xbitmaps/sources new file mode 100644 index 0000000..61fb73e --- /dev/null +++ b/core-mod/xorg/xbitmaps/sources @@ -0,0 +1 @@ +https://x.org/pub/individual/data/xbitmaps-1.1.2.tar.bz2 diff --git a/core-mod/xorg/xbitmaps/version b/core-mod/xorg/xbitmaps/version new file mode 100644 index 0000000..909c707 --- /dev/null +++ b/core-mod/xorg/xbitmaps/version @@ -0,0 +1 @@ +1.1.2 1 diff --git a/core-mod/xorg/xcb-proto/build b/core-mod/xorg/xcb-proto/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/xcb-proto/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xcb-proto/checksums b/core-mod/xorg/xcb-proto/checksums new file mode 100644 index 0000000..6a18f3f --- /dev/null +++ b/core-mod/xorg/xcb-proto/checksums @@ -0,0 +1 @@ +f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3 diff --git a/core-mod/xorg/xcb-proto/depends b/core-mod/xorg/xcb-proto/depends new file mode 100644 index 0000000..ecc7772 --- /dev/null +++ b/core-mod/xorg/xcb-proto/depends @@ -0,0 +1 @@ +python make diff --git a/core-mod/xorg/xcb-proto/sources b/core-mod/xorg/xcb-proto/sources new file mode 100644 index 0000000..7181853 --- /dev/null +++ b/core-mod/xorg/xcb-proto/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.14.1.tar.xz diff --git a/core-mod/xorg/xcb-proto/version b/core-mod/xorg/xcb-proto/version new file mode 100644 index 0000000..045ad77 --- /dev/null +++ b/core-mod/xorg/xcb-proto/version @@ -0,0 +1 @@ +1.14.1 1 diff --git a/core-mod/xorg/xcb-util-cursor/build b/core-mod/xorg/xcb-util-cursor/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/core-mod/xorg/xcb-util-cursor/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xcb-util-cursor/checksums b/core-mod/xorg/xcb-util-cursor/checksums new file mode 100644 index 0000000..b5b4325 --- /dev/null +++ b/core-mod/xorg/xcb-util-cursor/checksums @@ -0,0 +1 @@ +a322332716a384c94d3cbf98f2d8fe2ce63c2fe7e2b26664b6cea1d411723df8 xcb-util-cursor-0.1.3.tar.gz diff --git a/core-mod/xorg/xcb-util-cursor/depends b/core-mod/xorg/xcb-util-cursor/depends new file mode 100644 index 0000000..cc7a52f --- /dev/null +++ b/core-mod/xorg/xcb-util-cursor/depends @@ -0,0 +1,7 @@ +libXau +libxcb +m4 make +pkgconf make +xcb-util +xcb-util-image +xcb-util-renderutil diff --git a/core-mod/xorg/xcb-util-cursor/sources b/core-mod/xorg/xcb-util-cursor/sources new file mode 100644 index 0000000..272f390 --- /dev/null +++ b/core-mod/xorg/xcb-util-cursor/sources @@ -0,0 +1 @@ +https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.gz diff --git a/core-mod/xorg/xcb-util-cursor/version b/core-mod/xorg/xcb-util-cursor/version new file mode 100644 index 0000000..f872116 --- /dev/null +++ b/core-mod/xorg/xcb-util-cursor/version @@ -0,0 +1 @@ +0.1.3 1 diff --git a/core-mod/xorg/xcb-util-image/build b/core-mod/xorg/xcb-util-image/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/core-mod/xorg/xcb-util-image/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xcb-util-image/checksums b/core-mod/xorg/xcb-util-image/checksums new file mode 100644 index 0000000..8b74cbc --- /dev/null +++ b/core-mod/xorg/xcb-util-image/checksums @@ -0,0 +1 @@ +cb2c86190cf6216260b7357a57d9100811bb6f78c24576a3a5bfef6ad3740a42 xcb-util-image-0.4.0.tar.gz diff --git a/core-mod/xorg/xcb-util-image/depends b/core-mod/xorg/xcb-util-image/depends new file mode 100644 index 0000000..840535b --- /dev/null +++ b/core-mod/xorg/xcb-util-image/depends @@ -0,0 +1,4 @@ +libXau +libxcb +pkgconf make +xcb-util diff --git a/core-mod/xorg/xcb-util-image/sources b/core-mod/xorg/xcb-util-image/sources new file mode 100644 index 0000000..f8a5eea --- /dev/null +++ b/core-mod/xorg/xcb-util-image/sources @@ -0,0 +1 @@ +https://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.gz diff --git a/core-mod/xorg/xcb-util-image/version b/core-mod/xorg/xcb-util-image/version new file mode 100644 index 0000000..6f3c0f7 --- /dev/null +++ b/core-mod/xorg/xcb-util-image/version @@ -0,0 +1 @@ +0.4.0 1 diff --git a/core-mod/xorg/xcb-util-keysyms/build b/core-mod/xorg/xcb-util-keysyms/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/core-mod/xorg/xcb-util-keysyms/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xcb-util-keysyms/checksums b/core-mod/xorg/xcb-util-keysyms/checksums new file mode 100644 index 0000000..052b634 --- /dev/null +++ b/core-mod/xorg/xcb-util-keysyms/checksums @@ -0,0 +1 @@ +0ef8490ff1dede52b7de533158547f8b454b241aa3e4dcca369507f66f216dd9 xcb-util-keysyms-0.4.0.tar.bz2 diff --git a/core-mod/xorg/xcb-util-keysyms/depends b/core-mod/xorg/xcb-util-keysyms/depends new file mode 100644 index 0000000..b75a3f6 --- /dev/null +++ b/core-mod/xorg/xcb-util-keysyms/depends @@ -0,0 +1,3 @@ +libxcb +pkgconf make +xcb-util make diff --git a/core-mod/xorg/xcb-util-keysyms/sources b/core-mod/xorg/xcb-util-keysyms/sources new file mode 100644 index 0000000..5df26df --- /dev/null +++ b/core-mod/xorg/xcb-util-keysyms/sources @@ -0,0 +1 @@ +https://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2 diff --git a/core-mod/xorg/xcb-util-keysyms/version b/core-mod/xorg/xcb-util-keysyms/version new file mode 100644 index 0000000..6f3c0f7 --- /dev/null +++ b/core-mod/xorg/xcb-util-keysyms/version @@ -0,0 +1 @@ +0.4.0 1 diff --git a/core-mod/xorg/xcb-util-renderutil/build b/core-mod/xorg/xcb-util-renderutil/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/core-mod/xorg/xcb-util-renderutil/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xcb-util-renderutil/checksums b/core-mod/xorg/xcb-util-renderutil/checksums new file mode 100644 index 0000000..e7cfba8 --- /dev/null +++ b/core-mod/xorg/xcb-util-renderutil/checksums @@ -0,0 +1 @@ +55eee797e3214fe39d0f3f4d9448cc53cffe06706d108824ea37bb79fcedcad5 xcb-util-renderutil-0.3.9.tar.gz diff --git a/core-mod/xorg/xcb-util-renderutil/depends b/core-mod/xorg/xcb-util-renderutil/depends new file mode 100644 index 0000000..5fae28c --- /dev/null +++ b/core-mod/xorg/xcb-util-renderutil/depends @@ -0,0 +1,3 @@ +libXau +libxcb +pkgconf make diff --git a/core-mod/xorg/xcb-util-renderutil/sources b/core-mod/xorg/xcb-util-renderutil/sources new file mode 100644 index 0000000..3ae63f2 --- /dev/null +++ b/core-mod/xorg/xcb-util-renderutil/sources @@ -0,0 +1 @@ +https://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.gz diff --git a/core-mod/xorg/xcb-util-renderutil/version b/core-mod/xorg/xcb-util-renderutil/version new file mode 100644 index 0000000..fb04281 --- /dev/null +++ b/core-mod/xorg/xcb-util-renderutil/version @@ -0,0 +1 @@ +0.3.9 1 diff --git a/core-mod/xorg/xcb-util-wm/build b/core-mod/xorg/xcb-util-wm/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/core-mod/xorg/xcb-util-wm/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xcb-util-wm/checksums b/core-mod/xorg/xcb-util-wm/checksums new file mode 100644 index 0000000..9bb2615 --- /dev/null +++ b/core-mod/xorg/xcb-util-wm/checksums @@ -0,0 +1 @@ +28bf8179640eaa89276d2b0f1ce4285103d136be6c98262b6151aaee1d3c2a3f xcb-util-wm-0.4.1.tar.bz2 diff --git a/core-mod/xorg/xcb-util-wm/depends b/core-mod/xorg/xcb-util-wm/depends new file mode 100644 index 0000000..0074522 --- /dev/null +++ b/core-mod/xorg/xcb-util-wm/depends @@ -0,0 +1,4 @@ +libxcb +m4 make +pkgconf make +xcb-util make diff --git a/core-mod/xorg/xcb-util-wm/sources b/core-mod/xorg/xcb-util-wm/sources new file mode 100644 index 0000000..2a67552 --- /dev/null +++ b/core-mod/xorg/xcb-util-wm/sources @@ -0,0 +1 @@ +https://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2 diff --git a/core-mod/xorg/xcb-util-wm/version b/core-mod/xorg/xcb-util-wm/version new file mode 100644 index 0000000..3d58e2e --- /dev/null +++ b/core-mod/xorg/xcb-util-wm/version @@ -0,0 +1 @@ +0.4.1 1 diff --git a/core-mod/xorg/xcb-util/build b/core-mod/xorg/xcb-util/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/core-mod/xorg/xcb-util/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xcb-util/checksums b/core-mod/xorg/xcb-util/checksums new file mode 100644 index 0000000..8e6359c --- /dev/null +++ b/core-mod/xorg/xcb-util/checksums @@ -0,0 +1 @@ +46e49469cb3b594af1d33176cd7565def2be3fa8be4371d62271fabb5eae50e9 xcb-util-0.4.0.tar.bz2 diff --git a/core-mod/xorg/xcb-util/depends b/core-mod/xorg/xcb-util/depends new file mode 100644 index 0000000..5fae28c --- /dev/null +++ b/core-mod/xorg/xcb-util/depends @@ -0,0 +1,3 @@ +libXau +libxcb +pkgconf make diff --git a/core-mod/xorg/xcb-util/sources b/core-mod/xorg/xcb-util/sources new file mode 100644 index 0000000..630c138 --- /dev/null +++ b/core-mod/xorg/xcb-util/sources @@ -0,0 +1 @@ +https://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2 diff --git a/core-mod/xorg/xcb-util/version b/core-mod/xorg/xcb-util/version new file mode 100644 index 0000000..6f3c0f7 --- /dev/null +++ b/core-mod/xorg/xcb-util/version @@ -0,0 +1 @@ +0.4.0 1 diff --git a/core-mod/xorg/xev/build b/core-mod/xorg/xev/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/xev/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xev/checksums b/core-mod/xorg/xev/checksums new file mode 100644 index 0000000..9d9e21b --- /dev/null +++ b/core-mod/xorg/xev/checksums @@ -0,0 +1 @@ +d700e08bfe751ed2dbf802baa204b056d0e49348b6eb3c6f9cb035d8ae4885e2 xev-1.2.4.tar.bz2 diff --git a/core-mod/xorg/xev/depends b/core-mod/xorg/xev/depends new file mode 100644 index 0000000..e851525 --- /dev/null +++ b/core-mod/xorg/xev/depends @@ -0,0 +1,5 @@ +libX11 +libXrandr +pkgconf make +xorg-util-macros make +xorgproto make diff --git a/core-mod/xorg/xev/sources b/core-mod/xorg/xev/sources new file mode 100644 index 0000000..2375ae1 --- /dev/null +++ b/core-mod/xorg/xev/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/archive/individual/app/xev-1.2.4.tar.bz2 diff --git a/core-mod/xorg/xev/version b/core-mod/xorg/xev/version new file mode 100644 index 0000000..d66671c --- /dev/null +++ b/core-mod/xorg/xev/version @@ -0,0 +1 @@ +1.2.4 1 diff --git a/core-mod/xorg/xf86-input-libinput/build b/core-mod/xorg/xf86-input-libinput/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/xf86-input-libinput/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xf86-input-libinput/checksums b/core-mod/xorg/xf86-input-libinput/checksums new file mode 100644 index 0000000..8774011 --- /dev/null +++ b/core-mod/xorg/xf86-input-libinput/checksums @@ -0,0 +1 @@ +e11d2a41419124a6e9b148f1df181bf7819fc7398c8ee9a1b6390b0742c68d16 diff --git a/core-mod/xorg/xf86-input-libinput/depends b/core-mod/xorg/xf86-input-libinput/depends new file mode 100644 index 0000000..cd0f7ac --- /dev/null +++ b/core-mod/xorg/xf86-input-libinput/depends @@ -0,0 +1,4 @@ +libinput +linux-headers make +pkgconf make +xorg-server diff --git a/core-mod/xorg/xf86-input-libinput/sources b/core-mod/xorg/xf86-input-libinput/sources new file mode 100644 index 0000000..f852654 --- /dev/null +++ b/core-mod/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/core-mod/xorg/xf86-input-libinput/version b/core-mod/xorg/xf86-input-libinput/version new file mode 100644 index 0000000..7281bb5 --- /dev/null +++ b/core-mod/xorg/xf86-input-libinput/version @@ -0,0 +1 @@ +1.1.0 1 diff --git a/core-mod/xorg/xf86-input-mtrack/build b/core-mod/xorg/xf86-input-mtrack/build new file mode 100755 index 0000000..f322312 --- /dev/null +++ b/core-mod/xorg/xf86-input-mtrack/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xf86-input-mtrack/checksums b/core-mod/xorg/xf86-input-mtrack/checksums new file mode 100755 index 0000000..9c6b841 --- /dev/null +++ b/core-mod/xorg/xf86-input-mtrack/checksums @@ -0,0 +1 @@ +git git+https://github.com/p2rkw/xf86-input-mtrack diff --git a/core-mod/xorg/xf86-input-mtrack/depends b/core-mod/xorg/xf86-input-mtrack/depends new file mode 100755 index 0000000..6427e9c --- /dev/null +++ b/core-mod/xorg/xf86-input-mtrack/depends @@ -0,0 +1,3 @@ +mtdev +xorg-server make +xorgproto make diff --git a/core-mod/xorg/xf86-input-mtrack/sources b/core-mod/xorg/xf86-input-mtrack/sources new file mode 100755 index 0000000..0d0ed7d --- /dev/null +++ b/core-mod/xorg/xf86-input-mtrack/sources @@ -0,0 +1 @@ +git+https://github.com/p2rkw/xf86-input-mtrack diff --git a/core-mod/xorg/xf86-input-mtrack/version b/core-mod/xorg/xf86-input-mtrack/version new file mode 100755 index 0000000..d620728 --- /dev/null +++ b/core-mod/xorg/xf86-input-mtrack/version @@ -0,0 +1 @@ +0.5.1 1 diff --git a/core-mod/xorg/xf86-input-synaptics/build b/core-mod/xorg/xf86-input-synaptics/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/xf86-input-synaptics/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xf86-input-synaptics/checksums b/core-mod/xorg/xf86-input-synaptics/checksums new file mode 100644 index 0000000..f0a2ab7 --- /dev/null +++ b/core-mod/xorg/xf86-input-synaptics/checksums @@ -0,0 +1 @@ +7af83526eff1c76e8b9e1553b34245c203d029028d8044dd9dcf71eef1001576 diff --git a/core-mod/xorg/xf86-input-synaptics/depends b/core-mod/xorg/xf86-input-synaptics/depends new file mode 100644 index 0000000..5ee9837 --- /dev/null +++ b/core-mod/xorg/xf86-input-synaptics/depends @@ -0,0 +1,10 @@ +libX11 +libXau +libXext +libXi +libevdev +libinput +libxcb +linux-headers make +pkgconf make +xorg-server diff --git a/core-mod/xorg/xf86-input-synaptics/sources b/core-mod/xorg/xf86-input-synaptics/sources new file mode 100644 index 0000000..6063f5d --- /dev/null +++ b/core-mod/xorg/xf86-input-synaptics/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/releases/individual/driver/xf86-input-synaptics-1.9.1.tar.bz2 diff --git a/core-mod/xorg/xf86-input-synaptics/version b/core-mod/xorg/xf86-input-synaptics/version new file mode 100644 index 0000000..f49a9d4 --- /dev/null +++ b/core-mod/xorg/xf86-input-synaptics/version @@ -0,0 +1 @@ +1.9.1 1 diff --git a/core-mod/xorg/xf86-input-wacom/build b/core-mod/xorg/xf86-input-wacom/build new file mode 100755 index 0000000..f06e3dc --- /dev/null +++ b/core-mod/xorg/xf86-input-wacom/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-systemd-unit-dir=no + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xf86-input-wacom/checksums b/core-mod/xorg/xf86-input-wacom/checksums new file mode 100644 index 0000000..88b9e23 --- /dev/null +++ b/core-mod/xorg/xf86-input-wacom/checksums @@ -0,0 +1 @@ +8c4f5dba4bee803dafea98277f81cb0e67b4e474c9cc2e42ceb443cdb4ea2062 diff --git a/core-mod/xorg/xf86-input-wacom/depends b/core-mod/xorg/xf86-input-wacom/depends new file mode 100644 index 0000000..6f2f29c --- /dev/null +++ b/core-mod/xorg/xf86-input-wacom/depends @@ -0,0 +1,9 @@ +libX11 +libXext +libXi +libXinerama +libXrandr +linux-headers make +pkgconf make +xorg-server +xorgproto make diff --git a/core-mod/xorg/xf86-input-wacom/sources b/core-mod/xorg/xf86-input-wacom/sources new file mode 100644 index 0000000..807273e --- /dev/null +++ b/core-mod/xorg/xf86-input-wacom/sources @@ -0,0 +1 @@ +https://github.com/linuxwacom/xf86-input-wacom/releases/download/xf86-input-wacom-0.40.0/xf86-input-wacom-0.40.0.tar.bz2 diff --git a/core-mod/xorg/xf86-input-wacom/version b/core-mod/xorg/xf86-input-wacom/version new file mode 100644 index 0000000..950c002 --- /dev/null +++ b/core-mod/xorg/xf86-input-wacom/version @@ -0,0 +1 @@ +0.40.0 1 diff --git a/core-mod/xorg/xf86-video-amdgpu/build b/core-mod/xorg/xf86-video-amdgpu/build new file mode 100755 index 0000000..9a2289d --- /dev/null +++ b/core-mod/xorg/xf86-video-amdgpu/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +patch -p1 < rootless-amdgpu.patch + +export LDFLAGS="$LDFLAGS -Wl,-z,lazy" +export CFLAGS="$CFLAGS -fcommon" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xf86-video-amdgpu/checksums b/core-mod/xorg/xf86-video-amdgpu/checksums new file mode 100644 index 0000000..7f71407 --- /dev/null +++ b/core-mod/xorg/xf86-video-amdgpu/checksums @@ -0,0 +1,2 @@ +4f0ea4e0ae61995ac2b7c72433d31deab63b60c78763020aaa1b28696124fe5d xf86-video-amdgpu-19.1.0.tar.bz2 +fa8567fa877982182f2ee09dc138ef8ea466e84c77682c5c4234ded4f951476a rootless-amdgpu.patch diff --git a/core-mod/xorg/xf86-video-amdgpu/depends b/core-mod/xorg/xf86-video-amdgpu/depends new file mode 100644 index 0000000..78930fb --- /dev/null +++ b/core-mod/xorg/xf86-video-amdgpu/depends @@ -0,0 +1,7 @@ +expat +libdrm +libpciaccess +linux-headers make +mesa +pkgconf make +xorgproto diff --git a/core-mod/xorg/xf86-video-amdgpu/patches/rootless-amdgpu.patch b/core-mod/xorg/xf86-video-amdgpu/patches/rootless-amdgpu.patch new file mode 100644 index 0000000..ff77aa9 --- /dev/null +++ b/core-mod/xorg/xf86-video-amdgpu/patches/rootless-amdgpu.patch @@ -0,0 +1,15 @@ +diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c +index 6a60f54..169085e 100644 +--- a/src/amdgpu_kms.c ++++ b/src/amdgpu_kms.c +@@ -1823,6 +1823,10 @@ static Bool amdgpu_set_drm_master(ScrnInfoPtr pScrn) + return TRUE; + #endif + ++ err = drmIsMaster(pAMDGPUEnt->fd); ++ if (err) ++ return TRUE; ++ + err = drmSetMaster(pAMDGPUEnt->fd); + if (err) + ErrorF("Unable to retrieve master\n"); diff --git a/core-mod/xorg/xf86-video-amdgpu/sources b/core-mod/xorg/xf86-video-amdgpu/sources new file mode 100644 index 0000000..5e55140 --- /dev/null +++ b/core-mod/xorg/xf86-video-amdgpu/sources @@ -0,0 +1,2 @@ +https://x.org/releases/individual/driver/xf86-video-amdgpu-19.1.0.tar.bz2 +patches/rootless-amdgpu.patch diff --git a/core-mod/xorg/xf86-video-amdgpu/version b/core-mod/xorg/xf86-video-amdgpu/version new file mode 100644 index 0000000..6df2a0b --- /dev/null +++ b/core-mod/xorg/xf86-video-amdgpu/version @@ -0,0 +1 @@ +19.1.0 2 diff --git a/core-mod/xorg/xf86-video-ati/build b/core-mod/xorg/xf86-video-ati/build new file mode 100755 index 0000000..a1c1508 --- /dev/null +++ b/core-mod/xorg/xf86-video-ati/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +patch -p1 < rootless-ati.patch + +export LDFLAGS="$LDFLAGS -Wl,-z,lazy" +export CFLAGS="$CFLAGS -fcommon" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xf86-video-ati/checksums b/core-mod/xorg/xf86-video-ati/checksums new file mode 100644 index 0000000..c94c165 --- /dev/null +++ b/core-mod/xorg/xf86-video-ati/checksums @@ -0,0 +1,2 @@ +c05c6e0c396a0148113f1836cfab7f2e43f784c9b7041f11e9cab40a4bc0c90f xf86-video-ati-19.1.0.tar.gz +ff007862ac398c5c67a148f2706fec596b25808cd76026627753f82d4873d546 rootless-ati.patch diff --git a/core-mod/xorg/xf86-video-ati/depends b/core-mod/xorg/xf86-video-ati/depends new file mode 100644 index 0000000..78930fb --- /dev/null +++ b/core-mod/xorg/xf86-video-ati/depends @@ -0,0 +1,7 @@ +expat +libdrm +libpciaccess +linux-headers make +mesa +pkgconf make +xorgproto diff --git a/core-mod/xorg/xf86-video-ati/patches/rootless-ati.patch b/core-mod/xorg/xf86-video-ati/patches/rootless-ati.patch new file mode 100644 index 0000000..e78f682 --- /dev/null +++ b/core-mod/xorg/xf86-video-ati/patches/rootless-ati.patch @@ -0,0 +1,15 @@ +diff --git a/src/radeon_kms.c b/src/radeon_kms.c +index b3db7c4..e85aee5 100644 +--- a/src/radeon_kms.c ++++ b/src/radeon_kms.c +@@ -2168,6 +2168,10 @@ static Bool radeon_set_drm_master(ScrnInfoPtr pScrn) + return TRUE; + #endif + ++ err = drmIsMaster(pRADEONEnt->fd); ++ if (err) ++ return TRUE; ++ + err = drmSetMaster(pRADEONEnt->fd); + if (err) + ErrorF("Unable to retrieve master\n"); diff --git a/core-mod/xorg/xf86-video-ati/sources b/core-mod/xorg/xf86-video-ati/sources new file mode 100644 index 0000000..7f48494 --- /dev/null +++ b/core-mod/xorg/xf86-video-ati/sources @@ -0,0 +1,2 @@ +https://x.org/releases/individual/driver/xf86-video-ati-19.1.0.tar.gz +patches/rootless-ati.patch diff --git a/core-mod/xorg/xf86-video-ati/version b/core-mod/xorg/xf86-video-ati/version new file mode 100644 index 0000000..6df2a0b --- /dev/null +++ b/core-mod/xorg/xf86-video-ati/version @@ -0,0 +1 @@ +19.1.0 2 diff --git a/core-mod/xorg/xf86-video-fbdev/build b/core-mod/xorg/xf86-video-fbdev/build new file mode 100755 index 0000000..c1aefd8 --- /dev/null +++ b/core-mod/xorg/xf86-video-fbdev/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +# Fix make error '#if with no expression' +sed -i 's/^#if XV$/#ifdef XV/g' src/fbdev.c + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xf86-video-fbdev/checksums b/core-mod/xorg/xf86-video-fbdev/checksums new file mode 100644 index 0000000..bc10d90 --- /dev/null +++ b/core-mod/xorg/xf86-video-fbdev/checksums @@ -0,0 +1 @@ +a31f62db237a5c25bb087713a22a867a9b7680833ce3b644ecd712887b7b1d62 diff --git a/core-mod/xorg/xf86-video-fbdev/depends b/core-mod/xorg/xf86-video-fbdev/depends new file mode 100644 index 0000000..d6c1343 --- /dev/null +++ b/core-mod/xorg/xf86-video-fbdev/depends @@ -0,0 +1 @@ +xorg-server diff --git a/core-mod/xorg/xf86-video-fbdev/sources b/core-mod/xorg/xf86-video-fbdev/sources new file mode 100644 index 0000000..488ce24 --- /dev/null +++ b/core-mod/xorg/xf86-video-fbdev/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/releases/individual/driver/xf86-video-fbdev-0.5.0.tar.gz diff --git a/core-mod/xorg/xf86-video-fbdev/version b/core-mod/xorg/xf86-video-fbdev/version new file mode 100644 index 0000000..0c9ae2a --- /dev/null +++ b/core-mod/xorg/xf86-video-fbdev/version @@ -0,0 +1 @@ +0.5.0 1 diff --git a/core-mod/xorg/xf86-video-intel/build b/core-mod/xorg/xf86-video-intel/build new file mode 100755 index 0000000..4492d7a --- /dev/null +++ b/core-mod/xorg/xf86-video-intel/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +export DESTDIR="$1" +export LDFLAGS="$LDFLAGS -Wl,-z,lazy" + +meson \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + -Ddefault-dri=3 \ + -Dxvmc=false \ + -Dvalgrind=false \ + . build + +ninja -C build +ninja -C build install diff --git a/core-mod/xorg/xf86-video-intel/checksums b/core-mod/xorg/xf86-video-intel/checksums new file mode 100644 index 0000000..d72ca5a --- /dev/null +++ b/core-mod/xorg/xf86-video-intel/checksums @@ -0,0 +1 @@ +f1ee7394446d38ef840d4327646421a3b744a7675955b6c29963a9887026c296 diff --git a/core-mod/xorg/xf86-video-intel/depends b/core-mod/xorg/xf86-video-intel/depends new file mode 100644 index 0000000..82dbf17 --- /dev/null +++ b/core-mod/xorg/xf86-video-intel/depends @@ -0,0 +1,9 @@ +libXScrnSaver +libXcursor +libXinerama +libXrandr +libXtst +linux-headers make +meson make +pkgconf make +xorg-server diff --git a/core-mod/xorg/xf86-video-intel/sources b/core-mod/xorg/xf86-video-intel/sources new file mode 100644 index 0000000..945f527 --- /dev/null +++ b/core-mod/xorg/xf86-video-intel/sources @@ -0,0 +1 @@ +https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/archive/846b53dacd96981329bcb9ef348e6acba0b53e94/xf86-video-intel-846b53dacd96981329bcb9ef348e6acba0b53e94.tar.gz diff --git a/core-mod/xorg/xf86-video-intel/version b/core-mod/xorg/xf86-video-intel/version new file mode 100644 index 0000000..0920f60 --- /dev/null +++ b/core-mod/xorg/xf86-video-intel/version @@ -0,0 +1 @@ +846b53dacd96981329bcb9ef348e6acba0b53e94 1 diff --git a/core-mod/xorg/xf86-video-nouveau/build b/core-mod/xorg/xf86-video-nouveau/build new file mode 100755 index 0000000..ec06a9e --- /dev/null +++ b/core-mod/xorg/xf86-video-nouveau/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +patch -p1 < rootless-nouveau.patch + +export LDFLAGS="$LDFLAGS -Wl,-z,lazy" +export CFLAGS="$CFLAGS -fcommon" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xf86-video-nouveau/checksums b/core-mod/xorg/xf86-video-nouveau/checksums new file mode 100644 index 0000000..ac14f91 --- /dev/null +++ b/core-mod/xorg/xf86-video-nouveau/checksums @@ -0,0 +1,2 @@ +499322e27a55c8183166bf2dd1e47d085eb834143e0d7036baba8427b90c156b +e9197c97db81da40b9f1abc76ae349b4fe42a7563fbe9ac80821a68327e28c01 diff --git a/core-mod/xorg/xf86-video-nouveau/depends b/core-mod/xorg/xf86-video-nouveau/depends new file mode 100644 index 0000000..82d4912 --- /dev/null +++ b/core-mod/xorg/xf86-video-nouveau/depends @@ -0,0 +1,4 @@ +libdrm +linux-headers make +pkgconf make +xorgproto diff --git a/core-mod/xorg/xf86-video-nouveau/patches/rootless-nouveau.patch b/core-mod/xorg/xf86-video-nouveau/patches/rootless-nouveau.patch new file mode 100644 index 0000000..11feacc --- /dev/null +++ b/core-mod/xorg/xf86-video-nouveau/patches/rootless-nouveau.patch @@ -0,0 +1,15 @@ +diff --git a/src/nv_driver.c b/src/nv_driver.c +index 185bba7..7927128 100644 +--- a/src/nv_driver.c ++++ b/src/nv_driver.c +@@ -501,6 +501,10 @@ NVEnterVT(VT_FUNC_ARGS_DECL) + (pNVEnt->platform_dev->flags & XF86_PDEV_SERVER_FD))) + #endif + { ++ ret = drmIsMaster(pNv->dev->fd); ++ if (ret) ++ return TRUE; ++ + ret = drmSetMaster(pNv->dev->fd); + if (ret) + ErrorF("Unable to get master: %s\n", strerror(errno)); diff --git a/core-mod/xorg/xf86-video-nouveau/sources b/core-mod/xorg/xf86-video-nouveau/sources new file mode 100644 index 0000000..8ce5ee9 --- /dev/null +++ b/core-mod/xorg/xf86-video-nouveau/sources @@ -0,0 +1,2 @@ +https://x.org/releases/individual/driver/xf86-video-nouveau-1.0.17.tar.bz2 +patches/rootless-nouveau.patch diff --git a/core-mod/xorg/xf86-video-nouveau/version b/core-mod/xorg/xf86-video-nouveau/version new file mode 100644 index 0000000..8e6a7c9 --- /dev/null +++ b/core-mod/xorg/xf86-video-nouveau/version @@ -0,0 +1 @@ +1.0.17 1 diff --git a/core-mod/xorg/xf86-video-vesa/build b/core-mod/xorg/xf86-video-vesa/build new file mode 100755 index 0000000..3054c8b --- /dev/null +++ b/core-mod/xorg/xf86-video-vesa/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export LDFLAGS="-Wl,-z,lazy" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xf86-video-vesa/checksums b/core-mod/xorg/xf86-video-vesa/checksums new file mode 100644 index 0000000..8655393 --- /dev/null +++ b/core-mod/xorg/xf86-video-vesa/checksums @@ -0,0 +1 @@ +be10771dbfdec9e8c4f1b56653b0e6b05b3e5f79c26507e3184ad27b4f00c09d diff --git a/core-mod/xorg/xf86-video-vesa/depends b/core-mod/xorg/xf86-video-vesa/depends new file mode 100644 index 0000000..7e5aa29 --- /dev/null +++ b/core-mod/xorg/xf86-video-vesa/depends @@ -0,0 +1,4 @@ +libXi +pkgconf make +xorg-util-macros make +xorgproto make diff --git a/core-mod/xorg/xf86-video-vesa/sources b/core-mod/xorg/xf86-video-vesa/sources new file mode 100644 index 0000000..6c276bc --- /dev/null +++ b/core-mod/xorg/xf86-video-vesa/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/releases/individual/driver/xf86-video-vesa-2.5.0.tar.gz diff --git a/core-mod/xorg/xf86-video-vesa/version b/core-mod/xorg/xf86-video-vesa/version new file mode 100644 index 0000000..bc7f070 --- /dev/null +++ b/core-mod/xorg/xf86-video-vesa/version @@ -0,0 +1 @@ +2.5.0 1 diff --git a/core-mod/xorg/xinit/build b/core-mod/xorg/xinit/build new file mode 100755 index 0000000..1709bf7 --- /dev/null +++ b/core-mod/xorg/xinit/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-xinitdir=/etc/X11/xinit + +make +make DESTDIR="$1" install + +# Make xauth optional. +sed -i 's#enable_xauth=1#command -v xauth >/dev/null \&\&&||enable_xauth=0#' \ + "$1/usr/bin/startx" diff --git a/core-mod/xorg/xinit/checksums b/core-mod/xorg/xinit/checksums new file mode 100644 index 0000000..7f0e526 --- /dev/null +++ b/core-mod/xorg/xinit/checksums @@ -0,0 +1 @@ +de9b8f617b68a70f6caf87da01fcf0ebd2b75690cdcba9c921d0ef54fa54abb9 xinit-1.4.1.tar.bz2 diff --git a/core-mod/xorg/xinit/depends b/core-mod/xorg/xinit/depends new file mode 100644 index 0000000..eeacdf7 --- /dev/null +++ b/core-mod/xorg/xinit/depends @@ -0,0 +1,2 @@ +libX11 +pkgconf make diff --git a/core-mod/xorg/xinit/sources b/core-mod/xorg/xinit/sources new file mode 100644 index 0000000..2f9b7ee --- /dev/null +++ b/core-mod/xorg/xinit/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/app/xinit-1.4.1.tar.bz2 diff --git a/core-mod/xorg/xinit/version b/core-mod/xorg/xinit/version new file mode 100644 index 0000000..120d522 --- /dev/null +++ b/core-mod/xorg/xinit/version @@ -0,0 +1 @@ +1.4.1 3 diff --git a/core-mod/xorg/xinput/build b/core-mod/xorg/xinput/build new file mode 100755 index 0000000..373bcee --- /dev/null +++ b/core-mod/xorg/xinput/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --localstatedir=/var + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xinput/checksums b/core-mod/xorg/xinput/checksums new file mode 100644 index 0000000..ffc3d73 --- /dev/null +++ b/core-mod/xorg/xinput/checksums @@ -0,0 +1 @@ +9f29f9bfe387c5a3d582f9edc8c5a753510ecc6fdfb154c03b5cea5975b10ce4 xinput-1.6.3.tar.gz diff --git a/core-mod/xorg/xinput/depends b/core-mod/xorg/xinput/depends new file mode 100644 index 0000000..8b08b2a --- /dev/null +++ b/core-mod/xorg/xinput/depends @@ -0,0 +1,5 @@ +libX11 +libXmu +libXi +libXinerama +pkgconf make diff --git a/core-mod/xorg/xinput/sources b/core-mod/xorg/xinput/sources new file mode 100644 index 0000000..a5af63d --- /dev/null +++ b/core-mod/xorg/xinput/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/app/xinput-1.6.3.tar.gz diff --git a/core-mod/xorg/xinput/version b/core-mod/xorg/xinput/version new file mode 100644 index 0000000..05465e0 --- /dev/null +++ b/core-mod/xorg/xinput/version @@ -0,0 +1 @@ +1.6.3 1 diff --git a/core-mod/xorg/xkbcomp/build b/core-mod/xorg/xkbcomp/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/core-mod/xorg/xkbcomp/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xkbcomp/checksums b/core-mod/xorg/xkbcomp/checksums new file mode 100644 index 0000000..ad8466e --- /dev/null +++ b/core-mod/xorg/xkbcomp/checksums @@ -0,0 +1 @@ +6851086c4244b6fd0cc562880d8ff193fb2bbf1e141c73632e10731b31d4b05e diff --git a/core-mod/xorg/xkbcomp/depends b/core-mod/xorg/xkbcomp/depends new file mode 100644 index 0000000..20b9b80 --- /dev/null +++ b/core-mod/xorg/xkbcomp/depends @@ -0,0 +1,3 @@ +libX11 make +libxkbfile make +pkgconf make diff --git a/core-mod/xorg/xkbcomp/sources b/core-mod/xorg/xkbcomp/sources new file mode 100644 index 0000000..066429a --- /dev/null +++ b/core-mod/xorg/xkbcomp/sources @@ -0,0 +1 @@ +https://x.org/releases/individual/app/xkbcomp-1.4.5.tar.bz2 diff --git a/core-mod/xorg/xkbcomp/version b/core-mod/xorg/xkbcomp/version new file mode 100644 index 0000000..1d49ae7 --- /dev/null +++ b/core-mod/xorg/xkbcomp/version @@ -0,0 +1 @@ +1.4.5 1 diff --git a/core-mod/xorg/xkeyboard-config/build b/core-mod/xorg/xkeyboard-config/build new file mode 100755 index 0000000..3f3367a --- /dev/null +++ b/core-mod/xorg/xkeyboard-config/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +# Swap to shell script instead of perl script +# for conversion of rules files. See files/xml2lst. +sed -i 's/perl //;s/xml2lst\.pl/xml2lst/' rules/Makefile.in + +./configure \ + --prefix=/usr \ + --with-xkb-rules-symlink=xfree86,xorg \ + --enable-compat-rules \ + --without-xsltproc \ + --disable-nls + +make +make DESTDIR="$1" install diff --git a/core-mod/xorg/xkeyboard-config/checksums b/core-mod/xorg/xkeyboard-config/checksums new file mode 100644 index 0000000..2a6fbc9 --- /dev/null +++ b/core-mod/xorg/xkeyboard-config/checksums @@ -0,0 +1,2 @@ +657fd790d6dcf781cd395de4cf726120a5b0f93ba91dfb2628bcc70ae8b1d3bc +85f89e8c4d0e293c08b9454f76d4d4a0e2e9e3dd402d43a6a3f0d9e5eda77930 diff --git a/core-mod/xorg/xkeyboard-config/depends b/core-mod/xorg/xkeyboard-config/depends new file mode 100644 index 0000000..77f918f --- /dev/null +++ b/core-mod/xorg/xkeyboard-config/depends @@ -0,0 +1,4 @@ +libX11 make +pkgconf make +python make +xkbcomp diff --git a/core-mod/xorg/xkeyboard-config/files/xml2lst b/core-mod/xorg/xkeyboard-config/files/xml2lst new file mode 100755 index 0000000..7679504 --- /dev/null +++ b/core-mod/xorg/xkeyboard-config/files/xml2lst @@ -0,0 +1,47 @@ +#!/bin/sh +# converts the .xml file to the old format .lst file +# Usage: xml2lst < filename.xml > filename.lst + +var=0 com=0 nam='' + +printf '! model\n' +while read -r l || [ "$l" ]; do case $l in + *''*) n=${l#*>} n=${n%<*};; + *''*) l=${l#*>}; printf ' %-15s %s\n' "$n" "${l%<*}" ;; + *''*) break +esac; done + +printf '\n! layout\n' +while read -r l || [ "$l" ]; do case $l in + *''*) var=1;; + *''*) var=0;; + *''*) break;; + + *''*) + l="${l#*>}" + [ "$var" -eq 0 ] && ln=${l%<*} || n=${l%<*} + ;; + + *''*) + l=${l#*>} + + case $var in + 0) printf ' %-15s %s\n' "${ln}" "${l%<*}" ;; + *) nam="${nam%x} $(printf '%-15s %s: %s\nx' "$n" "$ln" "${l%<*}")" + esac + ;; +esac; done + +printf '\n! variant\n%s\n! option\n' "${nam%x}" +while read -r l || [ "$l" ]; do case $l in + *'-->'*) com=0;; + *'