5 common-updater-scripts,
17 writeShellApplication,
19 stdenv.mkDerivation (finalAttrs: {
21 version = "4.3.3.6560";
24 semver = lib.strings.concatStringsSep "." (
25 lib.lists.init (builtins.splitVersion finalAttrs.version)
29 url = "https://download.raise3d.com/ideamaker/release/${semver}/ideaMaker_${finalAttrs.version}-ubuntu_amd64.deb";
30 hash = "sha256-aTVWCTgnVKD16uhJUVz0vR7KPGJqCVj0xoL53Qi3IKM=";
37 libsForQt5.wrapQtAppsHook
42 # we need curl 7.47.0, as the app segfaults on launch in 7.47.1 and beyond
43 # (tested with 7.47.1, 7.50.3, 7.62, 7.79.1, and 8.7.1)
46 openssl_1_0_1u = openssl.overrideAttrs (previous: {
49 url = "https://www.openssl.org/source/openssl-1.0.1u.tar.gz";
50 hash = "sha256-QxK0yhIVtvLJcAdQPYDbgNUVf3b499P+u+a0xW/yZzk=";
54 outputs = lib.lists.remove "doc" previous.outputs;
55 meta.knownVulnerabilities = [
56 "OpenSSL 1.0.1 reached its end of life 2016-12-31, see https://endoflife.software/applications/security-libraries/openssl."
66 # while we use openssl, the configureFlag has since changed, so we manually set it below
67 opensslSupport = false;
74 url = "https://curl.se/download/curl-7.47.0.tar.lzma";
75 hash = "sha256-XlZk1nJbSmiQp7jMSE2QRCY4C9w2us8BgosBSzlD4dE=";
77 configureFlags = previous.configureFlags ++ [
78 "--with-ca-bundle=${cacert}/etc/ssl/certs/ca-bundle.crt"
79 "--with-ssl=${lib.getLib openssl_1_0_1u}"
82 # curl https://curl.se/docs/vuln-7.74.0.json | jq -r '.[].id' | sed 's/^/"/;s/$/"/'
83 meta.knownVulnerabilities = [
100 "CURL-CVE-2022-32208"
101 "CURL-CVE-2022-32207"
102 "CURL-CVE-2022-32206"
103 "CURL-CVE-2022-32205"
104 "CURL-CVE-2022-27782"
105 "CURL-CVE-2022-27781"
106 "CURL-CVE-2022-27776"
107 "CURL-CVE-2022-27775"
108 "CURL-CVE-2022-27774"
109 "CURL-CVE-2022-22576"
110 "CURL-CVE-2021-22947"
111 "CURL-CVE-2021-22946"
112 "CURL-CVE-2021-22945"
113 "CURL-CVE-2021-22926"
114 "CURL-CVE-2021-22925"
115 "CURL-CVE-2021-22924"
116 "CURL-CVE-2021-22923"
117 "CURL-CVE-2021-22922"
118 "CURL-CVE-2021-22898"
119 "CURL-CVE-2021-22897"
120 "CURL-CVE-2021-22890"
121 "CURL-CVE-2021-22876"
126 (lib.getLib curl_7_47_0)
130 libsForQt5.qtserialport
137 install -D usr/lib/x86_64-linux-gnu/ideamaker/ideamaker \
138 $out/bin/${finalAttrs.pname}
140 patchelf --replace-needed libquazip.so.1 libquazip1-qt5.so \
141 $out/bin/${finalAttrs.pname}
143 mimetypeDir=$out/share/icons/hicolor/128x128/mimetypes
144 mkdir -p ''$mimetypeDir
145 for file in usr/share/ideamaker/icons/*.ico; do
146 mv $file ''$mimetypeDir/''$(basename ''${file%.ico}).png
148 install -D ${./mimetypes.xml} \
149 $out/share/mime/packages/${finalAttrs.pname}.xml
151 install -D usr/share/ideamaker/icons/ideamaker-icon.png \
152 $out/share/pixmaps/${finalAttrs.pname}.png
154 ln -s ${finalAttrs.desktopItem}/share/applications $out/share/
159 desktopItem = makeDesktopItem {
160 name = finalAttrs.pname;
161 exec = finalAttrs.pname;
162 icon = finalAttrs.pname;
163 desktopName = "Ideamaker";
164 comment = "ideaMaker - www.raise3d.com";
172 genericName = finalAttrs.meta.description;
174 "application/x-ideamaker"
181 startupNotify = true;
183 type = "Application";
186 passthru.updateScript = lib.getExe (writeShellApplication {
187 name = "ideamaker-update-script";
190 common-updater-scripts
195 release_page=$(mktemp)
196 curl -s https://www.raise3d.com/download/ideamaker-all-versions/ > "$release_page"
198 latest_stable_version=$(
199 sed -nE '/Beta|Alpha/! s/.*Version ([0-9]+\.[0-9]+\.[0-9]+).*/\1/p' "$release_page" | \
203 latest_stable_build_number=$(
204 sed -nE "s/.*ideaMaker_$latest_stable_version\.([0-9]+).*/\1/p" "$release_page" | head -n 1
207 update-source-version ideamaker "$latest_stable_version.$latest_stable_build_number"
212 homepage = "https://www.raise3d.com/ideamaker/";
213 changelog = "https://www.raise3d.com/download/ideamaker-release-notes/";
214 description = "Raise3D's 3D slicer software";
215 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
216 license = lib.licenses.unfree;
217 platforms = [ "x86_64-linux" ];
218 maintainers = with lib.maintainers; [ cjshearer ];