[PATCH] gnu: Add openctm

DoneSubmitted by Ekaitz Zarraga.
Details
2 participants
  • Ekaitz Zarraga
  • Ludovic Courtès
Owner
unassigned
Severity
normal
E
E
Ekaitz Zarraga wrote on 14 May 17:01 +0200
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
bKZAOAq-6m4jrMZ2n9srov0UyzxMkvTsXGb-uYqvZ5MeRohC6CuHxbVgysKWrjPVFlXLivv8y_z6m2NdHLRyEAQTW3lBaRybgx9p1Kj29RE=@elenq.tech
Hi,
Adding OpenCTM as discussed here:
https://issues.guix.gnu.org/issue/40492
Regards,Ekaitz---
From 8bbac5bccdb0b2fd5ffa8fe1e2dec25a6a359810 Mon Sep 17 00:00:00 2001From: Ekaitz Zarraga <ekaitz@elenq.tech>Date: Thu, 14 May 2020 16:55:32 +0200Subject: [PATCH] gnu: Add openctm
* gnu/packages/engineering.scm (openctm): New Variable.--- gnu/packages/engineering.scm | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+)
Toggle diff (81 lines)diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scmindex 172f8481eb..e3e346b1e9 100644--- a/gnu/packages/engineering.scm+++ b/gnu/packages/engineering.scm@@ -17,6 +17,7 @@ ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>+;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@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
L
L
Ludovic Courtès wrote on 15 May 12:12 +0200
(name . Ekaitz Zarraga)(address . ekaitz@elenq.tech)(address . 41263-done@debbugs.gnu.org)
87eerltskn.fsf@gnu.org
Hi,
Ekaitz Zarraga <ekaitz@elenq.tech> skribis:
Toggle quote (7 lines)>>From 8bbac5bccdb0b2fd5ffa8fe1e2dec25a6a359810 Mon Sep 17 00:00:00 2001> From: Ekaitz Zarraga <ekaitz@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 (considerrunning ./etc/indent-code.el as mentioned in the manual).
Thanks!
Ludo’.
Toggle diff (98 lines)diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scmindex 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
Closed
E
E
Ekaitz Zarraga wrote on 15 May 19:44 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)(name . 41263-done@debbugs.gnu.org)(address . 41263-done@debbugs.gnu.org)
VcHHTIcvlf4MhOrQVfQrQcIEVdEK8845BDK0xS5IcKke98TZ76Hnas2lS0GORkZnk9J-ypB_G95dXI4xOKd5l4zZK87ar6C1yoQCUjTNhb0=@elenq.tech
Hi,
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐On Friday, May 15, 2020 12:12 PM, Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (19 lines)> Hi,>> Ekaitz Zarraga ekaitz@elenq.tech skribis:>> > > From 8bbac5bccdb0b2fd5ffa8fe1e2dec25a6a359810 Mon Sep 17 00:00:00 2001> > > From: Ekaitz Zarraga ekaitz@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!
Closed
?