simulide: add generic builder, set simulide alias to simulide_0_4_15
This commit is contained in:
@@ -9,78 +9,104 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.4.15";
|
||||
release = "SR10";
|
||||
branch = "simulide_0.4.14"; # the branch name does not mach the version for some reason
|
||||
rev = "291";
|
||||
sha256 = "sha256-BBoZr/S2pif0Jft5wrem8y00dXl08jq3kFiIUtOr3LM=";
|
||||
generic =
|
||||
{ version
|
||||
, release
|
||||
, branch
|
||||
, rev
|
||||
, sha256
|
||||
, extraPostPatch ? ""
|
||||
, extraBuildInputs ? [ ]
|
||||
, iconPath ? "resources/icons/simulide.png"
|
||||
, installFiles ? ''
|
||||
cp -r data examples $out/share/simulide
|
||||
cp simulide $out/bin/simulide
|
||||
''
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "simulide";
|
||||
version = "${version}-${release}";
|
||||
|
||||
src = fetchbzr {
|
||||
url = "https://code.launchpad.net/~arcachofo/simulide/${branch}";
|
||||
inherit rev sha256;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i resources/simulide.desktop \
|
||||
-e "s|^Exec=.*$|Exec=simulide|" \
|
||||
-e "s|^Icon=.*$|Icon=simulide|"
|
||||
|
||||
# Note: older versions don't have REV_NO
|
||||
sed -i SimulIDE.pro \
|
||||
-e "s|^VERSION = .*$|VERSION = ${version}|" \
|
||||
-e "s|^RELEASE = .*$|RELEASE = -${release}|" \
|
||||
-e "s|^REV_NO = .*$|REV_NO = ${rev}|" \
|
||||
-e "s|^BUILD_DATE = .*$|BUILD_DATE = ??-??-??|"
|
||||
|
||||
${extraPostPatch}
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
cd build_XX
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtserialport
|
||||
qtmultimedia
|
||||
qttools
|
||||
] ++ extraBuildInputs;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm644 ../resources/simulide.desktop $out/share/applications/simulide.desktop
|
||||
install -Dm644 ../${iconPath} $out/share/icons/hicolor/256x256/apps/simulide.png
|
||||
|
||||
mkdir -p $out/share/simulide $out/bin
|
||||
pushd executables/SimulIDE_*
|
||||
${installFiles}
|
||||
popd
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A simple real time electronic circuit simulator";
|
||||
longDescription = ''
|
||||
SimulIDE is a simple real time electronic circuit simulator, intended for hobbyist or students
|
||||
to learn and experiment with analog and digital electronic circuits and microcontrollers.
|
||||
It supports PIC, AVR, Arduino and other MCUs and MPUs.
|
||||
'';
|
||||
homepage = "https://simulide.com/";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "simulide";
|
||||
maintainers = with lib.maintainers; [ carloscraveiro tomasajt ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
};
|
||||
in
|
||||
mkDerivation {
|
||||
pname = "simulide";
|
||||
version = "${version}-${release}";
|
||||
|
||||
src = fetchbzr {
|
||||
url = "https://code.launchpad.net/~arcachofo/simulide/${branch}";
|
||||
inherit rev sha256;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# GCC 13 needs this header explicitly included
|
||||
sed -i src/gpsim/value.h -e '1i #include <cstdint>'
|
||||
sed -i src/gpsim/modules/watchdog.h -e '1i #include <cstdint>'
|
||||
|
||||
sed -i resources/simulide.desktop \
|
||||
-e "s|^Exec=.*$|Exec=simulide|" \
|
||||
-e "s|^Icon=.*$|Icon=simulide|"
|
||||
sed -i SimulIDE.pro \
|
||||
-e "s|^VERSION = .*$|VERSION = ${version}|" \
|
||||
-e "s|^RELEASE = .*$|RELEASE = -${release}|" \
|
||||
-e "s|^REV_NO = .*$|REV_NO = ${rev}|" \
|
||||
-e "s|^BUILD_DATE = .*$|BUILD_DATE = ??-??-??|"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
cd build_XX
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtserialport
|
||||
qtmultimedia
|
||||
qttools
|
||||
qtscript
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm644 ../resources/simulide.desktop $out/share/applications/simulide.desktop
|
||||
install -Dm644 ../resources/icons/hicolor/256x256/simulide.png $out/share/icons/hicolor/256x256/apps/simulide.png
|
||||
|
||||
mkdir -p $out/share/simulide $out/bin
|
||||
|
||||
pushd executables/SimulIDE_*
|
||||
cp -r share/simulide/* $out/share/simulide
|
||||
cp bin/simulide $out/bin/simulide
|
||||
popd
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple real time electronic circuit simulator";
|
||||
longDescription = ''
|
||||
SimulIDE is a simple real time electronic circuit simulator, intended for hobbyist or students
|
||||
to learn and experiment with analog and digital electronic circuits and microcontrollers.
|
||||
It supports PIC, AVR, Arduino and other MCUs and MPUs.
|
||||
{
|
||||
simulide_0_4_15 = generic {
|
||||
version = "0.4.15";
|
||||
release = "SR10";
|
||||
branch = "simulide_0.4.14"; # the branch name does not mach the version for some reason
|
||||
rev = "291";
|
||||
sha256 = "sha256-BBoZr/S2pif0Jft5wrem8y00dXl08jq3kFiIUtOr3LM=";
|
||||
extraPostPatch = ''
|
||||
# GCC 13 needs the <cstdint> header explicitly included
|
||||
sed -i src/gpsim/value.h -e '1i #include <cstdint>'
|
||||
sed -i src/gpsim/modules/watchdog.h -e '1i #include <cstdint>'
|
||||
'';
|
||||
extraBuildInputs = [ qtscript ];
|
||||
iconPath = "resources/icons/hicolor/256x256/simulide.png"; # upstream had a messed up icon path in this release
|
||||
installFiles = ''
|
||||
cp -r share/simulide/* $out/share/simulide
|
||||
cp bin/simulide $out/bin/simulide
|
||||
'';
|
||||
homepage = "https://simulide.com/";
|
||||
license = licenses.gpl3Only;
|
||||
mainProgram = "simulide";
|
||||
maintainers = with maintainers; [ carloscraveiro tomasajt ];
|
||||
platforms = ["x86_64-linux"];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -39673,7 +39673,10 @@ with pkgs;
|
||||
|
||||
appcsxcad = libsForQt5.callPackage ../applications/science/electronics/appcsxcad { };
|
||||
|
||||
simulide = libsForQt5.callPackage ../applications/science/electronics/simulide { };
|
||||
inherit (libsForQt5.callPackage ../applications/science/electronics/simulide { })
|
||||
simulide_0_4_15;
|
||||
|
||||
simulide = simulide_0_4_15;
|
||||
|
||||
eagle = libsForQt5.callPackage ../applications/science/electronics/eagle/eagle.nix { };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user