[PATCH] gnu: gerbv: Fix missing version.

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Evgeny Pisemsky
Owner
unassigned
Submitted by
Evgeny Pisemsky
Severity
normal
E
E
Evgeny Pisemsky wrote on 9 Aug 14:00 +0200
(address . guix-patches@gnu.org)
87sevdoqh8.fsf@pisemsky.site
This program currently lacks version number everywhere - in pkgconfig,
in CLI and in GUI, because it is generated by a script that needs git
and updating shebang. This patch fixes the problem.
From c066b30a8f1afff37deb54d7ed571d99b059f619 Mon Sep 17 00:00:00 2001
Message-ID: <c066b30a8f1afff37deb54d7ed571d99b059f619.1723204072.git.mail@pisemsky.site>
From: Evgeny Pisemsky <mail@pisemsky.site>
Date: Fri, 9 Aug 2024 14:40:05 +0300
Subject: [PATCH] gnu: gerbv: Fix missing version.

* gnu/packages/engineering.scm (gerbv): Fix missing version.
[source]: Change indentation.
[arguments]: Patch version generator shebang.
[native-inputs]: Add git.

Change-Id: I29a38fff03127d9ce2b5e04ca638dacfc3720125
---
gnu/packages/engineering.scm | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)

Toggle diff (58 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index d5d72a0c85..697ceff59f 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -27,7 +27,7 @@
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
-;;; Copyright © 2022 Evgeny Pisemsky <mail@pisemsky.site>
+;;; Copyright © 2022, 2024 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2022 Olivier Dion <olivier.dion@polymtl.ca>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
@@ -833,22 +833,30 @@ (define-public gerbv
(package
(name "gerbv")
(version "2.10.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gerbv/gerbv")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "06bcm5zw7whsnnmfld3gl2j907lxc68gnsbzr2pc4w6qc923rgmj"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gerbv/gerbv")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06bcm5zw7whsnnmfld3gl2j907lxc68gnsbzr2pc4w6qc923rgmj"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("CFLAGS=-fcommon")))
+ (list
+ #:configure-flags '(list "CFLAGS=-fcommon")
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-version-generator
+ (lambda _
+ (substitute* "utils/git-version-gen.sh"
+ (("/bin/bash")
+ (which "bash"))))))))
(native-inputs (list autoconf
automake
desktop-file-utils
gettext-minimal
+ git
`(,glib "bin")
libtool
pkg-config))

base-commit: 20dbf225f332ccc707578263ed710dcf2a8fb78e
--
2.45.2
L
L
Ludovic Courtès wrote on 6 Sep 23:51 +0200
(name . Evgeny Pisemsky)(address . mail@pisemsky.site)(address . 72541@debbugs.gnu.org)
87frqcwiwg.fsf@gnu.org
Hi,

Evgeny Pisemsky <mail@pisemsky.site> skribis:

Toggle quote (4 lines)
> This program currently lacks version number everywhere - in pkgconfig,
> in CLI and in GUI, because it is generated by a script that needs git
> and updating shebang. This patch fixes the problem.

This is surprising because the checkout lacks the ‘.git’ directory, and
thus Git cannot possibly determine the commit ID or anything.

Could it be that adding ‘git’ to $PATH just hides the problem?

Toggle quote (13 lines)
>>From c066b30a8f1afff37deb54d7ed571d99b059f619 Mon Sep 17 00:00:00 2001
> Message-ID: <c066b30a8f1afff37deb54d7ed571d99b059f619.1723204072.git.mail@pisemsky.site>
> From: Evgeny Pisemsky <mail@pisemsky.site>
> Date: Fri, 9 Aug 2024 14:40:05 +0300
> Subject: [PATCH] gnu: gerbv: Fix missing version.
>
> * gnu/packages/engineering.scm (gerbv): Fix missing version.
> [source]: Change indentation.
> [arguments]: Patch version generator shebang.
> [native-inputs]: Add git.
>
> Change-Id: I29a38fff03127d9ce2b5e04ca638dacfc3720125

[…]

Toggle quote (4 lines)
> (build-system gnu-build-system)
> (arguments
> - '(#:configure-flags '("CFLAGS=-fcommon")))

Not related to your patch, but this thing is most likely wrong and
should read "CFLAGS=-O2 -g -fcommon", or the binaries will be
unoptimized (-O0) and unconditionally stripped.

Thanks,
Ludo’.
E
E
Evgeny Pisemsky wrote on 7 Sep 18:30 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 72541@debbugs.gnu.org)
87plpfo28w.fsf@pisemsky.site
Hello!

The problem is certainly in this script or its environment, since the
only place where version can come from is this line in configure.ac:

AC_INIT([gerbv], [m4_esyscmd(utils/git-version-gen.sh 2.10.0)])

This gave me the idea to do substitution there to avoid running it.

As for wrong flag, I suggest just removing it.

Alter these changes gerbv builds and works fine for me.

Updated patch attached.
From 5bc5612026d51a2614b29668addf0f8de0aefe76 Mon Sep 17 00:00:00 2001
Message-ID: <5bc5612026d51a2614b29668addf0f8de0aefe76.1725723700.git.mail@pisemsky.site>
From: Evgeny Pisemsky <mail@pisemsky.site>
Date: Sat, 7 Sep 2024 18:40:06 +0300
Subject: [PATCH] gnu: gerbv: Fix missing version.

* gnu/packages/engineering.scm (gerbv): Fix missing version.
[source]: Change indentation.
[arguments]: Remove wrong configure flags, avoid running git version generator.

Change-Id: I29a38fff03127d9ce2b5e04ca638dacfc3720125
---
gnu/packages/engineering.scm | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)

Toggle diff (52 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 26f47dbf9d..d2e524a7f8 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -27,7 +27,7 @@
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
-;;; Copyright © 2022 Evgeny Pisemsky <mail@pisemsky.site>
+;;; Copyright © 2022, 2024 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2022 Olivier Dion <olivier.dion@polymtl.ca>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
@@ -837,18 +837,24 @@ (define-public gerbv
(package
(name "gerbv")
(version "2.10.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gerbv/gerbv")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "06bcm5zw7whsnnmfld3gl2j907lxc68gnsbzr2pc4w6qc923rgmj"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gerbv/gerbv")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06bcm5zw7whsnnmfld3gl2j907lxc68gnsbzr2pc4w6qc923rgmj"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("CFLAGS=-fcommon")))
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-git-version-gen
+ (lambda _
+ (substitute* "configure.ac"
+ (("utils/git-version-gen.sh")
+ "echo -n")))))))
(native-inputs (list autoconf
automake
desktop-file-utils

base-commit: 18d02443e1ec37779ee3cf63f9aaff1746bfdd8e
--
2.45.2
E
E
Evgeny Pisemsky wrote on 8 Sep 18:00 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 72541@debbugs.gnu.org)
87h6aqi196.fsf@pisemsky.site
*After these changes

Looks like I have found the problem in this script:

When git is absent, it stops at the following line:

GIT=`command -v git`

resulting an empty version. The reason is probably this instruction:

set -e

Anyway, IMO in guix it makes more sense to just exclude obviously
useless script from the build process, rather than patch it.
E
E
Evgeny Pisemsky wrote on 16 Sep 08:35 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 72541@debbugs.gnu.org)
87wmjcrtq3.fsf@pisemsky.site
FYI this issue is one of two reasons why another package, pcb2gcode,
does not build since around october 2023:


The other one is incompatibility with geos, which can be solved in
three different ways, but only after this one will be resolved.
E
E
Evgeny Pisemsky wrote on 16 Oct 21:22 +0200
Re: [bug#72541] Any feedback?
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 72541@debbugs.gnu.org)
878qun4zuq.fsf_-_@pisemsky.site
It's like I'm sending patches and messages into a black hole.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 72541@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 72541
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch