octa: new package. (#29333)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							99c1f9b987
						
					
				
				
					commit
					5a85b181d3
				
			
							
								
								
									
										10
									
								
								var/spack/repos/builtin/packages/octa/aarch64.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								var/spack/repos/builtin/packages/octa/aarch64.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
--- spack-src/GOURMET/src/pfgetsystem.org	2022-03-01 18:06:07.000000000 +0900
 | 
			
		||||
+++ spack-src/GOURMET/src/pfgetsystem	2022-03-01 18:08:26.000000000 +0900
 | 
			
		||||
@@ -159,6 +159,7 @@
 | 
			
		||||
              ppc*) S='linux_ppc' ;;
 | 
			
		||||
              hp_pa*) S='linux_hppa' ;;
 | 
			
		||||
              ia64) S='linux_ia64' ;;
 | 
			
		||||
+             aarch64) S='linux_aarch64' ;;
 | 
			
		||||
              esac
 | 
			
		||||
           ;;
 | 
			
		||||
           FreeBSD)
 | 
			
		||||
							
								
								
									
										90
									
								
								var/spack/repos/builtin/packages/octa/jogl.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								var/spack/repos/builtin/packages/octa/jogl.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,90 @@
 | 
			
		||||
diff -ru spack-src/GOURMET/src/java/platform/show.org/JOGLCanvasBase.java spack-src/GOURMET/src/java/platform/show/JOGLCanvasBase.java
 | 
			
		||||
--- spack-src/GOURMET/src/java/platform/show.org/JOGLCanvasBase.java	2022-03-02 10:49:48.000000000 +0900
 | 
			
		||||
+++ spack-src/GOURMET/src/java/platform/show/JOGLCanvasBase.java	2022-03-02 10:50:36.000000000 +0900
 | 
			
		||||
@@ -7,24 +7,24 @@
 | 
			
		||||
 package platform.show;
 | 
			
		||||
 
 | 
			
		||||
 /* JOGL v2.2.4 */
 | 
			
		||||
-import javax.media.opengl.GL;
 | 
			
		||||
-import javax.media.opengl.GLAutoDrawable;
 | 
			
		||||
+//import javax.media.opengl.GL;
 | 
			
		||||
+//import javax.media.opengl.GLAutoDrawable;
 | 
			
		||||
 // JOGL V1.*
 | 
			
		||||
 //import javax.media.opengl.GLCanvas;
 | 
			
		||||
 // JOGL V2.*
 | 
			
		||||
 //import javax.media.opengl.awt.GLCanvas;
 | 
			
		||||
-import javax.media.opengl.awt.GLJPanel;
 | 
			
		||||
+//import javax.media.opengl.awt.GLJPanel;
 | 
			
		||||
 // JOGL V1.* or V2.* 
 | 
			
		||||
-import javax.media.opengl.GLCapabilities;
 | 
			
		||||
-import javax.media.opengl.GLContext;
 | 
			
		||||
-import javax.media.opengl.GLEventListener;
 | 
			
		||||
+//import javax.media.opengl.GLCapabilities;
 | 
			
		||||
+//import javax.media.opengl.GLContext;
 | 
			
		||||
+//import javax.media.opengl.GLEventListener;
 | 
			
		||||
 // JOGL V2.*
 | 
			
		||||
-import javax.media.opengl.GLProfile;
 | 
			
		||||
+//import javax.media.opengl.GLProfile;
 | 
			
		||||
 
 | 
			
		||||
-/* JOGL v2.3.2 *
 | 
			
		||||
+/* JOGL v2.3.2 */
 | 
			
		||||
 import com.jogamp.opengl.*;
 | 
			
		||||
 import com.jogamp.opengl.awt.GLJPanel;
 | 
			
		||||
-*/
 | 
			
		||||
+
 | 
			
		||||
 /**
 | 
			
		||||
  * Common GLCanvas Class
 | 
			
		||||
  */
 | 
			
		||||
diff -ru spack-src/GOURMET/src/java/platform/show.org/JOGLCanvas.java spack-src/GOURMET/src/java/platform/show/JOGLCanvas.java
 | 
			
		||||
--- spack-src/GOURMET/src/java/platform/show.org/JOGLCanvas.java	2022-03-02 10:49:48.000000000 +0900
 | 
			
		||||
+++ spack-src/GOURMET/src/java/platform/show/JOGLCanvas.java	2022-03-02 10:41:56.000000000 +0900
 | 
			
		||||
@@ -15,14 +15,15 @@
 | 
			
		||||
 import java.util.LinkedList;
 | 
			
		||||
 import java.util.List;
 | 
			
		||||
 
 | 
			
		||||
-/* JOGL v2.2.4 */
 | 
			
		||||
