All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 2/2] package/chawan: new package
@ 2026-09-19  7:53 Waldemar Brodkorb
  2026-10-20 20:39 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 7+ messages in thread
From: Waldemar Brodkorb @ 2026-09-19  7:53 UTC (permalink / raw)
  To: buildroot

Chawan is a text-mode web browser and pager for Unix-like systems, with
a focus on implementing modern web standards while remaining
self-contained, easy to understand and extensible.

It includes functionality such as CSS, inline images inside the
terminal, and JavaScript through a small, independent browser engine.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
v1->v2:
  - add comments from dowan gullient
  - add comments from Thomas Petazzoni
---
 DEVELOPERS                 |  1 +
 package/Config.in          |  1 +
 package/chawan/Config.in   | 14 ++++++++++++++
 package/chawan/chawan.hash |  3 +++
 package/chawan/chawan.mk   | 39 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 58 insertions(+)
 create mode 100644 package/chawan/Config.in
 create mode 100644 package/chawan/chawan.hash
 create mode 100644 package/chawan/chawan.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 520e2a836d..bb449ded00 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3468,6 +3468,7 @@ F:	board/stmicroelectronics/stm32f746-disco/
 F:	configs/qemu_riscv32_nommu_virt_defconfig
 F:	configs/stm32f746_disco_sd_defconfig
 F:	package/asterisk/
+F:	package/chawan/
 F:	package/evilwm/
 F:	package/fbv/
 F:	package/libpam-pkcs11/
diff --git a/package/Config.in b/package/Config.in
index 243b390d1c..76ae6f5810 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2441,6 +2441,7 @@ endif
 	source "package/casync/Config.in"
 	source "package/casync-nano/Config.in"
 	source "package/cfm/Config.in"
+	source "package/chawan/Config.in"
 	source "package/chrony/Config.in"
 	source "package/civetweb/Config.in"
 	source "package/cloudflared/Config.in"
diff --git a/package/chawan/Config.in b/package/chawan/Config.in
new file mode 100644
index 0000000000..3dec3723af
--- /dev/null
+++ b/package/chawan/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_CHAWAN
+	bool "chawan"
+	depends on BR2_USE_MMU
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_11
+	select BR2_PACKAGE_BROTLI
+	select BR2_PACKAGE_LIBSSH2
+	select BR2_PACKAGE_OPENSSL
+	help
+	  A TUI Web-Browser.
+
+	  https://chawan.net/
+
+comment "chawan needs a toolchain w/ gcc >= 11"
+	depends on BR2_USE_MMU && !BR2_TOOLCHAIN_GCC_AT_LEAST_11
diff --git a/package/chawan/chawan.hash b/package/chawan/chawan.hash
new file mode 100644
index 0000000000..95f996d10a
--- /dev/null
+++ b/package/chawan/chawan.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  e0a06e1504e10a51c6009751d79b798c98d8274e559fe195d4b4b7ddadf91bb8  v0.4.4.tar.gz
+sha256  7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c  UNLICENSE
diff --git a/package/chawan/chawan.mk b/package/chawan/chawan.mk
new file mode 100644
index 0000000000..585a1fa0db
--- /dev/null
+++ b/package/chawan/chawan.mk
@@ -0,0 +1,39 @@
+################################################################################
+#
+# chawan
+#
+################################################################################
+
+CHAWAN_VERSION = 0.4.4
+CHAWAN_SITE = https://git.sr.ht/~bptato/chawan/archive
+CHAWAN_SOURCE = v$(CHAWAN_VERSION).tar.gz
+CHAWAN_LICENSE = Unlicense
+CHAWAN_LICENSE_FILES = UNLICENSE
+
+CHAWAN_DEPENDENCIES = brotli host-nim libssh2 openssl
+
+ifeq ($(BR2_aarch64),y)
+CHAWAN_TARGET_ARCH = arm64
+else ifeq ($(BR2_x86_64),y)
+CHAWAN_TARGET_ARCH = amd64
+else
+CHAWAN_TARGET_ARCH = $(BR2_ARCH)
+endif
+
+TARGET_CONFIGURE_OPTS += \
+	FLAGS="--os=linux \
+	--cpu:$(CHAWAN_TARGET_ARCH) \
+	--gcc.exe:$(TARGET_CROSS)gcc \
+	--gcc.linkerexe:$(TARGET_CROSS)gcc" \
+	PREFIX="/usr"
+
+define CHAWAN_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all
+endef
+
+define CHAWAN_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
+	DESTDIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/chawan: new package
  2026-09-19  7:53 [Buildroot] [PATCH v2 2/2] package/chawan: new package Waldemar Brodkorb
