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

deepin updates #58634

Merged
merged 34 commits into from Apr 4, 2019
Merged

deepin updates #58634

merged 34 commits into from Apr 4, 2019

Conversation

romildo
Copy link
Contributor

@romildo romildo commented Mar 31, 2019

Motivation for this change

Update deepin packages already on nixpkgs.

Depends on #58564 and #58566.

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.

@worldofpeace
Copy link
Contributor

Hi @romildo,
I'll see if I can get #58564 and #58566 merged for you.

Copy link
Contributor

@worldofpeace worldofpeace left a comment

Choose a reason for hiding this comment

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

Left some comments to get this moving.

Also wanted to ask why 6bcee56 is reverted?

You're probably aware that most of this stuff is left broken on 19.03.
So maybe we can work a way to backport the updates.

pkgs/desktops/deepin/deepin-wm/default.nix Outdated Show resolved Hide resolved
pkgs/desktops/deepin/deepin-terminal/default.nix Outdated Show resolved Hide resolved
pkgs/desktops/deepin/deepin-mutter/default.nix Outdated Show resolved Hide resolved
pkgs/desktops/deepin/deepin-mutter/default.nix Outdated Show resolved Hide resolved
pkgs/desktops/deepin/deepin-icon-theme/default.nix Outdated Show resolved Hide resolved
pkgs/desktops/deepin/deepin-desktop-schemas/default.nix Outdated Show resolved Hide resolved
pkgs/desktops/deepin/dde-daemon/default.nix Outdated Show resolved Hide resolved
pkgs/desktops/deepin/deepin-desktop-schemas/default.nix Outdated Show resolved Hide resolved
pkgs/desktops/deepin/deepin-terminal/default.nix Outdated Show resolved Hide resolved
@romildo
Copy link
Contributor Author

romildo commented Apr 1, 2019

Also wanted to ask why 6bcee56 is reverted?

At that time those packages stopped compiling and it looked like (wrongly) that they would not be needed anymore. They are still needed for forthcoming packages like dde-file-manager and startdde, though.

@worldofpeace
Copy link
Contributor

At that time those packages stopped compiling and it looked like (wrongly) that they would not be needed anymore. They are still needed for forthcoming packages like dde-file-manager and startdde, though.

Ahh, I see. Should be fine to do that in this pr then.

@romildo
Copy link
Contributor Author

romildo commented Apr 1, 2019

@GrahamcOfBorg build deepin.dbus-factory deepin.dde-api deepin.dde-calendar deepin.dde-daemon deepin.dde-dock deepin.dde-network-utils deepin.dde-polkit-agent deepin.dde-qt-dbus-factory deepin.dde-session-ui deepin.deepin-desktop-base deepin.deepin-desktop-schemas deepin.deepin-gettext-tools deepin.deepin-gtk-theme deepin.deepin-icon-theme deepin.deepin-image-viewer deepin.deepin-manual deepin.deepin-menu deepin.deepin-metacity deepin.deepin-movie-reborn deepin.deepin-mutter deepin.deepin-shortcut-viewer deepin.deepin-sound-theme deepin.deepin-terminal deepin.deepin-turbo deepin.deepin-wallpapers deepin.deepin-wm deepin.dpa-ext-gnomekeyring deepin.dtkcore deepin.dtkwidget deepin.dtkwm deepin.go-dbus-factory deepin.go-dbus-generator deepin.go-gir-generator deepin.go-lib deepin.go-x11-client deepin.qt5dxcb-plugin deepin.qt5integration

@worldofpeace
Copy link
Contributor

worldofpeace commented Apr 3, 2019

Built everything locally with success.

Though most of the actual applications fail to display their windows
and show messages in the output like

"dtkwidget2" can not find qm files
"dde-calendar" can not find qm files

@romildo
Copy link
Contributor Author

romildo commented Apr 3, 2019

Some screenshots on my NixOS unstable system, obtained after building a package and running the binary in result/bin/. I needs polishing, but it seems to work for me.

calendar
dde-calendar
movie
deepin-movie
image viewer
deepin-image-viewer
terminal
deepin-terminal

@romildo
Copy link
Contributor Author

romildo commented Apr 3, 2019

Also it needs more maintainers. Help is always welcome.

@worldofpeace
Copy link
Contributor

Some screenshots on my NixOS unstable system, obtained after building a package and running the binary in result/bin/. I needs polishing, but it seems to work for me.

The only one that did get drawn for me was the terminal, so perhaps there's a dependency on like a dbus service.

I think everything here is probably good for merge. Though I remember you discussing your setupHook and I was wondering if you had someone review it other than me?

Since that's the only actual addition here.

Also it needs more maintainers. Help is always welcome.

I'd be happy to help out with maintaining this and also getting things packaged, etc. 😄

my secret goal for 19.09 would be having all of deepin in nixpkgs

@romildo
Copy link
Contributor Author

romildo commented Apr 3, 2019

Though I remember you discussing your setupHook and I was wondering if you had someone review it other than me?

Nobody else commented on it. Our prior conversation about it is here: #52403 (review)

Basically it defines two bash helper functions to ease finding and fixing file paths hard coded in the source code, and that does not adhere to the Nix store idea (i.e. /usr/bin/deepin-terminal). This seems to be one of the most boring activities in packaging deepin.

