From 389aefcbad9f8d73abd5b7e77b262855997ac097 Mon Sep 17 00:00:00 2001 From: Guy Martin Date: Wed, 22 Dec 2004 11:25:31 +0000 Subject: [PATCH] Added hppa support. --- net-www/mozilla-firefox/ChangeLog | 6 +- net-www/mozilla-firefox/Manifest | 51 ++-- .../mozilla-firefox/files/mozilla-hppa.patch | 232 ++++++++++++++++++ .../mozilla-firefox-1.0-r3.ebuild | 16 +- 4 files changed, 272 insertions(+), 33 deletions(-) create mode 100644 net-www/mozilla-firefox/files/mozilla-hppa.patch diff --git a/net-www/mozilla-firefox/ChangeLog b/net-www/mozilla-firefox/ChangeLog index 684d26dd4c50..6d127cffa6d8 100644 --- a/net-www/mozilla-firefox/ChangeLog +++ b/net-www/mozilla-firefox/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for net-www/mozilla-firefox # Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla-firefox/ChangeLog,v 1.89 2004/12/21 11:54:01 kloeri Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla-firefox/ChangeLog,v 1.90 2004/12/22 11:25:31 gmsoft Exp $ + + 22 Dec 2004; Guy Martin +files/mozilla-hppa.patch, + mozilla-firefox-1.0-r3.ebuild: + Added hppa support. 21 Dec 2004; Bryan Østergaard mozilla-firefox-1.0.ebuild: diff --git a/net-www/mozilla-firefox/Manifest b/net-www/mozilla-firefox/Manifest index df7c051a7010..272ffdc9bc3f 100644 --- a/net-www/mozilla-firefox/Manifest +++ b/net-www/mozilla-firefox/Manifest @@ -1,38 +1,29 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 6c89295fc5264c6798ee06f9e2f5c936 mozilla-firefox-1.0_rc2.ebuild 5066 -MD5 809453352ef124b51ec8e4c96fd23e69 mozilla-firefox-1.0_rc1.ebuild 5147 -MD5 675d71d19cfffe142cf6bf879e5feaa7 ChangeLog 14433 -MD5 e45f5d0ad760a810a0057f18df4e9566 mozilla-firefox-1.0.ebuild 5058 -MD5 656615b525c61520895b16516c12de26 mozilla-firefox-1.0-r3.ebuild 5820 -MD5 4bcd75902aafdef30244f66f6d835a52 mozilla-firefox-1.0-r2.ebuild 5479 +MD5 5917f1f649142a189ad64ad956a33927 ChangeLog 14562 MD5 ce23390351fe8020387d93ee29e09a3d metadata.xml 160 -MD5 faaa52e819364f34c1b174f0c47a6d86 mozilla-firefox-1.0_pre-r2.ebuild 5073 MD5 c543ce361b2035afbb9db4010f9f776e mozilla-firefox-0.9.3.ebuild 8425 -MD5 88371b8f812caf799a1ede2b1b07c079 files/mozilla-firefox-mousebuttons.patch 17099 -MD5 b16efe0e4066720b718d67348aeee757 files/mozilla-firefox-1.0-4ft2.patch 22294 -MD5 c6308c086c87ed2e1e4f3d136efdd770 files/firefox-0.9-nsFormHistory-crash-fix.patch 1755 -MD5 fa885b490a3c76594784843a1c06ee3a files/digest-mozilla-firefox-1.0_rc1 76 -MD5 f0e9adeb0454377ce019e8969e644efb files/mozilla-firebird-amd64.patch 35052 -MD5 3961b39c763ff8f98b56098ac0cdbecc files/mozilla-firefox-1.0-kp_separator.patch 444 -MD5 47c899122e30bc898b5a899ed0e10129 files/digest-mozilla-firefox-1.0-r2 73 +MD5 4bcd75902aafdef30244f66f6d835a52 mozilla-firefox-1.0-r2.ebuild 5479 +MD5 32f7735e062664ec0f3a66dd59288329 mozilla-firefox-1.0-r3.ebuild 6147 +MD5 e45f5d0ad760a810a0057f18df4e9566 mozilla-firefox-1.0.ebuild 5058 +MD5 faaa52e819364f34c1b174f0c47a6d86 mozilla-firefox-1.0_pre-r2.ebuild 5073 +MD5 809453352ef124b51ec8e4c96fd23e69 mozilla-firefox-1.0_rc1.ebuild 5147 +MD5 6c89295fc5264c6798ee06f9e2f5c936 mozilla-firefox-1.0_rc2.ebuild 5066 MD5 606e82226379fd5ae6cd1d0d1faff7ff files/10MozillaFirefox 31 MD5 bef773177860190ef5d6cce7ec70c613 files/digest-mozilla-firefox-1.0_pre-r2 77 -MD5 23d1fbd03cc6dd346a4e4ce8f2d88ebf files/mozilla-1.3-alpha-stubs.patch 4646 -MD5 48baf2f328e6478812c24e59037ff99c files/firefox-0.9-init.tar.bz2 3322 -MD5 0c7804fd13815f9a0e7a1ef0eab6a871 files/digest-mozilla-firefox-0.9.3 75 +MD5 fa885b490a3c76594784843a1c06ee3a files/digest-mozilla-firefox-1.0_rc1 76 +MD5 47c899122e30bc898b5a899ed0e10129 files/digest-mozilla-firefox-1.0 73 MD5 e5cc0a5838a73f3fdaf38f4e3c368c26 files/digest-mozilla-firefox-1.0_rc2 76 +MD5 47c899122e30bc898b5a899ed0e10129 files/digest-mozilla-firefox-1.0-r2 73 +MD5 0c7804fd13815f9a0e7a1ef0eab6a871 files/digest-mozilla-firefox-0.9.3 75 MD5 47c899122e30bc898b5a899ed0e10129 files/digest-mozilla-firefox-1.0-r3 73 -MD5 3ad7410bd680964096c84eee3fa21abf files/firefox-0.8-gcc-3.4.patch 460 +MD5 b16efe0e4066720b718d67348aeee757 files/mozilla-firefox-1.0-4ft2.patch 22294 MD5 bd50631b47d20becbb5af21b605dfb5d files/firefox 4218 -MD5 47c899122e30bc898b5a899ed0e10129 files/digest-mozilla-firefox-1.0 73 -MD5 2cdd03eb2752bc01ba07ad837e926f39 files/icon/mozillafirefox.desktop 168 +MD5 3ad7410bd680964096c84eee3fa21abf files/firefox-0.8-gcc-3.4.patch 460 +MD5 48baf2f328e6478812c24e59037ff99c files/firefox-0.9-init.tar.bz2 3322 +MD5 c6308c086c87ed2e1e4f3d136efdd770 files/firefox-0.9-nsFormHistory-crash-fix.patch 1755 +MD5 23d1fbd03cc6dd346a4e4ce8f2d88ebf files/mozilla-1.3-alpha-stubs.patch 4646 +MD5 f0e9adeb0454377ce019e8969e644efb files/mozilla-firebird-amd64.patch 35052 +MD5 88371b8f812caf799a1ede2b1b07c079 files/mozilla-firefox-mousebuttons.patch 17099 +MD5 3961b39c763ff8f98b56098ac0cdbecc files/mozilla-firefox-1.0-kp_separator.patch 444 +MD5 5496222980a6faf8261066f43cd4c6a5 files/mozilla-hppa.patch 7785 MD5 bff260036c5dcca45da3218517fb33d8 files/icon/firefox-icon.png 3979 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.6 (GNU/Linux) - -iD8DBQFByA70ugEuf3OQ0akRAk/BAJsH8Cm4rKd1+Al/O5zS8DRtX3mCFwCdFmew -pK1jnIGRsWEp4B/yvUn1lHo= -=Wo3y ------END PGP SIGNATURE----- +MD5 2cdd03eb2752bc01ba07ad837e926f39 files/icon/mozillafirefox.desktop 168 diff --git a/net-www/mozilla-firefox/files/mozilla-hppa.patch b/net-www/mozilla-firefox/files/mozilla-hppa.patch new file mode 100644 index 000000000000..f6171cf77eb4 --- /dev/null +++ b/net-www/mozilla-firefox/files/mozilla-hppa.patch @@ -0,0 +1,232 @@ +diff -uNr mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in +--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2004-12-21 13:37:00.503842544 +0000 ++++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2004-12-21 13:41:49.439917584 +0000 +@@ -167,6 +167,19 @@ + endif + endif + ++# ++# Linux/HPPA/gcc ++# ++ifeq ($(OS_ARCH),Linux) ++ifneq (,$(filter parisc parisc64,$(OS_TEST))) ++ifeq ($(CC),gcc) ++CPPSRCS := xptcinvoke_pa32.cpp xptcstubs_pa32.cpp ++ASFILES := xptcstubs_asm_parisc_linux.s xptcinvoke_asm_parisc_linux.s ++endif ++endif ++endif ++ ++ + ###################################################################### + # M68k + ###################################################################### +diff -uNr mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s +--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s 1970-01-01 00:00:00.000000000 +0000 ++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s 2004-12-21 13:39:03.390160984 +0000 +@@ -0,0 +1,128 @@ ++ ++ .LEVEL 1.1 ++ .text ++ .align 4 ++ ++framesz: ++ .equ 128 ++ ++; XPTC_InvokeByIndex(nsISuppots* that, PRUint32 methodIndex, ++; PRUint32 paramCount, nsXPTCVariant* params); ++ ++.globl XPTC_InvokeByIndex ++ .type XPTC_InvokeByIndex, @function ++ ++ ++XPTC_InvokeByIndex: ++ .PROC ++ .CALLINFO FRAME=72, CALLER,SAVE_RP, SAVE_SP, ENTRY_GR=3 ++ .ENTRY ++ ++ ; frame marker takes 48 bytes, ++ ; register spill area takes 8 bytes, ++ ; local stack area takes 72 bytes result in 128 bytes total ++ ++ STW %rp,-20(%sp) ++ STW,MA %r3,128(%sp) ++ ++ LDO -framesz(%r30),%r28 ++ STW %r28,-4(%r30) ; save previous sp ++ STW %r19,-32(%r30) ++ ++ STW %r26,-36-framesz(%r30) ; save argument registers in ++ STW %r25,-40-framesz(%r30) ; in PREVIOUS frame ++ STW %r24,-44-framesz(%r30) ; ++ STW %r23,-48-framesz(%r30) ; ++ ++; B,L .+8,%r2 ++; ADDIL L'invoke_count_bytes-$PIC_pcrel$1+4,%r2,%r1 ++; ; LDO R'invoke_count_bytes-$PIC_pcrel$2+8(%r1),%r1 ++;$PIC_pcrel$1 ++; LDSID (%r1),%r31 ++;$PIC_pcrel$2 ++; MTSP %r31,%sr0 ++ ++ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26;out=28 ++ BL invoke_count_bytes,%r31 ++ COPY %r31,%r2 ++ ++ CMPIB,>= 0,%r28, .+76 ++ COPY %r30,%r3 ; copy stack ptr to saved stack ptr ++ ADD %r30,%r28,%r30 ; extend stack frame ++ LDW -4(%r3),%r28 ; move frame ++ STW %r28,-4(%r30) ++ LDW -8(%r3),%r28 ++ STW %r28,-8(%r30) ++ LDW -12(%r3),%r28 ++ STW %r28,-12(%r30) ++ LDW -16(%r3),%r28 ++ STW %r28,-16(%r30) ++ LDW -20(%r3),%r28 ++ STW %r28,-20(%r30) ++ LDW -24(%r3),%r28 ++ STW %r28,-24(%r30) ++ LDW -28(%r3),%r28 ++ STW %r28,-28(%r30) ++ LDW -32(%r3),%r28 ++ STW %r28,-32(%r30) ++ ++ LDO -40(%r30),%r26 ; load copy address ++ LDW -44-framesz(%r3),%r25 ; load rest of 2 arguments ++ LDW -48-framesz(%r3),%r24 ; ++ ++ LDW -32(%r30),%r19 ; shared lib call destroys r19; reload ++; B,L .+8,%r2 ++; ADDIL L'invoke_copy_to_stack-$PIC_pcrel$3+4,%r2,%r1 ++; LDO R'invoke_copy_to_stack-$PIC_pcrel$4+8(%r1),%r1 ++;$PIC_pcrel$3 ++; LDSID (%r1),%r31 ++;$PIC_pcrel$4 ++; MTSP %r31,%sr0 ++ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26 ++ BL invoke_copy_to_stack,%r31 ++ COPY %r31,%r2 ++ ++ LDO -48(%r30),%r20 ++ EXTRW,U,= %r28,31,1,%r22 ++ FLDD 0(%r20),%fr7 ; load double arg 1 ++ EXTRW,U,= %r28,30,1,%r22 ++ FLDW 8(%r20),%fr5L ; load float arg 1 ++ EXTRW,U,= %r28,29,1,%r22 ++ FLDW 4(%r20),%fr6L ; load float arg 2 ++ EXTRW,U,= %r28,28,1,%r22 ++ FLDW 0(%r20),%fr7L ; load float arg 3 ++ ++ LDW -36-framesz(%r3),%r26 ; load ptr to 'that' ++ LDW -40(%r30),%r25 ; load the rest of dispatch argument registers ++ LDW -44(%r30),%r24 ++ LDW -48(%r30),%r23 ++ ++ LDW -36-framesz(%r3),%r20 ; load vtable addr ++ LDW -40-framesz(%r3),%r28 ; load index ++ LDW 0(%r20),%r20 ; follow vtable ++; LDO 0(%r20),%r20 ; offset vtable by 16 bytes (g++: 8, aCC: 16) ++ SH2ADDL %r28,%r20,%r28 ; add 4*index to vtable entry ++ LDW 0(%r28),%r22 ; load vtable entry ++ ++; B,L .+8,%r2 ++; ADDIL L'$$dyncall_external-$PIC_pcrel$5+4,%r2,%r1 ++; LDO R'$$dyncall_external-$PIC_pcrel$6+8(%r1),%r1 ++;$PIC_pcrel$5 ++; LDSID (%r1),%r31 ++;$PIC_pcrel$6 ++; MTSP %r31,%sr0 ++ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=22-26;out=28; ++ BL $$dyncall,%r31 ++ COPY %r31,%r2 ++ ++ LDW -32(%r30),%r19 ++ COPY %r3,%r30 ; restore saved stack ptr ++ ++ LDW -148(%sp),%rp ++ LDWM -128(%sp),%r3 ++ BV,N (%rp) ++ NOP ++ .EXIT ++ .PROCEND ;in=23,24,25,26; ++ .SIZE XPTC_InvokeByIndex, .-XPTC_InvokeByIndex ++ +diff -uNr mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s +--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s 1970-01-01 00:00:00.000000000 +0000 ++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s 2004-12-21 13:39:03.392160680 +0000 +@@ -0,0 +1,73 @@ ++ .LEVEL 1.1 ++ .TEXT ++ .ALIGN 4 ++ ++curframesz: ++ .EQU 128 ++ ++ ++; SharedStub has stack size of 128 bytes ++ ++lastframesz: ++ .EQU 64 ++ ++; the StubN C++ function has a small stack size of 64 bytes ++ ++ ++.globl SharedStub ++ .type SharedStub, @function ++ ++SharedStub: ++ .PROC ++ .CALLINFO CALLER,FRAME=80,SAVE_RP ++ ++ .ENTRY ++ STW %rp,-20(%sp) ++ LDO 128(%sp),%sp ++ ++ STW %r19,-32(%r30) ++ STW %r26,-36-curframesz(%r30) ; save arg0 in previous frame ++ ++ LDO -80(%r30),%r28 ++ FSTD,MA %fr5,8(%r28) ; save darg0 ++ FSTD,MA %fr7,8(%r28) ; save darg1 ++ FSTW,MA %fr4L,4(%r28) ; save farg0 ++ FSTW,MA %fr5L,4(%r28) ; save farg1 ++ FSTW,MA %fr6L,4(%r28) ; save farg2 ++ FSTW,MA %fr7L,4(%r28) ; save farg3 ++ ++ ; Former value of register 26 is already properly saved by StubN, ++ ; but register 25-23 are not because of the arguments mismatch ++ STW %r25,-40-curframesz-lastframesz(%r30) ; save r25 ++ STW %r24,-44-curframesz-lastframesz(%r30) ; save r24 ++ STW %r23,-48-curframesz-lastframesz(%r30) ; save r23 ++ COPY %r26,%r25 ; method index is arg1 ++ LDW -36-curframesz-lastframesz(%r30),%r26 ; self is arg0 ++ LDO -40-curframesz-lastframesz(%r30),%r24 ; normal args is arg2 ++ LDO -80(%r30),%r23 ; floating args is arg3 ++ ++; BL .+8,%r2 ++; ADDIL L'PrepareAndDispatch-$PIC_pcrel$0+4,%r2 ++; LDO R'PrepareAndDispatch-$PIC_pcrel$1+8(%r1),%r1 ++;$PIC_pcrel$0 ++; LDSID (%r1),%r31 ++;$PIC_pcrel$1 ++; MTSP %r31,%sr0 ++ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=23-26;out=28; ++ BL PrepareAndDispatch, %r31 ++ COPY %r31,%r2 ++ ++ LDW -32(%r30),%r19 ++ ++ LDW -148(%sp),%rp ++ LDO -128(%sp),%sp ++ ++ ++ BV,N (%rp) ++ NOP ++ NOP ++ ++ .EXIT ++ .PROCEND ;in=26;out=28; ++ ++ .SIZE SharedStub, .-SharedStub diff --git a/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild b/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild index ce418f2670ce..2e10b0546dc0 100644 --- a/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild +++ b/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild,v 1.7 2004/12/03 17:10:37 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla-firefox/mozilla-firefox-1.0-r3.ebuild,v 1.8 2004/12/22 11:25:31 gmsoft Exp $ inherit makeedit flag-o-matic gcc nsplugins eutils mozconfig mozilla-launcher @@ -13,7 +13,7 @@ SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${MY_PV}/source LICENSE="MPL-1.1 NPL-1.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~sparc ~x86 ~hppa" IUSE="java mozsvg" # xrender.pc appeared for the first time in xorg-x11-6.7.0-r2 @@ -41,6 +41,10 @@ src_unpack() { # (26 Jun 2003) use alpha && epatch ${FILESDIR}/mozilla-1.3-alpha-stubs.patch + # hppa patches from Ivar + # (22 Dec 2004) + use hppa && epatch ${FILESDIR}/mozilla-hppa.patch + # patch out ft caching code since the API changed between releases of # freetype; this enables freetype-2.1.8+ compat. # https://bugzilla.mozilla.org/show_bug.cgi?id=234035#c65 @@ -81,6 +85,14 @@ src_compile() { has_hardened && append-flags -fno-stack-protector-all replace-flags -fstack-protector-all -fstack-protector + # hppa have problems with high level of optimisation + # forcing -O0 (22 Dec 2004) + if use hppa + then + export CFLAGS="-O0 -pipe" + export CXXFLAGS="-O0 -pipe" + fi + #################################### # # Configure and build Firefox -- 2.26.2