aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanieltourde <danieltourde@32389bae-6d03-0410-99cf-db05cde120eb>2008-05-20 21:26:59 +0000
committerdanieltourde <danieltourde@32389bae-6d03-0410-99cf-db05cde120eb>2008-05-20 21:26:59 +0000
commit0f889d2bb37e15482e6fdc8abe443f829c303df8 (patch)
treef5d0fdd06c0317ade1d4a49a45711f31cb4a169d
parentAdded ~x86 in the KEYWORDS list. I tested it, it seems to work correctly. (diff)
downloadsci-0f889d2bb37e15482e6fdc8abe443f829c303df8.tar.gz
sci-0f889d2bb37e15482e6fdc8abe443f829c303df8.tar.bz2
sci-0f889d2bb37e15482e6fdc8abe443f829c303df8.zip
Initial update. There is still some work to do but it starts to get shape! ;)
See bug #155974 git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@1075 32389bae-6d03-0410-99cf-db05cde120eb
-rw-r--r--sci-misc/salome-kernel/Changelog7
-rw-r--r--sci-misc/salome-kernel/Manifest10
-rw-r--r--sci-misc/salome-kernel/files/digest-salome-kernel-3.2.63
-rw-r--r--sci-misc/salome-kernel/files/salome-kernel-3.2.6-Batch_Couple.patch13
-rw-r--r--sci-misc/salome-kernel/files/salome-kernel-3.2.6-mpich2.patch48
-rw-r--r--sci-misc/salome-kernel/files/salome-kernel-3.2.6-pyobject.patch156
-rw-r--r--sci-misc/salome-kernel/files/salome-kernel-3.2.6_omniorg.patch6
-rw-r--r--sci-misc/salome-kernel/files/salome-kernel-3.2.6_openpbs.patch21
-rw-r--r--sci-misc/salome-kernel/files/salome-kernel-gcc4.patch135
-rw-r--r--sci-misc/salome-kernel/files/salome-kernel.pngbin0 -> 1934 bytes
-rw-r--r--sci-misc/salome-kernel/salome-kernel-3.2.6.ebuild195
11 files changed, 594 insertions, 0 deletions
diff --git a/sci-misc/salome-kernel/Changelog b/sci-misc/salome-kernel/Changelog
new file mode 100644
index 000000000..a726f488a
--- /dev/null
+++ b/sci-misc/salome-kernel/Changelog
@@ -0,0 +1,7 @@
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+ 20 May 2008; Daniel Tourde <daniel.tourde@caelae.se>
+ Initial import.
+ +salome-kernel-3.2.6.ebuild, +salome-kernel-3.2.6_omniorg.patch, +salome-kernel-gcc4.patch, +salome-kernel-3.2.6-Batch_Couple.patch, +salome-kernel-3.2.6_openpbs.patch, +salome-kernel.png, +salome-kernel-3.2.6-mpich2.patch, +salome-kernel-3.2.6-pyobject.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-kernel/Manifest b/sci-misc/salome-kernel/Manifest
new file mode 100644
index 000000000..4b37481dc
--- /dev/null
+++ b/sci-misc/salome-kernel/Manifest
@@ -0,0 +1,10 @@
+AUX salome-kernel-3.2.6-Batch_Couple.patch 324 RMD160 42284ee163672fc686f9ae3dc79b485058781de2 SHA1 8f9b1aba0e80dc41214290c59e233f000e93d8bc SHA256 fec452f836727542d86d126b17e4143c2a8cd2ecce890a159b9c6dd40964b605
+AUX salome-kernel-3.2.6-mpich2.patch 1421 RMD160 be3b85bf0799e90e57c32541aaf76ab9a0492f98 SHA1 99871487a1276356a1ceba1dd575f5b95561eb20 SHA256 793a1b0536329733d0ad65819e97a6ea0a328b72661eebe49ea6828a34de08fa
+AUX salome-kernel-3.2.6-pyobject.patch 7085 RMD160 db7d5bcccc78f9f1a2a2a0148bd7eadcdcb89fc5 SHA1 d661823bac9249065a3e55055f4947876289c97f SHA256 88f19a09ce6f81e18f6f908a74c683cb2940e0fae413e5e6d8c8a499874b0a09
+AUX salome-kernel-3.2.6_omniorg.patch 159 RMD160 6071fe5caa4b2d38bc34e26dfeb5c2b56a501b1d SHA1 1e441ed3543def24cf3fd06fc569b62efa078c10 SHA256 b7effbbb105a57c0f342d55881733d125aff63435605fbf4c2036e556e2a71a0
+AUX salome-kernel-3.2.6_openpbs.patch 847 RMD160 f41b3adde69f2958941643da10b7551de7b40257 SHA1 5e50bfbd38a9d71cd255c59e1b029871c612636c SHA256 5a1c31be402230260b1ce828a553619feeeb439cc7635eed695a68a70507aec6
+AUX salome-kernel-gcc4.patch 5928 RMD160 9fa81eeac2d5dbb64b3137e711553b4b76bc9e08 SHA1 59eeee6e19b3e5e6c5490b8fbf9e4b67e9ecd9db SHA256 6c5a19dac8893c054c03467a4e463aa582b88c22c37a7d2ce88ba75f918e06dc
+AUX salome-kernel.png 1934 RMD160 700c6d3a96df0576582af4c2d77f1588cf385ab6 SHA1 4aca0bb3b2331ec4253fdc299777012501841508 SHA256 df2ee182545ccaf1081bd3687b984ccd0b4d0166698cd7a403f138055bcb8ec2
+DIST salome-3.2.6.tar.gz 88763725 RMD160 0a0b77aa538832265416605bf502df9e790b45b7 SHA1 e4736b8431d3a4f43541e09eed861f88a2a2f439 SHA256 1f4ae59538675242b179fa2af9bf9adeffe87c8d80d3e6798bca03eafc0bb258
+EBUILD salome-kernel-3.2.6.ebuild 5512 RMD160 0e0551e6f82dae8de8b1e670813f4b6ddbb47062 SHA1 bf94471116e7984bd63bf75d63e96fbfb0f5b0fa SHA256 267eb35be5b98acbbb2c67a33094fe887aac5269d6594bde5caeffe67e7f33bb
+MISC Changelog 774 RMD160 525f58218dd3df8a7f78b4fc971f5db4cb5cd03f SHA1 968bb7e952e0849c4af314d73c1ebd6adeb44aec SHA256 8dd0b2e080bc418b2e2495f28a993d58a3a9c855376d5af6099792dd9e874f6f
diff --git a/sci-misc/salome-kernel/files/digest-salome-kernel-3.2.6 b/sci-misc/salome-kernel/files/digest-salome-kernel-3.2.6
new file mode 100644
index 000000000..5c66d3bbd
--- /dev/null
+++ b/sci-misc/salome-kernel/files/digest-salome-kernel-3.2.6
@@ -0,0 +1,3 @@
+MD5 8d5748872b84c4d8fc455c665ea3d1e0 salome-3.2.6.tar.gz 88763725
+RMD160 0a0b77aa538832265416605bf502df9e790b45b7 salome-3.2.6.tar.gz 88763725
+SHA256 1f4ae59538675242b179fa2af9bf9adeffe87c8d80d3e6798bca03eafc0bb258 salome-3.2.6.tar.gz 88763725
diff --git a/sci-misc/salome-kernel/files/salome-kernel-3.2.6-Batch_Couple.patch b/sci-misc/salome-kernel/files/salome-kernel-3.2.6-Batch_Couple.patch
new file mode 100644
index 000000000..07c42dd44
--- /dev/null
+++ b/sci-misc/salome-kernel/files/salome-kernel-3.2.6-Batch_Couple.patch
@@ -0,0 +1,13 @@
+--- src3.2.6/KERNEL_SRC_3.2.6/src/Batch/Batch_Couple.cxx.bak 2007-04-24
+17:34:17.000000000 +0200
++++ src3.2.6/KERNEL_SRC_3.2.6/src/Batch/Batch_Couple.cxx 2008-03-12
+00:37:09.000000000 +0100
+@@ -26,7 +26,7 @@
+ * Projet : Salome 2
+ *
+ */
+-
++#include <iostream>
+ #include "Batch_Couple.hxx"
+ using namespace std;
+
diff --git a/sci-misc/salome-kernel/files/salome-kernel-3.2.6-mpich2.patch b/sci-misc/salome-kernel/files/salome-kernel-3.2.6-mpich2.patch
new file mode 100644
index 000000000..038100034
--- /dev/null
+++ b/sci-misc/salome-kernel/files/salome-kernel-3.2.6-mpich2.patch
@@ -0,0 +1,48 @@
+diff -Naur src3.2.6.orig/KERNEL_SRC_3.2.6/salome_adm/unix/config_files/check_mpich.m4 src3.2.6/KERNEL_SRC_3.2.6/salome_adm/unix/config_files/check_mpich.m4
+--- src3.2.6.orig/KERNEL_SRC_3.2.6/salome_adm/unix/config_files/check_mpich.m4 2007-04-24 16:34:20.000000000 +0100
++++ src3.2.6/KERNEL_SRC_3.2.6/salome_adm/unix/config_files/check_mpich.m4 2008-05-07 02:36:00.000000000 +0100
+@@ -26,11 +26,12 @@
+
+ AC_ARG_WITH(mpich,
+ [AC_HELP_STRING([--with-mpich=DIR],[root directory path of MPICH installation])],
+- WITHMPICH="yes",WITHMPICH="no")
++ MPICHREQUESTED="yes",MPICHREQUESTED="no")
+
+ MPI_INCLUDES=""
+ MPI_LIBS=""
+-if test "$WITHMPICH" = yes; then
++WITHMPICH=no
++if test x"$MPICHREQUESTED" = xyes; then
+
+ MPIREQUESTED="yes"
+ echo
+@@ -38,9 +39,9 @@
+ echo testing mpich
+ echo ---------------------------------------------
+ echo
+- MPICH_HOME=$withval
+
+- if test "$MPICH_HOME"; then
++ if test "x$withval" != "xyes"; then
++ MPICH_HOME=$withval
+ MPI_INCLUDES="-I$MPICH_HOME/include"
+ if test "x$MPICH_HOME" = "x/usr"
+ then
+@@ -67,10 +68,16 @@
+ WITHMPI="yes"
+ mpi_ok=yes
+ MPI_LIBS="$MPI_LIBS -lmpich"
++dnl We're doing this here because MPI_LIBS doesn't appear to be
++dnl being used within the Makefile structure
++ LDFLAGS="$MPI_LIBS $LDFLAGS"
+ else
+ mpi_ok=no
+ fi
+-
+ fi
+
++AC_SUBST(WITHMPICH)
++AC_SUBST(MPI_INCLUDES)
++AC_SUBST(MPI_LIBS)
++AC_SUBST(mpi_ok)
+ ])dnl
diff --git a/sci-misc/salome-kernel/files/salome-kernel-3.2.6-pyobject.patch b/sci-misc/salome-kernel/files/salome-kernel-3.2.6-pyobject.patch
new file mode 100644
index 000000000..aaf92e350
--- /dev/null
+++ b/sci-misc/salome-kernel/files/salome-kernel-3.2.6-pyobject.patch
@@ -0,0 +1,156 @@
+diff -Naur src3.2.6.orig/KERNEL_SRC_3.2.6/src/Batch_SWIG/swig_wrap.cpp src3.2.6/KERNEL_SRC_3.2.6/src/Batch_SWIG/swig_wrap.cpp
+--- src3.2.6.orig/KERNEL_SRC_3.2.6/src/Batch_SWIG/swig_wrap.cpp 2007-04-24 16:23:09.000000000 +0000
++++ src3.2.6/KERNEL_SRC_3.2.6/src/Batch_SWIG/swig_wrap.cpp 2008-02-07 14:45:34.000000000 +0000
+@@ -1174,7 +1174,7 @@
+ obj = pyobj;
+ if (PyCFunction_Check(obj)) {
+ /* here we get the method pointer for callbacks */
+- char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
++ const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+ c = doc ? strstr(doc, "swig_ptr: ") : 0;
+ if (c) {
+ c = SWIG_UnpackVoidPtr(c + 10, &vptr, ty->name);
+@@ -1474,7 +1474,7 @@
+ // on itere sur toutes les clefs du dictionnaire, et on passe par la classe PyVersatile
+ // qui convertit un Versatile en PyObject et vice versa
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj0, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ Batch::PyVersatile PyV = value;
+@@ -1532,7 +1532,7 @@
+
+ // on itere sur toutes les clefs du dictionnaire
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj0, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ std::string val = PyString_AsString(value);
+@@ -1584,7 +1584,7 @@
+ // on itere sur toutes les clefs du dictionnaire, et on passe par la classe PyVersatile
+ // qui convertit un Versatile en PyObject et vice versa
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj0, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ Batch::PyVersatile PyV = value;
+@@ -1612,7 +1612,7 @@
+
+ // on itere sur toutes les clefs du dictionnaire
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj1, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ std::string val = PyString_AsString(value);
+@@ -1809,7 +1809,7 @@
+ // on itere sur toutes les clefs du dictionnaire, et on passe par la classe PyVersatile
+ // qui convertit un Versatile en PyObject et vice versa
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj1, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ Batch::PyVersatile PyV = value;
+@@ -1912,7 +1912,7 @@
+
+ // on itere sur toutes les clefs du dictionnaire
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj1, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ std::string val = PyString_AsString(value);
+@@ -2359,7 +2359,7 @@
+ // on itere sur toutes les clefs du dictionnaire, et on passe par la classe PyVersatile
+ // qui convertit un Versatile en PyObject et vice versa
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj1, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ Batch::PyVersatile PyV = value;
+@@ -2387,7 +2387,7 @@
+
+ // on itere sur toutes les clefs du dictionnaire
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj2, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ std::string val = PyString_AsString(value);
+@@ -2439,7 +2439,7 @@
+ // on itere sur toutes les clefs du dictionnaire, et on passe par la classe PyVersatile
+ // qui convertit un Versatile en PyObject et vice versa
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj1, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ Batch::PyVersatile PyV = value;
+@@ -2500,7 +2500,7 @@
+
+ // on itere sur toutes les clefs du dictionnaire
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj1, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ std::string val = PyString_AsString(value);
+@@ -2656,7 +2656,7 @@
+ // on itere sur toutes les clefs du dictionnaire, et on passe par la classe PyVersatile
+ // qui convertit un Versatile en PyObject et vice versa
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj1, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ Batch::PyVersatile PyV = value;
+@@ -2717,7 +2717,7 @@
+
+ // on itere sur toutes les clefs du dictionnaire
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj1, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ std::string val = PyString_AsString(value);
+@@ -3445,7 +3445,7 @@
+ // on itere sur toutes les clefs du dictionnaire, et on passe par la classe PyVersatile
+ // qui convertit un Versatile en PyObject et vice versa
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj2, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ Batch::PyVersatile PyV = value;
+@@ -3473,7 +3473,7 @@
+
+ // on itere sur toutes les clefs du dictionnaire
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj3, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ std::string val = PyString_AsString(value);
+@@ -3535,7 +3535,7 @@
+ // on itere sur toutes les clefs du dictionnaire, et on passe par la classe PyVersatile
+ // qui convertit un Versatile en PyObject et vice versa
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj2, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ Batch::PyVersatile PyV = value;
+@@ -3606,7 +3606,7 @@
+
+ // on itere sur toutes les clefs du dictionnaire
+ PyObject *key, *value;
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ while (PyDict_Next(obj2, &pos, &key, &value)) {
+ std::string mk = PyString_AsString(key);
+ std::string val = PyString_AsString(value);
diff --git a/sci-misc/salome-kernel/files/salome-kernel-3.2.6_omniorg.patch b/sci-misc/salome-kernel/files/salome-kernel-3.2.6_omniorg.patch
new file mode 100644
index 000000000..d0bd5daf4
--- /dev/null
+++ b/sci-misc/salome-kernel/files/salome-kernel-3.2.6_omniorg.patch
@@ -0,0 +1,6 @@
+22,23c22,23
+< corba? ( dev-python/omniorbpy
+< net-misc/omniORB )"
+---
+> corba? ( <=dev-python/omniorbpy-2.6
+> <=net-misc/omniORB-4.1 )"
diff --git a/sci-misc/salome-kernel/files/salome-kernel-3.2.6_openpbs.patch b/sci-misc/salome-kernel/files/salome-kernel-3.2.6_openpbs.patch
new file mode 100644
index 000000000..6308df481
--- /dev/null
+++ b/sci-misc/salome-kernel/files/salome-kernel-3.2.6_openpbs.patch
@@ -0,0 +1,21 @@
+--- salome_adm/unix/config_files/check_openpbs.m4_orig 2008-01-18 23:50:02.000000000 +0100
++++ salome_adm/unix/config_files/check_openpbs.m4 2008-01-18 23:50:57.000000000 +0100
+@@ -32,15 +32,15 @@
+
+ if test "x${OPENPBS}" = "x/usr"
+ then
+- OPENPBS_LIBDIR=""
++ OPENPBS_LIBDIR="-L/usr/lib/pbs/lib"
+ else
+ OPENPBS_LIBDIR="-L${OPENPBS}/lib"
+ fi
+- OPENPBS_LIBS="-lpbs"
++ OPENPBS_LIBS="-ltorque"
+ saved_LDFLAGS=${LDFLAGS}
+ saved_LIBS=${LIBS}
+ LDFLAGS="${LDFLAGS} ${OPENPBS_LIBDIR}"
+- AC_CHECK_LIB([pbs], [pbs_connect], [openpbs_lib_found=yes], [openpbs_lib_found=no], [])
++ AC_CHECK_LIB([torque], [pbs_connect], [openpbs_lib_found=yes], [openpbs_lib_found=no], [])
+ test x${openpbs_lib_found} = xno && AC_MSG_WARN([OpenPBS library not found])
+ LIBS="${LIBS} ${OPENPBS_LIBS}"
+ LDFLAGS=${saved_LDFLAGS}
diff --git a/sci-misc/salome-kernel/files/salome-kernel-gcc4.patch b/sci-misc/salome-kernel/files/salome-kernel-gcc4.patch
new file mode 100644
index 000000000..45b06c336
--- /dev/null
+++ b/sci-misc/salome-kernel/files/salome-kernel-gcc4.patch
@@ -0,0 +1,135 @@
+diff -Naur src3.2.6.orig/KERNEL_SRC_3.2.6/src/GenericObj/SALOME_GenericObj_i.cc src3.2.6/KERNEL_SRC_3.2.6/src/GenericObj/SALOME_GenericObj_i.cc
+--- src3.2.6.orig/KERNEL_SRC_3.2.6/src/GenericObj/SALOME_GenericObj_i.cc 2007-04-24 10:34:17.000000000 -0500
++++ src3.2.6/KERNEL_SRC_3.2.6/src/GenericObj/SALOME_GenericObj_i.cc 2008-01-10 15:46:15.000000000 -0600
+@@ -42,9 +42,9 @@
+ "; CORBA::is_nil(thePOA) = "<<CORBA::is_nil(thePOA));
+ if(CORBA::is_nil(thePOA))
+ #ifndef WNT
+- myPOA = PortableServer::RefCountServantBase::_default_POA();
++ myPOA = PortableServer::ServantBase::_default_POA();
+ #else
+- myPOA = RefCountServantBase::_default_POA();
++ myPOA = ServantBase::_default_POA();
+ #endif
+ else
+ myPOA = PortableServer::POA::_duplicate(thePOA);
+diff -Naur src3.2.6.orig/KERNEL_SRC_3.2.6/src/LifeCycleCORBA_SWIG/swig_wrap.cpp src3.2.6/KERNEL_SRC_3.2.6/src/LifeCycleCORBA_SWIG/swig_wrap.cpp
+--- src3.2.6.orig/KERNEL_SRC_3.2.6/src/LifeCycleCORBA_SWIG/swig_wrap.cpp 2007-04-24 10:58:15.000000000 -0500
++++ src3.2.6/KERNEL_SRC_3.2.6/src/LifeCycleCORBA_SWIG/swig_wrap.cpp 2008-01-10 16:05:05.000000000 -0600
+@@ -3236,7 +3236,7 @@
+ param->isMPI = false;
+ PyObject *key, *value;
+ int pos = 0;
+- while (PyDict_Next(obj1, &pos, &key, &value))
++ while (PyDict_Next(obj1, (Py_ssize_t*)&pos, &key, &value))
+ {
+ char* keystr = PyString_AsString(key);
+ printf("key: %s\n", keystr);
+@@ -3366,7 +3366,7 @@
+ param->isMPI = false;
+ PyObject *key, *value;
+ int pos = 0;
+- while (PyDict_Next(obj1, &pos, &key, &value))
++ while (PyDict_Next(obj1, (Py_ssize_t*)&pos, &key, &value))
+ {
+ char* keystr = PyString_AsString(key);
+ printf("key: %s\n", keystr);
+@@ -3558,7 +3558,7 @@
+ param->isMPI = false;
+ PyObject *key, *value;
+ int pos = 0;
+- while (PyDict_Next(obj1, &pos, &key, &value))
++ while (PyDict_Next(obj1, (Py_ssize_t*)&pos, &key, &value))
+ {
+ char* keystr = PyString_AsString(key);
+ printf("key: %s\n", keystr);
+@@ -3688,7 +3688,7 @@
+ param->isMPI = false;
+ PyObject *key, *value;
+ int pos = 0;
+- while (PyDict_Next(obj1, &pos, &key, &value))
++ while (PyDict_Next(obj1, (Py_ssize_t*)&pos, &key, &value))
+ {
+ char* keystr = PyString_AsString(key);
+ printf("key: %s\n", keystr);
+@@ -3880,7 +3880,7 @@
+ param->isMPI = false;
+ PyObject *key, *value;
+ int pos = 0;
+- while (PyDict_Next(obj1, &pos, &key, &value))
++ while (PyDict_Next(obj1, (Py_ssize_t*)&pos, &key, &value))
+ {
+ char* keystr = PyString_AsString(key);
+ printf("key: %s\n", keystr);
+@@ -4010,7 +4010,7 @@
+ param->isMPI = false;
+ PyObject *key, *value;
+ int pos = 0;
+- while (PyDict_Next(obj1, &pos, &key, &value))
++ while (PyDict_Next(obj1, (Py_ssize_t*)&pos, &key, &value))
+ {
+ char* keystr = PyString_AsString(key);
+ printf("key: %s\n", keystr);
+@@ -4329,7 +4329,7 @@
+ param->isMPI = false;
+ PyObject *key, *value;
+ int pos = 0;
+- while (PyDict_Next(obj1, &pos, &key, &value))
++ while (PyDict_Next(obj1, (Py_ssize_t*)&pos, &key, &value))
+ {
+ char* keystr = PyString_AsString(key);
+ printf("key: %s\n", keystr);
+@@ -4463,7 +4463,7 @@
+ param->isMPI = false;
+ PyObject *key, *value;
+ int pos = 0;
+- while (PyDict_Next(obj1, &pos, &key, &value))
++ while (PyDict_Next(obj1, (Py_ssize_t*)&pos, &key, &value))
+ {
+ char* keystr = PyString_AsString(key);
+ printf("key: %s\n", keystr);
+diff -Naur src3.2.6.orig/KERNEL_SRC_3.2.6/src/Notification/NOTIFICATION_Consumer.cxx src3.2.6/KERNEL_SRC_3.2.6/src/Notification/NOTIFICATION_Consumer.cxx
+--- src3.2.6.orig/KERNEL_SRC_3.2.6/src/Notification/NOTIFICATION_Consumer.cxx 2007-04-24 10:34:17.000000000 -0500
++++ src3.2.6/KERNEL_SRC_3.2.6/src/Notification/NOTIFICATION_Consumer.cxx 2008-01-10 15:52:35.000000000 -0600
+@@ -93,14 +93,14 @@
+ };
+
+ if (status) {
+- char* Asender;
+- char* Agraph;
+- char* Atype;
++ const char* Asender;
++ const char* Agraph;
++ const char* Atype;
+ CORBA::ULong Acounter;
+ CORBA::ULong Astamp;
+- char* Adate;
+- char* Anode;
+- char* Amessage;
++ const char* Adate;
++ const char* Anode;
++ const char* Amessage;
+ event->filterable_data[0].value >>= Asender;
+ event->filterable_data[1].value >>= Agraph;
+ event->filterable_data[2].value >>= Atype;
+diff -Naur src3.2.6.orig/KERNEL_SRC_3.2.6/src/TestContainer/SALOME_TestComponent_i.cxx src3.2.6/KERNEL_SRC_3.2.6/src/TestContainer/SALOME_TestComponent_i.cxx
+--- src3.2.6.orig/KERNEL_SRC_3.2.6/src/TestContainer/SALOME_TestComponent_i.cxx 2007-04-24 10:34:19.000000000 -0500
++++ src3.2.6/KERNEL_SRC_3.2.6/src/TestContainer/SALOME_TestComponent_i.cxx 2008-01-10 15:56:51.000000000 -0600
+@@ -44,7 +44,7 @@
+ MESSAGE("activate object");
+ _thisObj = this ;
+ _id = _poa->activate_object(_thisObj);
+- SCRUTE(pd_refCount);
++ //SCRUTE(pd_refCount);
+ }
+
+ Engines_TestComponent_i::Engines_TestComponent_i()
+@@ -60,7 +60,7 @@
+ {
+ char s[100];
+ sprintf(s, "TestComponent_i : L = %ld", (long) L);
+- SCRUTE(pd_refCount);
++ //SCRUTE(pd_refCount);
+
+ return CORBA::string_dup(s);
+ }
diff --git a/sci-misc/salome-kernel/files/salome-kernel.png b/sci-misc/salome-kernel/files/salome-kernel.png
new file mode 100644
index 000000000..485c12713
--- /dev/null
+++ b/sci-misc/salome-kernel/files/salome-kernel.png
Binary files differ
diff --git a/sci-misc/salome-kernel/salome-kernel-3.2.6.ebuild b/sci-misc/salome-kernel/salome-kernel-3.2.6.ebuild
new file mode 100644
index 000000000..c5596846d
--- /dev/null
+++ b/sci-misc/salome-kernel/salome-kernel-3.2.6.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2007 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. KERNEL 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 corba opengl openpbs mpi debug X"
+RESTRICT="fetch"
+
+RDEPEND="opengl? ( virtual/opengl )
+ mpi? ( sys-cluster/mpich2 )
+ debug? ( dev-util/cppunit )
+ openpbs? ( sys-cluster/torque )
+ corba? ( <=dev-python/omniorbpy-2.6
+ <=net-misc/omniORB-4.1 )"
+
+DEPEND="${RDEPEND}
+ app-doc/doxygen
+ media-gfx/graphviz
+ dev-libs/boost
+ dev-lang/python:2.4
+ >=dev-python/PyQt-3.13
+ >=dev-python/sip-4.1.3
+ dev-python/numeric
+ dev-python/docutils
+ dev-lang/swig
+ x11-libs/qwt:0
+ >=x11-libs/qt-3.3.3
+ dev-lang/tk
+ dev-lang/tcl
+ sci-libs/hdf5
+ >=sci-libs/vtk-5.0.0
+ >=sci-libs/opencascade-6.2"
+
+
+MODULE_NAME="KERNEL"
+MY_S="${WORKDIR}/src${PV}/${MODULE_NAME}_SRC_${PV}"
+INSTALL_DIR="/opt/salome-${PV}/${MODULE_NAME}"
+KERNEL_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..."
+
+ #Warn about mpi use flag for hdf5
+ if built_with_use sci-libs/hdf5 mpi ; then
+ ewarn "mpi use flag enabled for sci-libs/hdf5, this may cause the build to fail for salome-kernel"
+ fi
+
+ 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}_openpbs.patch
+ epatch "${FILESDIR}"/${P}-Batch_Couple.patch
+ # If Python 2.5 is planned to be used, the following patch must be applied. This, however,
+ # needs to be thoroughly tested!
+ #epatch "${FILESDIR}"/${P}-pyobject.patch
+
+ # Fix for mpich2 detection, this is also used by salome-component at least
+ epatch "${FILESDIR}"/${P}-mpich2.patch
+
+ # Correct the Salome version number
+ sed -i "s:3.2.5:3.2.6:g" configure.ac
+
+ ./clean_configure
+ ./build_configure
+}
+
+
+src_compile()
+{
+ cd "${MY_S}"
+
+ local myconf="--with-tcl=/usr/$(get_libdir)/ --with-tk=/usr/$(get_libdir)/"
+
+ if use !X ; then
+ die "Salome functionnalities imply X support! Check your USE flags configuration."
+ fi
+
+ # Compiler and linker flags
+ if use amd64 ; then
+ append-flags -m64
+ fi
+
+ # CXXFLAGS are slightly modified to allow the compilation of
+ # salome-kernel with OpenCascade and gcc-4.1.x
+ if version_is_at_least "4.1" $(gcc-version) ; then
+ append-flags -ffriend-injection -fpermissive
+ fi
+
+ # Specifying --without-<flag> for mpi / mpich / openpbs
+ # 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
+ if use openpbs ; then
+ myconf="${myconf} --with-openpbs"
+ fi
+
+
+ # Configuration
+ econf --prefix=${INSTALL_DIR} \
+ --docdir=${INSTALL_DIR}/share/doc/salome \
+ --infodir=${INSTALL_DIR}/share/info \
+ --datadir=${INSTALL_DIR}/share/salome \
+ --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) \
+ $(use_enable corba corba-gen) \
+ || die "configuration failed"
+
+ # Compilation
+ emake || die "compilation failed"
+}
+
+
+src_install()
+{
+ cd "${MY_S}"
+
+ # Installation
+ emake prefix="${D}/${INSTALL_DIR}" \
+ docdir="${D}/${INSTALL_DIR}/share/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 "KERNEL_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}
+ if use doc ; then
+ dodoc AUTHORS ChangeLog COPYING INSTALL LICENCE NEWS README README.FIRST.txt
+ fi
+
+ # If use omniORB as corba
+ if use corba ; then
+ sed -i 's@import CORBA@from omniORB import CORBA@' ${D}/${INSTALL_DIR}/bin/salome/runSalome.py
+ fi
+
+ # Install icon and .desktop for menu entry
+ doicon "${FILESDIR}"/${PN}.png
+ make_desktop_entry runSalome Salome ${PN}.png "Science;Engineering"
+}
+
+pkg_postinst() {
+
+ elog "Run \`env-update && source /etc/profile\`"
+ elog "now to set up the correct paths."
+ elog ""
+
+ ewarn "note a small change to /etc/hosts may be required"
+ ewarn "salome doesn't seem to recognise localhost within the hosts file"
+ ewarn "a line such as"
+ ewarn "127.0.0.1 name.domain name"
+ ewarn "may be required within /etc/hosts"
+ ewarn ""
+}