My original goal for this MR was not to actually match Hyprland's Makefile, that was more of a "eh, why not" decision. My main goal was to add some mkdir -p to the installation task so that copying the various build artifacts would succeed in cases of package managers.
I've created and maintain a separate PKGBUILD for Arch Linux that builds this portal, and time and time again I've been forced to use the meson because the current Makefile does not create the directories but rather assumes they exist. Obviously this isn't a fault of the Makefile, since in a reasonable system with all the correct dependencies these files would already exist, but it leaves problems for when I need to create the file system hierarchy in an isolated packaging environment.
What's changed?
Removed LIBEXEC and SHARE and replaced them with ${PREFIX}/lib and ${PREFIX}/share (if this breaks intended behavior, I will revert this change)
EDIT: Converted to draft because there are a lot of missing steps compared to Meson, such as described in #95
TODO:
${PREFIX}/share/pkgconfig/hyprland-protocols.pc
${PREFIX}/share/hyprland-protocols/protocols/hyprland-global-shortcuts-v1.xml
${PREFIX}/share/hyprland-protocols/protocols/hyprland-toplevel-export-v1.xml
Why?
My original goal for this MR was not to actually match Hyprland's Makefile, that was more of a "eh, why not" decision. My main goal was to add some
mkdir -p
to the installation task so that copying the various build artifacts would succeed in cases of package managers.I've created and maintain a separate PKGBUILD for Arch Linux that builds this portal, and time and time again I've been forced to use the meson because the current Makefile does not create the directories but rather assumes they exist. Obviously this isn't a fault of the Makefile, since in a reasonable system with all the correct dependencies these files would already exist, but it leaves problems for when I need to create the file system hierarchy in an isolated packaging environment.
What's changed?
${PREFIX}/lib
and${PREFIX}/share
(if this breaks intended behavior, I will revert this change)EUID
check formake all
, similar to Hyprland's Makefiletest -f
check inmake install
, similar to Hyprland's Makefilemkdir -p
for the various directories used for installing the build artifacts.service
extension when copying./org.freedesktop.impl.portal.desktop.hyprland.service.in
Ready to merge?
Not yet