From owner-svn-ports-all@FreeBSD.ORG Mon Mar 23 15:28:16 2015 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C6B13B6D; Mon, 23 Mar 2015 15:28:16 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B1756D3C; Mon, 23 Mar 2015 15:28:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t2NFSG5M036397; Mon, 23 Mar 2015 15:28:16 GMT (envelope-from mi@FreeBSD.org) Received: (from mi@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t2NFSFck036388; Mon, 23 Mar 2015 15:28:15 GMT (envelope-from mi@FreeBSD.org) Message-Id: <201503231528.t2NFSFck036388@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: mi set sender to mi@FreeBSD.org using -f From: Mikhail Teterin Date: Mon, 23 Mar 2015 15:28:15 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r382010 - in head/archivers/ruby-lha: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Mar 2015 15:28:16 -0000 Author: mi Date: Mon Mar 23 15:28:14 2015 New Revision: 382010 URL: https://svnweb.freebsd.org/changeset/ports/382010 QAT: https://qat.redports.org/buildarchive/r382010/ Log: Ubreak (see the new patch-math-remainder), resolve most of the warnings, enable tests (regression-test). Added: head/archivers/ruby-lha/files/ head/archivers/ruby-lha/files/patch-math-remainder (contents, props changed) head/archivers/ruby-lha/files/patch-tests (contents, props changed) head/archivers/ruby-lha/files/patch-warnings (contents, props changed) Modified: head/archivers/ruby-lha/Makefile Modified: head/archivers/ruby-lha/Makefile ============================================================================== --- head/archivers/ruby-lha/Makefile Mon Mar 23 15:28:05 2015 (r382009) +++ head/archivers/ruby-lha/Makefile Mon Mar 23 15:28:14 2015 (r382010) @@ -25,16 +25,15 @@ RUBY_SHEBANG_FILES= ${EXAMPLES} OPTIONS_DEFINE= DOCS +# We don't have executables in this package, but rake uses +# INSTALL_PROG for shared libraries: +MAKE_ARGS= INSTALL_PROG="${INSTALL_LIB}" + post-install: @${MKDIR} ${STAGEDIR}${RUBY_MODEXAMPLESDIR} ${INSTALL_SCRIPT} ${EXAMPLES:S,^,${WRKSRC}/,} ${STAGEDIR}${RUBY_MODEXAMPLESDIR} -.include - -.if ${RUBY_VER} >= 2.0 -BROKEN= Does not build with Ruby 2.0 or Ruby 2.1 -.endif -DEPRECATED= Does not work with Ruby 2.x -EXPIRATION_DATE= 2015-03-28 +test check regression-test: build + cd ${WRKSRC}/test && ${RUBY} -I${WRKSRC} test.rb -.include +.include Added: head/archivers/ruby-lha/files/patch-math-remainder ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/archivers/ruby-lha/files/patch-math-remainder Mon Mar 23 15:28:14 2015 (r382010) @@ -0,0 +1,55 @@ +Ruby 2.x #includes , which declares a function named +remainder(). We must rename our variable to avoid name-conflict +and allow this code to compile with Ruby-2.x + + -mi + +--- ext/slide.c 2006-09-17 13:45:51.000000000 -0400 ++++ ext/slide.c 2015-03-23 10:27:10.000000000 -0400 +@@ -88,5 +88,5 @@ + static unsigned int txtsiz; + static unsigned long dicsiz; +-static unsigned int remainder; ++static unsigned int iremainder; + + struct matchdata { +@@ -163,5 +163,5 @@ + n = fread_crc(crc, &text[txtsiz - dicsiz], dicsiz, infile); + +- remainder += n; ++ iremainder += n; + + *pos -= dicsiz; +@@ -271,5 +271,5 @@ + search_dict_1(token, pos, 0, off+2, m); + +- if (m->len > remainder) m->len = remainder; ++ if (m->len > iremainder) m->len = iremainder; + } + +@@ -281,5 +281,5 @@ + unsigned int *crc; + { +- remainder--; ++ iremainder--; + if (++*pos >= txtsiz - maxmatch) { + update_dict(pos, crc); +@@ -317,9 +317,9 @@ + memset(text, ' ', TXTSIZ); + +- remainder = fread_crc(&crc, &text[dicsiz], txtsiz-dicsiz, infile); ++ iremainder = fread_crc(&crc, &text[dicsiz], txtsiz-dicsiz, infile); + + match.len = THRESHOLD - 1; + match.off = 0; +- if (match.len > remainder) match.len = remainder; ++ if (match.len > iremainder) match.len = iremainder; + + pos = dicsiz; +@@ -327,5 +327,5 @@ + insert_hash(token, pos); /* associate token and pos */ + +- while (remainder > 0 && ! unpackable) { ++ while (iremainder > 0 && ! unpackable) { + last = match; + Added: head/archivers/ruby-lha/files/patch-tests ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/archivers/ruby-lha/files/patch-tests Mon Mar 23 15:28:14 2015 (r382010) @@ -0,0 +1,9 @@ +--- test/test.rb 2006-09-17 14:32:52.000000000 -0400 ++++ test/test.rb 2015-03-23 11:18:00.000000000 -0400 +@@ -21,5 +21,5 @@ + obuff = ' ' * 256 + (0..255).each do |x| +- obuff[x] = x ++ obuff[x] = x.chr + end + nbuff = nil Added: head/archivers/ruby-lha/files/patch-warnings ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/archivers/ruby-lha/files/patch-warnings Mon Mar 23 15:28:14 2015 (r382010) @@ -0,0 +1,326 @@ +--- ext/crcio.c 2006-09-17 12:38:22.000000000 -0400 ++++ ext/crcio.c 2015-03-23 10:29:59.000000000 -0400 +@@ -34,9 +34,11 @@ + /* ------------------------------------------------------------------------ */ + unsigned int +-calccrc(crc, p, n) ++calccrc(crc, _p, n) + unsigned int crc; +- unsigned char *p; ++ const void *_p; + unsigned int n; + { ++ const unsigned char *p = _p; ++ + while (n-- > 0) + crc = UPDATE_CRC(crc, *p++); +@@ -68,5 +70,5 @@ + fwrite_crc(crcp, p, n, fp) + unsigned int *crcp; +- unsigned char *p; ++ const unsigned char *p; + int n; + FILE *fp; +@@ -139,9 +141,11 @@ + /* ------------------------------------------------------------------------ */ + int +-fwrite_txt(p, n, fp) +- unsigned char *p; ++fwrite_txt(_p, n, fp) ++ const void *_p; + int n; + FILE *fp; + { ++ const unsigned char *p = _p; ++ + while (--n >= 0) { + if (*p != '\015' && *p != '\032') { +@@ -161,6 +165,6 @@ + /* ------------------------------------------------------------------------ */ + int +-fread_txt(p, n, fp) +- unsigned char *p; ++fread_txt(_p, n, fp) ++ void *_p; + int n; + FILE *fp; +@@ -168,4 +172,5 @@ + int c; + int cnt = 0; ++ unsigned char *p = _p; + + while (cnt < n) { +--- ext/extract.c 2006-09-17 13:45:51.000000000 -0400 ++++ ext/extract.c 2015-03-23 10:42:48.000000000 -0400 +@@ -15,5 +15,5 @@ + size_t original_size; + size_t packed_size; +- char *name; ++ const char *name; + int method; + size_t *read_sizep; +--- ext/header.c 2006-09-17 12:38:22.000000000 -0400 ++++ ext/header.c 2015-03-23 10:54:36.000000000 -0400 +@@ -49,10 +49,11 @@ + #endif + +-int +-calc_sum(p, len) +- char *p; ++static int ++calc_sum(_p, len) ++ const void *_p; + int len; + { + int sum = 0; ++ const char *p = _p; + + while (len--) sum += *p++; +@@ -68,5 +69,5 @@ + + if (verbose_listing && verbose > 1) +- printf("%02d %2d: ", get_ptr - start_ptr, 1); ++ printf("%02td %2d: ", get_ptr - start_ptr, 1); + c = GET_BYTE(); + if (verbose_listing && verbose > 1) { +@@ -85,5 +86,5 @@ + if (len == 0) return; + if (verbose_listing && verbose > 1) { +- printf("%02d %2d: ", get_ptr - start_ptr, len); ++ printf("%02td %2d: ", get_ptr - start_ptr, len); + while (len--) + printf("0x%02x ", GET_BYTE()); +@@ -103,5 +104,5 @@ + #if DUMP_HEADER + if (verbose_listing && verbose > 1) +- printf("%02d %2d: ", get_ptr - start_ptr, 2); ++ printf("%02td %2d: ", get_ptr - start_ptr, 2); + #endif + b0 = GET_BYTE(); +@@ -131,5 +132,5 @@ + #if DUMP_HEADER + if (verbose_listing && verbose > 1) +- printf("%02d %2d: ", get_ptr - start_ptr, 4); ++ printf("%02td %2d: ", get_ptr - start_ptr, 4); + #endif + b0 = GET_BYTE(); +@@ -164,5 +165,5 @@ + #if DUMP_HEADER + if (verbose_listing && verbose > 1) +- printf("%02d %2d: \"", get_ptr - start_ptr, len); ++ printf("%02td %2d: \"", get_ptr - start_ptr, len); + + for (i = 0; i < len; i++) { +@@ -1172,9 +1173,9 @@ + + /* remove leading `xxxx/..' */ +-static char * +-remove_leading_dots(char *path) ++static const char * ++remove_leading_dots(const char *path) + { +- char *first = path; +- char *ptr = 0; ++ const char *first = path; ++ const char *ptr = NULL; + + if (strcmp(first, "..") == 0) { +@@ -1201,5 +1202,5 @@ + + if (ptr) { +- warning("Removing leading `%.*s' from member name.", ptr-first, first); ++ warning("Removing leading `%.*s' from member name.", (int)(ptr - first), first); + return ptr; + } +--- ext/huf.c 2006-09-17 12:38:22.000000000 -0400 ++++ ext/huf.c 2015-03-23 10:37:51.000000000 -0400 +@@ -235,7 +235,5 @@ + /* lh4, 5, 6, 7 */ + void +-output_st1(c, p) +- unsigned short c; +- unsigned short p; ++output_st1(unsigned short c, unsigned short p) + { + static unsigned short cpos; +--- ext/lha.h 2006-09-18 04:53:29.000000000 -0400 ++++ ext/lha.h 2015-03-23 11:03:01.000000000 -0400 +@@ -212,4 +212,6 @@ + #include "lha_macro.h" + ++unsigned char *alloc_buf(void); ++ + #define exit(n) lha_exit(n) + +@@ -301,32 +303,34 @@ + LHALIB_EXTERN boolean need_file(const char*); + LHALIB_EXTERN boolean archive_is_msdos_sfx1(const char*); +-LHALIB_EXTERN void output_dyn(); +-LHALIB_EXTERN void encode_start_fix(); +-LHALIB_EXTERN void encode_end_dyn(); +-LHALIB_EXTERN void output_st1(); +-LHALIB_EXTERN void encode_start_st0(); +-LHALIB_EXTERN void encode_end_st0(); +-LHALIB_EXTERN void encode_start_st1(); +-LHALIB_EXTERN void encode_end_st1(); +-LHALIB_EXTERN unsigned short decode_c_dyn(); +-LHALIB_EXTERN unsigned short decode_p_dyn(); +-LHALIB_EXTERN void decode_start_fix(); +-LHALIB_EXTERN void decode_start_dyn(); +-LHALIB_EXTERN void decode_start_st0(); +-LHALIB_EXTERN void decode_start_st1(); +-LHALIB_EXTERN unsigned short decode_c_st0(); +-LHALIB_EXTERN unsigned short decode_c_st1(); +-LHALIB_EXTERN unsigned short decode_p_st0(); +-LHALIB_EXTERN unsigned short decode_p_st1(); +-LHALIB_EXTERN unsigned short decode_c_lzs(); +-LHALIB_EXTERN unsigned short decode_p_lzs(); +-LHALIB_EXTERN void decode_start_lzs(); +-LHALIB_EXTERN unsigned short decode_c_lz5(); +-LHALIB_EXTERN unsigned short decode_p_lz5(); +-LHALIB_EXTERN void decode_start_lz5(); +-LHALIB_EXTERN void make_crctable(); ++LHALIB_EXTERN void output_dyn(unsigned int code, unsigned int pos); ++LHALIB_EXTERN void encode_start_fix(void); ++LHALIB_EXTERN void encode_end_dyn(void); ++LHALIB_EXTERN void output_st1(unsigned short c, unsigned short p); ++LHALIB_EXTERN void encode_start_st0(void); ++LHALIB_EXTERN void encode_end_st0(void); ++LHALIB_EXTERN void encode_start_st1(void); ++LHALIB_EXTERN void encode_end_st1(void); ++LHALIB_EXTERN void start_c_dyn(void); ++LHALIB_EXTERN unsigned short decode_c_dyn(void); ++LHALIB_EXTERN unsigned short decode_p_dyn(void); ++LHALIB_EXTERN void decode_start_fix(void); ++LHALIB_EXTERN void decode_start_dyn(void); ++LHALIB_EXTERN void decode_start_st0(void); ++LHALIB_EXTERN void decode_start_st1(void); ++LHALIB_EXTERN unsigned short decode_c_st0(void); ++LHALIB_EXTERN unsigned short decode_c_st1(void); ++LHALIB_EXTERN unsigned short decode_p_st0(void); ++LHALIB_EXTERN unsigned short decode_p_st1(void); ++LHALIB_EXTERN unsigned short decode_c_lzs(void); ++LHALIB_EXTERN unsigned short decode_p_lzs(void); ++LHALIB_EXTERN void decode_start_lzs(void); ++LHALIB_EXTERN unsigned short decode_c_lz5(void); ++LHALIB_EXTERN unsigned short decode_p_lz5(void); ++LHALIB_EXTERN void decode_start_lz5(void); ++LHALIB_EXTERN void make_crctable(void); + LHALIB_EXTERN size_t copyfile(FILE* f1, FILE* f2, size_t size, int text_flg, unsigned int* crcp); +-LHALIB_EXTERN void init_getbits(); +-LHALIB_EXTERN void init_code_cache(); ++LHALIB_EXTERN void init_getbits(void); ++LHALIB_EXTERN void init_putbits(void); ++LHALIB_EXTERN void init_code_cache(void); + LHALIB_EXTERN void putcode(unsigned char n, unsigned short x); + LHALIB_EXTERN void putbits(unsigned char n, unsigned short x); +@@ -335,5 +339,18 @@ + LHALIB_EXTERN void encode_p_st0(unsigned short j); + +- ++NORETURN(void lha_exit(int n)); ++unsigned int calccrc(unsigned int crc, const void *p, unsigned int length); ++int fread_txt(void *p, int n, FILE *fp); ++int fwrite_txt(const void *p, int n, FILE *fp); ++int fread_crc(unsigned int *crcp, unsigned char *p, int n, FILE *fp); ++void fwrite_crc(unsigned int *crcp, const unsigned char *p, int n, FILE *fp); ++void make_table(short nchar, const unsigned char bitlenp[], short tablebits, unsigned short table[]); ++unsigned int decode(struct interfacing *intf); ++short make_tree(int nchar, unsigned short *freqp, unsigned char *bitlenp, unsigned short *codep); ++int str_safe_copy(char *dst, const char *src, int dstsz); ++int decode_lzhuf(FILE *in, FILE *out, size_t original, size_t packed, const char *name, int method, size_t *readp); ++int seek_lha_header(FILE *fp); ++boolean get_header(FILE *fp, LzHeader *hdr); ++PRINTF_ARGS(int xsnprintf(char *dst, size_t size, const char *fmt, ...), 3, 4); + + #define start_indicator(name, size, ing, len) 0 +--- ext/lhalib.c 2006-09-18 05:11:35.000000000 -0400 ++++ ext/lhalib.c 2015-03-23 11:00:35.000000000 -0400 +@@ -19,5 +19,5 @@ + + #include "lha.h" +-#include "st.h" ++#include + + static VALUE lhalib; +@@ -76,5 +76,5 @@ + proc = Qnil; + rb_scan_args(argc, argv, "1&", &file, &proc); +- rb_check_safe_str(file); ++ SafeStringValue(file); + rb_secure(4); + +--- ext/lharc.c 2006-09-17 12:38:22.000000000 -0400 ++++ ext/lharc.c 2015-03-23 10:58:33.000000000 -0400 +@@ -53,5 +53,5 @@ + static boolean + open_old_archive_1(name, v_fp) +- char *name; ++ const char *name; + FILE **v_fp; + { +--- ext/lhext.c 2006-09-17 12:38:22.000000000 -0400 ++++ ext/lhext.c 2015-03-23 10:41:48.000000000 -0400 +@@ -27,6 +27,7 @@ + }; + +-static void add_dirinfo(char* name, LzHeader* hdr); +-static void adjust_dirinfo(); ++static void add_dirinfo(const char* name, LzHeader* hdr); ++static void adjust_dirinfo(void); ++static int is_directory_traversal(const char *path); + + /* ------------------------------------------------------------------------ */ +@@ -396,6 +397,6 @@ + } + +-int +-is_directory_traversal(char *path) ++static int ++is_directory_traversal(const char *path) + { + int state = 0; +@@ -437,5 +438,5 @@ + static LzHeaderList *dirinfo; + +-static void add_dirinfo(char *name, LzHeader *hdr) ++static void add_dirinfo(const char *name, LzHeader *hdr) + { + LzHeaderList *p; +--- ext/maketbl.c 2006-09-17 12:38:22.000000000 -0400 ++++ ext/maketbl.c 2015-03-23 10:32:06.000000000 -0400 +@@ -10,9 +10,6 @@ + + void +-make_table(nchar, bitlen, tablebits, table) +- short nchar; +- unsigned char bitlen[]; +- short tablebits; +- unsigned short table[]; ++make_table(short nchar, const unsigned char bitlen[], short tablebits, ++ unsigned short table[]) + { + unsigned short count[17]; /* count of bitlen */ +--- ext/maketree.c 2006-09-17 13:36:33.000000000 -0400 ++++ ext/maketree.c 2015-03-23 11:02:50.000000000 -0400 +@@ -96,5 +96,5 @@ + short *heap; + size_t heapsize; +- unsigned short *freq; ++ const unsigned short *freq; + { + short j, k; +--- ext/util.c 2006-09-18 04:53:29.000000000 -0400 ++++ ext/util.c 2015-03-23 10:57:53.000000000 -0400 +@@ -115,8 +115,9 @@ + int + #if STDC_HEADERS +-xsnprintf(char *dest, size_t size, char *fmt, ...) ++xsnprintf(char *dest, size_t size, const char *fmt, ...) + #else + xsnprintf(dest, size, fmt, va_alist) +- char *dest, *fmt; ++ char *dest; ++ const char *fmt; + size_t size; + va_dcl