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
[WIP] Lomiri DE #108366
[WIP] Lomiri DE #108366
Conversation
* includedir has a doubled prefix (once inserted at buildtime, second time by substituting prefix to dev output at fixup time), deleting first one * Requires specifies the private derivation within egl-wayland (`let`'d eglexternalplatform), marked Requires.private instead
Required for upcoming system-settings
The earlier changes in Qt5 need fixing (mir -> mir_1, moving under lomiri package set instead?)
Binaries broken, but libs required for another derivation
|
||
propagatedBuildInputs = [ click-c ] ++ (with python3.pkgs; [ chardet pygobject3 ]); | ||
|
||
configurePhase = '' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please do not overwrite configurePhase.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not? The default configurePhase does nothing here and I haven't been successful with getting the configure script to run successfully under buildPythonApplication
yet. It works in the click-c
derivation and generates files that are needed for the python part to work (like the setup.py file). The copying around is essentially replacing ./configure
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hooks and setup scripts might expect the phase to exist and do something. Generally use pre and post and as a last resort overwrite something with adding runHook preConfigure and runHook postConfigure.
@ttuegel Sorry for the ping but I could need some help from a Qt maintainer.
defineTest(qtPrepareTool) {
cmd = $$eval(QT_TOOL.$${2}.binary)
isEmpty(cmd) {
- cmd = $$[QT_HOST_BINS]/$$2
- + cmd = $$system("command -v $$2")
+ + cmd = $$system("command -v $${2}.pl")
- exists($${cmd}.pl) {
- $${1}_EXE = $${cmd}.pl
- cmd = perl -w $$system_path($${cmd}.pl)
+ - exists($${cmd}.pl) {
+ - $${1}_EXE = $${cmd}.pl
+ - cmd = perl -w $$system_path($${cmd}.pl)
+ + exists($${cmd}) {
+ + $${1}_EXE = $${cmd}
+ + cmd = perl -w $$system_path($${cmd}) The original patch ignores that
|
@@ -12465,6 +12467,7 @@ in | |||
|
|||
abseil-cpp = callPackage ../development/libraries/abseil-cpp { }; | |||
|
|||
accountsservice_0642 = callPackage ../development/libraries/accountsservice/0.6.42.nix { }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
accountsservice_0642 = callPackage ../development/libraries/accountsservice/0.6.42.nix { }; | |
accountsservice_0_6 = callPackage ../development/libraries/accountsservice/0.6.nix { }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Current version in Nixpkgs is 0.6.55, naming it 0.6.nix would suggest that 0.6.42 needs to be updated still.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't know that. accountsservice_0_6_42
is probably still a bit more clear.
--replace "prefix}/$out" 'prefix}' | ||
''; | ||
|
||
meta = with stdenv.lib; { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
meta = with stdenv.lib; { | |
meta = with lib; { |
@@ -0,0 +1,42 @@ | |||
{ stdenv, fetchFromGitHub |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{ stdenv, fetchFromGitHub | |
{ lib, stdenv, fetchFromGitHub |
pname = "properties-cpp"; | ||
version = "0.0.1"; | ||
pname = "properties-cpp-unstable"; | ||
version = "2014-07-30"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
version = "2014-07-30"; | |
version = "unstable-2014-07-30"; |
|
||
outputs = [ "out" "dev" "doc" ]; | ||
|
||
meta = with stdenv.lib; { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
meta = with stdenv.lib; { | |
meta = with lib; { |
}: | ||
|
||
let | ||
version = "2020-05-17"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
version = "2020-05-17"; | |
version = "unstable-2020-05-17"; |
sha256 = "0kgrskami9rjk0qkrnzm3kd209nxzf5hmw3cdqkhp5rfd548csry"; | ||
}; | ||
click-c = stdenv.mkDerivation { | ||
pname = "click-c-unstable"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pname = "click-c-unstable"; | |
pname = "click-c"; |
"''${gappsWrapperArgs[@]}" | ||
) | ||
''; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing meta.
|
||
nativeBuildInputs = [ cmake pkg-config ]; | ||
|
||
buildInputs = [ wayland boost egl-wayland wlcs libglvnd glm protobuf capnproto glog lttng-ust udev glib libxcb libX11 libXau libXcursor libXdmcp libXrender libdrm mesa epoxy nettle libxkbcommon libinput libxmlxx libuuid freetype libyamlcpp py libevdev umockdev gtest libsystemtap ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
buildInputs = [ wayland boost egl-wayland wlcs libglvnd glm protobuf capnproto glog lttng-ust udev glib libxcb libX11 libXau libXcursor libXdmcp libXrender libdrm mesa epoxy nettle libxkbcommon libinput libxmlxx libuuid freetype libyamlcpp py libevdev umockdev gtest libsystemtap ]; | |
buildInputs = [ wayland boost egl-wayland wlcs libglvnd glm protobuf capnproto glog lttng-ust udev | |
glib libxcb libX11 libXau libXcursor libXdmcp libXrender libdrm mesa epoxy nettle libxkbcommon | |
libinput libxmlxx libuuid freetype libyamlcpp py libevdev umockdev gtest libsystemtap ]; |
, wayland, boost, egl-wayland, wlcs, libglvnd, glm, protobuf, capnproto, glog, lttng-ust, udev, glib, libxcb, libX11, libXau, libXcursor, libXdmcp, libXrender, libdrm, mesa, epoxy, nettle, libxkbcommon, libinput, libxmlxx, libuuid, freetype, libyamlcpp, python3, libevdev, umockdev, gtest, libsystemtap | ||
|
||
, version | ||
, sha256 | ||
}: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
, wayland, boost, egl-wayland, wlcs, libglvnd, glm, protobuf, capnproto, glog, lttng-ust, udev, glib, libxcb, libX11, libXau, libXcursor, libXdmcp, libXrender, libdrm, mesa, epoxy, nettle, libxkbcommon, libinput, libxmlxx, libuuid, freetype, libyamlcpp, python3, libevdev, umockdev, gtest, libsystemtap | |
, version | |
, sha256 | |
}: | |
, wayland, boost, egl-wayland, wlcs, libglvnd, glm, protobuf, capnproto, glog, lttng-ust, udev, glib | |
, libxcb, libX11, libXau, libXcursor, libXdmcp, libXrender, libdrm, mesa, epoxy, nettle, libxkbcommon | |
, libinput, libxmlxx, libuuid, freetype, libyamlcpp, python3, libevdev, umockdev, gtest, libsystemtap | |
, version, sha256 | |
}: |
I marked this as stale due to inactivity. → More info |
This PR is very impressive :) I really would like to see get Lomiri working on NixOS. Have you already packaged the UBports apps? https://gitlab.com/ubports/apps |
I'm still very interested in having Lomiri on NixOS as well :). I haven't packaged anything else that's related to ubports, just what's here in this PR. I also never got the actually hard part of this all figured out: How to get it to run & be configurable via options. Regarding Lomiri, I haven't had much time to look at this stuff over the past year but it sounds like upstream may've been working on refactoring some stuff? https://gitlab.com/ubports/development/core/lomiri
|
Closing this:
|
Nothing's tested & working yet, just opening a draft so people can chime in, start nitpicking & improving if they want. 🙂
I got ubports/unity8 and its compile-time dependencies to compile but that's about it so far. There are rough edges that need to be fixed down the line:
ubuntu-ui-toolkit
lomiri.click
is (sadly, unless somehow patched out) needed, currently semi-broken and the derivation in general is very uglyxenial
, other timesbionic
, oftenxenial_-_qt-5.12
or something that should be noted in the derivation to help with coordinating updates later down the roadlomiri
set of packages intoall-packages.nix
lomiri
instead, if that's a better place for them?${unity8}/bin/indicator-client
looks forfile:///build/source/qml/Panel/Indicators/client/IndicatorsClient.qml
)Motivation for this change
#99090
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)