git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #125395 from musfay/fritzing

fritzing: 0.9.4-498 -> 0.9.6

commitcb3f4288f5c6ac0348dfe45dc84accbc7dbebd91 authorSandro <sandro.jaeckel@gmail.com> dateThu 17 Jun 2021, 01:12 (5 years ago) parent6cb4cefb556b25
1 file changed+31−42
pkgs/applications/science/electronics/fritzing/default.nix+31−42
pkgs/applications/science/electronics/fritzing/default.nix+31−42
@@ -1,86 +1,75 @@
1−{ mkDerivation, lib, fetchpatch, fetchFromGitHub, qmake, pkg-config
2−, qtbase, qtsvg, qttools, qtserialport, boost, libgit2
1+{ mkDerivation
2+, lib
3+, fetchFromGitHub
4+, qmake
5+, pkg-config
6+, qtbase
7+, qtsvg
8+, qttools
9+, qtserialport
10+, boost
11+, libgit2
312}:
413
514let
615 # build number corresponding to a release, has no further relation
716 # see https://github.com/fritzing/fritzing-app/releases/tag/CD-498
8− fritzingBuild = "498";
17+ # fritzingBuild = "498";
18+ # version 0.9.6 is properly tagged, hope it continues
19+
920 # SHA256 of the fritzing-parts HEAD on the master branch,
1021 # which contains the latest stable parts definitions
11− partsSha = "e79a69765026f3fda8aab1b3e7a4952c28047a62";
22+ partsSha = "6f04697be286768bc9e4d64f8707e8e40cbcafcb";
1223in
1324
1425mkDerivation rec {
1526 pname = "fritzing";
16− version = "0.9.4-${fritzingBuild}";
27+ version = "0.9.6";
1728
1829 src = fetchFromGitHub {
19− owner = "fritzing";
30+ owner = pname;
2031 repo = "fritzing-app";
21− rev = "CD-${fritzingBuild}";
22− sha256 = "0aljj2wbmm1vd64nhj6lh9qy856pd5avlgydsznya2vylyz20p34";
32+ rev = version;
33+ sha256 = "083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs";
2334 };
2435
2536 parts = fetchFromGitHub {
26− owner = "fritzing";
37+ owner = pname;
2738 repo = "fritzing-parts";
2839 name = "fritzing-parts";
2940 rev = partsSha;
30− sha256 = "0spka33a5qq34aq79j01arw1aly4vh0hzv7mahryhdlcdk22qqvc";
41+ sha256 = "1f4w0hz44n4iw1rc5vhcgzvlji54rf4yr8bvzkqv99hn2xf5pjgs";
3142 };
3243
3344 buildInputs = [ qtbase qtsvg qtserialport boost libgit2 ];
34−
3545 nativeBuildInputs = [ qmake pkg-config qttools ];
3646
37− patches = [(fetchpatch {
38− name = "fix-libgit2-version.patch";
39− url = "https://github.com/fritzing/fritzing-app/commit/472951243d70eeb40a53b1f7e16e6eab0588d079.patch";
40− sha256 = "0v1zi609cjnqac80xgnk23n54z08g1lia37hbzfl8jcq9sn9adak";
41− })];
42−
4347 postPatch = ''
4448 substituteInPlace phoenix.pro \
4549 --replace 'LIBGIT_STATIC = true' 'LIBGIT_STATIC = false'
4650
47− substituteInPlace tools/linux_release_script/release.sh \
48− --replace 'git status' 'echo >/dev/null' \
49− --replace 'git clean' 'echo >/dev/null' \
50− --replace 'git clone' 'echo >/dev/null' \
51− --replace 'release_folder="' 'release_folder="$out" #' \
52− --replace './Fritzing -db' '# run after fixup'
53−
5451 substituteInPlace src/fapplication.cpp \
5552 --replace 'PartsChecker::getSha(dir.absolutePath());' '"${partsSha}";'
56− '';
57−
58− buildPhase = ''
59− bash tools/linux_release_script/release.sh ${version}
60− '';
6153
62− installPhase = ''
63− rm "$out/Fritzing" # remove script file
64− mkdir "$out/bin"
65− mv "$out/lib/Fritzing" "$out/bin/Fritzing"
66− mkdir --parents "$out/share/applications" "$out/share/metainfo"
67− mv --target-directory="$out/share/applications" "$out/org.fritzing.Fritzing.desktop"
68− mv --target-directory="$out/share/metainfo" "$out/org.fritzing.Fritzing.appdata.xml"
69− cp --recursive --no-target-directory "$parts" "$out/fritzing-parts"
54+ mkdir parts
55+ cp -a ${parts}/* parts/
7056 '';
7157
7258 postFixup = ''
7359 # generate the parts.db file
74− QT_QPA_PLATFORM=offscreen "$out/bin/Fritzing" -db "$out/fritzing-parts/parts.db" -pp "$out/fritzing-parts" -folder "$out"
60+ QT_QPA_PLATFORM=offscreen "$out/bin/Fritzing" \
61+ -db "$out/share/fritzing/parts/parts.db" \
62+ -pp "$out/fritzing/parts" \
63+ -folder "$out/share/fritzing"
7564 '';
7665
7766 qmakeFlags = [ "phoenix.pro" ];
7867
79− meta = {
68+ meta = with lib; {
8069 description = "An open source prototyping tool for Arduino-based projects";
8170 homepage = "https://fritzing.org/";
82− license = lib.licenses.gpl3;
83− maintainers = [ lib.maintainers.robberer ];
84− platforms = lib.platforms.linux;
71+ license = with licenses; [ gpl3 cc-by-sa-30 ];
72+ maintainers = with maintainers; [ robberer ];
73+ platforms = platforms.linux;
8574 };
8675}