Debian Bug report logs - #902174
RFP: mes -- Maxwell Equations of Software

version graph

Package: wnpp; Maintainer for wnpp is wnpp@debian.org;

Reported by: Geert Stappers <stappers@debian.org>

Date: Sat, 23 Jun 2018 06:27:01 UTC

Severity: wishlist

Fixed in version mes/0.20-1

Done: Vagrant Cascadian <vagrant@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Sat, 23 Jun 2018 06:27:04 GMT) (full text, mbox, link).


Acknowledgement sent to Geert Stappers <stappers@debian.org>:
New Bug report received and forwarded. Copy sent to wnpp@debian.org. (Sat, 23 Jun 2018 06:27:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Geert Stappers <stappers@debian.org>
To: submit@bugs.debian.org
Cc: General discussions about reproducible builds <rb-general@lists.reproducible-builds.org>
Subject: RFP: mes
Date: Sat, 23 Jun 2018 08:25:40 +0200
Package: wnpp
Severity: wishlist

    Package name : mes
         Version : 0.15
 Upstream Author : Jan Nieuwenhuizen <janneke@gnu.org>
             URL : https://gitlab.com/janneke/mes
         License : GNU GPLv3
Programming Lang : C
     Description : Maxwell Equations of Software

Mes aims to help create full source bootstrapping for GuixSD as part
of the bootstrappable builds effort.


[[https://www.gnu.org/software/guix][GuixSD]]
[[http://bootstrappable.org][bootstrappable builds]]

On Wed, Jun 13, 2018 at 06:49:41AM +0200, Jan Nieuwenhuizen wrote:
> Holger Levsen writes:
> 
> > On Tue, Jun 12, 2018 at 07:22:02PM +0200, Jan Nieuwenhuizen wrote:
> >> As of 0.14, Mes+MesCC compiles a self-hosting TinyCC.  Using the 0.15
> >> Mes C library, this TinyCC can build the GNU tools triplet:
> >> binutils-2.14, gcc-2.95.3, glibc-2.2.5.
> >
> > wow, awesome!
> 
> Thank you!  I will now start working first towards replacing the GuixSD
> bootstrap and I suspect this is going to be quite a long path still.
> 
> If anyone is willing to start looking at adding Mes to Debian, I'd be
> very happy to help.  It would be nice to share full source
> bootstrappability and to strengthen our cross-distro ties.
 
Now filing a Request For Packaging  bugreport

 
Groeten
Geert Stappers
-- 
Leven en laten leven



Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Sat, 07 Jul 2018 00:36:03 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Sat, 07 Jul 2018 00:36:03 GMT) (full text, mbox, link).


Message #10 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: 902174@bugs.debian.org
Subject: Re: #902174: RFP: mes
Date: Fri, 06 Jul 2018 17:33:11 -0700
[Message part 1 (text/plain, inline)]
On 2018-06-22, Geert Stappers wrote:
>     Package name : mes
>          Version : 0.15
>  Upstream Author : Jan Nieuwenhuizen <janneke@gnu.org>
>              URL : https://gitlab.com/janneke/mes
>          License : GNU GPLv3
> Programming Lang : C
>      Description : Maxwell Equations of Software
>
> Mes aims to help create full source bootstrapping for GuixSD as part
> of the bootstrappable builds effort.

I took a quick stab at this, and it first requires packaging:

  https://github.com/oriansj/mescc-tools
  
  https://gitlab.com/janneke/nyacc


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Sat, 07 Jul 2018 05:15:02 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Sat, 07 Jul 2018 05:15:02 GMT) (full text, mbox, link).


Message #15 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: 902174@bugs.debian.org
Cc: Jan Nieuwenhuizen <janneke@gnu.org>
Subject: Re: #902174: RFP: mes
Date: Fri, 06 Jul 2018 22:12:16 -0700
[Message part 1 (text/plain, inline)]
On 2018-07-06, Vagrant Cascadian wrote:
> On 2018-06-22, Geert Stappers wrote:
>>     Package name : mes
>>          Version : 0.15
>>  Upstream Author : Jan Nieuwenhuizen <janneke@gnu.org>
>>              URL : https://gitlab.com/janneke/mes
>>          License : GNU GPLv3
>> Programming Lang : C
>>      Description : Maxwell Equations of Software
>>
>> Mes aims to help create full source bootstrapping for GuixSD as part
>> of the bootstrappable builds effort.
>
> I took a quick stab at this, and it first requires packaging:
>
>   https://github.com/oriansj/mescc-tools

Packaging branch for mescc-tools:

  https://salsa.debian.org/vagrant/mescc-tools

Compiles, maybe it even works!


>   https://gitlab.com/janneke/nyacc

Packaging branch for nyacc:

  https://salsa.debian.org/vagrant/nyacc

Fails to build as it installs info pages to /share/info. Doesn't appear
to respect DESTDIR= ... but setting --infodir doesn't work as I would
expect either, suddently appending --prefix to it.


And also a packaging branch for mes itself, but of course can't test it
until nyacc is working:

  https://salsa.debian.org/vagrant/mes


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Sun, 08 Jul 2018 10:51:03 GMT) (full text, mbox, link).


Acknowledgement sent to Jan Nieuwenhuizen <janneke@gnu.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Sun, 08 Jul 2018 10:51:03 GMT) (full text, mbox, link).


Message #20 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Vagrant Cascadian <vagrant@debian.org>
Cc: 902174@bugs.debian.org
Subject: Re: #902174: RFP: mes
Date: Sun, 08 Jul 2018 12:47:19 +0200
[Message part 1 (text/plain, inline)]
Vagrant Cascadian writes:

@Matt: some Nyacc patches attached.

>> I took a quick stab at this, and it first requires packaging:
>>
>>   https://github.com/oriansj/mescc-tools
>
> Packaging branch for mescc-tools:
>
>   https://salsa.debian.org/vagrant/mescc-tools
>
> Compiles, maybe it even works!

Wow, thanks!

>>   https://gitlab.com/janneke/nyacc
>
> Packaging branch for nyacc:
>
>   https://salsa.debian.org/vagrant/nyacc
>
> Fails to build as it installs info pages to /share/info. Doesn't appear
> to respect DESTDIR= ... but setting --infodir doesn't work as I would
> expect either, suddently appending --prefix to it.

I have looked into this; please see `debian' branch at

    http://gitlab.com/janneke/nyacc

I have created patches for Nyacc to aid Debian packaging; see attached.
They are on my debian branch, as well as on my master.  I also made some
WIP changes to the debian packaging: most notably: I could not find
guile-2.2.

> And also a packaging branch for mes itself, but of course can't test it
> until nyacc is working:
>
>   https://salsa.debian.org/vagrant/mes

I will have a look at this later.  You will probably want to rebase on
my `wip-gnu' branch: it has (experimental) DESTDIR and other Debian
build support (e.g.: do not assume /bin/sh is bash, resurrect guile-2.0).

Greetings,
janneke

[0001-build-Support-DESTDIR.patch (text/x-patch, inline)]
From 2a4f8df63b5757152e3175c517e79e735197fce8 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 8 Jul 2018 11:00:29 +0200
Subject: [PATCH 1/3] build: Support DESTDIR.

---
 doc/nyacc/Makefile.nyacc |  2 +-
 module/Makefile.nyacc    | 24 ++++++++++++------------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/doc/nyacc/Makefile.nyacc b/doc/nyacc/Makefile.nyacc
index b70d2df..dbb199f 100644
--- a/doc/nyacc/Makefile.nyacc
+++ b/doc/nyacc/Makefile.nyacc
@@ -26,7 +26,7 @@ install: install-info
 
 .PHONY: install-info
 install-info:
-	mkdir -p $(INFODIR)
+	mkdir -p $(DESTDIR)$(INFODIR)
 	$(INSTALL) nyacc-ug.info $(DESTDIR)$(INFODIR)/nyacc-ug.info
 
 .PHONY: dist-files
diff --git a/module/Makefile.nyacc b/module/Makefile.nyacc
index 63f7afe..dccdb5b 100644
--- a/module/Makefile.nyacc
+++ b/module/Makefile.nyacc
@@ -73,27 +73,27 @@ nyacc/lang/c99/mach.d/cpptab.scm : nyacc/lang/c99/cppmach.scm
 
 .PHONY: install
 install: install-srcs
-	@mkdir -p $(SITE_SCM_GO_DIR)
-	@echo "installing NYACC binaries in $(SITE_SCM_GO_DIR)"
-	@for binfile in $(NYACC_BINS); do \
-	  if test ! -d $(SITE_SCM_DIR)/`dirname $${binfile}`; then \
-	    mkdir -p $(SITE_SCM_GO_DIR)/`dirname $${binfile}`; \
+	@mkdir -p $(DESTDIR)$(SITE_SCM_GO_DIR)
+	@echo "installing NYACC binaries in $(DESTDIR)$(SITE_SCM_GO_DIR)"
+	for binfile in $(NYACC_BINS); do \
+	  if test ! -d $(DESTDIR)$(SITE_SCM_DIR)/`dirname $${binfile}`; then \
+	    mkdir -p $(DESTDIR)$(SITE_SCM_GO_DIR)/`dirname $${binfile}`; \
 	  fi; \
 	  srcfile=`echo $${binfile} | sed -e 's/\.go$$/.scm/'`; \
-	  GUILE_LOAD_PATH=$(SITE_SCM_DIR) $(GUILD) compile \
-		-o $(SITE_SCM_GO_DIR)/$${binfile} $(SITE_SCM_DIR)/$${srcfile}; \
+	  GUILE_LOAD_PATH=$(DESTDIR)$(SITE_SCM_DIR) $(GUILD) compile \
+		-o $(DESTDIR)$(SITE_SCM_GO_DIR)/$${binfile} $(DESTDIR)$(SITE_SCM_DIR)/$${srcfile}; \
 	  sleep 1; \
 	done
 
 .PHONY: install-srcs
 install-srcs:
-	@mkdir -p $(SITE_SCM_DIR)
-	@echo "installing NYACC sources in $(SITE_SCM_DIR)"
+	@mkdir -p $(DESTDIR)$(SITE_SCM_DIR)
+	@echo "installing NYACC sources in $(DESTDIR)$(SITE_SCM_DIR)"
 	@for file in $(NYACC_SRCS); do \
-	  if test ! -d $(SITE_SCM_DIR)/`dirname $${file}`; then \
-	    mkdir -p $(SITE_SCM_DIR)/`dirname $${file}`; \
+	  if test ! -d $(DESTDIR)$(SITE_SCM_DIR)/`dirname $${file}`; then \
+	    mkdir -p $(DESTDIR)$(SITE_SCM_DIR)/`dirname $${file}`; \
 	  fi; \
-	  cp $${file} $(SITE_SCM_DIR)/$${file}; \
+	  cp $${file} $(DESTDIR)$(SITE_SCM_DIR)/$${file}; \
 	done
 
 .PHONY: dist-files
-- 
2.18.0

[0002-configure-use-bin-bash.patch (text/x-patch, inline)]
From cf1714cea2a966b129895a22349d5fa49cdde346 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 8 Jul 2018 12:06:12 +0200
Subject: [PATCH 2/3] configure: use /bin/bash.

---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 6e323a5..556a714 100755
--- a/configure
+++ b/configure
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/bash
 #
 # configure
 #
-- 
2.18.0

[0003-configure-use-eval-Makefiles-do-not-have-prefix-vari.patch (text/x-patch, inline)]
From e80f9aa7e124ee0e4869f82ea8c4dedd9e3184e7 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 8 Jul 2018 12:32:16 +0200
Subject: [PATCH 3/3] configure: use eval; Makefiles do not have $(prefix)
 variable setup.

Doing ./configure --prefix=/usr --infodir=\${prefix}/share/info otherwise
results in

    PREFIX = /usr
    INFODIR = ${prefix}/share/info
---
 configure | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/configure b/configure
index 556a714..5ae7515 100755
--- a/configure
+++ b/configure
@@ -55,22 +55,22 @@ while [ "$*" ]; do
 	    guild=`echo $1 | sed -e 's/^--guild=//'`
 	    ;;
 	--prefix=*)
