This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 753577 - Review Request: gmsh - finite element grid generator
Review Request: gmsh - finite element grid generator
Status: CLOSED DUPLICATE of bug 1111388
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Mukundan Ragavan
Fedora Extras Quality Assurance
:
: 1063525 (view as bug list)
Depends On: 1065541 1065542 1109444 1109490 1109496 1110945
Blocks: FE-Legal
  Show dependency treegraph
 
Reported: 2011-11-13 10:03 EST by Alexey Vasyukov
Modified: 2015-01-12 03:12 EST (History)
14 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-06-19 18:35:51 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
nonamedotc: fedora‑review?


Attachments (Terms of Use)

  None (edit)
Description Alexey Vasyukov 2011-11-13 10:03:31 EST
Spec URL: http://dl.dropbox.com/u/4532412/RPMS/gmsh.spec
SRPM URL: http://dl.dropbox.com/u/4532412/RPMS/gmsh-2.5.0-4.fc16.src.rpm

Description:
Gmsh is a 3D finite element grid generator with a build-in CAD engine
and post-processor. Gmsh is built around four modules: geometry, mesh, 
solver and post-processing. Gmsh has GUI and CLI and can be used as a 
library for 3rd party programs.


Hi folks, I've packaged Gmsh and need a review.

This is my first package, so I need a sponsor.

I did my best to meet Fedora packaging guidelines, but would really appreciate detailed review. The main question I'd like to advice about - how to split gmsh into subpackages correctly.

Gmsh is organized like this:
- Separate binary that needs nothing to run properly
- Shared library that is required for linking 3rd party programs only
- Headers, demos, tutorials

I decided to split it this way:
- gmsh package with binary
- gmsh-libs with shared libraries
- gmsh-devel with headers and symlinks to so-files, it requires gmsh-libs (not gmsh)
- gmsh-demos with tutorials and so on
Does it look reasonable? rpmlint has nothing against it, but I'd really appreciate human advice.
Comment 1 Dan Horák 2011-11-14 03:49:23 EST
few notes
- system copy of the ANN library (from the ann package) must be used instead of the copy in contrib/ANN
- sources contains mpeg encoder which is a patented thing
- contrib/tetgen contains a non-commercial only clause
- the contrib dir contains stuff that could/should exists as separate packages
Comment 2 Alexey Vasyukov 2011-11-14 04:04:10 EST
Dan, many thanks for comments.

> - system copy of the ANN library (from the ann package)
> must be used instead of the copy in contrib/ANN

Ok. I'll work on it.

> - sources contains mpeg encoder which is a patented thing

Ok. Got the issue. I'll just remove mpeg - it does not affect core functionality.

> - contrib/tetgen contains a non-commercial only clause

Metis has also similar non-commercial only clause. I disabled them both in CMake configure. Is it not enough? Should I remove them completely from sources?

> - the contrib dir contains stuff that could/should exists as separate packages

Ok. I'll re-check it. Could you advice which packages require attention?
Comment 3 Alexey Vasyukov 2011-11-14 17:40:23 EST
I wrote patches and made some changes to Spec.

Regarding the issues mentioned:
- ANN library - fixed by patch, using system ANN now
- MPEG - disabled just as Tetgen and Metis

Regarding contrib directory. It contains:
- ANN - unmodified ANN - replaced with system copy of ANN
- bamg - modified bamg
- Chaco - modified Chaco
- DiscreteIntegration - separate sub-module of Gmsh itself
- Fl_Tree - modified Fl_Tree widget for FLTK UI
- gmm - unmodified GMM - replaced with system copy of GMM
- kbipack - separate sub-module of Gmsh itself
- MathEx - unmodified MathEx, part of SSCILIB - Fedora does not ship SSCILIB
- Metis - disabled in our build
- mpeg_encode - disabled in our build
- NativeFileChooser - modified NativeFileChooser widget for FLTK UI
- Netgen - modified Netgen
- Tetgen - disabled in our build

