From e9672cb88b3a18cb915fe678ce528a00a054da54 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Mon, 30 Jan 2017 20:34:36 +0100 Subject: [PATCH] transplus: fix x86_64 build. --- .../transplus/patches/transplus-0.6.patchset | 83 ++++++++++++++++++- haiku-apps/transplus/transplus-0.6.recipe | 2 +- 2 files changed, 82 insertions(+), 3 deletions(-) diff --git a/haiku-apps/transplus/patches/transplus-0.6.patchset b/haiku-apps/transplus/patches/transplus-0.6.patchset index 24b9d045b..4123bd4e4 100644 --- a/haiku-apps/transplus/patches/transplus-0.6.patchset +++ b/haiku-apps/transplus/patches/transplus-0.6.patchset @@ -1,4 +1,4 @@ -From 2a15e7e3e10adb2f919d6e3617beb6ba4a8425a4 Mon Sep 17 00:00:00 2001 +From 31fc9eb0863f6b088e9a3afc5fb8e47bd95332cd Mon Sep 17 00:00:00 2001 From: DarkmatterVale Date: Sat, 2 Jan 2016 16:42:32 +0000 Subject: make gcc2 happy @@ -375,5 +375,84 @@ index ea5b13b..b120fcb 100644 ## Include the Makefile-Engine DEVEL_DIRECTORY := \ -- -2.2.2 +2.10.2 + + +From 72354fe39a4dde7573cf6a5ab1ccd01d17f90d2a Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sun, 29 Jan 2017 13:50:37 +0100 +Subject: x86_64 build fix. + + +diff --git a/src/HTML/main.cp b/src/HTML/main.cp +index fbe2ba6..4088461 100644 +--- a/src/HTML/main.cp ++++ b/src/HTML/main.cp +@@ -324,7 +324,7 @@ void ParseTags(TranslatorWP *work,BString HTML) { + size_t size; + for (int32 i = 0; (i = HTML.FindFirst('<',i)) != B_ERROR; i++) { + size = HTML.FindFirst('>',i) - (i + 1); +- strncpy(curTag,(char *)((uint32)(HTML.String()) + i + 1),size); ++ strncpy(curTag,(char *)((addr_t)(HTML.String()) + i + 1),size); + curTag[size] = 0; + string.SetTo(curTag); + if (HTML.ByteAt(i+1) == '/') +@@ -340,7 +340,7 @@ void ParseTags(TranslatorWP *work,BString HTML) { + temp.Append(">"); + HTML.Remove(i,HTML.FindFirst('>',i) - i + 1); + i--; +- tempHTML = (char *)((uint32)HTML.String() + i); ++ tempHTML = (char *)((addr_t)HTML.String() + i); + for (ending = 0;ending < tempHTML.IFindFirst(temp.String());ending++) { + if (tempHTML.ByteAt(ending) == '<') { + if (tempHTML.IFindFirst(curTag) == ending + 1) { +diff --git a/src/TransPlus.so/TransWP.cp b/src/TransPlus.so/TransWP.cp +index c3d729b..dfd2b29 100644 +--- a/src/TransPlus.so/TransWP.cp ++++ b/src/TransPlus.so/TransWP.cp +@@ -152,19 +152,19 @@ TranslatorWP::TranslatorWP(BMessage *archive) : BArchivable(archive) { + for (int32 i = 0; i < count; i++) { + archive->FindData("attr",type,i,&buffer,&size); + memcpy(&begin,buffer,4); +- memcpy(&end,(void *)((uint32)buffer + 4),4); +- memcpy(&attr_type,(void *)((uint32)buffer + 8),4); +- memcpy(&data_size,(void *)((uint32)buffer + 12),sizeof(size_t)); +- pushAttr(begin,end,attr_type,(void *)((uint32)buffer + 12 + sizeof(size_t)),data_size); ++ memcpy(&end,(void *)((addr_t)buffer + 4),4); ++ memcpy(&attr_type,(void *)((addr_t)buffer + 8),4); ++ memcpy(&data_size,(void *)((addr_t)buffer + 12),sizeof(size_t)); ++ pushAttr(begin,end,attr_type,(void *)((addr_t)buffer + 12 + sizeof(size_t)),data_size); + } + //--------------------------------------- + archive->GetInfo("embedded",&type,&count); + for (int32 i = 0; i < count; i++) { + archive->FindData("embedded",type,i,&buffer,&size); + memcpy(&begin,buffer,4); +- memcpy(&attr_type,(void *)((uint32)buffer + 4),4); +- memcpy(&data_size,(void *)((uint32)buffer + 8),sizeof(size_t)); +- AddEmbedded(attr_type,begin,(void *)((uint32)buffer + 12),data_size); ++ memcpy(&attr_type,(void *)((addr_t)buffer + 4),4); ++ memcpy(&data_size,(void *)((addr_t)buffer + 8),sizeof(size_t)); ++ AddEmbedded(attr_type,begin,(void *)((addr_t)buffer + 12),data_size); + } + archive->FindMessage("global",&globals); + } +@@ -250,7 +250,7 @@ void TranslatorWP::AddPicture(int32 offset,BBitmap *bitmap) { + unsigned char *io = new unsigned char[ganymede.Size()]; + size_t europa = ganymede.Size(); + ganymede.ReadAt(0,io,europa); +- memcpy((void *)(uint32(io) + sizeof(TranslatorBitmap)),bitmap->Bits(),europa - sizeof(TranslatorBitmap)); ++ memcpy((void *)(addr_t(io) + sizeof(TranslatorBitmap)),bitmap->Bits(),europa - sizeof(TranslatorBitmap)); + AddEmbedded(B_TRANSLATOR_BITMAP,offset,io,europa); + delete io; + } +@@ -424,4 +424,4 @@ TranslatorWP::~TranslatorWP(void) { + delete begin_attrs; + delete end_attrs; + delete embedded; +-} +\ No newline at end of file ++} +-- +2.10.2 diff --git a/haiku-apps/transplus/transplus-0.6.recipe b/haiku-apps/transplus/transplus-0.6.recipe index ad1643053..dda810854 100644 --- a/haiku-apps/transplus/transplus-0.6.recipe +++ b/haiku-apps/transplus/transplus-0.6.recipe @@ -11,7 +11,7 @@ CHECKSUM_SHA256="d60788f8cdc2644f5ef2e099948903219643e75d6732119c6a6f38a238053d6 SOURCE_DIR="TransPlus-e860d8e65d43fa0f7c5e095725e78ee5e104c0a4" PATCHES="transplus-$portVersion.patchset" -ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" +ARCHITECTURES="x86_gcc2 ?x86 x86_64" PROVIDES=" transplus = $portVersion