Author: sascha-guest Date: 2014-05-19 22:10:19 +0000 (Mon, 19 May 2014) New Revision: 16959
Added: trunk/packages/genometools/trunk/debian/patches/arm64-no-m64 trunk/packages/genometools/trunk/debian/patches/fix-unsigned-char Modified: trunk/packages/genometools/trunk/debian/changelog trunk/packages/genometools/trunk/debian/control trunk/packages/genometools/trunk/debian/patches/series trunk/packages/genometools/trunk/debian/patches/split-manuals Log: fix building on some exotic archs, incorporate patches from Ubuntu Modified: trunk/packages/genometools/trunk/debian/changelog =================================================================== --- trunk/packages/genometools/trunk/debian/changelog 2014-05-19 11:10:35 UTC (rev 16958) +++ trunk/packages/genometools/trunk/debian/changelog 2014-05-19 22:10:19 UTC (rev 16959) @@ -1,3 +1,13 @@ +genometools (1.5.2-3) unstable; urgency=low + + * Address building issues on s390x, powerpc and armhf + * Don't use -m64 for arm64 (thanks to Logan Rosen) + Closes: #748708 + * Build-depend on docbook-xsl to fix FTBFS while offline (thanks to Logan Rosen) + Closes: #748709 + + -- Sascha Steinbiss <[email protected]> Mon, 19 May 2014 23:06:34 +0000 + genometools (1.5.2-2) unstable; urgency=low * Split manuals into separate documents to avoid strange LaTeX build issues. Modified: trunk/packages/genometools/trunk/debian/control =================================================================== --- trunk/packages/genometools/trunk/debian/control 2014-05-19 11:10:35 UTC (rev 16958) +++ trunk/packages/genometools/trunk/debian/control 2014-05-19 22:10:19 UTC (rev 16959) @@ -27,7 +27,8 @@ asciidoc, libxml2-utils, xsltproc, - ruby + ruby, + docbook-xsl Standards-Version: 3.9.5 Vcs-Browser: http://anonscm.debian.org/viewvc/debian-med/trunk/packages/genometools/trunk/ Vcs-Svn: svn://anonscm.debian.org/debian-med/trunk/packages/genometools/trunk/ Added: trunk/packages/genometools/trunk/debian/patches/arm64-no-m64 =================================================================== --- trunk/packages/genometools/trunk/debian/patches/arm64-no-m64 (rev 0) +++ trunk/packages/genometools/trunk/debian/patches/arm64-no-m64 2014-05-19 22:10:19 UTC (rev 16959) @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -308,7 +308,7 @@ + endif + + ifeq ($(m64),yes) +- ifeq (,$(filter $(MACHINE),ia64 alpha mips64 mips64el)) ++ ifeq (,$(filter $(MACHINE),ia64 alpha mips64 mips64el aarch64)) + GT_CFLAGS += -m64 + GT_LDFLAGS += -m64 + SQLITE_CFLAGS += -m64 Added: trunk/packages/genometools/trunk/debian/patches/fix-unsigned-char =================================================================== --- trunk/packages/genometools/trunk/debian/patches/fix-unsigned-char (rev 0) +++ trunk/packages/genometools/trunk/debian/patches/fix-unsigned-char 2014-05-19 22:10:19 UTC (rev 16959) @@ -0,0 +1,115 @@ +--- a/src/core/safearith.c ++++ b/src/core/safearith.c +@@ -182,8 +182,10 @@ + gt_error_check(err); + + { ++ /* This is not always true, e.g. on PPC and ARM! ++ cf. http://www.network-theory.co.uk/docs/gccintro/gccintro_71.html + gt_ensure(__MIN(char) == -128); +- gt_ensure(__MAX(char) == 127); ++ gt_ensure(__MAX(char) == 127); */ + gt_ensure(__MIN(unsigned char) == 0); + gt_ensure(__MAX(unsigned char) == 255); + +--- a/src/core/tokenizer.c ++++ b/src/core/tokenizer.c +@@ -45,7 +45,9 @@ + + GtStr* gt_tokenizer_get_token(GtTokenizer *t) + { +- char c = EOF; ++ char c; ++ bool has_eof = true; ++ int rval = 0; + gt_assert(t); + + /* if we have no current token, get it if possible */ +@@ -53,32 +55,44 @@ + if (t->skip_comment_lines && gt_io_line_start(t->io)) { + for (;;) { + gt_assert(gt_io_line_start(t->io)); +- if ((gt_io_get_char(t->io, &c) != -1)) { +- if (c == '#') { ++ if ((gt_io_get_char(t->io, (char*) &c) != -1)) { ++ if ((char) c == '#') { + /* skip line */ + while ((gt_io_get_char(t->io, &c) != -1) && c != '\n'); +- c = EOF; ++ has_eof = true; + } + else { + gt_io_unget_char(t->io, c); ++ has_eof = false; + break; + } + } +- else ++ else { ++ c = EOF; + break; ++ } + } +- } +- while ((gt_io_get_char(t->io, &c) != -1) && c == ' '); /* skip blanks */ ++ } /* skip blanks */ ++ while (((rval = gt_io_get_char(t->io, &c)) != -1) && c == ' '); ++ if (rval == -1) ++ has_eof = true; ++ else ++ has_eof = false; + do { +- if (c != EOF) { ++ if (!has_eof) { + if (!t->token) + t->token = gt_str_new(); + if (c == '\n') + break; + gt_str_append_char(t->token, c); + } +- } while ((gt_io_get_char(t->io, &c) != -1) && c != ' ' && c != '\n'); +- if (c == '\n' && c != EOF) { ++ } while (((rval = gt_io_get_char(t->io, &c)) != -1) ++ && c != ' ' && c != '\n'); ++ if (rval == -1) ++ has_eof = true; ++ else ++ has_eof = false; ++ if (c == '\n' && !has_eof) { + gt_assert(t->token); + gt_str_append_char(t->token, c); + } +--- a/src/core/tokenizer.h ++++ b/src/core/tokenizer.h +@@ -33,7 +33,7 @@ + bool gt_tokenizer_has_token(GtTokenizer*); + bool gt_tokenizer_line_start(const GtTokenizer*); + void gt_tokenizer_next_token(GtTokenizer*); /* go to the next token */ +-GtUword gt_tokenizer_get_line_number(const GtTokenizer*); ++GtUword gt_tokenizer_get_line_number(const GtTokenizer*); + const char* gt_tokenizer_get_filename(const GtTokenizer*); + int gt_tokenizer_unit_test(GtError*); + void gt_tokenizer_delete(GtTokenizer*); +--- a/src/core/trans_table.c ++++ b/src/core/trans_table.c +@@ -21,7 +21,7 @@ + #include "core/ma.h" + #include "core/trans_table.h" + +-#define GT_AMINOACIDFAIL -1 ++#define GT_AMINOACIDFAIL ((char) 0) + + /* The integer which a T is encoded to. */ + #define GT_T_CODE 0 +--- a/src/extended/gff3_escaping.c ++++ b/src/extended/gff3_escaping.c +@@ -64,7 +64,8 @@ + unsigned char d; + gt_assert(str && out); + if (!(GtIsHexChar[(int) *(str+1)] & 2) +- || !(GtIsHexChar[(int) *(str+2)] & 1)) { ++ || !(GtIsHexChar[(int) *(str+2)] & 1) ++ || !strncmp(str, "%7F", 3 * (sizeof (char)))) { + return -1; + } + d = (GtHexToDec[(int) *(str+1)] << 4) | (GtHexToDec[(int) *(str+2)]); Modified: trunk/packages/genometools/trunk/debian/patches/series =================================================================== --- trunk/packages/genometools/trunk/debian/patches/series 2014-05-19 11:10:35 UTC (rev 16958) +++ trunk/packages/genometools/trunk/debian/patches/series 2014-05-19 22:10:19 UTC (rev 16959) @@ -1,3 +1,4 @@ +fix-unsigned-char add-libtre adding_soname libbam-fix @@ -8,3 +9,4 @@ no-xmllint spelling split-manuals +arm64-no-m64 Modified: trunk/packages/genometools/trunk/debian/patches/split-manuals =================================================================== --- trunk/packages/genometools/trunk/debian/patches/split-manuals 2014-05-19 11:10:35 UTC (rev 16958) +++ trunk/packages/genometools/trunk/debian/patches/split-manuals 2014-05-19 22:10:19 UTC (rev 16959) @@ -1,5 +1,3 @@ -Description: Split manuals into separate documents to avoid strange LaTeX build issues. -Author: Sascha Steinbiss <[email protected]> --- a/doc/manuals/matstat.tex +++ b/doc/manuals/matstat.tex @@ -1,2 +1,160 @@ @@ -38,18 +36,18 @@ + +The program \Program is called as follows: +\par -+\noindent\Program [\textit{options}] \Showoption{query} \Showoptionarg{files} [\textit{options}] ++\noindent\Program [\textit{options}] \Showoption{query} \Showoptionarg{files} [\textit{options}] +\par -+\Showoptionarg{files} is a white space separated list of at least one ++\Showoptionarg{files} is a white space separated list of at least one +filename. Any sequence occurring in any file specified in \Showoptionarg{files} +is called \textit{unit} in the following. +In addition to the mandatory option \Showoption{query}, the program +must be called with either option \Showoption{pck} or \Showoption{esa} -+which specify to use a packed index or an enhanced suffix array for ++which specify to use a packed index or an enhanced suffix array for +a given set of subject sequences. + -+\Program computes the \textit{matching statistics} for each unit. That is, -+for each position \(i\) in ++\Program computes the \textit{matching statistics} for each unit. That is, ++for each position \(i\) in +each unit, say \(s\) of length \(n\), \(\MS{i}=(l,j)\) is computed. Here +\(l\) is the largest integer such that \(\Substring{s}{i}{i+l-1}\) matches +a substring represented by the index and \(j\) is a start position of the @@ -77,20 +75,20 @@ + +\Option{query}{$\Showoptionarg{files}$}{ +Specify a white space separated list of query files containing the units. -+At least one query file must be given. The files may be in ++At least one query file must be given. The files may be in +gzipped format, in which case they have to end with the suffix \texttt{.gz}. +} + -+\Option{min}{$\ell$}{ ++\Option{min}{$\ell$}{ +Specify the minimum value $\ell$ for the length of the matching statistics. -+That is, for each unit \(s\) and each position \(i\) in \(s\), the program -+reports all values \(i\) and \(\MS{i}\) if the ++That is, for each unit \(s\) and each position \(i\) in \(s\), the program ++reports all values \(i\) and \(\MS{i}\) if the +length of \(\MS{i}\) is at least \(\ell\). +} + +\Option{max}{$\ell$}{ +Specify the maximum length $\ell$ for the length of the matching statistics. -+That is, for each unit \(s\) and each positions \(i\) in \(s\), the program ++That is, for each unit \(s\) and each positions \(i\) in \(s\), the program +reports the values \(i\) and \(\MS{i}\) if the length of \(\MS{i}\) +is at most \(\ell\). +} @@ -100,7 +98,7 @@ +$\Showoptionkey{subjectpos}$, +$\Showoptionkey{querypos}$, and +$\Showoptionkey{sequence}$ must be used. -+Using the keyword $\Showoptionkey{subjectpos}$ shows the ++Using the keyword $\Showoptionkey{subjectpos}$ shows the +subject position of the matching statistics. +Using the keyword $\Showoptionkey{querypos}$ shows the query position. +Using the keyword $\Showoptionkey{sequence}$ shows the sequence content @@ -125,7 +123,7 @@ +\section{Examples} + +Suppose that in some directory, say \texttt{homo-sapiens}, we have 25 gzipped -+fasta files containing all 24 human chromomsomes plus one file with ++fasta files containing all 24 human chromomsomes plus one file with +mitrochondrial sequences. These may have been downloaded from +\url{ftp://ftp.ensembl.org/pub/current_fasta/homo_sapiens_47_36i/dna}. + @@ -136,7 +134,7 @@ + -indexname human-all -db homo-sapiens/*.gz +\end{Output} + -+The program runs for almost two hours and delivers ++The program runs for almost two hours and delivers +an index \texttt{human-all} consisting of three files: + +\begin{Output} @@ -149,7 +147,7 @@ +This is used in the following call to the program \Program: + +\begin{Output} -+gt matstat -output subjectpos querypos sequence -min 20 -max 30 ++gt matstat -output subjectpos querypos sequence -min 20 -max 30 + -query queryfile.fna -pck human-all +unit 0 (Mus musculus, chr 1, complete sequence) +22 20 390765125 actgtatctcaaaatataaa @@ -168,12 +166,12 @@ --- a/doc/manuals/uniquesub.tex +++ b/doc/manuals/uniquesub.tex @@ -8,38 +8,15 @@ - + \usepackage{verbatim} \usepackage{ifthen} -\usepackage{comment} \usepackage{optionman} - + -\ifthenelse{\isundefined{\BuildMatstat}}{% -\includecomment{AboutUniquesub} -\excludecomment{AboutMatstat} @@ -187,7 +185,7 @@ -} - \newcommand{\Substring}[3]{#1[#2..#3]} - + -\begin{AboutUniquesub} \newcommand{\Program}[0]{\texttt{uniquesub}\xspace} \newcommand{\Mup}[1]{\mathit{mup(s,#1)}} @@ -203,96 +201,44 @@ - matching statistics\\ - a manual} -\end{AboutMatstat} - + \author{\begin{tabular}{c} \textit{Stefan Kurtz}\\ -@@ -54,47 +31,35 @@ - - The program \Program is called as follows: - \par --\noindent\Program [\textit{options}] \Showoption{query} \Showoptionarg{files} [\textit{options}] -+\noindent\Program [\textit{options}] \Showoption{query} \Showoptionarg{files} [\textit{options}] - \par --\Showoptionarg{files} is a white space separated list of at least one -+\Showoptionarg{files} is a white space separated list of at least one - filename. Any sequence occurring in any file specified in \Showoptionarg{files} - is called \textit{unit} in the following. - In addition to the mandatory option \Showoption{query}, the program - must be called with either option \Showoption{pck} or \Showoption{esa} --which specify to use a packed index or an enhanced suffix array for -+which specify to use a packed index or an enhanced suffix array for +@@ -64,7 +41,6 @@ + which specify to use a packed index or an enhanced suffix array for a given set of subject sequences. - + -\begin{AboutUniquesub} \Program computes for all positions \(i\) in each unit, say \(s\) of length --\(n\), the length \(\Mup{i}\) of the minimum unique prefix -+\(n\), the length \(\Mup{i}\) of the minimum unique prefix + \(n\), the length \(\Mup{i}\) of the minimum unique prefix at position \(i\), if it exists. Uniqueness always refers to all substrings --represented by the index. \(\Mup{i}\) is defined by the following two -+represented by the index. \(\Mup{i}\) is defined by the following two - statements: - \begin{itemize} - \item - If \(\Substring{s}{i}{n-1}\) is not unique in the index, then \(\Mup{i}=\bot\). - That is, it is undefined. - \item --If \(\Substring{s}{i}{n-1}\) is unique in the index, then \(\Mup{i}=m\), where --\(m\) is the smallest value such that \(i+m-1\leq n-1\) and -+If \(\Substring{s}{i}{n-1}\) is unique in the index, then \(\Mup{i}=m\), where -+\(m\) is the smallest value such that \(i+m-1\leq n-1\) and - \(\Substring{s}{i}{i+m-1}\) occurs exactly once as a substring in the index. - \end{itemize} --Note that it is possible that for all \(i\in[0,n-1]\) we have --\(\Mup{i}=\bot\), which means that unit \(s\) does not contain any unique -+Note that it is possible that for all \(i\in[0,n-1]\) we have -+\(\Mup{i}=\bot\), which means that unit \(s\) does not contain any unique +@@ -84,17 +60,6 @@ substring. In this case, the program reports nothing for the corresponding unit. The program was developed for designing whole genome tiling arrays. The corresponding publication is \cite{GRAE:NIE:KUR:HUY:BIR:STU:FLI:2007}. -\end{AboutUniquesub} - -\begin{AboutMatstat} --\Program computes the \textit{matching statistics} for each unit. That is, --for each position \(i\) in +-\Program computes the \textit{matching statistics} for each unit. That is, +-for each position \(i\) in -each unit, say \(s\) of length \(n\), \(\MS{i}=(l,j)\) is computed. Here -\(l\) is the largest integer such that \(\Substring{s}{i}{i+l-1}\) matches -a substring represented by the index and \(j\) is a start position of the -matching substring in the index. We say that \(l\) is the length of \(\MS{i}\) -and \(j\) is the subject position of \(\MS{i}\). -\end{AboutMatstat} - + The following options are available in \Program: - -@@ -117,58 +82,29 @@ - - \Option{query}{$\Showoptionarg{files}$}{ - Specify a white space separated list of query files containing the units. --At least one query file must be given. The files may be in -+At least one query file must be given. The files may be in + +@@ -121,7 +86,6 @@ gzipped format, in which case they have to end with the suffix \texttt{.gz}. } - + -\begin{AboutUniquesub} \Option{min}{$\ell$}{ Specify the minimum length $\ell$ of the minimum unique prefixes. --That is, for each unit \(s\) and each positions \(i\) in \(s\), the program --reports the values \(i\) and \(\Mup{i}\) whenever \(\Mup{i}\geq\ell\). -+That is, for each unit \(s\) and each positions \(i\) in \(s\), the program -+reports the values \(i\) and \(\Mup{i}\) whenever \(\Mup{i}\geq\ell\). - } - - \Option{max}{$\ell$}{ - Specify the maximum length $\ell$ of the minimum unique prefixes. --That is, for each unit \(s\) and each positions \(i\) in \(s\), the program -+That is, for each unit \(s\) and each positions \(i\) in \(s\), the program - reports the values \(i\) and \(\Mup{i}\) whenever \(\Mup{i}\leq\ell\). - } - - \Option{output}{(\Showoptionkey{querypos}$\mid$\Showoptionkey{sequence})}{ - Specify what to output. At least one of the two keys words --$\Showoptionkey{querypos}$ and $\Showoptionkey{sequence}$ must be used. -+$\Showoptionkey{querypos}$ and $\Showoptionkey{sequence}$ must be used. - Using the keyword $\Showoptionkey{querypos}$ shows the query position. + That is, for each unit \(s\) and each positions \(i\) in \(s\), the program +@@ -141,34 +105,6 @@ Using the keyword $\Showoptionkey{sequence}$ shows the sequence content of the match. } @@ -301,14 +247,14 @@ -\begin{AboutMatstat} -\Option{min}{$\ell$}{ -Specify the minimum value $\ell$ for the length of the matching statistics. --That is, for each unit \(s\) and each position \(i\) in \(s\), the program --reports all values \(i\) and \(\MS{i}\) if the +-That is, for each unit \(s\) and each position \(i\) in \(s\), the program +-reports all values \(i\) and \(\MS{i}\) if the -length of \(\MS{i}\) is at least \(\ell\). -} - -\Option{max}{$\ell$}{ -Specify the maximum length $\ell$ for the length of the matching statistics. --That is, for each unit \(s\) and each positions \(i\) in \(s\), the program +-That is, for each unit \(s\) and each positions \(i\) in \(s\), the program -reports the values \(i\) and \(\MS{i}\) if the length of \(\MS{i}\) -is at most \(\ell\). -} @@ -318,62 +264,23 @@ -$\Showoptionkey{subjectpos}$, -$\Showoptionkey{querypos}$, and -$\Showoptionkey{sequence}$ must be used. --Using the keyword $\Showoptionkey{subjectpos}$ shows the +-Using the keyword $\Showoptionkey{subjectpos}$ shows the -subject position of the matching statistics. -Using the keyword $\Showoptionkey{querypos}$ shows the query position. -Using the keyword $\Showoptionkey{sequence}$ shows the sequence content -} -\end{AboutMatstat} - + \Helpoption - -@@ -189,7 +125,7 @@ - \section{Examples} - - Suppose that in some directory, say \texttt{homo-sapiens}, we have 25 gzipped --fasta files containing all 24 human chromomsomes plus one file with -+fasta files containing all 24 human chromomsomes plus one file with - mitrochondrial sequences. These may have been downloaded from - \url{ftp://ftp.ensembl.org/pub/current_fasta/homo_sapiens_47_36i/dna}. - -@@ -200,7 +136,7 @@ - -indexname human-all -db homo-sapiens/*.gz - \end{Output} - --The program runs for almost two hours and delivers -+The program runs for almost two hours and delivers - an index \texttt{human-all} consisting of three files: - - \begin{Output} -@@ -212,9 +148,8 @@ - + +@@ -212,7 +148,6 @@ + This is used in the following call to the program \Program: - + -\begin{AboutUniquesub} \begin{Output} --gt uniquesub -output querypos -min 20 -max 30 -query queryfile.fna -+gt uniquesub -output querypos -min 20 -max 30 -query queryfile.fna + gt uniquesub -output querypos -min 20 -max 30 -query queryfile.fna -pck human-all - unit 0 (Mus musculus, chr 1, complete sequence) - 1007 20 -@@ -227,7 +162,7 @@ - - For all units \(s\) in the multiple \Fasta file \texttt{queryfile.fna}, - a line is shown, reporting the number of the unit and the original fasta --header. Also, all for positions \(i\) in \(s\) satisfying -+header. Also, all for positions \(i\) in \(s\) satisfying - \(20\leq \Mup{i}\leq 30\), \(i\) and \(\Mup{i}\) is reported. - - The first column is the relative position in the unit sequence (counting -@@ -238,7 +173,7 @@ - \Showoption{output}: - - \begin{Output} --gt uniquesub -output querypos sequence -min 20 -max 30 -+gt uniquesub -output querypos sequence -min 20 -max 30 - -query queryfile.fna -pck human-all - unit 0 (Mus musculus, chr 1, complete sequence) - 1007 20 ctgacagtttttttttttta @@ -248,27 +183,7 @@ 1013 21 gttttttttttttactttata ... @@ -382,7 +289,7 @@ - -\begin{AboutMatstat} -\begin{Output} --gt matstat -output subjectpos querypos sequence -min 20 -max 30 +-gt matstat -output subjectpos querypos sequence -min 20 -max 30 - -query queryfile.fna -pck human-all -unit 0 (Mus musculus, chr 1, complete sequence) -22 20 390765125 actgtatctcaaaatataaa @@ -397,14 +304,14 @@ -the corresponding length value. The third column shows position of the -matching sequence in the index, and the fourth shows the sequence content. -\end{AboutMatstat} - + -\begin{AboutUniquesub} %\bibliographystyle{plain} %\bibliography{defines,kurtz} \begin{thebibliography}{1} @@ -280,5 +195,4 @@ \newblock {\em {Bioinformatics}}, {23 ISMB/ECCB 2007}:{i195--i204}, 2007. - + \end{thebibliography} -\end{AboutUniquesub} \end{document} _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
