GNU bug report logs - #41263
[PATCH] gnu: Add openctm

Previous Next

Package: guix-patches;

Reported by: Ekaitz Zarraga <ekaitz <at> elenq.tech>

Date: Thu, 14 May 2020 15:02:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41263 in the body.
You can then email your comments to 41263 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

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


Report forwarded to guix-patches <at> gnu.org:
bug#41263; Package guix-patches. (Thu, 14 May 2020 15:02:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ekaitz Zarraga <ekaitz <at> elenq.tech>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 14 May 2020 15:02:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: "guix-patches <at> gnu.org" <guix-patches <at> gnu.org>
Subject: [PATCH] gnu: Add openctm
Date: Thu, 14 May 2020 15:01:32 +0000
Hi,

Adding OpenCTM as discussed here:

https://issues.guix.gnu.org/issue/40492

Regards,
Ekaitz
---

From 8bbac5bccdb0b2fd5ffa8fe1e2dec25a6a359810 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Date: Thu, 14 May 2020 16:55:32 +0200
Subject: [PATCH] gnu: Add openctm

    * gnu/packages/engineering.scm (openctm): New Variable.
---
 gnu/packages/engineering.scm | 59 ++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 172f8481eb..e3e346b1e9 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2020 Brice Waegeneire <brice <at> waegenei.re>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
+;;; Copyright © 2020 Ekaitz Zarraga <ekaitz <at> elenq.tech>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -38,6 +39,7 @@
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
+  #:use-module (guix svn-download)
   #:use-module (guix monads)
   #:use-module (guix store)
   #:use-module (guix utils)
@@ -2533,3 +2535,60 @@ without any changes.  And programmers that are familiar with the magellan API
 can continue using it with a free library without the restrictions of the
 official SDK.")
     (license license:bsd-3)))
