diff mbox series

[bug#55538] gnu: virtuoso-ose: Update to 7.2.7.

Message ID cfd0695b112fa6c8dda5a24d98ed826da3942079.camel@gnu.org
State Accepted
Headers show
Series [bug#55538] gnu: virtuoso-ose: Update to 7.2.7. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Roel Janssen May 20, 2022, 8:41 a.m. UTC
Dear Guix,

I'd like to update Virtuoso OSE to the latest release (see attached patch).

Other than the version number and checksum bump I noticed that some JAR files made it in the build
output.  I tried removing them from the source tarball using a snippet, but then one needs to
include a patch for various Makefile.am files and run the autogen.sh script.  I thought this was
simpler and clearer on what's actually achieved.

Kind regards,
Roel Janssen

Comments

Maxim Cournoyer May 25, 2022, 2:29 p.m. UTC | #1
Hi Roel,

Roel Janssen <roel@gnu.org> writes:

> Dear Guix,
>
> I'd like to update Virtuoso OSE to the latest release (see attached patch).
>
> Other than the version number and checksum bump I noticed that some JAR files made it in the build
> output.  I tried removing them from the source tarball using a snippet, but then one needs to
> include a patch for various Makefile.am files and run the autogen.sh script.  I thought this was
> simpler and clearer on what's actually achieved.

I fear in the future it would be easy to overlook the introduction of
extra bundled jars in the source, that'd get installed.  I feel it'd be
preferable if we removed them all from a source snippet, at the cost of
having to patch the build system (the extra complications you
mentioned).

Could you try it and send a revised patch?

Thanks!

Maxim
Roel Janssen May 25, 2022, 3:51 p.m. UTC | #2
On Wed, 2022-05-25 at 10:29 -0400, Maxim Cournoyer wrote:
> Hi Roel,
> 
> Roel Janssen <roel@gnu.org> writes:
> 
> > Dear Guix,
> > 
> > I'd like to update Virtuoso OSE to the latest release (see attached patch).
> > 
> > Other than the version number and checksum bump I noticed that some JAR files made it in the
> > build
> > output.  I tried removing them from the source tarball using a snippet, but then one needs to
> > include a patch for various Makefile.am files and run the autogen.sh script.  I thought this was
> > simpler and clearer on what's actually achieved.
> 
> I fear in the future it would be easy to overlook the introduction of
> extra bundled jars in the source, that'd get installed.  I feel it'd be
> preferable if we removed them all from a source snippet, at the cost of
> having to patch the build system (the extra complications you
> mentioned).
> 
> Could you try it and send a revised patch?
> 

Thank you for taking a look at it! To be fair, what the patches would do, would be to avoid
including the directories that I remove. So removing the current pre-built binaries in a snippet
will be equally error-prone.

But I agree that you would preferably want to have a source tarball without pre-built binaries in it
when running `guix build -S virtuoso-ose`.

A naive patch leads to the build getting stuck, so I need to investigate the impact further.
I'll report back when I have adapted the patch.

THank you again for your time!

Kind regards,
Roel Janssen
diff mbox series

Patch

From a5591def946ba8a5d9a2c5ccc3259efe9e43391c Mon Sep 17 00:00:00 2001
From: Roel Janssen <roel@gnu.org>
Date: Fri, 20 May 2022 10:36:50 +0200
Subject: [PATCH] gnu: virtuoso-ose: Update to 7.2.7.

* gnu/packages/databases.scm (virtuoso-ose): Update to 7.2.7; Remove pre-built
  blobs from the build output.
---
 gnu/packages/databases.scm | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index feedfe68e7..03e191bab2 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3229,14 +3229,14 @@  (define-public python-lmdb
 (define-public virtuoso-ose
   (package
     (name "virtuoso-ose")
-    (version "7.2.6")
+    (version "7.2.7")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/virtuoso/virtuoso/" version "/"
                            "virtuoso-opensource-" version ".tar.gz"))
        (sha256
-        (base32 "0ly7s7a3w2a2zhhi9rq9k2qlnzapqbbc1rcdqb3zqqpgg81krz9q"))))
+        (base32 "1853ln0smiilf3pni70gq6nmi9ps039cy44g6b5i9d2z1n9hnj02"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; Tests require a network connection.
@@ -3255,7 +3255,26 @@  (define-public virtuoso-ose
                (for-each (lambda (file)
                            (delete-file (string-append lib "/" file)))
                          '("libvirtuoso-t.a"
-                           "libvirtuoso-t.la"))))))))
+                           "libvirtuoso-t.la")))))
+         ;; Optional bundled Java archives are copied into the build output.
+         ;; This phase removes them.
+         (add-after 'install 'remove-static-libs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
+               (for-each (lambda (directory)
+                           (delete-file-recursively
+                            (string-append lib "/" directory)))
+                         '("hibernate"
+                           "jdbc-4.0"
+                           "jdbc-4.1"
+                           "jdbc-4.2"
+                           "jdbc-4.3"
+                           "jena"
+                           "jena2"
+                           "jena3"
+                           "jena4"
+                           "rdf4j"
+                           "sesame"))))))))
     (inputs
      (list openssl net-tools readline zlib))
     (home-page "http://vos.openlinksw.com/owiki/wiki/VOS/")
-- 
2.36.1