[Bug 266564] [NEW PORT] x11/eww: ElKowars wacky widgets
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 266564] [NEW PORT] x11/eww: ElKowars wacky widgets"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 24 Sep 2022 15:55:17 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266564
Jan Beich <jbeich@FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jbeich@FreeBSD.org
--- Comment #2 from Jan Beich <jbeich@FreeBSD.org> ---
Comment on attachment 236775
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=236775
eww-0.4.0
> +USES= cargo gnome
Whitespace: add one more <tab> after USES=. Otherwise, looks unaligned with the
lines below.
> +USE_GNOME= cairo gdkpixbuf2 glib20 gtk30 pango
glib20 and pango can be omitted as already specified via gtk30. See _IMPL logic
in /usr/ports/Mk/Uses/gnome.mk
> +WRKSRC_SUBDIR= crates/eww
> +
> +PLIST_FILES= bin/eww
[...]
> +post-install:
> + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/eww
eww can be replaced with ${PORTNAME} to make the style easier to unify across
ports or use this port as a template when creating a similar port.
> +WRKSRC_SUBDIR= crates/eww
> +CARGO_CARGOLOCK= ${WRKSRC}/../../Cargo.lock
> +LICENSE_FILE= ${WRKSRC}/../../LICENSE
Unless ${WRKSRC} contains several unrelated components better set
CARGO_INSTALL_PATH=crates/${PORTNAME}. See also
https://github.com/rust-lang/cargo/issues/4101
crates/eww uses other crates/*, so everything seems related. AUR, Alpine,
NixPkgs seem to build eww package from toplevel directory.
$ rg CARGO_INSTALL_PATH
audio/spotify-player/Makefile
22:CARGO_INSTALL_PATH= ./spotify_player
devel/rust-analyzer/Makefile
189:CARGO_INSTALL_PATH= crates/rust-analyzer
editors/helix/Makefile
128:CARGO_INSTALL_PATH= ./helix-term
games/veloren/Makefile
752:CARGO_INSTALL_PATH= server-cli voxygen
math/kalker/Makefile
84:CARGO_INSTALL_PATH= ./cli
math/savage/Makefile
18:CARGO_INSTALL_PATH= ./savage
security/acmed/Makefile
22:CARGO_INSTALL_PATH= ./acmed ./tacd
sysutils/czkawka/Makefile
347:CARGO_INSTALL_PATH= ${PLIST_FILES:Mbin/*:T}
sysutils/gstat-rs/Makefile
94:CARGO_INSTALL_PATH= gstat
textproc/meilisearch/Makefile
24:CARGO_INSTALL_PATH= meilisearch-http
www/garage/Makefile
20:CARGO_INSTALL_PATH= src/garage
www/lychee/Makefile
20:CARGO_INSTALL_PATH= lychee-bin
x11/alacritty/Makefile
223:CARGO_INSTALL_PATH= alacritty
x11/wezterm/Makefile
574:CARGO_INSTALL_PATH= ${PLIST_FILES:Mbin/*:T}
x11-wm/leftwm/Makefile
162:CARGO_INSTALL_PATH= ./leftwm
> +BUILD_DEPENDS= rust-nightly>0:lang/rust-nightly
> +CARGO_BUILDDEP= no
RUSTC_BOOTSTRAP is better than lang/rust-nightly because consumers (reverse
dependencies) are actually tested and fixed on compiler upgrades. Besides,
rust-nightly can be older than rust like now (1.63.0.20220622 vs. 1.63.0
released on 2022-08-08). Also, NixPkgs uses RUSTC_BOOTSTRAP=1 in its eww
package recipe.
$ rg RUSTC_BOOTSTRAP
games/veloren/Makefile
750:CARGO_ENV+= RUSTC_BOOTSTRAP=1
net-im/libsignal-client/Makefile
246: RUSTC_BOOTSTRAP=aes,polyval
net-im/libsignal-node/Makefile
243:MAKE_ENV+= RUSTC_BOOTSTRAP=aes,polyval
security/vaultwarden/Makefile
375:CARGO_ENV+= RUSTC_BOOTSTRAP=1
textproc/ripgrep/Makefile
110:SIMD_MAKE_ENV= RUSTC_BOOTSTRAP=encoding_rs,packed_simd_2
www/deno/Makefile
32: RUSTC_BOOTSTRAP=1 \
> +OPTIONS_DEFAULT= X11
> +OPTIONS_SINGLE= PROTOCOL
> +OPTIONS_SINGLE_PROTOCOL= WAYLAND X11
>
> +WAYLAND_LIB_DEPENDS= libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell
> +WAYLAND_VARS= CARGO_FEATURES+=wayland
> +X11_VARS= CARGO_FEATURES+=x11
After bug 227509 Wayland should be enabled by default. If it cannot co-exist
with X11 use flavors e.g.,
FLAVORS= x11 wayland
PKGNAMESUFFIX= -${FLAVOR}
CARGO_FEATURES= --no-default-features ${FLAVOR}
wayland_LIB_DEPENDS= libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell
wayland_CONFLICTS_INSTALL= ${PORTNAME}-x11
x11_CONFLICTS_INSTALL= ${PORTNAME}-wayland
To test every flavor use: poudriere bulk -tj 131amd64 x11/eww@all
https://docs.freebsd.org/en/books/porters-handbook/flavors/
--
You are receiving this mail because:
You are the assignee for the bug.