mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
step, bump to version 24.12.3, switch to KF6 (#12078)
This commit is contained in:
@@ -1,181 +0,0 @@
|
||||
SUMMARY="Interactive physics simulator"
|
||||
DESCRIPTION="Step is an interactive physical simulator. It allows you to explore \
|
||||
the physical world through simulations. It works like this: you place some bodies \
|
||||
on the scene, add some forces such as gravity or springs, then click Simulate and \
|
||||
Step shows you how your scene will evolve according to the laws of physics. You \
|
||||
can change every property of the bodies/forces in your experiment (even during \
|
||||
simulation) and see how this will change evolution of the experiment. \
|
||||
With Step you cannot only learn but feel how physics works!
|
||||
|
||||
Features:
|
||||
* Classical mechanical simulation in two dimensions
|
||||
* Particles, springs with damping, gravitational and coulomb forces
|
||||
* Rigid bodies
|
||||
* Collision detection (currently only discrete) and handling
|
||||
* Soft (deformable) bodies simulated as user-editable particles-springs system, sound waves
|
||||
* Molecular dynamics (currently using Lennard-Jones potential): gas and liquid, \
|
||||
condensation and evaporation, calculation of macroscopic quantities and their variances
|
||||
* Units conversion and expression calculation: you can enter something like \"(2 days + \
|
||||
3 hours) * 80 km/h\" and it will be accepted as distance value (requires libqalculate)
|
||||
* Errors calculation and propagation: you can enter values like \"1.3 ± 0.2\" for any property \
|
||||
and errors for all dependent properties will be calculated using statistical formulas
|
||||
* Solver error estimation: errors introduced by the solver is calculated and added \
|
||||
to user-entered errors
|
||||
* Several different solvers: up to 8th order, explicit and implicit, with or without \
|
||||
adaptive timestep (most of the solvers require GSL library)
|
||||
* Controller tool to easily control properties during simulation (even with \
|
||||
custom keyboard shortcuts)
|
||||
* Tools to visualize results: graph, meter, tracer
|
||||
* Context information for all objects, integrated wikipedia browser
|
||||
* Collection of example experiments, more can be downloaded with KNewStuff
|
||||
* Integrated tutorials."
|
||||
HOMEPAGE="https://apps.kde.org/ru/step"
|
||||
COPYRIGHT="2010-2024 KDE Organisation"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="2"
|
||||
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/step-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="b5db4e31c9c5d50d61c6c5664e73e902851de1b3867926c99f1b47252dfd4e51"
|
||||
ADDITIONAL_FILES="step.rdef.in"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
step$secondaryArchSuffix = $portVersion
|
||||
app:Step$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libgsl$secondaryArchSuffix
|
||||
lib:libKF5Archive$secondaryArchSuffix
|
||||
lib:libKF5Attica$secondaryArchSuffix
|
||||
lib:libKF5Auth$secondaryArchSuffix
|
||||
lib:libKF5Bookmarks$secondaryArchSuffix
|
||||
lib:libKF5Codecs$secondaryArchSuffix
|
||||
lib:libKF5Completion$secondaryArchSuffix
|
||||
lib:libKF5ConfigCore$secondaryArchSuffix
|
||||
lib:libKF5ConfigGui$secondaryArchSuffix
|
||||
lib:libKF5ConfigWidgets$secondaryArchSuffix
|
||||
lib:libKF5CoreAddons$secondaryArchSuffix
|
||||
lib:libKF5Crash$secondaryArchSuffix
|
||||
lib:libKF5DBusAddons$secondaryArchSuffix
|
||||
lib:libKF5GuiAddons$secondaryArchSuffix
|
||||
lib:libKF5I18n$secondaryArchSuffix
|
||||
lib:libKF5IconThemes$secondaryArchSuffix
|
||||
lib:libKF5ItemViews$secondaryArchSuffix
|
||||
lib:libKF5JobWidgets$secondaryArchSuffix
|
||||
lib:libKF5KIOCore$secondaryArchSuffix
|
||||
lib:libKF5KIOFileWidgets$secondaryArchSuffix
|
||||
lib:libKF5KIOWidgets$secondaryArchSuffix
|
||||
lib:libKF5NewStuff$secondaryArchSuffix
|
||||
lib:libKF5Notifications$secondaryArchSuffix
|
||||
lib:libKF5Plotting$secondaryArchSuffix
|
||||
lib:libKF5Service$secondaryArchSuffix
|
||||
lib:libKF5Solid$secondaryArchSuffix
|
||||
lib:libKF5SonnetUi$secondaryArchSuffix
|
||||
lib:libKF5TextEditor$secondaryArchSuffix
|
||||
lib:libKF5TextWidgets$secondaryArchSuffix
|
||||
lib:libKF5WidgetsAddons$secondaryArchSuffix
|
||||
lib:libKF5WindowSystem$secondaryArchSuffix
|
||||
lib:libKF5XmlGui$secondaryArchSuffix
|
||||
lib:libQt5Core$secondaryArchSuffix
|
||||
lib:libQt5DBus$secondaryArchSuffix
|
||||
lib:libQt5Gui$secondaryArchSuffix
|
||||
lib:libQt5Widgets$secondaryArchSuffix
|
||||
lib:libQt5Xml$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
extra_cmake_modules$secondaryArchSuffix
|
||||
devel:eigen$secondaryArchSuffix
|
||||
devel:libgsl$secondaryArchSuffix
|
||||
devel:libKF5Archive$secondaryArchSuffix
|
||||
devel:libKF5Attica$secondaryArchSuffix
|
||||
devel:libKF5Auth$secondaryArchSuffix
|
||||
devel:libKF5Bookmarks$secondaryArchSuffix
|
||||
devel:libKF5Codecs$secondaryArchSuffix
|
||||
devel:libKF5Completion$secondaryArchSuffix
|
||||
devel:libKF5ConfigCore$secondaryArchSuffix
|
||||
devel:libKF5ConfigWidgets$secondaryArchSuffix
|
||||
devel:libKF5CoreAddons$secondaryArchSuffix
|
||||
devel:libKF5Crash$secondaryArchSuffix
|
||||
devel:libKF5DBusAddons$secondaryArchSuffix
|
||||
devel:libKF5DocTools$secondaryArchSuffix
|
||||
devel:libKF5GuiAddons$secondaryArchSuffix
|
||||
devel:libKF5I18n$secondaryArchSuffix
|
||||
devel:libKF5IconThemes$secondaryArchSuffix
|
||||
devel:libKF5ItemModels$secondaryArchSuffix
|
||||
devel:libKF5ItemViews$secondaryArchSuffix
|
||||
devel:libKF5JobWidgets$secondaryArchSuffix
|
||||
devel:libKF5KIOCore$secondaryArchSuffix
|
||||
devel:libKF5KIOFileWidgets$secondaryArchSuffix
|
||||
devel:libKF5KIOWidgets$secondaryArchSuffix
|
||||
devel:libKF5NewStuff$secondaryArchSuffix
|
||||
devel:libKF5Notifications$secondaryArchSuffix
|
||||
devel:libKF5Plotting$secondaryArchSuffix
|
||||
devel:libKF5Service$secondaryArchSuffix
|
||||
devel:libKF5Solid$secondaryArchSuffix
|
||||
devel:libKF5SonnetUi$secondaryArchSuffix
|
||||
devel:libKF5TextEditor$secondaryArchSuffix
|
||||
devel:libKF5TextWidgets$secondaryArchSuffix
|
||||
devel:libKF5WidgetsAddons$secondaryArchSuffix
|
||||
devel:libKF5WindowSystem$secondaryArchSuffix
|
||||
devel:libKF5XmlGui$secondaryArchSuffix
|
||||
devel:libQt5Core$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:lrelease$secondaryArchSuffix >= 5
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:python3
|
||||
cmd:update_mime_database$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
# disable docs generation
|
||||
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
|
||||
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$appsDir \
|
||||
-DCMAKE_INSTALL_DATADIR=$dataDir \
|
||||
-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
|
||||
-DSHARE_INSTALL_PREFIX=$dataDir \
|
||||
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
|
||||
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd build
|
||||
make install
|
||||
|
||||
mv $appsDir/bin/step $appsDir/Step
|
||||
rm -rf $appsDir/{bin,data}
|
||||
rm -rf $dataDir/{icons,mime}
|
||||
|
||||
local APP_SIGNATURE="application/x-vnd.kde-step"
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/step.rdef.in > step.rdef
|
||||
|
||||
addResourcesToBinaries step.rdef $appsDir/Step
|
||||
addAppDeskbarSymlink $appsDir/Step
|
||||
}
|
||||
194
kde-apps/step/step-24.12.3.recipe
Normal file
194
kde-apps/step/step-24.12.3.recipe
Normal file
@@ -0,0 +1,194 @@
|
||||
SUMMARY="Interactive physics simulator"
|
||||
DESCRIPTION="Step is an interactive physical simulator. It allows you to explore \
|
||||
the physical world through simulations. It works like this: you place some bodies \
|
||||
on the scene, add some forces such as gravity or springs, then click Simulate and \
|
||||
Step shows you how your scene will evolve according to the laws of physics. You \
|
||||
can change every property of the bodies/forces in your experiment (even during \
|
||||
simulation) and see how this will change evolution of the experiment. \
|
||||
With Step you cannot only learn but feel how physics works!
|
||||
|
||||
Features:
|
||||
* Classical mechanical simulation in two dimensions
|
||||
* Particles, springs with damping, gravitational and coulomb forces
|
||||
* Rigid bodies
|
||||
* Collision detection (currently only discrete) and handling
|
||||
* Soft (deformable) bodies simulated as user-editable particles-springs system, sound waves
|
||||
* Molecular dynamics (currently using Lennard-Jones potential): gas and liquid, \
|
||||
condensation and evaporation, calculation of macroscopic quantities and their variances
|
||||
* Units conversion and expression calculation: you can enter something like \"(2 days + \
|
||||
3 hours) * 80 km/h\" and it will be accepted as distance value (requires libqalculate)
|
||||
* Errors calculation and propagation: you can enter values like \"1.3 ± 0.2\" for any property \
|
||||
and errors for all dependent properties will be calculated using statistical formulas
|
||||
* Solver error estimation: errors introduced by the solver is calculated and added \
|
||||
to user-entered errors
|
||||
* Several different solvers: up to 8th order, explicit and implicit, with or without \
|
||||
adaptive timestep (most of the solvers require GSL library)
|
||||
* Controller tool to easily control properties during simulation (even with \
|
||||
custom keyboard shortcuts)
|
||||
* Tools to visualize results: graph, meter, tracer
|
||||
* Context information for all objects, integrated wikipedia browser
|
||||
* Collection of example experiments, more can be downloaded with KNewStuff
|
||||
* Integrated tutorials."
|
||||
HOMEPAGE="https://apps.kde.org/ru/step"
|
||||
COPYRIGHT="2010-2025 KDE Organisation"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/step-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="a5a1d9ba40fef491e6ef9e639efa6acea1a2bf8ea4fee6a0235bcb1f45742a40"
|
||||
SOURCE_DIR="step-$portVersion"
|
||||
ADDITIONAL_FILES="step.rdef.in"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
step$secondaryArchSuffix = $portVersion
|
||||
app:Step = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libgsl$secondaryArchSuffix
|
||||
# KF6
|
||||
lib:libKF6Archive$secondaryArchSuffix
|
||||
lib:libKF6Attica$secondaryArchSuffix
|
||||
lib:libKF6AuthCore$secondaryArchSuffix
|
||||
lib:libKF6Bookmarks$secondaryArchSuffix
|
||||
lib:libKF6Codecs$secondaryArchSuffix
|
||||
lib:libKF6ColorScheme$secondaryArchSuffix
|
||||
lib:libKF6Completion$secondaryArchSuffix
|
||||
lib:libKF6ConfigCore$secondaryArchSuffix
|
||||
lib:libKF6ConfigGui$secondaryArchSuffix
|
||||
lib:libKF6ConfigWidgets$secondaryArchSuffix
|
||||
lib:libKF6CoreAddons$secondaryArchSuffix
|
||||
lib:libKF6Crash$secondaryArchSuffix
|
||||
lib:libKF6DBusAddons$secondaryArchSuffix
|
||||
lib:libKF6GuiAddons$secondaryArchSuffix
|
||||
lib:libKF6I18n$secondaryArchSuffix
|
||||
lib:libKF6IconThemes$secondaryArchSuffix
|
||||
lib:libKF6ItemViews$secondaryArchSuffix
|
||||
lib:libKF6JobWidgets$secondaryArchSuffix
|
||||
lib:libKF6KIOCore$secondaryArchSuffix
|
||||
lib:libKF6KIOFileWidgets$secondaryArchSuffix
|
||||
lib:libKF6KIOWidgets$secondaryArchSuffix
|
||||
lib:libKF6NewStuffCore$secondaryArchSuffix
|
||||
lib:libKF6Notifications$secondaryArchSuffix
|
||||
lib:libKF6Plotting$secondaryArchSuffix
|
||||
lib:libKF6Service$secondaryArchSuffix
|
||||
lib:libKF6Solid$secondaryArchSuffix
|
||||
lib:libKF6SonnetUi$secondaryArchSuffix
|
||||
lib:libKF6TextEditor$secondaryArchSuffix
|
||||
lib:libKF6TextWidgets$secondaryArchSuffix
|
||||
lib:libKF6WidgetsAddons$secondaryArchSuffix
|
||||
lib:libKF6WindowSystem$secondaryArchSuffix
|
||||
lib:libKF6XmlGui$secondaryArchSuffix
|
||||
# Qt6
|
||||
lib:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6DBus$secondaryArchSuffix
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6Widgets$secondaryArchSuffix
|
||||
lib:libQt6Xml$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:eigen$secondaryArchSuffix
|
||||
devel:libgsl$secondaryArchSuffix
|
||||
# KF6
|
||||
extra_cmake_modules$secondaryArchSuffix
|
||||
devel:libKF6Archive$secondaryArchSuffix
|
||||
devel:libKF6Attica$secondaryArchSuffix
|
||||
devel:libKF6AuthCore$secondaryArchSuffix
|
||||
devel:libKF6Bookmarks$secondaryArchSuffix
|
||||
devel:libKF6Codecs$secondaryArchSuffix
|
||||
devel:libKF6ColorScheme$secondaryArchSuffix
|
||||
devel:libKF6Completion$secondaryArchSuffix
|
||||
devel:libKF6ConfigCore$secondaryArchSuffix
|
||||
devel:libKF6ConfigWidgets$secondaryArchSuffix
|
||||
devel:libKF6CoreAddons$secondaryArchSuffix
|
||||
devel:libKF6Crash$secondaryArchSuffix
|
||||
devel:libKF6DBusAddons$secondaryArchSuffix
|
||||
devel:libKF6DocTools$secondaryArchSuffix
|
||||
devel:libKF6GuiAddons$secondaryArchSuffix
|
||||
devel:libKF6I18n$secondaryArchSuffix
|
||||
devel:libKF6IconThemes$secondaryArchSuffix
|
||||
devel:libKF6ItemModels$secondaryArchSuffix
|
||||
devel:libKF6ItemViews$secondaryArchSuffix
|
||||
devel:libKF6JobWidgets$secondaryArchSuffix
|
||||
devel:libKF6KIOCore$secondaryArchSuffix
|
||||
devel:libKF6KIOFileWidgets$secondaryArchSuffix
|
||||
devel:libKF6KIOWidgets$secondaryArchSuffix
|
||||
devel:libKF6NewStuffCore$secondaryArchSuffix
|
||||
devel:libKF6Notifications$secondaryArchSuffix
|
||||
devel:libKF6Plotting$secondaryArchSuffix
|
||||
devel:libKF6Service$secondaryArchSuffix
|
||||
devel:libKF6Solid$secondaryArchSuffix
|
||||
devel:libKF6SonnetUi$secondaryArchSuffix
|
||||
devel:libKF6TextEditor$secondaryArchSuffix
|
||||
devel:libKF6TextWidgets$secondaryArchSuffix
|
||||
devel:libKF6WidgetsAddons$secondaryArchSuffix
|
||||
devel:libKF6WindowSystem$secondaryArchSuffix
|
||||
devel:libKF6XmlGui$secondaryArchSuffix
|
||||
# Qt6
|
||||
qt6_tools${secondaryArchSuffix}_devel
|
||||
devel:libQt6Core$secondaryArchSuffix
|
||||
devel:libQt6Qml$secondaryArchSuffix
|
||||
devel:libQt6Svg$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:msgfmt$secondaryArchSuffix
|
||||
cmd:msgmerge$secondaryArchSuffix
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:update_mime_database$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PATCH()
|
||||
{
|
||||
# disable docs generation
|
||||
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
|
||||
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
|
||||
}
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
|
||||
$cmakeDirArgs \
|
||||
-DCMAKE_INSTALL_BINDIR=$appsDir \
|
||||
-DBUILD_WITH_QT6=ON \
|
||||
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
|
||||
-Wno-dev
|
||||
|
||||
make -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make -C build install
|
||||
|
||||
# don't mess with shared_mime_info files
|
||||
rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic}
|
||||
rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces}
|
||||
# cleanup
|
||||
rm -rf $dataDir/{applications,icons,metainfo}
|
||||
|
||||
mv $appsDir/step $appsDir/Step
|
||||
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
local APP_SIGNATURE="application/x-vnd.kde-step"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
$portDir/additional-files/step.rdef.in > step.rdef
|
||||
|
||||
addResourcesToBinaries step.rdef $appsDir/Step
|
||||
addAppDeskbarSymlink $appsDir/Step
|
||||
}
|
||||
Reference in New Issue
Block a user