guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add opencascade-oce


From: Paul Garlick
Subject: Re: [PATCH] gnu: Add opencascade-oce
Date: Thu, 26 Jan 2017 16:01:50 +0000

On Sat, 2017-01-21 at 16:13 +0100, Ludovic Courtès wrote:
Marius Bakke <address@hidden> skribis:

Paul Garlick <address@hidden> writes:
[...]
Libtool and file should likely be native-inputs, not sure about the others. Could you check whether they are required and send an updated patch?
‘file’ is already an implicit input, so I’m not why it needs to be added (perhaps OpenCascade depends on libmagic?). As for Libtool, I wonder why it is needed at all, especially given that OpenCascade is built with CMake. Ludo’.

Hi Marius and Ludo,

Thank you for your comments.  I have checked the dependencies and here are the results:

ftgl: not needed
qt: not needed
libtool: not needed
file: not needed
tcl: required by the DRAW test harness
tk: required by the DRAW test harness

I have amended the patch to remove the extra dependencies.  The public domain licence information is now included.  

Also, there is an extra configuration flag required to successfully build the DRAW libraries and executable.  The '-UCMAKE_INSTALL_RPATH' flag is required for the validate-runpath stage to succeed.  This is to do with the way the global variable is initialized.  There is a distinction in CMake between lists and strings, which was new to me so I will document it here.  
Essentially, if a variable is initialized as a single string it cannot subsequently be overriden by a list of strings.  The cmake instructions in OpenCascade (in adm/cmake/BuildToolKit.cmake) attempt to do this at the install stage.  The DRAW harness needs a RUNPATH including both .../lib and .../lib/oce-0.17.  With the standard definition of CMAKE_INSTALL_RPATH (from cmake-build-system.scm) the substitution of the INSTALL_RPATH property only includes the first string.  Consequently, the validate-runpath phase fails (error: library ... not in RUNPATH ...).  The configuration flag -UCMAKE_INSTALL_RPATH unsets the global variable and allows the opencascade cmake rules to do the work instead, setting the RUNPATH correctly for each target.

On the subject of the 0.18 version, perhaps this could be the subject of a separate patch.  There could be an argument to just update in the normal way (instead of having two packages at once).  The issue is related to the hardware requirements of recent versions of OpenGL.  It is useful to start with 0.17 as this imposes the least restriction on older graphics card.  I can do some testing on the new version, later on, to determine how important this is.

The amended patch is attached.

Best,

Paul.

Attachment: 0001-gnu-Add-opencascade-oce.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]