From a7a07d35e905fee88370d4df0a04d6ac8cf8fbe0 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Tue, 25 Mar 2025 15:28:21 +0000 Subject: [PATCH] step, bump to version 24.12.3, switch to KF6 (#12078) --- kde-apps/step/step-23.08.5.recipe | 181 ---------------------------- kde-apps/step/step-24.12.3.recipe | 194 ++++++++++++++++++++++++++++++ 2 files changed, 194 insertions(+), 181 deletions(-) delete mode 100644 kde-apps/step/step-23.08.5.recipe create mode 100644 kde-apps/step/step-24.12.3.recipe diff --git a/kde-apps/step/step-23.08.5.recipe b/kde-apps/step/step-23.08.5.recipe deleted file mode 100644 index a2bf998ac..000000000 --- a/kde-apps/step/step-23.08.5.recipe +++ /dev/null @@ -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 -} diff --git a/kde-apps/step/step-24.12.3.recipe b/kde-apps/step/step-24.12.3.recipe new file mode 100644 index 000000000..a26fff52a --- /dev/null +++ b/kde-apps/step/step-24.12.3.recipe @@ -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 +}