-
Notifications
You must be signed in to change notification settings - Fork 2
[ENH][packages/slicer] Introduce external packages #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
To minimise Slicer's footprint, packages should be installed separately. This is currently not implemented, and as a temporary solution packages are instead symlinked to Slicer's source tree. This patch uses Plots as an example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@asiangoldfish, modularity is one of the key selling points of SystoleOS, and also one of the most difficult to implement. This PR delivers on the most simple approach we discussed last week (modularity can be achieved by developers tweaking the package. e.g., commenting out, adding modules to the slicer pacakge).
@asiangoldfish, please add to this PR an external module. The one that will be immediately useful to us is the OpenIGTLinkIF
. This could also help for testing of your external modules approach.
guix-systole/packages/slicer.scm
Outdated
;; ----------------------------------------------------------------------------- | ||
;; Slicer Core Modules | ||
;; ----------------------------------------------------------------------------- | ||
(define slicer-plots |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this won't lead to a binary installation, I would call this slicer-plots-src
Progress up to this point tracked in SystoleOS/guix-systole#52
Progress up to this point tracked in SystoleOS/guix-systole#52
@RafaelPalomar After symlinking OpenIGTLinkIF to Slicer's source tree, I noticed that OpenIGTLinkIO is required as build input. This project uses Error log:
A snippet from igtlioCircularSectionBuffer.cxx: // VTK includes
#include "igtlioCircularSectionBuffer.h"
#include <vtkObjectFactory.h>
#include <vtkMutexLock.h>
#include <vtksys/SystemTools.hxx> |
@asiangoldfish Similar errors regarding vtkMutexLock were a recurring thing in the IGSIO package. You may want to look at how I patched it in https://github.com/SystoleOS/guix-systole/blob/SCRUM-112-Build-PlusToolkit/guix-systole/packages/patches/0024-BUG-packages-igsio-replace-mutex-lock.patch. |
@RafaelPalomar Hi. In commit facba45 I get the following error:
I would think that linking against Slicer's |
@asiangoldfish, have a look a some of the patches for some of the "heavily" modified extensions in the gentoo-overlay. I remember having to add include and link dirs, etc. in some. I can think of: https://github.com/SystoleOS/gentoo-overlay/blob/master/Slicer-Extension/SlicerIGSIO/files/0001-ENH-Port-SlicerIGSIO-to-Systole-Slicer.patch |
@RafaelPalomar Do you remember if you encountered errors related to DCMTK? Example:
In commit 3143a36 I used |
025c95e
to
3143a36
Compare
To minimise Slicer's footprint, packages should be installed separately. This is currently not implemented, and as a temporary solution packages are instead symlinked to Slicer's source tree. This patch uses Plots as an example.