summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Lohrke <carlo@gentoo.org>2005-12-01 23:15:36 +0000
committerCarsten Lohrke <carlo@gentoo.org>2005-12-01 23:15:36 +0000
commitd9079095c7e3ea48e3b859ed1431558ee25efaf0 (patch)
tree67649440c1687e7427c866aea10c3926f7070376
parentStable on alpha wrt sec bug #113888 (diff)
downloadgentoo-2-d9079095c7e3ea48e3b859ed1431558ee25efaf0.tar.gz
gentoo-2-d9079095c7e3ea48e3b859ed1431558ee25efaf0.tar.bz2
gentoo-2-d9079095c7e3ea48e3b859ed1431558ee25efaf0.zip
hopefully fix 64 bit issues
(Portage version: 2.0.53)
-rw-r--r--app-arch/arj/ChangeLog8
-rw-r--r--app-arch/arj/Manifest5
-rw-r--r--app-arch/arj/arj-3.10.22-r1.ebuild71
-rw-r--r--app-arch/arj/files/003_64_bit_clean.patch194
-rw-r--r--app-arch/arj/files/digest-arj-3.10.22-r11
5 files changed, 277 insertions, 2 deletions
diff --git a/app-arch/arj/ChangeLog b/app-arch/arj/ChangeLog
index 92acf2332044..4b361702543d 100644
--- a/app-arch/arj/ChangeLog
+++ b/app-arch/arj/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-arch/arj
# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/arj/ChangeLog,v 1.17 2005/11/13 03:36:19 weeve Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/arj/ChangeLog,v 1.18 2005/12/01 23:15:36 carlo Exp $
+
+*arj-3.10.22-r1 (01 Dec 2005)
+
+ 01 Dec 2005; Carsten Lohrke <carlo@gentoo.org>
+ +files/003_64_bit_clean.patch, +arj-3.10.22-r1.ebuild:
+ hopefully fix 64 bit issues
13 Nov 2005; Jason Wever <weeve@gentoo.org> arj-3.10.18.ebuild:
Stable on SPARC.
diff --git a/app-arch/arj/Manifest b/app-arch/arj/Manifest
index 21f36bd1ed40..fc538cfb4af2 100644
--- a/app-arch/arj/Manifest
+++ b/app-arch/arj/Manifest
@@ -1,16 +1,19 @@
-MD5 8aa94cf2495f998a1f6fcf366b85075f ChangeLog 2363
+MD5 6ef045231918c8fdb7ae052eda9dd78b ChangeLog 2531
MD5 4871ee30ae0243d8e3883677b20f09b2 arj-3.10.18.ebuild 889
MD5 c56ba07e37dec37c343269e23b35f156 arj-3.10.20.ebuild 757
MD5 671f5a92021e0a863dc1f272985e5eaa arj-3.10.21.ebuild 1660
+MD5 566861190fc6097d901c6a03fa00f471 arj-3.10.22-r1.ebuild 1742
MD5 f51ea80dc6000f222b32cad90a102413 arj-3.10.22.ebuild 1789
MD5 9b4b57af43fbbee01697da5fb90d0b0e arj-3.10g.ebuild 780
MD5 550bc972d825036f17f202a2b11b35c2 files/001_arches_align.patch 1424
MD5 395dfa8cc500ffae648777f8f241be88 files/002_no_remove_static_const.patch 530
+MD5 56b3cf96ec485b0d824761457417fcc0 files/003_64_bit_clean.patch 5948
MD5 5e2195c695615ccdb1ecbefe4bcad796 files/arj-3.10.18-2.6.headers.patch 402
MD5 0187cf8866c2daa752565918b94e7ea0 files/arj-3.10.18-fPIC.patch 342
MD5 7c4c01b5654eb39a7be1799abaad4c2f files/digest-arj-3.10.18 63
MD5 6c06d74438839e6880711dddb5efd036 files/digest-arj-3.10.20 63
MD5 f51bf31b56b6e0f9191beb570b38502c files/digest-arj-3.10.21 63
MD5 678545b31fd18e384761e80ed0f5bc50 files/digest-arj-3.10.22 63
+MD5 678545b31fd18e384761e80ed0f5bc50 files/digest-arj-3.10.22-r1 63
MD5 47ce44cd0bdc2037f4bfa8dc8e81dfbd files/digest-arj-3.10g 61
MD5 37236013e0d26d43c6bff35a8a48e8ec metadata.xml 220
diff --git a/app-arch/arj/arj-3.10.22-r1.ebuild b/app-arch/arj/arj-3.10.22-r1.ebuild
new file mode 100644
index 000000000000..9e1718b94f07
--- /dev/null
+++ b/app-arch/arj/arj-3.10.22-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/arj/arj-3.10.22-r1.ebuild,v 1.1 2005/12/01 23:15:36 carlo Exp $
+
+inherit gnuconfig eutils toolchain-funcs
+
+DESCRIPTION="Utility for opening arj archives"
+HOMEPAGE="http://arj.sourceforge.net/"
+SRC_URI="mirror://sourceforge/arj/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~sparc ~amd64"
+IUSE=""
+RESTRICT="nostrip"
+
+DEPEND="virtual/libc"
+
+src_unpack() {
+ unpack ${A}
+ epatch "${FILESDIR}/001_arches_align.patch"
+ epatch "${FILESDIR}/002_no_remove_static_const.patch"
+ epatch "${FILESDIR}/003_64_bit_clean.patch"
+}
+
+src_compile() {
+ if [ -x /usr/sbin/gcc-config ]
+ then
+ # Do we have a gcc that use the new layout and gcc-config ?
+ if /usr/sbin/gcc-config --get-current-profile &> /dev/null
+ then
+ export GCC_PROFILE="$(/usr/sbin/gcc-config --get-current-profile)"
+
+ # Just recheck gcc version ...
+ if [ "$(gcc-version)" != "3.2" ] && [ "$(gcc-version)" != "3.3" ]
+ then
+ # See if we can get a gcc profile we know is proper ...
+ if /usr/sbin/gcc-config --get-bin-path ${CHOST}-3.3.4 &> /dev/null
+ then
+ export PATH="$(/usr/sbin/gcc-config --get-bin-path ${CHOST}-3.3.4):${PATH}"
+ export GCC_PROFILE="${CHOST}-3.3.4"
+ else
+ eerror "This build needs gcc-3.2 or gcc-3.3!"
+ eerror
+ eerror "Use gcc-config to change your gcc profile:"
+ eerror
+ eerror " # gcc-config $CHOST-3.3.4"
+ eerror
+ eerror "or whatever gcc version is relevant."
+ die
+ fi
+ fi
+ fi
+ fi
+
+ gnuconfig_update
+
+ cd ${S}/gnu
+ autoconf
+ econf || die
+
+ cd ${S}
+ make prepare || die "make prepare failed"
+ make package || die "make package failed"
+}
+
+src_install() {
+ cd ${S}/linux-gnu/en/rs/u
+ dobin bin/* || die
+ dodoc doc/arj/* ${S}/ChangeLog
+}
diff --git a/app-arch/arj/files/003_64_bit_clean.patch b/app-arch/arj/files/003_64_bit_clean.patch
new file mode 100644
index 000000000000..7cd602ea54ed
--- /dev/null
+++ b/app-arch/arj/files/003_64_bit_clean.patch
@@ -0,0 +1,194 @@
+#DPATCHLEVEL=1
+diff -Naur -x .svn -x CVS arj-3.10.22.orig/arj_arcv.c arj-3.10.22/arj_arcv.c
+--- arj-3.10.22.orig/arj_arcv.c 2005-06-21 22:53:12.000000000 +0300
++++ arj-3.10.22/arj_arcv.c 2005-11-24 02:50:31.000000000 +0200
+@@ -59,27 +59,27 @@
+ #define setup_hput(ptr) (tmp_hptr=(ptr))
+
+ #define hget_byte() (*(tmp_hptr++)&0xFF)
+-#define hput_byte(c) (*(tmp_hptr++)=(char) (c))
++#define hput_byte(c) (*(tmp_hptr++)=(uint8_t) (c))
+
+ /* Reads two bytes from the header, incrementing the pointer */
+
+-static unsigned int hget_word()
++static uint16_t hget_word()
+ {
+- unsigned int result;
++ uint16_t result;
+
+ result=mget_word(tmp_hptr);
+- tmp_hptr+=sizeof(short);
++ tmp_hptr+=sizeof(uint16_t);
+ return result;
+ }
+
+ /* Reads four bytes from the header, incrementing the pointer */
+
+-static unsigned long hget_longword()
++static uint32_t hget_longword()
+ {
+- unsigned long result;
++ uint32_t result;
+
+ result=mget_dword(tmp_hptr);
+- tmp_hptr+=sizeof(unsigned long);
++ tmp_hptr+=sizeof(uint32_t);
+ return result;
+ }
+
+@@ -87,18 +87,18 @@
+
+ /* Writes two bytes to the header, incrementing the pointer */
+
+-static void hput_word(unsigned int w)
++static void hput_word(uint16_t w)
+ {
+ mput_word(w,tmp_hptr);
+- tmp_hptr+=sizeof(unsigned short);
++ tmp_hptr+=sizeof(uint16_t);
+ }
+
+ /* Writes four bytes to the header, incrementing the pointer */
+
+-static void hput_longword(unsigned long l)
++static void hput_longword(uint32_t l)
+ {
+ mput_dword(l,tmp_hptr);
+- tmp_hptr+=sizeof(unsigned long);
++ tmp_hptr+=sizeof(uint32_t);
+ }
+
+ /* Calculates and stores the basic header size */
+diff -Naur -x .svn -x CVS arj-3.10.22.orig/arj_proc.c arj-3.10.22/arj_proc.c
+--- arj-3.10.22.orig/arj_proc.c 2005-11-24 02:50:19.000000000 +0200
++++ arj-3.10.22/arj_proc.c 2005-11-24 02:50:31.000000000 +0200
+@@ -585,7 +585,7 @@
+ /* Returns the exact amount of data that could be safely written to the
+ destination volume */
+
+-unsigned long get_volfree(unsigned int increment)
++unsigned long get_volfree(unsigned long increment)
+ {
+ unsigned long pvol;
+ unsigned int arjsec_overhead;
+@@ -605,7 +605,7 @@
+ remain=volume_limit-ftell(aostream)-pvol-(long)arjsec_overhead-
+ (long)out_bytes-(long)cpos-(long)ext_voldata-
+ MULTIVOLUME_RESERVE-t_volume_offset;
+- return((unsigned long)min(remain, (unsigned long)increment));
++ return((unsigned long)min(remain, increment));
+ }
+
+ /* Performs various checks when multivolume data is packed to predict an
+@@ -2466,14 +2466,14 @@
+ *tsptr='\0';
+ endptr=tsptr;
+ tsptr=sptr;
+- while((unsigned int)tsptr<(unsigned int)endptr&&patterns<SEARCH_STR_MAX)
++ while((intptr_t)tsptr<(intptr_t)endptr&&patterns<SEARCH_STR_MAX)
+ {
+ while(*tsptr=='\0')
+ tsptr++;
+- if((unsigned int)tsptr<(unsigned int)endptr)
++ if((intptr_t)tsptr<(intptr_t)endptr)
+ {
+ search_str[patterns++]=tsptr;
+- while(*tsptr!='\0'&&(unsigned int)tsptr<(unsigned int)endptr)
++ while(*tsptr!='\0'&&(intptr_t)tsptr<(intptr_t)endptr)
+ tsptr++;
+ }
+ }
+@@ -2901,9 +2901,9 @@
+ #if (defined(WORDS_BIGENDIAN) || defined(ALIGN_POINTERS)) && !defined(ARJDISP) && !defined(REGISTER)
+ /* Model-independent routine to get 2 bytes from far RAM */
+
+-unsigned int mget_word(char FAR *p)
++uint16_t mget_word(char FAR *p)
+ {
+- unsigned int b0, b1;
++ uint16_t b0, b1;
+
+ b0=mget_byte(p);
+ b1=mget_byte(p+1);
+@@ -2912,9 +2912,9 @@
+
+ /* Model-independent routine to get 4 bytes from far RAM */
+
+-unsigned long mget_dword(char FAR *p)
++uint32_t mget_dword(char FAR *p)
+ {
+- unsigned long w0, w1;
++ uint32_t w0, w1;
+
+ w0=mget_word(p);
+ w1=mget_word(p+2);
+@@ -2923,7 +2923,7 @@
+
+ /* Model-independent routine to store 2 bytes in far RAM */
+
+-void mput_word(unsigned int w, char FAR *p)
++void mput_word(uint16_t w, char FAR *p)
+ {
+ mput_byte(w&0xFF, p);
+ mput_byte(w>>8 , p+1);
+@@ -2931,7 +2931,7 @@
+
+ /* Model-independent routine to store 4 bytes in far RAM */
+
+-void mput_dword(unsigned long d, char FAR *p)
++void mput_dword(uint32_t d, char FAR *p)
+ {
+ mput_word(d&0xFFFF, p);
+ mput_word(d>>16 , p+2);
+diff -Naur -x .svn -x CVS arj-3.10.22.orig/arj_proc.h arj-3.10.22/arj_proc.h
+--- arj-3.10.22.orig/arj_proc.h 2005-11-24 02:50:19.000000000 +0200
++++ arj-3.10.22/arj_proc.h 2005-11-24 03:17:25.000000000 +0200
+@@ -8,15 +8,17 @@
+ #ifndef ARJ_PROC_INCLUDED
+ #define ARJ_PROC_INCLUDED
+
++#include <stdint.h>
++
+ /* Helper macros */
+
+-#define mget_byte(p) (*(unsigned char FAR *)(p)&0xFF)
+-#define mput_byte(c, p) *(unsigned char FAR *)(p)=(unsigned char)(c)
++#define mget_byte(p) (*(uint8_t FAR *)(p)&0xFF)
++#define mput_byte(c, p) *(uint8_t FAR *)(p)=(uint8_t)(c)
+ #if !defined(ALIGN_POINTERS) && !defined(WORDS_BIGENDIAN)
+-#define mget_word(p) (*(unsigned short *)(p)&0xFFFF)
+-#define mput_word(w,p) (*(unsigned short *)(p)=(unsigned short)(w))
+-#define mget_dword(p) (*(unsigned long *)(p))
+-#define mput_dword(w,p) (*(unsigned long *)(p)=(unsigned long)(w))
++#define mget_word(p) (*(uint16_t *)(p)&0xFFFF)
++#define mput_word(w,p) (*(uint16_t *)(p)=(uint16_t)(w))
++#define mget_dword(p) (*(uint32_t *)(p))
++#define mput_dword(w,p) (*(uint32_t *)(p)=(uint32_t)(w))
+ #endif
+
+ /* Prototypes */
+@@ -31,7 +33,7 @@
+ int translate_path(char *name);
+ void restart_proc(char *dest);
+ int search_for_extension(char *name, char *ext_list);
+-unsigned long get_volfree(unsigned int increment);
++unsigned long get_volfree(unsigned long increment);
+ unsigned int check_multivolume(unsigned int increment);
+ void store();
+ void hollow_encode();
+@@ -61,10 +63,10 @@
+ void strip_lf(char *str);
+ char *ltrim(char *str);
+ #if defined(ALIGN_POINTERS) || defined(WORDS_BIGENDIAN)
+-unsigned int mget_word(char FAR *p);
+-unsigned long mget_dword(char FAR *p);
+-void mput_word(unsigned int w, char FAR *p);
+-void mput_dword(unsigned long d, char FAR *p);
++uint16_t mget_word(char FAR *p);
++uint32_t mget_dword(char FAR *p);
++void mput_word(uint16_t w, char FAR *p);
++void mput_dword(uint32_t d, char FAR *p);
+ #endif
+
+ #endif
diff --git a/app-arch/arj/files/digest-arj-3.10.22-r1 b/app-arch/arj/files/digest-arj-3.10.22-r1
new file mode 100644
index 000000000000..864c2b5bf8f6
--- /dev/null
+++ b/app-arch/arj/files/digest-arj-3.10.22-r1
@@ -0,0 +1 @@
+MD5 f263bf3cf6d42a8b7e85b4fb514336d3 arj-3.10.22.tar.gz 431467