commit:     4136e14b173bf3797f0084496da9ec5beded5c78
Author:     Rongcui Dong <carldong76 <AT> gmail <DOT> com>
AuthorDate: Sun Sep  7 15:21:21 2014 +0000
Commit:     Jauhien Piatlicki <jauhien <AT> gentoo <DOT> org>
CommitDate: Sun Sep  7 15:21:21 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=4136e14b

sci-libs/calculix-cgx: Fixed document install and fixed freeglut-2.8.1
support

---
 sci-libs/calculix-cgx/ChangeLog                    |  6 ++
 ...x-cgx-2.7.ebuild => calculix-cgx-2.7-r1.ebuild} |  6 +-
 .../files/02_cgx_2.7_menu_fix-freeglut_2.8.1.patch | 73 ++++++++++++++++++++++
 3 files changed, 84 insertions(+), 1 deletion(-)

diff --git a/sci-libs/calculix-cgx/ChangeLog b/sci-libs/calculix-cgx/ChangeLog
index aeec23f..f2ed22b 100644
--- a/sci-libs/calculix-cgx/ChangeLog
+++ b/sci-libs/calculix-cgx/ChangeLog
@@ -2,6 +2,12 @@
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+*calculix-cgx-2.7-r1 (07 Sep 2014)
+
+  07 Sep 2014; Rongcui Dong <[email protected]> +calculix-cgx-2.7-r1.ebuild,
+  +files/02_cgx_2.7_menu_fix-freeglut_2.8.1.patch, -calculix-cgx-2.7.ebuild:
+  Fixed documentation install and support for freeglut-2.8.1
+
 *calculix-cgx-2.7 (05 Sep 2014)
 
   05 Sep 2014; Rongcui Dong <[email protected]> +calculix-cgx-2.7.ebuild,

diff --git a/sci-libs/calculix-cgx/calculix-cgx-2.7.ebuild 
b/sci-libs/calculix-cgx/calculix-cgx-2.7-r1.ebuild
similarity index 89%
rename from sci-libs/calculix-cgx/calculix-cgx-2.7.ebuild
rename to sci-libs/calculix-cgx/calculix-cgx-2.7-r1.ebuild
index db1a43d..dcf4a78 100644
--- a/sci-libs/calculix-cgx/calculix-cgx-2.7.ebuild
+++ b/sci-libs/calculix-cgx/calculix-cgx-2.7-r1.ebuild
@@ -26,8 +26,13 @@ DEPEND="${RDEPEND}
 
 S=${WORKDIR}/CalculiX/${MY_P}/src/
 
+src_unpack() {
+       default
+       cp "${DISTDIR}/${MY_P}.pdf" "${S}"
+}
 src_prepare() {
        epatch "${FILESDIR}"/01_${MY_P}_Makefile_custom_cxx_flags.patch
+       epatch "${FILESDIR}"/02_${MY_P}_menu_fix-freeglut_2.8.1.patch
 }
 
 src_configure () {
@@ -43,7 +48,6 @@ src_install () {
        dobin cgx
 
        if use doc; then
-               cd "${WORKDIR}"
                dodoc ${MY_P}.pdf
        fi
 

diff --git 
a/sci-libs/calculix-cgx/files/02_cgx_2.7_menu_fix-freeglut_2.8.1.patch 
b/sci-libs/calculix-cgx/files/02_cgx_2.7_menu_fix-freeglut_2.8.1.patch
new file mode 100644
index 0000000..8f304af
--- /dev/null
+++ b/sci-libs/calculix-cgx/files/02_cgx_2.7_menu_fix-freeglut_2.8.1.patch
@@ -0,0 +1,73 @@
+diff -rupN CalculiX/cgx_2.7/src/cgx.c CalculiX.patched/cgx_2.7/src/cgx.c
+--- CalculiX/cgx_2.7/src/cgx.c 2014-02-18 13:43:53.000000000 -0500
++++ CalculiX.patched/cgx_2.7/src/cgx.c 2014-09-07 10:59:21.396969109 -0400
+@@ -240,6 +240,9 @@ int   subsubmenu_entity=-1, subsubmenu_p
+ int   subsubmenu_animTune=-1, subsubmenu_animSteps=-1;
+ int   subsubmenu_animPeriod=-1;
+ 
++char recompileFlag=0; /* 0 if nothing to recompile */
++int recompileMenu=0; /* If recompile needed, set to lc */
++
+ GLfloat lmodel_twoside[] = { GL_TRUE };
+ GLfloat lmodel_oneside[] = { GL_FALSE };
+ double dx ,dy;                                      /* Mauskoordinaten im 
bereich +-1*/
+@@ -397,6 +400,12 @@ void allocUtilityData(void)
+ }
+ 
+ 
++void queueRecompileEntitiesInMenu(int lc) 
++{
++  recompileFlag = 1;
++  recompileMenu = lc;
++}
++
+ 
+ 
+ #if INX_MODE
+@@ -3105,7 +3114,7 @@ void selectDataset( int selection )
+       seqLC[2]=anz->l-1;
+   }/* no sequence until a new entity is selected and all data are prepared */
+ 
+-  recompileEntitiesInMenu(pre_lc);
++  queueRecompileEntitiesInMenu(pre_lc);
+ }
+ 
+ 
+@@ -3133,7 +3142,15 @@ void createNewMainMenu(void)
+   glutSetWindow( activWindow);
+ }
+ 
+-
++void processMenuStatus(int status, int x, int y) 
++{
++  if (status == GLUT_MENU_NOT_IN_USE) {
++    if (recompileFlag) {
++      recompileEntitiesInMenu(recompileMenu);
++      recompileFlag = 0;
++    }
++  }
++}
+ 
+ void recompileEntitiesInMenu(int lc)
+ {
+@@ -5486,6 +5503,7 @@ int main ( int argc, char **argv )
+   glutSpecialFunc ( specialKeyboard );
+   glutEntryFunc ( entryfunktion );
+   glutPassiveMotionFunc ( Mouse );
++  glutMenuStatusFunc( processMenuStatus );
+   glDisable(GL_DITHER);
+   glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_oneside);
+   glCullFace ( GL_BACK );
+diff -rupN CalculiX/cgx_2.7/src/extUtil.h 
CalculiX.patched/cgx_2.7/src/extUtil.h
+--- CalculiX/cgx_2.7/src/extUtil.h     2014-02-18 13:44:22.000000000 -0500
++++ CalculiX.patched/cgx_2.7/src/extUtil.h     2014-09-07 10:54:05.816962047 
-0400
+@@ -34,7 +34,8 @@ void printf_fflush(const char *fmt,...);
+ }
+   #endif
+ #else
+-  #include <GL/glut_cgx.h>
++  //#include <GL/glut_cgx.h>
++  #include <GL/glut.h>
+ #endif
+ 
+ #define     PI          3.14159265358979323846264338327950288

Reply via email to