1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-25 09:34:11 +00:00

science/{,py-}gemmi: New ports: Macromolecular crystallography library and utilities

This commit is contained in:
Yuri Victorovich 2022-10-03 18:34:24 -07:00
parent 742c1c0610
commit 8a36560387
9 changed files with 352 additions and 0 deletions

View File

@ -98,6 +98,7 @@
SUBDIR += gbtolib
SUBDIR += gchemutils
SUBDIR += gdma
SUBDIR += gemmi
SUBDIR += getdp
SUBDIR += ghemical
SUBDIR += ghmm
@ -303,6 +304,7 @@
SUBDIR += py-eccodes
SUBDIR += py-esda
SUBDIR += py-fresnel
SUBDIR += py-gemmi
SUBDIR += py-geolinks
SUBDIR += py-geomet
SUBDIR += py-geometer

24
science/gemmi/Makefile Normal file
View File

@ -0,0 +1,24 @@
PORTNAME= gemmi
DISTVERSIONPREFIX= v
DISTVERSION= 0.5.7
CATEGORIES= science
MAINTAINER= yuri@FreeBSD.org
COMMENT= Macromolecular crystallography library and utilities
WWW= https://gemmi.readthedocs.io/en/latest/
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
USES= cmake:testing compiler:c++17-lang # tests don't run, see https://github.com/project-gemmi/gemmi/issues/231
USE_GITHUB= yes
GH_ACCOUNT= project-gemmi
OPTIONS_DEFINE= FORTRAN
FORTRAN_USES= fortran
FORTRAN_CMAKE_BOOL= USE_FORTRAN
FORTRAN_BROKEN= project option doesn't do anything, see https://github.com/project-gemmi/gemmi/issues/232
.include <bsd.port.mk>

3
science/gemmi/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1664834213
SHA256 (project-gemmi-gemmi-v0.5.7_GH0.tar.gz) = dede98c52920dac4a86dd77f38daa20bc8a1449ce16833815f5b563f4e8384a0
SIZE (project-gemmi-gemmi-v0.5.7_GH0.tar.gz) = 1677695

7
science/gemmi/pkg-descr Normal file
View File

@ -0,0 +1,7 @@
Gemmi is a library, accompanied by a set of programs, developed primarily for
use in macromolecular crystallography (MX). For working with:
* macromolecular models (content of PDB, PDBx/mmCIF and mmJSON files),
* refinement restraints (CIF files),
* reflection data (MTZ and mmCIF formats),
* data on a 3D grid (electron density maps, masks, MRC/CCP4 format)
* crystallographic symmetry.

231
science/gemmi/pkg-plist Normal file
View File