@ 2026-10-20 20:39 ` Thomas Petazzoni via buildroot
  2026-10-20 22:30   ` Waldemar Brodkorb
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-20 20:39 UTC (permalink / raw)
  To: Waldemar Brodkorb; +Cc: buildroot

Hello,

On Sat, Sep 19, 2026 at 09:53:57AM +0200, Waldemar Brodkorb wrote:
> Chawan is a text-mode web browser and pager for Unix-like systems, with
> a focus on implementing modern web standards while remaining
> self-contained, easy to understand and extensible.
> 
> It includes functionality such as CSS, inline images inside the
> terminal, and JavaScript through a small, independent browser engine.
> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>

I've applied to master, with some changes.


> +CHAWAN_VERSION = 0.4.4
> +CHAWAN_SITE = https://git.sr.ht/~bptato/chawan/archive
> +CHAWAN_SOURCE = v$(CHAWAN_VERSION).tar.gz
> +CHAWAN_LICENSE = Unlicense
> +CHAWAN_LICENSE_FILES = UNLICENSE
> +
> +CHAWAN_DEPENDENCIES = brotli host-nim libssh2 openssl
> +
> +ifeq ($(BR2_aarch64),y)
> +CHAWAN_TARGET_ARCH = arm64
> +else ifeq ($(BR2_x86_64),y)
> +CHAWAN_TARGET_ARCH = amd64
> +else
> +CHAWAN_TARGET_ARCH = $(BR2_ARCH)
> +endif
> +
> +TARGET_CONFIGURE_OPTS += \

This was very very wrong, as it means you're changing this variable
for everyone in Buildroot. Variables are global.

"make check-package" actually warned about this:

