Skip to content

Maintaining cura ports

Tomoyuki Sakurai edited this page Oct 18, 2021 · 5 revisions

Maintaining cura ports

Read FreeBSD Porter's Handbook.

cad/cura depends on several packages maintained by third-parties and Ultimaker. Packages from Ultimaker are tagged with the version of cad/cura, and the versions must be identical, e.g. 4.11.0. Note that Ultimaker did not tag some packages in the past intentionally or unintentionally. In that case, find out the tag used in the official build, and add it to GH_TUPLE.

Some packages from Ultimaker are forked from upstream. Such packages must be suffixed with a unique name to ensure it is a fork of the original.

  • devel/libnest2d-ultimaker

Always use poudriere to test the ports with reasonably recent official ports tree. Use -t flag with poudriere to enable stage-qa target. If possible, build with all FreeBSD releases. Testing with CURRENT and STABLE is a plus.

Sort pkg-plist.

A typical workflow

FreeBSD bugzilla requires a patch when updating ports. For that purpose, use ports branch. This branch should be synced with the latest ports. After updating ports branch, commit the changes and push the branch.

Create a new branch from ports.

git checkout ports
git checkout -b update_to_new_version

Modify PORTVERSION, and update all distinfo.

for i in `realpath  */*`; do make -C $i makesum ; done

Modify the ports if necessary.

Merge the updated partial ports tree into the latest ports tree (use ports-mgmt/portshaker).

Run poudriere bulk with the merged ports tree. An example:

poudriere bulk -j 14amd64 -z default -p default -C -t cad/cura-engine cad/cura cad/fdm_materials cad/uranium devel/libnest2d-ultimaker devel/libsavitar devel/py-pynest2d net/libarcus net/libcharon

-t flag must be used to test the ports. the log must not include errors, and should not include warnings.

grep -E '^(Warning|Error):' /usr/local/poudriere/data/logs/bulk/14amd64-default-default/latest/logs/*.log

Note that you need to list all the origins in this repository in the poudriere bulk above.

Install the new packages with pkg(8) from the package repository created by poudriere bulk.

When submitting a PR, use:

git diff ports..main
Clone this wiki locally