-	    prefix=`echo $1 | sed -e 's/^--prefix=//'`
+	    prefix=`eval echo $1 | sed -e 's/^--prefix=//'`
 	    ;;
 	--site_scm_dir=*)
-	    site_scm_dir=`echo $1 | sed -e 's/^--site_scm_dir=//'`
+	    site_scm_dir=`eval echo $1 | sed -e 's/^--site_scm_dir=//'`
 	    ;;
 	--site_scm_go_dir=*)
-	    site_scm_go_dir=`echo $1 | sed -e 's/^--site_scm_go_dir=//'`
+	    site_scm_go_dir=`eval echo $1 | sed -e 's/^--site_scm_go_dir=//'`
 	    ;;
 	--site-scm-dir=*)
-	    site_scm_dir=`echo $1 | sed -e 's/^--site-scm-dir=//'`
+	    site_scm_dir=`eval echo $1 | sed -e 's/^--site-scm-dir=//'`
 	    ;;
 	--site-scm-go-dir=*)
-	    site_scm_go_dir=`echo $1 | sed -e 's/^--site-scm-go-dir=//'`
+	    site_scm_go_dir=`eval echo $1 | sed -e 's/^--site-scm-go-dir=//'`
 	    ;;
 	--infodir=*)
-	    infodir=`echo $1 | sed -e 's/^--infodir=//'`
+	    infodir=`eval echo $1 | sed -e 's/^--infodir=//'`
 	    ;;
     esac
     shift
