* [gentoo-commits] repo/gentoo:master commit in: sci-biology/meme/files/, sci-biology/meme/
@ 2016-11-19 17:03 David Seifert
0 siblings, 0 replies; 2+ messages in thread
From: David Seifert @ 2016-11-19 17:03 UTC (permalink / raw
To: gentoo-commits
commit: a474ab0de01ae126ebfd16f834fbe01951da9ad4
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 19 15:29:31 2016 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Nov 19 17:03:02 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a474ab0d
sci-biology/meme: Version bump to 4.11.2_p2
Gentoo-bug: 599860
* EAPI=6
* Install documentation and examples correctly
* Install perl and python modules correctly
* Add missing perl runtime dependencies
Package-Manager: portage-2.3.2
sci-biology/meme/Manifest | 1 +
.../files/meme-4.11.2_p2-fix-build-system.patch | 323 +++++++++++++++++
sci-biology/meme/files/meme-4.11.2_p2-patch1.patch | 383 +++++++++++++++++++++
sci-biology/meme/files/meme-4.11.2_p2-patch2.patch | 54 +++
sci-biology/meme/meme-4.11.2_p2.ebuild | 111 ++++++
5 files changed, 872 insertions(+)
diff --git a/sci-biology/meme/Manifest b/sci-biology/meme/Manifest
index 3ed0861..4496d77 100644
--- a/sci-biology/meme/Manifest
+++ b/sci-biology/meme/Manifest
@@ -1 +1,2 @@
+DIST meme_4.11.2.tar.gz 18004930 SHA256 6e3ff843366588ea13fa8060306be9e2c144521912dfb268f03638003bcdd581 SHA512 c97c3815e71e2fb5491548152f00688cdfbf4365f6027657e0ffc68e5d96cdd10a4708e0882ab7a5a61d78d93113c925cf5bb300fbe93fa4b2961becef497894 WHIRLPOOL 6b77d7832342658d5cf546af0b005b59664c811d25a0412df765a15a8c80a75d9618a1f9966c9a2824750eced6605b534d41199382a6f2641e7430540ba19fcf
DIST meme_4.8.1.tar.gz 8703632 SHA256 c3ad3ca26bc2a7130c5eceb64e1745275c317a5469e98fc8759a9e56babccb8c SHA512 31833169ffa9bd82387d1872be40b0fc4312f4a05bb7abb84daf372244ce3f2a68c89c96722c0453f7bcd9eb4fc84fd3d66e1278af55d556715b94b0df5f87ba WHIRLPOOL 4b5e8968e6964479081d1fe036ff3aa7a50dc56bafc0031890d2e47dbdc8e0273e62ffe01800d8908b2fa9824a4766254bb0fd94003d9ca14784073d5357793e
diff --git a/sci-biology/meme/files/meme-4.11.2_p2-fix-build-system.patch b/sci-biology/meme/files/meme-4.11.2_p2-fix-build-system.patch
new file mode 100644
index 00000000..0f3349c
--- /dev/null
+++ b/sci-biology/meme/files/meme-4.11.2_p2-fix-build-system.patch
@@ -0,0 +1,323 @@
+Fix and modernise build system
+* Remove all *FLAGS setting, just append to the user-supplied ones
+* Add --enable-doc and --enable-examples configure flags
+* Install documentation and examples in correct directories
+* Discover libxml2 and libxslt dependencies using PKG_CHECK_MODULES
+* Install python and perl modules correctly
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -76,61 +76,9 @@
+ AM_CONDITIONAL(WANT_STRLCPY, test ["$have_strlcpy" = no])
+
+ # Check for compiler-specific settings
+-LARGE_FILE_SUPPORT=`getconf LFS_CFLAGS`
+-if test "${GCC}" = "yes"; then
+- ac_cc_opt="-O3"
+- ac_cc_debug_opt="-O0"
+- ac_cc_warn="-Wall -Wno-unused"
+- ac_cc_debug="-ggdb"
+- # Check for OS X llvm (clang) compiler
+- if `gcc --version |grep llvm >/dev/null`; then
+- ac_cc_debug="-g"
+- fi
+- CFLAGS="-std="gnu89" $ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__ $LARGE_FILE_SUPPORT"
+-else
+- ac_cc_opt="-O"
+- ac_cc_debug_opt=""
+- ac_cc_warn=""
+- ac_cc_debug="-g"
+- CFLAGS="$ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__ $LARGE_FILE_SUPPORT"
+-fi
+-
+-# Set up default libxml2 settings
+-# check for installed copy of libxml2
+-build_libxml2="yes"
+-if test -n "$XML2_CONFIG"; then
+- # Require at least version 2.6
+- required_libxml2_version="2006000"
+- LIBXML2_VERSION="`$XML2_CONFIG --version | \
+- awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`"
+- if test -n "$LIBXML2_VERSION" && \
+- test "$LIBXML2_VERSION" -ge "$required_libxml2_version"; then
+- build_libxml2="no"
+- LIBXML2_LIBS="`$XML2_CONFIG --libs`"
+- LIBXML2_CFLAGS="`$XML2_CONFIG --cflags`"
+- fi
+-fi
+-if test -z "$LIBXML2_LIBS"; then
+- AC_MSG_WARN([libxml2 library not found])
+- LIBXML2_LIBS="\${top_builddir}/src/libxml2/libxml2.la"
+- LIBXML2_CFLAGS="-I\${top_srcdir}/src/libxml2/include"
+-fi
+-
+-# Set up default libxslt settings
+-# check for installed copy of libxslt
+-build_libxslt="yes"
+-if test -n "$XSLT_CONFIG"; then
+- build_libxslt="no"
+- LIBXSLT_LIBS="`$XSLT_CONFIG --libs` -lexslt"
+- LIBXSLT_CFLAGS="`$XSLT_CONFIG --cflags`"
+-fi
+-if test -z "$LIBXSLT_LIBS"; then
+- AC_MSG_WARN([libxslt library not found])
+- LIBEXSLT_LIBS="\${top_builddir}/src/libexslt/libexslt.la"
+- LIBXSLT_LIBS="\${top_builddir}/src/libxslt/libxslt.la"
+- LIBEXSLT_CFLAGS="-I\${top_srcdir}/src/libexslt"
+- LIBXSLT_CFLAGS="-I\${top_srcdir}/src/"
+-fi
++AC_SYS_LARGEFILE
++CFLAGS="-std=gnu89 -Wall -Wno-unused ${CFLAGS}"
++CPPFLAGS="-DUNIX -D__USE_FIXED_PROTOTYPES__ ${CPPFLAGS}"
+
+ # who is installing
+ USER=`whoami`
+@@ -279,6 +227,16 @@
+ AM_CONDITIONAL(PARALLEL, test ["$parallel" != no])
+ AM_CONDITIONAL(PARALLEL_IS_LAM, test -n ["$lammpi"])
+
++dnl Documentation
++AC_ARG_ENABLE([doc],
++ AS_HELP_STRING([--enable-doc], [Enable installation of documentation]))
++AM_CONDITIONAL([ENABLE_DOC], [test "x$enable_doc" = "xyes"])
++
++dnl Examples
++AC_ARG_ENABLE([examples],
++ AS_HELP_STRING([--enable-examples], [Enable installation of examples]))
++AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
++
+ AC_ARG_ENABLE(
+ webservice,
+ [ --enable-webservice=deploy_dir Deploy the MEME service on an existing Opal 2.5+ installation],
+@@ -309,24 +267,35 @@
+ AM_CONDITIONAL(WEBEITHER, test ["x$OPAL_DEPLOY" != "x" -o "x$OPAL_URL" != "xno"])
+
+ # enable building of included libxml2
+-AC_ARG_ENABLE(
+- build_libxml2,
+- [ --enable-build-libxml2 Build included version of libxml2. Default is to use pre-existing locally installed copy.],
+- build_libxml2=$enableval; \
+- LIBXML2_LIBS="\${top_builddir}/src/libxml2/libxml2.la"; \
+- LIBXML2_CFLAGS="-I\${top_srcdir}/src/libxml2/include" , )
+-AM_CONDITIONAL(BUILD_LIBXML2, test ["$build_libxml2" = yes])
++AC_ARG_ENABLE([build-libxml2],
++ AS_HELP_STRING([--enable-build-libxml2], [Build included version of libxml2. Default is to use pre-existing locally installed copy.]))
++AS_IF([test "x$enable_build_libxml2" = "xyes"], [
++ dnl Enable building of bundled libs
++ LIBXML2_CFLAGS="-I\${top_srcdir}/src/libxml2/include"
++ LIBXML2_LIBS="\${top_builddir}/src/libxml2/libxml2.la"
++ ],[
++ dnl Use system libraries
++ PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6])
++])
++AM_CONDITIONAL([BUILD_LIBXML2], [test "x$enable_build_libxml2" = "xyes"])
++
+
+ # enable building of included libxslt
+-AC_ARG_ENABLE(
+- build_libxslt,
+- [ --enable-build-libxslt Build included version of libxslt. Default is to use pre-existing locally installed copy.],
+- build_libxslt=$enableval; \
+- LIBEXSLT_LIBS="\${top_builddir}/src/libexslt/libexslt.la"; \
+- LIBXSLT_LIBS="\${top_builddir}/src/libxslt/libxslt.la"; \
+- LIBEXSLT_CFLAGS="-I\${top_srcdir}/src/libexslt"; \
+- LIBXSLT_CFLAGS="-I\${top_srcdir}/src/" , )
+-AM_CONDITIONAL(BUILD_LIBXSLT, test ["$build_libxslt" = yes])
++AC_ARG_ENABLE([build-libxslt],
++ AS_HELP_STRING([--enable-build-libxslt], [Build included version of libxslt. Default is to use pre-existing locally installed copy.]))
++AS_IF([test "x$enable_build_libxslt" = "xyes"], [
++ dnl Enable building of bundled libs
++ LIBXSLT_CFLAGS="-I\${top_srcdir}/src/"
++ LIBXSLT_LIBS="\${top_builddir}/src/libxslt/libxslt.la"
++
++ LIBEXSLT_CFLAGS="-I\${top_srcdir}/src/libexslt"
++ LIBEXSLT_LIBS="\${top_builddir}/src/libexslt/libexslt.la"
++ ],[
++ dnl Use system libraries
++ PKG_CHECK_MODULES([LIBXSLT], [libxslt])
++ PKG_CHECK_MODULES([LIBEXSLT], [libexslt])
++])
++AM_CONDITIONAL([BUILD_LIBXSLT], [test "x$enable_build_libxslt" = "xyes"])
+
+ # set website url
+ AC_ARG_WITH(
+@@ -427,13 +396,13 @@
+ [AC_PATH_PROG(PERL, perl)])
+ AC_DEFINE_UNQUOTED(PERL, "$PERL", [Path to Perl] )
+
++AC_ARG_WITH([perl-dir],
++ AS_HELP_STRING([--with-perl-dir], [Perl modules directory]), [perlmoddir="$with_perl_dir"], [perlmoddir="lib/perl"])
++AC_SUBST([perlmoddir])
++
++
+ # set path to Python
+-AC_ARG_WITH(
+- python,
+- [ --with-python=NAME Set path to Python. Default is to take from user's PATH.],
+- [PYTHON=$withval],
+- [AC_PATH_PROG(PYTHON, python)])
+-AC_DEFINE_UNQUOTED(PYTHON, "$PYTHON", [Path to Python] )
++AM_PATH_PYTHON
+
+ # set path to convert utility
+ AC_ARG_WITH(
+@@ -586,13 +555,15 @@
+ Configuration parameters
+ ========================
+
+- Install path: ${prefix}
++ Install path (prefix): ${prefix}
+ Install UID: ${MEME_USER}
+ Version: ${VERSION}
+- C compiler: ${CC}
+- C compiler flags: ${CFLAGS}
+- Linker: ${LD}
+- Special Libs: ${LIBS}
++ C compiler (CC): ${CC}
++ C compiler flags (CFLAGS): ${CFLAGS}
++ C preproc flags (CPPFLAGS): ${CPPFLAGS}
++ Linker (LD): ${LD}
++ Linker flags (LDFLAGS): ${LDFLAGS}
++ Special Libs (LIBS): ${LIBS}
+ MPICC ${MPICC}
+ MPIRUN ${MPIRUN}
+ MPI_CMD ${MPI_CMD}
+--- a/doc/css/Makefile.am
++++ b/doc/css/Makefile.am
+@@ -5,7 +5,7 @@
+
+ EXTRA_DIST = $(NORMAL_FILES)
+
+-if ! WEBSITE
+-doccssdir = $(prefix)/doc/css
++if ENABLE_DOC
++doccssdir = $(htmldir)/css
+ doccss_DATA = $(NORMAL_FILES)
+ endif
+--- a/doc/examples/compute_prior_dist_example_output_files/Makefile.am
++++ b/doc/examples/compute_prior_dist_example_output_files/Makefile.am
+@@ -7,8 +7,8 @@
+ EXAMPLES = \
+ prior.dist.txt
+
+-if ! WEBSITE
+-exdir = $(prefix)/doc/examples/compute_prior_dist_example_output_files
++if ENABLE_EXAMPLES
++exdir = $(docdir)/examples/compute_prior_dist_example_output_files
+ ex_DATA = $(EXAMPLES)
+ endif
+
+--- a/doc/examples/Makefile.am
++++ b/doc/examples/Makefile.am
+@@ -22,8 +22,8 @@
+ # load the EXAMPLE_OUTPUT_FILES variable
+ include examples.mk
+
+-if ! WEBSITE
+-exdir = $(prefix)/doc/examples
++if ENABLE_EXAMPLES
++exdir = $(docdir)/examples
+ nobase_dist_ex_DATA = $(EXAMPLES) $(EXAMPLE_OUTPUT_FILES)
+ endif
+
+--- a/doc/examples/sample_opal_scripts/Makefile.am
++++ b/doc/examples/sample_opal_scripts/Makefile.am
+@@ -15,8 +15,8 @@
+ MemeClient.pl \
+ MemeClient.py
+
+-if ! WEBSITE
+-exdir = $(prefix)/doc/examples/sample_opal_scripts
++if ENABLE_EXAMPLES
++exdir = $(docdir)/examples/sample_opal_scripts
+ ex_DATA = $(EXAMPLES)
+ endif
+
+--- a/doc/images/Makefile.am
++++ b/doc/images/Makefile.am
+@@ -30,8 +30,8 @@
+
+ MEME_IMAGES = $(PROGRAM_ICONS) $(OTHER_IMAGES)
+
+-if ! WEBSITE
+-memeimgdir = $(prefix)/doc/images
++if ENABLE_DOC
++memeimgdir = $(htmldir)/images
+ memeimg_DATA = $(MEME_IMAGES)
+ endif
+
+--- a/doc/js/Makefile.am
++++ b/doc/js/Makefile.am
+@@ -41,8 +41,8 @@
+
+ BUILT_SOURCES = $(BUILT_FILES)
+
+-if ! WEBSITE
+-docjsdir = $(prefix)/doc/js
++if ENABLE_DOC
++docjsdir = $(htmldir)/js
+ docjs_DATA = $(NORMAL_FILES) $(BUILT_FILES) $(SYMLINK_FILES)
+ endif
+
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -129,8 +129,8 @@
+ update-sequence-db.html \
+ ismb94.pdf
+
+-if ! WEBSITE
+-memedocdir = $(prefix)/doc
++if ENABLE_DOC
++memedocdir = $(htmldir)
+ memedoc_DATA = $(NORMAL_FILES)
+ endif
+
+--- a/scripts/Makefile.am
++++ b/scripts/Makefile.am
+@@ -22,8 +22,8 @@
+ -e 's%@WHICHJAVA@%$(JAVA)%' \
+ -e 's%@WHICHCONVERT@%$(CONVERT)%' \
+ -e 's%@WHICHGHOSTSCRIPT@%$(GHOSTSCRIPT)%' \
+- -e 's%@PERLLIBDIR@%$(libdir)/perl%' \
+- -e 's%@PYTHONLIBDIR@%$(libdir)/python%' \
++ -e 's%@PERLLIBDIR@%$(perlmoddir)%' \
++ -e 's%@PYTHONLIBDIR@%$(pythondir)%' \
+ -e 's%@JAVALIBDIR@%$(libdir)/java%' \
+ -e 's%@LAM_BIN@%$(LAMBIN)%' \
+ -e 's%@APPCONFIGDIR@%$(sysconfdir)%' \
+@@ -62,7 +62,7 @@
+ DiffXML.pm \
+ HypergeometricDynProg.pm
+
+-perlmoddir=$(libdir)/perl
++perlmoddir = $(exec_prefix)/@perlmoddir@
+ perlmod_SCRIPTS = \
+ $(BUILT_PERL_MOD) \
+ $(NORMAL_PERL_MOD)
+@@ -76,8 +76,7 @@
+ hypergeometric.py \
+ sequence.py
+
+-pythonlibdir=$(libdir)/python
+-pythonlib_SCRIPTS = \
++python_PYTHON = \
+ $(BUILT_PYTHON_LIB) \
+ $(NORMAL_PYTHON_LIB)
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -19,7 +19,13 @@
+ ARCHIVE_REVISION = $(shell cat ../ARCHIVE_REVISION)
+ ARCHIVE_DATE = $(shell cat ../ARCHIVE_DATE)
+
+-SUBDIRS = filters libxml2 libxslt libexslt . parallel
++SUBDIRS = filters . parallel
++if BUILD_LIBXML2
++SUBDIRS += libxml2
++endif
++if BUILD_LIBXSLT
++SUBDIRS += libxslt libexslt
++endif
+
+ BUILT_SOURCES = dir.h projrel.h
+
diff --git a/sci-biology/meme/files/meme-4.11.2_p2-patch1.patch b/sci-biology/meme/files/meme-4.11.2_p2-patch1.patch
new file mode 100644
index 00000000..30a182f
--- /dev/null
+++ b/sci-biology/meme/files/meme-4.11.2_p2-patch1.patch
@@ -0,0 +1,383 @@
+--- a/doc/alphabet-format.html
++++ b/doc/alphabet-format.html
+@@ -233,7 +233,7 @@
+ providing a reference on the meaning of the symbols used. If present, the
+ symbol name must be the second field.</p>
+ <p>The "<span class="pdat">name</span>" follows the rules of
+- <a href="qstr">quoted text</a>.</p>
++ <a href="#qstr">quoted text</a>.</p>
+ </div>
+ <h5>color</h5>
+ <div class="indent">
+--- a/doc/release-notes.html
++++ b/doc/release-notes.html
+@@ -14,8 +14,26 @@
+ <h2>Motif-based sequence analysis tools</h2>
+ </div>
+ <h2>MEME Suite Release Notes</h2>
++ <hr>
++ <b>MEME version 4.11.2 patch 1 -- June 16, 2016</b>
++ <ul>
++ <li>
++ <b>Bug fixes</b>
++ <ul>
++ <li>
++ Fixed bug in MCAST 4.11.2 that caused it to prematurely truncate
++ reading the sequence file.
++ </li>
++ <li>
++ Modified MEME to fall back to a simple Dirichlet prior when
++ using DNA or a custom alphabet with a prior that requires
++ a prior library, but no prior libray is specified.
++ </li>
++ </ul
++ </li>
++ </ul>
++ <p>
+ <hr>
+- <p>
+ <b>MEME version 4.11.2 -- May 5 2016</b>
+ </p>
+ <ul>
+--- a/src/fasta-io.c
++++ b/src/fasta-io.c
+@@ -14,6 +14,7 @@
+ #include "alphabet.h"
+ #include "fasta-io.h"
+ #include "io.h"
++#include "seq-reader-from-fasta.h"
+ #include "prior-reader-from-psp.h"
+ #include "seq.h"
+
+@@ -159,61 +160,6 @@
+ }
+
+ /****************************************************************************
+- * Read raw sequence until a new sequence is encountered or too many letters
+- * are read. The new sequence is appended to the end of the given
+- * sequence.
+- *
+- * Return: Was the sequence read completely?
+- ****************************************************************************/
+-static BOOLEAN_T read_raw_sequence_from_reader(
+- DATA_BLOCK_READER_T *fasta_reader, // Sequence source
+- char* name, // Sequence ID (used in error messages).
+- ALPH_T* alph, // Alphabet in use
+- unsigned int offset, // Current position in raw_sequence.
+- unsigned int max_chars, // Maximum chars in raw_sequence.
+- char* raw_sequence // Pre-allocated sequence.
+-) {
+- // tlb; change a_char to integer so it will compile on SGI
+- int a_char;
+- int start_update;
+- BOOLEAN_T return_value = TRUE;
+-
+- // Start at the end of the given sequence.
+- assert(offset < max_chars);
+-
+- DATA_BLOCK_T *seq_block = new_sequence_block(max_chars - offset);
+- return_value = !fasta_reader->get_next_block(fasta_reader, seq_block);
+-
+- char *seq_buffer = get_sequence_from_data_block(seq_block);
+- size_t seq_buffer_size = get_num_read_into_data_block(seq_block);
+- int i;
+- for (i = 0; i < seq_buffer_size; ++i) {
+- a_char = seq_buffer[i];
+- // Skip non-alphabetic characters.
+- if (!isalnum(a_char) && a_char != '-' && a_char != '*' && a_char != '.') {
+- if ((a_char != ' ') && (a_char != '\t') && (a_char != '\n') && (a_char != '\r')) {
+- fprintf(stderr, "Warning: Skipping character %c in sequence %s.\n",
+- a_char, name);
+- }
+- } else {
+- // skip check if unknown alph
+- if (alph != NULL && !alph_is_known(alph, a_char)) {
+- fprintf(stderr, "Warning: Converting illegal character %c to %c ",
+- a_char, alph_wildcard(alph));
+- fprintf(stderr, "in sequence %s.\n", name);
+- a_char = alph_wildcard(alph);
+- }
+- raw_sequence[offset] = (char) a_char;
+- ++offset;
+- }
+- }
+-
+- raw_sequence[offset] = '\0';
+- free_data_block(seq_block);
+- return(return_value);
+-}
+-
+-/****************************************************************************
+ * Read one sequence from a file in Fasta format.
+ *
+ * Return: Was a sequence successfully read?
+@@ -320,44 +266,6 @@
+ }
+
+ /****************************************************************************
+- * Read up to max_chars letters of one sequence from a DATA_BLOCK_T readder
+- * and copy them in to the raw sequence in the SEQ_T object starting at the
+- * given buffer offset.
+- ****************************************************************************/
+-void read_one_fasta_segment_from_reader(
+- DATA_BLOCK_READER_T *fasta_reader,
+- size_t max_size,
+- size_t buffer_offset,
+- SEQ_T *sequence
+-) {
+-
+- assert(sequence != NULL);
+- assert(get_seq_length(sequence) <= max_size);
+-
+- // Get the raw sequence buffer from the SEQ_T
+- char *raw_sequence = get_raw_sequence(sequence);
+- if (raw_sequence == NULL) {
+- // Allocate space for raw sequence if not done yet.
+- raw_sequence = mm_malloc(sizeof(char) * max_size + 1);
+- raw_sequence[0] = 0;
+- }
+-
+- // Read a block of sequence charaters into the
+- // raw sequence buffer for the SEQ_T.
+- char *name = get_seq_name(sequence);
+- BOOLEAN_T is_complete = read_raw_sequence_from_reader(
+- fasta_reader,
+- name,
+- NULL, //FIXME this is dodgy, need a proper way of getting the alphabet. The fasta_reader has it but it is not accessable!
+- buffer_offset,
+- max_size,
+- raw_sequence
+- );
+- set_raw_sequence(raw_sequence, is_complete, sequence);
+-
+-}
+-
+-/****************************************************************************
+ * Read all the sequences from a FASTA file at once.
+ Multiple files can be appended by calling this more than once.
+ ****************************************************************************/
+--- a/src/fasta-io.h
++++ b/src/fasta-io.h
+@@ -43,19 +43,6 @@
+ );
+
+ /****************************************************************************
+- * Read up to max_chars letters of one sequence from a DATA_BLOCK_T readder
+- * and copy them in to the raw sequence in the SEQ_T object starting at the
+- * given buffer offset.
+- ****************************************************************************/
+-void read_one_fasta_segment_from_reader(
+- DATA_BLOCK_READER_T *fasta_reader,
+- size_t max_size,
+- size_t buffer_offset,
+- SEQ_T* sequence
+-);
+-
+-
+-/****************************************************************************
+ * Read all the sequences from a file in Fasta format.
+ ****************************************************************************/
+ void read_many_fastas
+--- a/src/init.c
++++ b/src/init.c
+@@ -767,10 +767,16 @@
+ if (alph_is_builtin_protein(alph)) { // default mixture prior for proteins
+ plib_name = make_path_to_file(get_meme_etc_dir(), PROTEIN_PLIB);
+ } else {
+- fprintf(stderr, "The prior library must be specified for DNA or custom "
+- "alphabets when specifiying a prior type of 'dmix', 'mega' "
+- "or 'megap'.");
+- exit(1);
++ fprintf(
++ stderr,
++ "WARNING: When using DNA or a custom alphabet, "
++ "and specifiying a prior type of\n"
++ "'dmix', 'mega' or 'megap', a prior library must be provided.\n"
++ "No prior library was provided, so a simple Dirichlet prior will be used.\n"
++ );
++ prior = "dirichlet";
++ ptype = Dirichlet;
++ if (beta <= 0) beta = 0.01; // default b = 0.01 for simple Dirichlet
+ }
+ }
+ }
+--- a/src/seq-reader-from-fasta.c
++++ b/src/seq-reader-from-fasta.c
+@@ -639,11 +639,140 @@
+ return fasta_reader->current_position;
+ }
+
++
++/****************************************************************************
++ * Read up to max_chars letters of one sequence from a DATA_BLOCK_T readder
++ * and copy them in to the raw sequence in the SEQ_T object starting at the
++ * given buffer offset.
++ ****************************************************************************/
++void read_one_fasta_segment_from_reader(
++ DATA_BLOCK_READER_T *fasta_reader,
++ size_t max_size,
++ size_t offset,
++ SEQ_T *sequence
++) {
++
++
++ assert(sequence != NULL);
++ assert(offset < max_size);
++
++ // Get the raw sequence buffer from the SEQ_T
++ char *raw_sequence = get_raw_sequence(sequence);
++ if (raw_sequence == NULL) {
++ // Allocate space for raw sequence if not done yet.
++ raw_sequence = mm_malloc(sizeof(char) * max_size + 1);
++ raw_sequence[0] = 0;
++ }
++
++ // Read a block of sequence charaters into the
++ // raw sequence buffer for the SEQ_T, starting at offset.
++ BOOLEAN_T is_complete = read_raw_sequence_from_reader(
++ fasta_reader,
++ max_size - offset,
++ raw_sequence + offset
++ );
++ set_raw_sequence(raw_sequence, is_complete, sequence);
++}
++
++/****************************************************************************
++ * Read raw sequence until a new sequence is encountered or too many letters
++ * are read.
++ *
++ * Return: Was the sequence read completely?
++ ****************************************************************************/
++BOOLEAN_T read_raw_sequence_from_reader(
++ DATA_BLOCK_READER_T *reader, // Sequence source
++ unsigned int max_chars, // Maximum chars in raw_sequence.
++ char* raw_sequence // Pre-allocated sequence buffer.
++) {
++
++ SEQ_READER_FROM_FASTA_T *fasta_reader
++ = (SEQ_READER_FROM_FASTA_T *) get_data_block_reader_data(reader);
++
++ // Read sequence into temp. buffer from the sequence file.
++ char buffer[max_chars];
++ long start_file_pos = ftell(fasta_reader->fasta_file);
++ size_t seq_index = 0;
++ size_t total_read = 0;
++ while (seq_index < max_chars) {
++
++ size_t num_char_read = fread(
++ buffer,
++ sizeof(char),
++ max_chars - seq_index,
++ fasta_reader->fasta_file
++ );
++ fasta_reader->current_position += num_char_read;
++ total_read += num_char_read;
++
++ if (feof(fasta_reader->fasta_file)) {
++ fasta_reader->at_end_of_file = TRUE;
++ }
++ else if (num_char_read < (max_chars - seq_index)) {
++ die(
++ "Error while reading sequence from file:%s.\nError message: %s\n",
++ fasta_reader->filename,
++ strerror(ferror(fasta_reader->fasta_file))
++ );
++ }
++
++ size_t i;
++ for(i = 0; i < num_char_read; ++i) {
++ char c = buffer[i];
++ assert(c != 0);
++ if (isspace(c)) {
++ // Skip over white space
++ fasta_reader->at_start_of_line = (c == '\n');
++ }
++ else if (c == '>' && fasta_reader->at_start_of_line == TRUE) {
++ // We found the start of a new sequence while trying
++ // to fill the buffer. Leave the buffer incomplete.
++ // and wind back the file
++ fseek(fasta_reader->fasta_file, start_file_pos + i - 1, SEEK_SET);
++ fasta_reader->current_position = start_file_pos + i - 1;
++ fasta_reader->at_end_of_seq = TRUE;
++ fasta_reader->at_start_of_line = FALSE;
++ fasta_reader->at_end_of_file = FALSE;
++ break;
++ }
++ else {
++ fasta_reader->at_start_of_line = FALSE;
++ // Check that character is legal in alphabet.
++ // If not, replace with wild card character.
++ if (alph_is_known(fasta_reader->alphabet, c)) {
++ raw_sequence[seq_index] = c;
++ }
++ else {
++ raw_sequence[seq_index] = alph_wildcard(fasta_reader->alphabet);
++ fprintf(
++ stderr,
++ "Warning: %c is not a valid character in %s alphabet.\n"
++ " Converting %c to %c.\n",
++ c,
++ alph_name(fasta_reader->alphabet),
++ c,
++ raw_sequence[i]
++ );
++ }
++ ++seq_index;
++ }
++ }
++ if (fasta_reader->at_end_of_seq | fasta_reader->at_end_of_file) {
++ break;
++ }
++ }
++
++ raw_sequence[seq_index] = '\0';
++ return(fasta_reader->at_end_of_seq | fasta_reader->at_end_of_file);
++}
++
+ /******************************************************************************
+- * Fills in the next data block for the sequence.
+- * During the first call for the sequence it fills in the full data block.
+- * On successive calls, shifts the sequence in the block down one position
+- * and reads one more character.
++ * Populates the data block for the with the next block of sequence.
++ *
++ * During the first call for the sequence it fills in a buffer from a file,
++ * The sequence pointer in the data block is set to point at the start of the buffer.
++ * On successive calls, the sequence pointer in the block is shifted down one position
++ * in the buffer. When the end of the buffer is reached, it is filled again from the file.
+ *
+ * Returns TRUE if it was able to completely fill the block, FALSE if
+ * the next sequence or EOF was reached before the block was filled.
+--- a/src/seq-reader-from-fasta.h
++++ b/src/seq-reader-from-fasta.h
+@@ -37,5 +37,30 @@
+ int * end_ptr // end position of sequence (chr:\d+-(\d+))
+ );
+
++/****************************************************************************
++ * Read raw sequence until a new sequence is encountered or too many letters
++ * are read.
++ *
++ * Return: Was the sequence read completely?
++ ****************************************************************************/
++BOOLEAN_T read_raw_sequence_from_reader(
++ DATA_BLOCK_READER_T *fasta_reader, // Sequence source
++ unsigned int max_chars, // Maximum chars in raw_sequence.
++ char* raw_sequence // Pre-allocated sequence.
++);
++
++/****************************************************************************
++ * Read up to max_chars letters of one sequence from a DATA_BLOCK_T readder
++ * and copy them in to the raw sequence in the SEQ_T object starting at the
++ * given buffer offset.
++ ****************************************************************************/
++void read_one_fasta_segment_from_reader(
++ DATA_BLOCK_READER_T *reader,
++ size_t max_size,
++ size_t offset,
++ SEQ_T *sequence
++);
++
++
+ size_t get_current_pos_from_seq_reader_from_fasta(DATA_BLOCK_READER_T *reader);
+ #endif
diff --git a/sci-biology/meme/files/meme-4.11.2_p2-patch2.patch b/sci-biology/meme/files/meme-4.11.2_p2-patch2.patch
new file mode 100644
index 00000000..498d1df
--- /dev/null
+++ b/sci-biology/meme/files/meme-4.11.2_p2-patch2.patch
@@ -0,0 +1,54 @@
+--- a/doc/release-notes.html
++++ b/doc/release-notes.html
+@@ -15,6 +15,21 @@
+ </div>
+ <h2>MEME Suite Release Notes</h2>
+ <hr>
++ <b>MEME version 4.11.2 patch 2 -- October 24, 2016</b>
++ <ul>
++ <li>
++ <b>Bug fixes</b>
++ <ul>
++ <li>
++ Fixed bug in handling of RNA-like custom alphabets.
++ </li>
++ <li>
++ Fixed bug in MAST -comp option.
++ </li>
++ </ul
++ </li>
++ </ul>
++ <hr>
+ <b>MEME version 4.11.2 patch 1 -- June 16, 2016</b>
+ <ul>
+ <li>
+--- a/src/alph-in.c
++++ b/src/alph-in.c
+@@ -1044,7 +1044,7 @@
+ lookup[0] = sym->complement;
+ comp2 = (ALPH_SYM_T*)rbtree_get(reader->merged, lookup);
+ }
+- if (comp1 != comp2) {
++ if (comp1 && (comp1 != comp2)) {
+ add_msg(reader, parmsg_create(SEVERITY_ERROR, -1, -1, -1,
+ "not like %s alphabet as %c complement rules are incorrect",
+ ext_name, req_syms[i]));
+--- a/src/mast-util.c
++++ b/src/mast-util.c
+@@ -740,14 +740,14 @@
+
+ // create the frequency array
+ alph = xlate ? xlate_dest_alph(xlate) : alph;
+- freq = allocate_array(alph_size_core(alph));
++ freq = allocate_array(alph_size_full(alph));
+ init_array(0, freq);
+
+ // count the number of letters of each type
+ if (xlate) {
+ for (n=0; sequence[n]; n++) {
+ i = xlate_index(xlate, false, sequence+n);
+- if (i > 0 && i < alph_size_core(alph)) incr_array_item(i, 1, freq);
++ if (i > 0 && i < alph_size_full(alph)) incr_array_item(i, 1, freq);
+ }
+ } else {
+ for (n=0; sequence[n]; n++) {
diff --git a/sci-biology/meme/meme-4.11.2_p2.ebuild b/sci-biology/meme/meme-4.11.2_p2.ebuild
new file mode 100644
index 00000000..4eb8260
--- /dev/null
+++ b/sci-biology/meme/meme-4.11.2_p2.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools perl-functions python-single-r1 versionator
+
+MY_PV=$(get_version_component_range 1-3)
+MY_P=${PN}_${MY_PV}
+
+DESCRIPTION="The MEME/MAST system - Motif discovery and search"
+HOMEPAGE="http://meme-suite.org/tools/meme"
+SRC_URI="http://meme-suite.org/meme-software/${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="meme"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples mpi"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-shells/tcsh
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ sys-libs/zlib
+ app-text/ghostscript-gpl
+ media-gfx/imagemagick
+ dev-lang/perl:=
+ dev-perl/HTML-Parser
+ dev-perl/HTML-Template
+ dev-perl/Log-Log4perl
+ dev-perl/Math-CDF
+ dev-perl/XML-Compile-SOAP
+ dev-perl/XML-Compile-WSDL11
+ dev-perl/XML-Parser
+ dev-perl/XML-Simple
+ virtual/perl-Data-Dumper
+ virtual/perl-Exporter
+ virtual/perl-File-Path
+ virtual/perl-File-Spec
+ virtual/perl-File-Temp
+ virtual/perl-Getopt-Long
+ virtual/perl-Scalar-List-Utils
+ virtual/perl-Time-HiRes
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.11.2_p2-patch1.patch
+ "${FILESDIR}"/${PN}-4.11.2_p2-patch2.patch
+ "${FILESDIR}"/${PN}-4.11.2_p2-fix-build-system.patch
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ perl_set_version
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --sysconfdir="${EPREFIX}"/etc/${PN} \
+ --with-logs="${EPREFIX}"/var/log/${PN} \
+ --with-perl=perl \
+ --with-convert=convert \
+ --with-gs=gs \
+ --disable-build-libxml2 \
+ --disable-build-libxslt \
+ $(use_enable debug) \
+ $(use_enable doc) \
+ $(use_enable examples) \
+ $(use_enable !mpi serial) \
+ --with-perl-dir="${VENDOR_LIB#${EPREFIX}/usr}" \
+ PYTHON="${EPYTHON}"
+
+ # delete bundled libs, just to be sure. These need
+ # to be removed after econf, else AC_OUTPUT will fail
+ rm -r src/{libxml2,lib{,e}xslt} || die
+}
+
+src_test() {
+ # bug #297070
+ emake -j1 test
+}
+
+src_install() {
+ default
+ docompress -x /usr/share/doc/${PF}/examples
+
+ # prefix all binaries with 'meme-', in order
+ # to prevent collisions, bug 455010
+ cd "${ED%/}"/usr/bin/ || die
+ local i
+ for i in *; do
+ if [[ $i != meme-* ]]; then
+ mv {,meme-}"${i}" || die
+ fi
+ done
+
+ diropts -m ugo+rwxt -o root
+ keepdir /var/log/meme
+}
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sci-biology/meme/files/, sci-biology/meme/
@ 2017-02-20 19:11 David Seifert
0 siblings, 0 replies; 2+ messages in thread
From: David Seifert @ 2017-02-20 19:11 UTC (permalink / raw
To: gentoo-commits
commit: 4579ac42e9a9a6c157bb352413f41bf9c21cefc7
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 20 19:10:20 2017 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Mon Feb 20 19:11:13 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4579ac42
sci-biology/meme: Remove old
Package-Manager: Portage-2.3.3, Repoman-2.3.1
sci-biology/meme/Manifest | 1 -
.../meme/files/meme-4.8.1-Makefile.am.patch | 134 ---------------------
sci-biology/meme/meme-4.8.1-r2.ebuild | 85 -------------
3 files changed, 220 deletions(-)
diff --git a/sci-biology/meme/Manifest b/sci-biology/meme/Manifest
index 4496d777cb..54d47df7b6 100644
--- a/sci-biology/meme/Manifest
+++ b/sci-biology/meme/Manifest
@@ -1,2 +1 @@
DIST meme_4.11.2.tar.gz 18004930 SHA256 6e3ff843366588ea13fa8060306be9e2c144521912dfb268f03638003bcdd581 SHA512 c97c3815e71e2fb5491548152f00688cdfbf4365f6027657e0ffc68e5d96cdd10a4708e0882ab7a5a61d78d93113c925cf5bb300fbe93fa4b2961becef497894 WHIRLPOOL 6b77d7832342658d5cf546af0b005b59664c811d25a0412df765a15a8c80a75d9618a1f9966c9a2824750eced6605b534d41199382a6f2641e7430540ba19fcf
-DIST meme_4.8.1.tar.gz 8703632 SHA256 c3ad3ca26bc2a7130c5eceb64e1745275c317a5469e98fc8759a9e56babccb8c SHA512 31833169ffa9bd82387d1872be40b0fc4312f4a05bb7abb84daf372244ce3f2a68c89c96722c0453f7bcd9eb4fc84fd3d66e1278af55d556715b94b0df5f87ba WHIRLPOOL 4b5e8968e6964479081d1fe036ff3aa7a50dc56bafc0031890d2e47dbdc8e0273e62ffe01800d8908b2fa9824a4766254bb0fd94003d9ca14784073d5357793e
diff --git a/sci-biology/meme/files/meme-4.8.1-Makefile.am.patch b/sci-biology/meme/files/meme-4.8.1-Makefile.am.patch
deleted file mode 100644
index e840062957..0000000000
--- a/sci-biology/meme/files/meme-4.8.1-Makefile.am.patch
+++ /dev/null
@@ -1,134 +0,0 @@
- Makefile.am | 6 +++---
- doc/Makefile.am | 2 +-
- doc/examples/Makefile.am | 24 +++++++++++-----------
- .../Makefile.am | 2 +-
- doc/examples/sample_opal_scripts/Makefile.am | 2 +-
- doc/images/Makefile.am | 2 +-
- scripts/Makefile.am | 2 +-
- 7 files changed, 20 insertions(+), 20 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 4a69e34..842e33f 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -18,11 +18,11 @@ ARCHIVE_REVISION:
- install-data-hook: dbdir
-
- dbdir:
-- mkdir -p $(MEME_DB)
-+ mkdir -p $(DESTDIR)$(MEME_DB)
-
- install-data-local:
-- mkdir -p $(MEME_LOGS)
-- chmod a+w $(MEME_LOGS)
-+ mkdir -p $(DESTDIR)$(MEME_LOGS)
-+ chmod a+w $(DESTDIR)$(MEME_LOGS)
-
- distdir = $(PACKAGE)_$(VERSION)
-
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index e0d6af9..e7bcb4f 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -202,7 +202,7 @@ COMMON_DOC = \
- if WEBSITE
- MEME_DOC_DIR = $(WEBDIR)/doc
- else
--MEME_DOC_DIR = $(prefix)/doc
-+MEME_DOC_DIR = $(docdir)/html
- endif
-
- memedocdir = $(MEME_DOC_DIR)
-diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
-index 12970b5..633492c 100644
---- a/doc/examples/Makefile.am
-+++ b/doc/examples/Makefile.am
-@@ -51,24 +51,24 @@ if WEBSITE
- exdir = $(WEBDIR)/examples
- other_exdir = $(WEBDIR)/doc/examples
- else
--exdir = $(prefix)/doc/examples
-+exdir = $(prefix)/share/meme/examples
- other_exdir = $(exdir)
- endif
-
- ex_DATA = $(EXAMPLES)
-
- install-data-hook:
-- tar xzvf centrimo_example_output_files.tgz -C $(other_exdir)
-- tar xzvf dreme_example_output_files.tgz -C $(other_exdir)
-- tar xzvf fimo_example_output_files.tgz -C $(other_exdir)
-- tar xzvf glam2_example_output_files.tgz -C $(other_exdir)
-- tar xzvf glam2scan_example_output_files.tgz -C $(other_exdir)
-- tar xzvf mast_example_output_files.tgz -C $(other_exdir)
-- tar xzvf mcast_example_output_files.tgz -C $(other_exdir)
-- tar xzvf meme_example_output_files.tgz -C $(other_exdir)
-- tar xzvf memechip_example_output_files.tgz -C $(other_exdir)
-- tar xzvf spamo_example_output_files.tgz -C $(other_exdir)
-- tar xzvf tomtom_example_output_files.tgz -C $(other_exdir)
-+ tar xzvf centrimo_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf dreme_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf fimo_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf glam2_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf glam2scan_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf mast_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf mcast_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf meme_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf memechip_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf spamo_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-+ tar xzvf tomtom_example_output_files.tgz -C $(DESTDIR)/$(other_exdir)
-
- # If .svnignore file doesn't exist
- # create an empty one
-diff --git a/doc/examples/compute_prior_dist_example_output_files/Makefile.am b/doc/examples/compute_prior_dist_example_output_files/Makefile.am
-index 747028d..a358f58 100644
---- a/doc/examples/compute_prior_dist_example_output_files/Makefile.am
-+++ b/doc/examples/compute_prior_dist_example_output_files/Makefile.am
-@@ -22,7 +22,7 @@ EXAMPLES = \
- if WEBSITE
- exdir = $(WEBDIR)/doc/examples/compute_prior_dist_example_output_files
- else
--exdir = $(prefix)/doc/examples/compute_prior_dist_example_output_files
-+exdir = $(prefix)/share/meme/examples/compute_prior_dist_example_output_files
- endif
-
- ex_DATA = $(EXAMPLES)
-diff --git a/doc/examples/sample_opal_scripts/Makefile.am b/doc/examples/sample_opal_scripts/Makefile.am
-index 3a638b3..30925bb 100644
---- a/doc/examples/sample_opal_scripts/Makefile.am
-+++ b/doc/examples/sample_opal_scripts/Makefile.am
-@@ -18,7 +18,7 @@ EXAMPLES = \
- if WEBSITE
- exdir = $(WEBDIR)/doc/examples/sample_opal_scripts
- else
--exdir = $(prefix)/doc/examples/sample_opal_scripts
-+exdir = $(prefix)/share/meme/examples/sample_opal_scripts
- endif
-
- ex_DATA = $(EXAMPLES)
-diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am
-index c879621..a4696cd 100644
---- a/doc/images/Makefile.am
-+++ b/doc/images/Makefile.am
-@@ -28,7 +28,7 @@ MEME_IMAGES = \
- if WEBSITE
- memeimgdir = $(WEBDIR)/doc/images
- else
--memeimgdir = $(prefix)/doc/images
-+memeimgdir = $(docdir)/html/images
- endif
-
- memeimg_DATA = $(MEME_IMAGES)
-diff --git a/scripts/Makefile.am b/scripts/Makefile.am
-index 4143e46..8a5c021 100644
---- a/scripts/Makefile.am
-+++ b/scripts/Makefile.am
-@@ -8,7 +8,7 @@
- if WEBSITE
- MEME_DOC_DIR = $(WEBDIR)/doc
- else
--MEME_DOC_DIR = $(prefix)/doc
-+MEME_DOC_DIR = $(docdir)
- endif
-
- ARCHIVE_REVISION = $(shell cat ../ARCHIVE_REVISION)
diff --git a/sci-biology/meme/meme-4.8.1-r2.ebuild b/sci-biology/meme/meme-4.8.1-r2.ebuild
deleted file mode 100644
index 8a1482c0b3..0000000000
--- a/sci-biology/meme/meme-4.8.1-r2.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=4
-
-PYTHON_DEPEND="2"
-
-inherit autotools eutils python
-
-DESCRIPTION="The MEME/MAST system - Motif discovery and search"
-HOMEPAGE="http://meme.sdsc.edu/meme"
-SRC_URI="http://meme.nbcr.net/downloads/${PN}_${PV}.tar.gz"
-
-LICENSE="meme"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="debug examples mpi"
-
-DEPEND="
- app-shells/tcsh
- dev-libs/libxml2:2
- dev-libs/libxslt
- mpi? ( virtual/mpi )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}_${PV}"
-
-#pkg_setup() {
- # generate meme group to restrict logging to /var/log/meme
-# enewgroup meme
-# python_pkg_setup
-# python_set_active_version 2
-#}
-
-src_prepare() {
- use examples || sed -e '/SUBDIRS/s:examples::g' -i doc/Makefile.am
- sed \
- -e '/flags/s:-O3::g' \
- -e '/opt/s:-O::g' \
- -e '/debug/s:-ggdb::' \
- -e '/debug/s:-g::' \
- -e 's:CFLAGS=:CFLAGS+=:g' \
- -i configure.ac || die
- epatch \
- "${FILESDIR}"/${P}-Makefile.am.patch
- eautoreconf
-}
-
-src_configure() {
- MY_PREFIX="${ROOT}opt/meme"
- USE_DISABLE_MPI=""; if ! use mpi; then USE_DISABLE_MPI="--enable-serial"; fi
- econf \
- --sysconfdir="${EPREFIX}/etc/meme" \
- --with-logs="${ROOT}var/log/meme" \
- $(use_enable debug) \
- $USE_DISABLE_MPI
-}
-
-src_test() {
- # bug #297070
- emake -j1 test
-}
-
-src_install() {
- local i
- default
-
- for i in "${ED}"/usr/bin/*; do
- mv "${ED}"/usr/bin/{,meme-}$(basename ${i}) || die
- done
-
- echo "PATH=/opt/${PN}/bin" > 99${PN}
- doenvd 99${PN}
-
- # allow logging only for members of meme group
- # diropts -m 0770 -g meme -o root
- diropts -m ugo+rwxt -o root
- keepdir /var/log/meme
-}
-
-#pkg_postinst() {
-# einfo 'Log files are produced in the "/var/log/meme" directory. Users'
-# einfo 'need to be part of the meme group to use this facility.'
-#}
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-02-20 19:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-20 19:11 [gentoo-commits] repo/gentoo:master commit in: sci-biology/meme/files/, sci-biology/meme/ David Seifert
-- strict thread matches above, loose matches on Subject: below --
2016-11-19 17:03 David Seifert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox