Bug 267250 - x11/cinnamon: Updating to 5.4.12
Summary: x11/cinnamon: Updating to 5.4.12
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-gnome (Nobody)
URL:
Keywords:
Depends on: 267548
Blocks:
  Show dependency treegraph
 
Reported: 2022-10-21 08:47 UTC by Sean Champ
Modified: 2022-11-03 20:26 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (gnome)


Attachments
x11/cinnamon update to 5.4.12 (36.38 KB, patch)
2022-10-21 08:47 UTC, Sean Champ
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sean Champ 2022-10-21 08:47:44 UTC
Created attachment 237507 [details]
x11/cinnamon update to 5.4.12

cinnamon is now available in a release 5.4.12

The attached patch updates the port for this newer release. Additional changes:
- Using perl5 in the build
- Adding options for ensuring Cinnamon calendar and Cinnamon screen-recorder support will be built and installed (or optionally not)
- Updating patches
- Auto-generating the section of the plist for docs and icons

This patch corresponds to the following, for other ports from linuxmint sources:
x11/cinnamon-session: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267249
x11/cinnamon-screensaver: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267248
x11/cinnamon-menus: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267247
x11/cinnamon-desktop: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267246
x11-wm/muffin: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267245
x11-fm/nemo: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267244
sysutils/cinnamon-settings-daemon: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267243
sysutils/cinnamon-control-center: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267242
misc/cinnamon-translations: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267241
graphics/colord (used by cinnamon-control-center, cinnamon-settings-daemon): https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267239
Comment 1 Sean Champ 2022-10-21 08:51:52 UTC
The patch will update to a linuxmint/cinnamon changeset between 5.4.12 and the yet-to-be-released 5.4.13

Changeset 05c3a2657 is available on the 5.4-maintenance branch 
https://github.com/linuxmint/cinnamon/tree/5.4-maintenance
Comment 2 Sean Champ 2022-10-21 08:57:24 UTC
A related patch, for updating lang/gjs
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267240
Comment 3 Sean Champ 2022-10-21 09:10:29 UTC
A couple of issues I've noticed with the latest 5.4 series builds in Cinnamon, perhaps something to this effect cold be annotated in a pkg-message, if it's shown to be needed under testing in other environments

- It seems to only work if starting with cinnamon-session-cinnamon2d in .xinitrc. If using cinnamon-session-cinnamon instead (with OpenGL support) all I've seen locally is a blank screen (but with a mouse icon seemingly selected by Cinnamon)

- Because my desktop has opengl support (amdgpu) I've set `export LIBGL_ALWAYS_SOFTWARE=0` in .shrc. This could probably be set in .xinitrc or an xsession file. If not set, then the cinnamon2d launcher will set it to 1 which may have an effect of reduced performance in applications using GL surfaces (when a GPU-capable X server and GPU in the machine are both)

- There might be a peculiarity with the keyboard support in the updated linuxmint sources. I've had to add two keyboard layouts, or the arrow keys on my keyboard would not work in Cinnamon. I've not yet tested this with the newer changeset, represented in the patch.
Comment 4 Sean Champ 2022-11-01 22:16:46 UTC
As an additional observation about this set of patches, after some local builds with the patched ports:

When building for FreeBSD 12.x the Cinnamon 5.x series of releases may require llvm13+ from ports

I'll try to update the patches to accommodate, adding some kind of a conditional test to each Makefile


Separately, I notice that I've missed the patch for lang/cjs. 

I'm running a batch build locally for testing my ports builds with FreeBSD 12.4 built from releng/12.4, will try to add the missing lang/cjs port and the build conditionals by end of week

As one further observation: In the upstream sources for Cinnamon, the release tracking might have become more difficult now. It seems that at least some of the linuxmint GitHub projects have began using a moving non-versioned tag for latest updates, not a branch or a conventional release-number tag. Maybe any subsequent updates would all need to use a GH_TAGNAME mapped to an exact version. I'm not sure how to approach the pkg versioning then, will try to develop some kind of working proposal tho
Comment 5 Sean Champ 2022-11-01 22:17:28 UTC
... the missing cjs patch, rather. Health, all
Comment 6 Sean Champ 2022-11-03 16:41:52 UTC
Additional patches for this set:

- lang/cjs https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267545
- x11/xapp https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267547
- x11/py-python-xapp https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267548

Additionally, some ports under x11-themes might also depend on cinnamon, or might support cinnamon, at any one or more specific releases of the Cinnamon window manager platform
Comment 7 Sean Champ 2022-11-03 17:13:11 UTC
This patch set, in effect, has a transitive dependency on FreeBSD 13. This is due to a dependency on FreeBSD 13 in the x11-wm/muffin[1] patch

After reviewing the changelogs for the linuxmint muffin sources, this dependency may have been introduced immediately after the 5.2.1 release[2]. The changeset where it appears to have been introduced in muffin was a git rebasing changeset corresponding to some API updates in cinnamon[3]. The change in cinnamon was previous to the cinnamon 5.4.0 release.

So, this effective dependency on FreeBSD 13 may be limited to the cinnamon 5 series of upstream source releases.

In one proposal for addressing this with compatibility for FreeBSD 12.3 and the upcoming 12.4 release, it would be hypothetically possible to spin out a cinnamon5 ports series.

This would be  independent to the ports drawing from Cinnamon 4.x upstream sources.

For the subset of ports in cinnamon dependencies (e.g xapp) with upstream sources released under a different version series, maybe those could be used without a branch for the Cinnamon 5 release series.

This is a hypothetical proposal, in the interest of contribution for FreeBSD on the desktop, with continued support for FreeBSD 12.x releases


[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267245#c2
[2] https://github.com/linuxmint/muffin/commit/8599127fa99dc285426fd84c2f53ed0ae8d60d3c#diff-479648c468905ef813febbe5e6af7f9c13e2e2247d366d90ec095484f91ecb14
[3] https://github.com/linuxmint/cinnamon/commit/d6253f1cb1a1e7bf1