-- 
2.18.0

[Message part 5 (text/plain, inline)]
-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Sun, 08 Jul 2018 21:33:06 GMT) (full text, mbox, link).


Acknowledgement sent to Matt Wette <matt.wette@gmail.com>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Sun, 08 Jul 2018 21:33:06 GMT) (full text, mbox, link).


Message #25 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Matt Wette <matt.wette@gmail.com>
To: Jan Nieuwenhuizen <janneke@gnu.org>, Vagrant Cascadian <vagrant@debian.org>
Cc: 902174@bugs.debian.org
Subject: Re: #902174: RFP: mes
Date: Sun, 8 Jul 2018 14:30:21 -0700
On 07/08/2018 03:47 AM, Jan Nieuwenhuizen wrote:
> Vagrant Cascadian writes:
>
> @Matt: some Nyacc patches attached.
>
>>> I took a quick stab at this, and it first requires packaging:
>>>
>>>    https://github.com/oriansj/mescc-tools
>> Packaging branch for mescc-tools:
>>
>>    https://salsa.debian.org/vagrant/mescc-tools
>>
>> Compiles, maybe it even works!
> Wow, thanks!
>
>>>    https://gitlab.com/janneke/nyacc
>> Packaging branch for nyacc:
>>
>>    https://salsa.debian.org/vagrant/nyacc
>>
>> Fails to build as it installs info pages to /share/info. Doesn't appear
>> to respect DESTDIR= ... but setting --infodir doesn't work as I would
>> expect either, suddently appending --prefix to it.
> I have looked into this; please see `debian' branch at
>
>      http://gitlab.com/janneke/nyacc
>
> I have created patches for Nyacc to aid Debian packaging; see attached.
> They are on my debian branch, as well as on my master.  I also made some
> WIP changes to the debian packaging: most notably: I could not find
> guile-2.2.
>
>> And also a packaging branch for mes itself, but of course can't test it
>> until nyacc is working:
>>
>>    https://salsa.debian.org/vagrant/mes
> I will have a look at this later.  You will probably want to rebase on
> my `wip-gnu' branch: it has (experimental) DESTDIR and other Debian
> build support (e.g.: do not assume /bin/sh is bash, resurrect guile-2.0).
>
> Greetings,
> janneke
>
>

I don't understand why `eval' is needed, esp when forcing the shell to 
be bash.
Is there any reference to this usage?

Matt





Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Sun, 08 Jul 2018 21:57:02 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Sun, 08 Jul 2018 21:57:03 GMT) (full text, mbox, link).


Message #30 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: 902174@bugs.debian.org, Matt Wette <matt.wette@gmail.com>
Subject: Re: Bug#902174: #902174: RFP: mes
Date: Sun, 08 Jul 2018 14:52:59 -0700
[Message part 1 (text/plain, inline)]
On 2018-07-08, Jan Nieuwenhuizen wrote:
> Vagrant Cascadian writes:
>
> @Matt: some Nyacc patches attached.
>
>>> I took a quick stab at this, and it first requires packaging:
...
>> Packaging branch for nyacc:
>>
>>   https://salsa.debian.org/vagrant/nyacc
>>
>> Fails to build as it installs info pages to /share/info. Doesn't appear
>> to respect DESTDIR= ... but setting --infodir doesn't work as I would
>> expect either, suddently appending --prefix to it.
>
> I have looked into this; please see `debian' branch at
>
>     http://gitlab.com/janneke/nyacc

Thanks!


> I have created patches for Nyacc to aid Debian packaging; see attached.
> They are on my debian branch, as well as on my master.  I also made some
> WIP changes to the debian packaging: most notably: I could not find
> guile-2.2.

guile-2.2 is in Debian testing and unstable, though guile-2.0 is in
stable, testing and unstable. For upload to Debian, it would probably be
best to use the newest guile version available, unless there's a
compelling reason to use guile-2.0, or possibly work the package to
support both guile-2.2 and guile-2.0.


>> And also a packaging branch for mes itself, but of course can't test it
>> until nyacc is working:
>>
>>   https://salsa.debian.org/vagrant/mes
>
> I will have a look at this later.  You will probably want to rebase on
> my `wip-gnu' branch: it has (experimental) DESTDIR and other Debian
> build support (e.g.: do not assume /bin/sh is bash, resurrect guile-2.0).

Will take a look, thanks!


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Sun, 08 Jul 2018 23:33:07 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Sun, 08 Jul 2018 23:33:07 GMT) (full text, mbox, link).


Message #35 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>, 902174@bugs.debian.org
Subject: Re: Bug#902174: #902174: RFP: mes
Date: Sun, 08 Jul 2018 16:30:03 -0700
[Message part 1 (text/plain, inline)]
On 2018-07-08, Jan Nieuwenhuizen wrote:
> Vagrant Cascadian writes:
>> Packaging branch for nyacc:
>>
>>   https://salsa.debian.org/vagrant/nyacc
>>
>> Fails to build as it installs info pages to /share/info. Doesn't appear
>> to respect DESTDIR= ... but setting --infodir doesn't work as I would
>> expect either, suddently appending --prefix to it.
>
> I have looked into this; please see `debian' branch at
>
>     http://gitlab.com/janneke/nyacc

Built!


>> And also a packaging branch for mes itself, but of course can't test it
>> until nyacc is working:
>>
>>   https://salsa.debian.org/vagrant/mes
>
> I will have a look at this later.  You will probably want to rebase on
> my `wip-gnu' branch: it has (experimental) DESTDIR and other Debian
> build support (e.g.: do not assume /bin/sh is bash, resurrect guile-2.0).

Tried building with this, and had a couple issues.

The clean target assumes a git checkout:

  clean:
    git clean -dfx

But Debian builds against tarballs of the source, and running 'git clean
-dfx' from a directory with the source unpackaged but no .git directory
fails.

The configure target doesn't take some common options, and fails when
unknown options are passed, such as --includedir. The default build
passed these:

  ./configure --build=x86_64-linux-gnu --prefix=/usr
    --includedir=\${prefix}/include --mandir=\${prefix}/share/man
    --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var
    --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu
    --libexecdir=\${prefix}/lib/x86_64-linux-gnu --runstatedir=/run
    --disable-maintainer-mode --disable-dependency-tracking

From the ./configure help output, it suggests that only --prefix and
--sysconfdir are supported, but maybe not all the supported options are
documented.


Working around that by only passing:

  ./configure --prefix=/usr --sysconfdir=/etc

And a no-op clean target...


Still fails to build:

build-aux/build-cc.sh
...
;;; WARNING: compilation of /<<BUILDDIR>>/mes-0.16+0.3da4d01/build-aux/mes-snarf.scm failed:
;;; ERROR: failed to create path for auto-compiled file "/<<BUILDDIR>>/mes-0.16+0.3da4d01/build-aux/mes-snarf.scm"
mes-snarf[guile]...
lib/libmes.c:21:10: fatal error: libmes.h: No such file or directory
 #include <libmes.h>
          ^~~~~~~~~~