WARNING: package/chawan/chawan.mk:23: possible typo, variable not properly prefixed: TARGET_CONFIGURE_OPTS -> *CHAWAN_XXXX* (https://nightly.buildroot.org/#_tips_and_tricks)

> +	FLAGS="--os=linux \
> +	--cpu:$(CHAWAN_TARGET_ARCH) \
> +	--gcc.exe:$(TARGET_CROSS)gcc \
> +	--gcc.linkerexe:$(TARGET_CROSS)gcc" \
> +	PREFIX="/usr"

So I've changed this to:

+CHAWAN_MAKE_OPTS = \
+       $(TARGET_CONFIGURE_OPTS) \
+       FLAGS="--os=linux \
+       --cpu:$(CHAWAN_TARGET_ARCH) \
+       --gcc.exe:$(TARGET_CROSS)gcc \
+       --gcc.linkerexe:$(TARGET_CROSS)gcc" \
+       PREFIX="/usr"

and then used CHAWAN_MAKE_OPTS.

> +define CHAWAN_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all
> +endef
> +
> +define CHAWAN_INSTALL_TARGET_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
> +	DESTDIR=$(TARGET_DIR) install

Continuation line should have had one more indentation level (minor
nit).

Applied with those changes. Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/chawan: new package
  2026-10-20 20:39 ` Thomas Petazzoni via buildroot
@ 2026-10-20 22:30   ` Waldemar Brodkorb
  2026-10-23  7:35     ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 7+ messages in thread
From: Waldemar Brodkorb @ 2026-10-20 22:30 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: buildroot

Hi Thomas,
Thomas Petazzoni wrote,

> Hello,
> 
> On Sat, Sep 19, 2026 at 09:53:57AM +0200, Waldemar Brodkorb wrote:
> > Chawan is a text-mode web browser and pager for Unix-like systems, with
> > a focus on implementing modern web standards while remaining
> > self-contained, easy to understand and extensible.
> > 
> > It includes functionality such as CSS, inline images inside the
> > terminal, and JavaScript through a small, independent browser engine.
> > 
> > Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> 
> I've applied to master, with some changes.
> 
> 
> > +CHAWAN_VERSION = 0.4.4
> > +CHAWAN_SITE = https://git.sr.ht/~bptato/chawan/archive
> > +CHAWAN_SOURCE = v$(CHAWAN_VERSION).tar.gz
> > +CHAWAN_LICENSE = Unlicense
> > +CHAWAN_LICENSE_FILES = UNLICENSE
> > +
> > +CHAWAN_DEPENDENCIES = brotli host-nim libssh2 openssl
> > +
> > +ifeq ($(BR2_aarch64),y)
> > +CHAWAN_TARGET_ARCH = arm64
> > +else ifeq ($(BR2_x86_64),y)
> > +CHAWAN_TARGET_ARCH = amd64
> > +else
> > +CHAWAN_TARGET_ARCH = $(BR2_ARCH)
> > +endif
> > +
> > +TARGET_CONFIGURE_OPTS += \
> 
> This was very very wrong, as it means you're changing this variable
> for everyone in Buildroot. Variables are global.
> 
> "make check-package" actually warned about this:
> 
> WARNING: package/chawan/chawan.mk:23: possible typo, variable not properly prefixed: TARGET_CONFIGURE_OPTS -> *CHAWAN_XXXX* (https://nightly.buildroot.org/#_tips_and_tricks)
> 
> > +	FLAGS="--os=linux \
> > +	--cpu:$(CHAWAN_TARGET_ARCH) \
> > +	--gcc.exe:$(TARGET_CROSS)gcc \
> > +	--gcc.linkerexe:$(TARGET_CROSS)gcc" \
> > +	PREFIX="/usr"
> 
> So I've changed this to:
> 
> +CHAWAN_MAKE_OPTS = \
> +       $(TARGET_CONFIGURE_OPTS) \
> +       FLAGS="--os=linux \
> +       --cpu:$(CHAWAN_TARGET_ARCH) \
> +       --gcc.exe:$(TARGET_CROSS)gcc \
> +       --gcc.linkerexe:$(TARGET_CROSS)gcc" \
> +       PREFIX="/usr"
> 
> and then used CHAWAN_MAKE_OPTS.
> 
> > +define CHAWAN_BUILD_CMDS
> > +	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all
> > +endef
> > +
> > +define CHAWAN_INSTALL_TARGET_CMDS
> > +	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
> > +	DESTDIR=$(TARGET_DIR) install
> 
> Continuation line should have had one more indentation level (minor
> nit).
> 
> Applied with those changes. Thanks!

Thanks for fixing my bugs and applying!

best regards
 Waldemar
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/chawan: new package
  2026-10-20 22:30   ` Waldemar Brodkorb
@ 2026-10-23  7:35     ` Thomas Petazzoni via buildroot
  2026-10-23 10:15       ` Waldemar Brodkorb
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-23  7:35 UTC (permalink / raw)
  To: Waldemar Brodkorb; +Cc: buildroot

On Wed, Oct 21, 2026 at 12:30:02AM +0200, Waldemar Brodkorb wrote:

> Thanks for fixing my bugs and applying!

Could you have a look at the build failures caused by chawan and
propose some fixes?

See:

    arm      |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/35f6ff053723bf0d16ac5b425cf943bac01a4418 |
    i686     |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/16888bbe55bc290733c79a8cdd0517f5f4df2a30 |
powerpc64le  |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/553aca94416bcafabfe23d34d6907bdb9ebb84c3 |
powerpc64le  |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/41cab338af1c162d9d1444645020a20b2b0c05ae |
    i686     |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/cf6a6cc4babb214f27f4f0e69ce915bf39d05042 |
powerpc64le  |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/cf6401afa998d5e131614bda67730a79526da784 |
    or1k     |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/2aa8986b4161c9ce25d4bddf8c29d1b204893e0b |


All failures:

  https://autobuild.buildroot.net/?reason=chawan%

Thanks,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/chawan: new package
  2026-10-23  7:35     ` Thomas Petazzoni via buildroot
@ 2026-10-23 10:15       ` Waldemar Brodkorb
  2026-10-23 10:27         ` Fiona Klute via buildroot
  2026-10-23 18:41         ` Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 7+ messages in thread
From: Waldemar Brodkorb @ 2026-10-23 10:15 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: buildroot

Hi Thomas,
Thomas Petazzoni wrote,

> On Wed, Oct 21, 2026 at 12:30:02AM +0200, Waldemar Brodkorb wrote:
> 
> > Thanks for fixing my bugs and applying!
> 
> Could you have a look at the build failures caused by chawan and
> propose some fixes?
> 
> See:
> 
>     arm      |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/35f6ff053723bf0d16ac5b425cf943bac01a4418 |

chawan needs fenv.h, which is only available for a hard-float
uClibc-ng toolchain. Here arm soft-float is in use. How should I fix this? Any
suggestion?

>     i686     |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/16888bbe55bc290733c79a8cdd0517f5f4df2a30 |
>     i686     |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/cf6a6cc4babb214f27f4f0e69ce915bf39d05042 |

Patch sent.

> powerpc64le  |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/553aca94416bcafabfe23d34d6907bdb9ebb84c3 |
> powerpc64le  |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/41cab338af1c162d9d1444645020a20b2b0c05ae |
> powerpc64le  |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/cf6401afa998d5e131614bda67730a79526da784 |

Patch sent.

>     or1k     |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/2aa8986b4161c9ce25d4bddf8c29d1b204893e0b |
 
OpenRISC is not supported. How would I express this in Config.in?
Any suggestion?
 
> All failures:
> 
>   https://autobuild.buildroot.net/?reason=chawan%

I take a look.
 
Best regards 
  Waldemar
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/chawan: new package
  2026-10-23 10:15       ` Waldemar Brodkorb
@ 2026-10-23 10:27         ` Fiona Klute via buildroot
  2026-10-23 18:41         ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 7+ messages in thread
From: Fiona Klute via buildroot @ 2026-10-23 10:27 UTC (permalink / raw)
  To: Waldemar Brodkorb, Thomas Petazzoni; +Cc: buildroot

Am 23.10.26 um 12:15 schrieb Waldemar Brodkorb:
> Hi Thomas,
> Thomas Petazzoni wrote,

[snip]

>>      or1k     |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/2aa8986b4161c9ce25d4bddf8c29d1b204893e0b |
>   
> OpenRISC is not supported. How would I express this in Config.in?
> Any suggestion?

If it's about the specific architecture:

depends on !BR2_or1k

Best regards,
Fiona

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/chawan: new package
  2026-10-23 10:15       ` Waldemar Brodkorb
  2026-10-23 10:27         ` Fiona Klute via buildroot
@ 2026-10-23 18:41         ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-23 18:41 UTC (permalink / raw)
  To: Waldemar Brodkorb; +Cc: buildroot

On Fri, Oct 23, 2026 at 12:15:10PM +0200, Waldemar Brodkorb wrote:

> >     arm      |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/35f6ff053723bf0d16ac5b425cf943bac01a4418 |
> 
> chawan needs fenv.h, which is only available for a hard-float
> uClibc-ng toolchain. Here arm soft-float is in use. How should I fix this? Any
> suggestion?

So far we have ad-hoc dependencies in each package, so as a initial
fix I would suggest to do the same: exclude architecture/toolchain
combo that don't provide fenv.h.

On this initial fix is done, a better handling of fenv dependencies
would be nice. If you "git grep -i fenv" in Buildroot, you will see
that we have lots of packages that have custom dependencies to
workaround fenv availability issues.

Having in toolchain/Config.in some nice BR2_TOOLCHAIN_HAS_FENV_xyz
options (my understanding is that it cannot be just a single
BR2_TOOLCHAIN_HAS_FENV, because there are multiple exceptions, and
some architecture/toolchains support some which are sufficient for
some packages, but lack others which are needed by other packages).

> >     or1k     |          chawan-0.4.4          | NOK | https://autobuild.buildroot.org/results/2aa8986b4161c9ce25d4bddf8c29d1b204893e0b |
>  
> OpenRISC is not supported. How would I express this in Config.in?
> Any suggestion?

As usual:

config BR2_PACKAGE_CHAWAN_ARCH_SUPPORTS
	bool
	default y
	depends on !BR2_or1k

config BR2_PACKAGE_CHAWAN
	bool "chawan"
	depends on BR2_PACKAGE_CHAWAN_ARCH_SUPPORTS

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-10-23 18:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-19  7:53 [Buildroot] [PATCH v2 2/2] package/chawan: new package Waldemar Brodkorb
2026-10-20 20:39 ` Thomas Petazzoni via buildroot
2026-10-20 22:30   ` Waldemar Brodkorb
2026-10-23  7:35     ` Thomas Petazzoni via buildroot
2026-10-23 10:15       ` Waldemar Brodkorb
2026-10-23 10:27         ` Fiona Klute via buildroot
2026-10-23 18:41         ` Thomas Petazzoni via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.