Contrib dir summary:
- ANN, gmm - replaced with system copies
- Metis, mpeg_encode, Tetgen - disabled
- DiscreteIntegration, kbipack - sub-modules of Gmsh itself
- bamg, Chaco, Fl_Tree, NativeFileChooser, Netgen - modified, derived works
- MathEx - unmodified, not in Fedora


New spec: http://dl.dropbox.com/u/4532412/RPMS/gmsh.spec
New SRPM: http://dl.dropbox.com/u/4532412/RPMS/gmsh-2.5.0-5.fc16.src.rpm

Summary of changes:
* Mon Nov 14 2011 Alexey Vasyukov <vasyukov@gmail.com> - 2.5.0-5
- Disable MPEG support because of patent issues
- Add patch to use system ANN instead of built-in one
- Add patch to use system GMM instead of built-in one
- Update CMake soname patch to avoid hardcoded numbers

+ rpmlint output (incorrect-fsf-address, spurious-executable-perm, shared-lib-calls-exit) reported upstream


The questions:

#1 There are 3 'bad' components - MPEG with patent issues plus Tetgen and Metis with non-commercial only clause. I disabled them now with CMake options. Is it enough or should I remove support for them completely from sources?

#2 How to deal with contrib dir correctly? I guess, I should package MathEx (SSCILIB) separately and leave derived works (dirs bamg/, Chaco/, Fl_Tree/, NativeFileChooser/, Netgen/) in contribs. Is it so?