+/* JOGL v2.2.4 *
 | 
			
		||||
 import javax.media.opengl.GLAutoDrawable;
 | 
			
		||||
 import javax.media.opengl.GLCapabilities;
 | 
			
		||||
+*/
 | 
			
		||||
 
 | 
			
		||||
-/* JOGL v2.3.2 *
 | 
			
		||||
+/* JOGL v2.3.2 */
 | 
			
		||||
 import com.jogamp.opengl.GLAutoDrawable;
 | 
			
		||||
 import com.jogamp.opengl.GLCapabilities;
 | 
			
		||||
-*/
 | 
			
		||||
+
 | 
			
		||||
 import platform.util.DataDriver;
 | 
			
		||||
 import platform.util.IndexArraySet;
 | 
			
		||||
 import platform.util.NativeDrawObject;
 | 
			
		||||
diff -ru spack-src/GOURMET/src/java/platform/show.org/PickingCanvas.java spack-src/GOURMET/src/java/platform/show/PickingCanvas.java
 | 
			
		||||
--- spack-src/GOURMET/src/java/platform/show.org/PickingCanvas.java	2022-03-02 10:49:48.000000000 +0900
 | 
			
		||||
+++ spack-src/GOURMET/src/java/platform/show/PickingCanvas.java	2022-03-02 10:41:56.000000000 +0900
 | 
			
		||||
@@ -14,12 +14,13 @@
 | 
			
		||||
 import java.awt.event.MouseMotionListener;
 | 
			
		||||
 import java.util.ArrayList;
 | 
			
		||||
 
 | 
			
		||||
-/* JOGL v2.2.4 */
 | 
			
		||||
+/* JOGL v2.2.4 *
 | 
			
		||||
 import javax.media.opengl.GLCapabilities;
 | 
			
		||||
+*/
 | 
			
		||||
 
 | 
			
		||||
-/* JOGL v2.3.2 *
 | 
			
		||||
+/* JOGL v2.3.2 */
 | 
			
		||||
 import com.jogamp.opengl.GLCapabilities;
 | 
			
		||||
-*/
 | 
			
		||||
+
 | 
			
		||||
 import javax.swing.SwingUtilities;
 | 
			
		||||
 
 | 
			
		||||
 import platform.util.IndexArraySet;
 | 
			
		||||
--- spack-src/GOURMET/src/java/platform/show/PickingCanvas.java.org	2022-03-02 11:50:02.000000000 +0900
 | 
			
		||||
+++ spack-src/GOURMET/src/java/platform/show/PickingCanvas.java	2022-03-02 11:52:57.000000000 +0900
 | 
			
		||||
@@ -341,7 +341,7 @@
 | 
			
		||||
 		// Begin of drawing process.
 | 
			
		||||
 		if(!makeCurrent()) return null;
 | 
			
		||||
 		// for HiDPI display
 | 
			
		||||
-		int[] scale = getCurrentSurfaceScale(new int[2]); /* int -> float in later version */
 | 
			
		||||
+		float[] scale = getCurrentSurfaceScale(new float[2]);
 | 
			
		||||
 		x *= scale[0];
 | 
			
		||||
 		y *= scale[1];
 | 
			
		||||
 		////////////////////////////////////////////////////////
 | 
			
		||||
@@ -0,0 +1,30 @@
 | 
			
		||||
--- OCTA84/GOURMET/src/view3d/uogl/src/uogl_mesh.cpp.org	2022-03-02 13:39:04.000000000 +0900
 | 
			
		||||
+++ OCTA84/GOURMET/src/view3d/uogl/src/uogl_mesh.cpp	2022-03-02 13:39:49.000000000 +0900
 | 
			
		||||