+
+(define-public openctm
+  (let ((revision 603))
+    ; Previous versions don't compile, they need to link libGL and libGLU.
+    ; Fixed in this revision.
+    (package
+      (name "openctm")
+      (version (number->string revision))
+      (source
+        (origin
+          (method svn-fetch)
+          (uri
+            (svn-reference
+              (url "https://svn.code.sf.net/p/openctm/code/trunk")
+              (revision revision)))
+          (sha256
+            (base32 "01wb70m48xh5gwhv60a5brv4sxl0i0rh038w32cgnlxn5x86s9f1"))))
+      (build-system gnu-build-system)
+      (native-inputs
+        `(("mesa" ,mesa)
+          ("glu" ,glu)
+          ("glut" ,freeglut)
+          ("gtk" ,gtk+-2)
+          ("pkg-config" ,pkg-config)))
+      (arguments
+        `(#:tests? #f
+          #:phases
+          (modify-phases
+            %standard-phases
+            (replace
+              'configure
+              (lambda* (#:key outputs #:allow-other-keys)
+                (rename-file "Makefile.linux" "Makefile") ; Use linux Makefile
+                (let ((out (assoc-ref outputs "out")))
+                  ; Create output directories
+                  (mkdir-p (string-append out "/lib"))
+                  (mkdir-p (string-append out "/include"))
+                  (mkdir-p (string-append out "/bin"))
+                  ; Fix rpath
+                  (substitute* "tools/Makefile.linux"
+                               (("-rpath,\\.")
+                                (string-append "-rpath," out "/lib/"))
+                               (("\\/usr\\/local")
+                                out))
+                  ; Set right output
+                  (substitute* "Makefile"
+                               (("\\/usr\\/lib")
+                                (string-append out "/lib"))
+                               (("\\/usr\\/local")
+                                out))))))))
+      (synopsis "3D triangle mesh format and related tools and libraries")
+      (description "OpenCTM is a file format, a software library and a tool set
+for compression of 3D triangle meshes.  The geometry is compressed to a
+fraction of comparable file formats (3DS, STL, COLLADA...), and the format is
+accessible through a simple API")
+      (license license:zlib)
+      (home-page "http://openctm.sourceforge.net/"))))
--
2.26.1






Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Fri, 15 May 2020 10:13:01 GMT) Full text and rfc822 format available.

Notification sent to Ekaitz Zarraga <ekaitz <at> elenq.tech>:
bug acknowledged by developer. (Fri, 15 May 2020 10:13:01 GMT) Full text and rfc822 format available.

Message #10 received at 41263-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: 41263-done <at> debbugs.gnu.org
Subject: Re: [bug#41263] [PATCH] gnu: Add openctm
Date: Fri, 15 May 2020 12:12:40 +0200
[Message part 1 (text/plain, inline)]
Hi,

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

>>From 8bbac5bccdb0b2fd5ffa8fe1e2dec25a6a359810 Mon Sep 17 00:00:00 2001
> From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
> Date: Thu, 14 May 2020 16:55:32 +0200
> Subject: [PATCH] gnu: Add openctm
>
>     * gnu/packages/engineering.scm (openctm): New Variable.

Applied with the cosmetic changes below, mostly indentation (consider
running ./etc/indent-code.el as mentioned in the manual).

Thanks!

Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e3e346b1e9..190632436b 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2538,53 +2538,52 @@ official SDK.")
 
 (define-public openctm
   (let ((revision 603))
-    ; Previous versions don't compile, they need to link libGL and libGLU.
-    ; Fixed in this revision.
+    ;; Previous versions don't compile, they need to link libGL and libGLU.
+    ;; Fixed in this revision.
     (package
       (name "openctm")
-      (version (number->string revision))
+      (version (string-append "1.0.3." (number->string revision)))
       (source
-        (origin
-          (method svn-fetch)
-          (uri
-            (svn-reference
-              (url "https://svn.code.sf.net/p/openctm/code/trunk")
-              (revision revision)))
-          (sha256
-            (base32 "01wb70m48xh5gwhv60a5brv4sxl0i0rh038w32cgnlxn5x86s9f1"))))
+       (origin
+         (method svn-fetch)
+         (uri (svn-reference
+               (url "https://svn.code.sf.net/p/openctm/code/trunk")
+               (revision revision)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32 "01wb70m48xh5gwhv60a5brv4sxl0i0rh038w32cgnlxn5x86s9f1"))))
       (build-system gnu-build-system)
       (native-inputs
-        `(("mesa" ,mesa)
-          ("glu" ,glu)
-          ("glut" ,freeglut)
-          ("gtk" ,gtk+-2)
-          ("pkg-config" ,pkg-config)))
+       `(("mesa" ,mesa)
+         ("glu" ,glu)
+         ("glut" ,freeglut)
+         ("gtk" ,gtk+-2)
+         ("pkg-config" ,pkg-config)))
       (arguments
-        `(#:tests? #f
-          #:phases
-          (modify-phases
-            %standard-phases
-            (replace
-              'configure
-              (lambda* (#:key outputs #:allow-other-keys)
-                (rename-file "Makefile.linux" "Makefile") ; Use linux Makefile
-                (let ((out (assoc-ref outputs "out")))
-                  ; Create output directories
-                  (mkdir-p (string-append out "/lib"))
-                  (mkdir-p (string-append out "/include"))
-                  (mkdir-p (string-append out "/bin"))
-                  ; Fix rpath
-                  (substitute* "tools/Makefile.linux"
-                               (("-rpath,\\.")
-                                (string-append "-rpath," out "/lib/"))
-                               (("\\/usr\\/local")
-                                out))
-                  ; Set right output
-                  (substitute* "Makefile"
-                               (("\\/usr\\/lib")
-                                (string-append out "/lib"))
-                               (("\\/usr\\/local")
-                                out))))))))
+       `(#:tests? #f                              ;no tests
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'configure
+             (lambda* (#:key outputs #:allow-other-keys)
+               (rename-file "Makefile.linux" "Makefile")
+               (let ((out (assoc-ref outputs "out")))
+                 ;; Create output directories.
+                 (mkdir-p (string-append out "/lib"))
+                 (mkdir-p (string-append out "/include"))
+                 (mkdir-p (string-append out "/bin"))
+                 ;; Fix rpath.
+                 (substitute* "tools/Makefile.linux"
+                   (("-rpath,\\.")
+                    (string-append "-rpath," out "/lib/"))
+                   (("/usr/local")
+                    out))
+                 ;; Set right output.
+                 (substitute* "Makefile"
+                   (("/usr/lib")
+                    (string-append out "/lib"))
+                   (("\\/usr\\/local")
+                    out))
+                 #t))))))
       (synopsis "3D triangle mesh format and related tools and libraries")
       (description "OpenCTM is a file format, a software library and a tool set
 for compression of 3D triangle meshes.  The geometry is compressed to a

Information forwarded to guix-patches <at> gnu.org:
bug#41263; Package guix-patches. (Fri, 15 May 2020 17:45:02 GMT) Full text and rfc822 format available.

Message #13 received at 41263-done <at> debbugs.gnu.org (full text, mbox):

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "41263-done <at> debbugs.gnu.org" <41263-done <at> debbugs.gnu.org>
Subject: Re: [bug#41263] [PATCH] gnu: Add openctm
Date: Fri, 15 May 2020 17:44:44 +0000
Hi,

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday, May 15, 2020 12:12 PM, Ludovic Courtès <ludo <at> gnu.org> wrote:

> Hi,
>
> Ekaitz Zarraga ekaitz <at> elenq.tech skribis:
>
> > > From 8bbac5bccdb0b2fd5ffa8fe1e2dec25a6a359810 Mon Sep 17 00:00:00 2001
> > > From: Ekaitz Zarraga ekaitz <at> elenq.tech
> > > Date: Thu, 14 May 2020 16:55:32 +0200
> > > Subject: [PATCH] gnu: Add openctm
> >
> >     * gnu/packages/engineering.scm (openctm): New Variable.
> >
>
> Applied with the cosmetic changes below, mostly indentation (consider
> running ./etc/indent-code.el as mentioned in the manual).
>
> Thanks!
>
> Ludo’.

Thanks for the help Ludo (and the motivation!).

I was wondering about if it's worth to separate the package in multiple outputs like: GUI for openctm files, openctm library and so on, as described here:
https://guix.gnu.org/manual/en/html_node/Packages-with-Multiple-Outputs.html#Packages-with-Multiple-Outputs

It has like a `tools` part and a `lib` part I'd say. Does it make sense for this package?
It would avoid using GTK in the library part I think.

I never did this before but looks like an option to reduce the package size (total: 830.2 MiB  reported by guix size O_O).

Opinions?

Thanks!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 13 Jun 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.