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

xfce4-13: init #32763

Merged
merged 1 commit into from Mar 21, 2018
Merged

xfce4-13: init #32763

merged 1 commit into from Mar 21, 2018

Conversation

lukateras
Copy link
Member

@lukateras lukateras commented Dec 17, 2017

Motivation for this change

Prepare for upcoming Xfce 4.14 release. Most, but not all, components have been switched to GTK+ 3.

This is a clean-room packaging effort and differs from currently packaged Xfce in some ways:

  • build entirely from source, using xfce4-dev-tools, source from Git
  • package latest versions rather than Xfce 4.12 branch
  • mark optional dependencies as such
  • abstract away common parts via mkXfceDerivation
  • attribute names match upstream names
  • overridable scope (created via makeScope)

There are quite a few Autoconf fixes that had to be made, mostly related to their dbus_glib -> gdbus switch. I've talked with Xfce devs and plan to upstream these fixes before the release.

Everything works, except:

  • xfce4-volumed is missing (but not xfce4-volumed-pulse): release is not tagged
  • Doesn't include xfce4-panel plugins, yet
  • Thunar doesn't seem to work, yet (needs to be wrapped)
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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 nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@vcunat
Copy link
Member

vcunat commented Dec 17, 2017

Nitpick: when Xfce makes a (stable) release, they will surely call it 4.14, so we might as well start calling it that way. (In most packages they use the even-odd scheme, e.g. like gnome.) BTW, I see no indication that the release will come soon, but I don't think that matters at all – people can test now already – perhaps some will finally manage to get rid of gtk2.

@lukateras
Copy link
Member Author

lukateras commented Dec 17, 2017

Makes sense!

In master, they have ported all of Xfce core and all default apps to GTK+ 3 except xfwm4. That makes me think it will be released soon, but of course they don't have any public deadline or roadmap. Probably not in the next several months, but given their release cycle even half a year from now is soon.

I agree. I'm not yet sure whether I should extend the current NixOS module with swappable implementation (e.g. by adding services.xserver.desktopManager.xfce.attrset option where a top-level Xfce attrset is passed as a value), or if I should just make a new one.

@lukateras lukateras added the 6.topic: xfce The Xfce Desktop Environment label Dec 18, 2017
@lukateras
Copy link
Member Author

@GrahamcOfBorg build xfceUnstable.xfce4-panel xfceUnstable.xfdesktop

Copy link

@GrahamcOfBorg GrahamcOfBorg left a comment

Choose a reason for hiding this comment

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

Success for system: x86_64-linux

/nix/store/cgryqzzk4m428h0xrkb08prwgwdqbm8r-xfce4-panel-4.13.2/bin/xfce4-popup-directorymenu: interpreter directive changed from "/bin/sh" to "/nix/store/65l6hr8snf4v823f974k97jc65i7bhvf-bash-4.4-p12/bin/sh"
/nix/store/cgryqzzk4m428h0xrkb08prwgwdqbm8r-xfce4-panel-4.13.2/bin/xfce4-popup-applicationsmenu: interpreter directive changed from "/bin/sh" to "/nix/store/65l6hr8snf4v823f974k97jc65i7bhvf-bash-4.4-p12/bin/sh"
/nix/store/cgryqzzk4m428h0xrkb08prwgwdqbm8r-xfce4-panel-4.13.2/bin/xfce4-popup-windowmenu: interpreter directive changed from "/bin/sh" to "/nix/store/65l6hr8snf4v823f974k97jc65i7bhvf-bash-4.4-p12/bin/sh"
checking for references to /tmp/nix-build-xfce4-panel-4.13.2.drv-0 in /nix/store/cgryqzzk4m428h0xrkb08prwgwdqbm8r-xfce4-panel-4.13.2...
shrinking RPATHs of ELF executables and libraries in /nix/store/p5ip8kipc7iqdkvswsf95zz2imi3pmm3-xfce4-panel-4.13.2-dev
stripping (with flags -S) in /nix/store/p5ip8kipc7iqdkvswsf95zz2imi3pmm3-xfce4-panel-4.13.2-dev/lib 
patching script interpreter paths in /nix/store/p5ip8kipc7iqdkvswsf95zz2imi3pmm3-xfce4-panel-4.13.2-dev
checking for references to /tmp/nix-build-xfce4-panel-4.13.2.drv-0 in /nix/store/p5ip8kipc7iqdkvswsf95zz2imi3pmm3-xfce4-panel-4.13.2-dev...
/nix/store/cgryqzzk4m428h0xrkb08prwgwdqbm8r-xfce4-panel-4.13.2
/nix/store/01ic3lgqayvvn01l0qnq9wl5r3m32rrr-xfdesktop-4.13.1

