Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

curaLulzbot: 15.02.1-1.03-5064 -> 3.6.18 #61054

Merged
merged 2 commits into from Aug 8, 2019

Conversation

charles-dyfis-net
Copy link
Contributor

@charles-dyfis-net charles-dyfis-net commented May 6, 2019

Motivation for this change

Move Cura Lulzbot Edition to be based on the same generation of the codebase as the upstream (Ultimaker) branch, away from a many-year-old legacy tree.

Since prior Lulzbot Edition packaging simply wrapped binaries unpacked from Debian binary packages, doing this right requires forking the same dependencies that Lulzbot has branched themselves as well.

cc: @pjones, @abbradar, @orivej -- I didn't assume that anyone listed as a maintainer for upstream Cura and dependencies also wanted to own the lulzbot edition, but if anyone does want to be in the list, I'd be glad to not be there alone. :)

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Resolves: #64469

from Aleph Objects.
'';
preFixup = ''
sed -i 's,^import cura.CuraApplication$,import Savitar; import cura.CuraApplication,' "$out/bin/cura-lulzbot"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

substituteInPlace is preferred here because it complains if no substitution has been made (at least as a logging message).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the review. I've squashed the change 80b975d75c0 in, and checked that the output file is identical / the executable still runs correctly.

@charles-dyfis-net charles-dyfis-net changed the title curaLulzbot: 15.02.1-1.03-5064 -> 3.6.8 curaLulzbot: 15.02.1-1.03-5064 -> 3.6.9 May 18, 2019
@charles-dyfis-net
Copy link
Contributor Author

charles-dyfis-net commented May 23, 2019

f7efb471e4eb4dde80afb1b2d83781b649770c2f represents the delta between the previously-reviewed content and the 2019-05-23 force-push (which correctly writes a version marker, and pulls in binary blobs enabling firmware management support for Lulzbot printers).

@charles-dyfis-net charles-dyfis-net force-pushed the modernize-cura-lulzbot branch 2 times, most recently from 7a94ff4 to 4bfc14e Compare May 23, 2019 17:14
@charles-dyfis-net charles-dyfis-net changed the title curaLulzbot: 15.02.1-1.03-5064 -> 3.6.9 curaLulzbot: 15.02.1-1.03-5064 -> 3.6.10 Jun 24, 2019
@charles-dyfis-net charles-dyfis-net changed the title curaLulzbot: 15.02.1-1.03-5064 -> 3.6.10 curaLulzbot: 15.02.1-1.03-5064 -> 3.6.13 Jul 4, 2019
@charles-dyfis-net
Copy link
Contributor Author

Temporarily removed the numpy-stl dependency due to an upstream bug (loading binary STL files) only present when that library is available. Fallback codepath is slower, but works.

patches = [
# Qt 5.12+ support; see https://code.alephobjects.com/rU70b73ba0a270799b9eacf78e400aa8b8ab3fb2ee
(fetchurl {
url = "https://code.alephobjects.com/file/data/bwlg4bwkv4zzqaju4dyi/PHID-FILE-gmlyi636lqqw5ja2il3v/file?diff=1";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This URL no longer works, I get:

trying https://code.alephobjects.com/file/data/bwlg4bwkv4zzqaju4dyi/PHID-FILE-gmlyi636lqqw5ja2il3v/file?diff=1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
error: cannot download file?diff=1 from any mirror
builder for '/nix/store/wyxvmn9rfw6whh81s75pdyw9w5y3f0zd-file?diff=1.drv' failed with exit code 1

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, that's disappointing. If I navigate to the same address now I get the URL https://code.alephobjects.com/file/data/l4x4gxrrqorjwh6twrr2/PHID-FILE-lgeooxasr6hwfqtdzvoo/file?diff=1 -- but my guess is that that one isn't going to be any more stable.

Might just fold it into the source tree. Thank you for checking!

@charles-dyfis-net
Copy link
Contributor Author

@gebner -- the version just force-pushed folds in the patch, so we don't depend on having a stable download link. Thank you again for checking!

@charles-dyfis-net charles-dyfis-net changed the title curaLulzbot: 15.02.1-1.03-5064 -> 3.6.13 curaLulzbot: 15.02.1-1.03-5064 -> 3.6.15 Jul 25, 2019
Move Cura Lulzbot Edition to be based on the same generation of the
codebase as the upstream (Ultimaker) branch, away from a many-year-old
legacy tree.

Since prior Lulzbot Edition packaging simply wrapped binaries unpacked
from Debian binary packages, doing this right requires forking the same
dependencies that Lulzbot has branched themselves as well.
@charles-dyfis-net charles-dyfis-net changed the title curaLulzbot: 15.02.1-1.03-5064 -> 3.6.15 curaLulzbot: 15.02.1-1.03-5064 -> 3.6.18 Aug 3, 2019
curaengine = curaengineLulzbot;
libarcus = python3Packages.libarcusLulzbot;
uranium = python3Packages.uraniumLulzbot;
libsavitar = python3Packages.libsavitarLulzbot;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we don't want to use these python packages in any other place, it might be better to copy them to pkgs/applications/misc/cura/lulzbot and just reference them here locally.
The reason is that having different versions of a python library will collide in PYTHONPATH, which is why we want to avoid having different versions of the same library for python.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Mic92, is 784c69a in line with your suggestion here?

@ofborg ofborg bot removed the 6.topic: python label Aug 4, 2019
@gebner
Copy link
Member

gebner commented Aug 8, 2019

Tested and works for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

curaLulzbot version
3 participants