@ -0,0 +1,231 @@
bin/gemmi
include/gemmi/addends.hpp
include/gemmi/align.hpp
include/gemmi/assembly.hpp
include/gemmi/asudata.hpp
include/gemmi/asumask.hpp
include/gemmi/atof.hpp
include/gemmi/atox.hpp
include/gemmi/bessel.hpp
include/gemmi/binner.hpp
include/gemmi/blob.hpp
include/gemmi/c4322.hpp
include/gemmi/calculate.hpp
include/gemmi/ccp4.hpp
include/gemmi/cellred.hpp
include/gemmi/chemcomp.hpp
include/gemmi/chemcomp_xyz.hpp
include/gemmi/cif.hpp
include/gemmi/cif2mtz.hpp
include/gemmi/cifdoc.hpp
include/gemmi/contact.hpp
include/gemmi/crd.hpp
include/gemmi/dencalc.hpp
include/gemmi/dirwalk.hpp
include/gemmi/eig3.hpp
include/gemmi/elem.hpp
include/gemmi/enumstr.hpp
include/gemmi/fail.hpp
include/gemmi/fileutil.hpp
include/gemmi/floodfill.hpp
include/gemmi/formfact.hpp
include/gemmi/fourier.hpp
include/gemmi/fprime.hpp
include/gemmi/fstream.hpp
include/gemmi/grid.hpp
include/gemmi/gz.hpp
include/gemmi/input.hpp
include/gemmi/interop.hpp
include/gemmi/it92.hpp
include/gemmi/iterator.hpp
include/gemmi/json.hpp
include/gemmi/levmar.hpp
include/gemmi/linkhunt.hpp
include/gemmi/math.hpp
include/gemmi/merge.hpp
include/gemmi/metadata.hpp
include/gemmi/mmcif.hpp
include/gemmi/mmcif_impl.hpp
include/gemmi/mmread.hpp
include/gemmi/model.hpp
include/gemmi/modify.hpp
include/gemmi/monlib.hpp
include/gemmi/mtz.hpp
include/gemmi/mtz2cif.hpp
include/gemmi/neighbor.hpp
include/gemmi/neutron92.hpp
include/gemmi/numb.hpp
include/gemmi/pdb.hpp
include/gemmi/pirfasta.hpp
include/gemmi/placeh.hpp
include/gemmi/polyheur.hpp
include/gemmi/qcp.hpp
include/gemmi/read_cif.hpp
include/gemmi/read_coor.hpp
include/gemmi/read_map.hpp
include/gemmi/recgrid.hpp
include/gemmi/reciproc.hpp
include/gemmi/refln.hpp
include/gemmi/reindex.hpp
include/gemmi/remarks.hpp
include/gemmi/resinfo.hpp
include/gemmi/scaling.hpp
include/gemmi/select.hpp
include/gemmi/seqalign.hpp
include/gemmi/seqid.hpp
include/gemmi/sfcalc.hpp
include/gemmi/small.hpp
include/gemmi/smcif.hpp
include/gemmi/solmask.hpp
include/gemmi/span.hpp
include/gemmi/sprintf.hpp
include/gemmi/symmetry.hpp
include/gemmi/third_party/fast_float.h
include/gemmi/third_party/pocketfft_hdronly.h
include/gemmi/third_party/sajson.h
include/gemmi/third_party/stb_sprintf.h
include/gemmi/third_party/tao/LICENSE
include/gemmi/third_party/tao/NOTES
include/gemmi/third_party/tao/pegtl.hpp
include/gemmi/third_party/tao/pegtl/analysis/analyze_cycles.hpp
include/gemmi/third_party/tao/pegtl/analysis/counted.hpp
include/gemmi/third_party/tao/pegtl/analysis/generic.hpp
include/gemmi/third_party/tao/pegtl/analysis/grammar_info.hpp
include/gemmi/third_party/tao/pegtl/analysis/insert_guard.hpp
include/gemmi/third_party/tao/pegtl/analysis/insert_rules.hpp
include/gemmi/third_party/tao/pegtl/analysis/rule_info.hpp
include/gemmi/third_party/tao/pegtl/analysis/rule_type.hpp
include/gemmi/third_party/tao/pegtl/analyze.hpp
include/gemmi/third_party/tao/pegtl/apply_mode.hpp
include/gemmi/third_party/tao/pegtl/argv_input.hpp
include/gemmi/third_party/tao/pegtl/ascii.hpp
include/gemmi/third_party/tao/pegtl/buffer_input.hpp
include/gemmi/third_party/tao/pegtl/config.hpp
include/gemmi/third_party/tao/pegtl/cstream_input.hpp
include/gemmi/third_party/tao/pegtl/eol.hpp
include/gemmi/third_party/tao/pegtl/eol_pair.hpp
include/gemmi/third_party/tao/pegtl/file_input.hpp
include/gemmi/third_party/tao/pegtl/input_error.hpp
include/gemmi/third_party/tao/pegtl/internal/action.hpp
include/gemmi/third_party/tao/pegtl/internal/action_input.hpp
include/gemmi/third_party/tao/pegtl/internal/alnum.hpp
include/gemmi/third_party/tao/pegtl/internal/alpha.hpp
include/gemmi/third_party/tao/pegtl/internal/any.hpp
include/gemmi/third_party/tao/pegtl/internal/apply.hpp
include/gemmi/third_party/tao/pegtl/internal/apply0.hpp
include/gemmi/third_party/tao/pegtl/internal/apply0_single.hpp
include/gemmi/third_party/tao/pegtl/internal/apply_single.hpp
include/gemmi/third_party/tao/pegtl/internal/at.hpp
include/gemmi/third_party/tao/pegtl/internal/bof.hpp
include/gemmi/third_party/tao/pegtl/internal/bol.hpp
include/gemmi/third_party/tao/pegtl/internal/bump_help.hpp
include/gemmi/third_party/tao/pegtl/internal/bump_impl.hpp
include/gemmi/third_party/tao/pegtl/internal/bytes.hpp
include/gemmi/third_party/tao/pegtl/internal/control.hpp
include/gemmi/third_party/tao/pegtl/internal/cr_crlf_eol.hpp
include/gemmi/third_party/tao/pegtl/internal/cr_eol.hpp
include/gemmi/third_party/tao/pegtl/internal/crlf_eol.hpp
include/gemmi/third_party/tao/pegtl/internal/cstream_reader.hpp
include/gemmi/third_party/tao/pegtl/internal/cstring_reader.hpp
include/gemmi/third_party/tao/pegtl/internal/demangle.hpp
include/gemmi/third_party/tao/pegtl/internal/demangle_cxxabi.hpp
include/gemmi/third_party/tao/pegtl/internal/demangle_nop.hpp
include/gemmi/third_party/tao/pegtl/internal/demangle_sanitise.hpp
include/gemmi/third_party/tao/pegtl/internal/disable.hpp
include/gemmi/third_party/tao/pegtl/internal/discard.hpp
include/gemmi/third_party/tao/pegtl/internal/dusel_mode.hpp
include/gemmi/third_party/tao/pegtl/internal/duseltronik.hpp
include/gemmi/third_party/tao/pegtl/internal/enable.hpp
include/gemmi/third_party/tao/pegtl/internal/endian.hpp
include/gemmi/third_party/tao/pegtl/internal/endian_gcc.hpp
include/gemmi/third_party/tao/pegtl/internal/endian_win.hpp
include/gemmi/third_party/tao/pegtl/internal/eof.hpp
include/gemmi/third_party/tao/pegtl/internal/eol.hpp
include/gemmi/third_party/tao/pegtl/internal/eolf.hpp
include/gemmi/third_party/tao/pegtl/internal/file_mapper.hpp
include/gemmi/third_party/tao/pegtl/internal/file_opener.hpp
include/gemmi/third_party/tao/pegtl/internal/file_reader.hpp
include/gemmi/third_party/tao/pegtl/internal/has_apply.hpp
include/gemmi/third_party/tao/pegtl/internal/has_apply0.hpp
include/gemmi/third_party/tao/pegtl/internal/identifier.hpp
include/gemmi/third_party/tao/pegtl/internal/if_apply.hpp
include/gemmi/third_party/tao/pegtl/internal/if_must.hpp
include/gemmi/third_party/tao/pegtl/internal/if_must_else.hpp
include/gemmi/third_party/tao/pegtl/internal/if_then_else.hpp
include/gemmi/third_party/tao/pegtl/internal/input_pair.hpp
include/gemmi/third_party/tao/pegtl/internal/integer_sequence.hpp
include/gemmi/third_party/tao/pegtl/internal/istream_reader.hpp
include/gemmi/third_party/tao/pegtl/internal/istring.hpp
include/gemmi/third_party/tao/pegtl/internal/iterator.hpp
include/gemmi/third_party/tao/pegtl/internal/lf_crlf_eol.hpp
include/gemmi/third_party/tao/pegtl/internal/lf_eol.hpp
include/gemmi/third_party/tao/pegtl/internal/list.hpp
include/gemmi/third_party/tao/pegtl/internal/list_must.hpp
include/gemmi/third_party/tao/pegtl/internal/list_tail.hpp
include/gemmi/third_party/tao/pegtl/internal/list_tail_pad.hpp
include/gemmi/third_party/tao/pegtl/internal/marker.hpp
include/gemmi/third_party/tao/pegtl/internal/minus.hpp
include/gemmi/third_party/tao/pegtl/internal/must.hpp
include/gemmi/third_party/tao/pegtl/internal/not_at.hpp
include/gemmi/third_party/tao/pegtl/internal/one.hpp
include/gemmi/third_party/tao/pegtl/internal/opt.hpp
include/gemmi/third_party/tao/pegtl/internal/pad.hpp
include/gemmi/third_party/tao/pegtl/internal/pad_opt.hpp
include/gemmi/third_party/tao/pegtl/internal/peek_char.hpp
include/gemmi/third_party/tao/pegtl/internal/peek_utf16.hpp
include/gemmi/third_party/tao/pegtl/internal/peek_utf32.hpp
include/gemmi/third_party/tao/pegtl/internal/peek_utf8.hpp
include/gemmi/third_party/tao/pegtl/internal/pegtl_string.hpp
include/gemmi/third_party/tao/pegtl/internal/plus.hpp
include/gemmi/third_party/tao/pegtl/internal/raise.hpp
include/gemmi/third_party/tao/pegtl/internal/range.hpp
include/gemmi/third_party/tao/pegtl/internal/ranges.hpp
include/gemmi/third_party/tao/pegtl/internal/rep.hpp
include/gemmi/third_party/tao/pegtl/internal/rep_min.hpp
include/gemmi/third_party/tao/pegtl/internal/rep_min_max.hpp
include/gemmi/third_party/tao/pegtl/internal/rep_opt.hpp
include/gemmi/third_party/tao/pegtl/internal/require.hpp
include/gemmi/third_party/tao/pegtl/internal/result_on_found.hpp
include/gemmi/third_party/tao/pegtl/internal/rule_conjunction.hpp
include/gemmi/third_party/tao/pegtl/internal/rules.hpp
include/gemmi/third_party/tao/pegtl/internal/seq.hpp
include/gemmi/third_party/tao/pegtl/internal/skip_control.hpp
include/gemmi/third_party/tao/pegtl/internal/sor.hpp
include/gemmi/third_party/tao/pegtl/internal/star.hpp
include/gemmi/third_party/tao/pegtl/internal/star_must.hpp
include/gemmi/third_party/tao/pegtl/internal/state.hpp
include/gemmi/third_party/tao/pegtl/internal/string.hpp
include/gemmi/third_party/tao/pegtl/internal/trivial.hpp
include/gemmi/third_party/tao/pegtl/internal/try_catch_type.hpp
include/gemmi/third_party/tao/pegtl/internal/until.hpp
include/gemmi/third_party/tao/pegtl/istream_input.hpp
include/gemmi/third_party/tao/pegtl/memory_input.hpp
include/gemmi/third_party/tao/pegtl/mmap_input.hpp
include/gemmi/third_party/tao/pegtl/normal.hpp
include/gemmi/third_party/tao/pegtl/nothing.hpp
include/gemmi/third_party/tao/pegtl/parse.hpp
include/gemmi/third_party/tao/pegtl/parse_error.hpp
include/gemmi/third_party/tao/pegtl/position.hpp
include/gemmi/third_party/tao/pegtl/read_input.hpp
include/gemmi/third_party/tao/pegtl/rewind_mode.hpp
include/gemmi/third_party/tao/pegtl/rules.hpp
include/gemmi/third_party/tao/pegtl/string_input.hpp
include/gemmi/third_party/tao/pegtl/tracking_mode.hpp
include/gemmi/third_party/tao/pegtl/utf16.hpp
include/gemmi/third_party/tao/pegtl/utf32.hpp
include/gemmi/third_party/tao/pegtl/utf8.hpp
include/gemmi/third_party/tao/pegtl/version.hpp
include/gemmi/third_party/tinydir.h
include/gemmi/to_chemcomp.hpp
include/gemmi/to_cif.hpp
include/gemmi/to_json.hpp
include/gemmi/to_mmcif.hpp
include/gemmi/to_mmdb.hpp
include/gemmi/to_pdb.hpp
include/gemmi/topo.hpp
include/gemmi/twin.hpp
include/gemmi/unitcell.hpp
include/gemmi/utf.hpp
include/gemmi/util.hpp
include/gemmi/version.hpp
include/gemmi/xds_ascii.hpp

