mirror of
https://github.com/outbackdingo/hyprcosmic.git
synced 2026-08-25 14:53:21 +00:00
justfile: build the portal with just, because it has no Makefile
Run 31383454158, arch job. It compiled all 26 other components over two
hours and eighteen minutes and then failed on the last line of `build`:
/usr/sbin/make -C xdg-desktop-portal-cosmic all
make: *** No rule to make target 'all'. Stop.
xdg-desktop-portal-cosmic has no Makefile. It has a justfile, with `build`
and `install` recipes, and the submodule is clean at the commit this fork
pins.
This is upstream's, not something introduced here. The line dates from
2022 (f4fb6a86), pop-os/cosmic-epoch master still carries it verbatim, and
upstream pins the same portal commit this fork does -- f211aa37,
epoch-1.5.0 -- so `just build` on upstream cosmic-epoch fails in exactly
the same place. The portal moved from a Makefile to a justfile and the
meta-repository's recipe was never updated. It goes unnoticed because
distributions build COSMIC one component at a time and never take this
path; it takes a full meta-build to reach the failure, and the failure is
on the very last line.
`build` rather than `build-release`: the portal has no build-release
recipe, and its `build` defaults to debug='0', which selects --release.
`install` takes rootdir/prefix rather than DESTDIR/prefix, being a
justfile.
Every other delegation in this justfile was checked the same way -- each
`make -C dir target` against that directory's Makefile targets, each
`just dir/recipe` against that directory's recipes, following justfile
imports -- and the portal was the only one that did not resolve.
This commit is contained in:
@@ -33,7 +33,18 @@ build:
|
|||||||
{{ make }} -C cosmic-wallpapers all
|
{{ make }} -C cosmic-wallpapers all
|
||||||
{{ make }} -C cosmic-workspaces-epoch all
|
{{ make }} -C cosmic-workspaces-epoch all
|
||||||
{{ just }} pop-launcher/build-release
|
{{ just }} pop-launcher/build-release
|
||||||
{{ make }} -C xdg-desktop-portal-cosmic all
|
# `just`, not `make`. Upstream cosmic-epoch still says
|
||||||
|
# `{{ make }} -C xdg-desktop-portal-cosmic all` here, and at the submodule
|
||||||
|
# commit both it and this fork pin (f211aa37, epoch-1.5.0) the portal has no
|
||||||
|
# Makefile at all -- it moved to a justfile and the meta-repository's recipe
|
||||||
|
# was never updated. `just build` upstream therefore fails on this line
|
||||||
|
# after compiling all 26 other components, which is presumably why it went
|
||||||
|
# unnoticed: distributions build COSMIC one component at a time and never
|
||||||
|
# take this path.
|
||||||
|
#
|
||||||
|
# `build` rather than `build-release`: the portal has no build-release
|
||||||
|
# recipe. Its `build` defaults to debug='0', which selects --release.
|
||||||
|
{{ just }} xdg-desktop-portal-cosmic/build
|
||||||
|
|
||||||
install rootdir="" prefix="/usr/local": build
|
install rootdir="" prefix="/usr/local": build
|
||||||
{{ just }} rootdir={{rootdir}} prefix={{prefix}} cosmic-applets/install
|
{{ just }} rootdir={{rootdir}} prefix={{prefix}} cosmic-applets/install
|
||||||
@@ -63,7 +74,9 @@ install rootdir="" prefix="/usr/local": build
|
|||||||
{{ make }} -C cosmic-wallpapers install DESTDIR={{rootdir}} prefix={{prefix}}
|
{{ make }} -C cosmic-wallpapers install DESTDIR={{rootdir}} prefix={{prefix}}
|
||||||
{{ make }} -C cosmic-workspaces-epoch install DESTDIR={{rootdir}} prefix={{prefix}}
|
{{ make }} -C cosmic-workspaces-epoch install DESTDIR={{rootdir}} prefix={{prefix}}
|
||||||
{{ just }} rootdir={{rootdir}} pop-launcher/install
|
{{ just }} rootdir={{rootdir}} pop-launcher/install
|
||||||
{{ make }} -C xdg-desktop-portal-cosmic install DESTDIR={{rootdir}} prefix={{prefix}}
|
# See the note in `build`: this is a justfile, not a Makefile, so the
|
||||||
|
# arguments are rootdir/prefix rather than DESTDIR/prefix.
|
||||||
|
{{ just }} rootdir={{rootdir}} prefix={{prefix}} xdg-desktop-portal-cosmic/install
|
||||||
# The waybar and rofi assets, and the power menu. Last, because it is the
|
# The waybar and rofi assets, and the power menu. Last, because it is the
|
||||||
# only step that prints a warning worth reading: several of these files name
|
# only step that prints a warning worth reading: several of these files name
|
||||||
# /usr/share/hyprcosmic as a literal -- a .rasi has no variables and the
|
# /usr/share/hyprcosmic as a literal -- a .rasi has no variables and the
|
||||||
|
|||||||
Reference in New Issue
Block a user