@@ -2331,9 +2331,9 @@
 | 
			
		||||
 		arw->_xyz[1] = (float)(arrowk.point1[1] * ss + arrowk.point2[1] * tt);
 | 
			
		||||
 		arw->_xyz[2] = (float)(arrowk.point1[2] * ss + arrowk.point2[2] * tt);
 | 
			
		||||
 		float vct[3] = {
 | 
			
		||||
-			(vctp[0][0] * ss + vctp[1][0] * tt),
 | 
			
		||||
-			(vctp[0][1] * ss + vctp[1][1] * tt),
 | 
			
		||||
-			(vctp[0][2] * ss + vctp[1][2] * tt)
 | 
			
		||||
+			(float)(vctp[0][0] * ss + vctp[1][0] * tt),
 | 
			
		||||
+			(float)(vctp[0][1] * ss + vctp[1][1] * tt),
 | 
			
		||||
+			(float)(vctp[0][2] * ss + vctp[1][2] * tt)
 | 
			
		||||
 		};
 | 
			
		||||
 		arw->_length = fuoglLength( vct );
 | 
			
		||||
 		if( arw->_length <= 1e-20f ){
 | 
			
		||||
--- spack-src/GOURMET/src/view3d/uogl/src/uogl_unmesh.cpp.org	2022-03-02 15:10:17.000000000 +0900
 | 
			
		||||
+++ spack-src/GOURMET/src/view3d/uogl/src/uogl_unmesh.cpp	2022-03-02 15:10:56.000000000 +0900
 | 
			
		||||
@@ -1475,9 +1475,9 @@
 | 
			
		||||
 	arw->_xyz[1] = (float)(point1[1] * ss + point2[1] * arrowk.tt);
 | 
			
		||||
 	arw->_xyz[2] = (float)(point1[2] * ss + point2[2] * arrowk.tt);
 | 
			
		||||
 	float vct[3] = {
 | 
			
		||||
-		(vector1[0] * ss + vector2[0] * arrowk.tt),
 | 
			
		||||
-		(vector1[1] * ss + vector2[1] * arrowk.tt),
 | 
			
		||||
-		(vector1[2] * ss + vector2[2] * arrowk.tt)
 | 
			
		||||
+		(float)(vector1[0] * ss + vector2[0] * arrowk.tt),
 | 
			
		||||
+		(float)(vector1[1] * ss + vector2[1] * arrowk.tt),
 | 
			
		||||
+		(float)(vector1[2] * ss + vector2[2] * arrowk.tt)
 | 
			
		||||
 	};
 | 
			
		||||
 	arw->_length = fuoglLength( vct );
 | 
			
		||||
 	if( arw->_length <= 1e-20f ){
 | 
			
		||||
							
								
								
									
										55
									
								
								var/spack/repos/builtin/packages/octa/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								var/spack/repos/builtin/packages/octa/package.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
 | 
			
		||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
 | 
			
		||||
#
 | 
			
		||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
 | 
			
		||||
 | 
			
		||||
from spack import *
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Octa(AutotoolsPackage):
 | 
			
		||||
    """OCTA is an integrated simulation system for soft materials."""
 | 
			
		||||
 | 
			
		||||
    homepage = "https://octa.jp"
 | 
			
		||||
    url      = "http://49.212.191.63/phpBB/download/file.php?id=3454&sid=3dfae182c664d1f5960d9ca63c40798a"
 | 
			
		||||
 | 
			
		||||
    version('8.4', 'b76d25f333fef76601bfe8262e9a748154280d5408ea823fa6530a6f3f86b51b', extension='tar.gz')
 | 
			
		||||
 | 
			
		||||
    depends_on('autoconf', type='build')
 | 
			
		||||
    depends_on('automake', type='build')
 | 
			
		||||
    depends_on('libtool', type='build')
 | 
			
		||||
    depends_on('libjpeg', type='link')
 | 
			
		||||
    depends_on('libpng', type='link')
 | 
			
		||||
    depends_on('zlib', type='link')
 | 
			
		||||
    depends_on('jogl')
 | 
			
		||||
    depends_on('python')
 | 
			
		||||
    depends_on('gnuplot', type='run')
 | 
			
		||||
    depends_on('py-numpy')
 | 
			
		||||
    depends_on('py-scipy')
 | 
			
		||||
    depends_on('py-numba')
 | 
			
		||||
 | 
			
		||||
    # specify for linux_aarch64
 | 
			
		||||
    patch('aarch64.patch', when='target=aarch64:')
 | 
			
		||||
    # For jogl 2.3.2 or later
 | 
			
		||||
    patch('jogl.patch')
 | 
			
		||||
    # patch for non-constant-expression cannot be narrowed error.
 | 
			
		||||
    patch('narrowed-initialize.patch')
 | 
			
		||||
 | 
			
		||||
    configure_directory = join_path('GOURMET', 'src')
 | 
			
		||||
 | 
			
		||||
    def patch(self):
 | 
			
		||||
        with working_dir(self.configure_directory):
 | 
			
		||||
            copy('jogltest.java_v232', 'jogltest.java')
 | 
			
		||||
 | 
			
		||||
    def configure_args(self):
 | 
			
		||||
        spec = self.spec
 | 
			
		||||
        args = ['--with-python={0}'.format(spec['python'].command),
 | 
			
		||||
                '--with-java-home={0}'.format(spec['java'].prefix),
 | 
			
		||||
                '--with-jogl-jar={0}'.format(spec['jogl'].prefix.lib),
 | 
			
		||||
                '--with-jogl-lib={0}'.format(spec['jogl'].prefix.lib)]
 | 
			
		||||
        return args
 | 
			
		||||
 | 
			
		||||
    def install(self, spec, prefix):
 | 
			
		||||
        mkdirp(prefix.bin)
 | 
			
		||||
        install(join_path('GOURMET', 'bin', '*.sh'), prefix.bin)
 | 
			
		||||
        with working_dir(self.configure_directory):
 | 
			
		||||
            make('install', parallel=False)
 | 
			
		||||
		Reference in New Issue
	
	Block a user