From bed1297c7627f307551d95474a0122750aeaf56d Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Mon, 30 Jan 2017 20:06:51 +0100 Subject: [PATCH] artpaint: fix x86_64 build. --- haiku-apps/artpaint/artpaint-2.1.0git.recipe | 7 +- .../patches/artpaint-2.1.0git.patchset | 108 ++++++++++++++++++ 2 files changed, 112 insertions(+), 3 deletions(-) create mode 100644 haiku-apps/artpaint/patches/artpaint-2.1.0git.patchset diff --git a/haiku-apps/artpaint/artpaint-2.1.0git.recipe b/haiku-apps/artpaint/artpaint-2.1.0git.recipe index bb7ad2cec..1277a333d 100644 --- a/haiku-apps/artpaint/artpaint-2.1.0git.recipe +++ b/haiku-apps/artpaint/artpaint-2.1.0git.recipe @@ -8,13 +8,14 @@ HOMEPAGE="https://github.com/HaikuArchives/ArtPaint" COPYRIGHT="2003 Heikki Suhonen 2009 Karsten Heimrich" LICENSE="MIT" -REVISION="2" +REVISION="3" srcGitRev="b4f5fcef7f49011b1974ffe899d4ec14d7d4c576" SOURCE_URI="https://github.com/HaikuArchives/ArtPaint/archive/$srcGitRev.tar.gz" CHECKSUM_SHA256="01482dbe4b90805565a0b2b3f256ae26853646411ea20304bafced7ad38ca5cd" SOURCE_DIR="ArtPaint-$srcGitRev" +PATCHES="artpaint-$portVersion.patchset" -ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" +ARCHITECTURES="x86_gcc2 ?x86 x86_64" PROVIDES=" artpaint = $portVersion @@ -36,7 +37,7 @@ BUILD_PREREQUIRES=" BUILD() { - ./build.sh + ./build.sh $jobArgs } INSTALL() diff --git a/haiku-apps/artpaint/patches/artpaint-2.1.0git.patchset b/haiku-apps/artpaint/patches/artpaint-2.1.0git.patchset new file mode 100644 index 000000000..7bd9ad05a --- /dev/null +++ b/haiku-apps/artpaint/patches/artpaint-2.1.0git.patchset @@ -0,0 +1,108 @@ +From f3bdcf9a9d835dc20abf7a49333a23261ee2373e Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Mon, 30 Jan 2017 20:01:22 +0100 +Subject: x86_64 build fix. + +* have build.sh exit on failure. +* use build.sh parameters as parameters for make + +diff --git a/addons/AddOns/Working/WaveAddOn/Wave.h b/addons/AddOns/Working/WaveAddOn/Wave.h +index ce95577..50858b3 100644 +--- a/addons/AddOns/Working/WaveAddOn/Wave.h ++++ b/addons/AddOns/Working/WaveAddOn/Wave.h +@@ -135,7 +135,7 @@ inline asm float reciprocal_of_square_root(register float number) + frsqrte fp1,number; // Estimates reciprocal of square-root + blr + } +-#elif __INTEL__ ++#elif __INTEL__ || defined(__x86_64__) + float reciprocal_of_square_root(register float number) + { + return 1.0 / sqrt(number); +diff --git a/artpaint/controls/ColorPalette.cpp b/artpaint/controls/ColorPalette.cpp +index 2b103a7..dd199f7 100644 +--- a/artpaint/controls/ColorPalette.cpp ++++ b/artpaint/controls/ColorPalette.cpp +@@ -1134,7 +1134,7 @@ void ColorContainer::MessageReceived(BMessage *message) + // Here we see on to which button it was dropped and then + // try to extract a color from the message + rgb_color *color; +- int32 color_size; ++ ssize_t color_size; + if (message->FindData("RGBColor",B_RGB_COLOR_TYPE,(const void**)&color,&color_size) == B_OK) { + BPoint drop_point = message->DropPoint(); + drop_point = ConvertFromScreen(drop_point); +diff --git a/artpaint/controls/ColorView.cpp b/artpaint/controls/ColorView.cpp +index acc4105..76e4c59 100644 +--- a/artpaint/controls/ColorView.cpp ++++ b/artpaint/controls/ColorView.cpp +@@ -64,7 +64,7 @@ void ColorView::Draw(BRect) + void ColorView::MessageReceived(BMessage *message) + { + rgb_color *new_color; +- int32 color_size = sizeof(rgb_color); ++ ssize_t color_size = sizeof(rgb_color); + switch (message->what) { + case B_PASTE: + if (message->FindData("RGBColor",B_RGB_COLOR_TYPE,(const void**)&new_color,&color_size) == B_OK) { +diff --git a/artpaint/controls/VisualColorControl.cpp b/artpaint/controls/VisualColorControl.cpp +index f053728..dab2b7b 100644 +--- a/artpaint/controls/VisualColorControl.cpp ++++ b/artpaint/controls/VisualColorControl.cpp +@@ -193,7 +193,7 @@ void VisualColorControl::Draw(BRect) + void VisualColorControl::MessageReceived(BMessage *message) + { + rgb_color *new_color; +- int32 color_size; ++ ssize_t color_size; + switch (message->what) { + case B_PASTE: + if (message->FindData("RGBColor",B_RGB_COLOR_TYPE,(const void**)&new_color,&color_size) == B_OK) { +diff --git a/artpaint/paintwindow/StatusView.cpp b/artpaint/paintwindow/StatusView.cpp +index 4f306f2..533979d 100644 +--- a/artpaint/paintwindow/StatusView.cpp ++++ b/artpaint/paintwindow/StatusView.cpp +@@ -452,7 +452,7 @@ SelectedColorsView::MessageReceived(BMessage *message) + // Here we see on to which button it was dropped and then + // try to extract a color from the message + rgb_color *color; +- int32 color_size; ++ ssize_t color_size; + if (message->FindData("RGBColor",B_RGB_COLOR_TYPE, + (const void**)&color, &color_size) == B_OK) { + BPoint drop_point = message->DropPoint(); +diff --git a/artpaint/windows/BrushStoreWindow.cpp b/artpaint/windows/BrushStoreWindow.cpp +index 89ad4be..11c0b71 100644 +--- a/artpaint/windows/BrushStoreWindow.cpp ++++ b/artpaint/windows/BrushStoreWindow.cpp +@@ -333,7 +333,7 @@ void BrushStoreView::MessageReceived(BMessage *message) + { + brush_info *info; + Brush *a_brush; +- int32 size; ++ ssize_t size; + switch (message->what) { + case HS_BRUSH_DRAGGED: + if ((message->ReturnAddress() == BMessenger(this)) == FALSE) { +diff --git a/build.sh b/build.sh +index 71cd0d3..957c998 100755 +--- a/build.sh ++++ b/build.sh +@@ -1,9 +1,10 @@ ++#!/bin/sh -e + echo "Building ArtPaint" +-make -f Makefile OBJ_DIR="objects_artpaint" ++make -f Makefile OBJ_DIR="objects_artpaint" $* + echo "Building ArtPaint addons" +-make -f Makefile_addons OBJ_DIR="objects_addons" ++make -f Makefile_addons OBJ_DIR="objects_addons" $* + echo "Moving final executable and addons into dist folder" + mkdir -p dist/add-ons + cp -af objects_artpaint/ArtPaint dist + cp -rf addons/AddOns/Working/*/objects_addons/*.so dist/add-ons +-echo "Build has finished!" +\ No newline at end of file ++echo "Build has finished!" +-- +2.10.2 +