lots of stuff

This commit is contained in:
Ella Stanforth 2021-12-26 12:40:14 +00:00
parent 32d66a7f56
commit b859e777d0
91 changed files with 2156 additions and 532 deletions

View file

@ -1,8 +1,7 @@
pkgver=20210420
pkgver=20211024
pkgname=bmake
mkdeps=""
deps=""
ext="doc"
fetch() {
curl http://www.crufty.net/ftp/pub/sjg/bmake-$pkgver.tar.gz -o $pkgname-$pkgver.tar.gz
@ -23,12 +22,10 @@ package() {
cd $pkgname-$pkgver
./bmake -m ./mk install DESTDIR=$pkgdir
ln -sr $pkgdir/usr/bin/bmake $pkgdir/usr/bin/make
rm -r $pkgdir/usr/share/man
}
package_doc() {
cd $pkgname-$pkgver
install -Dm644 ./bmake.1 $pkgdir/usr/share/man/man1/bmake.1
backup() {
return
}
license() {

View file

@ -1,11 +1,11 @@
--- ../bmakeb/bmake/boot-strap 2020-11-13 21:47:25.000000000 +0000
+++ boot-strap 2020-12-27 17:26:13.126598658 +0000
@@ -431,7 +431,7 @@
--- a/boot-strap
+++ b/boot-strap
@@ -420,7 +420,7 @@
op_test() {
[ -x bmake ] || op_build
- Bmake test || exit 1
+ #Bmake test || exit 1
- Bmake test "$@" || exit 1
+ #Bmake test "$@" || exit 1
}
op_clean() {

View file

@ -1,9 +1,8 @@
pkgver=20210802
pkgver=20210808
pkgname=byacc
deps=""
mkdeps="bmake"
bad=""
ext="doc"
fetch() {
curl https://invisible-island.net/datafiles/release/byacc.tar.gz -o $pkgname-$pkgver.tar.gz
@ -26,13 +25,10 @@ package() {
cd $pkgname-$pkgver
make install DESTDIR=$pkgdir
ln -sr $pkgdir/usr/bin/byacc $pkgdir/usr/bin/yacc
rm -r $pkgdir/usr/share
}
package_doc() {
cd $pkgname-$pkgver
make install DESTDIR=$pkgdir
rm -r $pkgdir/usr/bin
backup() {
}
license() {

View file

@ -1,59 +0,0 @@
pkgname=ca-certificates
pkgver=202200601
pkgrel=2
ext=doc
mkdeps="gmake"
deps="libressl"
bad="gmake"
fetch(){
curl http://ftp.debian.org/debian/pool/main/c/ca-certificates/ca-certificates_20200601~deb10u2.tar.xz -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
mv work $pkgname-$pkgver
cd $pkgname-$pkgver
#patch -p1 < ../../libressl-update-rehash.patch
}
build() {
cd $pkgname-$pkgver
bad --gmake gmake
}
package() {
cd $pkgname-$pkgver
mkdir -p $pkgdir/usr/bin
mkdir -p $pkgdir/usr/sbin
mkdir -p $pkgdir/etc/ssl/
mkdir -p $pkgdir/etc/ca-certificates/update.d
mkdir -p $pkgdir/usr/share/ca-certificates/
bad --gmake gmake install DESTDIR="$pkgdir"
(
echo "# Automatically generated by ${pkgname}-${pkgver}-${pkgrel}"
echo "# $(date -u)"
echo "# Do not edit."
cd "$pkgdir"/usr/share/ca-certificates
find . -name '*.crt' | sort | cut -b3-
) > "$pkgdir"/etc/ca-certificates.conf
cat > "$pkgdir"/etc/ca-certificates/update.d/certhash <<-EOF
#!/bin/sh
exec openssl certhash /etc/ssl/certs
EOF
cat "$pkgdir"/usr/share/ca-certificates/mozilla/*.crt > $pkgdir/etc/ssl/cert.pem
chmod +x "$pkgdir"/etc/ca-certificates/update.d/certhash
}
package_doc() {
cd $pkgname-$pkgver
install -d $pkgdir/usr/share/man/man8
install -Dm644 ./sbin/update-ca-certificates.8 $pkgdir/usr/share/man/man8
}
license() {
cd $pkgname-$pkgver
cat debian/copyright
}

View file

@ -1,14 +0,0 @@
--- a/sbin/update-ca-certificates
+++ b/sbin/update-ca-certificates
@@ -183,9 +183,9 @@
done
if [ "$verbose" = 0 ]
then
- openssl rehash . > /dev/null
+ openssl certhash . > /dev/null
else
- openssl rehash -v .
+ openssl certhash -v .
fi
fi

View file

@ -1,4 +1,4 @@
pkgver=7.77.0
pkgver=7.79.0
pkg_ver=$(echo $pkgver | tr '.' '_')
pkgname=curl
pkgrel=1
@ -19,8 +19,7 @@ build() {
cmake -G Ninja ../ \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
-DCMAKE_INSTALL_LIBDIR=lib
samu
}

BIN
base/curl/f Normal file

Binary file not shown.

View file

@ -13,7 +13,8 @@ fetch() {
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr
./configure --prefix=/usr \
--without-pam
gmake
}

30
base/fakeroot/build.sh Normal file
View file

@ -0,0 +1,30 @@
pkgname=fakeroot
pkgver=1.26
fetch() {
curl "https://deb.debian.org/debian/pool/main/f/fakeroot/fakeroot_$pkgver.orig.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
patch -p1 < ../../no64.patch
patch -p1 < ../../stdint.patch
}
build() {
cd $pkgname-$pkgver
./configure \
--prefix=/usr \
--build=$TRIPLE \
--host=$TRIPLE
gmake
}
package() {
cd $pkgname-$pkgver
gmake install DESTDIR=$pkgdir
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

17
base/fakeroot/no64.patch Normal file
View file

@ -0,0 +1,17 @@
--- a/libfakeroot.c
+++ b/libfakeroot.c
@@ -81,12 +81,14 @@
#define SEND_STAT64(a,b,c) send_stat64(a,b,c)
#define SEND_GET_STAT(a,b) send_get_stat(a,b)
#define SEND_GET_STAT64(a,b) send_get_stat64(a,b)
+#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b,c)
#define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b,c)
#else
#define SEND_STAT(a,b,c) send_stat(a,b)
#define SEND_STAT64(a,b,c) send_stat64(a,b)
#define SEND_GET_STAT(a,b) send_get_stat(a)
#define SEND_GET_STAT64(a,b) send_get_stat64(a)
+#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b)
#define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b)
#endif

View file

@ -0,0 +1,34 @@
--- a/faked.c
+++ b/faked.c
@@ -514,11 +514,11 @@
#ifdef FAKEROOT_DB_PATH
if (find_path(i->buf.dev, i->buf.ino, roots, path))
- fprintf(f,"mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu %s\n",
+ fprintf(f,"mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" %s\n",
(uint64_t) i->buf.mode,(uint64_t) i->buf.uid,(uint64_t) i->buf.gid,
(uint64_t) i->buf.nlink,(uint64_t) i->buf.rdev,path);
#else
- fprintf(f,"dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n",
+ fprintf(f,"dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n",
(uint64_t) i->buf.dev,(uint64_t) i->buf.ino,(uint64_t) i->buf.mode,
(uint64_t) i->buf.uid,(uint64_t) i->buf.gid,(uint64_t) i->buf.nlink,
(uint64_t) i->buf.rdev);
@@ -544,7 +544,7 @@
while(1){
#ifdef FAKEROOT_DB_PATH
- r=scanf("mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu "DB_PATH_SCAN"\n",
+ r=scanf("mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" "DB_PATH_SCAN"\n",
&stmode, &stuid, &stgid, &stnlink, &strdev, &path);
if (r != 6)
break;
@@ -559,7 +559,7 @@
stdev = path_st.st_dev;
stino = path_st.st_ino;
#else
- r=scanf("dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n",
+ r=scanf("dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n",
&stdev, &stino, &stmode, &stuid, &stgid, &stnlink, &strdev);
if (r != 7)
break;

View file

@ -19,6 +19,7 @@ build() {
package() {
cd $pkgname-$pkgver
make install DESTDIR=$pkgdir
ln -sr $pkgdir/usr/bin/flex $pkgdir/usr/bin/lex
}
license() {

View file

@ -1,4 +1,4 @@
pkgver=12.0.1
pkgver=13.0.0
pkgname=llvm
bad=""
ext="dev"

View file

@ -1,8 +1,7 @@
pkgver=0.58.1
pkgver=0.60.2
pkgname=meson
deps=python
bad=""
ext="doc"
fetch() {
curl -L "https://github.com/mesonbuild/meson/releases/download/$pkgver/meson-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
@ -22,8 +21,8 @@ package() {
python setup.py install --prefix=/usr --root=$pkgdir
}
package_doc() {
echo $pkgdir
backup() {
return
}
license() {

View file

@ -1,5 +1,5 @@
pkgname=openssh
pkgver=8.6p1
pkgver=8.8p1
fetch() {
curl "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
@ -10,8 +10,8 @@ build() {
cd $pkgname-$pkgver
./configure \
--prefix=/usr \
--build=x86_64-unknown-linux-musl \
--host=x86_64-unknown-linux-musl \
--build=$TRIPLE \
--host=$TRIPLE \
--libexecdir=/usr/lib
make
@ -22,6 +22,10 @@ package() {
make install DESTDIR=$pkgdir
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat LICENCE

View file

@ -21,20 +21,14 @@ build() {
no-seed no-weak-ssl-ciphers \
-Wa,--noexecstack
make
make CC=cc
}
package() {
cd $pkgname-$pkgver
make install_sw DESTDIR=$pkgdir
rm -rf $pkgdir/usr/lib/pkgconf
rm -rf $pkgdir/usr/include
}
package_dev() {
cd $pkgname-$pkgver
make install_sw DESTDIR=$pkgdir
rm -rf $pkgdir/usr/bin
make install_sw install_ssldir DESTDIR=$pkgdir
install -d $pkgdir/usr/sbin
install -Dm755 ../../update-ca.sh $pkgdir/usr/sbin/update-ca
}
license() {

4
base/openssl/update-ca.sh Executable file
View file

@ -0,0 +1,4 @@
#!/bin/sh
cd /etc/ssl && {
curl -LO https://curl.haxx.se/ca/cacert.pem -o /etc/ssl/certs/ca-certificates.crt
}

View file

@ -1,8 +1,8 @@
pkgname=perl
pkgver=5.32.1
pkgver=5.34.0
fetch() {
curl "https://www.cpan.org/src/5.0/perl-5.32.1.tar.gz" -o $pkgname-$pkgver.tar.xz
curl "https://www.cpan.org/src/5.0/perl-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
}
@ -47,6 +47,10 @@ package() {
rm -rf $pkgdir/usr/share/man
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat Copying

View file

@ -1,5 +1,5 @@
pkgname=python
pkgver=3.9.6
pkgver=3.9.7
bad=""
ext="doc"

View file

@ -1,11 +1,12 @@
pkgver=0.8.5
pkgver=0.8.6
pkgname=toybox
pkgrel=1
deps="musl:pci-ids"
deps="musl"
fetch() {
curl "http://www.landley.net/toybox/downloads/$pkgname-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
curl "https://pci-ids.ucw.cz/v2.2/pci.ids" -o pci.ids
cd $pkgname-$pkgver
patch -p1 < ../../ls-colour.patch
patch -p1 < ../../mksh-make.patch
@ -18,7 +19,14 @@ build() {
CPUS=1 bad --gmake gmake
}
backup() {
return
}
package() {
install -d $pkgdir/usr/share/misc
install -Dm 644 pci.ids $pkgdir/usr/share/misc
cd $pkgname-$pkgver
# install -d $pkgdir/bin
# install -Dm755 ./toybox $pkgdir/bin/

View file

@ -1,5 +1,3 @@
diff --git a/scripts/make.sh b/scripts/make.sh
index 5b2d5d81..2c5e4b93 100755
--- a/scripts/make.sh
+++ b/scripts/make.sh
@@ -106,8 +106,7 @@ genbuildsh()
@ -12,3 +10,25 @@ index 5b2d5d81..2c5e4b93 100755
then
echo -n "Library probe"
--- a/scripts/genconfig.sh
+++ b/scripts/genconfig.sh
@@ -16,7 +16,7 @@ probecc()
# Symbol name is first argument, flags second, feed C file to stdin
probesymbol()
{
- probecc "${@:2}" 2>/dev/null && DEFAULT=y || DEFAULT=n
+ probecc $2 2>/dev/null && DEFAULT=y || DEFAULT=n
rm a.out 2>/dev/null
echo -e "config $1\n\tbool" || exit 1
echo -e "\tdefault $DEFAULT\n" || exit 1
--- a/scripts/make.sh
+++ b/scripts/make.sh
@@ -15,7 +15,7 @@ if [ ! -z "$ASAN" ]; then
fi
# Centos 7 bug workaround, EOL June 30 2024.
-DASHN=-n; wait -n 2>/dev/null; [ $? -eq 2 ] && unset DASHN
+unset DASHN
export LANG=c
export LC_ALL=C

View file

@ -1,5 +1,21 @@
--- a/toys/other/xxd.c
+++ b/toys/other/xxd.c
@@ -77,11 +77,13 @@ static void do_xxd(int fd, char *name)
static void do_xxd_include(int fd, char *name)
{
+ long long total = 0;
int c = 1, i, len;
// The original xxd outputs a header/footer if given a filename (not stdin).
// We don't, which means that unlike the original we can implement -ri.
while ((len = read(fd, toybuf, sizeof(toybuf))) > 0) {
+ total += len;
for (i = 0; i < len; ++i) {
printf("%s%#.02x", c > 1 ? ", " : " ", toybuf[i]);
if (c++ == TT.c) {
--- a/toys/other/xxd.c
+++ b/toys/other/xxd.c
@@ -80,7 +80,12 @@
int c = 1, i, len;

30
extra/json-c/build.sh Normal file
View file

@ -0,0 +1,30 @@
pkgname=json-c
pkgver=0.15
fetch() {
curl -L "https://s3.amazonaws.com/json-c_releases/releases/json-c-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/build
}
build() {
cd $pkgname-$pkgver
cd build
cmake -G Ninja ../ \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
samu
}
package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

32
extra/pcre/build.sh Normal file
View file

@ -0,0 +1,32 @@
pkgname=pcre
pkgver=8.45
fetch() {
curl "https://ftp.pcre.org/pub/pcre/pcre-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
}
build() {
cd $pkgname-$pkgver
./configure \
--prefix=/usr \
--build=$TRIPLE \
--host=$TRIPLE
make
}
package() {
cd $pkgname-$pkgver
make install DESTDIR=$pkgdir
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

31
extra/pcre2/build.sh Normal file
View file

@ -0,0 +1,31 @@
pkgname=pcre2
pkgver=10.39
fetch() {
curl -L "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-$pkgver.tar.bz2" -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
}
build() {
cd $pkgname-$pkgver
./configure \
--prefix=/usr \
--build=$TRIPLE \
--host=$TRIPLE
make
}
package() {
cd $pkgname-$pkgver
make install DESTDIR=$pkgdir
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat COPYING
}

View file

@ -33,13 +33,13 @@ fetch() {
cp ../*.patch .
cd $pkgname-$pkgver
patch -p1 < ../alpine-move-py.patch
patch -p1 < ../abyss-install-template-shebang.patch
# patch -p1 < ../alpine-move-py.patch
# patch -p1 < ../abyss-install-template-shebang.patch
patch -p1 < ../alpine-crt.patch
patch -p1 < ../libexec.patch
patch -p1 < ../llvm_crt.patch
patch -p1 < ../unfreeze.patch
patch -p1 < ../libresslssl.patch
# patch -p1 < ../libresslssl.patch
sed -i /LD_LIBRARY_PATH/d src/bootstrap/bootstrap.py
_clear_vendor_checksums libc
@ -53,18 +53,19 @@ fetch() {
build() {
cd $pkgname-$pkgver
# --tools="cargo,rls,rustfmt,src" \
OPENSSL_LIB_DIR=/usr/lib/ ./configure \
--build="$TRIPLE" \
--host="$TRIPLE" \
--target="$TRIPLE" \
--prefix="/usr" \
--musl-root="/usr" \
--release-channel="beta" \
--release-channel="nightly" \
--enable-local-rust \
--local-rust-root=$RUSTROOT \
--disable-docs \
--enable-extended \
--tools="cargo,rls,rustfmt,src" \
--tools="cargo,rustfmt,rls,src" \
--enable-vendor \
--disable-locked-deps \
--enable-option-checking \

View file

@ -0,0 +1,30 @@
pkgname=autotiling-rs
pkgver=0.1.3
_clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' vendor/$1/.cargo-checksum.json
}
fetch() {
curl -L "https://github.com/ammgws/autotiling-rs/archive/refs/tags/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
cd $pkgname-$pkgver
mkdir -p .cargo
/usr/src/rust-bootstrap/build/rust-root/bin/cargo vendor > .cargo/config
}
build() {
cd $pkgname-$pkgver
cargo build --release --locked --all-features
}
package() {
cd $pkgname-$pkgver
install -Dm755 target/release/$pkgname $pkgdir/usr/bin/$pkgname
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

36
gui/foot/build.sh Normal file
View file

@ -0,0 +1,36 @@
pkgname=foot
pkgver=1.10.3
fetch() {
curl -L "https://codeberg.org/dnkl/foot/archive/$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mv $pkgname $pkgname-$pkgver
mkdir $pkgname-$pkgver/build
}
build() {
cd $pkgname-$pkgver
cd build
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib \
-Dterminfo=disabled \
-Ddefault-terminfo=xterm
samu
}
backup() {
return
}
package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
}
license() {
cd $pkgname-$pkgver
cat LICENSE
}

View file

@ -0,0 +1,98 @@
f_pkgver=2.11.0
h_pkgver=3.0.0
pkgname=freetype-harfbuzz
pkgver=$f_pkgver+$h_pkgver
fetch() {
curl "https://download-mirror.savannah.gnu.org/releases/freetype/freetype-$f_pkgver.tar.xz" \
-o freetype-$f_pkgver.tar.xz
tar -xf freetype-$f_pkgver.tar.xz
mkdir -p freetype-$f_pkgver/build
curl -L "https://github.com/harfbuzz/harfbuzz/releases/download/$h_pkgver/harfbuzz-$h_pkgver.tar.xz" \
-o harfbuzz-$h_pkgver.tar.xz
tar -xf harfbuzz-$h_pkgver.tar.xz
mkdir -p harfbuzz-$h_pkgver/build
}
build() {
mkdir tmp_install
export DESTDIR=$(pwd)/tmp_install
mkdir -p $DESTDIR/usr/include/harfbuzz
# cp harfbuzz-$h_pkgver/src/hb-ft.h $DESTDIR/usr/include/harfbuzz
# Point Freetype to the Harfbuzz files.
export CFLAGS="$CFLAGS -I$DESTDIR/usr/include/harfbuzz"
export CFLAGS="$CFLAGS -L$DESTDIR/usr/lib "
export PKG_CONFIG_PATH=$DESTDIR/usr/lib/pkgconfig
# Point Harfbuzz to the Freetype files.
export CXXFLAGS="$CXXFLAGS -I$DESTDIR/usr/include/freetype2"
export CXXFLAGS="$CXXFLAGS -L$DESTDIR/usr/lib"
cd freetype-$f_pkgver/build
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib \
-Dbzip2=disabled \
-Dzlib=disabled \
-Dharbuzz=disabled
samu
samu install
cd ../../
cd harfbuzz-$h_pkgver/
./configure \
--prefix=/usr \
--with-bzip2=no \
--with-png=no \
--with-brotli=no
bad --gmake gmake
bad --gmake gmake install
cd ..
cd freetype-$f_pkgver/build
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib \
-Dbzip2=disabled \
-Dzlib=disabled \
-Dharfbuzz=enabled
--reconfigure
samu
}
package() {
cd freetype-$f_pkgver
cd build
DESTDIR=$pkgdir samu install
cd ../../
cd harfbuzz-$h_pkgver
cd build
DESTDIR=$pkgdir samu install
}
backup() {
return
}
license() {
cd freetype-$f_pkgver
cat LICENSE
cd harfbuzz-$h_pkgver
cat COPYING
}

View file

@ -0,0 +1,11 @@
--- src/freetype-2.11.0/meson.build
+++ meson.build
@@ -276,6 +276,8 @@
if libpng_dep.found()
ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_PNG']
ft2_deps += [libpng_dep]
+else
+ ftoption_command += ['--disable=FT_CONFIG_OPTION_USE_PNG']
endif
# Harfbuzz support

View file

@ -0,0 +1,411 @@
#
# Meson project file for FreeType 2
#
# Copyright (C) 2020-2021 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
# and distributed under the terms of the FreeType project license,
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
# indicate that you have read the license and understand and accept it
# fully.
#
# Say
#
# meson configure
#
# to see all configuration options and their default values. For example,
# to build only a shared version of FreeType, override the default value
# with
#
# meson setup -Ddefault_library=shared
#
project('freetype2', 'c',
meson_version: '>= 0.55.0',
default_options: ['default_library=both'],
version: run_command('builds/meson/extract_freetype_version.py',
'include/freetype/freetype.h').stdout().strip(),
)
# Only meson >= 0.57 can read a file and assign its contents to a
# variable; we thus use an external command to have this functionality
# with older versions, too.
python = import('python')
python_exe = python.find_installation(required: true)
ft2_so_version = run_command(python_exe,
files('builds/meson/extract_libtool_version.py'),
'--soversion',
files('builds/unix/configure.raw')).stdout().strip()
ft2_pkgconfig_version = run_command(python_exe,
files('builds/meson/extract_libtool_version.py'),
files('builds/unix/configure.raw')).stdout().strip()
ft2_includes = include_directories('include')
# Generate a custom `ftmodule.h` version based on the content of
# `modules.cfg`.
ftmodule_h = custom_target('ftmodule.h',
output: 'ftmodule.h',
input: 'modules.cfg',
command: [python_exe, files('builds/meson/parse_modules_cfg.py'),
'--format=ftmodule.h', '@INPUT@', '--output', '@OUTPUT@'],
install: true,
install_dir: 'include/freetype2/freetype/config',
)
ft2_sources = [ftmodule_h]
# FreeType 2 modules.
ft_main_modules = run_command(python_exe,
files('builds/meson/parse_modules_cfg.py'),
'--format=main-modules',
files('modules.cfg')).stdout().strip().split()
ft2_sources += files([
'src/base/ftbase.c',
'src/base/ftinit.c',
])
foreach mod: ft_main_modules
source = mod
if mod == 'winfonts'
source = 'winfnt'
elif mod == 'cid'
source = 'type1cid'
endif
ft2_sources += 'src/@0@/@1@.c'.format(mod, source)
endforeach
# NOTE: The `gzip` and `bzip2` aux modules are handled through options.
ft_aux_modules = run_command(python_exe,
files('builds/meson/parse_modules_cfg.py'),
'--format=aux-modules',
files('modules.cfg')).stdout().strip().split()
foreach auxmod: ft_aux_modules
source = auxmod
# Most sources are named `src/<module>/<module>.c`, but there are a few
# exceptions handled here.
if auxmod == 'cache'
source = 'ftcache'
elif auxmod == 'lzw'
source = 'ftlzw'
elif auxmod == 'gzip' or auxmod == 'bzip2'
# Handled through options instead, see below.
continue
endif
ft2_sources += 'src/@0@/@1@.c'.format(auxmod, source)
endforeach
# FreeType 2 base extensions.
# To be configured in `modules.cfg`.
base_extensions = run_command(python_exe,
files('builds/meson/parse_modules_cfg.py'),
'--format=base-extensions-list',
files('modules.cfg')).stdout().split()
foreach ext: base_extensions
ft2_sources += files('src/base/' + ext)
endforeach
# Header files.
ft2_public_headers = files([
'include/freetype/freetype.h',
'include/freetype/ftadvanc.h',
'include/freetype/ftbbox.h',
'include/freetype/ftbdf.h',
'include/freetype/ftbitmap.h',
'include/freetype/ftbzip2.h',
'include/freetype/ftcache.h',
'include/freetype/ftchapters.h',
'include/freetype/ftcid.h',
'include/freetype/ftcolor.h',
'include/freetype/ftdriver.h',
'include/freetype/fterrdef.h',
'include/freetype/fterrors.h',
'include/freetype/ftfntfmt.h',
'include/freetype/ftgasp.h',
'include/freetype/ftglyph.h',
'include/freetype/ftgxval.h',
'include/freetype/ftgzip.h',
'include/freetype/ftimage.h',
'include/freetype/ftincrem.h',
'include/freetype/ftlcdfil.h',
'include/freetype/ftlist.h',
'include/freetype/ftlzw.h',
'include/freetype/ftmac.h',
'include/freetype/ftmm.h',
'include/freetype/ftmodapi.h',
'include/freetype/ftmoderr.h',
'include/freetype/ftotval.h',
'include/freetype/ftoutln.h',
'include/freetype/ftparams.h',
'include/freetype/ftpfr.h',
'include/freetype/ftrender.h',
'include/freetype/ftsizes.h',
'include/freetype/ftsnames.h',
'include/freetype/ftstroke.h',
'include/freetype/ftsynth.h',
'include/freetype/ftsystem.h',
'include/freetype/fttrigon.h',
'include/freetype/fttypes.h',
'include/freetype/ftwinfnt.h',
'include/freetype/t1tables.h',
'include/freetype/ttnameid.h',
'include/freetype/tttables.h',
'include/freetype/tttags.h',
])
ft2_config_headers = files([
'include/freetype/config/ftconfig.h',
'include/freetype/config/ftheader.h',
'include/freetype/config/ftstdlib.h',
'include/freetype/config/integer-types.h',
'include/freetype/config/mac-support.h',
'include/freetype/config/public-macros.h',
])
ft2_defines = ['-DFT2_BUILD_LIBRARY=1']
# System support file.
cc = meson.get_compiler('c')
# NOTE: msys2 on Windows has `unistd.h` and `fcntl.h` but not `sys/mman.h`!
has_unistd_h = cc.has_header('unistd.h')
has_fcntl_h = cc.has_header('fcntl.h')
has_sys_mman_h = cc.has_header('sys/mman.h')
mmap_option = get_option('mmap')
use_unix_ftsystem_c = false
if mmap_option.disabled()
ft2_sources += files(['src/base/ftsystem.c',])
elif host_machine.system() == 'windows'
ft2_sources += files(['builds/windows/ftsystem.c',])
else
if has_unistd_h and has_fcntl_h and has_sys_mman_h
# This version of `ftsystem.c` uses `mmap` to read input font files.
ft2_sources += files(['builds/unix/ftsystem.c',])
use_unix_ftsystem_c = true
elif mmap_option.enabled()
error('mmap was enabled via options but is not available,'
+ ' required headers were not found!')
else
ft2_sources += files(['src/base/ftsystem.c',])
endif
endif
# Debug support file
#
# NOTE: Some specialized versions exist for other platforms not supported by
# Meson. Most implementation differences are extremely minor, i.e., in the
# implementation of `FT_Message` and `FT_Panic`, and getting the `FT2_DEBUG`
# value from the environment, when this is supported. A smaller refactor
# might make these platform-specific files much smaller, and could be moved
# into `ftsystem.c` as well.
#
if host_machine.system() == 'windows'
winmod = import('windows')
ft2_sources += [
'builds/windows/ftdebug.c',
winmod.compile_resources('src/base/ftver.rc'),
]
else
ft2_sources += 'src/base/ftdebug.c'
endif
ft2_deps = []
# Generate `ftoption.h` based on available dependencies.
process_header_command = [python_exe,
files('builds/meson/process_ftoption_h.py'),
'@INPUT@', '--output=@OUTPUT@']
ftoption_command = process_header_command
# GZip support
zlib_dep = dependency('zlib',
required: get_option('zlib'),
fallback: 'zlib')
if zlib_dep.found()
ftoption_command += [
'--enable=FT_CONFIG_OPTION_USE_ZLIB',
'--enable=FT_CONFIG_OPTION_SYSTEM_ZLIB',
]
ft2_sources += files(['src/gzip/ftgzip.c',])
ft2_deps += [zlib_dep]
else
ftoption_command += ['--disable=FT_CONFIG_OPTION_USE_ZLIB']
endif
# BZip2 support
bzip2_dep = cc.find_library('bz2',
required: get_option('bzip2'))
if bzip2_dep.found()
ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_BZIP2']
ft2_sources += files(['src/bzip2/ftbzip2.c',])
ft2_deps += [bzip2_dep]
endif
# PNG support
libpng_dep = dependency('libpng',
required: get_option('png'),
fallback: 'libpng')
if libpng_dep.found()
ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_PNG']
ft2_deps += [libpng_dep]
else
ftoption_command += ['--disable=FT_CONFIG_OPTION_USE_PNG']
endif
# Harfbuzz support
harfbuzz_dep = dependency('harfbuzz',
version: '>= 2.0.0',
required: get_option('harfbuzz'))
if harfbuzz_dep.found()
ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_HARFBUZZ']
ft2_deps += [harfbuzz_dep]
endif
# Brotli decompression support
brotli_dep = dependency('libbrotlidec',
required: get_option('brotli'))
if brotli_dep.found()
ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_BROTLI']
ft2_deps += [brotli_dep]
endif
# We can now generate `ftoption.h`.
ftoption_h = custom_target('ftoption.h',
input: 'include/freetype/config/ftoption.h',
output: 'ftoption.h',
command: ftoption_command,
install: true,
install_dir: 'include/freetype2/freetype/config',
)
ft2_sources += ftoption_h
ft2_defines += ['-DFT_CONFIG_OPTIONS_H=<ftoption.h>']
if host_machine.system() == 'windows'
ft2_defines += ['-DDLL_EXPORT=1']
endif
# Generate `ftconfig.h`.
ftconfig_command = process_header_command
if has_unistd_h
ftconfig_command += '--enable=HAVE_UNISTD_H'
endif
if has_fcntl_h
ftconfig_command += '--enable=HAVE_FCNTL_H'
endif
if use_unix_ftsystem_c
ftconfig_h_in = files('builds/unix/ftconfig.h.in')
ftconfig_h = custom_target('ftconfig.h',
input: ftconfig_h_in,
output: 'ftconfig.h',
command: ftconfig_command,
install: true,
install_dir: 'include/freetype2/freetype/config',
)
ft2_sources += ftconfig_h
ft2_defines += ['-DFT_CONFIG_CONFIG_H=<ftconfig.h>']
endif
ft2_lib = library('freetype',
sources: ft2_sources + [ftmodule_h],
c_args: ft2_defines,
gnu_symbol_visibility: 'hidden',
include_directories: ft2_includes,
dependencies: ft2_deps,
install: true,
version: ft2_so_version,
)
# To be used by other projects including this one through `subproject`.
freetype_dep = declare_dependency(
include_directories: ft2_includes,
link_with: ft2_lib,
version: ft2_pkgconfig_version)
meson.override_dependency('freetype2', freetype_dep)
# NOTE: Using both `install_dir` and `subdir` doesn't seem to work below,
# i.e., the subdir value seems to be ignored, contrary to examples in the
# Meson documentation.
install_headers('include/ft2build.h',
install_dir: 'include/freetype2')
install_headers(ft2_public_headers,
install_dir: 'include/freetype2/freetype')
install_headers(ft2_config_headers,
install_dir: 'include/freetype2/freetype/config')
pkgconfig = import('pkgconfig')
pkgconfig.generate(ft2_lib,
filebase: 'freetype2',
name: 'FreeType 2',
description: 'A free, high-quality, and portable font engine.',
url: 'https://freetype.org',
subdirs: 'freetype2',
version: ft2_pkgconfig_version,
)
if get_option('tests').enabled()
subdir('tests')
endif
# NOTE: Unlike the old `make refdoc` command, this generates the
# documentation under `$BUILD/docs/` since Meson doesn't support modifying
# the source root directory (which is a good thing).
gen_docs = custom_target('freetype2 reference documentation',
output: 'docs',
input: ft2_public_headers + ft2_config_headers,
command: [python_exe,
files('builds/meson/generate_reference_docs.py'),
'--version=' + meson.project_version(),
'--input-dir=' + meson.source_root(),
'--output-dir=@OUTPUT@'
],
)
summary({'OS': host_machine.system(),
'Zlib': zlib_dep.found() ? 'yes' : 'no',
'Bzip2': bzip2_dep.found() ? 'yes' : 'no',
'Png': libpng_dep.found() ? 'yes' : 'no',
'Harfbuzz': harfbuzz_dep.found() ? 'yes' : 'no',
'Brotli': brotli_dep.found() ? 'yes' : 'no',
}, section: 'Configuration Options Summary:')
# EOF

View file

@ -1,5 +1,5 @@
pkgname=freetype
pkgver=2.10.4
pkgver=2.11.0
fetch() {
curl "https://download-mirror.savannah.gnu.org/releases/freetype/freetype-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
@ -24,6 +24,10 @@ package() {
DESTDIR=$pkgdir samu install
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat LICENSE

View file

@ -1,8 +1,8 @@
pkgname=harfbuzz
pkgver=2.7.4
pkgver=3.0.0
fetch() {
curl -L "https://github.com/harfbuzz/harfbuzz/releases/download/2.7.4/harfbuzz-2.7.4.tar.xz" -o $pkgname-$pkgver.tar.xz
curl -L "https://github.com/harfbuzz/harfbuzz/releases/download/$pkgver/harfbuzz-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/build
}
@ -10,7 +10,7 @@ fetch() {
build() {
cd $pkgname-$pkgver
cd build
meson .. \
CFLAGS="$CFLAGS -Wunused-but-set-variable" meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib \

30
gui/i3status-rs/build.sh Normal file
View file

@ -0,0 +1,30 @@
pkgname=i3status-rust
pkgver=0.20.4
_clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' vendor/$1/.cargo-checksum.json
}
fetch() {
curl -L "https://github.com/greshake/i3status-rust/archive/refs/tags/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
cd $pkgname-$pkgver
mkdir -p .cargo
/usr/src/rust-bootstrap/build/rust-root/bin/cargo vendor > .cargo/config
}
build() {
cd $pkgname-$pkgver
cargo build --release --locked --all-features
}
package() {
cd $pkgname-$pkgver
install -Dm755 target/release/i3status-rs $pkgdir/usr/bin/i3status-rs
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

View file

@ -1,8 +1,7 @@
pkgver=2.4.106
pkgver=2.4.109
pkgname=libdrm
dep="libpciaccess"
bad=""
ext="dev"
fetch() {
curl -L "https://dri.freedesktop.org/libdrm/libdrm-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.gz
@ -20,9 +19,8 @@ package() {
DESTDIR=$pkgdir samu -C build install
}
package_dev() {
cd $pkgname-$pkgver
DESTDIR=$pkgdir samu -C build install
backup() {
return
}
license() {

View file

@ -10,6 +10,7 @@ build() {
cd $pkgname-$pkgver
./configure \
--prefix=/usr \
--with-zlib-prefix=/usr \
--build=$TRIPLE \
--host=$TRIPLE
@ -21,6 +22,10 @@ package() {
make install DESTDIR=$pkgdir
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat LICENSE

View file

@ -1,5 +1,5 @@
pkgname=libudev-zero
pkgver=0.5.2
pkgver=1.0.0
fetch() {
curl -L "https://github.com/illiliti/libudev-zero/archive/$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
@ -18,7 +18,10 @@ package() {
make install PREFIX=/usr DESTDIR=$pkgdir
install -d $pkgdir/usr/sbin
install -Dm755 ./contrib/libudev-zero-hotplug-helper $pkgdir/usr/sbin/
install -Dm755 ./contrib/helper.sh $pkgdir/usr/sbin/libudev-zero-hotplug-helper.sh
}
backup() {
return
}
license() {

View file

@ -1,12 +1,12 @@
pkgname=mesa
#pkgver=21.2.1
pkgver=v3dv-vk-ext-vertex-attribute-divisor
pkgver=main
deps="musl:wayland:wayland-protocols:llvm:zlib-ng:expat:libffi:libdrm:python-mako"
ext=dev
fetch() {
curl "https://archive.mesa3d.org/$pkgname-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.gz
curl "https://gitlab.freedesktop.org/Ella-0/mesa/-/archive/v3dv-vk-ext-vertex-attribute-divisor/mesa-v3dv-vk-ext-vertex-attribute-divisor.tar.gz" -o $pkgname-$pkgver.tar.gz
# curl "https://archive.mesa3d.org/$pkgname-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.gz
curl "https://gitlab.freedesktop.org/mesa/mesa/-/archive/main/mesa-main.tar.gz" -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
mkdir $pkgname-$pkgver/build
cp ../byacc-out-mid-build.patch .

10
gui/mesa/v3d.patch Normal file
View file

@ -0,0 +1,10 @@
--- a/src/gallium/drivers/v3d/v3dx_format_table.c
+++ b/src/gallium/drivers/v3d/v3dx_format_table.c
@@ -70,6 +70,7 @@
FORMAT(R8G8B8A8_SNORM, NO, RGBA8_SNORM, SWIZ_XYZW, 16, 0),
FORMAT(R8G8B8X8_SNORM, NO, RGBA8_SNORM, SWIZ_XYZ1, 16, 0),
FORMAT(R10G10B10A2_UNORM, RGB10_A2, RGB10_A2, SWIZ_XYZW, 16, 0),
+ FORMAT(R10G10B10X2_UNORM, RGB10_A2, RGB10_A2, SWIZ_XYZW, 16, 0),
FORMAT(R10G10B10A2_UINT, RGB10_A2UI, RGB10_A2UI, SWIZ_XYZW, 16, 0),
FORMAT(A4B4G4R4_UNORM, ABGR4444, RGBA4, SWIZ_XYZW, 16, 0),

View file

@ -0,0 +1,364 @@
/*
* Copyright © 2014-2018 Broadcom
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*/
#include "util/format/u_format.h"
#include "v3d_context.h"
#include "broadcom/cle/v3dx_pack.h"
#include "broadcom/common/v3d_macros.h"
#include "v3d_format_table.h"
#define SWIZ(x,y,z,w) { \
PIPE_SWIZZLE_##x, \
PIPE_SWIZZLE_##y, \
PIPE_SWIZZLE_##z, \
PIPE_SWIZZLE_##w \
}
#define FORMAT(pipe, rt, tex, swiz, return_size, return_channels) \
[PIPE_FORMAT_##pipe] = { \
true, \
V3D_OUTPUT_IMAGE_FORMAT_##rt, \
TEXTURE_DATA_FORMAT_##tex, \
swiz, \
return_size, \
return_channels, \
}
#define SWIZ_X001 SWIZ(X, 0, 0, 1)
#define SWIZ_XY01 SWIZ(X, Y, 0, 1)
#define SWIZ_XYZ1 SWIZ(X, Y, Z, 1)
#define SWIZ_XYZW SWIZ(X, Y, Z, W)
#define SWIZ_YZWX SWIZ(Y, Z, W, X)
#define SWIZ_YZW1 SWIZ(Y, Z, W, 1)
#define SWIZ_ZYXW SWIZ(Z, Y, X, W)
#define SWIZ_ZYX1 SWIZ(Z, Y, X, 1)
#define SWIZ_XXXY SWIZ(X, X, X, Y)
#define SWIZ_XXX1 SWIZ(X, X, X, 1)
#define SWIZ_XXXX SWIZ(X, X, X, X)
#define SWIZ_000X SWIZ(0, 0, 0, X)
static const struct v3d_format format_table[] = {
FORMAT(B8G8R8A8_UNORM, RGBA8, RGBA8, SWIZ_ZYXW, 16, 0),
FORMAT(B8G8R8X8_UNORM, RGBA8, RGBA8, SWIZ_ZYX1, 16, 0),
FORMAT(B8G8R8A8_SRGB, SRGB8_ALPHA8, RGBA8, SWIZ_ZYXW, 16, 0),
FORMAT(B8G8R8X8_SRGB, SRGB8_ALPHA8, RGBA8, SWIZ_ZYX1, 16, 0),
FORMAT(R8G8B8A8_UNORM, RGBA8, RGBA8, SWIZ_XYZW, 16, 0),
FORMAT(R8G8B8X8_UNORM, RGBA8, RGBA8, SWIZ_XYZ1, 16, 0),
FORMAT(R8G8B8A8_SRGB, SRGB8_ALPHA8, RGBA8, SWIZ_XYZW, 16, 0),
FORMAT(R8G8B8X8_SRGB, SRGB8_ALPHA8, RGBA8, SWIZ_XYZ1, 16, 0),
FORMAT(R8G8B8A8_SNORM, NO, RGBA8_SNORM, SWIZ_XYZW, 16, 0),
FORMAT(R8G8B8X8_SNORM, NO, RGBA8_SNORM, SWIZ_XYZ1, 16, 0),
FORMAT(R10G10B10A2_UNORM, RGB10_A2, RGB10_A2, SWIZ_XYZW, 16, 0),
FORMAT(R10G10B10X2_UNORM, RGB10_A2, RGB10_A2, SWIZ_XYZW, 16, 0),
FORMAT(R10G10B10A2_UINT, RGB10_A2UI, RGB10_A2UI, SWIZ_XYZW, 16, 0),
FORMAT(A4B4G4R4_UNORM, ABGR4444, RGBA4, SWIZ_XYZW, 16, 0),
FORMAT(A1B5G5R5_UNORM, ABGR1555, RGB5_A1, SWIZ_XYZW, 16, 0),
FORMAT(X1B5G5R5_UNORM, ABGR1555, RGB5_A1, SWIZ_XYZ1, 16, 0),
FORMAT(B5G6R5_UNORM, BGR565, RGB565, SWIZ_XYZ1, 16, 0),
FORMAT(R8_UNORM, R8, R8, SWIZ_X001, 16, 0),
FORMAT(R8_SNORM, NO, R8_SNORM, SWIZ_X001, 16, 0),
FORMAT(R8G8_UNORM, RG8, RG8, SWIZ_XY01, 16, 0),
FORMAT(R8G8_SNORM, NO, RG8_SNORM, SWIZ_XY01, 16, 0),
FORMAT(R16_UNORM, NO, R16, SWIZ_X001, 32, 1),
FORMAT(R16_SNORM, NO, R16_SNORM, SWIZ_X001, 32, 1),
FORMAT(R16_FLOAT, R16F, R16F, SWIZ_X001, 16, 0),
FORMAT(R32_FLOAT, R32F, R32F, SWIZ_X001, 32, 1),
FORMAT(R16G16_UNORM, NO, RG16, SWIZ_XY01, 32, 2),
FORMAT(R16G16_SNORM, NO, RG16_SNORM, SWIZ_XY01, 32, 2),
FORMAT(R16G16_FLOAT, RG16F, RG16F, SWIZ_XY01, 16, 0),
FORMAT(R32G32_FLOAT, RG32F, RG32F, SWIZ_XY01, 32, 2),
FORMAT(R16G16B16A16_UNORM, NO, RGBA16, SWIZ_XYZW, 32, 4),
FORMAT(R16G16B16A16_SNORM, NO, RGBA16_SNORM, SWIZ_XYZW, 32, 4),
FORMAT(R16G16B16A16_FLOAT, RGBA16F, RGBA16F, SWIZ_XYZW, 16, 0),
FORMAT(R32G32B32A32_FLOAT, RGBA32F, RGBA32F, SWIZ_XYZW, 32, 4),
/* If we don't have L/A/LA16, mesa/st will fall back to RGBA16. */
FORMAT(L16_UNORM, NO, R16, SWIZ_XXX1, 32, 1),
FORMAT(L16_SNORM, NO, R16_SNORM, SWIZ_XXX1, 32, 1),
FORMAT(I16_UNORM, NO, R16, SWIZ_XXXX, 32, 1),
FORMAT(I16_SNORM, NO, R16_SNORM, SWIZ_XXXX, 32, 1),
FORMAT(A16_UNORM, NO, R16, SWIZ_000X, 32, 1),
FORMAT(A16_SNORM, NO, R16_SNORM, SWIZ_000X, 32, 1),
FORMAT(L16A16_UNORM, NO, RG16, SWIZ_XXXY, 32, 2),
FORMAT(L16A16_SNORM, NO, RG16_SNORM, SWIZ_XXXY, 32, 2),
FORMAT(A8_UNORM, NO, R8, SWIZ_000X, 16, 0),
FORMAT(L8_UNORM, NO, R8, SWIZ_XXX1, 16, 0),
FORMAT(I8_UNORM, NO, R8, SWIZ_XXXX, 16, 0),
FORMAT(L8A8_UNORM, NO, RG8, SWIZ_XXXY, 16, 0),
FORMAT(R8_SINT, R8I, R8I, SWIZ_X001, 16, 0),
FORMAT(R8_UINT, R8UI, R8UI, SWIZ_X001, 16, 0),
FORMAT(R8G8_SINT, RG8I, RG8I, SWIZ_XY01, 16, 0),
FORMAT(R8G8_UINT, RG8UI, RG8UI, SWIZ_XY01, 16, 0),
FORMAT(R8G8B8A8_SINT, RGBA8I, RGBA8I, SWIZ_XYZW, 16, 0),
FORMAT(R8G8B8A8_UINT, RGBA8UI, RGBA8UI, SWIZ_XYZW, 16, 0),
FORMAT(R16_SINT, R16I, R16I, SWIZ_X001, 16, 0),
FORMAT(R16_UINT, R16UI, R16UI, SWIZ_X001, 16, 0),
FORMAT(R16G16_SINT, RG16I, RG16I, SWIZ_XY01, 16, 0),
FORMAT(R16G16_UINT, RG16UI, RG16UI, SWIZ_XY01, 16, 0),
FORMAT(R16G16B16A16_SINT, RGBA16I, RGBA16I, SWIZ_XYZW, 16, 0),
FORMAT(R16G16B16A16_UINT, RGBA16UI, RGBA16UI, SWIZ_XYZW, 16, 0),
FORMAT(R32_SINT, R32I, R32I, SWIZ_X001, 32, 1),
FORMAT(R32_UINT, R32UI, R32UI, SWIZ_X001, 32, 1),
FORMAT(R32G32_SINT, RG32I, RG32I, SWIZ_XY01, 32, 2),
FORMAT(R32G32_UINT, RG32UI, RG32UI, SWIZ_XY01, 32, 2),
FORMAT(R32G32B32A32_SINT, RGBA32I, RGBA32I, SWIZ_XYZW, 32, 4),
FORMAT(R32G32B32A32_UINT, RGBA32UI, RGBA32UI, SWIZ_XYZW, 32, 4),
FORMAT(A8_SINT, R8I, R8I, SWIZ_000X, 16, 0),
FORMAT(A8_UINT, R8UI, R8UI, SWIZ_000X, 16, 0),
FORMAT(A16_SINT, R16I, R16I, SWIZ_000X, 16, 0),
FORMAT(A16_UINT, R16UI, R16UI, SWIZ_000X, 16, 0),
FORMAT(A32_SINT, R32I, R32I, SWIZ_000X, 32, 1),
FORMAT(A32_UINT, R32UI, R32UI, SWIZ_000X, 32, 1),
FORMAT(R11G11B10_FLOAT, R11F_G11F_B10F, R11F_G11F_B10F, SWIZ_XYZ1, 16, 0),
FORMAT(R9G9B9E5_FLOAT, NO, RGB9_E5, SWIZ_XYZ1, 16, 0),
#if V3D_VERSION >= 40
FORMAT(S8_UINT_Z24_UNORM, D24S8, DEPTH24_X8, SWIZ_XXXX, 32, 1),
FORMAT(X8Z24_UNORM, D24S8, DEPTH24_X8, SWIZ_XXXX, 32, 1),
FORMAT(S8X24_UINT, S8, RGBA8UI, SWIZ_XXXX, 16, 1),
FORMAT(Z32_FLOAT, D32F, DEPTH_COMP32F, SWIZ_XXXX, 32, 1),
FORMAT(Z16_UNORM, D16, DEPTH_COMP16,SWIZ_XXXX, 32, 1),
/* Pretend we support this, but it'll be separate Z32F depth and S8. */
FORMAT(Z32_FLOAT_S8X24_UINT, D32F, DEPTH_COMP32F, SWIZ_XXXX, 32, 1),
FORMAT(X32_S8X24_UINT, S8, R8UI, SWIZ_XXXX, 16, 1),
#else
FORMAT(S8_UINT_Z24_UNORM, ZS_DEPTH24_STENCIL8, DEPTH24_X8, SWIZ_XXXX, 32, 1),
FORMAT(X8Z24_UNORM, ZS_DEPTH24_STENCIL8, DEPTH24_X8, SWIZ_XXXX, 32, 1),
FORMAT(S8X24_UINT, NO, R32F, SWIZ_XXXX, 32, 1),
FORMAT(Z32_FLOAT, ZS_DEPTH_COMPONENT32F, R32F, SWIZ_XXXX, 32, 1),
FORMAT(Z16_UNORM, ZS_DEPTH_COMPONENT16, DEPTH_COMP16, SWIZ_XXXX, 32, 1),
/* Pretend we support this, but it'll be separate Z32F depth and S8. */
FORMAT(Z32_FLOAT_S8X24_UINT, ZS_DEPTH_COMPONENT32F, R32F, SWIZ_XXXX, 32, 1),
#endif
FORMAT(ETC2_RGB8, NO, RGB8_ETC2, SWIZ_XYZ1, 16, 0),
FORMAT(ETC2_SRGB8, NO, RGB8_ETC2, SWIZ_XYZ1, 16, 0),
FORMAT(ETC2_RGB8A1, NO, RGB8_PUNCHTHROUGH_ALPHA1, SWIZ_XYZW, 16, 0),
FORMAT(ETC2_SRGB8A1, NO, RGB8_PUNCHTHROUGH_ALPHA1, SWIZ_XYZW, 16, 0),
FORMAT(ETC2_RGBA8, NO, RGBA8_ETC2_EAC, SWIZ_XYZW, 16, 0),
FORMAT(ETC2_SRGBA8, NO, RGBA8_ETC2_EAC, SWIZ_XYZW, 16, 0),
FORMAT(ETC2_R11_UNORM, NO, R11_EAC, SWIZ_X001, 16, 0),
FORMAT(ETC2_R11_SNORM, NO, SIGNED_R11_EAC, SWIZ_X001, 16, 0),
FORMAT(ETC2_RG11_UNORM, NO, RG11_EAC, SWIZ_XY01, 16, 0),
FORMAT(ETC2_RG11_SNORM, NO, SIGNED_RG11_EAC, SWIZ_XY01, 16, 0),
FORMAT(DXT1_RGB, NO, BC1, SWIZ_XYZ1, 16, 0),
FORMAT(DXT1_SRGB, NO, BC1, SWIZ_XYZ1, 16, 0),
FORMAT(DXT1_RGBA, NO, BC1, SWIZ_XYZW, 16, 0),
FORMAT(DXT1_SRGBA, NO, BC1, SWIZ_XYZW, 16, 0),
FORMAT(DXT3_RGBA, NO, BC2, SWIZ_XYZW, 16, 0),
FORMAT(DXT3_SRGBA, NO, BC2, SWIZ_XYZW, 16, 0),
FORMAT(DXT5_RGBA, NO, BC3, SWIZ_XYZW, 16, 0),
FORMAT(DXT5_SRGBA, NO, BC3, SWIZ_XYZW, 16, 0),
};
const struct v3d_format *
v3dX(get_format_desc)(enum pipe_format f)
{
if (f < ARRAY_SIZE(format_table) && format_table[f].present)
return &format_table[f];
else
return NULL;
}
void
v3dX(get_internal_type_bpp_for_output_format)(uint32_t format,
uint32_t *type,
uint32_t *bpp)
{
switch (format) {
case V3D_OUTPUT_IMAGE_FORMAT_RGBA8:
#if V3D_VERSION < 41
case V3D_OUTPUT_IMAGE_FORMAT_RGBX8:
#endif
case V3D_OUTPUT_IMAGE_FORMAT_RGB8:
case V3D_OUTPUT_IMAGE_FORMAT_RG8:
case V3D_OUTPUT_IMAGE_FORMAT_R8:
case V3D_OUTPUT_IMAGE_FORMAT_ABGR4444:
case V3D_OUTPUT_IMAGE_FORMAT_BGR565:
case V3D_OUTPUT_IMAGE_FORMAT_ABGR1555:
*type = V3D_INTERNAL_TYPE_8;
*bpp = V3D_INTERNAL_BPP_32;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RGBA8I:
case V3D_OUTPUT_IMAGE_FORMAT_RG8I:
case V3D_OUTPUT_IMAGE_FORMAT_R8I:
*type = V3D_INTERNAL_TYPE_8I;
*bpp = V3D_INTERNAL_BPP_32;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RGBA8UI:
case V3D_OUTPUT_IMAGE_FORMAT_RG8UI:
case V3D_OUTPUT_IMAGE_FORMAT_R8UI:
*type = V3D_INTERNAL_TYPE_8UI;
*bpp = V3D_INTERNAL_BPP_32;
break;
case V3D_OUTPUT_IMAGE_FORMAT_SRGB8_ALPHA8:
case V3D_OUTPUT_IMAGE_FORMAT_SRGB:
case V3D_OUTPUT_IMAGE_FORMAT_RGB10_A2:
case V3D_OUTPUT_IMAGE_FORMAT_R11F_G11F_B10F:
#if V3D_VERSION < 41
case V3D_OUTPUT_IMAGE_FORMAT_SRGBX8:
#endif
case V3D_OUTPUT_IMAGE_FORMAT_RGBA16F:
/* Note that sRGB RTs are stored in the tile buffer at 16F,
* and the conversion to sRGB happens at tilebuffer
* load/store.
*/
*type = V3D_INTERNAL_TYPE_16F;
*bpp = V3D_INTERNAL_BPP_64;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RG16F:
case V3D_OUTPUT_IMAGE_FORMAT_R16F:
*type = V3D_INTERNAL_TYPE_16F;
/* Use 64bpp to make sure the TLB doesn't throw away the alpha
* channel before alpha test happens.
*/
*bpp = V3D_INTERNAL_BPP_64;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RGBA16I:
*type = V3D_INTERNAL_TYPE_16I;
*bpp = V3D_INTERNAL_BPP_64;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RG16I:
case V3D_OUTPUT_IMAGE_FORMAT_R16I:
*type = V3D_INTERNAL_TYPE_16I;
*bpp = V3D_INTERNAL_BPP_32;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RGB10_A2UI:
case V3D_OUTPUT_IMAGE_FORMAT_RGBA16UI:
*type = V3D_INTERNAL_TYPE_16UI;
*bpp = V3D_INTERNAL_BPP_64;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RG16UI:
case V3D_OUTPUT_IMAGE_FORMAT_R16UI:
*type = V3D_INTERNAL_TYPE_16UI;
*bpp = V3D_INTERNAL_BPP_32;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RGBA32I:
*type = V3D_INTERNAL_TYPE_32I;
*bpp = V3D_INTERNAL_BPP_128;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RG32I:
*type = V3D_INTERNAL_TYPE_32I;
*bpp = V3D_INTERNAL_BPP_64;
break;
case V3D_OUTPUT_IMAGE_FORMAT_R32I:
*type = V3D_INTERNAL_TYPE_32I;
*bpp = V3D_INTERNAL_BPP_32;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RGBA32UI:
*type = V3D_INTERNAL_TYPE_32UI;
*bpp = V3D_INTERNAL_BPP_128;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RG32UI:
*type = V3D_INTERNAL_TYPE_32UI;
*bpp = V3D_INTERNAL_BPP_64;
break;
case V3D_OUTPUT_IMAGE_FORMAT_R32UI:
*type = V3D_INTERNAL_TYPE_32UI;
*bpp = V3D_INTERNAL_BPP_32;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RGBA32F:
*type = V3D_INTERNAL_TYPE_32F;
*bpp = V3D_INTERNAL_BPP_128;
break;
case V3D_OUTPUT_IMAGE_FORMAT_RG32F:
*type = V3D_INTERNAL_TYPE_32F;
*bpp = V3D_INTERNAL_BPP_64;
break;
case V3D_OUTPUT_IMAGE_FORMAT_R32F:
*type = V3D_INTERNAL_TYPE_32F;
*bpp = V3D_INTERNAL_BPP_32;
break;
default:
/* Provide some default values, as we'll be called at RB
* creation time, even if an RB with this format isn't
* supported.
*/
*type = V3D_INTERNAL_TYPE_8;
*bpp = V3D_INTERNAL_BPP_32;
break;
}
}
bool
v3dX(tfu_supports_tex_format)(enum V3DX(Texture_Data_Formats) format,
bool for_mipmap)
{
switch (format) {
case TEXTURE_DATA_FORMAT_R8:
case TEXTURE_DATA_FORMAT_R8_SNORM:
case TEXTURE_DATA_FORMAT_RG8:
case TEXTURE_DATA_FORMAT_RG8_SNORM:
case TEXTURE_DATA_FORMAT_RGBA8:
case TEXTURE_DATA_FORMAT_RGBA8_SNORM:
case TEXTURE_DATA_FORMAT_RGB565:
case TEXTURE_DATA_FORMAT_RGBA4:
case TEXTURE_DATA_FORMAT_RGB5_A1:
case TEXTURE_DATA_FORMAT_RGB10_A2:
case TEXTURE_DATA_FORMAT_R16:
case TEXTURE_DATA_FORMAT_R16_SNORM:
case TEXTURE_DATA_FORMAT_RG16:
case TEXTURE_DATA_FORMAT_RG16_SNORM:
case TEXTURE_DATA_FORMAT_RGBA16:
case TEXTURE_DATA_FORMAT_RGBA16_SNORM:
case TEXTURE_DATA_FORMAT_R16F:
case TEXTURE_DATA_FORMAT_RG16F:
case TEXTURE_DATA_FORMAT_RGBA16F:
case TEXTURE_DATA_FORMAT_R11F_G11F_B10F:
case TEXTURE_DATA_FORMAT_R4:
return true;
case TEXTURE_DATA_FORMAT_RGB9_E5:
case TEXTURE_DATA_FORMAT_R32F:
case TEXTURE_DATA_FORMAT_RG32F:
case TEXTURE_DATA_FORMAT_RGBA32F:
return !for_mipmap;
default:
return false;
}
}

46
gui/pango/build.sh Normal file
View file

@ -0,0 +1,46 @@
pkgname=pango
_pkgver=1.48
pkgver=$_pkgver.10
fetch() {
curl -L "https://download.gnome.org/sources/pango/$_pkgver/pango-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/build
cd $pkgname-$pkgver
rm -rf subprojects
: > tests/meson.build
: > examples/meson.build
: > docs/meson.build
patch -p1 < ../../no-fribidi.patch
}
build() {
cd $pkgname-$pkgver
cd build
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib \
-Dgir=false \
-Dgtk_doc=false \
-Dxft=disabled \
-Dintrospection=disabled \
-Dinstall_tests=false
samu
}
package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

228
gui/pango/no-fribidi.patch Normal file
View file

@ -0,0 +1,228 @@
diff --git a/meson.build b/meson.build
index 6d8de0b..93141b0 100644
--- a/meson.build
+++ b/meson.build
@@ -191,7 +191,6 @@ endif
pango_deps = []
glib_req_version = '>= 2.62'
-fribidi_req_version = '>= 1.0.6'
libthai_req_version = '>= 0.1.9'
harfbuzz_req_version = '>= 2.2.0'
fontconfig_req_version = '>= 2.11.91'
@@ -211,10 +210,6 @@ gio_dep = dependency('gio-2.0', version: glib_req_version,
fallback: ['glib', 'libgio_dep'])
pango_deps += [glib_dep, gobject_dep, gio_dep]
-fribidi_dep = dependency('fribidi', version: fribidi_req_version,
- fallback: ['fribidi', 'libfribidi_dep'],
- default_options: ['docs=false'])
-pango_deps += fribidi_dep
thai_dep = dependency('libthai', version: libthai_req_version, required: get_option('libthai'))
if thai_dep.found()
diff --git a/pango/pango-bidi-type.c b/pango/pango-bidi-type.c
index 32858f7..ca8adfc 100644
--- a/pango/pango-bidi-type.c
+++ b/pango/pango-bidi-type.c
@@ -23,13 +23,20 @@
#include <string.h>
-#include <fribidi.h>
-
#undef PANGO_DISABLE_DEPRECATED
#include "pango-bidi-type.h"
#include "pango-utils.h"
+typedef uint32_t FriBidiChar;
+typedef uint32_t FriBidiCharType;
+typedef uint32_t FriBidiBracketType;
+typedef int FriBidiStrIndex;
+typedef int FriBidiParType;
+typedef signed char FriBidiLevel;
+
+#define FRIBIDI_PAR_LTR (0x00000010L | 0x00000100L)
+
/**
* pango_bidi_type_for_unichar:
* @ch: a Unicode character
@@ -48,40 +55,7 @@
PangoBidiType
pango_bidi_type_for_unichar (gunichar ch)
{
- FriBidiCharType fribidi_ch_type;
-
- G_STATIC_ASSERT (sizeof (FriBidiChar) == sizeof (gunichar));
-
- fribidi_ch_type = fribidi_get_bidi_type (ch);
-
- switch (fribidi_ch_type)
- {
- case FRIBIDI_TYPE_LTR: return PANGO_BIDI_TYPE_L;
- case FRIBIDI_TYPE_LRE: return PANGO_BIDI_TYPE_LRE;
- case FRIBIDI_TYPE_LRO: return PANGO_BIDI_TYPE_LRO;
- case FRIBIDI_TYPE_RTL: return PANGO_BIDI_TYPE_R;
- case FRIBIDI_TYPE_AL: return PANGO_BIDI_TYPE_AL;
- case FRIBIDI_TYPE_RLE: return PANGO_BIDI_TYPE_RLE;
- case FRIBIDI_TYPE_RLO: return PANGO_BIDI_TYPE_RLO;
- case FRIBIDI_TYPE_PDF: return PANGO_BIDI_TYPE_PDF;
- case FRIBIDI_TYPE_EN: return PANGO_BIDI_TYPE_EN;
- case FRIBIDI_TYPE_ES: return PANGO_BIDI_TYPE_ES;
- case FRIBIDI_TYPE_ET: return PANGO_BIDI_TYPE_ET;
- case FRIBIDI_TYPE_AN: return PANGO_BIDI_TYPE_AN;
- case FRIBIDI_TYPE_CS: return PANGO_BIDI_TYPE_CS;
- case FRIBIDI_TYPE_NSM: return PANGO_BIDI_TYPE_NSM;
- case FRIBIDI_TYPE_BN: return PANGO_BIDI_TYPE_BN;
- case FRIBIDI_TYPE_BS: return PANGO_BIDI_TYPE_B;
- case FRIBIDI_TYPE_SS: return PANGO_BIDI_TYPE_S;
- case FRIBIDI_TYPE_WS: return PANGO_BIDI_TYPE_WS;
- case FRIBIDI_TYPE_ON: return PANGO_BIDI_TYPE_ON;
- case FRIBIDI_TYPE_LRI: return PANGO_BIDI_TYPE_LRI;
- case FRIBIDI_TYPE_RLI: return PANGO_BIDI_TYPE_RLI;
- case FRIBIDI_TYPE_FSI: return PANGO_BIDI_TYPE_FSI;
- case FRIBIDI_TYPE_PDI: return PANGO_BIDI_TYPE_PDI;
- default:
- return PANGO_BIDI_TYPE_ON;
- }
+ return PANGO_BIDI_TYPE_L;
}
/* Some bidi-related functions */
@@ -116,36 +90,12 @@ pango_log2vis_get_embedding_levels (const gchar *text,
glong n_chars, i;
guint8 *embedding_levels_list;
const gchar *p;
- FriBidiParType fribidi_base_dir;
FriBidiCharType *bidi_types;
FriBidiBracketType *bracket_types;
- FriBidiLevel max_level;
- FriBidiCharType ored_types = 0;
- FriBidiCharType anded_strongs = FRIBIDI_TYPE_RLE;
G_STATIC_ASSERT (sizeof (FriBidiLevel) == sizeof (guint8));
G_STATIC_ASSERT (sizeof (FriBidiChar) == sizeof (gunichar));
- switch (*pbase_dir)
- {
- case PANGO_DIRECTION_LTR:
- case PANGO_DIRECTION_TTB_RTL:
- fribidi_base_dir = FRIBIDI_PAR_LTR;
- break;
- case PANGO_DIRECTION_RTL:
- case PANGO_DIRECTION_TTB_LTR:
- fribidi_base_dir = FRIBIDI_PAR_RTL;
- break;
- case PANGO_DIRECTION_WEAK_RTL:
- fribidi_base_dir = FRIBIDI_PAR_WRTL;
- break;
- case PANGO_DIRECTION_WEAK_LTR:
- case PANGO_DIRECTION_NEUTRAL:
- default:
- fribidi_base_dir = FRIBIDI_PAR_WLTR;
- break;
- }
-
if (length < 0)
length = strlen (text);
@@ -157,20 +107,11 @@ pango_log2vis_get_embedding_levels (const gchar *text,
for (i = 0, p = text; p < text + length; p = g_utf8_next_char(p), i++)
{
- gunichar ch = g_utf8_get_char (p);
- FriBidiCharType char_type = fribidi_get_bidi_type (ch);
-
if (i == n_chars)
break;
- bidi_types[i] = char_type;
- ored_types |= char_type;
- if (FRIBIDI_IS_STRONG (char_type))
- anded_strongs &= char_type;
- if (G_UNLIKELY(bidi_types[i] == FRIBIDI_TYPE_ON))
- bracket_types[i] = fribidi_get_bracket (ch);
- else
- bracket_types[i] = FRIBIDI_NO_BRACKET;
+ bidi_types[i] = FRIBIDI_PAR_LTR;
+ bracket_types[i] = 0;
}
/* Short-circuit (malloc-expensive) FriBidi call for unidirectional
@@ -187,56 +128,12 @@ pango_log2vis_get_embedding_levels (const gchar *text,
* o base_dir doesn't have an RTL taste.
* o there are letters, and base_dir is weak.
*/
- if (!FRIBIDI_IS_ISOLATE (ored_types) &&
- !FRIBIDI_IS_RTL (ored_types) &&
- !FRIBIDI_IS_ARABIC (ored_types) &&
- (!FRIBIDI_IS_RTL (fribidi_base_dir) ||
- (FRIBIDI_IS_WEAK (fribidi_base_dir) &&
- FRIBIDI_IS_LETTER (ored_types))
- ))
- {
- /* all LTR */
- fribidi_base_dir = FRIBIDI_PAR_LTR;
memset (embedding_levels_list, 0, n_chars);
- goto resolved;
- }
- /* The case that all resolved levels will be RTL is much more complex.
- * No isolates, no numbers, all strongs are RTL, and one of
- * the following:
- *
- * o base_dir has an RTL taste (may be weak).
- * o there are letters, and base_dir is weak.
- */
- else if (!FRIBIDI_IS_ISOLATE (ored_types) &&
- !FRIBIDI_IS_NUMBER (ored_types) &&
- FRIBIDI_IS_RTL (anded_strongs) &&
- (FRIBIDI_IS_RTL (fribidi_base_dir) ||
- (FRIBIDI_IS_WEAK (fribidi_base_dir) &&
- FRIBIDI_IS_LETTER (ored_types))
- ))
- {
- /* all RTL */
- fribidi_base_dir = FRIBIDI_PAR_RTL;
- memset (embedding_levels_list, 1, n_chars);
- goto resolved;
- }
-
-
- max_level = fribidi_get_par_embedding_levels_ex (bidi_types, bracket_types, n_chars,
- &fribidi_base_dir,
- (FriBidiLevel*)embedding_levels_list);
-
- if (G_UNLIKELY(max_level == 0))
- {
- /* fribidi_get_par_embedding_levels() failed. */
- memset (embedding_levels_list, 0, length);
- }
-resolved:
g_free (bidi_types);
g_free (bracket_types);
- *pbase_dir = (fribidi_base_dir == FRIBIDI_PAR_LTR) ? PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL;
+ *pbase_dir = PANGO_DIRECTION_LTR;
return embedding_levels_list;
}
@@ -260,17 +157,6 @@ resolved:
PangoDirection
pango_unichar_direction (gunichar ch)
{
- FriBidiCharType fribidi_ch_type;
-
- G_STATIC_ASSERT (sizeof (FriBidiChar) == sizeof (gunichar));
-
- fribidi_ch_type = fribidi_get_bidi_type (ch);
-
- if (!FRIBIDI_IS_STRONG (fribidi_ch_type))
- return PANGO_DIRECTION_NEUTRAL;
- else if (FRIBIDI_IS_RTL (fribidi_ch_type))
- return PANGO_DIRECTION_RTL;
- else
return PANGO_DIRECTION_LTR;
}

View file

@ -1,14 +1,10 @@
pkgname=pipewire
pkgver=0.3.27
pkgver=0.3.42
fetch() {
curl "https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/$pkgver/pipewire-$pkgver.tar.bz2" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
curl "https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/$pkgver/pipewire-$pkgver.tar.bz2" -o $pkgname-$pkgver.tar.bz2
tar -xf $pkgname-$pkgver.tar.bz2
mkdir $pkgname-$pkgver/build
cp ../no-dbus.patch .
cd $pkgname-$pkgver
patch -p1 < ../no-dbus.patch
}
build() {
@ -18,13 +14,44 @@ build() {
--buildtype=release \
--prefix=/usr \
--libexecdir=lib \
-Dbluez5=disabled \
-Dlibcamera=disabled \
-Ddocs=disabled \
-Dexamples=disabled \
-Dman=disabled \
-Dinstalled_tests=disabled \
-Dgstreamer=disabled \
-Dsystemd=disabled \
-Dpipewire-jack=disabled \
-Dpipewire-alsa=enabled \
-Dpipewire-v4l2=disabled \
-Dspa-plugins=enabled \
-Dalsa=enabled \
-Daudiomixer=enabled \
-Dbluez5=disabled \
-Dcontrol=enabled \
-Daudiotestsrc=enabled \
-Dffmpeg=disabled \
-Djack=disabled \
-Dsupport=enabled \
-Devl=disabled \
-Dv4l2=disabled \
-Ddbus=enabled \
-Dlibcamera=disabled \
-Dvideoconvert=disabled \
-Dvideotestsrc=disabled \
-Dvolume=enabled \
-Dvulkan=disabled \
-Dpw-cat=disabled \
-Dudev=disabled \
-Dsdl2=disabled \
-Dsndfile=disabled \
-Dlibpulse=disabled \
-Dmedia-session=enabled \
-Dpw-cat=enabled
-Droc=disabled \
-Davahi=disabled \
-Dlibusb=disabled \
-Draop=disabled \
-Dlv2=disabled \
-Dsession-managers="[]"
samu
}
@ -34,6 +61,10 @@ package() {
DESTDIR=$pkgdir samu install
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat COPYING

View file

@ -1,84 +0,0 @@
--- a/meson.build
+++ b/meson.build
@@ -306,7 +306,7 @@
rt_lib = cc.find_library('rt', required : false) # clock_gettime
dl_lib = cc.find_library('dl', required : false)
pthread_lib = dependency('threads')
-dbus_dep = dependency('dbus-1')
+dbus_dep = dependency('dbus-1', required : false)
sdl_dep = dependency('sdl2', required : get_option('sdl2'))
ncurses_dep = dependency('ncursesw', required : false)
sndfile_dep = dependency('sndfile', version : '>= 1.0.20', required : get_option('sndfile'))
--- a/src/modules/meson.build
+++ b/src/modules/meson.build
@@ -110,30 +110,30 @@
dependencies : pipewire_module_protocol_deps,
)
-pipewire_module_protocol_pulse_deps = pipewire_module_protocol_deps
-
if dbus_dep.found()
+ pipewire_module_protocol_pulse_deps = pipewire_module_protocol_deps
+
pipewire_module_protocol_pulse_deps += dbus_dep
-endif
-pipewire_module_protocol_pulse = shared_library('pipewire-module-protocol-pulse',
- [ 'module-protocol-pulse.c',
- 'module-protocol-pulse/manager.c',
- 'module-protocol-pulse/pulse-server.c',
- 'module-protocol-pulse/modules/module-loopback.c',
- 'module-protocol-pulse/modules/module-native-protocol-tcp.c',
- 'module-protocol-pulse/modules/module-null-sink.c',
- 'module-protocol-pulse/modules/module-remap-sink.c',
- 'module-protocol-pulse/modules/module-remap-source.c',
- 'module-protocol-pulse/modules/module-simple-protocol-tcp.c',
- ],
- c_args : pipewire_module_c_args,
- include_directories : [configinc, spa_inc],
- install : true,
- install_dir : modules_install_dir,
- install_rpath: modules_install_dir,
- dependencies : pipewire_module_protocol_pulse_deps,
-)
+ pipewire_module_protocol_pulse = shared_library('pipewire-module-protocol-pulse',
+ [ 'module-protocol-pulse.c',
+ 'module-protocol-pulse/manager.c',
+ 'module-protocol-pulse/pulse-server.c',
+ 'module-protocol-pulse/modules/module-loopback.c',
+ 'module-protocol-pulse/modules/module-native-protocol-tcp.c',
+ 'module-protocol-pulse/modules/module-null-sink.c',
+ 'module-protocol-pulse/modules/module-remap-sink.c',
+ 'module-protocol-pulse/modules/module-remap-source.c',
+ 'module-protocol-pulse/modules/module-simple-protocol-tcp.c',
+ ],
+ c_args : pipewire_module_c_args,
+ include_directories : [configinc, spa_inc],
+ install : true,
+ install_dir : modules_install_dir,
+ install_rpath: modules_install_dir,
+ dependencies : pipewire_module_protocol_pulse_deps,
+ )
+endif
pipewire_module_protocol_simple = shared_library('pipewire-module-protocol-simple',
[ 'module-protocol-simple.c' ],
--- a/spa/plugins/support/meson.build
+++ b/spa/plugins/support/meson.build
@@ -32,6 +32,7 @@
install_dir : spa_plugindir / 'support')
endif
+if dbus_dep.found()
spa_dbus_sources = ['dbus.c']
spa_dbus_lib = shared_library('spa-dbus',
@@ -40,7 +41,7 @@
dependencies : [dbus_dep, ],
install : true,
install_dir : spa_plugindir / 'support')
-
+endif
if systemd_dep.found()
spa_journal_sources = ['journal.c']

View file

@ -1,5 +1,5 @@
pkgname=seatd
pkgver=0.5.0
pkgver=0.6.3
fetch() {
curl "https://git.sr.ht/~kennylevinsen/seatd/archive/$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
@ -25,6 +25,10 @@ package() {
DESTDIR=$pkgdir samu install
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat LICENSE

View file

@ -2,33 +2,28 @@ pkgname=sway
pkgver=master
fetch() {
curl -L "https://github.com/DCVIII/sway/archive/refs/heads/master.tar.gz" -o $pkgname-$pkgver.tar.gz
# local wlroots isn't new enough
curl -L "https://github.com/swaywm/wlroots/archive/refs/heads/master.tar.gz" -o wlroots-master.tar.gz
# curl -L "https://github.com/swaywm/sway/releases/download/$pkgver/sway-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
curl -L "https://github.com/swaywm/sway/archive/refs/heads/master.tar.gz" -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
tar -xf wlroots-master.tar.gz
mkdir $pkgname-$pkgver/subprojects
mv wlroots-master $pkgname-$pkgver/subprojects/wlroots
mkdir $pkgname-$pkgver/build
cd $pkgname-$pkgver
}
build() {
cd $pkgname-$pkgver
cd build
CFLAGS=-'Wno-unused-const-variable -Wno-unused-function -Wno-error' \
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib \
-Dexamples=false \
-Ddefault-wallpaper=true \
-Dzsh-completions=true \
-Dbash-completions=false \
-Dfish-completions=false \
-Dxwayland=disabled \
-Dxcb-errors=disabled \
-Dxcb-icccm=disbeld \
-Dwlroots:examples=false \
-Dwlroots:xcb-errors=disabled \
-Dwlroots:x11-backend=disabled \
-Dwlroots:default_library=static
-Dtray=disabled \
-Dgdk-pixbuf=disabled \
-Dman-pages=disabled
samu
}
@ -36,9 +31,10 @@ package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
}
rm -rf $pkgdir/usr/lib/
rm -rf $pkgdir/usr/include/
backup() {
echo /etc/sway/config
}
license() {

30
gui/swaybg/build.sh Normal file
View file

@ -0,0 +1,30 @@
pkgname=swaybg
pkgver=1.1
fetch() {
curl -L "https://github.com/swaywm/swaybg/releases/download/v$pkgver/swaybg-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
mkdir $pkgname-$pkgver/build
}
build() {
cd $pkgname-$pkgver
cd build
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib
samu
}
package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

View file

@ -1,8 +1,8 @@
pkgname=vulkan-headers
pkgver=1.2.182
pkgver=1.2.196
fetch() {
curl -L "https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.2.182.tar.gz" -o $pkgname-$pkgver.tar.xz
curl -L "https://github.com/KhronosGroup/Vulkan-Headers/archive/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mv Vulkan-Headers-$pkgver $pkgname-$pkgver
mkdir $pkgname-$pkgver/build

View file

@ -1,21 +1,31 @@
pkgname=wayland-protocols
pkgver=1.21
deps="pkgconf:wayland"
pkgver=1.24
deps="musl:pkgconf:wayland"
fetch() {
curl "https://wayland.freedesktop.org/releases/wayland-protocols-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/build
}
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr
make
cd build
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib
samu
}
package() {
cd $pkgname-$pkgver
make DESTDIR=$pkgdir install
cd build
DESTDIR=$pkgdir samu install
}
backup() {
return
}
license() {

View file

@ -1,9 +1,8 @@
pkgname=wayland
pkgver=1.19.0
deps="libxml2"
pkgver=1.20.0
fetch() {
curl "https://wayland.freedesktop.org/releases/wayland-1.19.0.tar.xz" -o $pkgname-$pkgver.tar.xz
curl "https://wayland.freedesktop.org/releases/wayland-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/build
}
@ -14,7 +13,11 @@ build() {
meson .. \
--buildtype=release \
--prefix=/usr \
-Ddocumentation=false
-Dlibraries=true \
-Dscanner=true \
-Dtests=false \
-Ddocumentation=false \
-Ddtd_validation=false
samu
}
@ -24,6 +27,10 @@ package() {
DESTDIR=$pkgdir samu install
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat COPYING

View file

@ -1,9 +1,8 @@
pkgname=wlroots
pkgver=0.14.0
ext="dev"
pkgver=0.15.0
fetch() {
curl -L "https://github.com/swaywm/wlroots/releases/download/$pkgver/wlroots-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
curl -L "https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/$pkgver/wlroots-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/build
}
@ -15,7 +14,11 @@ build() {
--buildtype=release \
--prefix=/usr \
--libexecdir=lib \
-Dlibseat=enabled
-Dxcb-errors=disabled \
-Dxwayland=disabled \
-Dexamples=false \
-Drenderers="['gles2', 'vulkan']" \
-Dbackends="['drm', 'libinput']"
samu
}
@ -23,16 +26,10 @@ package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
rm -r $pkgdir/usr/include
rm -r $pkgdir/usr/lib/pkgconfig
}
package_dev() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
rm $pkgdir/usr/lib/*.so
rm $pkgdir/usr/lib/*.so.*
backup() {
return
}
license() {

View file

@ -0,0 +1,30 @@
pkgname=xkeyboard-config
pkgver=2.33
fetch() {
curl "https://xorg.freedesktop.org/archive/individual/data/$pkgname/$pkgname-$pkgver.tar.bz2" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/build
}
build() {
cd $pkgname-$pkgver
cd build
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib
samu
}
package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

View file

@ -1,4 +1,4 @@
pkgver=1.34.0
pkgver=1.34.1
pkgname=busybox
bad=gmake
deps="musl"
@ -7,14 +7,17 @@ pkgrel=1
fetch() {
curl "https://busybox.net/downloads/busybox-$pkgver.tar.bz2" -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
cd $pkgname-$pkgver
patch -p1 < ../../clang-fix.patch
patch -p1 < ../../modprobe.patch
# cp ../man.sh .
}
build() {
cd $pkgname-$pkgver
gmake HOSTCC=cc CC=cc CFLAGS=-O0 defconfig
gmake HOSTCC=cc CC=cc CFLAGS=-O0
gmake HOSTCC=cc CC=cc CFLAGS=-O0 install
gmake HOSTCC=cc CC=cc defconfig
gmake HOSTCC=cc CC=cc
gmake HOSTCC=cc CC=cc install
}
package() {

View file

@ -0,0 +1 @@
<html><body>You are being <a href="https://raw.githubusercontent.com/kisslinux/repo/master/core/busybox/patches/fix-UB.patch">redirected</a>.</body></html>

View file

View file

@ -1,18 +1,20 @@
pkgver=5.14.7
pkgver=5.15
pkgname=linux
pkgrel=1
ext="dev"
fetch() {
curl "https://raw.githubusercontent.com/kisslinux/website/master/site/dist/kernel-no-perl.patch" -o kernel-no-perl.patch
return
# curl "https://raw.githubusercontent.com/kisslinux/website/master/site/dist/kernel-no-perl.patch" -o kernel-no-perl.patch
curl "https://cdn.kernel.org/pub/linux/kernel/v5.x/$pkgname-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
cd $pkgname-$pkgver
# use Alpine's kernel config so we don't have to maintain one
# curl "https://git.alpinelinux.org/aports/plain/community/linux-edge/config-edge.$(uname -m)" -o .config
patch -p1 < ../kernel-no-perl.patch
# patch -p1 < ../kernel-no-perl.patch
patch -p1 < ../../kernel-byacc.patch
patch -p1 < ../../v3d-enable.patch
# patch -p1 < ../../reflex.patch
}
@ -23,28 +25,27 @@ esac
build() {
cd $pkgname-$pkgver
gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch defconfig
gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch localmodconfig
return
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch defconfig
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch localmodconfig
# gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ LEX=lex YACC=yacc LLVM_IAS=1 menuconfig
# cp .config ../../$(uname -m).config.new
sed -i 's/CONFIG_UNWINDER_ORC=y/# CONFIG_UNWINDER_ORC is not set/g' .config
sed -i 's/# CONFIG_UNWINDER_FRAME_POINTER is not set/CONFIG_UNWINDER_FRAME_POINTER=y/g' .config
gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch
}
package() {
cd $pkgname-$pkgver
install -d $pkgdir/boot
gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch INSTALL_PATH=$pkgdir/boot install
gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch INSTALL_MOD_PATH=$pkgdir/ modules_install
}
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch INSTALL_PATH=$pkgdir/boot install
bad --gmake gmake CC=cc HOSTCC=cc LEX=flex YACC=yacc LLVM=1 LLVM_IAS=1 ARCH=$_arch INSTALL_DTBS_PATH=$pkgdir/boot dtbs_install
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch INSTALL_MOD_PATH=$pkgdir/ modules_install
package_dev() {
cd $pkgname-$pkgver
if stat /usr/bin/rsync 2>/dev/null /dev/null; then
gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch INSTALL_HDR_PATH=$pkgdir/usr headers_install
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch INSTALL_HDR_PATH=$pkgdir/usr headers_install
else
gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch headers
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch headers
find -name '.*' -exec rm {} \;
rm usr/include/Makefile
install -d $pkgdir/usr/
@ -52,6 +53,10 @@ package_dev() {
fi
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat COPYING

View file

@ -0,0 +1,30 @@
From 24662c14b45852c2d5fc4721b1494bce8345319d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 15 Aug 2019 12:02:34 +0100
Subject: [PATCH] configs: arm64/bcm2711: Enable V3D
Enable the V3D driver, which depends on BCM2835_POWER.
Originally submitted by GitHub user 'phire' in a slightly different
form.
See: https://github.com/raspberrypi/linux/pull/3063
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
drivers/gpu/drm/v3d/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/v3d/Kconfig b/drivers/gpu/drm/v3d/Kconfig
index 9a5c44606337e..b0e0486979642 100644
--- a/drivers/gpu/drm/v3d/Kconfig
+++ b/drivers/gpu/drm/v3d/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_V3D
tristate "Broadcom V3D 3.x and newer"
- depends on ARCH_BCM || ARCH_BCMSTB || COMPILE_TEST
+ depends on ARCH_BCM || ARCH_BCMSTB || ARCH_BCM2835 || COMPILE_TEST
depends on DRM
depends on COMMON_CLK
depends on MMU

View file

@ -1,15 +1,12 @@
pkgver=1.20210303-1
pkgver=1.20211007
pkgname=raspberrypi-linux
ext="dev"
fetch() {
curl "https://raw.githubusercontent.com/kisslinux/website/master/site/dist/kernel-no-perl.patch" -o kernel-no-perl.patch
curl -L "https://github.com/raspberrypi/linux/archive/refs/tags/raspberrypi-kernel_$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
curl -L "https://github.com/raspberrypi/linux/archive/refs/tags/$pkgver.tar.gz" -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
mv linux-raspberrypi-kernel_$pkgver $pkgname-$pkgver
cd $pkgname-$pkgver
patch -p1 < ../kernel-no-perl.patch
patch -p1 < ../../kernel-byacc.patch
# patch -p1 < ../../reflex.patch
}
@ -30,20 +27,23 @@ package() {
mv $pkgdir/boot/broadcom/* $pkgdir/boot/
rmdir $pkgdir/boot/broadcom
}
package_dev() {
cd $pkgname-$pkgver
if stat /usr/bin/rsync 2>/dev/null /dev/null; then
echo "using rsync"
gmake ARCH=arm64 CC=cc HOSTCC=cc LEX=flex YACC=yacc LLVM=1 LLVM_IAS=1 INSTALL_HDR_PATH=$pkgdir/usr headers_install
else
gmake ARCH=arm64 CC=cc HOSTCC=cc LEX=flex YACC=yacc LLVM=1 LLVM_IAS=1 headers
find -name '.*' -exec rm {} \;
rm usr/include/Makefile
cp -r usr/include $pkgdir/usr
install -d $pkgdir/usr/
cp -r usr/include $pkgdir/usr/
fi
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat COPYING

View file

@ -0,0 +1,50 @@
pkgver=rpi-5.10.y
pkgname=linux
pkgrel=1
ext="dev"
fetch() {
fetch_tar "$pkgname-$pkgver.tar.gz" f633fabf55892cf19fc9173d2b8df779 "https://github.com/raspberrypi/linux/archive/refs/heads/$pkgver.tar.gz"
cd $pkgname-$pkgver
patch -p1 < ../../kernel-byacc.patch
curl 'https://cgit.freedesktop.org/drm/drm/patch/?id=26a4dc29b74a137f45665089f6d3d633fcc9b662' | patch -p1
}
_arch=$ARCH
case $_arch in
aarch64*) _arch="arm64" ;;
esac
build() {
cd $pkgname-$pkgver
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch bcm2711_defconfig
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch
}
package() {
cd $pkgname-$pkgver
install -d $pkgdir/boot
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch INSTALL_PATH=$pkgdir/boot install
bad --gmake gmake CC=cc HOSTCC=cc LEX=flex YACC=yacc LLVM=1 LLVM_IAS=1 ARCH=$_arch INSTALL_DTBS_PATH=$pkgdir/boot dtbs_install
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch INSTALL_MOD_PATH=$pkgdir/ modules_install
if stat /usr/bin/rsync 2>/dev/null /dev/null; then
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch INSTALL_HDR_PATH=$pkgdir/usr headers_install
else
bad --gmake gmake CC=cc CXX=c++ HOSTCC=cc HOSTCXX=c++ YACC=yacc LLVM_IAS=1 ARCH=$_arch headers
find -name '.*' -exec rm {} \;
rm usr/include/Makefile
install -d $pkgdir/usr/
cp -r usr/include $pkgdir/usr/
fi
}
backup() {
return
}
license() {
cd $pkgname-$pkgver
cat COPYING
}

View file

@ -0,0 +1,35 @@
diff --git a/scripts/Makefile.host b/scripts/Makefile.host
index 4c51c95d40f4..64e98e1d4825 100644
--- a/scripts/Makefile.host
+++ b/scripts/Makefile.host
@@ -11,7 +11,7 @@ $(obj)/%.lex.c: $(src)/%.l FORCE
# YACC
# ---------------------------------------------------------------------------
quiet_cmd_bison = YACC $(basename $@).[ch]
- cmd_bison = $(YACC) -o $(basename $@).c --defines=$(basename $@).h -t -l $<
+ cmd_bison = $(YACC) -b $(basename $(basename $@)) -d -t -l $<
$(obj)/%.tab.c $(obj)/%.tab.h: $(src)/%.y FORCE
$(call if_changed,bison)
--- a/scripts/genksyms/Makefile
+++ b/scripts/genksyms/Makefile
@@ -14,7 +14,7 @@
ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
quiet_cmd_bison_no_warn = $(quiet_cmd_bison)
- cmd_bison_no_warn = $(YACC) --version >/dev/null; \
+ cmd_bison_no_warn = $(YACC) -V >/dev/null; \
$(cmd_bison) 2>/dev/null
$(obj)/pars%.tab.c $(obj)/pars%.tab.h: $(src)/pars%.y FORCE
--- a/scripts/genksyms/lex.l
+++ b/scripts/genksyms/lex.l
@@ -19,6 +19,8 @@
#include "genksyms.h"
#include "parse.tab.h"
+extern YYSTYPE yylval;
+
/* We've got a two-level lexer here. We let flex do basic tokenization
and then we categorize those basic tokens in the second stage. */
#define YY_DECL static int yylex1(void)

28
pkgs/cava/build.sh Normal file
View file

@ -0,0 +1,28 @@
pkgname=cava
pkgver=0.7.4
fetch() {
curl -L "https://github.com/karlstav/cava/archive/refs/tags/$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
}
build() {
cd $pkgname-$pkgver
./configure \
--prefix=/usr \
--build=$TRIPLE \
--host=$TRIPLE
make
}
package() {
cd $pkgname-$pkgver
make install DESTDIR=$pkgdir
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

32
pkgs/imv/build.sh Normal file
View file

@ -0,0 +1,32 @@
pkgname=imv
pkgver=4.2.0
fetch() {
curl -L "https://github.com/eXeC64/imv/archive/refs/tags/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/build
}
build() {
cd $pkgname-$pkgver
cd build
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib \
-Dlibrsvg=disabled \
-Dwindows=wayland
samu
}
package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

View file

@ -1,24 +0,0 @@
pkgname=kak-lsp
pkgver=9.0.0
fetch() {
curl -L "https://github.com/kak-lsp/kak-lsp/archive/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
}
build() {
cd $pkgname-$pkgver
cargo build --release --locked --all-features
}
package() {
cd $pkgname-$pkgver
install -Dm755 target/release/$pkgname $pkgdir/usr/bin/
install -Dm644 rc/lsp.kak $pkgdir/usr/share/kak-lsp/rc/
install -Dm644 kak-lsp.toml $pkgdir/usr/share/kak-lsp/examples/
}
license() {
cd $pkgname-$pkgver
cat UNLICENSE
}

31
pkgs/libslirp/build.sh Normal file
View file

@ -0,0 +1,31 @@
pkgname=libslirp
pkgver=4.6.1
fetch() {
curl "https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v$pkgver/libslirp-v$pkgver.tar.bz2" -o $pkgname-$pkgver.tar.bz2
tar -xf $pkgname-$pkgver.tar.bz2
mv $pkgname-v$pkgver $pkgname-$pkgver
mkdir $pkgname-$pkgver/build
}
build() {
cd $pkgname-$pkgver
cd build
meson .. \
--buildtype=release \
--prefix=/usr \
--libexecdir=lib
samu
}
package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

View file

@ -1,37 +0,0 @@
pkgname=qtbase
pkgver=5.12
fetch() {
curl "https://invent.kde.org/qt/qt/qtbase/-/archive/$pkgver/qtbase-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/build
mkdir $pkgname-$pkgver/.git
}
build() {
cd $pkgname-$pkgver
cd build
../configure \
-opensource \
-confirm-license \
-nomake examples \
-nomake tests \
-platform linux-clang-libc++ \
-no-openssl \
-prefix /usr
gmake
}
package() {
cd $pkgname-$pkgver
cd build
gmake INSTALL_ROOT=$pkgdir install
}
license() {
cd $pkgname-$pkgver
cat LICENSE*
# cat COPYING
}

View file

@ -1,11 +0,0 @@
--- a/mkspecs/linux-clang/qplatformdefs.h
+++ b/mkspecs/linux-clang/qplatformdefs.h
@@ -81,7 +81,7 @@
#undef QT_SOCKLEN_T
-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#if defined(__GLIBC__) && (__GLIBC__ >= 2) || !defined(__GLIBC__)
#define QT_SOCKLEN_T socklen_t
#else
#define QT_SOCKLEN_T int

View file

@ -1,95 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the qmake spec of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or (at your option) the GNU General
** Public license version 3 or any later version approved by the KDE Free
** Qt Foundation. The licenses are as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
** https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef QPLATFORMDEFS_H
#define QPLATFORMDEFS_H
// Get Qt defines/settings
#include "qglobal.h"
// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
// 1) need to reset default environment if _BSD_SOURCE is defined
// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
// 3) it seems older glibc need this to include the X/Open stuff
#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif
#include <unistd.h>
// We are hot - unistd.h should have turned on the specific APIs we requested
#include <features.h>
#include <pthread.h>
#include <dirent.h>
#include <fcntl.h>
#include <grp.h>
#include <pwd.h>
#include <signal.h>
#include <dlfcn.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/ipc.h>
#include <sys/time.h>
#include <sys/shm.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <netinet/in.h>
#define QT_USE_XOPEN_LFS_EXTENSIONS
#include "../common/posix/qplatformdefs.h"
#undef QT_SOCKLEN_T
#if defined(__GLIBC__) && (__GLIBC__ >= 2) || !defined(__GLIBC__)
#define QT_SOCKLEN_T socklen_t
#else
#define QT_SOCKLEN_T int
#endif
#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
#define QT_SNPRINTF ::snprintf
#define QT_VSNPRINTF ::vsnprintf
#endif
#endif // QPLATFORMDEFS_H

View file

@ -1,26 +0,0 @@
pkgname=qtwayland
pkgver=5.12
fetch() {
curl "https://invent.kde.org/qt/qt/$pkgname/-/archive/$pkgver/$pkgname-$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mkdir $pkgname-$pkgver/.git
}
build() {
cd $pkgname-$pkgver
qmake
gmake
}
package() {
cd $pkgname-$pkgver
gmake INSTALL_ROOT=$pkgdir install
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

View file

@ -1,30 +0,0 @@
pkgname=ribidi
pkgver=main
fetch() {
curl -L "https://github.com/iglunix/ribidi/archive/refs/heads/main.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
}
build() {
cd $pkgname-$pkgver
cargo build --release --all-features
}
package() {
cd $pkgname-$pkgver
install -Dm755 target/release/lib$pkgname.so $pkgdir/usr/lib/
install -Dm644 include/ribidi.h $pkgdir/usr/include/ribidi/
install -d $pkgdir/usr/include/fribidi
ln -sr $pkgdir/usr/include/ribidi/ribidi.h $pkgdir/usr/include/fribidi/fribidi.h
install -Dm644 $pkgname.pc $pkgdir/usr/lib/pkgconfig/
install -Dm644 f$pkgname.pc $pkgdir/usr/lib/pkgconfig/
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

28
pkgs/strace/build.sh Normal file
View file

@ -0,0 +1,28 @@
pkgname=strace
pkgver=5.13
fetch() {
curl "https://strace.io/files/$pkgver/strace-$pkgver.tar.xz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
}
build() {
cd $pkgname-$pkgver
./configure \
--prefix=/usr \
--build=$TRIPLE \
--host=$TRIPLE
make
}
package() {
cd $pkgname-$pkgver
make install DESTDIR=$pkgdir
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

View file

@ -0,0 +1,34 @@
pkgname=vulkan-validation-layers
pkgver=1.2.184
fetch() {
curl -L "https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/refs/tags/v$pkgver.tar.gz" -o $pkgname-$pkgver.tar.xz
tar -xf $pkgname-$pkgver.tar.xz
mv Vulkan-ValidationLayers-$pkgver $pkgname-$pkgver
mkdir $pkgname-$pkgver/build
}
build() {
cd $pkgname-$pkgver
cd build
../scripts/update_deps.py
cmake -G Ninja ../ \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_WSI_XLIB_SUPPORT=OFF \
-DBUILD_WSI_XCB_SUPPORT=OFF
samu
}
package() {
cd $pkgname-$pkgver
cd build
DESTDIR=$pkgdir samu install
}
license() {
cd $pkgname-$pkgver
cat LICENSE
# cat COPYING
}

4
scripts/buildbase.sh Executable file
View file

@ -0,0 +1,4 @@
#!/bin/sh
cd base

View file

@ -187,7 +187,7 @@ elif [ "$i" = "1" ]; then
deps=$(grep deps /tmp/iglunix/$bname_we/usr/share/iglupkg/$bname | tr '=' '\n' | grep -v deps | tr ':' '\n')
for dep in $deps; do
stat /usr/share/iglupkg/$dep > /dev/null 2> /dev/null || dep_not_found $dep
done
done
tar -I zstd -xf $1 -C /
rm -r /tmp/iglunix/$bname_we
elif [ "$f" = "1" ]; then

125
scripts/iglupkg Executable file
View file

@ -0,0 +1,125 @@
#!/bin/sh
export JOBS="$(nproc)"
#export RUSTFLAGS="-C target-cpu=native"
export CC=clang
export CXX=clang++
export ARCH=$(uname -m)
export KERN=linux
export ABI=musl
export TRIPLE=$ARCH-unknown-$KERN-$ABI
#export CFLAGS="-march=native"
#export CXXFLAGS="-march=native"
stat /etc/iglupkg.conf > /dev/null 2> /dev/null && . /etc/iglupkg.conf
export SAMUFLAGS=-j$JOBS
. ./build.sh
dir=$(pwd)
stat out > /dev/null && rm -rf out
mkdir out
srcdir=$(pwd)/src
function do_fetch() {
mkdir -p src
cd src
srcdir=$(pwd)
srcdir=$srcdir fetch
touch $srcdir/.fetched
}
function do_build() {
srcdir=$(pwd)
srcdir=$srcdir build
touch $srcdir/.built
}
stat src/.fetched > /dev/null 2>/dev/null || do_fetch
stat src/.fetched > /dev/null 2>/dev/null && echo '========================'
stat src/.fetched > /dev/null 2>/dev/null && echo 'Warning: Already Fetched'
stat src/.fetched > /dev/null 2>/dev/null && echo '========================'
cd $srcdir
MAKEFLAGS=-j$JOBS stat .built > /dev/null 2> /dev/null || build
stat .built > /dev/null 2>/dev/null && echo '========================'
stat .built > /dev/null 2>/dev/null && echo ' Warning: Already Built '
stat .built > /dev/null 2>/dev/null && echo '========================'
cd $srcdir
echo "
. $dir/build.sh
mkdir -p $dir/out/$pkgname
pkgdir=$dir/out/$pkgname package
mkdir -p $dir/out/$pkgname/usr/share/iglupkg
cat > $dir/out/$pkgname/usr/share/iglupkg/$pkgname << EOF
[pkg]
name=$pkgname
ver=$pkgver
deps=$deps
[license]
EOF
chmod 644 $dir/out/$pkgname/usr/share/iglupkg/$pkgname
cd $srcdir
license >> $dir/out/$pkgname/usr/share/iglupkg/$pkgname
echo >> $dir/out/$pkgname/usr/share/iglupkg/$pkgname
echo [fs] >> $dir/out/$pkgname/usr/share/iglupkg/$pkgname
cd $dir/out/$pkgname/
find * >> $dir/out/$pkgname/usr/share/iglupkg/$pkgname
cd $dir/out/$pkgname
tar -I zstd -cf ../$pkgname.$pkgver.tar.zst *
if [ $ext ]; then
echo $ext | tr ':' '\n' | while read e; do
echo \$e
cd $srcdir
mkdir -p $dir/out/$pkgname-\$e
pkgdir=$dir/out/$pkgname-\$e
package_\$(echo \$e | tr '-' '_')
mkdir -p $dir/out/$pkgname-\$e/usr/share/iglupkg
cat > $dir/out/$pkgname-\$e/usr/share/iglupkg/$pkgname-\$e << EOF
[pkg]
name=$pkgname-\$e
ver=$pkgver
deps=$pkgname
[license]
EOF
chmod 644 $dir/out/$pkgname-\$e/usr/share/iglupkg/$pkgname-\$e
cd $srcdir
license >> $dir/out/$pkgname-\$e/usr/share/iglupkg/$pkgname-\$e
echo >> $dir/out/$pkgname-\$e/usr/share/iglupkg/$pkgname-\$e
echo [fs] >> $dir/out/$pkgname-\$e/usr/share/iglupkg/$pkgname-\$e
cd $dir/out/$pkgname-\$e
find * >> $dir/out/$pkgname-\$e/usr/share/iglupkg/$pkgname-\$e
cd $dir/out/$pkgname-\$e
tar -I zstd -cf ../$pkgname-\$e.$pkgver.tar.zst *
done
fi
" | sh
cd $dir

View file

@ -25,13 +25,14 @@ function do_fetch() {
mkdir -p src
cd src
srcdir=$(pwd) fetch
touch .fetched
}
srcdir=$(pwd)/src
stat src > /dev/null 2>/dev/null || do_fetch
stat src > /dev/null 2>/dev/null && echo '=========================================='
stat src > /dev/null 2>/dev/null && echo 'Warning: `./src/` found: not running fetch'
stat src > /dev/null 2>/dev/null && echo '=========================================='
stat src/.fetched > /dev/null 2>/dev/null || do_fetch
stat src/.fetched > /dev/null 2>/dev/null && echo '========================'
stat src/.fetched > /dev/null 2>/dev/null && echo 'Warning: Already Fetched'
stat src/.fetched > /dev/null 2>/dev/null && echo '========================'
cd $srcdir

View file

@ -1,5 +1,4 @@
#!/bin/sh
. ./build_utils
packages=(musl mksh bmake gmake llvm libressl cmake curl rsync flex byacc om4 zlib samurai libffi python ca-certificates expat gettext-tiny git kati netbsd-curses kakoune iglunix rust toybox busybox less pci-ids heirloom-doctools)
cp_packages /mnt

View file

@ -10,6 +10,7 @@ build() {
cd $pkgname-$pkgver
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--build=$TRIPLE \
--host=$TRIPLE