aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-misc/salome-smesh')
-rw-r--r--sci-misc/salome-smesh/Changelog7
-rw-r--r--sci-misc/salome-smesh/Manifest5
-rw-r--r--sci-misc/salome-smesh/files/salome-smesh-3.2.6.patch196
-rw-r--r--sci-misc/salome-smesh/files/salome-smesh-3.2.6_makefiles.patch39
-rw-r--r--sci-misc/salome-smesh/salome-smesh-3.2.6.ebuild151
5 files changed, 398 insertions, 0 deletions
diff --git a/sci-misc/salome-smesh/Changelog b/sci-misc/salome-smesh/Changelog
new file mode 100644
index 000000000..e34f69dd6
--- /dev/null
+++ b/sci-misc/salome-smesh/Changelog
@@ -0,0 +1,7 @@
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+21 May 2008; Daniel Tourde <daniel.tourde@caelae.se>
+ Initial import.
+ +salome-smesh-3.2.6.ebuild, +salome-smesh-3.2.6.patch, +salome-smesh-3.2.6_makefiles.patch
+ A major thank to Francois Dorin <f.dorin@free.fr>, Jon Hood <squinky86@gmail.com>, Dewald Pietersen <dewald.pieterse@gmail.com>, <etienne.lorriaux@gmail.com> and Richard Westwell <garlicbread@ntlworld.com> for their respective contributions and feedback. Without you guys, the Salome ebuilds would not exist today. Thanks!
+ See bug #155974 for more info \ No newline at end of file
diff --git a/sci-misc/salome-smesh/Manifest b/sci-misc/salome-smesh/Manifest
new file mode 100644
index 000000000..ba66e1bf8
--- /dev/null
+++ b/sci-misc/salome-smesh/Manifest
@@ -0,0 +1,5 @@
+AUX salome-smesh-3.2.6.patch 10793 RMD160 fa4f8e8db86d6d7d2ecc6b535467c6bd16ac9fe5 SHA1 79cb4dd4370a94f309b4f55da5333584362f5c2f SHA256 0e599d64bf2f22b033cb4fcfb59a06c1e4f7ea41a859518a6ab8d691bec104b2
+AUX salome-smesh-3.2.6_makefiles.patch 1289 RMD160 acb8f3382726b42e149a6c33b561772ea0d91ca6 SHA1 8452437b52bec4879de5a1e245547df919bf1301 SHA256 68a416ec2279ce13e7879a7ec8dcf8e5881efbef45e0433aac4201c539297ab7
+DIST salome-3.2.6.tar.gz 88763725 RMD160 0a0b77aa538832265416605bf502df9e790b45b7 SHA1 e4736b8431d3a4f43541e09eed861f88a2a2f439 SHA256 1f4ae59538675242b179fa2af9bf9adeffe87c8d80d3e6798bca03eafc0bb258
+EBUILD salome-smesh-3.2.6.ebuild 4241 RMD160 6faba70605ad3c55293b931993b14df77ec2f9e5 SHA1 0d47e58259a0b2622096e833cd72e869e61b266c SHA256 7ee70b8e208f89fd86b8fea9b445d3f060fb7480cc389d27733840f56fd48f81
+MISC Changelog 603 RMD160 bca33a87b9f9a64f6490afeb25e88345fe91f351 SHA1 8c4ceb703bf6131fcd892b160c6c51fc5547bdbe SHA256 07373bd7ecfa59bf3ff7bbfefb36d6b4328e621e2e139c9963b55ec92c0da115
diff --git a/sci-misc/salome-smesh/files/salome-smesh-3.2.6.patch b/sci-misc/salome-smesh/files/salome-smesh-3.2.6.patch
new file mode 100644
index 000000000..14e245be2
--- /dev/null
+++ b/sci-misc/salome-smesh/files/salome-smesh-3.2.6.patch
@@ -0,0 +1,196 @@
+Seulement dans src3.2.6: build
+Seulement dans src3.2.6/SMESH_SRC_3.2.6: aclocal.m4
+Seulement dans src3.2.6/SMESH_SRC_3.2.6: autom4te.cache
+Seulement dans src3.2.6/SMESH_SRC_3.2.6: configure
+Seulement dans src3.2.6/SMESH_SRC_3.2.6: configure.in
+Seulement dans src3.2.6/SMESH_SRC_3.2.6: salome_adm
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/OBJECT/SMESH_Actor.cxx src3.2.6/SMESH_SRC_3.2.6/src/OBJECT/SMESH_Actor.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/OBJECT/SMESH_Actor.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/OBJECT/SMESH_Actor.cxx 2007-11-27 23:55:25.000000000 +0100
+@@ -409,10 +409,10 @@
+ myPtsLabeledDataMapper->RemoveAllInputs();
+ myPtsLabeledDataMapper->Delete();
+
+- myPtsSelectVisiblePoints->UnRegisterAllOutputs();
++ //myPtsSelectVisiblePoints->UnRegisterAllOutputs();
+ myPtsSelectVisiblePoints->Delete();
+
+- myPtsMaskPoints->UnRegisterAllOutputs();
++ //myPtsMaskPoints->UnRegisterAllOutputs();
+ myPtsMaskPoints->Delete();
+
+ myPointLabels->Delete();
+@@ -425,13 +425,13 @@
+ myClsLabeledDataMapper->RemoveAllInputs();
+ myClsLabeledDataMapper->Delete();
+
+- myClsSelectVisiblePoints->UnRegisterAllOutputs();
++ //myClsSelectVisiblePoints->UnRegisterAllOutputs();
+ myClsSelectVisiblePoints->Delete();
+
+- myClsMaskPoints->UnRegisterAllOutputs();
++ //myClsMaskPoints->UnRegisterAllOutputs();
+ myClsMaskPoints->Delete();
+
+- myCellCenters->UnRegisterAllOutputs();
++ //myCellCenters->UnRegisterAllOutputs();
+ myCellCenters->Delete();
+
+ myCellsLabels->Delete();
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/OBJECT: SMESH_Actor.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/OBJECT/SMESH_DeviceActor.cxx src3.2.6/SMESH_SRC_3.2.6/src/OBJECT/SMESH_DeviceActor.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/OBJECT/SMESH_DeviceActor.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/OBJECT/SMESH_DeviceActor.cxx 2007-11-27 23:55:25.000000000 +0100
+@@ -374,7 +374,7 @@
+ for( vtkIdType idType = 0, *pts, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
+ aCellLocationsArray->SetValue( idType, aConnectivity->GetTraversalLocation( npts ) );
+
+- aDataSet->SetCells( aCellTypesArray, aCellLocationsArray,aConnectivity );
++ aDataSet->SetCells( aCellTypesArray, (vtkIdTypeArray*)aCellLocationsArray,aConnectivity );
+ SetUnstructuredGrid(aDataSet);
+
+ aDataSet->GetCellData()->SetScalars(aScalars);
+@@ -434,7 +434,7 @@
+ for( vtkIdType idType = 0, *pts, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
+ aCellLocationsArray->SetValue( idType, aConnectivity->GetTraversalLocation( npts ) );
+
+- aDataSet->SetCells( aCellTypesArray, aCellLocationsArray,aConnectivity );
++ aDataSet->SetCells( aCellTypesArray, (vtkIdTypeArray*)aCellLocationsArray,aConnectivity );
+ SetUnstructuredGrid(aDataSet);
+
+ aDataSet->GetCellData()->SetScalars(aScalars);
+@@ -516,7 +516,7 @@
+ for( vtkIdType idType = 0, *pts, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
+ aCellLocationsArray->SetValue( idType, aConnectivity->GetTraversalLocation( npts ) );
+
+- aDataSet->SetCells( aCellTypesArray, aCellLocationsArray,aConnectivity );
++ aDataSet->SetCells( aCellTypesArray, (vtkIdTypeArray*)aCellLocationsArray,aConnectivity );
+
+ SetUnstructuredGrid(aDataSet);
+ aDataSet->Delete();
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/OBJECT: SMESH_DeviceActor.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/OBJECT/SMESH_ExtractGeometry.cxx src3.2.6/SMESH_SRC_3.2.6/src/OBJECT/SMESH_ExtractGeometry.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/OBJECT/SMESH_ExtractGeometry.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/OBJECT/SMESH_ExtractGeometry.cxx 2007-11-27 23:55:25.000000000 +0100
+@@ -84,7 +84,7 @@
+ vtkFloatingPointType multiplier;
+ vtkPoints *newPts;
+ vtkIdList *newCellPts;
+- vtkDataSet *input = this->GetInput();
++ vtkDataSet *input = (vtkDataSet*) this->GetInput();
+ vtkPointData *pd = input->GetPointData();
+ vtkCellData *cd = input->GetCellData();
+ vtkUnstructuredGrid *output = this->GetOutput();
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/OBJECT: SMESH_ExtractGeometry.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/OBJECT/SMESH_Object.cxx src3.2.6/SMESH_SRC_3.2.6/src/OBJECT/SMESH_Object.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/OBJECT/SMESH_Object.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/OBJECT/SMESH_Object.cxx 2007-11-27 23:55:25.000000000 +0100
+@@ -436,7 +436,7 @@
+ for( vtkIdType idType = 0, *pts, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
+ aCellLocationsArray->SetValue( idType, aConnectivity->GetTraversalLocation( npts ) );
+
+- myGrid->SetCells( aCellTypesArray, aCellLocationsArray,aConnectivity );
++ myGrid->SetCells( aCellTypesArray, (vtkIdTypeArray*)aCellLocationsArray,aConnectivity );
+
+ aCellLocationsArray->Delete();
+ aCellTypesArray->Delete();
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/OBJECT: SMESH_Object.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_ClippingDlg.cxx src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_ClippingDlg.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_ClippingDlg.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_ClippingDlg.cxx 2007-11-27 23:55:26.000000000 +0100
+@@ -182,7 +182,7 @@
+ myMapper->RemoveAllInputs();
+ myMapper->Delete();
+
+- myPlaneSource->UnRegisterAllOutputs();
++ //myPlaneSource->UnRegisterAllOutputs();
+ myPlaneSource->Delete();
+ };
+
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI: SMESHGUI_ClippingDlg.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_EditMeshDlg.cxx src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_EditMeshDlg.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_EditMeshDlg.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_EditMeshDlg.cxx 2007-11-27 23:55:26.000000000 +0100
+@@ -261,10 +261,10 @@
+ myPtsLabeledDataMapper->RemoveAllInputs();
+ myPtsLabeledDataMapper->Delete();
+
+- myPtsSelectVisiblePoints->UnRegisterAllOutputs();
++ //myPtsSelectVisiblePoints->UnRegisterAllOutputs();
+ myPtsSelectVisiblePoints->Delete();
+
+- myPtsMaskPoints->UnRegisterAllOutputs();
++ //myPtsMaskPoints->UnRegisterAllOutputs();
+ myPtsMaskPoints->Delete();
+
+ myPointLabels->Delete();
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI: SMESHGUI_EditMeshDlg.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MeshEditPreview.cxx src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MeshEditPreview.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MeshEditPreview.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MeshEditPreview.cxx 2007-11-27 23:55:26.000000000 +0100
+@@ -210,7 +210,7 @@
+ for( vtkIdType idType = 0, *pts, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
+ aCellLocationsArray->SetValue( idType, aConnectivity->GetTraversalLocation( npts ) );
+
+- myGrid->SetCells( aCellTypesArray, aCellLocationsArray, aConnectivity );
++ myGrid->SetCells( aCellTypesArray, (vtkIdTypeArray*)aCellLocationsArray, aConnectivity );
+
+ myPreviewActor->GetMapper()->Update();
+
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI: SMESHGUI_MeshEditPreview.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx 2007-11-27 23:55:26.000000000 +0100
+@@ -1242,7 +1242,7 @@
+ aCellLocationsArray->SetValue(idType, aConnectivity->GetTraversalLocation(npts));
+
+ aGrid->SetPoints(aPoints);
+- aGrid->SetCells(aCellTypesArray, aCellLocationsArray,aConnectivity);
++ aGrid->SetCells(aCellTypesArray, (vtkIdTypeArray*)aCellLocationsArray,aConnectivity);
+
+ aConnectivity->Delete();
+ aPoints->Delete();
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI: SMESHGUI_MeshPatternDlg.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx 2007-11-27 23:55:26.000000000 +0100
+@@ -564,7 +564,7 @@
+ aGrid->SetPoints(aPoints);
+ aPoints->Delete();
+
+- aGrid->SetCells(aCellTypesArray,aCellLocationsArray,aCells);
++ aGrid->SetCells(aCellTypesArray,(vtkIdTypeArray*)aCellLocationsArray,aCells);
+ aCellLocationsArray->Delete();
+ aCellTypesArray->Delete();
+ aCells->Delete();
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI: SMESHGUI_MoveNodesDlg.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MultiEditDlg.cxx src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MultiEditDlg.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MultiEditDlg.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_MultiEditDlg.cxx 2007-11-27 23:55:26.000000000 +0100
+@@ -1346,7 +1346,7 @@
+ aCellLocationsArray->SetValue(idType, aConnectivity->GetTraversalLocation(npts));
+
+ aGrid->SetPoints(aPoints);
+- aGrid->SetCells(aCellTypesArray, aCellLocationsArray,aConnectivity);
++ aGrid->SetCells(aCellTypesArray, (vtkIdTypeArray*)aCellLocationsArray,aConnectivity);
+
+ // Create and display actor
+ vtkDataSetMapper* aMapper = vtkDataSetMapper::New();
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI: SMESHGUI_MultiEditDlg.cxx~
+diff -abur src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_NodesDlg.cxx src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_NodesDlg.cxx
+--- src3.2.6_orig/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_NodesDlg.cxx 2007-04-24 18:41:03.000000000 +0200
++++ src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI/SMESHGUI_NodesDlg.cxx 2007-11-27 23:55:26.000000000 +0100
+@@ -158,10 +158,10 @@
+ vtkIdType npts;
+ aCellLocationsArray->SetValue(0, aCells->GetTraversalLocation(npts));
+
+- aGrid->SetCells(aCellTypesArray, aCellLocationsArray, aCells);
++ aGrid->SetCells(aCellTypesArray, (vtkIdTypeArray*)aCellLocationsArray, aCells);
+
+ aGrid->SetPoints(myPoints);
+- aGrid->SetCells(aCellTypesArray, aCellLocationsArray,aCells);
++ aGrid->SetCells(aCellTypesArray, (vtkIdTypeArray*)aCellLocationsArray,aCells);
+ aCellLocationsArray->Delete();
+ aCellTypesArray->Delete();
+ aCells->Delete();
+Seulement dans src3.2.6/SMESH_SRC_3.2.6/src/SMESHGUI: SMESHGUI_NodesDlg.cxx~
diff --git a/sci-misc/salome-smesh/files/salome-smesh-3.2.6_makefiles.patch b/sci-misc/salome-smesh/files/salome-smesh-3.2.6_makefiles.patch
new file mode 100644
index 000000000..078fd5a4f
--- /dev/null
+++ b/sci-misc/salome-smesh/files/salome-smesh-3.2.6_makefiles.patch
@@ -0,0 +1,39 @@
+--- ./SMESH_SRC_3.2.6/build_configure.org 2007-04-24 18:41:03.000000000 +0200
++++ ./SMESH_SRC_3.2.6/build_configure 2008-01-08 14:51:09.000000000 +0100
+@@ -135,7 +135,7 @@
+
+ # make a link allowing AC_OUTPUT to find the salome_adm/.../*.in files
+ echo "" >> configure.in_tmp1
+-echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}/.' >> configure.in_tmp1
++echo 'cp -prf ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}/.' >> configure.in_tmp1
+
+ echo "" >> configure.in_tmp1
+ echo "AC_OUTPUT([ \\" >> configure.in_tmp1
+--- ./SMESH_SRC_3.2.6/doc/salome/gui/Makefile.in.org 2007-04-24 18:41:03.000000000 +0200
++++ ./SMESH_SRC_3.2.6/doc/salome/gui/Makefile.in 2008-01-08 14:52:25.000000000 +0100
+@@ -30,7 +30,7 @@
+ @COMMENCE@
+
+ usr_docs:
+- cp -fr $(srcdir)/SMESH ./
++# cp -fr $(srcdir)/SMESH ./
+ -find $(PWD) -name CVS -prune -exec rm -rf {} \;
+
+ docs: usr_docs
+--- ./SMESH_SRC_3.2.6/adm_local/Makefile.in.org 2007-04-24 18:41:03.000000000 +0200
++++ ./SMESH_SRC_3.2.6/adm_local/Makefile.in 2008-01-08 14:53:50.000000000 +0100
+@@ -27,12 +27,12 @@
+ all: resources
+
+ install:
+- cp -rf @top_srcdir@/adm_local @prefix@
++# cp -rf @top_srcdir@/adm_local @prefix@
+
+ bin:
+
+ resources :
+- cp -rf @top_srcdir@/adm_local $(top_builddir)
++# cp -rf @top_srcdir@/adm_local $(top_builddir)
+
+ inc:
+
diff --git a/sci-misc/salome-smesh/salome-smesh-3.2.6.ebuild b/sci-misc/salome-smesh/salome-smesh-3.2.6.ebuild
new file mode 100644
index 000000000..4edc88f5b
--- /dev/null
+++ b/sci-misc/salome-smesh/salome-smesh-3.2.6.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+
+inherit autotools distutils eutils flag-o-matic toolchain-funcs versionator python multilib
+
+DESCRIPTION="SALOME : The Open Source Integration Platform for Numerical Simulation. SMESH Component"
+HOMEPAGE="http://www.salome-platform.org"
+SRC_URI="salome-3.2.6.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="doc opengl mpi debug"
+RESTRICT="fetch"
+
+RDEPEND="opengl? ( virtual/opengl )
+ mpi? ( sys-cluster/mpich2 )
+ debug? ( dev-util/cppunit )"
+
+DEPEND="${RDEPEND}
+ >=sci-misc/salome-kernel-3.2.6
+ >=sci-misc/salome-med-3.2.6
+ >=sci-misc/salome-geom-3.2.6
+ <=dev-python/omniorbpy-2.6
+ <=net-misc/omniORB-4.1"
+
+# Note that Corba is apparently not optional in this module
+
+MODULE_NAME="SMESH"
+MY_S="${WORKDIR}/src${PV}/${MODULE_NAME}_SRC_${PV}"
+INSTALL_DIR="/opt/salome-${PV}/${MODULE_NAME}"
+SMESH_ROOT_DIR="/opt/salome-${PV}/${MODULE_NAME}"
+export OPENPBS="/usr"
+
+
+pkg_nofetch()
+{
+ einfo "You have to download manually the source code. You can download it from :"
+ einfo " http://www.salome-platform.org/download/dl326"
+ einfo ""
+ einfo "Put the archive in the \"/usr/portage/distfile\" directory and rename it \"salome-3.2.6.tar.gz\""
+}
+
+
+src_unpack()
+{
+ python_version
+ distutils_python_version
+ ewarn "Python 2.4 is highly recommended for Salome..."
+
+ if ! built_with_use sci-libs/vtk python ; then
+ die "You must rebuild sci-libs/vtk with python USE flag"
+ fi
+
+ unpack ${A}
+ cd "${MY_S}"
+ epatch "${FILESDIR}"/${P}.patch
+ epatch "${FILESDIR}"/${P}_makefiles.patch
+}
+
+
+src_compile()
+{
+ local myconf=""
+ cd "${MY_S}"
+ rm -r -f autom4te.cache
+ ./build_configure
+
+ # If vtk-5.O is used, include directory is named vtk-5.0 and not vtk
+ if has_version ">=sci-libs/vtk-5.0" ; then
+ einfo "vtk version 5 detected"
+ append-flags -I/usr/include/vtk-5.0
+ else
+ einfo "vtk version 4 or prior detected"
+ fi
+
+ # CXXFLAGS are slightly modified to allow the compilation of
+ # salome-visu with OpenCascade and gcc-4.1.x
+ if version_is_at_least "4.1" $(gcc-version) ; then
+ append-flags -ffriend-injection -fpermissive
+ fi
+
+ # Compiler and linker flags
+ if use amd64 ; then
+ append-flags -m64
+ fi
+
+ # Specifying --without-<flag> for mpi / mpich
+ # has the same effect as turning it on
+ # so we just ommit it if it's not required to turn it off
+ if use mpi ; then
+ myconf="${myconf} --with-mpi --with-mpich"
+ fi
+
+ # Configuration
+ econf --prefix=${INSTALL_DIR} \
+ --datadir=${INSTALL_DIR}/share/salome \
+ --docdir=${INSTALL_DIR}/doc/salome \
+ --infodir=${INSTALL_DIR}/share/info \
+ --libdir=${INSTALL_DIR}/$(get_libdir)/salome \
+ --with-python-site=${INSTALL_DIR}/$(get_libdir)/python${PYVER}/site-packages/salome \
+ --with-python-site-exec=${INSTALL_DIR}/$(get_libdir)/python${PYVER}/site-packages/salome \
+ ${myconf} \
+ $(use_enable debug ) \
+ $(use_enable !debug production ) \
+ $(use_with debug cppunit /usr ) \
+ $(use_with opengl opengl /usr) \
+ || die "configuration failed"
+
+ # Compilation
+ MAKEOPTS="-j1" emake || die "Compilation failed"
+}
+
+
+src_install()
+{
+ cd "${MY_S}"
+
+ # Installation
+ emake prefix="${D}/${INSTALL_DIR}" \
+ docdir="${D}/${INSTALL_DIR}/doc/salome" \
+ infodir="${D}/${INSTALL_DIR}/share/info" \
+ datadir="${D}/${INSTALL_DIR}/share/salome" \
+ libdir="${D}/${INSTALL_DIR}/$(get_libdir)/salome" \
+ pythondir="${D}/${INSTALL_DIR}/$(get_libdir)/python${PYVER}/site-packages" install \
+ || die "emake install failed"
+
+ if use amd64 ; then
+ dosym ${INSTALL_DIR}/lib64 ${INSTALL_DIR}/lib
+ fi
+
+ echo "${MODULE_NAME}_ROOT_DIR=${INSTALL_DIR}" > ./90${P}
+ echo "LDPATH=${INSTALL_DIR}/$(get_libdir)/salome" >> ./90${P}
+ echo "PATH=${INSTALL_DIR}/bin/salome" >> ./90${P}
+ echo "PYTHONPATH=${INSTALL_DIR}/$(get_libdir)/python${PYVER}/site-packages/salome" >> ./90${P}
+ doenvd 90${P}
+ rm adm_local/Makefile adm_local/unix/make_commence adm_local/unix/make_conclude adm_local/unix/make_omniorb
+ insinto "${INSTALL_DIR}"
+ doins -r adm_local
+ if use doc ; then
+ dodoc INSTALL LICENCE
+ fi
+}
+
+
+pkg_postinst() {
+ elog "Run \`env-update && source /etc/profile\`"
+ elog "now to set up the correct paths."
+ elog ""
+}