Step: add recipe

This commit is contained in:
Gerasim Troeglazov
2021-03-04 23:40:11 +10:00
parent 5f06740746
commit 33d0033bbf
3 changed files with 241 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Step",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource("QT:QPA_FLAGS") "Q_KILL_ON_EXIT";
resource vector_icon {
$"6E6369660802000602403C9E00000000000040166CC40D6344F292947F4C00FF"
$"182400020006023EE1133AF919BA2CBF3E1B2C48A00048CEA48DFFAA00FF633B"
$"02050102001602B97441B80465394724BACE754B02D149E42A003EFFBD020116"
$"023C00000000000000003B400049A00049200000FFFF4D05A0015E3802840401"
$"6D130604BA22444C5D5B515B514F4A30390606AF092240224022C02A224422C0"
$"ED22444C5C5B514C4C570A0422404C575B4C30380405FE014B534B3E4B534BBC"
$"CA5036C4CCBCC25433553755B9FF554B4B080228304B3F0802322B5537020440"
$"30C34530BC3A30304030BC3A30C3454050BC3A50C34550504050C34550BC3A08"
$"022D33313908023637393C08023D3B403F0802463E5140080251404D36080240"
$"3E45330802393B3D3008023238362D08022C4246500802343C504A0A054C5E53"
$"5E605560505C4E0A062244224030385B4C5B524C5D100A070111000A02011210"
$"01178422040A00020001000A010102000A06020F101001178200040A02010312"
$"3FB6DB0000000000003F19F6CA1124C58ED401178420040A030103123FB6DB00"
$"00000000003F19F6CA1124C58ED401178122040A05080A0908070B0C0D0E1001"
$"178100040A020204051001178322040A040106023C00000000000000003C0000"
$"4680004880000A040106023C00000000000000003C000048200048E0000A0401"
$"06023C00000000000000003C00004900004940000A030204051001178122040A"
$"0201031001178420040A0301031001178122040A040106023C00000000000000"
$"003C00004AB000496000"
};

View File

@@ -0,0 +1,22 @@
From 24d22bd4051a3db41dd73aff9131d9251d11ae79 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 4 Mar 2021 23:27:22 +1000
Subject: Fix install
diff --git a/step/CMakeLists.txt b/step/CMakeLists.txt
index a60df48..971685c 100644
--- a/step/CMakeLists.txt
+++ b/step/CMakeLists.txt
@@ -84,6 +84,8 @@ target_link_libraries(step
Qt5::Widgets
${qalculate_LIBS})
+set(KDE_INSTALL_KNSRCDIR ${CMAKE_INSTALL_DATADIR}/knsrcfiles)
+
install(TARGETS step ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES step.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR})
install(FILES stepui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/step)
--
2.30.0

View File

@@ -0,0 +1,179 @@
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-2021 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="670a501890baaf650506d88b61a9b08a5539aaa31200c6b27abad5984bda2db7"
SOURCE_DIR="step-$portVersion"
PATCHES="step-$portVersion.patchset"
ADDITIONAL_FILES="step.rdef.in"
ARCHITECTURES="!x86_gcc2 x86_64"
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 >= 5.77
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 >= 5.15
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
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_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 $dataDir/icons
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
}