Copy link

@GrahamcOfBorg GrahamcOfBorg left a comment

Choose a reason for hiding this comment

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

Success for system: aarch64-linux

/nix/store/jzz36yn9qd5cx115sjn4ybi32zj1yl6j-xfce4-panel-4.13.2/bin/xfce4-popup-windowmenu: interpreter directive changed from "/bin/sh" to "/nix/store/cvbdn77044rj012x7xfv1dj2dv9zqkcd-bash-4.4-p12/bin/sh"
/nix/store/jzz36yn9qd5cx115sjn4ybi32zj1yl6j-xfce4-panel-4.13.2/bin/xfce4-popup-directorymenu: interpreter directive changed from "/bin/sh" to "/nix/store/cvbdn77044rj012x7xfv1dj2dv9zqkcd-bash-4.4-p12/bin/sh"
/nix/store/jzz36yn9qd5cx115sjn4ybi32zj1yl6j-xfce4-panel-4.13.2/bin/xfce4-popup-applicationsmenu: interpreter directive changed from "/bin/sh" to "/nix/store/cvbdn77044rj012x7xfv1dj2dv9zqkcd-bash-4.4-p12/bin/sh"
checking for references to /build in /nix/store/jzz36yn9qd5cx115sjn4ybi32zj1yl6j-xfce4-panel-4.13.2...
shrinking RPATHs of ELF executables and libraries in /nix/store/j96s302nm35bgg5i5xg5ql2kljy837vn-xfce4-panel-4.13.2-dev
stripping (with flags -S) in /nix/store/j96s302nm35bgg5i5xg5ql2kljy837vn-xfce4-panel-4.13.2-dev/lib
patching script interpreter paths in /nix/store/j96s302nm35bgg5i5xg5ql2kljy837vn-xfce4-panel-4.13.2-dev
checking for references to /build in /nix/store/j96s302nm35bgg5i5xg5ql2kljy837vn-xfce4-panel-4.13.2-dev...
/nix/store/jzz36yn9qd5cx115sjn4ybi32zj1yl6j-xfce4-panel-4.13.2
/nix/store/qf59jps11p65zgwb64di66446kalqxmf-xfdesktop-4.13.1

Copy link

@GrahamcOfBorg GrahamcOfBorg left a comment

Choose a reason for hiding this comment

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

Failure for system: x86_64-darwin

Package ‘xfce4-panel-4.13.2’ in /Users/graham/nix-borg/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/lib/attrsets.nix:334 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

@lukateras lukateras added this to the 18.03 milestone Dec 22, 2017
@lukateras
Copy link
Member Author

This should get in by 18.03 release at latest. I plan to finish it (wrap Thunar, package xfce4-panel plugins, include NixOS module) by the end of the year.

@lukateras lukateras mentioned this pull request Dec 29, 2017
8 tasks

sha256 = "1a0b2ih552zhbbx1fc5ad80nafvkc5my3gw89as4mvycnhyd5inj";

buildInputs = [ gtk3 libxfce4ui vte ];
Copy link
Member

Choose a reason for hiding this comment

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

I noticed in #33154 that wrapGAppsHook is required.

Copy link
Member Author

@lukateras lukateras Dec 29, 2017

Choose a reason for hiding this comment

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

It isn't. Just built xfce4-13.xfce4-terminal, runs without wrapGAppsHook set.

screenshot_2017-12-29_00-18-06

Copy link
Member Author

Choose a reason for hiding this comment

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

I see, then I'll wrap all Xfce apps.

@lukateras
Copy link
Member Author

No, it's not. Sorry about the delay.

@lukateras
Copy link
Member Author

Well, let's merge. Some packages still probably need wrapping, but it's better than nothing.

@lukateras
Copy link
Member Author

OK, merging.

@lukateras lukateras merged commit bacb2e2 into NixOS:master Mar 21, 2018
@worldofpeace worldofpeace mentioned this pull request Sep 14, 2019
6 tasks
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.

None yet

4 participants