29
science/py-gemmi/Makefile Normal file
View File

@ -0,0 +1,29 @@
PORTNAME= gemmi
DISTVERSIONPREFIX= v
DISTVERSION= 0.5.7
CATEGORIES= science
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Macromolecular crystallography library and utilities
WWW= https://gemmi.readthedocs.io/en/latest/
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \
pybind11>=2.6:devel/pybind11
USES= cmake compiler:c++17-lang python
USE_GITHUB= yes
GH_ACCOUNT= project-gemmi
CMAKE_ON= USE_PYTHON
PLIST_FILES= ${PYTHON_SITELIBDIR}/gemmi${PYTHON_EXT_SUFFIX}.so
do-test:
@cd ${WRKSRC} && ${PYTHON_CMD} -m unittest discover -v tests/
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1664834213
SHA256 (project-gemmi-gemmi-v0.5.7_GH0.tar.gz) = dede98c52920dac4a86dd77f38daa20bc8a1449ce16833815f5b563f4e8384a0
SIZE (project-gemmi-gemmi-v0.5.7_GH0.tar.gz) = 1677695

View File

@ -0,0 +1,46 @@
--- CMakeLists.txt.orig 2022-09-21 17:17:09 UTC
+++ CMakeLists.txt
@@ -274,6 +274,7 @@ add_executable(gemmi-wcn EXCLUDE_FROM_ALL $<TARGET_OBJ
src/wcn.cpp $<TARGET_OBJECTS:input>)
support_gz(gemmi-wcn)
+if (FALSE)
add_executable(program
src/align.cpp src/blobs.cpp
src/cif2mtz.cpp src/cif2json.cpp src/contact.cpp
@@ -290,15 +291,16 @@ add_executable(program
$<TARGET_OBJECTS:options>)
support_gz(program)
target_compile_definitions(program PRIVATE GEMMI_ALL_IN_ONE=1)
-set_target_properties(program PROPERTIES OUTPUT_NAME gemmi)
+#set_target_properties(program PROPERTIES OUTPUT_NAME gemmi)
if (WIN32 AND USE_WMAIN)
# _UNICODE=1 is now set globally
- #target_compile_definitions(program PRIVATE _UNICODE=1)
+ target_compile_definitions(program PRIVATE _UNICODE=1)
if(MINGW)
# target_link_options were added in cmake 3.13
set_target_properties(program PROPERTIES LINK_FLAGS "-municode")
endif()
endif()
+endif()
### tests and examples ###
@@ -416,12 +418,12 @@ else()
message(STATUS "Skipping Python module. Add -D USE_PYTHON=1 to build it.")
endif()
-install(TARGETS program DESTINATION bin)
-install(DIRECTORY include/gemmi DESTINATION include)
+#install(TARGETS program DESTINATION bin)
+#install(DIRECTORY include/gemmi DESTINATION include)
if (USE_PYTHON AND DEFINED PYTHON_INSTALL_DIR)
install(TARGETS py DESTINATION ${PYTHON_INSTALL_DIR})
- install(DIRECTORY examples/ DESTINATION ${PYTHON_INSTALL_DIR}/gemmi-examples
- FILES_MATCHING PATTERN "*.py")
+ #install(DIRECTORY examples/ DESTINATION ${PYTHON_INSTALL_DIR}/gemmi-examples
+ # FILES_MATCHING PATTERN "*.py")
if (INSTALL_EGG_INFO)
install(CODE
"execute_process(COMMAND \"${PYTHON_EXECUTABLE}\" setup.py install_egg_info --install-dir \"\$ENV{DESTDIR}${PYTHON_INSTALL_DIR}\"

View File

@ -0,0 +1,7 @@
Gemmi is a library, accompanied by a set of programs, developed primarily for
use in macromolecular crystallography (MX). For working with:
* macromolecular models (content of PDB, PDBx/mmCIF and mmJSON files),
* refinement restraints (CIF files),
* reflection data (MTZ and mmCIF formats),
* data on a 3D grid (electron density maps, masks, MRC/CCP4 format)
* crystallographic symmetry.