diff --git a/base/bmake/build.sh b/base/bmake/build.sh index 00a1563..ead906d 100644 --- a/base/bmake/build.sh +++ b/base/bmake/build.sh @@ -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() { diff --git a/base/bmake/no-test.patch b/base/bmake/no-test.patch index 1ad8ab7..afbf474 100644 --- a/base/bmake/no-test.patch +++ b/base/bmake/no-test.patch @@ -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() { diff --git a/base/byacc/build.sh b/base/byacc/build.sh index 9226c89..a127bad 100644 --- a/base/byacc/build.sh +++ b/base/byacc/build.sh @@ -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() { diff --git a/base/ca-certificates/build.sh b/base/ca-certificates/build.sh deleted file mode 100644 index 4306cc1..0000000 --- a/base/ca-certificates/build.sh +++ /dev/null @@ -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 -} diff --git a/base/ca-certificates/libressl-update-rehash.patch b/base/ca-certificates/libressl-update-rehash.patch deleted file mode 100644 index 566deb6..0000000 --- a/base/ca-certificates/libressl-update-rehash.patch +++ /dev/null @@ -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 - diff --git a/base/curl/build.sh b/base/curl/build.sh index 64336f7..2783973 100644 --- a/base/curl/build.sh +++ b/base/curl/build.sh @@ -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 } diff --git a/base/curl/f b/base/curl/f new file mode 100644 index 0000000..080b82a Binary files /dev/null and b/base/curl/f differ diff --git a/base/doas/build.sh b/base/doas/build.sh index d8aa530..d0e856d 100644 --- a/base/doas/build.sh +++ b/base/doas/build.sh @@ -13,7 +13,8 @@ fetch() { build() { cd $pkgname-$pkgver - ./configure --prefix=/usr + ./configure --prefix=/usr \ + --without-pam gmake } diff --git a/base/fakeroot/build.sh b/base/fakeroot/build.sh new file mode 100644 index 0000000..6209b03 --- /dev/null +++ b/base/fakeroot/build.sh @@ -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 +} diff --git a/base/fakeroot/no64.patch b/base/fakeroot/no64.patch new file mode 100644 index 0000000..ff95f96 --- /dev/null +++ b/base/fakeroot/no64.patch @@ -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 + diff --git a/base/fakeroot/stdint.patch b/base/fakeroot/stdint.patch new file mode 100644 index 0000000..efe227d --- /dev/null +++ b/base/fakeroot/stdint.patch @@ -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; diff --git a/base/flex/build.sh b/base/flex/build.sh index 39472bb..c8eced7 100644 --- a/base/flex/build.sh +++ b/base/flex/build.sh @@ -19,6 +19,7 @@ build() { package() { cd $pkgname-$pkgver make install DESTDIR=$pkgdir + ln -sr $pkgdir/usr/bin/flex $pkgdir/usr/bin/lex } license() { diff --git a/base/llvm/build.sh b/base/llvm/build.sh index 25c4cbf..c546f18 100644 --- a/base/llvm/build.sh +++ b/base/llvm/build.sh @@ -1,4 +1,4 @@ -pkgver=12.0.1 +pkgver=13.0.0 pkgname=llvm bad="" ext="dev" diff --git a/base/meson/build.sh b/base/meson/build.sh index 51a2f83..9f1a025 100644 --- a/base/meson/build.sh +++ b/base/meson/build.sh @@ -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() { diff --git a/base/openssh/build.sh b/base/openssh/build.sh index 155094a..aa7d761 100644 --- a/base/openssh/build.sh +++ b/base/openssh/build.sh @@ -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 diff --git a/base/openssl/build.sh b/base/openssl/build.sh index 199bcb3..29b3eeb 100644 --- a/base/openssl/build.sh +++ b/base/openssl/build.sh @@ -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() { diff --git a/base/openssl/update-ca.sh b/base/openssl/update-ca.sh new file mode 100755 index 0000000..4517ee9 --- /dev/null +++ b/base/openssl/update-ca.sh @@ -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 +} diff --git a/base/perl/build.sh b/base/perl/build.sh index c346ec9..19fd417 100644 --- a/base/perl/build.sh +++ b/base/perl/build.sh @@ -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 diff --git a/base/python/build.sh b/base/python/build.sh index 3842b35..d1edb31 100644 --- a/base/python/build.sh +++ b/base/python/build.sh @@ -1,5 +1,5 @@ pkgname=python -pkgver=3.9.6 +pkgver=3.9.7 bad="" ext="doc" diff --git a/base/toybox/build.sh b/base/toybox/build.sh index caf27cd..d558bee 100644 --- a/base/toybox/build.sh +++ b/base/toybox/build.sh @@ -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/ diff --git a/base/toybox/mksh-make.patch b/base/toybox/mksh-make.patch index ddd6241..4305543 100644 --- a/base/toybox/mksh-make.patch +++ b/base/toybox/mksh-make.patch @@ -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 diff --git a/base/toybox/xxd-i.patch b/base/toybox/xxd-i.patch index cb8b121..fb1bc77 100644 --- a/base/toybox/xxd-i.patch +++ b/base/toybox/xxd-i.patch @@ -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; diff --git a/extra/json-c/build.sh b/extra/json-c/build.sh new file mode 100644 index 0000000..5a15c94 --- /dev/null +++ b/extra/json-c/build.sh @@ -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 +} diff --git a/extra/pcre/build.sh b/extra/pcre/build.sh new file mode 100644 index 0000000..52b52e2 --- /dev/null +++ b/extra/pcre/build.sh @@ -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 +} diff --git a/extra/pcre2/build.sh b/extra/pcre2/build.sh new file mode 100644 index 0000000..c853b18 --- /dev/null +++ b/extra/pcre2/build.sh @@ -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 +} diff --git a/extra/rust/build.sh b/extra/rust/build.sh index cd47012..3f42c61 100644 --- a/extra/rust/build.sh +++ b/extra/rust/build.sh @@ -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 \ diff --git a/gui/autotiling-rs/build.sh b/gui/autotiling-rs/build.sh new file mode 100644 index 0000000..b789ec9 --- /dev/null +++ b/gui/autotiling-rs/build.sh @@ -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 +} diff --git a/gui/foot/build.sh b/gui/foot/build.sh new file mode 100644 index 0000000..25029a0 --- /dev/null +++ b/gui/foot/build.sh @@ -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 +} diff --git a/gui/freetype-harbuzz/build.sh b/gui/freetype-harbuzz/build.sh new file mode 100644 index 0000000..6ae76e7 --- /dev/null +++ b/gui/freetype-harbuzz/build.sh @@ -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 +} diff --git a/gui/freetype-harbuzz/ft_meson.patch b/gui/freetype-harbuzz/ft_meson.patch new file mode 100644 index 0000000..349f4ec --- /dev/null +++ b/gui/freetype-harbuzz/ft_meson.patch @@ -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 diff --git a/gui/freetype-harbuzz/meson.build b/gui/freetype-harbuzz/meson.build new file mode 100644 index 0000000..023e650 --- /dev/null +++ b/gui/freetype-harbuzz/meson.build @@ -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//.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='] + +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='] +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 diff --git a/gui/freetype/build.sh b/gui/freetype/build.sh index c1fb57e..1d14ff7 100644 --- a/gui/freetype/build.sh +++ b/gui/freetype/build.sh @@ -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 diff --git a/gui/harfbuzz/build.sh b/gui/harfbuzz/build.sh index 2765085..b4d4215 100644 --- a/gui/harfbuzz/build.sh +++ b/gui/harfbuzz/build.sh @@ -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 \ diff --git a/gui/i3status-rs/build.sh b/gui/i3status-rs/build.sh new file mode 100644 index 0000000..eb4c0b8 --- /dev/null +++ b/gui/i3status-rs/build.sh @@ -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 +} diff --git a/gui/libdrm/build.sh b/gui/libdrm/build.sh index 9cf740e..8e5be2c 100644 --- a/gui/libdrm/build.sh +++ b/gui/libdrm/build.sh @@ -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() { diff --git a/gui/libpng/build.sh b/gui/libpng/build.sh index 99d31f1..57ec63c 100644 --- a/gui/libpng/build.sh +++ b/gui/libpng/build.sh @@ -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 diff --git a/gui/libudev-zero/build.sh b/gui/libudev-zero/build.sh index d0ccab6..3f2c92e 100644 --- a/gui/libudev-zero/build.sh +++ b/gui/libudev-zero/build.sh @@ -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() { diff --git a/gui/mesa/build.sh b/gui/mesa/build.sh index 36266c3..48bfdf9 100644 --- a/gui/mesa/build.sh +++ b/gui/mesa/build.sh @@ -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 . diff --git a/gui/mesa/v3d.patch b/gui/mesa/v3d.patch new file mode 100644 index 0000000..21d85a5 --- /dev/null +++ b/gui/mesa/v3d.patch @@ -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), diff --git a/gui/mesa/v3dx_format_table.c b/gui/mesa/v3dx_format_table.c new file mode 100644 index 0000000..ed4ab51 --- /dev/null +++ b/gui/mesa/v3dx_format_table.c @@ -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; + } +} diff --git a/gui/pango/build.sh b/gui/pango/build.sh new file mode 100644 index 0000000..3938f94 --- /dev/null +++ b/gui/pango/build.sh @@ -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 +} diff --git a/gui/pango/no-fribidi.patch b/gui/pango/no-fribidi.patch new file mode 100644 index 0000000..33737c7 --- /dev/null +++ b/gui/pango/no-fribidi.patch @@ -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 + +-#include +- + #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; + } + diff --git a/gui/pipewire/build.sh b/gui/pipewire/build.sh index 4ee4f5e..0549167 100644 --- a/gui/pipewire/build.sh +++ b/gui/pipewire/build.sh @@ -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 diff --git a/gui/pipewire/no-dbus.patch b/gui/pipewire/no-dbus.patch deleted file mode 100644 index 54b363e..0000000 --- a/gui/pipewire/no-dbus.patch +++ /dev/null @@ -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'] diff --git a/gui/seatd/build.sh b/gui/seatd/build.sh index f36f1f2..cfcb640 100644 --- a/gui/seatd/build.sh +++ b/gui/seatd/build.sh @@ -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 diff --git a/gui/sway/build.sh b/gui/sway/build.sh index f0daca6..a819564 100644 --- a/gui/sway/build.sh +++ b/gui/sway/build.sh @@ -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() { diff --git a/gui/swaybg/build.sh b/gui/swaybg/build.sh new file mode 100644 index 0000000..23896e4 --- /dev/null +++ b/gui/swaybg/build.sh @@ -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 +} diff --git a/gui/vulkan-headers/build.sh b/gui/vulkan-headers/build.sh index 3bd47f4..29189c6 100644 --- a/gui/vulkan-headers/build.sh +++ b/gui/vulkan-headers/build.sh @@ -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 diff --git a/gui/wayland-protocols/build.sh b/gui/wayland-protocols/build.sh index 2239f7f..8f5483a 100644 --- a/gui/wayland-protocols/build.sh +++ b/gui/wayland-protocols/build.sh @@ -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() { diff --git a/gui/wayland/build.sh b/gui/wayland/build.sh index 6c8bcba..ce68c57 100644 --- a/gui/wayland/build.sh +++ b/gui/wayland/build.sh @@ -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 diff --git a/gui/wlroots/build.sh b/gui/wlroots/build.sh index fd9793e..8cfdbd9 100644 --- a/gui/wlroots/build.sh +++ b/gui/wlroots/build.sh @@ -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() { diff --git a/gui/xkeyboard-config/build.sh b/gui/xkeyboard-config/build.sh new file mode 100644 index 0000000..9b1e031 --- /dev/null +++ b/gui/xkeyboard-config/build.sh @@ -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 +} diff --git a/linux/busybox/build.sh b/linux/busybox/build.sh index 825e40b..f7427e4 100644 --- a/linux/busybox/build.sh +++ b/linux/busybox/build.sh @@ -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() { diff --git a/linux/busybox/clang-fix.patch b/linux/busybox/clang-fix.patch new file mode 100644 index 0000000..ce77652 --- /dev/null +++ b/linux/busybox/clang-fix.patch @@ -0,0 +1 @@ +You are being redirected. \ No newline at end of file diff --git a/linux/busybox/modprobe.patch b/linux/busybox/modprobe.patch new file mode 100644 index 0000000..e69de29 diff --git a/linux/linux/build.sh b/linux/linux/build.sh index af424b2..806ad8e 100644 --- a/linux/linux/build.sh +++ b/linux/linux/build.sh @@ -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 diff --git a/linux/linux/v3d-enable.patch b/linux/linux/v3d-enable.patch new file mode 100644 index 0000000..e9d1e54 --- /dev/null +++ b/linux/linux/v3d-enable.patch @@ -0,0 +1,30 @@ +From 24662c14b45852c2d5fc4721b1494bce8345319d Mon Sep 17 00:00:00 2001 +From: Phil Elwell +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 +--- + 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 diff --git a/linux/raspberrypi-linux/build.sh b/linux/raspberrypi-linux/build.sh index 575306c..459dd64 100644 --- a/linux/raspberrypi-linux/build.sh +++ b/linux/raspberrypi-linux/build.sh @@ -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 diff --git a/linux/rpi-linux-rev2/build.sh b/linux/rpi-linux-rev2/build.sh new file mode 100644 index 0000000..aee5e3d --- /dev/null +++ b/linux/rpi-linux-rev2/build.sh @@ -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 +} diff --git a/linux/rpi-linux-rev2/kernel-byacc.patch b/linux/rpi-linux-rev2/kernel-byacc.patch new file mode 100644 index 0000000..b2aa286 --- /dev/null +++ b/linux/rpi-linux-rev2/kernel-byacc.patch @@ -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) diff --git a/gui/alacritty/build.sh b/old/alacritty/build.sh similarity index 100% rename from gui/alacritty/build.sh rename to old/alacritty/build.sh diff --git a/gui/graphicsmagick/build.sh b/old/graphicsmagick/build.sh similarity index 100% rename from gui/graphicsmagick/build.sh rename to old/graphicsmagick/build.sh diff --git a/gui/imagemagick/build.sh b/old/imagemagick/build.sh similarity index 100% rename from gui/imagemagick/build.sh rename to old/imagemagick/build.sh diff --git a/base/pci-ids/build.sh b/old/pci-ids/build.sh similarity index 100% rename from base/pci-ids/build.sh rename to old/pci-ids/build.sh diff --git a/gui/river/build.sh b/old/river/build.sh similarity index 100% rename from gui/river/build.sh rename to old/river/build.sh diff --git a/gui/sqlite/build.sh b/old/sqlite/build.sh similarity index 100% rename from gui/sqlite/build.sh rename to old/sqlite/build.sh diff --git a/gui/swc/build.sh b/old/swc/build.sh similarity index 100% rename from gui/swc/build.sh rename to old/swc/build.sh diff --git a/gui/swc/config.mk b/old/swc/config.mk similarity index 100% rename from gui/swc/config.mk rename to old/swc/config.mk diff --git a/gui/swvkc/build.sh b/old/swvkc/build.sh similarity index 100% rename from gui/swvkc/build.sh rename to old/swvkc/build.sh diff --git a/gui/velox/build.sh b/old/velox/build.sh similarity index 100% rename from gui/velox/build.sh rename to old/velox/build.sh diff --git a/gui/velox/config.mk b/old/velox/config.mk similarity index 100% rename from gui/velox/config.mk rename to old/velox/config.mk diff --git a/gui/velox/velox.conf b/old/velox/velox.conf similarity index 100% rename from gui/velox/velox.conf rename to old/velox/velox.conf diff --git a/gui/webkit/build.sh b/old/webkit/build.sh similarity index 100% rename from gui/webkit/build.sh rename to old/webkit/build.sh diff --git a/gui/wld/build.sh b/old/wld/build.sh similarity index 100% rename from gui/wld/build.sh rename to old/wld/build.sh diff --git a/pkgs/cava/build.sh b/pkgs/cava/build.sh new file mode 100644 index 0000000..edeed0a --- /dev/null +++ b/pkgs/cava/build.sh @@ -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 +} diff --git a/pkgs/imv/build.sh b/pkgs/imv/build.sh new file mode 100644 index 0000000..03c14b1 --- /dev/null +++ b/pkgs/imv/build.sh @@ -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 +} diff --git a/pkgs/kak-lsp/build.sh b/pkgs/kak-lsp/build.sh index 5b5f296..e69de29 100644 --- a/pkgs/kak-lsp/build.sh +++ b/pkgs/kak-lsp/build.sh @@ -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 -} diff --git a/pkgs/libslirp/build.sh b/pkgs/libslirp/build.sh new file mode 100644 index 0000000..fa3d8c7 --- /dev/null +++ b/pkgs/libslirp/build.sh @@ -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 +} diff --git a/pkgs/qtbase/build.sh b/pkgs/qtbase/build.sh index 0cef6bf..e69de29 100644 --- a/pkgs/qtbase/build.sh +++ b/pkgs/qtbase/build.sh @@ -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 -} diff --git a/pkgs/qtbase/musl-socket.patch b/pkgs/qtbase/musl-socket.patch index 11b9181..e69de29 100644 --- a/pkgs/qtbase/musl-socket.patch +++ b/pkgs/qtbase/musl-socket.patch @@ -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 diff --git a/pkgs/qtbase/qplatformdefs.h b/pkgs/qtbase/qplatformdefs.h index f5d0562..e69de29 100644 --- a/pkgs/qtbase/qplatformdefs.h +++ b/pkgs/qtbase/qplatformdefs.h @@ -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 - -// We are hot - unistd.h should have turned on the specific APIs we requested - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#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 diff --git a/pkgs/qtwayland/build.sh b/pkgs/qtwayland/build.sh index ed1ebcc..e69de29 100644 --- a/pkgs/qtwayland/build.sh +++ b/pkgs/qtwayland/build.sh @@ -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 -} diff --git a/pkgs/ribidi/build.sh b/pkgs/ribidi/build.sh deleted file mode 100644 index f32a601..0000000 --- a/pkgs/ribidi/build.sh +++ /dev/null @@ -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 -} diff --git a/pkgs/strace/build.sh b/pkgs/strace/build.sh new file mode 100644 index 0000000..017059c --- /dev/null +++ b/pkgs/strace/build.sh @@ -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 +} diff --git a/pkgs/vulkan-validation-layers/build.sh b/pkgs/vulkan-validation-layers/build.sh new file mode 100644 index 0000000..fde01bd --- /dev/null +++ b/pkgs/vulkan-validation-layers/build.sh @@ -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 +} diff --git a/scripts/buildbase.sh b/scripts/buildbase.sh new file mode 100755 index 0000000..dde13c9 --- /dev/null +++ b/scripts/buildbase.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cd base + diff --git a/scripts/iglu.sh b/scripts/iglu.sh index 0de0116..b0ed380 100755 --- a/scripts/iglu.sh +++ b/scripts/iglu.sh @@ -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 diff --git a/scripts/iglupkg b/scripts/iglupkg new file mode 100755 index 0000000..42146d9 --- /dev/null +++ b/scripts/iglupkg @@ -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 diff --git a/scripts/iglupkg.sh b/scripts/iglupkg.sh index aae71c0..b64e3ae 100755 --- a/scripts/iglupkg.sh +++ b/scripts/iglupkg.sh @@ -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 diff --git a/scripts/install.sh b/scripts/install.sh index b720226..b2b349f 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -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 + + diff --git a/templates/simple.build.sh b/templates/simple.build.sh index ddbebfb..54abde0 100644 --- a/templates/simple.build.sh +++ b/templates/simple.build.sh @@ -10,6 +10,7 @@ build() { cd $pkgname-$pkgver ./configure \ --prefix=/usr \ + --sysconfdir=/etc \ --build=$TRIPLE \ --host=$TRIPLE