octa: new package. (#29333)
This commit is contained in:
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)
|
Loading…
Reference in New Issue
Block a user