Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Sep 2022 15:55:17 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 266564] [NEW PORT] x11/eww: ElKowars wacky widgets
Message-ID:  <bug-266564-7788-mVqwnOe8Wg@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-266564-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-266564-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D266564

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=3D236775
eww-0.4.0

> +USES=3D	cargo gnome

Whitespace: add one more <tab> after USES=3D. Otherwise, looks unaligned wi=
th the
lines below.

> +USE_GNOME=3D	cairo gdkpixbuf2 glib20 gtk30 pango

glib20 and pango can be omitted as already specified via gtk30. See _IMPL l=
ogic
in /usr/ports/Mk/Uses/gnome.mk

> +WRKSRC_SUBDIR=3D	crates/eww
> +
> +PLIST_FILES=3D	bin/eww
[...]
> +post-install:
> +	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/eww

eww can be replaced with ${PORTNAME} to make the style easier to unify acro=
ss
ports or use this port as a template when creating a similar port.

> +WRKSRC_SUBDIR=3D	crates/eww
> +CARGO_CARGOLOCK=3D	${WRKSRC}/../../Cargo.lock
> +LICENSE_FILE=3D	${WRKSRC}/../../LICENSE

Unless ${WRKSRC} contains several unrelated components better set
CARGO_INSTALL_PATH=3Dcrates/${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=3D  ./spotify_player

  devel/rust-analyzer/Makefile
  189:CARGO_INSTALL_PATH=3D crates/rust-analyzer

  editors/helix/Makefile
  128:CARGO_INSTALL_PATH=3D ./helix-term

  games/veloren/Makefile
  752:CARGO_INSTALL_PATH=3D server-cli voxygen

  math/kalker/Makefile
  84:CARGO_INSTALL_PATH=3D  ./cli

  math/savage/Makefile
  18:CARGO_INSTALL_PATH=3D  ./savage

  security/acmed/Makefile
  22:CARGO_INSTALL_PATH=3D  ./acmed ./tacd

  sysutils/czkawka/Makefile
  347:CARGO_INSTALL_PATH=3D ${PLIST_FILES:Mbin/*:T}

  sysutils/gstat-rs/Makefile
  94:CARGO_INSTALL_PATH=3D  gstat

  textproc/meilisearch/Makefile
  24:CARGO_INSTALL_PATH=3D  meilisearch-http

  www/garage/Makefile
  20:CARGO_INSTALL_PATH=3D  src/garage

  www/lychee/Makefile
  20:CARGO_INSTALL_PATH=3D  lychee-bin

  x11/alacritty/Makefile
  223:CARGO_INSTALL_PATH=3D alacritty

  x11/wezterm/Makefile
  574:CARGO_INSTALL_PATH=3D ${PLIST_FILES:Mbin/*:T}

  x11-wm/leftwm/Makefile
  162:CARGO_INSTALL_PATH=3D ./leftwm


> +BUILD_DEPENDS=3D	rust-nightly>0:lang/rust-nightly
> +CARGO_BUILDDEP=3D	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=3D1 in its eww
package recipe.

  $ rg RUSTC_BOOTSTRAP
  games/veloren/Makefile
  750:CARGO_ENV+=3D         RUSTC_BOOTSTRAP=3D1

  net-im/libsignal-client/Makefile
  246:                    RUSTC_BOOTSTRAP=3Daes,polyval

  net-im/libsignal-node/Makefile
  243:MAKE_ENV+=3D  RUSTC_BOOTSTRAP=3Daes,polyval

  security/vaultwarden/Makefile
  375:CARGO_ENV+=3D RUSTC_BOOTSTRAP=3D1

  textproc/ripgrep/Makefile
  110:SIMD_MAKE_ENV=3D      RUSTC_BOOTSTRAP=3Dencoding_rs,packed_simd_2

  www/deno/Makefile
  32:             RUSTC_BOOTSTRAP=3D1 \

> +OPTIONS_DEFAULT=3D	X11
> +OPTIONS_SINGLE=3D		PROTOCOL
> +OPTIONS_SINGLE_PROTOCOL=3D	WAYLAND X11
>
> +WAYLAND_LIB_DEPENDS=3D	libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell
> +WAYLAND_VARS=3D	CARGO_FEATURES+=3Dwayland
> +X11_VARS=3D	CARGO_FEATURES+=3Dx11

After bug 227509 Wayland should be enabled by default. If it cannot co-exist
with X11 use flavors e.g.,

  FLAVORS=3D      x11 wayland

  PKGNAMESUFFIX=3D        -${FLAVOR}
  CARGO_FEATURES=3D       --no-default-features ${FLAVOR}
  wayland_LIB_DEPENDS=3D  libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell
  wayland_CONFLICTS_INSTALL=3D    ${PORTNAME}-x11
  x11_CONFLICTS_INSTALL=3D        ${PORTNAME}-wayland

To test every flavor use: poudriere bulk -tj 131amd64 x11/eww@all

https://docs.freebsd.org/en/books/porters-handbook/flavors/

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-266564-7788-mVqwnOe8Wg>