diff --git a/.gitignore b/.gitignore index e69de29..0a061f3 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +coot-0.6.1-20100127svn2740.tar.gz +coot-reference-structures.tar.gz diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..83d04e7 --- /dev/null +++ b/__init__.py @@ -0,0 +1 @@ +# File to allow this directory to be treated as a python package. diff --git a/coot-configure.in.patch b/coot-configure.in.patch new file mode 100644 index 0000000..f8501c2 --- /dev/null +++ b/coot-configure.in.patch @@ -0,0 +1,41 @@ +--- configure.in_orig 2010-01-27 16:15:51.387782244 -0800 ++++ configure.in 2010-01-27 16:44:53.586783325 -0800 +@@ -132,13 +132,26 @@ + AM_PATH_GLUT(, [echo You need the GLUT utility library; exit 1], AC_MSG_ERROR([Cannot find proper GLUT version])) + + dnl Check for MMDB. +-AM_PATH_MMDB(, [echo Error locating necessary mmdb; exit 1],,) ++# AM_PATH_MMDB(, [echo Error locating necessary mmdb; exit 1],,) + +-AM_WITH_MMDBSSM ++# AM_WITH_MMDBSSM ++PKG_CHECK_MODULES(MMDB, mmdb >= 1.12) ++MMDB_CXXFLAGS="-DHAVE_MMDB_IGNORE_HASH -DHAVE_MMDB_WITH_CISPEP $MMDB_CFLAGS" ++AC_SUBST(MMDB_CXXFLAGS) ++AC_SUBST(MMDB_LIBS) ++ ++PKG_CHECK_MODULES(MMDBSSM, ssm >= 0.1) ++MMDBSSM_CXXFLAGS="-DHAVE_SSMLIB $MMDBSSM_CFLAGS" ++AC_SUBST(MMDBSSM_CXXFLAGS) ++AC_SUBST(MMDBSSM_LIBS) + + dnl Check for Clipper. we exit if clipper is not found. + # +-AM_PATH_CLIPPER(, [echo Error locating Clipper - a CNS-enabled version of Clipper \(2.1-090520-ac or later\) is required now; exit 1],AC_MSG_ERROR([Cannot find Clipper])) ++# AM_PATH_CLIPPER(, [echo Error locating Clipper - a CNS-enabled version of Clipper \(2.1-090520-ac or later\) is required now; exit 1],AC_MSG_ERROR([Cannot find Clipper])) ++PKG_CHECK_MODULES(CLIPPER, clipper >= 2.0) ++CLIPPER_CXXFLAGS=$CLIPPER_CFLAGS ++AC_SUBST(CLIPPER_CXXFLAGS) ++AC_SUBST(CLIPPER_LIBS) + + # we set default coot_guile to true + coot_guile=true +@@ -146,7 +159,7 @@ + if test x$coot_guile = xtrue ; then + GUILE_FLAGS + AM_GUILE_LIB +- AM_GUILE_GUI ++# AM_GUILE_GUI + GUILE_VERSION=$($ac_cv_path_GUILE_CONFIG --version 2>&1 | awk '{split($NF, arr, "[[.]]"); print arr[[1]] "." arr[[2]]}') + echo checking GUILE_VERSION: $GUILE_VERSION + AC_SUBST(GUILE_VERSION) diff --git a/coot-user-manual.texi.patch b/coot-user-manual.texi.patch new file mode 100644 index 0000000..2f8df9a --- /dev/null +++ b/coot-user-manual.texi.patch @@ -0,0 +1,24 @@ +--- doc/user-manual.texi_orig 2010-01-27 16:23:57.630783062 -0800 ++++ doc/user-manual.texi 2010-01-27 16:50:48.507782342 -0800 +@@ -4470,10 +4470,10 @@ + @c note that texi2html (and makeinfo) requires that this c-interface texi file be in the + @c same directory as this file (user-manual.texi) NOT the directory that + @c texi2html is run in. +-@include c-interface.h.texi ++@include c-interface_8h.texi + @node More Scripting Functions + @chapter More Scripting Functions +-@include cc-interface.hh.texi ++@c @include cc-interface.hh.texi + + + +@@ -4491,7 +4491,7 @@ + @c nodes (mutate, povray) and (e.g.) `tips-gui', but has no menu entry for this node + @c + +-@include ../../coot/scheme/coot-scheme-functions.texi ++@c @include ../../coot/scheme/coot-scheme-functions.texi + + + diff --git a/coot.desktop b/coot.desktop new file mode 100644 index 0000000..79a76c6 --- /dev/null +++ b/coot.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=coot +GenericName=coot +Comment=macromolecular model builder +Exec=coot +Icon=coot +Terminal=false +Type=Application +Categories=Graphics;Science diff --git a/coot.in b/coot.in new file mode 100755 index 0000000..bff0148 --- /dev/null +++ b/coot.in @@ -0,0 +1,62 @@ +#!/bin/sh +# -*-shell-script-*- +# coot wrapper script +# Copyright 2004, 2005, 2006, 2007 University of York +# written by Paul Emsley + +COOT_PREFIX="@prefix@" +current_exe_dir="@bindir@" + +coot_real=$current_exe_dir/coot-real +# echo coot-real is at $coot_real + +# ---------------------------------------------------------------------------- +# ---------------------------------------------------------------------------- +# If the COOT_PREFIX is correct, then these should not need modification +# i.e. nothing below here need be changed. +# ---------------------------------------------------------------------------- +# ---------------------------------------------------------------------------- +# +prefix=$COOT_PREFIX + +SYMINFO=$COOT_PREFIX/share/coot/syminfo.lib +COOT_SCHEME_DIR=$COOT_PREFIX/share/coot/scheme +COOT_STANDARD_RESIDUES=$COOT_PREFIX/share/coot/standard-residues.pdb +COOT_PIXMAPS_DIR=$COOT_PREFIX/share/coot/pixmaps +COOT_DATA_DIR=$COOT_PREFIX/share/coot +COOT_RESOURCES_FILE=$COOT_PREFIX/share/coot/cootrc +COOT_REF_STRUCTS=$COOT_PREFIX/share/coot/reference-structures +COOT_PYTHON_DIR= +COOT_REFMAC_LIB_DIR= + +PYTHONPATH=${PYTHONPATH:+"${PYTHONPATH}:"}$COOT_PYTHON_DIR + +GUILE_WARN_DEPRECATED=no + +if [ -n "$LOCAL_GUILE_LOAD_PATH_EXTRAS" ] ; then + GUILE_LOAD_PATH=${LOCAL_GUILE_LOAD_PATH_EXTRAS}:$GUILE_LOAD_PATH + export GUILE_LOAD_PATH +fi + +# echo GUILE_LOAD_PATH is now $GUILE_LOAD_PATH + +export SYMINFO +export COOT_PREFIX +export COOT_STANDARD_RESIDUES +export COOT_REFMAC_LIB_DIR +export COOT_PYTHON_DIR +export PYTHONPATH +export COOT_SCHEME_DIR +export COOT_REF_STRUCTS +export COOT_RESOURCES_FILE +export COOT_PIXMAPS_DIR +export COOT_DATA_DIR + +echo $coot_real $* +$coot_real $* +status=$? + +if [ $status != 0 ] ; then + @bindir@/guile -s $COOT_PREFIX/share/coot/scheme/coot-crash-catcher.scm $coot_real +fi + diff --git a/coot.png b/coot.png new file mode 100644 index 0000000..9e6ded7 Binary files /dev/null and b/coot.png differ diff --git a/coot.spec b/coot.spec new file mode 100644 index 0000000..e48e755 --- /dev/null +++ b/coot.spec @@ -0,0 +1,236 @@ +%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +%define refmac_dictionary %(rpm -q --queryformat '%%{name}-%%{version}' refmac-dictionary) + +Name: coot +Summary: The crystallographic object-oriented toolkit +URL: http://www.biop.ox.ac.uk/coot/ +Version: 0.6.1 +Release: 3.20100127svn2740%{?dist} +# source code is mixed GPLv3+ and LGPLv2+ (see %files for breakdown) +License: GPLv3+ and LGPLv2+ +Group: Applications/Engineering +# The source for this package was pulled from upstream's vcs. Use the +# following commands to generate the tarball: +# svn co -r 2740 http://coot.googlecode.com/svn/trunk/ coot-0.6.1 +# tar cvzf coot-0.6.1-20100127svn2740.tar.gz coot-0.6.1 +Source0: coot-0.6.1-20100127svn2740.tar.gz +Source1: http://www.ysbl.york.ac.uk/~emsley/software/%{name}-reference-structures.tar.gz +Source2: svn-revision.cc +Source3: coot.in +Source4: %{name}.png +Source5: %{name}.desktop +Source6: __init__.py +Patch0: coot-configure.in.patch +Patch1: coot-user-manual.texi.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: clipper-devel >= 2.1-7 +BuildRequires: desktop-file-utils +BuildRequires: freeglut-devel +BuildRequires: gsl-devel +BuildRequires: gtk2-devel +BuildRequires: gtkglext-devel +BuildRequires: guile-devel +BuildRequires: guile-lib +BuildRequires: imlib-devel +BuildRequires: libcurl-devel +BuildRequires: libgnomecanvas-devel +BuildRequires: libtool +BuildRequires: mmdb-devel >= 1.19 +BuildRequires: python-devel +BuildRequires: pygtk2-devel +BuildRequires: refmac-dictionary +BuildRequires: ssm-devel +BuildRequires: swig +%if 0%{?rhel} +BuildRequires: tetex-latex +%else +BuildRequires: tex(latex) +%endif +BuildRequires: texinfo-tex +Requires: refmac-dictionary + +%description + +Coot is a toolkit for Macromolecular Crystallography and +model-building. Coot uses professional (and free) widgets (with the +GUI builder glade), mmdb, clipper, and OpenGL, together with a new +approach to map contouring and importing/creation and other modeling +and building operations. + +%package devel +Summary: Header files and library for developing programs with coot +Requires: %{name} = %{version}-%{release} +Group: Development/Libraries + +%description devel + +This package contains libraries and header files needed for program +development using the coot macromolecular model building package. + +%package doc +Summary: documentation PDF files for coot +Requires: %{name} = %{version}-%{release} +Group: Applications/Engineering + +%description doc + +the coot-doc package contains information concerning the use and +button/key shortcuts for the coot macromolecular model building +package. + +%prep +%setup -q -a 1 +%patch0 -p0 +%patch1 -p0 + +cp %{SOURCE2} ./src/ +cp %{SOURCE3} ./src/ + +# various cleanups +rm src/coot_wrap_guile_pre.cc +rm src/coot_wrap_python_pre.cc +iconv -f iso8859-1 -t utf-8 README > README.conv && mv -f README.conv README +find . -executable \( -name "*.cc" -o -name "*.cpp" -o -name "*.h" -o -name "*.hh" \) -exec chmod 644 {} \; + +aclocal -I macros +libtoolize --automake --copy +autoconf +automake --copy --add-missing --gnu + +%build +%configure --with-gtk2 --with-guile --with-python --with-pygtk --with-gtkcanvas-prefix=/usr --disable-static CPPFLAGS="-I/usr/include/mmdb -I/usr/include/ssm" CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" + +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +make %{?_smp_mflags} +pushd doc +texi2pdf user-manual.texi +make coot-keys-and-buttons.pdf +popd + +%install +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} INSTALL='install -p' + +mv reference-structures %{buildroot}%{_datadir}/coot/ +sed -i 's|COOT_PYTHON_DIR=|COOT_PYTHON_DIR=%{python_sitelib}/coot|' src/coot +sed -i 's|COOT_REFMAC_LIB_DIR=|COOT_REFMAC_LIB_DIR=%{_datadir}/%{refmac_dictionary}|' src/coot +install -p -m 755 src/coot %{buildroot}%{_bindir}/ + +# remove unpackaged files from the buildroot +rm -f %{buildroot}%{_libdir}/*.la + +# headers +mkdir %{buildroot}%{_includedir}/coot +mv %{buildroot}%{_includedir}/*.h %{buildroot}%{_includedir}/coot/ +mv %{buildroot}%{_includedir}/*.hh %{buildroot}%{_includedir}/coot/ + +# python stuff +mkdir -p %{buildroot}%{python_sitelib}/coot +mv %{buildroot}%{_datadir}/coot/python/* %{buildroot}%{python_sitelib}/coot/ +cp %{SOURCE6} %{buildroot}%{python_sitelib}/coot/ +chmod 644 %{buildroot}%{python_sitelib}/coot/coot.py + +# desktop file +desktop-file-install --vendor='' --dir=%{buildroot}%{_datadir}/applications %{SOURCE5} +mkdir -p %{buildroot}%{_datadir}/pixmaps +install -p -m 644 %{SOURCE4} %{buildroot}%{_datadir}/pixmaps/ + +%clean +rm -rf %{buildroot} + +%check +# this fails - need to fix upstream +# make check + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%doc AUTHORS README COPYING +%{_bindir}/* +# libccp4mg-utils.so* is LGPLv2+ +# libcoot-surface.so* is a mix of LGPLv2+ and GPLv3+ +# all others are GPLv3+ +%{_libdir}/*.so.* +%{_datadir}/coot/ +%{_datadir}/applications/%{name}.desktop +%{_datadir}/pixmaps/%{name}.png +%{python_sitelib}/coot/ + +%files devel +%defattr(-,root,root,-) +%{_libdir}/*.so +%{_includedir}/coot/ + +%files doc +%defattr(-,root,root,-) +%doc doc/coot-keys-and-buttons.pdf doc/user-manual.pdf + +%changelog +* Thu Aug 05 2010 Tim Fenn - 0.6.1-3.20100127svn2740 +- fix file attr +- add comment to make check error + +* Tue Jul 20 2010 Tim Fenn - 0.6.1-2.20100127svn2740 +- move some documentation to subpackage +- add check section + +* Wed Jan 27 2010 Tim Fenn - 0.6.1-1.20100127svn2740 +- update to SVN 2740, 0.6.1 release +- add curl buildrequires + +* Thu Dec 03 2009 Tim Fenn - 0.6-6.20091203svn2545 +- update to SVN 2545, 0.6 release + +* Mon Nov 30 2009 Tim Fenn - 0.6-5.20091130svn2528 +- fix texi, include user-manual +- update to SVN 2528 +- remove net-http, guile-goosh and guile-gui + +* Wed Oct 07 2009 Tim Fenn - 0.6-4.20091007svn2404 +- update buildrequires +- use tetex-latex on EL builds +- update to SVN 2404 (fixes some licensing issues) + +* Mon Oct 05 2009 Tim Fenn - 0.6-3.20091005svn2400 +- update to SVN 2400 + +* Wed Sep 23 2009 Tim Fenn - 0.6-2.20090920svn2334 +- edit summary +- update upstream URL +- make create_server.py non-executable +- chmod src to 644 + +* Sun Sep 20 2009 Tim Fenn - 0.6-1.20090920svn2334 +- update to 0.6 +- get source from VCS system + +* Wed Mar 25 2009 Tim Fenn - 0.5.2-3 +- fix summary +- add additional licensing information +- split guile-extras into original tarballs + +* Sat Mar 14 2009 Tim Fenn - 0.5.2-2 +- fix for desktop-file-install +- gcc 4.4 patch + +* Mon Dec 15 2008 Tim Fenn - 0.5.2-1 +- update to 0.5.2 + +* Thu Nov 27 2008 Tim Fenn - 0.5-3 +- use consistent buildroot +- include gtkglext-devel, guile-lib, desktop-file-utils in buildrequires +- remove pyobject2 in buildrequires + +* Tue Nov 18 2008 Tim Fenn - 0.5-2 +- enable guile +- include extra guile modules + +* Mon Nov 17 2008 Tim Fenn - 0.5-1 +- initial build diff --git a/sources b/sources index e69de29..73137a9 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +ecf43a60294f660946f5a14b8bf98769 coot-0.6.1-20100127svn2740.tar.gz +59df05751b1ab445a6517757a1ace302 coot-reference-structures.tar.gz diff --git a/svn-revision.cc b/svn-revision.cc new file mode 100644 index 0000000..432f2c5 --- /dev/null +++ b/svn-revision.cc @@ -0,0 +1,6 @@ +extern "C" { +int svn_revision() { + return 2740; +} +} +