Skip to content

Instantly share code, notes, and snippets.

@Kreijstal
Last active August 21, 2026 15:23
Show Gist options
  • Select an option

  • Save Kreijstal/0be90e40d8c2bbbbb0db5af454183cfb to your computer and use it in GitHub Desktop.

Select an option

Save Kreijstal/0be90e40d8c2bbbbb0db5af454183cfb to your computer and use it in GitHub Desktop.
Arch Linux source package recipe for the Kreijstal Webots fork
diff --git a/src/webots/cmake/ExternalDependencies.cmake b/src/webots/cmake/ExternalDependencies.cmake
index a893bcf44..ba3d03d9a 100644
--- a/src/webots/cmake/ExternalDependencies.cmake
+++ b/src/webots/cmake/ExternalDependencies.cmake
@@ -24,8 +24,9 @@ file(MAKE_DIRECTORY ${PICOTTS_INCLUDE_DIR})
# PicoTTS
ExternalProject_Add(
picotts_external
- GIT_REPOSITORY https://github.com/Kreijstal/picotts.git
- GIT_TAG master
+ SOURCE_DIR ${PICOTTS_SOURCE_DIR}
+ DOWNLOAD_COMMAND ""
+ UPDATE_COMMAND ""
PREFIX ${PICOTTS_PREFIX}
SOURCE_SUBDIR pico
CMAKE_ARGS
# Maintainer: Kreijstal
pkgname=webots-git
epoch=1
pkgver=R2025b.r0.g1e3d80178
pkgrel=1
pkgdesc='Open-source robot simulator built from the Kreijstal Webots fork'
arch=('x86_64')
url='https://github.com/kreijstal-contributions/webots'
license=('Apache-2.0')
provides=('webots')
conflicts=('webots')
depends=(
assimp
ffmpeg
freetype2
gcc
gcc-libs
glm
libglvnd
libxkbcommon-x11
make
ois
openal
openvr
pkgconf
python
qt6-base
qt6-declarative
qt6-websockets
stb
)
makedepends=(cmake ninja patch)
options=('!strip')
_commit=1e3d80178df302ab5cbcc598a72f84f6caf97155
_picotts_commit=d42a96fe93629202147b6e40e93133766b2229d8
_sourcedir="webots-${_commit}"
_picotts_sourcedir="picotts-${_picotts_commit}"
source=(
"${_sourcedir}.tar.gz::https://github.com/kreijstal-contributions/webots/archive/${_commit}.tar.gz"
"${_picotts_sourcedir}.tar.gz::https://github.com/Kreijstal/picotts/archive/${_picotts_commit}.tar.gz"
'002-use-packaged-picotts-source.patch'
)
sha256sums=(
'f68c666d33680ec8b93c215b91da33009d61464f414a7bbea3b8b994445c9da2'
'69a34a386d8c0ec378ef3e7b6e7ef2a1b0c6e26a7ca05b4e05bbb14192ea1ee0'
'd7f4f1f4d1d83d87730ad59d0a88a49d5e141b05c6c360c3089b45915d78f43a'
)
prepare() {
cd "${srcdir}/${_sourcedir}"
patch -Nbp1 -i "${srcdir}/002-use-packaged-picotts-source.patch"
}
build() {
WEBOTS_HOME="${srcdir}/${_sourcedir}" \
python "${srcdir}/${_sourcedir}/scripts/packaging/generate_proto_list.py"
cmake \
-S "${srcdir}/${_sourcedir}" \
-B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DPICOTTS_SOURCE_DIR="${srcdir}/${_picotts_sourcedir}" \
-DWEBOTS_PACKAGE_BUILD=ON
cmake --build build
}
package() {
DESTDIR="${pkgdir}" cmake --install build
install -Dm644 "${srcdir}/${_sourcedir}/LICENSE" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment