-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
Package request: Maemo Leste (Maemo 7) / Hildon Desktop #328952
Comments
Did you meant https://github.com/maemo-leste/hildon-desktop for the source? |
Afaik that's only the backend? While maemo runs on top of it? |
just to clarfy cause there is like 266 repos in that org 😅 |
tbh i have no idea how to piece it together it seems to be like somewhat like GNOME in terms of complexity without any available docs that i could find for the packaging CC @MerlijnWajer @dderby @pali @parazyd (Maemo Leste Public GiHub Org Members) for packaging informations |
base derivation would be {
lib,
stdenv,
fetchFromGitHub,
autoconf,
autoconf-archive,
automake,
pkg-config,
glib,
libtool,
gnome2,
dbus,
xorg,
libcanberra,
gnome-menus,
gdk-pixbuf-xlib,
libmatchbox
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hildon-desktop";
version = "2.2.194";
src = fetchFromGitHub {
owner = "maemo-leste";
repo = "hildon-desktop";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-86ilVylbRUnSkm2Ujm580g3IfTDlKvkNB2nq/6hCNHU=";
};
nativeBuildInputs = [
autoconf
autoconf-archive
automake
pkg-config
];
buildInputs = [
glib
libtool
# clutter # dont match clutter-0.8
gnome2.GConf
dbus
libcanberra
gnome-menus
gdk-pixbuf-xlib
libmatchbox
] ++ (with xorg; [
libX11
libXcomposite
libXft
]);
preConfigure = "./autogen.sh";
meta = {
maintainers = with lib.maintainers; [ simganificient ];
license = lib.licenses.gpl2;
};
}) But it s missing some deps. Real problem is Here the starter derivation: {
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
dbus,
dbus-glib,
glib
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mce";
version = "1.10.9";
src = fetchFromGitHub {
owner = "maemo-leste";
repo = "mce";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-W0seXFNlUq1+XtaeXQUzGXDnKgUQC45gryCF0wb9bBk=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
dbus
dbus-glib
glib
];
meta = {
maintainers = with lib.maintainers; [ simganificient ];
license = lib.licenses.gpl2;
};
}) |
You mean these? If so then the NixOS-way would probably be to substitute them? Or could this be implemented upstream to not be so dependent on FHS 3.0? |
Yeah but the question is, fixing them with what |
I've opened up a draft pr, will be continuing working tomorrow |
set(MCE_CONF_DIR /etc/mce)
set(MCE_CONF_OVR_DIR mce.ini.d)
set(MCE_MODULE_DIR lib/mce/modules)
set(MCE_RUN_DIR /var/run/mce)
set(MCE_VAR_DIR /var/lib/mce) These seem sane for a NixOS filesystem right?
Afaik this will have to point to a nix store like GTK is doing for lot of things
No idea tbh.. |
Oke, thanks for working on this! <3 |
Hi - one of the Maemo Leste developers here - just to add some context, there are indeed a lot of repos. The "core" of Maemo Leste is about 287 packages, but this includes basically a fully fledged system. You can get a pretty basic proof of concept going with way fewer packages of course (and I could provide some guidance on where to start), but the one thing that really should be mentioned is that we patch gtk2: https://github.com/maemo-leste/gtk/tree/maemo/chimaera/debian/patches Since Maemo Leste is currently it's own debian-based distro we have no problems patching the system-wide gtk2, but I assume this might not be the case for NixOS. I don't know enough about NixOS to suggest how this should or should not be handled. Please feel free to ask any questions here or elsewhere and I'll try to my best to answer. |
Thank you for looking into this! Your input is very appreciated! <3
A fully fledged system for e.g. NiXium's WIldBeast system which is my personal Nokia N900 is the projected end-goal of this issue.
Simplified: Nix manages the issue of dependency hell by interpreting package instructions for building them from source in a reproducible environment with the runtime dependencies packed with the package that is provided through environmental variables and invidual library linking from a special file hierarchy management (the package manager interprets the building instructions as So in practice we can just provide instructions for how to adjust the gtk2 and it won't interfiere with other packages same for other dependencies and we can skip the builds by using cache similar to how docker interprets dockerfiles. Community member Chris McDonough made a quick video explaining the relevant Nix PhD Thesis if you want to know in detail how is this managed: https://youtu.be/usrdGqcq-Xc?t=34 (JumpCutter extension recommended as they do a lot of "ehh.." and have a long pauses between sentences)
Is there anything else that needs to be patched or needs a special treatment? Ideally we need a list of packages that are expected to be packaged with what dependencies and how to process them e.g. what commands to use to configure, compile them and what to install to the filesystem NOTE: NixOS uses bash internally so if you have some scripts that generate |
This depends on GTK 2, which we’re trying to get rid of. We shouldn’t add a completely new set of desktop environment packages using a toolkit that has been out of support for many years. People who are interested can maintain it in another repository. |
Upstream said that they are working on migrating on GTK3+ or Qt, but it's a huge task that they lack resources to do so efficiently atm.. They said that they might be able to maintain gtk2 to apply security patches as extended support if that would help? For context hildon-desktop was originally developed by Nokia and it has a lot of components where there isn't any GUI-based alternative for the kinda unique formfactor of Nokia N900 atm |
Project description
Graphical user environment for handheld devices originally designed for Nokia N900 (RX-51) by Nokia (pre-microsoft), now actively maintained by the community and designed/works on:
Video Showcase: https://www.youtube.com/watch?v=M28Ojvg9i9Q
Metadata
Add a 👍 reaction to issues you find important.
The text was updated successfully, but these errors were encountered: