floating-sandbox
maintainer PavelDobCZ23
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package builds from source using the project's official GitHub repository and well-known git repositories for dependencies; skipped checksums are for git sources which are inherently unchecksummable, and no untrusted executables or remote code execution is involved.
Triggered rules
LOW
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
LOW
AI review
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package builds from source using the project's official GitHub repository and well-known git repositories for dependencies; skipped checksums are for git sources which are inherently unchecksummable, and no untrusted executables or remote code execution is involved.
PKGBUILD
1
# Maintainer: Pavel Dobiáš <git at paveldobias dot eu>
2
3
pkgname=floating-sandbox
4
pkgver=1.20.0
5
pkgrel=3
6
pkgdesc="Mass-spring network in C++, simulating physical bodies floating in water and sinking"
7
arch=('x86_64')
8
url="https://github.com/GabrieleGiuseppini/Floating-Sandbox"
9
license=('CC-BY-4.0')
10
11
install=$pkgname.install
12
13
depends=(
14
'gtk3'
15
'libx11'
16
'glu'
17
'openal'
18
'libvorbis'
19
'flac'
20
'libpng'
21
'libjpeg-turbo'
22
'zlib'
23
)
24
25
makedepends=(
26
'cmake'
27
'sfml'
28
'git'
29
'make'
30
'gcc'
31
)
32
33
source=(
34
"floating-sandbox.sh"
35
"floating-sandbox.desktop"
36
"custom-ships-dir.patch"
37
"${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz"
38
"git+https://github.com/wxWidgets/wxWidgets.git#tag=v3.1.4"
39
"git+https://github.com/google/googletest.git#tag=v1.12.0"
40
"git+https://github.com/kazuho/picojson.git#tag=v1.3.0"
41
"git+https://github.com/SFML/SFML.git#tag=2.6.2"
42
)
43
44
sha256sums=(
45
'aa3800b629de788d5df30777d41a16ce3f46b218c8252086722dfa849a43a597'
46
'15cc756fd0abb38d62058744422e60fce08d02377f34394d814ec72f08c8fbcb'
47
'7f2d22ac951fd72fd6dbfd5ffad94abf32db82e4e4d907dbd1af7380ac06a657'
48
'5b8085c469c373854ab281d7c9b19eb7b30fac4aad5592aa6d3a5b2f21750889'
49
'SKIP'
50
'SKIP'
51
'SKIP'
52
'SKIP'
53
)
54
55
prepare() {
56
mkdir -p "${srcdir}/libs"
57
58
cd "${srcdir}/wxWidgets"
59
git submodule update --init --recursive
60
61
cd "${srcdir}/Floating-Sandbox-${pkgver}"
62
# Patches support for custom
63
patch -Np1 -i "${srcdir}/custom-ships-dir.patch"
64
65
# Create custom UserSettings.cmake to setup correct build environment
66
cat <<EOF >UserSettings.cmake
67
set(FS_USE_STATIC_LIBS ON)
68
69
set(SDK_ROOT "${srcdir}/libs")
70
set(REPOS_ROOT "${srcdir}")
71
72
set(BENCHMARK_ROOT_DIR "\${SDK_ROOT}/benchmark")
73
set(wxWidgets_ROOT "\${SDK_ROOT}/wxWidgets")
74
set(wxWidgets_CONFIG_EXECUTABLE "\${SDK_ROOT}/wxWidgets/bin/wx-config")
75
set(SFML_ROOT "\${SDK_ROOT}/sfml")
76
set(SFML_STATIC_LIBRARIES ON)
77
set(GTEST_DIR "\${REPOS_ROOT}/googletest")
78
set(PICOJSON_DIR "\${REPOS_ROOT}/picojson")
79
80
# Fix SFML 2.6 static target naming issue for OpenAL
81
find_package(OpenAL REQUIRED)
82
if(TARGET OpenAL::OpenAL AND NOT TARGET OpenAL)
83
add_library(OpenAL UNKNOWN IMPORTED)
84
if(OPENAL_LIBRARY)
85
set_target_properties(OpenAL PROPERTIES IMPORTED_LOCATION "\${OPENAL_LIBRARY}")
86
endif()
87
if(OPENAL_INCLUDE_DIR)
88
set_target_properties(OpenAL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "\${OPENAL_INCLUDE_DIR}")
89
endif()
90
endif()
91
92
# Define macro that creates post-install actions
93
macro(DefineUserPostInstall)
94
endmacro()
95
EOF
96
}
97
98
build() {
99
export LC_ALL=C.UTF-8
100
101
export CFLAGS="${CFLAGS} -ffile-prefix-map=${srcdir}=."
102
export CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=${srcdir}=."
103
104
msg2 "Building static wxWidgets..."
105
cd "${srcdir}/wxWidgets"
106
mkdir -p wx_build
107
cd wx_build
108
../configure \
109
--disable-shared \
110
--with-gtk=3 \
111
--with-libpng \
112
--with-libxpm \
113
--with-libjpeg \
114
--without-libtiff \
115
--without-expat \
116
--disable-pnm \
117
--disable-gif \
118
--disable-pcx \
119
--disable-iff \
120
--with-opengl \
121
--prefix="${srcdir}/libs/wxWidgets" \
122
--exec_prefix="${srcdir}/libs/wxWidgets" \
123
--disable-tests \
124
--disable-rpath
125
126
make install -j$(nproc)
127
128
msg2 "Building static SFML..."
129
cmake -B "${srcdir}/libs/sfml" -S "${srcdir}/SFML" \
130
-DCMAKE_BUILD_TYPE=Release \
131
-DBUILD_SHARED_LIBS=OFF \
132
-DSFML_BUILD_EXAMPLES=OFF \
133
-DSFML_BUILD_DOC=OFF
134
cmake --build "${srcdir}/libs/sfml" -j$(nproc)
135
136
msg2 "Building Floating Sandbox..."
137
cd "${srcdir}/Floating-Sandbox-${pkgver}"
138
139
cmake -B build -S . \
140
-DCMAKE_BUILD_TYPE=Release \
141
-DFS_BUILD_BENCHMARKS=OFF \
142
-DFS_USE_STATIC_LIBS=ON \
143
-DSFML_ROOT="${srcdir}/libs/sfml" \
144
-DSFML_DIR="${srcdir}/libs/sfml" \
145
-DSFML_STATIC_LIBRARIES=ON \
146
-DwxWidgets_USE_DEBUG=OFF \
147
-DwxWidgets_USE_UNICODE=ON \
148
-DFS_INSTALL_DIRECTORY="${pkgdir}/opt/floating-sandbox"
149
150
cmake --build build -j$(nproc)
151
}
152
153
package() {
154
# Directories
155
install -dm755 "${pkgdir}/opt"
156
install -dm755 "${pkgdir}/usr/bin"
157
install -dm755 "${pkgdir}/usr/share/applications"
158
install -dm755 "${pkgdir}/usr/share/pixmaps"
159
160
# Install the game
161
cd "${srcdir}/Floating-Sandbox-${pkgver}"
162
cmake --install build
163
164
# Prevents a crash when loading ships from these directories
165
chmod 1777 "${pkgdir}/opt/floating-sandbox/Ships"
166
chmod 1777 "${pkgdir}/opt/floating-sandbox/Data/Built-in Ships"
167
168
# Symlink regional English variants to 'en' only if they don't already exist, prevents language default to be broken
169
local lang_dir="${pkgdir}/opt/floating-sandbox/Data/Languages"
170
if [ -d "${lang_dir}/en" ]; then
171
for lang in en_GB en_US en_AU en_CA; do
172
if [ ! -e "${lang_dir}/${lang}" ]; then
173
ln -s "en" "${lang_dir}/${lang}"
174
fi
175
done
176
fi
177
178
# Launcher script
179
install -m755 "$srcdir/floating-sandbox.sh" \
180
"$pkgdir/usr/bin/floating-sandbox"
181
182
# Desktop integration
183
install -m644 "${srcdir}/floating-sandbox.desktop" \
184
"${pkgdir}/usr/share/applications/floating-sandbox.desktop"
185
186
install -m644 "${pkgdir}/opt/floating-sandbox/Data/Built-in Ships/fs_logo_texture.png.dat" \
187
"${pkgdir}/usr/share/pixmaps/floating-sandbox.png"
188
}
189
Changes since previous scan
--- PKGBUILD @ 2026-07-23 00:14+++ PKGBUILD @ 2026-08-03 00:08@@ -2,16 +2,17 @@ pkgname=floating-sandbox pkgver=1.20.0-pkgrel=2+pkgrel=3 pkgdesc="Mass-spring network in C++, simulating physical bodies floating in water and sinking" arch=('x86_64') url="https://github.com/GabrieleGiuseppini/Floating-Sandbox" license=('CC-BY-4.0') +install=$pkgname.install+ depends=( 'gtk3' 'libx11'- 'mesa' 'glu' 'openal' 'libvorbis'@@ -32,6 +33,7 @@ source=( "floating-sandbox.sh" "floating-sandbox.desktop"+ "custom-ships-dir.patch" "${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz" "git+https://github.com/wxWidgets/wxWidgets.git#tag=v3.1.4" "git+https://github.com/google/googletest.git#tag=v1.12.0"@@ -41,7 +43,8 @@ sha256sums=( 'aa3800b629de788d5df30777d41a16ce3f46b218c8252086722dfa849a43a597'- '5d18a3b46e74951e588f89d9e1fb1160003e0c328893a6e92408d15f0bcf4951'+ '15cc756fd0abb38d62058744422e60fce08d02377f34394d814ec72f08c8fbcb'+ '7f2d22ac951fd72fd6dbfd5ffad94abf32db82e4e4d907dbd1af7380ac06a657' '5b8085c469c373854ab281d7c9b19eb7b30fac4aad5592aa6d3a5b2f21750889' 'SKIP' 'SKIP'@@ -56,6 +59,8 @@ git submodule update --init --recursive cd "${srcdir}/Floating-Sandbox-${pkgver}"+ # Patches support for custom+ patch -Np1 -i "${srcdir}/custom-ships-dir.patch" # Create custom UserSettings.cmake to setup correct build environment cat <<EOF >UserSettings.cmake@@ -156,7 +161,11 @@ cd "${srcdir}/Floating-Sandbox-${pkgver}" cmake --install build - # Symlink regional English variants to 'en' only if they don't already exist+ # Prevents a crash when loading ships from these directories+ chmod 1777 "${pkgdir}/opt/floating-sandbox/Ships"+ chmod 1777 "${pkgdir}/opt/floating-sandbox/Data/Built-in Ships"++ # Symlink regional English variants to 'en' only if they don't already exist, prevents language default to be broken local lang_dir="${pkgdir}/opt/floating-sandbox/Data/Languages" if [ -d "${lang_dir}/en" ]; then for lang in en_GB en_US en_AU en_CA; doScan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 11:27:50 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 09:22:54 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 21:22:00 | LOW | 2 |
| 2026-07-22 19:21:42 | LOW | 2 |