compilation terminated.
make[2]: *** [GNUmakefile:39: cc] Error 1
make[2]: Leaving directory '/<<BUILDDIR>>/mes-0.16+0.3da4d01'
make[1]: *** [GNUmakefile:123: src/mes.gcc-out] Error 2
make[1]: *** Waiting for unfinished jobs....
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /<<BUILDDIR>>/mes-0.16+0.3da4d01/build-aux/mes-snarf.scm
;;; WARNING: compilation of /<<BUILDDIR>>/mes-0.16+0.3da4d01/build-aux/mes-snarf.scm failed:

;;; ERROR: failed to create path for auto-compiled file "/<<BUILDDIR>>/mes-0.16+0.3da4d01/build-aux/mes-snarf.scm"
mes-snarf[guile]...
lib/libmes.c:21:10: fatal error: libmes.h: No such file or directory
 #include <libmes.h>
          ^~~~~~~~~~
compilation terminated.
make[1]: *** [GNUmakefile:36: build] Error 1
make[1]: Leaving directory '/<<BUILDDIR>>/mes-0.16+0.3da4d01'
dh_auto_build: make -j4 returned exit code 2


So, some progress, but still some work left to do! :)


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Mon, 09 Jul 2018 05:45:04 GMT) (full text, mbox, link).


Acknowledgement sent to Jan Nieuwenhuizen <janneke@gnu.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Mon, 09 Jul 2018 05:45:04 GMT) (full text, mbox, link).


Message #40 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Matt Wette <matt.wette@gmail.com>
Cc: Vagrant Cascadian <vagrant@debian.org>, 902174@bugs.debian.org
Subject: Re: #902174: RFP: mes
Date: Mon, 09 Jul 2018 07:42:23 +0200
Matt Wette writes:

> I don't understand why `eval' is needed, esp when forcing the shell to
> be bash.
> Is there any reference to this usage?

Debian's configure looks like what I wrote in the commit message (it
uses more options)

    ./configure --prefix=/usr --infodir=\${prefix}/share/info

Without the eval, this results in a Makfile with this snippet

    GUILE=guile
    SITE_SCM_DIR=/usr/share/guile/site/2.2
    SITE_SCM_GO_DIR=/usr/lib/guile/2.2/site-ccache
    INFODIR=${prefix}/share/info

Adding eval fixes this, it produces

    GUILE=guile
    SITE_SCM_DIR=/usr/share/guile/site/2.2
    SITE_SCM_GO_DIR=/usr/lib/guile/2.2/site-ccache
    INFODIR=/usr/share/info

Another fix would have been to also set `prefix' in Makefile

    GUILE=guile
    prefix=/usr

but that would have meant a much bigger Makefile change.  Reasons
of symmetry would demand

    prefix=/usr
    GUILE=guile
    SITE_SCM_DIR=${prefix}/share/guile/site/2.2
    SITE_SCM_GO_DIR=${prefix}/lib/guile/2.2/site-ccache
    INFODIR=${prefix}/share/info

but then, because Nyacc uses

    make -C .. -f Makefile.nyacc

we probably also need to pass prefix variable to the sub-makes...So I
chose the easy solution.

Greetings,
janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com



Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Mon, 09 Jul 2018 14:57:05 GMT) (full text, mbox, link).


Acknowledgement sent to Jan Nieuwenhuizen <janneke@gnu.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Mon, 09 Jul 2018 14:57:05 GMT) (full text, mbox, link).


Message #45 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Vagrant Cascadian <vagrant@debian.org>
Cc: 902174@bugs.debian.org
Subject: Re: Bug#902174: #902174: RFP: mes
Date: Mon, 09 Jul 2018 16:54:27 +0200
Vagrant Cascadian writes:

>>     http://gitlab.com/janneke/nyacc
>
> Built!

Yay!

> Tried building with this, and had a couple issues.
>
> The clean target assumes a git checkout:
>
>   clean:
>     git clean -dfx
>
> But Debian builds against tarballs of the source, and running 'git clean
> -dfx' from a directory with the source unpackaged but no .git directory
> fails.

Ah, bummer.  I'm somewhat reluctant to add and maintain a nice `make
clean' in the age of git.  So what I've tried is to have configure (I
really need to cleanup that thing) create a git archive if necessary.
Would that work?

> The configure target doesn't take some common options, and fails when
> unknown options are passed, such as --includedir. The default build
> passed these:
>
>   ./configure --build=x86_64-linux-gnu --prefix=/usr
>     --includedir=\${prefix}/include --mandir=\${prefix}/share/man
>     --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var
>     --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu
>     --libexecdir=\${prefix}/lib/x86_64-linux-gnu --runstatedir=/run
>     --disable-maintainer-mode --disable-dependency-tracking

That's helpful!  I made sure this command now works.  The pain of not
using autotools is almost becoming as great as the pain of not using
them.

> From the ./configure help output, it suggests that only --prefix and
> --sysconfdir are supported, but maybe not all the supported options are
> documented.

Currently, only --prefix and --infodir are supported.

> Working around that by only passing:
>
>   ./configure --prefix=/usr --sysconfdir=/etc
>
> And a no-op clean target...

Okay...hoping that's not necessary and my git init hack works.

> Still fails to build:
>
> build-aux/build-cc.sh
> ...
> ;;; WARNING: compilation of /<<BUILDDIR>>/mes-0.16+0.3da4d01/build-aux/mes-snarf.scm failed:
> ;;; ERROR: failed to create path for auto-compiled file "/<<BUILDDIR>>/mes-0.16+0.3da4d01/build-aux/mes-snarf.scm"
> mes-snarf[guile]...
> lib/libmes.c:21:10: fatal error: libmes.h: No such file or directory
>  #include <libmes.h>

Ah...CPPFLAGS, CFLAGS get overridden.  I revised my build.

> So, some progress, but still some work left to do! :)

