summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Watson <twatson52@icloud.com>2024-04-06 11:44:53 -0500
committerBjørn Forsman <bjorn.forsman@gmail.com>2024-04-10 19:27:03 +0200
commit4d46279ad98b238bcb7c0c08b53a9e1aba1cf6d6 (patch)
tree2fb80738206e2229900d0e6c804e5e7962f63a52
parentquartus-prime-lite: add more qsys requirements (diff)
downloadnixpkgs-4d46279ad98b238bcb7c0c08b53a9e1aba1cf6d6.tar.gz
quartus-prime-lite: make usable under emulation
-rw-r--r--pkgs/applications/editors/quartus-prime/default.nix4
-rw-r--r--pkgs/applications/editors/quartus-prime/quartus.nix10
2 files changed, 12 insertions, 2 deletions
diff --git a/pkgs/applications/editors/quartus-prime/default.nix b/pkgs/applications/editors/quartus-prime/default.nix
index 679a9ffbd2a1..b08bd7a6b365 100644
--- a/pkgs/applications/editors/quartus-prime/default.nix
+++ b/pkgs/applications/editors/quartus-prime/default.nix
@@ -1,7 +1,7 @@
{ lib, buildFHSEnv, callPackage, makeDesktopItem, writeScript, runtimeShell
-, runCommand, quartus-prime-lite
+, runCommand, unstick, quartus-prime-lite
, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
-, unwrapped ? callPackage ./quartus.nix { inherit supportedDevices; }
+, unwrapped ? callPackage ./quartus.nix { inherit unstick supportedDevices withQuesta; }
}:
let
diff --git a/pkgs/applications/editors/quartus-prime/quartus.nix b/pkgs/applications/editors/quartus-prime/quartus.nix
index e20b86c089f1..5b9a9dc879fc 100644
--- a/pkgs/applications/editors/quartus-prime/quartus.nix
+++ b/pkgs/applications/editors/quartus-prime/quartus.nix
@@ -76,14 +76,24 @@ in stdenv.mkDerivation rec {
"questa_fe"
] ++ (lib.attrValues unsupportedDeviceIds);
in ''
+ echo "setting up installer..."
${lib.concatMapStringsSep "\n" copyInstaller installers}
${lib.concatMapStringsSep "\n" copyComponent components}
+ echo "executing installer..."
+ # "Could not load seccomp program: Invalid argument" might occur if unstick
+ # itself is compiled for x86_64 instead of the non-x86 host. In that case,
+ # override the input.
unstick $TEMP/${(builtins.head installers).name} \
--disable-components ${lib.concatStringsSep "," disabledComponents} \
--mode unattended --installdir $out --accept_eula 1
+ echo "cleaning up..."
rm -r $out/uninstall $out/logs
+
+ # replace /proc pentium check with a true statement. this allows usage under emulation.
+ substituteInPlace $out/quartus/adm/qenv.sh \
+ --replace-fail 'grep sse /proc/cpuinfo > /dev/null 2>&1' ':'
'';
meta = with lib; {