(address . guix-patches@gnu.org)(name . Sergio Pastor Pérez)(address . sergio.pastorperez@outlook.es)
Good evening!
After some time I've managed to package Mission Center[1] and its
dependencies. The dependency tree turned out to be massive *cries on rust*.
I've decided to package this as an example on how to build a rust application
which relies on the meson build system, I believe as of the time of writing we
don't have any.
Most of the dependencies are rust related. In order to alleviate the load on
the rust-team I've tried to avoid, wherever possible, the use of flags such as
`#:skip-build? #t` or `#:tests? #f`. I also ensured that the different
additions updated older versions with the appropriate inherit keyword.
You would notice that in order to package `mission-center`, some ugly hacks
where required. Hacks such as providing the sources of `nvtop-src`. The
application uses some of those source files to build certain internal modules.
Also, I could not find any appropriate way of packaging `pathfinder` with our
current rust build system. This package is problematic since its a
multi-workspace rust repository, where each module is interdependent with each
other.
All quirks aside, I think It would be nice to have Mission Center in Guix
since It's usually distributed as a Flatpack and serves as an example on how
to package a piece of software with such an esoteric build.
Thanks,
Sergio.
Sergio Pastor Pérez (91):
gnu: Add blueprint-compiler-next.
gnu: Add rust-glib-sys-0.18.
gnu: Add rust-gobject-sys-0.18.
gnu: Add rust-gio-sys-0.18.
gnu: Add rust-glib-macros-0.18.
gnu: Add rust-glib-0.18.
gnu: Add rust-gio-0.18.
gnu: Add rust-gdk-pixbuf-sys-0.18.
gnu: Add rust-gdk-pixbuf-0.18.
gnu: Add rust-graphene-sys-0.18.
gnu: Add rust-graphene-rs-0.18.
gnu: Add rust-gl-loader-0.1.
gnu: Add rust-pango-sys-0.18.
gnu: Add rust-pango-0.18.
gnu: Add rust-const-random-macro-0.1.15.
gnu: Add rust-const-random-0.1.15.
gnu: Add rust-proc-status-0.1.
gnu: Add rust-ordermap-0.2.
gnu: Add rust-quick-xml-0.30.
gnu: Add rust-rstest-macros-0.17.
gnu: Add rust-spinning-0.1.
gnu: Add rust-to-method-1.
gnu: Add rust-rustc-hash-1.0.
gnu: Add rust-rstest-0.17.
gnu: Add rust-minimad-0.12.
gnu: Add rust-minidl-0.1.
gnu: Add rust-libudev-sys-0.1.
gnu: Add rust-byte-slice-cast-0.3.
gnu: Add rust-file-size-1.
gnu: Add rust-assert2-macros-0.3.
gnu: Add rust-cli-log-2.
gnu: Add rust-assert2-0.3.
gnu: Add rust-coverage-helper-0.1.
gnu: Add rust-dlv-list-0.5.
gnu: Add rust-errno-sys-0.1.
gnu: Add rust-libc-0.1.
gnu: Add rust-khronos-0.1.
gnu: Add rust-hashbrown-0.7.
gnu: Add rust-egl-0.2.
gnu: Add rust-ordered-multimap-0.6.
gnu: Add rust-dlib-0.5.1.
gnu: Add rust-wayland-sys-0.31.
gnu: Add rust-wayland-backend-0.1.3.
gnu: Add rust-textdistance-1.
gnu: Add rust-rust-ini-0.19.
gnu: Add rust-coolor-0.5.0.
gnu: Add rust-deser-hjson-1.
gnu: Add rust-crokey-proc-macros-0.4.
gnu: Add rust-crokey-0.4.
gnu: Add rust-xcb-0.10.
gnu: Add rust-x11-clipboard-0.5.3.
gnu: Add rust-termux-clipboard-0.1.
gnu: Add rust-terminal-clipboard-0.3.
gnu: Add rust-termimad-0.23.
gnu: Add rust-core-affinity-0.8.
gnu: Add rust-raw-sync-0.1.
gnu: Add rust-raw-cpuid-11.
gnu: Add rust-drm-fourcc-2.
gnu: Add rust-drm-sys-0.4.
gnu: Add rust-drm-ffi-0.5.
gnu: Add rust-drm-0.9.
gnu: Add rust-intmap-0.7.
gnu: Add rust-interprocess-1.
gnu: Add rust-rustbus-derive-0.5.
gnu: Add rust-rustbus-0.19.
gnu: Add rust-windows-x86-64-msvc-0.34.
gnu: Add rust-windows-x86-64-gnu-0.34.
gnu: Add rust-windows-tokens-0.34.
gnu: Add rust-windows-interface-0.34.
gnu: Add rust-windows-implement-0.34.
gnu: Add rust-windows-i686-msvc-0.34.
gnu: Add rust-windows-i686-gnu-0.34.
gnu: Add rust-windows-aarch64-msvc-0.34.
gnu: Add rust-windows-0.34.
gnu: Add rust-win-sys-0.3.
gnu: Add rust-shared-memory-extended-0.13.
gnu: Add rust-sysinfo-0.29.
gnu: Add rust-cairo-sys-rs-0.18.
gnu: Add rust-cairo-rs-0.18.
gnu: Add rust-gbm-sys-0.2.
gnu: Add rust-gbm-0.12.
gnu: Add rust-gdk4-sys-0.7.
gnu: Add rust-gdk4-0.7.
gnu: Add rust-gsk4-sys-0.7.
gnu: Add rust-gsk4-0.7.
gnu: Add rust-gtk4-sys-0.7.
gnu: Add rust-gtk4-macros-0.7.
gnu: Add rust-gtk4-0.7.
gnu: Add rust-libadwaita-sys-0.5.
gnu: Add rust-libadwaita-0.5.
gnu: Add mission-center.
gnu/packages/crates-graphics.scm | 419 ++++-
gnu/packages/crates-gtk.scm | 556 ++++++-
gnu/packages/crates-io.scm | 1390 +++++++++++++++--
gnu/packages/gnome.scm | 19 +
.../patches/mission-center-gatherer.patch | 21 +
gnu/packages/rust-apps.scm | 173 ++
6 files changed, 2373 insertions(+), 205 deletions(-)
create mode 100644 gnu/packages/patches/mission-center-gatherer.patch
base-commit: e21f0cb7b7a87992004193cd56638ad961fe5928
--
2.41.0