Something like this was to be expected, please have a look at my new
wip-gnu branch (or `debian' which is currently wip-gnu+your patches).

I intend to release this as 0.16.1 if/once it builds for you.

Do you prefer me including your debian packaging patches, i.e. having them
"upstream" or is that inconvenient?

Thanks!
Greetings,
janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com



Changed Bug title to 'RFP: mes -- Maxwell Equations of Software' from 'RFP: mes'. Request was from Eriberto Mota <eriberto@debian.org> to control@bugs.debian.org. (Wed, 05 Sep 2018 19:03:06 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Wed, 13 Feb 2019 22:45:03 GMT) (full text, mbox, link).


Acknowledgement sent to Jan Nieuwenhuizen <janneke@gnu.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Wed, 13 Feb 2019 22:45:03 GMT) (full text, mbox, link).


Message #52 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Vagrant Cascadian <vagrant@debian.org>
Cc: 902174@bugs.debian.org
Subject: Re: Bug#902174: #902174: RFP: mes
Date: Wed, 13 Feb 2019 23:41:02 +0100
Jan Nieuwenhuizen writes:

Hi!

I have resurrected the debian package descriptions for Nyacc,
MesCC-tools and Mes, and updated them to the latest versions.

It would be great if you could take a look at them.

The descriptions are available on a `wip-debian' branch for

    https://gitlab.com/janneke/nyacc
    https://gitlab.com/janneke/mescc-tools
    https://gitlab.com/janneke/mes   # for convenience, canonical git at
      https://git.savannah.gnu.org/git/mes.git

Meanwhile a lot has happened with Mes: it has become a GNU package and
now drives the Reduced Binary Seed bootstrap of the GNU Guix system, see
http://joyofsource.com/reduced-binary-seed-bootstrap.html

Anyway, the latest release of Mes (v0.19) does not build and install
well on Debian; so you'll need not only the debian/ directory for Mes
but also the state of the git archive it lives in.  If that's a problem
we can do a 0.19.1 release -- we're expecting a nice 0.20 release within
a month or so.

Greetings,
janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com



Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Sun, 19 May 2019 09:45:02 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Sun, 19 May 2019 09:45:02 GMT) (full text, mbox, link).


Message #57 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: 902174@bugs.debian.org
Subject: Re: Bug#902174: #902174: RFP: mes
Date: Sun, 19 May 2019 02:41:58 -0700
[Message part 1 (text/plain, inline)]
On 2019-02-13, Jan Nieuwenhuizen wrote:
> I have resurrected the debian package descriptions for Nyacc,
> MesCC-tools and Mes, and updated them to the latest versions.

I made another pass at the Debian packaging needed for Mes.

mescc-tools 0.6.1 builds fine for me:

  https://salsa.debian.org/vagrant/mescc-tools


Upstream nyacc 0.86.0, 0.86.9 and 0.92.0 all build fine for me:

  https://salsa.debian.org/vagrant/nyacc

There are two branches wip/debian/master-0.86.x and
wip/debian/master-0.92.x.


Mes itself still fails to build, but I updated to 0.19, and made a
branch based off of janneke's wip branch as well
(debian/master-wip). configure fails to detect nyacc. It may be an issue
with multi-arch paths (e.g. /usr/lib/guile/2.2
vs. /usr/lib/x86_64-linux-gnu/guile/2.2).

Many of the '#! /bin/sh' scripts contain bashisms which may not be
compatible with Debian's (usual) /bin/sh, dash after a quick check with
"checkbashisms". I could patch all the #! headers and audit all the
calls to "sh" directly, but that seems a bit unmaintainable in the
long-run.

Will need to do some better troubleshooting later... but this appears to
be the last build failure i tried based on the wip branch:

../pre-inst-env mescc -m 64 -c -D HAVE_CONFIG_H=1 -I include -I
../include -I ../include/linux/x86_64 -static -o crt1.o
../lib/linux/x86_64-mes-mescc/crt1.c
unhandled exception:unbound-variable:(move-specl-attr)
Backtrace:
/<<PKGBUILDDIR>>/scripts/mescc: line 56: 24904 Segmentation fault
${SCHEME-$MES} --no-auto-compile -e main -L /usr/share/guile/site/2.2 -C
/usr/lib/guile/2.2/site-ccache $bindir/mescc.scm $sep "$@"
make[1]: *** [GNUmakefile:95: build] Error 139


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Added indication that bug 902174 blocks 850644 Request was from Vagrant Cascadian <vagrant@debian.org> to 850644-submit@bugs.debian.org. (Tue, 28 May 2019 18:18:03 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Mon, 10 Jun 2019 00:12:03 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Mon, 10 Jun 2019 00:12:03 GMT) (full text, mbox, link).


Message #64 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: 902174@bugs.debian.org
Subject: Re: Bug#902174: #902174: RFP: mes
Date: Sun, 09 Jun 2019 17:09:30 -0700
[Message part 1 (text/plain, inline)]
On 2019-05-19, Vagrant Cascadian wrote:
> I made another pass at the Debian packaging needed for Mes.
>
> mescc-tools 0.6.1 builds fine for me:
>
>   https://salsa.debian.org/vagrant/mescc-tools

And uploaded, waiting in NEW:

  https://ftp-master.debian.org/new/mescc-tools_0.6.1-1.html


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Mon, 10 Jun 2019 06:15:03 GMT) (full text, mbox, link).


Acknowledgement sent to Jan Nieuwenhuizen <janneke@gnu.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Mon, 10 Jun 2019 06:15:04 GMT) (full text, mbox, link).


Message #69 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Vagrant Cascadian <vagrant@debian.org>
Cc: 902174@bugs.debian.org
Subject: Re: Bug#902174: #902174: RFP: mes
Date: Mon, 10 Jun 2019 08:11:55 +0200
[Message part 1 (text/plain, inline)]
Vagrant Cascadian writes:

Hi!

> Mes itself still fails to build, but I updated to 0.19, and made a
> branch based off of janneke's wip branch as well
> (debian/master-wip). configure fails to detect nyacc. It may be an issue
> with multi-arch paths (e.g. /usr/lib/guile/2.2
> vs. /usr/lib/x86_64-linux-gnu/guile/2.2).

Oops, that looks like a bug, thanks.  I hope it's harmless...

> Many of the '#! /bin/sh' scripts contain bashisms which may not be
> compatible with Debian's (usual) /bin/sh, dash after a quick check with
> "checkbashisms". I could patch all the #! headers and audit all the
> calls to "sh" directly, but that seems a bit unmaintainable in the
> long-run.

Sure, this needs to be fixed; I'll look into it, thanks.

> Will need to do some better troubleshooting later... but this appears to
> be the last build failure i tried based on the wip branch:
>
> ../pre-inst-env mescc -m 64 -c -D HAVE_CONFIG_H=1 -I include -I
> ../include -I ../include/linux/x86_64 -static -o crt1.o
> ../lib/linux/x86_64-mes-mescc/crt1.c
> unhandled exception:unbound-variable:(move-specl-attr)
> Backtrace:
> /<<PKGBUILDDIR>>/scripts/mescc: line 56: 24904 Segmentation fault
> ${SCHEME-$MES} --no-auto-compile -e main -L /usr/share/guile/site/2.2 -C
> /usr/lib/guile/2.2/site-ccache $bindir/mescc.scm $sep "$@"
> make[1]: *** [GNUmakefile:95: build] Error 139

This could be a problem with Nyacc 0.93.0, find a patch attached for
that.

Thank you,
Greetings, janneke

[0001-mes-Update-to-Nyacc-0.93.patch (text/x-patch, inline)]
From b3fa6273210200cf2694491b07ed5a328e9a4e62 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 9 Jun 2019 19:42:42 +0200
Subject: [PATCH] mes: Update to Nyacc 0.93.

