Buildroot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox