Merge branch 'mupdf' into 'master'

Partially port mupdf

See merge request redox-os/redox!2319
This commit is contained in:
Jeremy Soller 2026-09-01 06:06:12 -06:00
commit 636ed3a52c
7 changed files with 70 additions and 10 deletions

View File

@ -174,6 +174,7 @@ mesa-demos-x11 = {}
mgba = {} mgba = {}
miniserve = {} miniserve = {}
mpc = {} mpc = {}
mupdf = {}
nano = {} nano = {}
nasm = {} nasm = {}
ncdu = {} ncdu = {}

View File

@ -0,0 +1,16 @@
#TODO compile and test
[source]
tar = "https://github.com/ArtifexSoftware/jbig2dec/releases/download/0.20/jbig2dec-0.20.tar.gz"
blake3 = "d03f5f958f4083e17d6d09d7da9a77b5dc9083b71f8c20167ce51a2fca14660c"
patches = [
"redox.patch"
]
script = """
GNU_CONFIG_GET config.sub
"""
[build]
template = "custom"
script = """
DYNAMIC_INIT
cookbook_configure
"""

View File

@ -0,0 +1,12 @@
diff -ruwN source/configure source-new/configure
--- source/configure 2023-09-14 19:44:55.000000000 +0700
+++ source-new/configure 2026-08-30 08:13:54.849157973 +0700
@@ -11593,7 +11593,7 @@
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | redox*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no

View File

@ -2,10 +2,11 @@
# build instructions: https://github.com/google/brotli#cmake # build instructions: https://github.com/google/brotli#cmake
[source] [source]
git = "https://github.com/google/brotli" git = "https://github.com/google/brotli"
patches = [ "redox.patch" ]
branch = "v1.2" branch = "v1.2"
shallow_clone = true shallow_clone = true
[build] [build]
template = "cmake" template = "cmake"
cmakeflags = [ cmakeflags = [
"-DBROTLI_DISABLE_TESTS=TRUE" "-DBROTLI_DISABLE_TESTS=TRUE"
] ]

View File

@ -0,0 +1,18 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 22b21d2..b900d57 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,13 +17,6 @@ else()
message(STATUS "Build type is '${CMAKE_BUILD_TYPE}'")
endif()
-include(CheckCSourceCompiles)
-check_c_source_compiles(
- "#if defined(__EMSCRIPTEN__)
- int main() {return 0;}
- #endif"
- BROTLI_EMSCRIPTEN
-)
if (BROTLI_EMSCRIPTEN)
message("-- Compiler is EMSCRIPTEN")
else()

View File

@ -1,8 +1,8 @@
#TODO compiled but not tested #TODO compiled but not tested
[source] [source]
tar = "https://codeberg.org/gumbo-parser/gumbo-parser/archive/0.13.2.tar.gz" tar = "https://codeberg.org/gumbo-parser/gumbo-parser/archive/0.13.2.tar.gz"
script = """
autotools_recursive_regenerate
"""
[build] [build]
template = "configure" template = "meson"
mesonflags = [
"-Dtests=false"
]

View File

@ -1,11 +1,23 @@
#TODO compile and test #TODO compiled but not tested, need freeglut or x11
[source] [source]
tar = "https://casper.mupdf.com/downloads/archive/mupdf-1.28.2-source.tar.gz" tar = "https://casper.mupdf.com/downloads/archive/mupdf-1.28.3-source.tar.gz"
blake3 = "30376f12931f638c17785d69152b9e4eda44cf7bea2c883d67f90408e4f6a138"
[build] [build]
template = "custom" template = "custom"
dependencies = [
"harfbuzz",
"libjpeg",
"freetype2",
"libbrotli",
"openjpeg",
"jbig2dec",
"libgumbo",
# "freeglut", TODO: HAVE_GLUT=yes
]
script = """ script = """
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
DYNAMIC_INIT DYNAMIC_INIT
"${COOKBOOK_MAKE}" libs -j "${COOKBOOK_MAKE_JOBS}" cd $COOKBOOK_SOURCE
"${COOKBOOK_MAKE}" install-libs PREFIX="${COOKBOOK_STAGE}/usr" mkdir -p $COOKBOOK_BUILD/shared-release
"${COOKBOOK_MAKE}" install-libs install-apps shared=yes build=release USE_SYSTEM_LIBS=yes \
-j "${COOKBOOK_MAKE_JOBS}" DESTDIR="${COOKBOOK_STAGE}" "OUT=$COOKBOOK_BUILD/shared-release"
""" """