Maybe in the future they can become useful enough for packaging more software, and they could migrate to somewhere more general than the deepin meta package. And it would be nice if they could be accessible without having to add a dependency in nativeBuildInputs.

@worldofpeace
Copy link
Contributor

Though I remember you discussing your setupHook and I was wondering if you had someone review it other than me?

Nobody else commented on it. Our prior conversation about it is here: #52403 (review)

Basically it defines two bash helper functions to ease finding and fixing file paths hard coded in the source code, and that does not adhere to the Nix store idea (i.e. /usr/bin/deepin-terminal). This seems to be one of the most boring activities in packaging deepin.

Indeed, and a boring task in GNOME packaging as well 😄

And I think this is probably the best we can do ATM. Fixing the path to just be from the nix store is usually preferred.

Perhaps in the future we could communicate to them an initiative to just not hardcode paths to binaries.

Maybe in the future they can become useful enough for packaging more software, and they could migrate to somewhere more general than the deepin meta package. And it would be nice if they could be accessible without having to add a dependency in nativeBuildInputs.

Right, hardcoded FHS paths are always a problem in nix so they could be useful outside deepin.
Though this is needed here because it's so numerous. I'd say patches like this would be much safer but it's not feasible here.

@romildo
Copy link
Contributor Author

romildo commented Apr 3, 2019

Some screenshots on my NixOS unstable system, obtained after building a package and running the binary in result/bin/. I needs polishing, but it seems to work for me.

I also test deepin in a virtual machine with a configuration similar to https://gist.github.com/romildo/52e5136c544de5ac0abf36d75be9533d

$ nixos-rebuild build-vm --show-trace --option sandbox true -I nixpkgs=/alt/nixpkgs -I nixos-config=/alt/nixos/configuration.deepin.nix 2>&1 | tee /var/tmp/nixos-rebuild-vm.log

$ QEMU_OPTS="-m 1G,slots=3,maxmem=4G" result/bin/run-nixos-vm

@romildo
Copy link
Contributor Author

romildo commented Apr 3, 2019

The only one that did get drawn for me was the terminal, so perhaps there's a dependency on like a dbus service.

deepin-menu has a dbus service that has to be enabled in order for the menu of deepin-terminal to work.

@worldofpeace
Copy link
Contributor

Some screenshots on my NixOS unstable system, obtained after building a package and running the binary in result/bin/. I needs polishing, but it seems to work for me.

I also test deepin in a virtual machine with a configuration similar to https://gist.github.com/romildo/52e5136c544de5ac0abf36d75be9533d

$ nixos-rebuild build-vm --show-trace --option sandbox true -I nixpkgs=/alt/nixpkgs -I nixos-config=/alt/nixos/configuration.deepin.nix 2>&1 | tee /var/tmp/nixos-rebuild-vm.log

$ QEMU_OPTS="-m 1G,slots=3,maxmem=4G" result/bin/run-nixos-vm

Ahh, these do execute within a vm 👍

deepin-menu has a dbus service that has to be enabled in order for the menu of deepin-terminal to work.

Yep, I'm seeing that error without it.
Wish we could declare dependency on certain dbus services within nix.

@romildo
Copy link
Contributor Author

romildo commented Apr 4, 2019

Though most of the actual applications fail to display their windows
and show messages in the output like

"dtkwidget2" can not find qm files
"dde-calendar" can not find qm files

These messages appears also on archlinux and ubuntu.

@romildo
Copy link
Contributor Author

romildo commented Apr 4, 2019

@worldofpeace can this be merged?

@worldofpeace
Copy link
Contributor

Though most of the actual applications fail to display their windows
and show messages in the output like

"dtkwidget2" can not find qm files
"dde-calendar" can not find qm files

These messages appears also on archlinux and ubuntu.

Yeah I combed through some issues on that, but I couldn't find a resolution.

@worldofpeace can this be merged?

It stands on its own as a good improvement so I'm ready to merge as is.

@worldofpeace worldofpeace merged commit 34c6922 into NixOS:master Apr 4, 2019
@worldofpeace worldofpeace mentioned this pull request Apr 5, 2019
10 tasks
@romildo
Copy link
Contributor Author

romildo commented Apr 5, 2019

@worldofpeace thanks for helping with this.

As there are too few people packaging deepin for NixOS, I think it is better to do it gradually, adding new packages to master and fixing issues as they appear. Eventually other contributors can become interested and start helping. What do you think?

@worldofpeace
Copy link
Contributor

As there are too few people packaging deepin for NixOS, I think it is better to do it gradually, adding new packages to master and fixing issues as they appear. Eventually other contributors can become interested and start helping. What do you think?

Yeah, doing it all in one big batch can be hard to manage and also deter new people from helping out.
And we wouldn't want to get into a place where it's too much to handle.

Though speaking of where work is needed, i think it would be a good idea to open some issues.
For example, just a todo list of things that aren't packaged yet.

That would help me know where work is needed and others. Also to prevent duplication of work.

@romildo romildo deleted the upd.deepin.new branch April 5, 2019 02:17
@romildo romildo mentioned this pull request Apr 5, 2019
28 tasks
lheckemann added a commit that referenced this pull request Apr 7, 2019
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