* mes/module/nyacc/lang/c99/util.mes: New file.
* mes/module/nyacc/lang/c99/parser.mes: Use it.
* module/mescc/compile.scm (ast->info): Update for Nyacc 0.93.0.
* module/mescc/preprocess.scm (need-progress):  Likewise.
(ast-strip-comment): Likewise.
---
 mes/module/nyacc/lang/c99/parser.mes |  3 +-
 mes/module/nyacc/lang/c99/util.mes   | 45 ++++++++++++++++++++++++++++
 module/mescc/compile.scm             |  4 +++
 module/mescc/preprocess.scm          |  3 +-
 4 files changed, 53 insertions(+), 2 deletions(-)
 create mode 100644 mes/module/nyacc/lang/c99/util.mes

diff --git a/mes/module/nyacc/lang/c99/parser.mes b/mes/module/nyacc/lang/c99/parser.mes
index 1a9aaf732..9fbb5fd1e 100644
--- a/mes/module/nyacc/lang/c99/parser.mes
+++ b/mes/module/nyacc/lang/c99/parser.mes
@@ -1,7 +1,7 @@
 ;;; -*-scheme-*-
 
 ;;; GNU Mes --- Maxwell Equations of Software
-;;; Copyright © 2016,2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016,2017,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Mes.
 ;;;
@@ -35,5 +35,6 @@
 (mes-use-module (nyacc lang sx-util))
 (mes-use-module (nyacc lang util))
 (mes-use-module (nyacc lang c99 cpp))
+(mes-use-module (nyacc lang c99 util))
 
 (include-from-path "nyacc/lang/c99/parser.scm")