Any comments and/or suggestions?
Comment 4 T.C. Hollingsworth 2011-12-20 09:59:51 EST
(In reply to comment #3)
> #1 There are 3 'bad' components - MPEG with patent issues plus Tetgen and Metis
> with non-commercial only clause. I disabled them now with CMake options. Is it
> enough or should I remove support for them completely from sources?

Yes.  See http://fedoraproject.org/wiki/Packaging:SourceURL#When_Upstream_uses_Prohibited_Code

> #2 How to deal with contrib dir correctly? I guess, I should package MathEx
> (SSCILIB) separately and leave derived works (dirs bamg/, Chaco/, Fl_Tree/,
> NativeFileChooser/, Netgen/) in contribs. Is it so?

You would need exceptions from the Fedora Packaging Committee if you cannot remove these.  See:
https://fedoraproject.org/wiki/No_Bundled_Libraries
Comment 5 Alexey Vasyukov 2011-12-21 01:04:39 EST
(In reply to comment #4)
> Yes.  See
> http://fedoraproject.org/wiki/Packaging:SourceURL#When_Upstream_uses_Prohibited_Code
>

Got it. Many thanks, I didn't find this page myself. I'll address the issue asap.

> You would need exceptions from the Fedora Packaging Committee if you cannot
> remove these.  See:
> https://fedoraproject.org/wiki/No_Bundled_Libraries

General idea is clear, but I am not sure if we can apply these recommendations directly. I'll double check the code in contrib trying to follow these guidelines as close as possible and come back with fix proposal.
Comment 6 Jason Tibbitts 2012-06-29 16:24:52 EDT
It's been six months; was there ever any progress here?
Comment 7 Alexey Vasyukov 2012-07-03 02:55:59 EDT
Hi all. Summary for both remaining issues:

1. Prohibited code

Solved as recommended on http://fedoraproject.org/wiki/Packaging:SourceURL#When_Upstream_uses_Prohibited_Code

Script: https://dl.dropbox.com/u/4532412/RPMS/gmsh-generate-tarball.sh
Updated spec: https://dl.dropbox.com/u/4532412/RPMS/gmsh.spec

2. Bundled libs

The situation is not clear. Gmsh contains bamg, Chaco, Fl_Tree, NativeFileChooser and Netgen. However, they are significantly modified to work with gmsh code. I'd say, mathematical algorithms implementations are copied but their usage and interfaces are changed.

So, there is no option to create simple patch to replace these libs with system copies as I did for ANN and gmm. It will require deep modification of gmsh itself.

Any ideas how we should address it?
Comment 8 Jason Tibbitts 2012-07-03 11:48:40 EDT
You can request a bundling exemption from the packaging committee if you like.  http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Exceptions has the details.  Be sure to answer all of the relevant questions in as much detail as possible.  We'll pretty much reject requests out of hand if they don't include enough detail.
Comment 9 Jason Tibbitts 2012-08-18 12:23:14 EDT
Haven't seen a bundling request filed yet.
Comment 10 Andre Massing 2012-10-20 09:24:35 EDT
Hi there! 

Is anybody working on this package atm? I picked up the spec amd SPRM files from comment 3 and 7 and started to integrate the latest release of gmsh. It would be nice to work together on the package to get it accepted in fedora. However, if nobody else is interested in this package any more, I would like to pick it up and to proceed further and ask for a bundle exception and for reopening/continuing the review process.

Cheers
Andre
Comment 11 Alexey Vasyukov 2012-10-20 14:55:44 EDT
Hello Andre.

I tried to build gmsh 2.6.1 recently. Summary:
- It mostly works
- Patches 1-3 should be updated to work with new sources. It is important since these patches make gmsh to use systems copies of ANN and GMM.

Plus additionally this one-liner is required to detemine libdir correctly:

--- gmsh-2.5.0-source/CMakeLists.txt.old        2012-10-17 12:47:11.010138601 +0400
+++ gmsh-2.5.0-source/CMakeLists.txt    2012-10-17 12:47:38.149134433 +0400
@@ -976,7 +976,7 @@
 # mark targets as optional so we can install them separately if needed
 # (e.g. "make lib" or "make shared" followed by "make install/fast")
 install(TARGETS gmsh DESTINATION ${GMSH_BIN} OPTIONAL)
-install(TARGETS lib shared DESTINATION lib OPTIONAL)
+install(TARGETS lib shared DESTINATION ${LIB_INSTALL_DIR} OPTIONAL)
 install(FILES ${GMSH_API} DESTINATION include/gmsh)
 install(FILES ${WELCOME_FILE} DESTINATION ${GMSH_DOC} RENAME README.txt)
 install(FILES ${LICENSE_FILE} DESTINATION ${GMSH_DOC})

I can update patches and spec in few days. I just need to test them reasonably.

If you can review the sources in contrib/* in details - it would be great. My current understanding is that there is no option to use system copies of libs. However, may be smth changed in gmsh 2.6 compared with 2.5. I havn't looked into sources of 2.6 that detailed.

Regards,
Alexey
Comment 12 Alexey Vasyukov 2012-10-20 15:46:02 EDT
I checked contrib/ for gmsh 2.6. In addition to modules described in https://bugzilla.redhat.com/show_bug.cgi?id=753577#c3 there are few new ones to review. We need to check (a) the license, (b) if we can/should replace them with system copies of the libraries.

1. blossom/

It contains the source code for concorde97 and MATCH (which contains the Blossom IV code)

Cite from original README.txt:
> As a special exception granted by Prof. Bill Cook, the code in this
> directory can be used within the Gmsh system for both academic and
> non-academic use. Note that this exception to the standard license is
> granted only for use within the Gmsh system: see the original email
> exchange below:
[skip]

2. HighOrderMeshOptimizer/

Looks like it a separate module of gmsh itself. Need to double-check it.

3. lbfgs/

Some sources from ALGLIB project - http://www.alglib.net/

4. mmg3d/

MMG3D from http://www.math.u-bordeaux1.fr/~cdobrzyn/logiciels/mmg3d.php

5. rtree/

One header with C++ templated RTree implementation.

6. Salome/

Few source files extracted from Salome sources

7. voro++/

3rd party library - http://math.lbl.gov/voro++/
Comment 13 T.C. Hollingsworth 2012-10-21 00:02:19 EDT
(In reply to comment #12)
> 1. blossom/
> 
> It contains the source code for concorde97 and MATCH (which contains the
> Blossom IV code)
> 
> Cite from original README.txt:
<snip license text>

This license appears to be non-free. Blocking FE-LEGAL for guidance.

Is this library absolutely required to use this software?

> 5. rtree/
> 
> One header with C++ templated RTree implementation.

This might fall under the copylib exception.
Comment 14 Alexey Vasyukov 2012-10-21 05:19:44 EDT
> > 1. blossom/
[snip]
> This license appears to be non-free. Blocking FE-LEGAL for guidance.

Exactly

> 
> Is this library absolutely required to use this software?
> 

I guess not. Most probably, we can just remove it together with MPEG, Tetgen and Metis (see https://bugzilla.redhat.com/show_bug.cgi?id=753577#c3)

I'll check it live asap. 

> > 5. rtree/
> > 
> > One header with C++ templated RTree implementation.
> 
> This might fall under the copylib exception.

Ok
Comment 15 Andre Massing 2012-10-21 07:30:54 EDT
(In reply to comment #11)

Hi Alexey!

> Hello Andre.
> 
> I tried to build gmsh 2.6.1 recently. Summary:
> - It mostly works
> - Patches 1-3 should be updated to work with new sources. It is important
> since these patches make gmsh to use systems copies of ANN and GMM.

I already worked a little bit on your patches earlier this week and adapted them to gmsh 2.6.1, which required only a few modifications. If you want, you can download them from

http://dl.dropbox.com/u/28662456/gmsh-cmake-soname.patch
http://dl.dropbox.com/u/28662456/gmsh-api-demo-pathes.patch
http://dl.dropbox.com/u/28662456/gmsh-use-system-ann.patch
http://dl.dropbox.com/u/28662456/gmsh-use-system-gmm.patch

But I only adapted them and did not recreate them so the 
time stamps and source paths in the patch header are still 
the old one. Not sure whether this is okay or whether some
"patch policy" requires recreation against the new source directory? 

> 
> Plus additionally this one-liner is required to detemine libdir correctly:
> 
> --- gmsh-2.5.0-source/CMakeLists.txt.old        2012-10-17
> 12:47:11.010138601 +0400
> +++ gmsh-2.5.0-source/CMakeLists.txt    2012-10-17 12:47:38.149134433 +0400
> @@ -976,7 +976,7 @@
>  # mark targets as optional so we can install them separately if needed
>  # (e.g. "make lib" or "make shared" followed by "make install/fast")
>  install(TARGETS gmsh DESTINATION ${GMSH_BIN} OPTIONAL)
> -install(TARGETS lib shared DESTINATION lib OPTIONAL)
> +install(TARGETS lib shared DESTINATION ${LIB_INSTALL_DIR} OPTIONAL)
>  install(FILES ${GMSH_API} DESTINATION include/gmsh)
>  install(FILES ${WELCOME_FILE} DESTINATION ${GMSH_DOC} RENAME README.txt)
>  install(FILES ${LICENSE_FILE} DESTINATION ${GMSH_DOC})

Ah, great, I stumbled about the wrong LIB_INSTALL_DIR yesterday.

> 
> I can update patches and spec in few days. I just need to test them
> reasonably.
> 
> If you can review the sources in contrib/* in details - it would be great.
> My current understanding is that there is no option to use system copies of
> libs. However, may be smth changed in gmsh 2.6 compared with 2.5. I havn't
> looked into sources of 2.6 that detailed.

I will have a look at it today.
Best,
Andre
Comment 16 Andre Massing 2012-10-21 09:01:31 EDT
Hi!

Just for your information, I updated gmsh-cmake-soname.patch in my public dropbox folder. Your LIB_INSTALL_DIR related line was added and I renamed the static library name as well (just for consistency).

When I tried to run it I had to modify the cmake command in the spec file by adding the LIB_INSTALL_DIR variable resulting in the following cmake call

cmake . \
      -DCMAKE_C_FLAGS:STRING="%{optflags}" \
      -DCMAKE_CXX_FLAGS:STRING="%{optflags}" \
      -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
      -DLIB_INSTALL_DIR:PATH=%{_libdir} 

Otherwise the LIB_INSTALL_DIR variable was empty and I got at
CMake Error at CMakeLists.txt:1161 (install):
  install TARGETS given no ARCHIVE DESTINATION for static library target
  "lib".

Cheers,
Andre
Comment 17 Andre Massing 2012-10-21 16:25:59 EDT
(In reply to comment #12)

Hi Alexey!
I had a look at the newly added contrib section you posted in comment #12,
here is a short summary of my "investigations":

> I checked contrib/ for gmsh 2.6. In addition to modules described in
> https://bugzilla.redhat.com/show_bug.cgi?id=753577#c3 there are few new ones
> to review. We need to check (a) the license, (b) if we can/should replace
> them with system copies of the libraries.
> 
> 1. blossom/

As remarked in 

https://bugzilla.redhat.com/show_bug.cgi?id=753577#c13

this appears to be non-free. I could build the gmsh rpm with 
-DCMAKE_ENABLE_BLOSSOM:BOOL="OFF".

> 
> 2. HighOrderMeshOptimizer/
> 
> Looks like it a separate module of gmsh itself. Need to double-check it.

We should probably ask upstream :)

> 
> 3. lbfgs/
> 
> Some sources from ALGLIB project - http://www.alglib.net/

License is GPLv2+ according to
http://www.alglib.net/download.php

> 
> 4. mmg3d/
> 
> MMG3D from http://www.math.u-bordeaux1.fr/~cdobrzyn/logiciels/mmg3d.php

This is licensed under GPLv3 according to
http://www.math.u-bordeaux1.fr/~cdobrzyn/logiciels/download/LICENCE.txt

> 
> 5. rtree/
> 
> One header with C++ templated RTree implementation.
> 
> 6. Salome/
> 
> Few source files extracted from Salome sources

LGPLv2 according to 
http://www.salome-platform.org/downloads/license 

> 
> 7. voro++/
> 
> 3rd party library - http://math.lbl.gov/voro++/

http://math.lbl.gov/voro++/download/

Modified BSD (http://math.lbl.gov/voro++/download/). The license text  is also
part of the gmsh/contrib/voro++ source. 

The voro++ source in gmsh is pristine voro++ 0.4.4 plus one tiny bug fix according to a diff I did. Newest upstream  of voro++ is 0.4.5 including this patch.

So some possible actions
- remove blossom
- clarify HighOrderMeshOptimizer is part of gmsh
- check whether lbfgs, Salome and mmg3d are modified and if not 
  what to do about it (bundling vs. packaging) since the sources are not  
  available as packages in fedora(AFAIK). 

What do you think? Are there any more actions need to be taken?
I will write upstream and ask about these contrib sources in gmsh. 

Cheers,
Andre
Comment 18 Alexey Vasyukov 2012-10-21 16:38:13 EDT
Hello Andre.

Action plan looks absolutely reasonable for me.

We are to update this script as well - https://dl.dropbox.com/u/4532412/RPMS/gmsh-generate-tarball.sh According with http://fedoraproject.org/wiki/Packaging:SourceURL#When_Upstream_uses_Prohibited_Code we need to remove blossom completely, not just disable it.

And in theory we need to package libs from contrib/ separately. :-)

Regards,
Alexey
Comment 19 Tom "spot" Callaway 2012-10-22 09:36:54 EDT
As noted previously, the Blossom license is non-free due to the use restriction. It is unclear whether that restriction also applies to distribution outside of a gmsh context, and since there is already infrastructure setup to remove other code bits, please also remove the Blossom code from the gmsh source.
Comment 20 Andre Massing 2012-10-30 16:18:18 EDT
Hi!

A small update on the contrib sources after being in contact with upstream:

- HighOrderMeshOptimizer 
  gmsh module under heavy development, license has not been chosen yet.

- lbfgs: same code as upstream

- mmg3d: basically same code as upstream with few patches to make  it compile on Windows/Mac. Guess we don't need these ones :)

- Salome: modified to make it compile with open cascade. Patches might be incorporated already in the Salome sources. But what about license of open cascade? I can find it only in the rpmfusion non-free repo, probably for a reason?

And FYI, here is a citation of the upstream reply to whether gmesh functionality will be severely reduced by not linking against open cascade:
"Yes: not linking with opencascade means that Gmsh will not be able to import CAD models in STEP, IGES or BRep formats."

Best,
Andre
Comment 21 T.C. Hollingsworth 2012-11-04 00:38:51 EDT
(In reply to comment #20)
> Hi!
> 
> A small update on the contrib sources after being in contact with upstream:
> 
> - HighOrderMeshOptimizer 
>   gmsh module under heavy development, license has not been chosen yet.

This may be acceptable since they have the same upstream and upstream doesn't intend for it to be a shared library.  They will, of course, need to select a license acceptable for Fedora first, though.  ;-)

> - lbfgs: same code as upstream
> 
> - mmg3d: basically same code as upstream with few patches to make  it
> compile on Windows/Mac. Guess we don't need these ones :)

These need to be packaged separately and gmsh patched to use the shared libraries then.

> - Salome: modified to make it compile with open cascade. Patches might be
> incorporated already in the Salome sources. But what about license of open
> cascade? I can find it only in the rpmfusion non-free repo, probably for a
> reason?

OpenCASCADE's non-freeness is described in detail here:
http://lists.fedoraproject.org/pipermail/legal/2011-September/001713.html

> And FYI, here is a citation of the upstream reply to whether gmesh
> functionality will be severely reduced by not linking against open cascade:
> "Yes: not linking with opencascade means that Gmsh will not be able to
> import CAD models in STEP, IGES or BRep formats."

Hmm, gmsh might do better in rpmfusion-nonfree then.  If gmsh will have to be stripped down so much to be useless to most end users, there's really no point in shipping it in Fedora proper.

Note that the bundled library policy still applies over at RPMFusion, so that will still need to be resolved.
Comment 22 Bruno Postle 2014-01-09 17:11:08 EST
(In reply to T.C. Hollingsworth from comment #21)
> 
> OpenCASCADE's non-freeness is described in detail here:
> http://lists.fedoraproject.org/pipermail/legal/2011-September/001713.html
> 
> > And FYI, here is a citation of the upstream reply to whether gmesh
> > functionality will be severely reduced by not linking against open cascade:
> > "Yes: not linking with opencascade means that Gmsh will not be able to
> > import CAD models in STEP, IGES or BRep formats."
> 
> Hmm, gmsh might do better in rpmfusion-nonfree then.  If gmsh will have to
> be stripped down so much to be useless to most end users, there's really no
> point in shipping it in Fedora proper.

Note that Open CASCADE has recently been relicenced as LGPL: http://www.opencascade.org/getocc/download/loadocc/
Comment 23 Alexey Vasyukov 2014-01-09 18:16:37 EST
(In reply to Bruno Postle from comment #22)
[skip]
> Note that Open CASCADE has recently been relicenced as LGPL:
> http://www.opencascade.org/getocc/download/loadocc/

Yes, and that's really good. As far as I understand, Eric Smith is going to package OpenCASCADE for Fedora - http://thread.gmane.org/gmane.linux.redhat.fedora.legal/2090

So, we can review other issues and update their status. If nothing bad (from legal point of view) happened recently with gmsh, we have only technical issues to work on. (Plus wait until OpenCASCADE becomes available in Fedora repos.)

I'll try to review the latest gmsh upstream sources in the next few days.
Comment 24 Christopher Meng 2014-02-10 21:43:03 EST
*** Bug 1063525 has been marked as a duplicate of this bug. ***
Comment 25 Alexey Vasyukov 2014-02-14 17:05:59 EST
As agreed with Mukundan (nonamedotc on FAS) I'm posting here a complete list of current modules in contrib/ and their status. I skip the modules that should be removed completely due to patent issues. Hopefully, this post will make current status clear for everybody who may be interested in gmsh in Fedora.

Already in Fedora:
* ANN (patches for using system ANN already accepted by gmsh upstream)
* gmm (patches for using system gmm already accepted by gmsh upstream)

Unmodified compared with upstream, not in Fedora, just should be packaged separately:
* mmg3d  (see https://bugzilla.redhat.com/show_bug.cgi?id=1065541)
* MathEx
* lbfgs
* voro++ (see https://bugzilla.redhat.com/show_bug.cgi?id=1065542)

Modified compared with upstream, should be investigated:
* bamg
* Chaco
* Netgen

Most probably, sub-modules of gmsh, need to double check it:
* DiscreteIntegration
* kbipack
* mobile
* onelab

Few source files extracted from third-party projects, should be investigated:
* rtree
* Salome
Comment 26 Sandro Mani 2014-06-14 12:38:25 EDT
Here is a working package:

Spec URL: http://smani.fedorapeople.org/review/gmsh.spec
SRPM URL: http://smani.fedorapeople.org/review/gmsh-2.8.4-1.fc21.src.rpm


Everything in contrib was unbundled except for:
- Bamg: part of freefem++, modified source code
- Chaco: http://www.cs.sandia.gov/~bahendr/chaco.html - no fedora package, modified source code, see contrib/Chaco/README.txt
- DiscreteIntegration: gmsh internal module
- HighOrderMeshOptimizer: gmsh internal module
- kbipack: Source not available on the net anymore
- onelab: gmsh internal module
- rtree: single header file from http://superliminal.com/sources/sources.htm

The only one which could realistically also be unbundled is Bamg I suppose, but that would require the freefem++ package to be reworked to ship the bamg headers. (The freefem++ package should probably get reworked anyways since many of the features disabled in that package can now be enabled since the packages have since been included in Fedora, or are about to be).
Comment 27 Dave Love 2014-06-19 12:45:21 EDT
Is there a good reason not to build with MPI support?

Also it's probably worth building a non-graphical version for batch running on
cluster nodes which may not have the libraries.
Comment 28 Sandro Mani 2014-06-19 13:54:32 EDT
> Is there a good reason not to build with MPI support?
Indeed, why not.

> Also it's probably worth building a non-graphical version for batch running on
cluster nodes which may not have the libraries.
Could be an idea. I'd need to check whether the the same gmsh library can be used by the gui and non-gui variants of the executable. An other option would be to have the user write some appropriate custom code and use the gmsh library directly for such cases.
Comment 29 Sandro Mani 2014-06-19 17:07:14 EDT
Spec URL: http://smani.fedorapeople.org/review/gmsh.spec
SRPM URL: http://smani.fedorapeople.org/review/gmsh-2.8.4-2.fc21.src.rpm

%changelog
* Thu Jun 19 2014 Sandro Mani <manisandro@gmail.com> - 2.8.3-2
- Link executable against library
- Compile with mpi support
Comment 30 Mukundan Ragavan 2014-06-19 18:27:42 EDT
I will take this.
Comment 31 Mukundan Ragavan 2014-06-19 18:28:40 EDT
Blocks: 177841 --- Is this still the case?
Comment 32 Sandro Mani 2014-06-19 18:32:24 EDT
Not if I take over, though probably should open a new bug and close this one as duplicate... Will do in a sec.
Comment 33 Sandro Mani 2014-06-19 18:35:51 EDT

*** This bug has been marked as a duplicate of bug 1111388 ***
Comment 34 Dave Love 2014-06-23 09:17:38 EDT
(In reply to Sandro Mani from comment #28)
> Could be an idea. I'd need to check whether the the same gmsh library can be
> used by the gui and non-gui variants of the executable. An other option
> would be to have the user write some appropriate custom code and use the
> gmsh library directly for such cases.

FWIW, the doc has an example of running in batch somewhere.
Comment 35 Parag AN(पराग) 2015-01-12 03:12:19 EST
Removing FE-NEEDSPONSOR from the closed review tickets.

Note You need to log in before you can comment on or make changes to this bug.