Files
BMLFS/build-scripts/webkit2gtk-void.build

87 lines
3.6 KiB
Bash

#! /bin/bash
# WebKit2 GTK+
# Source: https://webkitgtk.org/releases/webkitgtk-2.30.4.tar.xz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: llvm, Cairo, CMake, gst-plugins-base, gst-plugins-bad, GTK+3
# Required: ICU, libgudev, libsecret, libsoup, libwebp, Mesa, OpenJPEG
# Required: Ruby, SQLite, Which
# Recommended: enchant, GeoClue, goobject-introspection, hicolor-icon-theme, libnotify
# Optional: bubblewrap, GTK-Doc, harfuzz, Wayland, WOFF2, ccache, Hyphen, MathML,
# Optional: WPEBackend-fdo, and xdg-dbus-proxy, libseccomp, xdg-dbus-proxy
patch -Np0 -i ../patches/webkit2gtk-void/be-typedarray.patch
patch -Np0 -i ../patches/webkit2gtk-void/bwrap-libdir32.patch
patch -Np0 -i ../patches/webkit2gtk-void/fix-eglmesaext_h.patch
patch -Np0 -i ../patches/webkit2gtk-void/fix-musl-javascriptcore.patch
patch -Np0 -i ../patches/webkit2gtk-void/fix_armv6l.patch
patch -Np0 -i ../patches/webkit2gtk-void/le-check.patch
patch -Np0 -i ../patches/webkit2gtk-void/ppc-llint.patch
patch -Np1 -i ../patches/webkit2gtk-alpine/fix-fast-memory-disabled.patch
export CFLAGS=" -D__WORDSIZE=32 -g1 -march=native -O2"
export CXXFLAGS=" -D__WORDSIZE=32 -g1 -march=native -O2"
export LDFLAGS+=" -Wl,--no-keep-memory -fuse-ld=lld -rtlib=compiler-rt "
# Build with Clang(llvm) instead of GCC
export CC=clang CXX=clang++
mkdir build && cd build &&
cmake -DPORT=GTK \
-DUSE_LD_GOLD=OFF \
-DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG \
-DCMAKE_CXX_FLAGS_DEBUG=-DNDEBUG \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG \
-DCMAKE_C_FLAGS_RELEASE=-DNDEBUG \
-DCMAKE_C_FLAGS_DEBUG=-DNDEBUG \
-DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG \
-DUSE_SYSTEMD=OFF \
-DENABLE_GTKDOC=OFF -DUSE_GSTREAMER_GL=ON -DUSE_WPE_RENDERER=ON \
-DENABLE_MINIBROWSER=ON \
-DENABLE_JIT=OFF \
-DENABLE_C_LOOP=OFF \
-DENABLE_INTROSPECTION=ON \
-DENABLE_WAYLAND_TARGET=ON \
-DENABLE_X11_TARGET=OFF \
-DENABLE_SAMPLING_PROFILER=OFF \
-DENABLE_BUBBLEWRAP_SANDBOX=ON \
-GNinja -DCMAKE_BUILD_TYPE=MinSizeRel -DUSE_WOFF2=ON \
-DCMAKE_SKIP_RPATH=ON -DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_GLES2=ON -DUSE_LIBHYPHEN=OFF -DENABLE_GAMEPAD=OFF ..
ninja JavaScriptCore-4-gir -j2 &&
ninja -j2 &&
unset CXXFLAGS LDFLAGS CFLAGS
sudo -S DESTDIR=$BUILD ninja install &&
#unset CXXFLAGS ECONFIG CXXFLAGS
cd $BUILD && sudo -S mkdir -v ${BUILD}/install &&
cat > /tmp/slack-desc << "EOF"
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
webkit2gtk: webkit2gtk (Web content rendering)
webkit2gtk:
webkit2gtk: WebKitGTK+ is a full-featured port of the WebKit rendering engine,
webkit2gtk: suitable for projects requiring any kind of web integration, from
webkit2gtk: hybrid HTML/CSS applications to full-fledged web browsers.
webkit2gtk: It offers WebKit's full functionality and is useful in a wide range
webkit2gtk: of systems from desktop computers to embedded systems like phones,
webkit2gtk: tablets, and televisions.
webkit2gtk:
webkit2gtk: https://www.webkitgtk.org/
webkit2gtk:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/webkit2gtk-2.30.4-$(uname -m)-mlfs.txz &&
sudo -S rm -rf ${BUILD}/*