diff --git a/mes/module/nyacc/lang/c99/util.mes b/mes/module/nyacc/lang/c99/util.mes
new file mode 100644
index 000000000..b4e24885a
--- /dev/null
+++ b/mes/module/nyacc/lang/c99/util.mes
@@ -0,0 +1,45 @@
+;;; -*-scheme-*-
+
+;;; GNU Mes --- Maxwell Equations of Software
+;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;;
+;;; This file is part of GNU Mes.
+;;;
+;;; GNU Mes is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Mes is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(mes-use-module (mes guile))
+(mes-use-module (mes catch))
+(mes-use-module (mes fluids))
+(mes-use-module (mes pretty-print))
+(mes-use-module (mes optargs))
+(mes-use-module (srfi srfi-1))
+(mes-use-module (srfi srfi-9))
+(mes-use-module (sxml xpath))
+
+;; FIXME: Nyacc 0.93.0:
+;; FIXME: (mes-use-module (srfi srfi-2))
+;; FIXME: (mes-use-module (sxml fold))
+;; FIXME: (ice-9 popen)
+;; FIXME: (ice-9 rdelim)
+(define (export . rest) #t)
+(define (close-port port) #t)
+
+(mes-use-module (nyacc lang util))
+(mes-use-module (nyacc lang sx-util))
+
+(include-from-path "nyacc/lang/c99/util.scm")
diff --git a/module/mescc/compile.scm b/module/mescc/compile.scm
index 74a2defff..39b352c09 100644
--- a/module/mescc/compile.scm
+++ b/module/mescc/compile.scm
@@ -1713,6 +1713,10 @@
       ((asm-expr ,gnuc (,null ,arg0 . string))
        (append-text info (wrap-as (asm->m1 arg0))))
 
+      ;; Nyacc 0.90.2
+      ((asm-expr ,gnuc (string ,arg0))
+       (append-text info (wrap-as (asm->m1 arg0))))
+
       ((expr-stmt (fctn-call (p-expr (ident ,name)) (expr-list . ,expr-list)))
        (if (equal? name "asm") (let ((arg0 (cadr (cadar expr-list))))
                                  (append-text info (wrap-as (asm->m1 arg0))))
diff --git a/module/mescc/preprocess.scm b/module/mescc/preprocess.scm
index c7327a44c..b8c38aa02 100644
--- a/module/mescc/preprocess.scm
+++ b/module/mescc/preprocess.scm
@@ -40,7 +40,7 @@
        '(("0.85.3" (1 2 3))
          ("0.86.0" (1 2 3)))
        *nyacc-version*)
-      '(1 2 3)))
+      '((1 2 3))))
 
 (define (progress o)
   (when (and o (getenv "NYACC_DEBUG"))
@@ -114,6 +114,7 @@
 
 (define (ast-strip-comment o)
   (pmatch o
+    ((@ (comment . ,comment)) #f) ; Nyacc 0.90.2/0.93.0?
     ((comment . ,comment) #f)
     (((comment . ,comment) . ,t) (filter-map ast-strip-comment t))
     (((comment . ,comment) . ,cdr) cdr)
-- 
2.21.0

[Message part 3 (text/plain, inline)]
-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Mon, 10 Jun 2019 10:27:02 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Mon, 10 Jun 2019 10:27:02 GMT) (full text, mbox, link).


Message #74 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: 902174@bugs.debian.org
Subject: Re: #902174: RFP: mes
Date: Mon, 10 Jun 2019 03:23:33 -0700
On 2019-06-10, Jan Nieuwenhuizen wrote:
> Vagrant Cascadian writes:
>> Mes itself still fails to build
...
>> configure fails to detect nyacc. It may be an issue
>> with multi-arch paths (e.g. /usr/lib/guile/2.2
>> vs. /usr/lib/x86_64-linux-gnu/guile/2.2).
>
> Oops, that looks like a bug, thanks.  I hope it's harmless...

The configure script still fails to detect nyacc (with version 0.86.0,
0.86.9, 0.92.0, 0.93.0 or 0.94.0):

  checking for nyacc [0.86.0]... command[11]: ("/usr/bin/guile-2.2 -c
  '(use-modules (nyacc lalr)) (display *nyacc-version*)'" "--version") => []
  no

When I run the command from the commandline:

  $ /usr/bin/guile-2.2  -c '(use-modules (nyacc lalr)) (display *nyacc-version*)'
  0.94.0

Same with any of the other versions of nyacc...

So not sure why ./configure is getting an empty result... how is
configure passing the "--version" argument?


>> Will need to do some better troubleshooting later... but this appears to
>> be the last build failure i tried based on the wip branch:
>>
>> ../pre-inst-env mescc -m 64 -c -D HAVE_CONFIG_H=1 -I include -I
>> ../include -I ../include/linux/x86_64 -static -o crt1.o
>> ../lib/linux/x86_64-mes-mescc/crt1.c
>> unhandled exception:unbound-variable:(move-specl-attr)
>> Backtrace:
>> /<<PKGBUILDDIR>>/scripts/mescc: line 56: 24904 Segmentation fault
>> ${SCHEME-$MES} --no-auto-compile -e main -L /usr/share/guile/site/2.2 -C
>> /usr/lib/guile/2.2/site-ccache $bindir/mescc.scm $sep "$@"
>> make[1]: *** [GNUmakefile:95: build] Error 139
>
> This could be a problem with Nyacc 0.93.0, find a patch attached for
> that.

Patch seems to have fixed that issue.


After some aggressive patching for /bin/sh -> /bin/bash and using bash
-x, it manages to get further, but it still fails building libmes:

  + trace 'CC         lib/libmes.c' /usr/bin/gcc -c -Wdate-time
  -D_FORTIFY_SOURCE=2 -D POSIX=1 -D WITH_GLIBC=1 -D POSIX=1 -D
  WITH_GLIBC=1 -g -O2
  -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat
  -Werror=format-security -o lib/libmes.o lib/libmes.c
  + echo '  CC         lib/libmes.c'
    CC         lib/libmes.c
  + shift
  + eval /usr/bin/gcc -c -Wdate-time -D_FORTIFY_SOURCE=2 -D POSIX=1 -D
  WITH_GLIBC=1 -D POSIX=1 -D WITH_GLIBC=1 -g -O2
  -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat
  -Werror=format-security -o lib/libmes.o lib/libmes.c '>>build.log'
  '2>&1'
  ++ /usr/bin/gcc -c -Wdate-time -D_FORTIFY_SOURCE=2 -D POSIX=1 -D
  WITH_GLIBC=1 -D POSIX=1 -D WITH_GLIBC=1 -g -O2
  -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat
  -Werror=format-security -o lib/libmes.o lib/libmes.c
  make[1]: *** [GNUmakefile:83: build] Error 1
  make[1]: Leaving directory '/<<PKGBUILDDIR>>'
  dh_auto_build: make -j4 returned exit code 2
  make: *** [debian/rules:9: build-arch] Error 2
  dpkg-buildpackage: error: debian/rules build-arch subprocess returned
  exit status 2

I also tried without the hardening build flags, but no real difference.


live well,
  vagrant



Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Tue, 11 Jun 2019 01:30:04 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Tue, 11 Jun 2019 01:30:04 GMT) (full text, mbox, link).


Message #79 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: 902174@bugs.debian.org
Subject: Re: #902174: RFP: mes
Date: Mon, 10 Jun 2019 18:26:36 -0700
On 2019-06-10, Vagrant Cascadian wrote:
> On 2019-06-10, Jan Nieuwenhuizen wrote:
>> Vagrant Cascadian writes:
>>> Mes itself still fails to build

I updated to b3fa6273210200cf2694491b07ed5a328e9a4e62 from upstream,
added a few packaging updates, and... The current branch builds a
package!

  https://salsa.debian.org/vagrant/mes

A few test failures on amd64, but i386 tests run fine.

Plenty of policy and lintian issues to sort out yet... but getting
there.


live well,
  vagrant



Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Wed, 13 Nov 2019 04:39:03 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Wed, 13 Nov 2019 04:39:03 GMT) (full text, mbox, link).


Message #84 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: 902174@bugs.debian.org
Subject: Re: #902174: RFP: mes
Date: Tue, 12 Nov 2019 20:25:50 -0800
[Message part 1 (text/plain, inline)]
On 2019-06-10, Vagrant Cascadian wrote:
> On 2019-06-10, Vagrant Cascadian wrote:
> I updated to b3fa6273210200cf2694491b07ed5a328e9a4e62 from upstream,
> added a few packaging updates, and... The current branch builds a
> package!
>
>   https://salsa.debian.org/vagrant/mes

Updated to 0.20 a while back and have iterated through a few test builds
on i386, and it appears to be working:

  https://salsa.debian.org/vagrant/mes


> A few test failures on amd64, but i386 tests run fine.

Still one test suite failure on amd64, i386 works fine. The failing test
on amd64 is:

  lib/tests/dirent/90-readdir.c

Is there any way to mark the failing test as XFAIL conditionally by
architecture?


A bigger blocker at this point is that mes installs numerous files in
/usr/include/, such as /usr/include/alloca.h, that conflict with other
packages such as libc6-dev. In a Debian environment, we typically can't
have multiple packages shipping the same files in the same PATHS. Other
libc implementations seem to put them in /usr/include/IMPLEMENTATION/
subdirs, e.g. /usr/include/mes/.

With the /usr/include issue solved and ideally the test suite failure
too, it would in my opinion be feasible to upload to Debian!


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Wed, 13 Nov 2019 09:45:04 GMT) (full text, mbox, link).


Acknowledgement sent to Jan Nieuwenhuizen <janneke@gnu.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Wed, 13 Nov 2019 09:45:04 GMT) (full text, mbox, link).


Message #89 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Vagrant Cascadian <vagrant@debian.org>
Cc: 902174@bugs.debian.org
Subject: Re: #902174: RFP: mes
Date: Wed, 13 Nov 2019 10:43:24 +0100
Vagrant Cascadian writes:

> Updated to 0.20 a while back and have iterated through a few test builds
> on i386, and it appears to be working:
>
>   https://salsa.debian.org/vagrant/mes

\o/

>> A few test failures on amd64, but i386 tests run fine.
>
> Still one test suite failure on amd64, i386 works fine. The failing test
> on amd64 is:
>
>   lib/tests/dirent/90-readdir.c
>
> Is there any way to mark the failing test as XFAIL conditionally by
> architecture?

As a developer: yes; not really as a user/packager atm.  IOW, you will
need a patch.

The strange thing is that I tried to reproduce on a bullseye/sid VM of
about 2months ago; and for me all tests pass?

Anyway, I have updated the wip-0.20 branch to include three patches

--8<---------------cut here---------------start------------->8---
build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64-gcc.
build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64-mescc.
build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64.
--8<---------------cut here---------------end--------------->8---

you can cherry-pick the one that works for you.

> A bigger blocker at this point is that mes installs numerous files in
> /usr/include/, such as /usr/include/alloca.h, that conflict with other
> packages such as libc6-dev. In a Debian environment, we typically can't
> have multiple packages shipping the same files in the same PATHS. Other
> libc implementations seem to put them in /usr/include/IMPLEMENTATION/
> subdirs, e.g. /usr/include/mes/.

On wip-0.20, I have fixed install to honor configure's
--includedir=<some dir>, so you may use

    ./configure --includedir=/usr/include/mes

that should work now.

> With the /usr/include issue solved and ideally the test suite failure
> too, it would in my opinion be feasible to upload to Debian!

Hope this fixes it,
a big thank you again!

janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com



Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#902174; Package wnpp. (Wed, 13 Nov 2019 11:06:12 GMT) (full text, mbox, link).


Acknowledgement sent to Vagrant Cascadian <vagrant@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Wed, 13 Nov 2019 11:06:12 GMT) (full text, mbox, link).


Message #94 received at 902174@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: 902174@bugs.debian.org
Subject: Re: #902174: RFP: mes
Date: Wed, 13 Nov 2019 03:05:14 -0800
[Message part 1 (text/plain, inline)]
On 2019-11-13, Jan Nieuwenhuizen wrote:
> Vagrant Cascadian writes:
>> Still one test suite failure on amd64, i386 works fine. The failing test
>> on amd64 is:
>>
>>   lib/tests/dirent/90-readdir.c
>>
>> Is there any way to mark the failing test as XFAIL conditionally by
>> architecture?
>
> As a developer: yes; not really as a user/packager atm.  IOW, you will
> need a patch.
>
> The strange thing is that I tried to reproduce on a bullseye/sid VM of
> about 2months ago; and for me all tests pass?

Well, they've consistently failed for me ... hrm.


> Anyway, I have updated the wip-0.20 branch to include three patches
>
> --8<---------------cut here---------------start------------->8---
> build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64-gcc.
> build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64-mescc.
> build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64.
> --8<---------------cut here---------------end--------------->8---
>
> you can cherry-pick the one that works for you.

I did a quick build with all three, and it worked. Will triage exactly
which of the three are needed another time.


>> A bigger blocker at this point is that mes installs numerous files in
>> /usr/include/, such as /usr/include/alloca.h, that conflict with other
>> packages such as libc6-dev. In a Debian environment, we typically can't
>> have multiple packages shipping the same files in the same PATHS. Other
>> libc implementations seem to put them in /usr/include/IMPLEMENTATION/
>> subdirs, e.g. /usr/include/mes/.
>
> On wip-0.20, I have fixed install to honor configure's
> --includedir=<some dir>, so you may use
>
>     ./configure --includedir=/usr/include/mes
>
> that should work now.

That worked pefectly!


>> With the /usr/include issue solved and ideally the test suite failure
>> too, it would in my opinion be feasible to upload to Debian!
>
> Hope this fixes it,
> a big thank you again!

And thanks likewise for quickly responding with patches!

Pushed updates to my packaging branch.


live well,
  vagrant
[signature.asc (application/pgp-signature, inline)]

Reply sent to Vagrant Cascadian <vagrant@debian.org>:
You have taken responsibility. (Sun, 17 Nov 2019 19:03:12 GMT) (full text, mbox, link).


Notification sent to Geert Stappers <stappers@debian.org>:
Bug acknowledged by developer. (Sun, 17 Nov 2019 19:03:12 GMT) (full text, mbox, link).


Message #99 received at 902174-close@bugs.debian.org (full text, mbox, reply):

From: Vagrant Cascadian <vagrant@debian.org>
To: 902174-close@bugs.debian.org
Subject: Bug#902174: fixed in mes 0.20-1
Date: Sun, 17 Nov 2019 19:00:10 +0000
Source: mes
Source-Version: 0.20-1

We believe that the bug you reported is fixed in the latest version of
mes, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 902174@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Vagrant Cascadian <vagrant@debian.org> (supplier of updated mes package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 13 Nov 2019 10:37:22 -0800
Source: mes
Binary: mes mes-dbgsym
Architecture: source amd64
Version: 0.20-1
Distribution: experimental
Urgency: low
Maintainer: Vagrant Cascadian <vagrant@debian.org>
Changed-By: Vagrant Cascadian <vagrant@debian.org>
Description:
 mes        - Maxwell Equations of Software
Closes: 902174
Changes:
 mes (0.20-1) experimental; urgency=low
 .
   * Initial release. Closes: #902174
Checksums-Sha1:
 2fc6ec85941082b8a2288fc176b91383424318b9 1529 mes_0.20-1.dsc
 38d4cb3fa28fa1f5fc57fea9e046d4d8052bbb8c 533431 mes_0.20.orig.tar.gz
 1ebb24a460af1dce89ffa831491b3b4d3f01e088 833 mes_0.20.orig.tar.gz.asc
 88184779ba4b05ed62a41e3ddccfdd0e685fe86f 9324 mes_0.20-1.debian.tar.xz
 de23ffe0151bb9f54158345e31295a7276ff74cc 5100 mes-dbgsym_0.20-1_amd64.deb
 4560faca26a0d6a76fd321b9a5657f581626aa38 7954 mes_0.20-1_amd64.buildinfo
 82f28142d9bcac0e235a1a540779c78d95bb1de7 1223180 mes_0.20-1_amd64.deb
Checksums-Sha256:
 0de6bca973afac566f2cec19d55e15946d14836bc604dc6e78f6a42fe6622b1b 1529 mes_0.20-1.dsc
 96ac2d785d0bada0695abacedd20bd3156e3ca8b601ca22919ca86b1d195ea12 533431 mes_0.20.orig.tar.gz
 bdc6f15bc448fb9bb1b63296d15e555502a2051a9588859fbbf46bf8d4e06d5e 833 mes_0.20.orig.tar.gz.asc
 727796f0a74ef56b14cc69169b36dd077c0e3788cfa20d485e4d47b7f2ee5809 9324 mes_0.20-1.debian.tar.xz
 84220f6a92b4a576085a74c3e9b409b7c59faf7ca5e162bd854a4815a968b361 5100 mes-dbgsym_0.20-1_amd64.deb
 19fa6fc53e6136d9056efcd49f4addcb6fc910e64fb7f3771406507b41ef1b53 7954 mes_0.20-1_amd64.buildinfo
 efa30f76e8cc2a32c58763779a8c8da6faea6acf2b3bd1b68d62f2c40fde3f2b 1223180 mes_0.20-1_amd64.deb
Files:
 5923dcf959df41f6b2e991925988345c 1529 devel optional mes_0.20-1.dsc
 df839a83e4a2ad6c2a4accc5bf17b1a7 533431 devel optional mes_0.20.orig.tar.gz
 01304a6a7a50235337f5eabfc9bedd91 833 devel optional mes_0.20.orig.tar.gz.asc
 605f92b7ef10efcb95c1ff7370d6127b 9324 devel optional mes_0.20-1.debian.tar.xz
 67bcec5aacb3146a3105d8fdf9d4073b 5100 debug optional mes-dbgsym_0.20-1_amd64.deb
 88bda64049085069f60022c5d1685263 7954 devel optional mes_0.20-1_amd64.buildinfo
 dd537c807e123723c02bb8d3be5b33ec 1223180 devel optional mes_0.20-1_amd64.deb

-----BEGIN PGP SIGNATURE-----

iIkEARYKADEWIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCXcxcQBMcdmFncmFudEBk
ZWJpYW4ub3JnAAoJENxRj8h/lxaq1rwA/1USIlhGDmWrjjIb5LpcxLVYJmxb1HD+
jCpum/R4PE1eAQCpByz53TS44jYHZOgHGpJeWMttKOK9deP7WJD33I3wDA==
=tbeI
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 16 Dec 2019 07:29:17 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed May 17 09:28:47 2023; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.