aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryuri <yuri@FreeBSD.org>2018-09-14 15:44:45 +0800
committeryuri <yuri@FreeBSD.org>2018-09-14 15:44:45 +0800
commit68c1aaea0f70099d9e29c1183fb5b02ef6dbad31 (patch)
tree2cf8792bc09964997d684301207d83f57a683a8b
parentab999956c0c7e302ac269a71a43b9b7330dd5722 (diff)
downloadfreebsd-ports-gnome-68c1aaea0f70099d9e29c1183fb5b02ef6dbad31.tar.gz
freebsd-ports-gnome-68c1aaea0f70099d9e29c1183fb5b02ef6dbad31.tar.zst
freebsd-ports-gnome-68c1aaea0f70099d9e29c1183fb5b02ef6dbad31.zip
New port: science/luscus: Molecular editor and viewer
-rw-r--r--science/Makefile1
-rw-r--r--science/luscus/Makefile34
-rw-r--r--science/luscus/distinfo3
-rw-r--r--science/luscus/files/patch-CMakeLists.txt67
-rw-r--r--science/luscus/pkg-descr11
-rw-r--r--science/luscus/pkg-plist62
6 files changed, 178 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index 55d15fb80972..182d4c9e3c73 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -120,6 +120,7 @@
SUBDIR += libxc
SUBDIR += linsmith
SUBDIR += lm
+ SUBDIR += luscus
SUBDIR += madness
SUBDIR += massxpert
SUBDIR += mbdyn
diff --git a/science/luscus/Makefile b/science/luscus/Makefile
new file mode 100644
index 000000000000..0ef195586ea3
--- /dev/null
+++ b/science/luscus/Makefile
@@ -0,0 +1,34 @@
+# $FreeBSD$
+
+PORTNAME= luscus
+DISTVERSION= 0.8.5
+CATEGORIES= science
+MASTER_SITES= SF/${PORTNAME}/
+DISTNAME= ${PORTNAME}_${DISTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Molecular editor and viewer
+
+LICENSE= AFL
+LICENSE_NAME= Academic Free License
+LICENSE_FILE= ${WRKSRC}/License.txt
+LICENSE_PERMS= auto-accept dist-mirror pkg-mirror
+
+LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libgdkglext-x11-1.0.so:x11-toolkits/gtkglext
+RUN_DEPENDS= bash:shells/bash \
+ babel:science/openbabel
+
+USES= cmake:outsource gettext-runtime pkgconfig shebangfix
+SHEBANG_GLOB= *.sh
+USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk20 pango pangox-compat
+USE_GL= gl glu
+USE_XORG= x11
+
+post-patch:
+ @${REINPLACE_CMD} 's|/etc/luscus|${DATADIR}|' ${WRKSRC}/gv_system.c
+ @${REINPLACE_CMD} -i '' 's|$$HOME/\.${PORTNAME}/|${LOCALBASE}/bin/|' ${WRKSRC}/*/*/*.sh
+ @${REINPLACE_CMD} -i '' 's|$$RUNDIR/|${LOCALBASE}/bin/|' ${WRKSRC}/*/*/*.sh
+
+.include <bsd.port.mk>
diff --git a/science/luscus/distinfo b/science/luscus/distinfo
new file mode 100644
index 000000000000..0a6dc4e2d1fa
--- /dev/null
+++ b/science/luscus/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1534127415
+SHA256 (luscus_0.8.5.tar.gz) = 1f54f9f2d1efe612cc698af59465526e595dfb0bb0ce9960432be61183eb0e33
+SIZE (luscus_0.8.5.tar.gz) = 261728
diff --git a/science/luscus/files/patch-CMakeLists.txt b/science/luscus/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..c22bbee5d4a2
--- /dev/null
+++ b/science/luscus/files/patch-CMakeLists.txt
@@ -0,0 +1,67 @@
+--- CMakeLists.txt.orig 2018-03-06 12:11:32 UTC
++++ CMakeLists.txt
+@@ -7,8 +7,10 @@ set(luscus_VERSION_MAJOR 0)
+ set(luscus_VERSION_MINOR 8)
+ set(luscus_VERSION_REVISION 5)
+
+-check_function_exists(strcasestr HAVE_STRCASESTR)
+-check_function_exists(strcasecmp HAVE_STRCASECMP)
++#check_function_exists(strcasestr HAVE_STRCASESTR)
++#check_function_exists(strcasecmp HAVE_STRCASECMP)
++add_compile_definitions(HAVE_STRCASESTR)
++add_compile_definitions(HAVE_STRCASECMP)
+
+ configure_file("${PROJECT_SOURCE_DIR}/luscus.h.in" "${PROJECT_BINARY_DIR}/luscus.h")
+
+@@ -23,12 +25,12 @@ set(USE_GTK3 ON)
+
+ # CMAKE_INSTALL_PREFIX
+
+-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
++if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "^(FreeBSD|DragonFly)$")
+ add_definitions(-DLINUX)
+ pkg_check_modules(GTK2 QUIET gtk+-2.0 gl glu)
+ # if (EXISTS ${CMAKE_PREFIX_PATH})
+- if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT MATCHES 1)
+- set(CONFIG_DIR "/etc/luscus")
++ if (TRUE OR CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT MATCHES 1)
++ set(CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/luscus")
+ # message(status " CMAKE_PREFIX_PATH NOT DEFINED!") # DEBUG
+ else ()
+ set(CONFIG_DIR "$ENV{HOME}/.luscus")
+@@ -95,7 +97,7 @@ if(USE_GTK3)
+ endif(NOT GTK3_FOUND)
+ endif(USE_GTK3)
+
+-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
++if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "^(FreeBSD|DragonFly)$")
+ add_definitions(-DLINUX)
+ elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+ add_definitions(-DWINDOWS)
+@@ -108,11 +110,11 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "Linu
+ #option(COMPILE_PLUGINS ON)
+ option(INSTALL_BABEL_PLUGINS ON)
+
+-if(HAVE_STRCASESTR)
++#if(HAVE_STRCASESTR)
+ add_executable(luscus main.c gtk_gui.c gv_menubar.c gv_system.c gv_notebook.c backup_file.c findsym.c gv_about.c gv_atoms.c gv_geom.c gv_fragments.c gv_gtk_atom_list.c gv_gtk_multiview.c gv_notebook.c luscus_gtk_util.c mystring.c screenshot.c gveps.c gvgrp.c findsym.c gv_gtk_help.c gv_gtk_xyz_editor.c pixeldata.c write_file.c read_file.c surface.c gv_gtk_make_graph.c luscus_gtk_handle.c mcube.c vstring.c)
+-else(HAVE_STRCASESTR)
+-add_executable(luscus main.c gtk_gui.c gv_menubar.c gv_system.c gv_notebook.c backup_file.c findsym.c gv_about.c gv_atoms.c gv_geom.c gv_fragments.c gv_gtk_atom_list.c gv_gtk_multiview.c gv_notebook.c luscus_gtk_util.c mystring.c screenshot.c gveps.c gvgrp.c findsym.c gv_gtk_help.c gv_gtk_xyz_editor.c pixeldata.c write_file.c read_file.c surface.c gv_gtk_make_graph.c luscus_gtk_handle.c mcube.c vstring.c stdext.c)
+-endif(HAVE_STRCASESTR)
++#else(HAVE_STRCASESTR)
++#add_executable(luscus main.c gtk_gui.c gv_menubar.c gv_system.c gv_notebook.c backup_file.c findsym.c gv_about.c gv_atoms.c gv_geom.c gv_fragments.c gv_gtk_atom_list.c gv_gtk_multiview.c gv_notebook.c luscus_gtk_util.c mystring.c screenshot.c gveps.c gvgrp.c findsym.c gv_gtk_help.c gv_gtk_xyz_editor.c pixeldata.c write_file.c read_file.c surface.c gv_gtk_make_graph.c luscus_gtk_handle.c mcube.c vstring.c stdext.c)
++#endif(HAVE_STRCASESTR)
+
+
+ if(USE_GTK3)
+@@ -167,8 +169,8 @@ add_subdirectory(plugins/xyz)
+ add_subdirectory(plugins/diffdens)
+
+ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+- find_program(HAS_BABEL NAME babel PATHS ${COMPILER_LOCATION})
+- if(HAS_BABEL)
++ #find_program(HAS_BABEL NAME babel PATHS ${COMPILER_LOCATION})
++ if(TRUE OR HAS_BABEL)
+ message(status " found babel; installing babel plugins!")
+ add_subdirectory(plugins_babel/cif)
+ add_subdirectory(plugins_babel/g03)
diff --git a/science/luscus/pkg-descr b/science/luscus/pkg-descr
new file mode 100644
index 000000000000..6fe12368f07c
--- /dev/null
+++ b/science/luscus/pkg-descr
@@ -0,0 +1,11 @@
+Luscus is the program for graphical display and editing of molecular systems.
+The program allows fast and easy building and/or editing different molecular
+structures, up to several thousands of atoms large. Luscus can also visualize
+dipole moments, normal modes, molecular orbitals, electron densities and
+electrostatic potentials. In addition, simple geometrical objects can be
+rendered in order to point out a geometrical feature or a physical quantity.
+The program is developed as a graphical interface for MOLCAS program package,
+however it's adaptive nature makes possible using luscus with other
+computational program packages and chemical formats.
+
+WWW: https://sourceforge.net/projects/luscus/
diff --git a/science/luscus/pkg-plist b/science/luscus/pkg-plist
new file mode 100644
index 000000000000..2979e15ce40e
--- /dev/null
+++ b/science/luscus/pkg-plist
@@ -0,0 +1,62 @@
+bin/babel_cif_in.sh
+bin/babel_cif_out.sh
+bin/babel_g03_in.sh
+bin/babel_g03_out.sh
+bin/babel_g98_in.sh
+bin/babel_g98_out.sh
+bin/babel_mopac_in.sh
+bin/babel_mopac_out.sh
+bin/babel_pdb_in.sh
+bin/babel_pdb_out.sh
+bin/diffdens.exe
+bin/gamess2lus.exe
+bin/gv2xyz.exe
+bin/lus2gvorb.exe
+bin/luscus
+bin/molden2lus.exe
+bin/xyz2gv.exe
+%%DATADIR%%/atoms.rc
+%%DATADIR%%/calculation.rc
+%%DATADIR%%/fragments.rc
+%%DATADIR%%/frg01.gv
+%%DATADIR%%/frg01.xpm
+%%DATADIR%%/frg02.gv
+%%DATADIR%%/frg02.xpm
+%%DATADIR%%/frg03.gv
+%%DATADIR%%/frg03.xpm
+%%DATADIR%%/frg04.gv
+%%DATADIR%%/frg04.xpm
+%%DATADIR%%/frg05.gv
+%%DATADIR%%/frg05.xpm
+%%DATADIR%%/frg06.gv
+%%DATADIR%%/frg06.xpm
+%%DATADIR%%/frg07.gv
+%%DATADIR%%/frg07.xpm
+%%DATADIR%%/frg08.gv
+%%DATADIR%%/frg08.xpm
+%%DATADIR%%/frg09.gv
+%%DATADIR%%/frg09.xpm
+%%DATADIR%%/frg10.gv
+%%DATADIR%%/frg10.xpm
+%%DATADIR%%/frg11.gv
+%%DATADIR%%/frg11.xpm
+%%DATADIR%%/frg12.gv
+%%DATADIR%%/frg12.xpm
+%%DATADIR%%/frg13.gv
+%%DATADIR%%/frg13.xpm
+%%DATADIR%%/frg14.gv
+%%DATADIR%%/frg14.xpm
+%%DATADIR%%/frg15.gv
+%%DATADIR%%/frg15.xpm
+%%DATADIR%%/frg16.gv
+%%DATADIR%%/frg16.xpm
+%%DATADIR%%/frg17.gv
+%%DATADIR%%/frg17.xpm
+%%DATADIR%%/frg18.gv
+%%DATADIR%%/frg18.xpm
+%%DATADIR%%/frg19.gv
+%%DATADIR%%/frg19.xpm
+%%DATADIR%%/frg20.gv
+%%DATADIR%%/frg20.xpm
+%%DATADIR%%/luscus.rc
+%%DATADIR%%/plugin.rc