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
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 SFG545 and ReallyUnusual
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 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.
+1 -1
View File
@@ -30,7 +30,7 @@ description = "source-based package manager designed for Linux, focuses on repro
homepage = "https://gitlab.com/sfg-os/depot" homepage = "https://gitlab.com/sfg-os/depot"
license = "MIT" license = "MIT"
name = "depot" name = "depot"
version = "0.31.0" version = "0.32.1"
revision = 1 revision = 1
[[source]] [[source]]
-4
View File
@@ -7,7 +7,6 @@ runtime = [
"sh", "sh",
"coreutils", "coreutils",
] ]
test = ["findutils"]
[package] [package]
description = "GNU generic library support script" description = "GNU generic library support script"
@@ -21,6 +20,3 @@ extract_dir = "$name-$version"
sha256 = "f81f5860666b0bc7d84baddefa60d1cb9fa6fceb2398cc3baca6afaa60266675" sha256 = "f81f5860666b0bc7d84baddefa60d1cb9fa6fceb2398cc3baca6afaa60266675"
url = "https://mirrors.kernel.org/gnu/libtool/libtool-$version.tar.xz" url = "https://mirrors.kernel.org/gnu/libtool/libtool-$version.tar.xz"
[build.flags]
post_install = [ "rm -fv $DESTDIR/usr/lib/libltdl.a" ]
skip_tests = true
+412 -4
View File
File diff suppressed because it is too large Load Diff
+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/" homepage = "http://www.simplesystems.org/libtiff/"
license = "libtiff" license = "libtiff"
name = "libtiff" name = "libtiff"
version = "4.7" version = "4.7.1"
[[source]] [[source]]
extract_dir = "$name-$version" extract_dir = "$name-$version"
+2
View File
@@ -7,6 +7,7 @@ configure = [
"-DWEBP_BUILD_CWEBP=ON", "-DWEBP_BUILD_CWEBP=ON",
"-DWEBP_BUILD_DWEBP=ON", "-DWEBP_BUILD_DWEBP=ON",
"-DCMAKE_SKIP_INSTALL_RPATH=ON", "-DCMAKE_SKIP_INSTALL_RPATH=ON",
"-DBUILD_SHARED_LIBS=ON",
"-DWEBP_BUILD_EXTRAS=OFF", "-DWEBP_BUILD_EXTRAS=OFF",
"-DWEBP_BUILD_GIF2WEBP=ON", "-DWEBP_BUILD_GIF2WEBP=ON",
"-DWEBP_BUILD_IMG2WEBP=ON", "-DWEBP_BUILD_IMG2WEBP=ON",
@@ -21,6 +22,7 @@ build = [
"giflib", "giflib",
"libjpeg-turbo", "libjpeg-turbo",
"libpng", "libpng",
"libtiff"
] ]
runtime = ["glibc"] 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] [build]
type = "autotools" type = "autotools"
[build.flags]
skip-tests = true
[dependencies] [dependencies]
build = [ build = [
"autoconf-archive", "autoconf-archive",
@@ -15,15 +18,14 @@ runtime = [
"gtk-doc", "gtk-doc",
"pkgconf", "pkgconf",
"ttf-font", "ttf-font",
] "graphviz",
test = [
"dbus", "dbus",
"gobject-introspection", "gobject-introspection",
"libx11", "libx11",
] ]
[[manual_sources]] [[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] [package]
description = "Compiler for the GObject type system" description = "Compiler for the GObject type system"
@@ -34,6 +36,6 @@ version = "0.56.18"
[[source]] [[source]]
extract_dir = "$name-$version" 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" url = "https://download.gnome.org/sources/vala/0.56/vala-$version.tar.xz"
sha256 = "md5:14238ac89810b932db9fd75999739494" sha256 = "md5:14238ac89810b932db9fd75999739494"