Add configuration files and patches for R, SDL2, SDL3, Tk, and Vala

- Introduced `r.toml` for R package configuration, including build flags and dependencies.
- Added `sdl2-compat.toml` for SDL2 compatibility layer with SDL3, specifying build and runtime dependencies.
- Created a patch for SDL3 to handle cases when XInput2 is not available, ensuring compatibility.
- Added `sdl3.toml` for SDL3 configuration, including build flags and dependencies.
- Introduced `tk.toml` for Tk configuration, detailing build flags and runtime dependencies.
- Added a patch for Vala to ensure POSIX compliance in the test runner script, improving portability.
This commit is contained in:
2026-03-24 00:04:10 -05:00
parent bf96e50e44
commit 49bf7bbb5d
78 changed files with 4605 additions and 14 deletions
+19
View File
@@ -0,0 +1,19 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
[dependencies]
build = ["meson"]
[package]
description = "The typefaces for GNOME"
homepage = "https://gitlab.gnome.org/GNOME/adwaita-fonts"
license = "OFL-1.1"
name = "adwaita-fonts"
version = "50.0"
[[source]]
extract_dir = "$name-$version"
url = "https://gitlab.gnome.org/GNOME/adwaita-fonts.git#$version"
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
while IFS= read -r d; do
if [ ! -d "$d" ]; then
rm -f "${d%.d/}"
fi
done
dconf update
+12
View File
@@ -0,0 +1,12 @@
[hook]
name = "dconf-update"
description = "Updating system dconf databases..."
[when]
phase = "post"
operation = ["install", "update", "remove"]
paths = ["etc/dconf/db/*.d/"]
[exec]
command = "/usr/share/depot.d/scripts/dconf/dconf-update"
needs_paths = true
+42
View File
@@ -0,0 +1,42 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
configure = ["-Dgtk_doc=true", "-Dbash_completion=false", "-Dvapi=true" ]
post_install = [
'install -Dm644 $DEPOT_SPECDIR/dconf-update.toml -t "$DESTDIR/usr/share/depot.d/hooks"',
'install -D $DEPOT_SPECDIR/dconf-update.script "$DESTDIR/usr/share/depot.d/scripts/dconf/dconf-update"',
'install -Dm644 /dev/null "$DESTDIR/etc/dconf/db/.placeholder"'
]
skip-tests = true
[dependencies]
build = [
"dbus",
"gtk-doc",
"meson",
"python",
"vala",
]
runtime = [
"sh",
"glib2",
"glibc",
"libunwind",
]
[package]
description = "Configuration database system"
homepage = "https://wiki.gnome.org/Projects/dconf"
license = "LGPL-2.1-or-later"
name = "dconf"
version = "0.49.0"
[[source]]
extract_dir = "$name-$version"
sha256 = "md5:1a3ff8a464a4d9ebbaf112005bfed95a"
url = "https://download.gnome.org/sources/dconf/0.49/dconf-$version.tar.xz"
[[manual_sources]]
files = [ "dconf-update.toml", "dconf-update.script" ]
+21
View File
@@ -0,0 +1,21 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
configure = [ "-Ddocs=false" ]
[dependencies]
build = ["meson"]
runtime = ["glibc"]
[package]
description = "A Free Implementation of the Unicode Bidirectional Algorithm"
homepage = "https://github.com/fribidi/fribidi"
license = "LGPL-2.1-or-later"
name = "fribidi"
version = "1.0.16"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/fribidi/fribidi#v$version"
+30
View File
@@ -0,0 +1,30 @@
[build]
type = "autotools"
[build.flags]
configure = [
"--enable-cplusplus",
"--disable-static",
]
post_install = ["""sed 's|GC_MALLOC 1L|gc 3|g' doc/gc.man | install -Dm644 /dev/stdin "$DESTDIR/usr/share/man/man3/gc.3""""]
[dependencies]
runtime = ["libcxx"]
[package]
description = "A garbage collector for C and C++"
homepage = "https://www.hboehm.info/gc/"
license = [
"LicenseRef-GC",
"MIT",
]
name = "gc"
version = "8.2.12"
[[source]]
extract_dir = "$name-$version"
post_extract = ["cp -rv ../license.txt .", "./autogen.sh"]
url = "https://github.com/ivmai/bdwgc.git#v$version"
[[manual_sources]]
url = "https://www.hboehm.info/gc/license.txt"
+7
View File
@@ -0,0 +1,7 @@
sed -e 's|giflib.xml|giflib.7|' \
-re 's|doc/(.*).xml|doc/\1.1|g' \
-i Makefile
make
make PREFIX=/usr DESTDIR="$DESTDIR" install
+26
View File
@@ -0,0 +1,26 @@
[build]
type = "custom"
[build.flags]
replace_cflags = [ "_FORTIFY_SOURCE=3=_FORTIFY_SOURCE=2" ]
no-compress-man = true
[dependencies]
build = [
"xmlto",
"docbook-xml",
"docbook-xsl",
]
runtime = ["glibc"]
[package]
description = "Library for reading and writing gif images"
homepage = "http://giflib.sourceforge.net"
license = "MIT"
name = "giflib"
version = "6.1.2"
[[source]]
extract_dir = "$name-$version"
sha256 = "2421abb54f5906b14965d28a278fb49e1ec9fe5ebbc56244dd012383a973d5c0"
url = "https://sourceforge.net/projects/giflib/files/giflib-6.x/giflib-$version.tar.gz"
+58
View File
@@ -0,0 +1,58 @@
[build]
type = "autotools"
[build.flags]
configure = [
"--enable-python3=yes",
"--disable-python",
"--enable-lefty",
]
post_install = ['cd "$DESTDIR/usr/lib64/tcl8.6" && rm -fr graphviz && ln -s ../graphviz/tcl graphviz']
skip_tests = true
[dependencies]
build = [
"swig",
"guile",
"lua",
"perl",
"python",
"r",
"tk",
]
optional = [
"guile",
"lua",
"perl",
"python",
"r",
"tcl",
"xterm",
]
runtime = [
"libtool",
"pango",
"gts",
"gsfonts",
"libwebp"
]
[[manual_sources]]
files = [
"postinstall.sh",
"postupdate.sh",
"preremove.sh",
]
[package]
description = "Graph visualization software"
homepage = "https://www.graphviz.org/"
license = "EPL-2.0"
name = "graphviz"
version = "14.1.4"
[[source]]
extract_dir = "$name-$version"
post_extract = ["./autogen.sh NOCONFIG"]
sha256 = "b32cdb82663f8e19d8cbe3ab5593faa824e0a464d61712727f5c838c3a7ca862"
url = "https://gitlab.com/graphviz/graphviz/-/archive/$version/$name-$version.tar.gz"
+1
View File
@@ -0,0 +1 @@
rm -f usr/lib/graphviz/config usr/lib/graphviz/config6 usr/lib/graphviz/config8 && usr/bin/dot -c
+1
View File
@@ -0,0 +1 @@
rm -f usr/lib/graphviz/config usr/lib/graphviz/config6 usr/lib/graphviz/config8 && usr/bin/dot -c
+1
View File
@@ -0,0 +1 @@
rm -f usr/lib/graphviz/config usr/lib/graphviz/config6 usr/lib/graphviz/config8
+24
View File
@@ -0,0 +1,24 @@
[build]
type = "autotools"
[build.flags]
skip_tests = true
[dependencies]
runtime = [
"glib2",
"netpbm",
]
[package]
description = "Provides useful functions to deal with 3D surfaces meshed with interconnected triangles"
homepage = "http://gts.sourceforge.net/"
license = "LGPL-3.0-or-later"
name = "gts"
version = "0.7.6.121130"
[[source]]
extract_dir = "$name-$version"
post_extract = ["autoreconf -fiv"]
url = 'http://gts.sourceforge.net/tarballs/gts-snapshot-121130.tar.gz'
sha256 = "b2:ffd35083122ec40b9ab3c301965e2f40f35f81cbb51947fee01d851f545d5314cdce6c24eee2cbcdf08fe492a63eadb3720535d3f4ed913f3309561d0d382c80"
+31
View File
@@ -0,0 +1,31 @@
[build]
type = "autotools"
[build.flags]
configure = [
"--disable-static",
"--disable-error-on-warning",
]
post_install = [ 'rm "$DESTDIR"/usr/lib/libguile-3.?.so.*-gdb.scm' ]
[dependencies]
build = ["texinfo"]
runtime = [
"gmp",
"ncurses",
"libunistring",
"gc",
"libffi",
"libxcrypt",
]
[package]
description = "Portable, embeddable Scheme implementation written in C"
homepage = "https://www.gnu.org/software/guile/"
license = "AGPL-3.0-or-Later"
name = "guile"
version = "3.0.11"
[[source]]
extract_dir = "$name-$version"
sha256 = "3c9c16972a73bb792752f2e4f1cce7212d7638d5494b5f7e8e19f3819dbf3a19"
url = "https://mirrors.kernel.org/gnu/guile/guile-$version.tar.gz"
@@ -0,0 +1,19 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
[dependencies]
build = ["meson"]
[package]
description = "Freedesktop.org Hicolor icon theme"
homepage = "https://gitlab.freedesktop.org/xdg/default-icon-theme"
license = "GPL-2.0-or-later"
name = "hicolor-icon-theme"
version = "0.18"
[[source]]
extract_dir = "$name-$version"
url = "https://gitlab.freedesktop.org/xdg/default-icon-theme.git#v$version"
+164
View File
@@ -0,0 +1,164 @@
#!/bin/sh
set -eu
makei() {
echo "==> Running: make DESTDIR=\"$pkgdir\" install $*"
make DESTDIR="$pkgdir" install "$@"
}
mesoni() {
echo "==> Running: meson install --destdir \"$pkgdir\" $*"
meson install --destdir "$pkgdir" "$@"
}
cmakei() {
echo "==> Running: cmake --install $*"
DESTDIR="$pkgdir" cmake --install "$@"
}
starmove() {
[ "$#" -ge 1 ] || {
echo "starmove: requires at least one path pattern" >&2
return 1
}
[ "${DEPOT_OUTPUT_NAME:-}" != "" ] || {
echo "starmove: DEPOT_OUTPUT_NAME is not set" >&2
return 1
}
haul "$DEPOT_OUTPUT_NAME" "$@"
}
depot_starbuild_sync_srcdir() {
workdir=${DEPOT_STARBUILD_WORKDIR:?}
compat_root="$workdir/.depot-starbuild"
mkdir -p "$compat_root/packages"
for entry in "$workdir"/* "$workdir"/.[!.]* "$workdir"/..?*; do
[ -e "$entry" ] || [ -L "$entry" ] || continue
base=$(basename "$entry")
[ "$base" = ".depot-starbuild" ] && continue
[ "$base" = "packages" ] && continue
ln -snf "$entry" "$compat_root/$base"
done
mkdir -p "$compat_root/packages/lapack/"
ln -snf "${DEPOT_PRIMARY_DESTDIR:-$DESTDIR}" "$compat_root/packages/lapack/files"
mkdir -p "$compat_root/packages/blas/"
ln -snf "$(subdestdir 'blas')" "$compat_root/packages/blas/files"
mkdir -p "$compat_root/packages/cblas/"
ln -snf "$(subdestdir 'cblas')" "$compat_root/packages/cblas/files"
mkdir -p "$compat_root/packages/lapacke/"
ln -snf "$(subdestdir 'lapacke')" "$compat_root/packages/lapacke/files"
mkdir -p "$compat_root/packages/blas64/"
ln -snf "$(subdestdir 'blas64')" "$compat_root/packages/blas64/files"
mkdir -p "$compat_root/packages/cblas64/"
ln -snf "$(subdestdir 'cblas64')" "$compat_root/packages/cblas64/files"
mkdir -p "$compat_root/packages/lapack64/"
ln -snf "$(subdestdir 'lapack64')" "$compat_root/packages/lapack64/files"
mkdir -p "$compat_root/packages/lapacke64/"
ln -snf "$(subdestdir 'lapacke64')" "$compat_root/packages/lapacke64/files"
srcdir="$compat_root"
export srcdir
}
depot_starbuild_setup_env() {
package_name=$1
package_version='3.12.1'
pkgdir=${DESTDIR:?}
export package_name package_version pkgdir
LANG=C
LC_ALL=C
export LANG LC_ALL
depot_starbuild_sync_srcdir
}
depot_build() {
depot_starbuild_setup_env 'lapack'
cmake -B build \
-DCMAKE_SKIP_RPATH=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_Fortran_COMPILER=flang \
-DLAPACKE_WITH_TMG=ON \
-DCBLAS=ON \
-G Ninja
ninja -C build
cmake -B build64 \
-DCMAKE_SKIP_RPATH=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_Fortran_COMPILER=flang \
-DLAPACKE_WITH_TMG=ON \
-DCBLAS=ON \
-DBUILD_INDEX64=ON \
-G Ninja
ninja -C build64
# Add your commands here
}
depot_install() {
depot_starbuild_setup_env 'lapack'
cmakei build
rm -r "$pkgdir"/usr/lib/libblas.* \
"$pkgdir"/usr/lib/libcblas.* \
"$pkgdir"/usr/lib/liblapacke.*
rm -r "$pkgdir"/usr/lib/pkgconfig/blas.* \
"$pkgdir"/usr/lib/pkgconfig/cblas.* \
"$pkgdir"/usr/lib/pkgconfig/lapacke.*
rm -r "$pkgdir"/usr/lib/cmake/cblas* \
"$pkgdir"/usr/lib/cmake/lapacke*
rm -r "$pkgdir"/usr/include
}
depot_install_blas() {
depot_starbuild_setup_env 'blas'
cmakei build/BLAS
}
depot_install_cblas() {
depot_starbuild_setup_env 'cblas'
cmakei build/CBLAS
}
depot_install_lapacke() {
depot_starbuild_setup_env 'lapacke'
cmakei build/LAPACKE
}
depot_install_blas64() {
depot_starbuild_setup_env 'blas64'
cmakei build64/BLAS
}
depot_install_cblas64() {
depot_starbuild_setup_env 'cblas64'
cmakei build64/CBLAS
rm -r "$pkgdir"/usr/include
}
depot_install_lapack64() {
depot_starbuild_setup_env 'lapack64'
cmakei build64
rm -r "$pkgdir"/usr/lib/libblas64.* \
"$pkgdir"/usr/lib/libcblas64.* \
"$pkgdir"/usr/lib/liblapacke64.*
rm -r "$pkgdir"/usr/lib/pkgconfig/blas64.* \
"$pkgdir"/usr/lib/pkgconfig/cblas64.* \
"$pkgdir"/usr/lib/pkgconfig/lapacke64.*
rm -r "$pkgdir"/usr/lib/cmake/cblas* \
"$pkgdir"/usr/lib/cmake/lapacke*
rm -r "$pkgdir"/usr/include
}
depot_install_lapacke64() {
depot_starbuild_setup_env 'lapacke64'
cmakei build64/LAPACKE
rm -r "$pkgdir"/usr/include
}
+116
View File
@@ -0,0 +1,116 @@
[build]
type = "custom"
[dependencies]
build = [
"ninja",
"cmake",
"flang",
"python",
]
[package]
description = "Linear Algebra PACKage"
homepage = "https://github.com/Reference-LAPACK/lapack.git"
license = "BSD-3-Clause"
name = "lapack"
version = "3.12.1"
[package_dependencies.blas]
runtime = [
"libcxx",
"libunwind",
"glibc",
]
[package_dependencies.blas64]
runtime = [
"libcxx",
"libunwind",
"glibc",
]
[package_dependencies.cblas]
runtime = [
"blas",
"glibc",
]
[package_dependencies.cblas64]
runtime = [
"blas64",
"glibc",
]
[package_dependencies.lapack64]
runtime = [
"glibc",
"blas64",
"libunwind",
"libcxx",
]
[package_dependencies.lapacke]
runtime = [
"glibc",
"lapack",
]
[package_dependencies.lapacke64]
runtime = [
"glibc",
"lapack64",
]
[[packages]]
description = "Basic Linear Algebra Subprograms"
homepage = "https://github.com/Reference-LAPACK/lapack.git"
license = "BSD-3-Clause"
name = "blas"
version = "3.12.1"
[[packages]]
description = "C interface to BLAS"
homepage = "https://github.com/Reference-LAPACK/lapack.git"
license = "BSD-3-Clause"
name = "cblas"
version = "3.12.1"
[[packages]]
description = "C interface to LAPACK"
homepage = "https://github.com/Reference-LAPACK/lapack.git"
license = "BSD-3-Clause"
name = "lapacke"
version = "3.12.1"
[[packages]]
description = "Basic Linear Algebra Subprograms (64-bit integers)"
homepage = "https://github.com/Reference-LAPACK/lapack.git"
license = "BSD-3-Clause"
name = "blas64"
version = "3.12.1"
[[packages]]
description = "C interface to BLAS (64-bit integers)"
homepage = "https://github.com/Reference-LAPACK/lapack.git"
license = "BSD-3-Clause"
name = "cblas64"
version = "3.12.1"
[[packages]]
description = "Linear Algebra PACKage (64-bit integers)"
homepage = "https://github.com/Reference-LAPACK/lapack.git"
license = "BSD-3-Clause"
name = "lapack64"
version = "3.12.1"
[[packages]]
description = "C interface to LAPACK (64-bit integers)"
homepage = "https://github.com/Reference-LAPACK/lapack.git"
license = "BSD-3-Clause"
name = "lapacke64"
version = "3.12.1"
[[source]]
extract_dir = "lapack"
url = "https://github.com/Reference-LAPACK/lapack.git#v$version"
+20
View File
@@ -0,0 +1,20 @@
[build]
type = "autotools"
[dependencies]
runtime = [
"libjpeg-turbo",
"libtiff",
]
[package]
description = "Small-footprint color management engine, version 2"
homepage = "http://www.littlecms.com/"
license = "MIT"
name = "lcms2"
version = "2.18"
[[source]]
extract_dir = "$name-$version"
sha256 = "ee67be3566f459362c1ee094fde2c159d33fa0390aa4ed5f5af676f9e5004347"
url = "https://github.com/mm2/Little-CMS/releases/download/lcms$version/$name-$version.tar.gz"
+54
View File
@@ -0,0 +1,54 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-DAVIF_BUILD_MAN_PAGES=ON",
"-DAVIF_BUILD_APPS=ON",
"-G Ninja",
"-DAVIF_CODEC_AOM=SYSTEM",
"-DAVIF_CODEC_DAV1D=SYSTEM",
"-DAVIF_CODEC_RAV1E=SYSTEM",
"-DAVIF_CODEC_SVT=SYSTEM",
"-DAVIF_LIBSHARPYUV=SYSTEM",
"-DAVIF_LIBXML2=SYSTEM",
"-DAVIF_BUILD_GDK_PIXBUF=OFF",
]
[dependencies]
build = [
"cmake",
"ninja",
"nasm",
"pandoc",
]
runtime = [
"aom",
"dav1d",
"glibc",
"libunwind",
"libjpeg-turbo",
"libpng",
"libcxx",
"libwebp",
"libxml215",
"libyuv",
"rav1e",
"svt-av1",
]
[[manual_sources]]
url = "https://github.com/kmurray/libargparse.git#ee74d1b53bd680748af14e737378de57e2a0a954"
[package]
description = "Library for encoding and decoding .avif files"
homepage = "https://github.com/AOMediaCodec/libavif"
license = "LicenseRef-libavif"
name = "libavif"
version = "1.4.1"
[[source]]
extract_dir = "$name-$version"
post_extract = ["pkg-config --cflags --libs libsharpyuv", "cp -r ../libargparse ./ext"]
url = "https://github.com/AOMediaCodec/libavif#v$version"
+18
View File
@@ -0,0 +1,18 @@
[build]
type = "autotools"
[dependencies]
runtime = [ "glibc" ]
build = [ "doxygen" ]
[package]
description = "Double-array trie library"
homepage = "https://linux.thai.net/projects/datrie"
license = "LGPL-2.1-or-later"
name = "libdatrie"
version = "0.2.14"
[[source]]
extract_dir = "$name-$version"
post_extract = ["autoreconf -fiv"]
url = "https://github.com/tlwg/libdatrie.git#v$version"
+18
View File
@@ -0,0 +1,18 @@
[build]
type = "autotools"
[dependencies]
runtime = ["glibc"]
[package]
description = "Library to parse an EXIF file and read the data from those tags"
homepage = "https://github.com/libexif/libexif"
license = "LGPL-2.1-Only"
name = "libexif"
version = "0.6.25"
[[source]]
extract_dir = "$name-$version"
sha256 = "7c9eba99aed3e6594d8c3e85861f1c6aaf450c218621528bc989d3b3e7a26307"
url = "https://github.com/libexif/libexif/releases/download/v$version/libexif-$version.tar.bz2"
post_extract = [ "autoreconf -fiv" ]
+38
View File
@@ -0,0 +1,38 @@
[build]
type = "autotools"
[build.flags]
configure = [ "--with-pango", 'LIBS=-lpangoft2-1.0',]
skip_tests = true
[dependencies]
build = ["giflib"]
runtime = [
"cairo",
"fontconfig",
"glib2",
"glibc",
"harfbuzz",
"libexif",
"libjpeg-turbo",
"libpng",
"libtiff",
"libx11",
"pango",
]
[package]
description = "C-based implementation of the GDI+ API"
homepage = "https://gitlab.winehq.org/mono/libgdiplus"
license = "MIT"
name = "libgdiplus"
version = "6.2"
[[source]]
extract_dir = "$name-$version"
post_extract = [
"sed -e 's/: update_submodules/:/' -i Makefile.am",
"autoreconf -fiv",
]
sha256 = "98b31143d5bb1cf5c38088bee18e4ba2993ddf132da1ed985dbe576eef1ff501"
url = "https://gitlab.winehq.org/mono/libgdiplus/-/archive/$version/libgdiplus-$version.tar.gz"
+24
View File
@@ -0,0 +1,24 @@
[build]
type = "autotools"
[dependencies]
build = [
"xtrans",
"xorg-util-macros",
]
runtime = [
"glibc",
"xorgproto",
]
[package]
description = "X11 Inter-Client Exchange library"
homepage = "https://xorg.freedesktop.org/"
license = "MIT-open-group"
name = "libice"
version = "1.1.2"
[[source]]
extract_dir = "$name-$version"
sha256 = "974e4ed414225eb3c716985df9709f4da8d22a67a2890066bc6dfc89ad298625"
url = "https://xorg.freedesktop.org/releases/individual/lib/libICE-$version.tar.xz"
+40
View File
@@ -0,0 +1,40 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
[dependencies]
build = [
"cargo-c",
"gobject-introspection",
"meson",
"cargo",
"vala",
"python-docutils",
]
runtime = [
"cairo",
"dav1d",
"freetype2",
"glib2",
"glibc",
"harfbuzz",
"gdk-pixbuf2",
"libunwind",
"libxml215",
"pango",
]
test = ["ttf-dejavu"]
[package]
description = "SVG rendering library"
homepage = "https://wiki.gnome.org/Projects/LibRsvg"
license = "LGPL-2.1-or-later"
name = "librsvg"
version = "2.62.1"
[[source]]
extract_dir = "$name-$version"
sha256 = "b41ca84206242fddd826a2bf76348d7cdf52c1050cbfa060b866e81a252145c3"
url = "https://download.gnome.org/sources/librsvg/2.62/librsvg-$version.tar.xz"
+29
View File
@@ -0,0 +1,29 @@
[build]
type = "autotools"
[dependencies]
build = [
"xorg-util-macros",
"xtrans",
]
runtime = [
"libice",
"util-linux",
"xorgproto",
"glibc",
]
[package]
description = "X11 Session Management library"
homepage = "https://xorg.freedesktop.org/"
license = [
"MIT",
"MIT-open-group",
]
name = "libsm"
version = "1.2.6"
[[source]]
extract_dir = "$name-$version"
sha256 = "be7c0abdb15cbfd29ac62573c1c82e877f9d4047ad15321e7ea97d1e43d835be"
url = "https://xorg.freedesktop.org/releases/individual/lib/libSM-$version.tar.xz"
+24
View File
@@ -0,0 +1,24 @@
[build]
type = "autotools"
[dependencies]
build = [
"autoconf-archive",
"doxygen",
]
runtime = [
"glibc",
"libdatrie",
]
[package]
description = "Thai language support library"
homepage = "https://linux.thai.net/projects/libthai"
license = "LGPL-2.1-or-later"
name = "libthai"
version = "0.1.30"
[[source]]
extract_dir = "$name-$version"
post_extract = ["autoreconf -fiv"]
url = "https://github.com/tlwg/libthai.git#v$version"
+1 -1
View File
@@ -31,7 +31,7 @@ description = "Library for manipulation of TIFF images"
homepage = "http://www.simplesystems.org/libtiff/"
license = "libtiff"
name = "libtiff"
version = "4.7"
version = "4.7.1"
[[source]]
extract_dir = "$name-$version"
+2
View File
@@ -7,6 +7,7 @@ configure = [
"-DWEBP_BUILD_CWEBP=ON",
"-DWEBP_BUILD_DWEBP=ON",
"-DCMAKE_SKIP_INSTALL_RPATH=ON",
"-DBUILD_SHARED_LIBS=ON",
"-DWEBP_BUILD_EXTRAS=OFF",
"-DWEBP_BUILD_GIF2WEBP=ON",
"-DWEBP_BUILD_IMG2WEBP=ON",
@@ -21,6 +22,7 @@ build = [
"giflib",
"libjpeg-turbo",
"libpng",
"libtiff"
]
runtime = ["glibc"]
+21
View File
@@ -0,0 +1,21 @@
[build]
type = "autotools"
[dependencies]
runtime = [ "libxfixes", "libxrender", "default-cursors", "libx11", "glibc", "xorgproto" ]
build = [ "xorg-util-macros" ]
[build.flags]
configure = ["--disable-static"]
[package]
description = "X cursor management library"
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxcursor"
license = "HPND-sell-variant"
name = "libxcursor"
version = "1.2.3"
[[source]]
extract_dir = "$name-$version"
sha256 = "fde9402dd4cfe79da71e2d96bb980afc5e6ff4f8a7d74c159e1966afb2b2c2c0"
url = "https://xorg.freedesktop.org//releases/individual/lib/libXcursor-$version.tar.xz"
+27
View File
@@ -0,0 +1,27 @@
[build]
type = "autotools"
[build.flags]
configure = ["--disable-static"]
[dependencies]
runtime = [
"fontconfig",
"libxrender",
"libx11",
"freetype2",
"glibc",
"xorgproto",
]
[package]
description = "FreeType-based font drawing library for X"
homepage = "https://xorg.freedesktop.org/"
license = "HPND-sell-variant"
name = "libxft"
version = "2.3.9"
[[source]]
extract_dir = "$name-$version"
sha256 = "60a25b78945ed6932635b3bb1899a517d31df7456e69867ffba27f89ff3976f5"
url = "https://xorg.freedesktop.org/releases/individual/lib/libXft-$version.tar.xz"
+27
View File
@@ -0,0 +1,27 @@
[build]
type = "autotools"
[dependencies]
build = ["xorg-util-macros"]
runtime = [
"libxext",
"glibc",
"libx11",
"xorgproto",
]
[package]
description = "X11 Xinerama extension library"
homepage = "https://xorg.freedesktop.org/"
license = [
"MIT",
"MIT-open-group",
"X11",
]
name = "libxinerama"
version = "1.1.6"
[[source]]
extract_dir = "$name-$version"
sha256 = "d00fc1599c303dc5cbc122b8068bdc7405d6fcb19060f4597fc51bd3a8be51d7"
url = "https://xorg.freedesktop.org/archive/individual/lib/libXinerama-$version.tar.xz"
+21
View File
@@ -0,0 +1,21 @@
[build]
type = "autotools"
[dependencies]
runtime = [ "glibc", "libxext", "libxt", "libx11", "xorgproto" ]
build = [ "xorg-util-macros" ]
[build.flags]
configure = ["--disable-static"]
[package]
description = "X11 miscellaneous micro-utility library"
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxmu"
license = "MIT-open-group AND SMLNJ AND X11 AND ISC"
name = "libxmu"
version = "1.3.1"
[[source]]
extract_dir = "$name-$version"
sha256 = "81a99e94c4501e81c427cbaa4a11748b584933e94b7a156830c3621256857bc4"
url = "https://xorg.freedesktop.org//archive/individual/lib/libXmu-$version.tar.xz"
+23
View File
@@ -0,0 +1,23 @@
[build]
type = "autotools"
[dependencies]
build = ["xorg-util-macros"]
runtime = [
"libxext",
"libx11",
"glibc",
"xorgproto",
]
[package]
description = "X11 Screen Saver extension library"
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver"
license = "X11"
name = "libxss"
version = "1.2.5"
[[source]]
extract_dir = "$name-$version"
sha256 = "5057365f847253e0e275871441e10ff7846c8322a5d88e1e187d326de1cd8d00"
url = "https://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-$version.tar.xz"
+33
View File
@@ -0,0 +1,33 @@
[build]
type = "autotools"
[build.flags]
configure = ["--disable-static"]
[dependencies]
build = ["xorg-util-macros"]
runtime = [
"libsm",
"libx11",
"libice",
"glibc",
"xorgproto",
]
[package]
description = "X11 toolkit intrinsics library"
homepage = "https://xorg.freedesktop.org/"
license = [
"HPND-sell-variant",
"MIT",
"MIT-open-group",
"SMLNJ",
"X11",
]
name = "libxt"
version = "1.3.1"
[[source]]
extract_dir = "$name-$version"
sha256 = "e0a774b33324f4d4c05b199ea45050f87206586d81655f8bef4dba434d931288"
url = "https://xorg.freedesktop.org/releases/individual/lib/libXt-$version.tar.xz"
+32
View File
@@ -0,0 +1,32 @@
make MYCFLAGS="$CFLAGS -fPIC" MYLDFLAGS="$LDFLAGS" linux
cd ../lua++-5.5.0
make MYCFLAGS="$CXXFLAGS -fPIC" MYLDFLAGS="$LDFLAGS" LUA_A=liblua++.a LUA_SO=liblua++.so linux
cd ../lua-5.5.0
make \
TO_LIB="liblua.so liblua.so.5.5 liblua.so.5.5.0" \
INSTALL_DATA='cp -d' \
INSTALL_TOP="$DESTDIR"/usr \
INSTALL_MAN="$DESTDIR"/usr/share/man/man1 \
install
ln -sf /usr/bin/lua "$DESTDIR"/usr/bin/lua5.5
ln -sf /usr/bin/luac "$DESTDIR"/usr/bin/luac5.5
ln -sf /usr/lib/liblua.so.5.5.0 "$DESTDIR"/usr/lib/liblua5.5.so
install -Dm644 lua.pc "$DESTDIR"/usr/lib/pkgconfig/lua55.pc
ln -sf lua55.pc "$DESTDIR"/usr/lib/pkgconfig/lua.pc
ln -sf lua55.pc "$DESTDIR"/usr/lib/pkgconfig/lua5.5.pc
ln -sf lua55.pc "$DESTDIR"/usr/lib/pkgconfig/lua-5.5.pc
cd ../lua++-5.5.0
make \
TO_LIB="liblua++.so liblua++.so.5.5 liblua++.so.5.5.0" \
INSTALL_BIN=null INSTALL_INC=null INSTALL_MAN=../null \
INSTALL_DATA='cp -d' \
INSTALL_TOP="$DESTDIR"/usr \
install
ln -sf /usr/lib/liblua++.so.5.5.0 "$DESTDIR"/usr/lib/liblua++5.5.so
install -Dm644 lua++.pc "$DESTDIR"/usr/lib/pkgconfig/lua++55.pc
ln -sf lua++55.pc "$DESTDIR"/usr/lib/pkgconfig/lua++.pc
ln -sf lua++55.pc "$DESTDIR"/usr/lib/pkgconfig/lua++5.5.pc
ln -sf lua++55.pc "$DESTDIR"/usr/lib/pkgconfig/lua++-5.5.pc
+186
View File
@@ -0,0 +1,186 @@
diff -urN a/Makefile b/Makefile
--- a/Makefile 2025-06-26 08:04:37.000000000 -0500
+++ b/Makefile 2026-03-23 21:17:07.502287273 -0500
@@ -18,9 +18,9 @@
INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
-# How to install. If your install program does not support "-p", then
+# How to install. If your install program does not preserve timestamps, then
# you may have to run ranlib on the installed liblua.a.
-INSTALL= install -p
+INSTALL?= install
INSTALL_EXEC= $(INSTALL) -m 0755
INSTALL_DATA= $(INSTALL) -m 0644
#
@@ -30,8 +30,8 @@
# INSTALL_DATA= $(INSTALL)
# Other utilities.
-MKDIR= mkdir -p
-RM= rm -f
+MKDIR?= mkdir -p
+RM?= rm -f
# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
@@ -52,7 +52,7 @@
all: $(PLAT)
$(PLATS) help test clean:
- @cd src && $(MAKE) $@
+ @cd src && $(MAKE) $@ V=$(V) R=$(R)
install: dummy
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
diff -urN a/src/Makefile b/src/Makefile
--- a/src/Makefile 2025-07-06 19:19:14.000000000 -0500
+++ b/src/Makefile 2026-03-23 21:17:07.502287273 -0500
@@ -6,15 +6,21 @@
# Your platform. See PLATS for possible values.
PLAT= guess
-CC= gcc -std=gnu99
-CFLAGS= -O2 -Wall -Wextra $(SYSCFLAGS) $(MYCFLAGS)
-LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
-LIBS= -lm $(SYSLIBS) $(MYLIBS)
-
-AR= ar rcu
-RANLIB= ranlib
-RM= rm -f
-UNAME= uname
+CC?= cc
+CXX?= c++
+CCSTD?= -std=gnu99
+CFLAGS?= $(CCSTD) -O2 -Wall -Wextra
+ALLCFLAGS= $(CFLAGS) $(SYSCFLAGS) $(MYCFLAGS)
+LDFLAGS?=
+ALLLDFLAGS= $(LDFLAGS) $(SYSLDFLAGS) $(MYLDFLAGS)
+LIBS?= -lm
+ALLLIBS= $(LIBS) $(SYSLIBS) $(MYLIBS)
+
+AR?= ar
+ARFLAGS?= rcu
+RANLIB?= ranlib
+RM?= rm -f
+UNAME?= uname
SYSCFLAGS=
SYSLDFLAGS=
@@ -28,11 +34,20 @@
# Special flags for compiler modules; -Os reduces code size.
CMCFLAGS=
+# Use C mode when a C++ driver is selected for compiling Lua's C sources.
+CCMODE=
+CCLINK= $(CC)
+ifneq ($(filter %++ c++,$(notdir $(firstword $(CC)))),)
+CCMODE= -x c
+endif
+CCCOMPILE= $(CC) $(CCMODE)
+
# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
PLATS= guess aix bsd c89 freebsd generic ios linux macosx mingw posix solaris
LUA_A= liblua.a
+LUA_SO= liblua.so
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
@@ -44,7 +59,7 @@
LUAC_O= luac.o
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
ALL_A= $(LUA_A)
# Targets start here.
@@ -57,14 +72,19 @@
a: $(ALL_A)
$(LUA_A): $(BASE_O)
- $(AR) $@ $(BASE_O)
+ $(AR) $(ARFLAGS) $@ $(BASE_O)
$(RANLIB) $@
+$(LUA_SO): $(CORE_O) $(LIB_O)
+ $(CCLINK) -shared $(ALLLDFLAGS) -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? $(ALLLIBS)
+ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
+ ln -sf $(LUA_SO).$(R) $(LUA_SO)
+
$(LUA_T): $(LUA_O) $(LUA_A)
- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+ $(CCLINK) -o $@ $(ALLLDFLAGS) $(LUA_O) $(LUA_A) $(ALLLIBS)
$(LUAC_T): $(LUAC_O) $(LUA_A)
- $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+ $(CCLINK) -o $@ $(ALLLDFLAGS) $(LUAC_O) $(LUA_A) $(ALLLIBS)
test:
./$(LUA_T) -v
@@ -73,15 +93,22 @@
$(RM) $(ALL_T) $(ALL_O)
depend:
- @$(CC) $(CFLAGS) -MM l*.c
+ @$(CCCOMPILE) $(ALLCFLAGS) -MM l*.c
echo:
@echo "PLAT= $(PLAT)"
@echo "CC= $(CC)"
+ @echo "CXX= $(CXX)"
+ @echo "CCSTD= $(CCSTD)"
+ @echo "CCMODE= $(CCMODE)"
@echo "CFLAGS= $(CFLAGS)"
+ @echo "ALLCFLAGS= $(ALLCFLAGS)"
@echo "LDFLAGS= $(LDFLAGS)"
+ @echo "ALLLDFLAGS= $(ALLLDFLAGS)"
@echo "LIBS= $(LIBS)"
+ @echo "ALLLIBS= $(ALLLIBS)"
@echo "AR= $(AR)"
+ @echo "ARFLAGS= $(ARFLAGS)"
@echo "RANLIB= $(RANLIB)"
@echo "RM= $(RM)"
@echo "UNAME= $(UNAME)"
@@ -105,7 +132,7 @@
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E"
c89:
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_C89" CC="gcc -std=c89"
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_C89" CCSTD="-std=c89"
@echo ''
@echo '*** C89 does not guarantee 64-bit integers for Lua.'
@echo '*** Make sure to compile all external Lua libraries'
@@ -113,7 +140,7 @@
@echo ''
FreeBSD NetBSD OpenBSD freebsd:
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc"
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit"
generic: $(ALL)
@@ -141,15 +168,18 @@
# Targets that do not create files (not all makes understand .PHONY).
.PHONY: all $(PLATS) help test clean default o a depend echo
+%.o: %.c
+ $(CCCOMPILE) $(ALLCFLAGS) -c -o $@ $<
+
# Compiler modules may use special flags.
llex.o:
- $(CC) $(CFLAGS) $(CMCFLAGS) -c llex.c
+ $(CCCOMPILE) $(ALLCFLAGS) $(CMCFLAGS) -c -o $@ llex.c
lparser.o:
- $(CC) $(CFLAGS) $(CMCFLAGS) -c lparser.c
+ $(CCCOMPILE) $(ALLCFLAGS) $(CMCFLAGS) -c -o $@ lparser.c
lcode.o:
- $(CC) $(CFLAGS) $(CMCFLAGS) -c lcode.c
+ $(CCCOMPILE) $(ALLCFLAGS) $(CMCFLAGS) -c -o $@ lcode.c
# DO NOT DELETE
+20
View File
@@ -0,0 +1,20 @@
V=%VER%
R=%REL%
prefix=/usr
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include
INSTALL_LIB=${prefix}/lib
INSTALL_MAN=${prefix}/man/man1
INSTALL_LMOD=${prefix}/share/lua/${V}
INSTALL_CMOD=${prefix}/lib/lua/${V}
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua -lm
Cflags: -I${includedir}
+36
View File
@@ -0,0 +1,36 @@
[alternatives]
provides = ["lua55"]
[build]
type = "custom"
[dependencies]
runtime = ["readline"]
[[manual_sources]]
files = [
"paths.patch",
"lua.pc",
"lua-5.5.0-posixify.patch"
]
[package]
description = "Powerful lightweight programming language designed for extending applications"
homepage = "https://www.lua.org/"
license = "MIT"
name = "lua"
version = "5.5.0"
[[source]]
extract_dir = "$name-$version"
patches = [
"paths.patch",
"lua-5.5.0-posixify.patch"
]
post_extract = [
"cp -r ../lua-$version ../lua++-$version",
'sed "s/%VER%/5.5/g;s/%REL%/$version/g" ../lua.pc > lua.pc',
'sed "s/%VER%/5.5/g;s/%REL%/$version/g;s/-llua/-llua++/g" lua.pc > ../lua++-$version/lua++.pc',
]
sha256 = "57ccc32bbbd005cab75bcc52444052535af691789dba2b9016d5c50640d68b3d"
url = "https://www.lua.org/ftp/lua-$version.tar.gz"
+33
View File
@@ -0,0 +1,33 @@
diff --git a/src/luaconf.h b/src/luaconf.h
--- a/src/luaconf.h 2023-05-03 06:02:30.000000000 +1000
+++ b/src/luaconf.h 2023-12-13 12:24:30.287727037 +1100
@@ -224,19 +224,28 @@
#else /* }{ */
#define LUA_ROOT "/usr/local/"
+#define LUA_ROOT2 "/usr/"
#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
+#define LUA_LDIR2 LUA_ROOT2 "share/lua/" LUA_VDIR "/"
#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
+#define LUA_CDIR2 LUA_ROOT2 "lib/lua/" LUA_VDIR "/"
#if !defined(LUA_PATH_DEFAULT)
#define LUA_PATH_DEFAULT \
LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
+ LUA_LDIR2"?.lua;" LUA_LDIR2"?/init.lua;" \
LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
+ LUA_CDIR2"?.lua;" LUA_CDIR2"?/init.lua;" \
"./?.lua;" "./?/init.lua"
#endif
#if !defined(LUA_CPATH_DEFAULT)
#define LUA_CPATH_DEFAULT \
- LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so"
+ LUA_CDIR"?.so;" \
+ LUA_CDIR2"?.so;" \
+ LUA_CDIR"loadall.so;" \
+ LUA_CDIR2"loadall.so;" \
+ "./?.so"
#endif
#endif /* } */
+16
View File
@@ -0,0 +1,16 @@
--- netpbm-10.29/converter/other/pstopnm.c.CAN-2005-2471 2005-08-15 02:39:46.000000000 +0200
+++ netpbm-10.29/converter/other/pstopnm.c 2005-08-16 15:38:15.000000000 +0200
@@ -896,11 +896,11 @@
ghostscriptProg, arg0,
deviceopt, outfileopt, gopt, ropt, textalphabitsopt,
"-q", "-dNOPAUSE",
- "-dSAFER", "-");
+ "-dPARANOIDSAFER", "-");
}
execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt,
- textalphabitsopt, "-q", "-dNOPAUSE", "-dSAFER", "-", NULL);
+ textalphabitsopt, "-q", "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL);
pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)",
ghostscriptProg, errno, strerror(errno));
File diff suppressed because it is too large Load Diff
+312
View File
@@ -0,0 +1,312 @@
diff --git a/converter/other/anytopnm b/converter/other/anytopnm
index acf8813..335312a 100755
--- a/converter/other/anytopnm
+++ b/converter/other/anytopnm
@@ -537,12 +534,17 @@ typeDescription=`file "$file" | cut -d: -f2- | cut -c2-`
determineType "$file" "$mimeType" "$typeDescription" "$fileExtension"
if [ "$filetype" = "unknown" ]; then
- echo "$progname: unknown file type. " \
- "'file' says mime type is '$mimeType', " 1>&2
- echo "type description is '$typeDescription'" 1>&2
+ if [ -d "$tempdir" ] ; then
+ rm -rf "$tempdir"
+ fi
+
exit 1
fi
convertIt $file $filetype
+if [ -d "$tempdir" ] ; then
+ rm -rf "$tempdir"
+fi
+
exit 0
diff --git a/editor/pnmmargin b/editor/pnmmargin
index 0f57d1d..e0d3625 100755
--- a/editor/pnmmargin
+++ b/editor/pnmmargin
@@ -90,6 +86,7 @@ else
-white | -black )
pnmpad $plainopt $color \
-left=$size -right=$size -top=$size -bottom=$size $tmp1
+ rm -rf "$tempdir"
exit
;;
* )
@@ -103,4 +100,4 @@ else
pnmcat -tb $plainopt $tmp3 $tmp4 $tmp3
fi
-
+rm -rf "$tempdir"
diff --git a/editor/ppmfade b/editor/ppmfade
index 027fc79..8eb094f 100755
--- a/editor/ppmfade
+++ b/editor/ppmfade
@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@"
#
##############################################################################
use strict;
+use File::Temp "tempdir";
my $SPREAD = 1;
my $SHIFT = 2;
@@ -137,20 +138,26 @@ if ($first_file ne "undefined") {
print("Frames are " . $width . "W x " . $height . "H\n");
+#
+# We create a tmp-directory right here
+#
+my $tmpdir = tempdir("ppmfade.XXXXXX", CLEANUP => 1);
+
+
if ($first_file eq "undefined") {
print "Fading from black to ";
- system("ppmmake \\#000 $width $height >junk1$$.ppm");
+ system("ppmmake \\#000 $width $height >$tmpdir/junk1$$.ppm");
} else {
print "Fading from $first_file to ";
- system("cp", $first_file, "junk1$$.ppm");
+ system("cp", $first_file, "$tmpdir/junk1$$.ppm");
}
if ($last_file eq "undefined") {
print "black.\n";
- system("ppmmake \\#000 $width $height >junk2$$.ppm");
+ system("ppmmake \\#000 $width $height >$tmpdir/junk2$$.ppm");
} else {
print "$last_file\n";
- system("cp", $last_file, "junk2$$.ppm");
+ system("cp", $last_file, "$tmpdir/junk2$$.ppm");
}
#
@@ -158,14 +165,14 @@ if ($last_file eq "undefined") {
#
# Here's what our temporary files are:
-# junk1$$.ppm: The original (fade-from) image
-# junk2$$.ppm: The target (fade-from) image
-# junk3$$.ppm: The frame of the fade for the current iteration of the
-# the for loop.
-# junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate
-# image to another, this is the first frame of that
-# sequence.
-# junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence
+# $tmpdir/junk1$$.ppm: The original (fade-from) image
+# $tmpdir/junk2$$.ppm: The target (fade-from) image
+# $tmpdir/junk3$$.ppm: The frame of the fade for the current iteration of the
+# the for loop.
+# $tmpdir/junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate
+# image to another, this is the first frame of that
+# sequence.
+# $tmpdir/junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence
my $i; # Frame number
for ($i = 1; $i <= $nframes; $i++) {
@@ -173,147 +180,147 @@ for ($i = 1; $i <= $nframes; $i++) {
if ($mode eq $SPREAD) {
if ($i <= 10) {
my $n = $spline20[$i] * 100;
- system("ppmspread $n junk1$$.ppm >junk3$$.ppm");
+ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n;
$n = $spline20[$i] * 100;
- system("ppmspread $n junk1$$.ppm >junk1a$$.ppm");
+ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm");
$n = (1-$spline20[$i-10]) * 100;
- system("ppmspread $n junk2$$.ppm >junk2a$$.ppm");
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm");
$n = $spline10[$i-10];
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = (1-$spline20[$i-10])*100;
- system("ppmspread $n junk2$$.ppm >junk3$$.ppm");
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
} elsif ($mode eq $SHIFT) {
if ($i <= 10) {
my $n = $spline20[$i] * 100;
- system("ppmshift $n junk1$$.ppm >junk3$$.ppm");
+ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n;
$n = $spline20[$i] * 100;
- system("ppmshift $n junk1$$.ppm >junk1a$$.ppm");
+ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm");
$n = (1-$spline20[$i-10])*100;
- system("ppmshift $n junk2$$.ppm >junk2a$$.ppm");
+ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm");
$n = $spline10[$i-10];
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = (1-$spline20[$i-10]) * 100;
- system("ppmshift $n junk2$$.ppm >junk3$$.ppm");
+ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
} elsif ($mode eq $RELIEF) {
if ($i == 1) {
- system("ppmrelief junk1$$.ppm >junk1r$$.ppm");
+ system("ppmrelief $tmpdir/junk1$$.ppm >$tmpdir/junk1r$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1r$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1r$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1r$$.ppm junk2r$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1r$$.ppm $tmpdir/junk2r$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2r$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2r$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmrelief junk2$$.ppm >junk2r$$.ppm");
+ system("ppmrelief $tmpdir/junk2$$.ppm >$tmpdir/junk2r$$.ppm");
}
} elsif ($mode eq $OIL) {
if ($i == 1) {
- system("ppmtopgm junk1$$.ppm | pgmoil >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk1o$$.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmoil >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk1o$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2$$.ppm | pgmoil >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk2o$$.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmoil >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk2o$$.ppm");
}
} elsif ($mode eq $EDGE) {
if ($i == 1) {
- system("ppmtopgm junk1$$.ppm | pgmedge >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk1o$$.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmedge >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk1o$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2$$.ppm | pgmedge >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk2o$$.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmedge >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk2o$$.ppm");
}
} elsif ($mode eq $BENTLEY) {
if ($i == 1) {
- system("ppmtopgm junk1$$.ppm | pgmbentley >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk1o$$.ppm");
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmbentley >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk1o$$.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2$$.ppm | pgmbentley >junko$$.ppm");
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
- ">junk2o$$.ppm");
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmbentley >$tmpdir/junko$$.ppm");
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
+ ">$tmpdir/junk2o$$.ppm");
}
} elsif ($mode eq $BLOCK) {
if ($i <= 10) {
my $n = 1 - 1.9*$spline20[$i];
- system("pamscale $n junk1$$.ppm | " .
- "pamscale -width $width -height $height >junk3$$.ppm");
+ system("pamscale $n $tmpdir/junk1$$.ppm | " .
+ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
} else {
my $n = 1 - 1.9*$spline20[31-$i];
- system("pamscale $n junk2$$.ppm | " .
- "pamscale -width $width -height $height >junk3$$.ppm");
+ system("pamscale $n $tmpdir/junk2$$.ppm | " .
+ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm");
}
if ($i == 10) {
- system("cp", "junk3$$.ppm", "junk1a$$.ppm");
- system("pamscale $n junk2$$.ppm | " .
- "pamscale -width $width -height $height >junk2a$$.ppm");
+ system("cp", "$tmpdir/junk3$$.ppm", "$tmpdir/junk1a$$.ppm");
+ system("pamscale $n $tmpdir/junk2$$.ppm | " .
+ "pamscale -width $width -height $height >$tmpdir/junk2a$$.ppm");
}
} elsif ($mode eq $MIX) {
my $fade_factor = sqrt(1/($nframes-$i+1));
- system("ppmmix $fade_factor junk1$$.ppm junk2$$.ppm >junk3$$.ppm");
+ system("ppmmix $fade_factor $tmpdir/junk1$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
} else {
print("Internal error: impossible mode value '$mode'\n");
}
my $outfile = sprintf("%s.%04d.ppm", $base_name, $i);
- system("cp", "junk3$$.ppm", $outfile);
+ system("cp", "$tmpdir/junk3$$.ppm", $outfile);
}
#
# Clean up shop.
#
-system("rm junk*$$.ppm");
+system("rm $tmpdir/junk*$$.ppm");
exit(0);
+67
View File
@@ -0,0 +1,67 @@
[build]
type = "makefile"
[build.flags]
makefile_commands = ["make"]
makefile_install_commands = [
'make pkgdir="$DESTDIR/usr" PKGMANDIR=share/man install-run install-dev',
'''echo -e '#!/bin/sh\npamditherbw $@ | pamtopnm\n' > "$DESTDIR/usr/bin/pgmtopbm"''',
]
[dependencies]
runtime = [
"sh",
"libcxx",
"libunwind",
"jbigkit",
"glibc",
"libjpeg-turbo",
"libpng",
"libtiff",
"libxml215",
"perl",
"zlib-ng",
]
[[manual_sources]]
files = [
"reproducible-man-gzip.patch",
"netpbm-security-scripts.patch",
"netpbm-security-code.patch",
"netpbm-CAN-2005-2471.patch",
]
[package]
description = "A toolkit for manipulation of graphic images"
homepage = "http://netpbm.sourceforge.net/"
license = [
"Artistic-1.0",
"GPL-2.0-only",
"LGPL-2.0-only",
"MIT",
]
name = "netpbm"
version = "10.86.48"
[[source]]
extract_dir = "$name-$version"
patches = [
"netpbm-CAN-2005-2471.patch",
"netpbm-security-code.patch",
"netpbm-security-scripts.patch",
"reproducible-man-gzip.patch",
]
post_extract = [
"cp config.mk.in config.mk",
"echo 'CFLAGS_SHLIB = -fPIC' >> config.mk",
"echo 'TIFFLIB = libtiff.so' >> config.mk",
"echo 'JPEGLIB = libjpeg.so' >> config.mk",
"echo 'PNGLIB = libpng.so' >> config.mk",
"echo 'ZLIB = libz.so' >> config.mk",
"echo 'JBIGLIB = /usr/lib/libjbig.a' >> config.mk",
"sed -i 's|misc|share/netpbm|' common.mk",
"sed -e 's|/sharedlink|/lib|' -e 's|/staticlink|/lib|' -i lib/Makefile",
"sed -i 's|install.manwebmain install.manweb install.man|install.man|' GNUmakefile",
]
sha256 = "709a98e871aeae892437274d68833c804dd41a4b8daf8fd978cac2782da4148a"
url = "https://downloads.sourceforge.net/project/netpbm/super_stable/$version/netpbm-$version.tgz"
+16
View File
@@ -0,0 +1,16 @@
diff -aur netpbm-10.73.31.old/buildtools/manpage.mk netpbm-10.73.31/buildtools/manpage.mk
--- netpbm-10.73.31.old/buildtools/manpage.mk 2020-05-28 18:41:20.400790506 +0200
+++ netpbm-10.73.31/buildtools/manpage.mk 2020-05-28 18:50:50.444143414 +0200
@@ -388,9 +388,9 @@
.PHONY : installman
installman: report
set -x
- for f in $(wildcard $(MAN1)); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man1/$$f.gz; fi; done
- for f in $(wildcard $(MAN3)); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man3/$$f.gz; fi; done
- for f in $(wildcard $(MAN5)); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man5/$$f.gz; fi; done
+ for f in $(wildcard $(MAN1)); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man1/$$f.gz; fi; done
+ for f in $(wildcard $(MAN3)); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man3/$$f.gz; fi; done
+ for f in $(wildcard $(MAN5)); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man5/$$f.gz; fi; done
# This will uninstall the man pages.
+43
View File
@@ -0,0 +1,43 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
configure = [
"-Dman-pages=true",
"-Ddocumentation=false",
"-Dsysprof=disabled",
]
skip_tests = true
[dependencies]
build = [
"gobject-introspection",
"help2man",
"meson",
"python-docutils",
]
runtime = [
"cairo",
"fontconfig",
"freetype2",
"fribidi",
"glib2",
"glibc",
"harfbuzz",
"libthai",
"libx11",
"libxft",
"libxrender",
]
[package]
description = "A library for layout and rendering of text"
homepage = "https://www.pango.org/"
license = "LGPL-2.1-or-later"
name = "pango"
version = "1.57.0"
[[source]]
extract_dir = "$name-$version"
url = "https://gitlab.gnome.org/GNOME/pango.git#$version"
@@ -0,0 +1,22 @@
[build]
type = "python"
[dependencies]
build = [
"python-hatchling",
"python-hatch-fancy-pypi-readme",
"python-hatch-vcs",
"git"
]
runtime = ["python-pygments"]
[package]
description = "Collection of accessible pygments styles"
homepage = "https://github.com/Quansight-Labs/accessible-pygments"
license = "BSD-3-Clause"
name = "python-accessible-pygments"
version = "0.0.5"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/Quansight-Labs/accessible-pygments.git#v$version"
@@ -0,0 +1,28 @@
[build]
type = "python"
[dependencies]
build = ["python-hatchling"]
optional = [
"python-cchardet",
"python-chardet",
"python-lxml",
"python-html5lib",
]
runtime = [
"python",
"python-soupsieve",
"python-typing_extensions",
]
[package]
description = "Python HTML/XML parser designed for quick turnaround projects like screen-scraping"
homepage = "https://www.crummy.com/software/BeautifulSoup/"
license = "MIT"
name = "python-beautifulsoup4"
version = "4.14.3"
[[source]]
extract_dir = "$name-$version"
sha256 = "6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86"
url = "https://www.crummy.com/software/BeautifulSoup/bs4/download/4.14/beautifulsoup4-$version.tar.gz"
+31
View File
@@ -0,0 +1,31 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
post_install = [ '''python -m compileall -d /usr/lib "$DESTDIR/usr/lib"''', '''python -O -m compileall -d /usr/lib "$DESTDIR/usr/lib"''', '''python -m sphinx -b html docs "$DESTDIR/usr/share/doc/pycairo/html"''', '''rm -r "$DESTDIR/usr/share/doc/pycairo/html/.doctrees"''' ]
split-docs = true
[dependencies]
build = [
"meson",
"python-sphinx",
"python-sphinx_rtd_theme",
]
runtime = [
"cairo",
"python",
]
test = [ "python-pytest" ]
[package]
description = "Python bindings for the cairo graphics library"
homepage = "https://pycairo.readthedocs.io/en/latest/"
license = "LGPL-2.1-Only OR MPL-1.1"
name = "python-cairo"
version = "1.29.0"
[[source]]
extract_dir = "$name-$version"
sha256 = "f3f7fde97325cae80224c09f12564ef58d0d0f655da0e3b040f5807bd5bd3142"
url = "https://github.com/pygobject/pycairo/releases/download/v$version/pycairo-$version.tar.gz"
+42
View File
@@ -0,0 +1,42 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
configure = ["-Ddoc=true"]
post_compile = ['python "tools/generate-pkginfo.py" $version PKG-INFO']
post_install = [
'python -m compileall -d /usr/lib "$DESTDIR/usr/lib"',
'python -O -m compileall -d /usr/lib "$DESTDIR/usr/lib"',
"""install -Dm644 -t "$DESTDIR$(python -c 'import site; print(site.getsitepackages()[0])')/dbus_python.egg-info/" PKG-INFO""",
]
skip_tests = true # bash
[dependencies]
build = [
"meson",
"python-gobject",
"python-pyproject-metadata",
"python-sphinx",
"python-sphinx_rtd_theme",
"python-sphinxcontrib-jquery",
"python-tomli",
]
optional = ["python-gobject"]
runtime = [
"dbus",
"glibc",
"glib2",
"python",
]
[package]
description = "Python bindings for D-Bus"
homepage = "https://www.freedesktop.org/wiki/Software/dbus/"
license = "MIT"
name = "python-dbus"
version = "1.4.0"
[[source]]
extract_dir = "$name-$version"
url = "https://gitlab.freedesktop.org/dbus/dbus-python.git#dbus-python-$version"
@@ -0,0 +1,22 @@
[build]
type = "python"
[dependencies]
build = ["python-flit-core"]
runtime = [
"python",
"python-rich",
"python-markdown-it-py",
"python-docutils",
]
[package]
description = "makes it easier to build command line tools with great error reporting"
homepage = "https://github.com/pradyunsg/diagnostic"
license = "MIT"
name = "python-diagnostic"
version = "3.0.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/pradyunsg/diagnostic.git#$version"
+39
View File
@@ -0,0 +1,39 @@
[build]
type = "meson"
[build.flags]
build_dir = "build"
skip_tests = true
post_install = [ '''python -m compileall -d /usr/lib "$DESTDIR/usr/lib"''', '''python -O -m compileall -d /usr/lib "$DESTDIR/usr/lib"''', '''python -m sphinx -b html docs "$DESTDIR/usr/share/doc/pygobject/html"''', '''rm -r "$DESTDIR/usr/share/doc/pygobject/html/.doctrees"''' ]
split-docs = true
[dependencies]
build = [
"meson",
"python-cairo",
"python-pydata-sphinx-theme",
"python-setuptools",
"python-sphinx",
"python-sphinx-copybutton",
"git"
]
optional = ["python-cairo"]
runtime = [
"glib2",
"glibc",
"gobject-introspection",
"libffi",
"python",
]
[package]
description = "Python bindings for GLib/GObject/GIO/GTK"
homepage = "https://pygobject.gnome.org/"
license = "LGPL-2.1-or-later"
name = "python-gobject"
version = "3.56.1"
[[source]]
extract_dir = "$name-$version"
url = "https://gitlab.gnome.org/GNOME/pygobject.git#$version"
@@ -0,0 +1,19 @@
[build]
type = "python"
[dependencies]
runtime = [
"python",
"python-hatchling",
]
[package]
description = "Fancy PyPI READMEs with Hatch"
homepage = "https://github.com/hynek/hatch-fancy-pypi-readme"
license = "MIT"
name = "python-hatch-fancy-pypi-readme"
version = "25.1.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/hynek/hatch-fancy-pypi-readme.git#$version"
@@ -0,0 +1,21 @@
[build]
type = "python"
[dependencies]
build = [
"python-setuptools",
"python-setuptools-scm",
"git"
]
runtime = ["python"]
[package]
description = "brain-dead simple config-ini parsing"
homepage = "https://github.com/pytest-dev/iniconfig"
license = "MIT"
name = "python-iniconfig"
version = "2.3.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/pytest-dev/iniconfig.git#v$version"
+23
View File
@@ -0,0 +1,23 @@
[build]
type = "python"
[dependencies]
build = [
"python-setuptools",
"python-wheel",
]
runtime = [
"file",
"python",
]
[package]
description = "A python wrapper for libmagic"
homepage = "https://github.com/ahupp/python-magic"
license = "MIT"
name = "python-magic"
version = "0.4.27"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/ahupp/python-magic#$version"
+24
View File
@@ -0,0 +1,24 @@
[build]
type = "python"
[dependencies]
build = [
"python-wheel",
"python-setuptools-scm",
]
optional = ["nodejs"]
runtime = [
"python-setuptools",
"make",
]
[package]
description = "Node.js virtual environment builder"
homepage = "https://github.com/ekalinin/nodeenv"
license = "BSD-3-Clause"
name = "python-nodeenv"
version = "1.10.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/ekalinin/nodeenv.git#$version"
@@ -0,0 +1,34 @@
[build]
type = "python"
[build.flags]
env_vars = [ "STB_USE_SYSTEM_NODE=true" ]
[dependencies]
build = ["python-sphinx-theme-builder", "python-diagnostic", "nodejs", "git" ]
runtime = [
"python",
"python-accessible-pygments",
"python-beautifulsoup4",
"python-babel",
"python-docutils",
"python-jinja",
"python-pygments",
"python-requests",
"python-sphinx",
"python-typing_extensions",
]
[package]
description = "Clean, Bootstrap-based Sphinx theme by and for the PyData community."
homepage = "https://pydata-sphinx-theme.readthedocs.io/"
license = "BSD-3-Clause"
name = "python-pydata-sphinx-theme"
version = "0.16.1"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/pydata/pydata-sphinx-theme.git#v$version"
post_extract = [
"sed -i \"s/^node-version = \\\".*\\\"/node-version = \\\"$(node --version | sed 's/^v//')\\\"/\" pyproject.toml",
]
+27
View File
@@ -0,0 +1,27 @@
[build]
type = "python"
[dependencies]
build = [
"python-setuptools-scm",
"python-setuptools",
"python-wheel",
"git"
]
runtime = [
"python-iniconfig",
"python-packaging",
"python-pluggy",
"python-pygments",
]
[package]
description = "Simple powerful testing with Python"
homepage = "https://docs.pytest.org/"
license = "MIT"
name = "python-pytest"
version = "9.0.2"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/pytest-dev/pytest.git#$version"
+25
View File
@@ -0,0 +1,25 @@
[build]
type = "python"
[dependencies]
build = [
"python-wheel",
"python-poetry-core",
]
runtime = [
"python",
"python-markdown-it-py",
"python-pygments",
]
[package]
description = "Python library for rich text and beautiful formatting in the terminal"
homepage = "https://github.com/Textualize/rich"
license = "MIT"
name = "python-rich"
version = "14.3.3"
[[source]]
extract_dir = "$name-$version"
sha256 = "192256ed24eac979015a95e98ad240c970201892bf12b2f3c2fcc1d729f7e093"
url = "https://github.com/Textualize/rich.git#v$version"
@@ -0,0 +1,20 @@
[build]
type = "python"
[dependencies]
build = [
"python-setuptools",
"python-wheel",
]
runtime = ["python"]
[package]
description = "Python with the SmartyPants"
homepage = "https://github.com/justinmayer/smartypants.py"
license = "BSD-2-Clause"
name = "python-smartypants"
version = "2.0.2"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/justinmayer/smartypants.py.git#v$version"
@@ -0,0 +1,17 @@
[build]
type = "python"
[dependencies]
build = [ "python-hatchling" ]
runtime = [ "python", "python-beautifulsoup4" ]
[package]
description = "A CSS4 selector implementation for Beautiful Soup"
homepage = "https://github.com/facelessuser/soupsieve"
license = "MIT"
name = "python-soupsieve"
version = "2.8.3"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/facelessuser/soupsieve.git#$version"
@@ -0,0 +1,18 @@
[build]
type = "python"
[dependencies]
build = ["python-setuptools"]
runtime = ["python-sphinx"]
[package]
description = 'Sphinx extension to add a "copy" button to code blocks'
homepage = "https://github.com/executablebooks/sphinx-copybutton"
license = "MIT"
name = "python-sphinx-copybutton"
version = "0.5.2"
[[source]]
extract_dir = "$name-$version"
sha256 = "4cf17c82fb9646d1bc9ca92ac280813a3b605d8c421225fd9913154103ee1fbd"
url = "https://files.pythonhosted.org/packages/source/s/sphinx-copybutton/sphinx-copybutton-$version.tar.gz"
@@ -0,0 +1,28 @@
[build]
type = "python"
[dependencies]
build = ["python-flit-core"]
optional = [
"python-click",
"python-sphinx-autobuild",
]
runtime = [
"python",
"python-nodeenv",
"python-packaging",
"python-pyproject-metadata",
"python-rich",
"python-setuptools",
]
[package]
description = "Python build backend for Sphinx themes"
homepage = "https://github.com/pradyunsg/sphinx-theme-builder"
license = "MIT"
name = "python-sphinx-theme-builder"
version = "0.3.2"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/pradyunsg/sphinx-theme-builder.git#$version"
+17
View File
@@ -0,0 +1,17 @@
[build]
type = "python"
[dependencies]
build = ["python-flit-core"]
runtime = ["python"]
[package]
description = "A lil' TOML parser"
homepage = "https://github.com/hukkin/tomli"
license = "MIT"
name = "python-tomli"
version = "2.4.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/hukkin/tomli.git#$version"
@@ -0,0 +1,23 @@
[build]
type = "python"
[dependencies]
build = [
"python-hatchling",
"python-wheel",
]
runtime = [
"python",
"python-smartypants",
]
[package]
description = "filters to make caring about typography on the web a bit easier"
homepage = "https://github.com/justinmayer/typogrify"
license = "BSD-3-Clause"
name = "python-typogrify"
version = "2.1.0"
[[source]]
extract_dir = "$name-$version"
url = "https://github.com/justinmayer/typogrify#$version"
+1
View File
@@ -0,0 +1 @@
/usr/lib/R/lib
+11
View File
@@ -0,0 +1,11 @@
[Desktop Entry]
Name=R
GenericName=environment for statistical computing
Comment=language and environment for statistical computing and graphics
Exec=R
Icon=/usr/share/pixmaps/r.png
DocPath=/usr/lib/R/doc/html/index.html
StartupNotify=true
Terminal=true
Type=Application
Categories=Math;Science;Education
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

+100
View File
@@ -0,0 +1,100 @@
[build]
type = "autotools"
[build.flags]
sysconfdir = "/etc/R"
configure = [
"rsharedir=/usr/share/R/",
"rincludedir=/usr/include/R/",
"rdocdir=/usr/share/doc/R/",
"--with-x",
"--enable-R-shlib",
"--enable-memory-profiling",
"--with-lapack",
"--with-blas",
"F77=flang",
"LIBnn=lib",
]
make_dirs = [
"./",
"src/nmath/standalone",
]
make_install_dirs = [
"./",
"src/nmath/standalone",
]
post_compile = [
"make info",
"cd src/nmath/standalone && make shared",
]
post_install = [
'sed -i "s|$DESTDIR ||" "$DESTDIR/usr/bin/R"',
'rm "$DESTDIR"/usr/lib/R/bin/R',
'cd "$DESTDIR"/usr/lib/R/bin && ln -s ../../../bin/R',
'install -Dm644 "$DEPOT_SPECDIR"/r.desktop -t "$DESTDIR"/usr/share/applications',
'install -Dm644 "$DEPOT_SPECDIR"/r.png -t "$DESTDIR"/usr/share/pixmaps',
'install -Dm644 "$DEPOT_SPECDIR"/R.conf -t "$DESTDIR"/etc/ld.so.conf.d',
'install -d "$DESTDIR"/etc/R',
'cd "$DESTDIR"/usr/lib/R/etc && for _i in *; do mv -f "$_i" "$DESTDIR/etc/R" && ln -s "/etc/R/$_i" "$_i"; done',
]
skip_tests = true
keep = [ "etc/R/Makeconf", "etc/R/Renviron", "etc/R/ldpaths", "etc/R/repositories", "etc/R/javaconf" ]
[dependencies]
build = [
"flang",
"tk",
]
optional = [
"flang",
"blas-openblas",
]
runtime = [
"sh",
"blas",
"bzip2",
"cairo",
"curl",
"libcxx",
"libunwind",
"glib2",
"glibc",
"icu78",
"lapack",
"libdeflate",
"libjpeg-turbo",
"libpng",
"libtiff",
"libxmu",
"libx11",
"libxt",
"pango",
"pcre2",
"readline",
"tk",
"unzip",
"which",
"xz",
"zstd",
"zlib-ng",
]
[[manual_sources]]
files = [
"r.desktop",
"r.png",
"R.conf",
]
[package]
description = "Language and environment for statistical computing and graphics"
homepage = "https://www.r-project.org/"
license = "GPL-2.0-or-Later"
name = "r"
version = "4.5.3"
[[source]]
extract_dir = "$name-$version"
post_extract = ["sed -i 's|$(rsharedir)/texmf|${datarootdir}/texmf|' share/Makefile.in"]
sha256 = "c9a6555bb94c104b9c02905360c57de0dcac5dd31923dc5bb6ef3af7744615f1"
url = "https://cran.r-project.org/src/base/R-4/R-$version.tar.xz"
+30
View File
@@ -0,0 +1,30 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = ["-G Ninja"]
post_install = [ 'ln -s sdl2-compat.pc "$DESTDIR/usr/lib/pkgconfig/sdl2.pc"' ]
no-delete-static = true
[dependencies]
build = [
"cmake",
"ninja",
]
runtime = [
"sdl3",
"glibc",
]
[package]
description = "An SDL2 compatibility layer that uses SDL3 behind the scenes"
homepage = "https://github.com/libsdl-org/sdl2-compat"
license = "Zlib"
name = "sdl2-compat"
version = "2.32.64"
[[source]]
extract_dir = "$name-$version"
sha256 = "b2fa522e7bb08113534904b3dc2d2f7ff7b0c259224d86c12374d5b4a4027930"
url = "https://github.com/libsdl-org/sdl2-compat/releases/download/release-$version/sdl2-compat-$version.tar.gz"
+55
View File
@@ -0,0 +1,55 @@
From 8b6b251966b5ea14f9df87c834ffa9ea456b5600 Mon Sep 17 00:00:00 2001
From: Frank Praznik <frank.praznik@gmail.com>
Date: Tue, 17 Mar 2026 15:01:56 -0400
Subject: [PATCH] x11: Fix building when XInput2 is not available
---
src/video/x11/SDL_x11xinput2.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/video/x11/SDL_x11xinput2.c b/src/video/x11/SDL_x11xinput2.c
index c8b37cec98217..5cf75901f2c14 100644
--- a/src/video/x11/SDL_x11xinput2.c
+++ b/src/video/x11/SDL_x11xinput2.c
@@ -34,7 +34,6 @@
#ifdef SDL_VIDEO_DRIVER_X11_XINPUT2
static bool xinput2_initialized;
-#endif
#if defined(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO) || defined(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH)
static bool xinput2_scrolling_supported;
static bool xinput2_multitouch_supported;
@@ -137,6 +136,7 @@ static SDL_Window *xinput2_get_sdlwindow(SDL_VideoData *videodata, Window window
const SDL_WindowData *windowdata = X11_FindWindow(videodata, window);
return windowdata ? windowdata->window : NULL;
}
+#endif // SDL_VIDEO_DRIVER_X11_XINPUT2
#ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO
static void xinput2_reset_scrollable_valuators(void)
@@ -751,12 +751,15 @@ void X11_HandleXinput2Event(SDL_VideoDevice *_this, XGenericEventCookie *cookie)
void X11_InitXinput2Multitouch(SDL_VideoDevice *_this)
{
+#ifdef SDL_VIDEO_DRIVER_X11_XINPUT2
xinput2_grabbed_touch_raised = false;
xinput2_active_touch_count = 0;
+#endif
}
bool X11_Xinput2HandlesMotionForWindow(SDL_WindowData *window_data)
{
+#ifdef SDL_VIDEO_DRIVER_X11_XINPUT2
/* Send the active flag once more after the touch count is zero, to suppress the
* emulated motion event when the last touch is raised.
*/
@@ -765,6 +768,9 @@ bool X11_Xinput2HandlesMotionForWindow(SDL_WindowData *window_data)
xinput2_grabbed_touch_raised = false;
return ret;
+#else
+ return false;
+#endif // SDL_VIDEO_DRIVER_X11_XINPUT2
}
void X11_Xinput2Select(SDL_VideoDevice *_this, SDL_Window *window)
+59
View File
@@ -0,0 +1,59 @@
[build]
type = "cmake"
[build.flags]
build_dir = "build"
configure = [
"-DSDL_STATIC=OFF",
"-G Ninja",
"-DSDL_RPATH=OFF",
"-DSDL_X11_XINPUT=OFF",
"-DSDL_X11_XFIXES=OFF",
"-DSDL_X11_XTEST=OFF",
"-DSDL_X11_XINPUT=OFF",
]
no-delete-static = true
[dependencies]
build = [
"cmake",
"ninja",
"wayland-protocols",
"mesa",
"alsa-lib",
"libxrandr",
"libxinerama",
"wayland",
"libxss",
"vulkan-headers",
]
optional = [
"alsa-lib",
"vulkan-driver",
]
runtime = [
"glibc",
"libxext",
"libx11",
"libgl",
"libxrender",
"libxcursor",
"hidapi",
"libusb",
]
[package]
description = "A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 3)"
homepage = "https://www.libsdl.org/"
license = "Zlib"
name = "sdl3"
version = "3.4.2"
[[manual_sources]]
file = "sdl-libxinput.patch"
[[source]]
extract_dir = "$name-$version"
sha256 = "ef39a2e3f9a8a78296c40da701967dd1b0d0d6e267e483863ce70f8a03b4050c"
url = "https://github.com/libsdl-org/SDL/releases/download/release-$version/SDL3-$version.tar.gz"
patches = [ "sdl-libxinput.patch" ]
+40
View File
@@ -0,0 +1,40 @@
[build]
type = "autotools"
[build.flags]
configure = [
"--enable-threads",
"--disable-rpath",
"--enable-64bit",
]
no-remove-static = true
skip_tests = true
make-install-targets = [ "install", "install-private-headers" ]
post_install = [
"ln -sf wish$(printf '%s' \"$version\" | sed 's/\\.[^.]*$//') $DESTDIR/usr/bin/wish",
"ln -sf libtk$(printf '%s' \"$version\" | sed 's/\\.[^.]*$//').so $DESTDIR/usr/lib/libtk.so",
"cd .. && for dir in compat generic generic/ttk unix; do install -dm755 $DESTDIR/usr/include/tk-private/$dir; install -m644 -t $DESTDIR/usr/include/tk-private/$dir $dir/*.h; done",
"sed -e 's#'$SRC_DIR'/tk'$version'/unix#/usr/lib#' -e 's#'$SRC_DIR'/tk'$version'#/usr/include#' -i $DESTDIR/usr/lib/tkConfig.sh",
]
make-install-vars = [ '''INSTALL_ROOT="$$DESTDIR"''' ]
source_subdir = "tk8.6.16/unix"
[dependencies]
runtime = [
"tcl",
"libxss",
"libxft",
]
[package]
description = "A windowing toolkit for use with tcl"
homepage = "http://tcl.sourceforge.net/"
license = "TCL"
name = "tk"
version = "8.6.16"
[[source]]
extract_dir = "$name-$version"
sha256 = "b2:80c1a87c4d8e0f2b57313a0f75568dfa877694dc2e82c64f62013317fbbb23930be3f221648768d382bf7e0cd63bb9318af104bc5fb792df70bd3a6e5be146c4"
url = "https://downloads.sourceforge.net/sourceforge/tcl/tk$version-src.tar.gz"
+245
View File
@@ -0,0 +1,245 @@
--- a/build-aux/testrunner.sh
+++ b/build-aux/testrunner.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/sh
# testrunner.sh
#
# Copyright (C) 2006-2008 Jürg Billeter
@@ -26,14 +26,22 @@
EXTRA_ENVIRONMENT_FILE=tests-extra-environment.sh
+sanitize_name() {
+ printf '%s\n' "$1" | tr '/-' '__'
+}
+
+package_flags() {
+ for package in $PACKAGES; do
+ printf ' --pkg %s' "$package"
+ done
+}
+
testfile=$1
-testdirname="$(dirname $testfile)"
+testdirname=$(dirname "$testfile")
testfile=${testfile#$srcdir/}
-testpath=${testfile/.*/}
-testpath=${testpath//\//_}
-testpath=${testpath//-/_}
-if test -f $testdirname/$EXTRA_ENVIRONMENT_FILE; then
- source $testdirname/$EXTRA_ENVIRONMENT_FILE
+testpath=$(sanitize_name "${testfile%.*}")
+if test -f "$testdirname/$EXTRA_ENVIRONMENT_FILE"; then
+ . "$testdirname/$EXTRA_ENVIRONMENT_FILE"
fi
vapidir=$abs_top_srcdir/vapi
@@ -57,21 +65,25 @@
# Incorporate the TEST_CFLAGS.
for cflag in ${TEST_CFLAGS}; do
- VALAFLAGS="${VALAFLAGS} -X ${cflag}"
+ VALAFLAGS="${VALAFLAGS} -X ${cflag}"
done
# Incorporate the user's CFLAGS. Matters if the user decided to insert
# -m32 in CFLAGS, for example.
for cflag in ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
- if [[ ! $cflag =~ ^\-O[0-9]$ ]]; then
- VALAFLAGS="${VALAFLAGS} -X ${cflag}"
- fi
+ case $cflag in
+ -O[0-9])
+ ;;
+ *)
+ VALAFLAGS="${VALAFLAGS} -X ${cflag}"
+ ;;
+ esac
done
-function testheader() {
+testheader() {
if [ "$1" = "Packages:" ]; then
shift
- PACKAGES="$PACKAGES $@"
+ PACKAGES="$PACKAGES $*"
elif [ "$*" = "Invalid Code" ]; then
INVALIDCODE=1
INHEADER=0
@@ -84,21 +96,19 @@
fi
}
-function sourceheader() {
+sourceheader() {
if [ "$1" = "Program:" ]; then
if [ "$2" = "server" ]; then
ISSERVER=1
fi
- ns=$testpath/$2
- ns=${ns//\//_}
- ns=${ns//-/_}
+ ns=$(sanitize_name "$testpath/$2")
SOURCEFILE=$ns.vala
SOURCEFILES="$SOURCEFILES $SOURCEFILE"
- elif [ $GIRWRITERTEST -eq 1 ]; then
+ elif [ "$GIRWRITERTEST" -eq 1 ]; then
if [ "$1" = "Input:" ]; then
ns=$testpath
SOURCEFILE=$testpath.vala
- cat <<EOF > $SOURCEFILE
+ cat <<EOF > "$SOURCEFILE"
[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.2", lower_case_cprefix = "test_")]
namespace Test {
EOF
@@ -108,26 +118,26 @@
fi
}
-function sourceend() {
- if [ $INVALIDCODE -eq 1 ]; then
- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg")
+sourceend() {
+ if [ "$INVALIDCODE" -eq 1 ]; then
+ PACKAGEFLAGS=$(package_flags)
echo '' > prepare
echo "$VALAC $VALAFLAGS $PACKAGEFLAGS -C $SOURCEFILE" > check
echo "RET=\$?" >> check
echo "if [ \$RET -ne 1 ]; then exit 1; fi" >> check
echo "exit 0" >> check
- elif [ $GIRWRITERTEST -eq 1 ]; then
- if [ $PART -eq 1 ]; then
- echo "}" >> $SOURCEFILE
+ elif [ "$GIRWRITERTEST" -eq 1 ]; then
+ if [ "$PART" -eq 1 ]; then
+ echo "}" >> "$SOURCEFILE"
fi
- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg")
+ PACKAGEFLAGS=$(package_flags)
echo "$VALAC $VALAFLAGS $PACKAGEFLAGS -C --library test -H test.h --gir Test-1.2.gir $ns.vala && tail -n +4 Test-1.2.gir|sed '\$d'|diff -wu Test-1.2.gir.ref -" > check
else
- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg")
+ PACKAGEFLAGS=$(package_flags)
echo "$VALAC $VALAFLAGS $PACKAGEFLAGS -o $ns$EXEEXT $SOURCEFILE" >> prepare
- if [ $DBUSTEST -eq 1 ]; then
+ if [ "$DBUSTEST" -eq 1 ]; then
echo "UPDATE_EXPECTED=$UPDATE_EXPECTED" >> prepare
- if [ $ISSERVER -eq 1 ]; then
+ if [ "$ISSERVER" -eq 1 ]; then
echo "if [ -n \"$UPDATE_EXPECTED\" ]; then" >> prepare
echo " cp -p ${SOURCEFILE%.*}.c $abs_srcdir/${testfile%.*}_server.c-expected" >> prepare
echo "elif [ -f $abs_srcdir/${testfile%.*}_server.c-expected ]; then" >> prepare
@@ -152,38 +162,40 @@
unset SOURCEFILE
testdir=_test.$$
-rm -rf ./$testdir
-mkdir $testdir
-cd $testdir
+rm -rf "./$testdir"
+mkdir "$testdir"
+cd "$testdir"
case "$testfile" in
-*.gs)
- SOURCEFILE=$testpath.gs
- ;&
-*.vala)
+*.gs|*.vala)
+ case "$testfile" in
+ *.gs)
+ SOURCEFILE=$testpath.gs
+ ;;
+ esac
SOURCEFILE=${SOURCEFILE:-$testpath.vala}
- cat "$abs_srcdir/$testfile" > ./$SOURCEFILE
- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg")
- $VALAC $VALAFLAGS $PACKAGEFLAGS -o $testpath$EXEEXT $SOURCEFILE
+ cat "$abs_srcdir/$testfile" > "./$SOURCEFILE"
+ PACKAGEFLAGS=$(package_flags)
+ $VALAC $VALAFLAGS $PACKAGEFLAGS -o "$testpath$EXEEXT" "$SOURCEFILE"
if [ -n "$UPDATE_EXPECTED" ]; then
- cp -p ${SOURCEFILE%.*}.c $abs_srcdir/${testfile%.*}.c-expected
+ cp -p "${SOURCEFILE%.*}.c" "$abs_srcdir/${testfile%.*}.c-expected"
if [ -f test.h ]; then
- cp -p test.h $abs_srcdir/${testfile%.*}.h-expected || exit 1
+ cp -p test.h "$abs_srcdir/${testfile%.*}.h-expected" || exit 1
fi
- elif [ -f $abs_srcdir/${testfile%.*}.c-expected ]; then
- diff -wu $abs_srcdir/${testfile%.*}.c-expected ${SOURCEFILE%.*}.c || exit 1
- if [ -f $abs_srcdir/${testfile%.*}.h-expected ]; then
- diff -wu $abs_srcdir/${testfile%.*}.h-expected test.h || exit 1
+ elif [ -f "$abs_srcdir/${testfile%.*}.c-expected" ]; then
+ diff -wu "$abs_srcdir/${testfile%.*}.c-expected" "${SOURCEFILE%.*}.c" || exit 1
+ if [ -f "$abs_srcdir/${testfile%.*}.h-expected" ]; then
+ diff -wu "$abs_srcdir/${testfile%.*}.h-expected" test.h || exit 1
fi
fi
- ./$testpath$EXEEXT
+ "./$testpath$EXEEXT"
;;
*.gir)
SOURCEFILE=$testpath.gir
- cat "$abs_srcdir/$testfile" > ./$SOURCEFILE
- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg")
- $VAPIGEN $VAPIGENFLAGS $PACKAGEFLAGS --library $testpath $SOURCEFILE || exit 1
- tail -n +3 ${SOURCEFILE%.*}.vapi | diff -wu $abs_srcdir/${testfile%.*}.vapi-expected - || exit 1
+ cat "$abs_srcdir/$testfile" > "./$SOURCEFILE"
+ PACKAGEFLAGS=$(package_flags)
+ $VAPIGEN $VAPIGENFLAGS $PACKAGEFLAGS --library "$testpath" "$SOURCEFILE" || exit 1
+ tail -n +3 "${SOURCEFILE%.*}.vapi" | diff -wu "$abs_srcdir/${testfile%.*}.vapi-expected" - || exit 1
;;
*.test)
rm -f prepare check
@@ -195,37 +207,41 @@
GIRWRITERTEST=0
DBUSTEST=0
ISSERVER=0
- while IFS="" read -r line; do
- if [ $PART -eq 0 ]; then
+ while IFS= read -r line; do
+ if [ "$PART" -eq 0 ]; then
if [ -n "$line" ]; then
testheader $line
else
PART=1
fi
else
- if [ $INHEADER -eq 1 ]; then
+ if [ "$INHEADER" -eq 1 ]; then
if [ -n "$line" ]; then
sourceheader $line
else
INHEADER=0
fi
else
- if echo "$line" | grep -q "^[A-Za-z]\+:"; then
+ if printf '%s\n' "$line" | grep -q '^[A-Za-z][A-Za-z]*:'; then
sourceend
- PART=$(($PART + 1))
+ PART=$((PART + 1))
INHEADER=1
sourceheader $line
else
- echo "$line" >> $SOURCEFILE
+ echo "$line" >> "$SOURCEFILE"
fi
fi
fi
done < "$abs_srcdir/$testfile"
sourceend
- cat prepare check > $ns.check
- $run_prefix bash $ns.check
+ cat prepare check > "$ns.check"
+ if [ -n "$run_prefix" ]; then
+ $run_prefix sh "$ns.check"
+ else
+ sh "$ns.check"
+ fi
;;
esac
cd ..
-rm -rf ./$testdir
+rm -rf "./$testdir"
+6 -4
View File
@@ -1,6 +1,9 @@
[build]
type = "autotools"
[build.flags]
skip-tests = true
[dependencies]
build = [
"autoconf-archive",
@@ -15,15 +18,14 @@ runtime = [
"gtk-doc",
"pkgconf",
"ttf-font",
]
test = [
"graphviz",
"dbus",
"gobject-introspection",
"libx11",
]
[[manual_sources]]
file = "0001-valadoc-Fix-gvRenderData-to-match-graphviz-13.0.0.patch"
files = [ "0001-valadoc-Fix-gvRenderData-to-match-graphviz-13.0.0.patch", "vala-0.56.18-posixify.patch" ]
[package]
description = "Compiler for the GObject type system"
@@ -34,6 +36,6 @@ version = "0.56.18"
[[source]]
extract_dir = "$name-$version"
patches = ["0001-valadoc-Fix-gvRenderData-to-match-graphviz-13.0.0.patch"]
patches = ["0001-valadoc-Fix-gvRenderData-to-match-graphviz-13.0.0.patch", "vala-0.56.18-posixify.patch"]
url = "https://download.gnome.org/sources/vala/0.56/vala-$version.tar.xz"
sha256 = "md5:14238ac89810b932db9fd75999739494"