Files
haikuports/haiku-apps/xaos/patches/xaos-3.4.patchset
Jerome Duval 909a983aa2 xaos: fix x86_64 build.
* disable cffe on x86_64 which only builds on i386.
* depends on libgsl instead.
2017-01-28 15:31:10 +01:00

1204 lines
58 KiB
Plaintext

From 2da9ae191566cee555b74494f52f650f4fecfaa5 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:06:37 +0300
Subject: Haiku: add support to configure
diff --git a/configure b/configure
index 38ff586..931222d 100644
--- a/configure
+++ b/configure
@@ -7673,6 +7673,7 @@ case $target_os in
*linux*) CMPLX_O_TARGET=elf;;
*cygwin*) CMPLX_O_TARGET=coff;;
*darwin*) CMPLX_O_TARGET=macho;;
+*haiku*) CMPLX_O_TARGET=elf;;
esac
if test "$win32_driver_test" = yes; then
win32_driver=no
--
2.10.2
From c745bbd005aec60aafb5d7f0f2d0e3c4acf87a9e Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:07:27 +0300
Subject: Haiku: replace __BEOS__ with __HAIKU__
diff --git a/src/engine/fractal.c b/src/engine/fractal.c
index b89bbac..8d5243e 100644
--- a/src/engine/fractal.c
+++ b/src/engine/fractal.c
@@ -382,7 +382,7 @@ make_fractalc (CONST int formula, float wi, float he)
{
fractal_context *new_ctxt;
-#ifndef __BEOS__
+#ifndef __HAIKU__
#ifdef __GNUC__
#ifdef __i386__
#ifndef NOASSEMBLY
diff --git a/src/include/config/config.autoconf b/src/include/config/config.autoconf
index 8553574..28b8dbf 100644
--- a/src/include/config/config.autoconf
+++ b/src/include/config/config.autoconf
@@ -2,7 +2,7 @@
#define CONFIG_H
#define HOMEDIR
-#ifdef __BEOS__
+#ifdef __HAIKU__
#define MAIN_FUNCTION be_main
#ifdef __POWERPC__
# define SLOWCACHESYNC
--
2.10.2
From 1689da8ff5983ed4556b76f792a0c29e781aa349 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:08:40 +0300
Subject: Haiku: add missing resource file
diff --git a/src/ui/ui-drv/BeOS/XaoS.rsrc b/src/ui/ui-drv/BeOS/XaoS.rsrc
new file mode 100644
index 0000000000000000000000000000000000000000..2fc3f879a4a050d7f4c1738380340bb6434af258
GIT binary patch
literal 71219
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
literal 0
HcmV?d00001
--
2.10.2
From 65921b1d1f1e9bf2aceb34f89f4cac9d044330c0 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:12:48 +0300
Subject: Haiku: add missing includes
diff --git a/src/ui/ui-drv/BeOS/XaoSScreenView.cpp b/src/ui/ui-drv/BeOS/XaoSScreenView.cpp
index 3cd91de..0eab984 100644
--- a/src/ui/ui-drv/BeOS/XaoSScreenView.cpp
+++ b/src/ui/ui-drv/BeOS/XaoSScreenView.cpp
@@ -34,6 +34,7 @@
#include <View.h>
#include <Volume.h>
#include <VolumeRoster.h>
+#include <Window.h>
#include "XaoSScreenView.h"
#include "XaoSEvent.h"
diff --git a/src/ui/ui-drv/BeOS/XaoSView.cpp b/src/ui/ui-drv/BeOS/XaoSView.cpp
index 472b5e4..a5c8b47 100644
--- a/src/ui/ui-drv/BeOS/XaoSView.cpp
+++ b/src/ui/ui-drv/BeOS/XaoSView.cpp
@@ -34,6 +34,7 @@
#include <View.h>
#include <Volume.h>
#include <VolumeRoster.h>
+#include <Window.h>
#include "XaoSView.h"
#include "XaoSEvent.h"
diff --git a/src/ui/ui-drv/BeOS/be_checkfile.cpp b/src/ui/ui-drv/BeOS/be_checkfile.cpp
index 7e66cb2..e2efa1b 100644
--- a/src/ui/ui-drv/BeOS/be_checkfile.cpp
+++ b/src/ui/ui-drv/BeOS/be_checkfile.cpp
@@ -64,7 +64,7 @@ int XaoSCheckFile(BPositionIO * inSource)
}
g_calculation_lock.Lock();
xio_file input=positionio_ropen(inSource);
- uih_registermenus(),
+ uih_registermenus();
xth_init(0);
xio_init("");
r=uih_renderimage(NULL, input, NULL, image, 0, NULL, 0 /*output messages */);
diff --git a/src/ui/ui-drv/BeOS/ui_be.cpp b/src/ui/ui-drv/BeOS/ui_be.cpp
index 57882f6..7fe1436 100644
--- a/src/ui/ui-drv/BeOS/ui_be.cpp
+++ b/src/ui/ui-drv/BeOS/ui_be.cpp
@@ -24,6 +24,7 @@
#include <cstdio>
#include <cstring>
+#include <string>
#include <malloc.h>
#include <Application.h>
@@ -40,6 +41,7 @@
#include <Screen.h>
#include <Box.h>
#include <Alert.h>
+#include <Clipboard.h>
#include "XaoSWindow.h"
#include "XaoSDirectWindow.h"
--
2.10.2
From bab379bdbe734527cf365f7b6eb3f49234fafcb8 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:13:31 +0300
Subject: Haiku: replace mwbres with xres
diff --git a/src/ui/ui-drv/BeOS/Makefile.in b/src/ui/ui-drv/BeOS/Makefile.in
index bbcac17..3ad574a 100644
--- a/src/ui/ui-drv/BeOS/Makefile.in
+++ b/src/ui/ui-drv/BeOS/Makefile.in
@@ -42,7 +42,7 @@ $(TLIB):$(OBJS)
$(RANLIB) $@
XaoS.rsrc: XaoS.r XaoSResources SplashScreen
- mwbres -o $@ XaoS.r
+ xres -o $@
clean:
rm -f $(TLIB)
--
2.10.2
From 22f0ec430251b17c4803908744868463e972361b Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:15:05 +0300
Subject: Haiku: fix duplicate type qualifiers
diff --git a/src/ui/ui-drv/BeOS/XaoSAbstractWindow.h b/src/ui/ui-drv/BeOS/XaoSAbstractWindow.h
index 72af06c..3c55ed9 100644
--- a/src/ui/ui-drv/BeOS/XaoSAbstractWindow.h
+++ b/src/ui/ui-drv/BeOS/XaoSAbstractWindow.h
@@ -55,7 +55,7 @@ inline XaoSAbstractWindow::~XaoSAbstractWindow ()
}
inline void
-XaoSAbstractWindow::SendEvent (long eventCode, const XaoSEvent & event) const const
+XaoSAbstractWindow::SendEvent (long eventCode, const XaoSEvent & event) const
{
(void) write_port (mEventPort, eventCode, &event, sizeof (XaoSEvent));
}
diff --git a/src/ui/ui-drv/BeOS/XaoSApplication.h b/src/ui/ui-drv/BeOS/XaoSApplication.h
index 5933051..6521069 100644
--- a/src/ui/ui-drv/BeOS/XaoSApplication.h
+++ b/src/ui/ui-drv/BeOS/XaoSApplication.h
@@ -60,7 +60,7 @@ private:
};
inline int
-XaoSApplication::ExitStatus (void) const const
+XaoSApplication::ExitStatus (void) const
{
return mExitStatus;
}
diff --git a/src/ui/ui-drv/BeOS/XaoSScreenView.h b/src/ui/ui-drv/BeOS/XaoSScreenView.h
index afc11a3..9158c69 100644
--- a/src/ui/ui-drv/BeOS/XaoSScreenView.h
+++ b/src/ui/ui-drv/BeOS/XaoSScreenView.h
@@ -66,7 +66,7 @@ private:
// Inline functions.
inline void
-XaoSScreenView::SendEvent (long eventCode, const XaoSEvent & event) const const
+XaoSScreenView::SendEvent (long eventCode, const XaoSEvent & event) const
{
(void) write_port (mEventPort, eventCode, &event, sizeof (XaoSEvent));
}
diff --git a/src/ui/ui-drv/BeOS/XaoSView.h b/src/ui/ui-drv/BeOS/XaoSView.h
index 16ff1fb..0293b33 100644
--- a/src/ui/ui-drv/BeOS/XaoSView.h
+++ b/src/ui/ui-drv/BeOS/XaoSView.h
@@ -79,19 +79,19 @@ private:
// Inline functions.
inline port_id
-XaoSView::EventPort (void) const const
+XaoSView::EventPort (void) const
{
return mEventPort;
}
inline void
-XaoSView::SendEvent (long eventCode, const XaoSEvent & event) const const
+XaoSView::SendEvent (long eventCode, const XaoSEvent & event) const
{
(void) write_port (mEventPort, eventCode, &event, sizeof (XaoSEvent));
}
inline float
-XaoSView::TextHeight (void) const const
+XaoSView::TextHeight (void) const
{
return mFontHeight.ascent + mFontHeight.descent + mFontHeight.leading;
}
--
2.10.2
From a4e46814862ae952468b9c7ea3bc05e2a2d5cb60 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:15:49 +0300
Subject: Haiku: comment out XaoSMenu::EnableDisable for now as it crashes XaoS
diff --git a/src/ui/ui-drv/BeOS/XaoSMenu.cpp b/src/ui/ui-drv/BeOS/XaoSMenu.cpp
index ba830f6..b30fbce 100644
--- a/src/ui/ui-drv/BeOS/XaoSMenu.cpp
+++ b/src/ui/ui-drv/BeOS/XaoSMenu.cpp
@@ -158,7 +158,7 @@ void XaoSMenu::EnableDisable(CONST menuitem *i)
{
int c=menu->CountItems(),n;
BMenuItem *bi;
- for(n=0;n<c;n++)
+/* for(n=0;n<c;n++)
{
bi=menu->ItemAt(n);
if(!bi->Submenu() && bi->Message()) {
@@ -182,7 +182,7 @@ void XaoSMenu::EnableDisable(CONST menuitem *i)
}
}
- if(next) next->EnableDisable(i);
+ if(next) next->EnableDisable(i); */
}
void XaoSMenu::AddToList(XaoSMenu *m)
{
--
2.10.2
From 288000c8f3034b109ce3377c543995caee1645fb Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:16:34 +0300
Subject: Fix png.c for compatibility with libpng >= 1.5
diff --git a/src/util/png.c b/src/util/png.c
index ef2ecb3..26f2e8c 100644
--- a/src/util/png.c
+++ b/src/util/png.c
@@ -2,6 +2,7 @@
#ifndef _plan9_
#include <aconfig.h>
#ifdef USE_PNG
+#include <zlib.h>
#include <png.h>
#endif
#include <stdlib.h>
@@ -33,6 +34,7 @@ writepng (FILE * file, CONST struct image *image)
png_structp png_ptr;
png_infop info_ptr;
png_color palette[256];
+ png_color_8 sig_bit;
volatile unsigned short a = 255;
volatile unsigned char *b = (volatile unsigned char *) &a;
#ifdef _undefined_
@@ -62,13 +64,16 @@ writepng (FILE * file, CONST struct image *image)
png_destroy_write_struct (&png_ptr, (png_infopp) NULL);
return "No memory to create png info structure";
}
- if (setjmp (png_ptr->jmpbuf))
+// if (setjmp (png_ptr->jmpbuf))
+ if (setjmp(png_jmpbuf(png_ptr))) {
+
{
png_destroy_write_struct (&png_ptr, &info_ptr);
fclose (file);
return strerror (errno);
}
png_init_io (png_ptr, file);
+#ifdef _undefined_
png_set_filter (png_ptr, 0,
PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_PAETH |
PNG_FILTER_UP | PNG_FILTER_AVG);
@@ -82,21 +87,21 @@ writepng (FILE * file, CONST struct image *image)
png_set_compression_window_bits (png_ptr, 15);
png_set_compression_method (png_ptr, 8);
- info_ptr->width = image->width;
+/* info_ptr->width = image->width;
info_ptr->height = image->height;
- /*info_ptr->gamma=1.0; */
+ info_ptr->gamma=1.0;
info_ptr->gamma = 0.5;
info_ptr->valid |= PNG_INFO_gAMA | PNG_INFO_pHYs;
info_ptr->x_pixels_per_unit = (png_uint_32) (100 / image->pixelwidth);
info_ptr->y_pixels_per_unit = (png_uint_32) (100 / image->pixelheight);
-
-
+*/
+#endif
switch (image->palette->type)
{
case C256:
{
int i;
- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
+/* info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
info_ptr->bit_depth = image->bytesperpixel * 8;
info_ptr->palette = palette;
info_ptr->valid |= PNG_INFO_PLTE;
@@ -105,25 +110,51 @@ writepng (FILE * file, CONST struct image *image)
info_ptr->palette[i].green = image->palette->rgb[i][1],
info_ptr->palette[i].blue = image->palette->rgb[i][2],
info_ptr->num_palette = image->palette->end;
+*/
+ png_set_IHDR(png_ptr, info_ptr, image->width, image->height,
+ image->bytesperpixel * 8, PNG_COLOR_TYPE_PALETTE,
+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+ PNG_FILTER_TYPE_DEFAULT);
+ for (i = 0; i < image->palette->end; i++) {
+ palette[i].red = image->palette->rgb[i][0];
+ palette[i].green = image->palette->rgb[i][1];
+ palette[i].blue = image->palette->rgb[i][2];
+ }
+ png_set_PLTE(png_ptr, info_ptr, palette, image->palette->end);
}
break;
case SMALLITER:
case LARGEITER:
case GRAYSCALE:
+/*
info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
info_ptr->bit_depth = image->bytesperpixel * 8;
+*/
+ png_set_IHDR(png_ptr, info_ptr, image->width, image->height,
+ image->bytesperpixel * 8, PNG_COLOR_TYPE_GRAY,
+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+ PNG_FILTER_TYPE_DEFAULT);
break;
case TRUECOLOR:
case TRUECOLOR24:
case TRUECOLOR16:
- info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+/* info_ptr->color_type = PNG_COLOR_TYPE_RGB;
info_ptr->bit_depth = 8;
info_ptr->sig_bit.red = 8 - image->palette->info.truec.rprec;
info_ptr->sig_bit.green = 8 - image->palette->info.truec.gprec;
info_ptr->sig_bit.blue = 8 - image->palette->info.truec.bprec;
+*/
+ png_set_IHDR(png_ptr, info_ptr, image->width, image->height,
+ 8, PNG_COLOR_TYPE_RGB,
+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+ PNG_FILTER_TYPE_DEFAULT);
+ sig_bit.red = 8 - image->palette->info.truec.rprec;
+ sig_bit.green = 8 - image->palette->info.truec.gprec;
+ sig_bit.blue = 8 - image->palette->info.truec.bprec;
+ png_set_sBIT(png_ptr, info_ptr, &sig_bit);
break;
}
- info_ptr->interlace_type = 0;
+// info_ptr->interlace_type = 0;
#ifdef _undefined_
png_set_text (png_ptr, info_ptr, comments,
sizeof (comments) / sizeof (png_text));
@@ -133,7 +164,8 @@ writepng (FILE * file, CONST struct image *image)
/*png_set_filler(png_ptr,0,PNG_FILLER_AFTER); */
png_set_packing (png_ptr);
if (image->palette->type & (TRUECOLOR | TRUECOLOR24 | TRUECOLOR16))
- png_set_shift (png_ptr, &(info_ptr->sig_bit));
+// png_set_shift (png_ptr, &(info_ptr->sig_bit));
+ png_set_shift(png_ptr, &sig_bit);
if (*b == 255)
png_set_swap (png_ptr);
png_set_bgr (png_ptr);
@@ -198,4 +230,5 @@ writepng (FILE * file, CONST struct image *image)
fclose (file);
return NULL;
}
+}
#endif
--
2.10.2
From 24af71516ca293282c773219581df075aea4e7c6 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:18:04 +0300
Subject: Fix multiple definition of globaluih link error
diff --git a/src/include/ui.h b/src/include/ui.h
index 04a1ca7..d4e5e98 100644
--- a/src/include/ui.h
+++ b/src/include/ui.h
@@ -119,7 +119,7 @@ extern "C"
CONST struct gui_driver *gui_driver;
};
- struct uih_context *globaluih;
+ extern struct uih_context *globaluih;
#ifdef USE_LOCALEPATH
extern char *localepath;
#endif
diff --git a/src/ui/ui.c b/src/ui/ui.c
index f49ec81..4f202fc 100644
--- a/src/ui/ui.c
+++ b/src/ui/ui.c
@@ -147,7 +147,7 @@ main_loop (void)
char *sffeform = NULL;
char *sffeinit = NULL;
#endif
-
+ struct uih_context *globaluih;
CONST struct params global_params[] = {
{"-delay", P_NUMBER, &delaytime,
"Delay screen updates (milliseconds)"},
--
2.10.2
From a7fa4442f585954d6bd4fa234ef18404455d62c3 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 28 Jan 2017 14:33:55 +0100
Subject: fix some warnings and errors on gcc5
diff --git a/src/ui/ui-drv/BeOS/XaoSApplication.cpp b/src/ui/ui-drv/BeOS/XaoSApplication.cpp
index 9b82fd2..753b36d 100644
--- a/src/ui/ui-drv/BeOS/XaoSApplication.cpp
+++ b/src/ui/ui-drv/BeOS/XaoSApplication.cpp
@@ -17,6 +17,7 @@
#include <cstring>
#include <stdio.h>
+#include <stdlib.h>
#include <Application.h>
#include <Archivable.h>
@@ -120,7 +121,7 @@ void XaoSApplication::InstallMimeTypes()
BBitmap xpfsmall(BRect(0, 0, B_MINI_ICON - 1, B_MINI_ICON - 1), B_COLOR_8_BIT);
xpfsmall.SetBits(pResource, xpfsmall.BitsLength(),0,B_COLOR_8_BIT);
- delete pResource;
+ free(pResource);
pResource = resources.FindResource('ICON', (int32) 0, &length);
@@ -130,7 +131,7 @@ void XaoSApplication::InstallMimeTypes()
}
BBitmap xpflarge(BRect(0, 0, B_LARGE_ICON - 1, B_LARGE_ICON - 1), B_COLOR_8_BIT);
xpflarge.SetBits(pResource, xpflarge.BitsLength(),0,B_COLOR_8_BIT);
- delete pResource;
+ free(pResource);
pResource = resources.FindResource((type_code) 'MICN', (int32) 1, &length);
if (!pResource) {
@@ -140,7 +141,7 @@ void XaoSApplication::InstallMimeTypes()
BBitmap xafsmall(BRect(0, 0, B_MINI_ICON - 1, B_MINI_ICON - 1), B_COLOR_8_BIT);
xafsmall.SetBits(pResource, xafsmall.BitsLength(),0,B_COLOR_8_BIT);
- delete pResource;
+ free(pResource);
pResource = resources.FindResource('ICON', (int32) 1, &length);
@@ -150,7 +151,7 @@ void XaoSApplication::InstallMimeTypes()
}
BBitmap xaflarge(BRect(0, 0, B_LARGE_ICON - 1, B_LARGE_ICON - 1), B_COLOR_8_BIT);
xaflarge.SetBits(pResource, xpflarge.BitsLength(),0,B_COLOR_8_BIT);
- delete pResource;
+ free(pResource);
mime.SetType("image/x-xaos-position");
mime.GetShortDescription(name);
if (!mime.IsInstalled() || strcmp(name,xpfdesc)) {
@@ -366,7 +367,7 @@ XaoSApplication::ReadyToRun(void)
}
}
-long
+status_t
XaoSApplication::MainThread(void *data)
{
XaoSApplication *pApp = (XaoSApplication *)data;
@@ -412,7 +413,7 @@ XaoSApplication::MakeSplashBitmap(void)
// Unflatten the resource.
BMessage archived;
status_t status = archived.Unflatten((const char *)pResource);
- delete pResource;
+ free(pResource);
if (status != B_NO_ERROR) {
return 0;
}
diff --git a/src/ui/ui-drv/BeOS/XaoSApplication.h b/src/ui/ui-drv/BeOS/XaoSApplication.h
index 6521069..f56d8e8 100644
--- a/src/ui/ui-drv/BeOS/XaoSApplication.h
+++ b/src/ui/ui-drv/BeOS/XaoSApplication.h
@@ -49,7 +49,7 @@ private:
void InstallMimeTypes (void);
// Auxiliary methods.
- static long MainThread (void *data);
+ static status_t MainThread (void *data);
BBitmap *MakeSplashBitmap (void);
// Data members.
diff --git a/src/ui/ui-drv/BeOS/XaoSDirectScreen.h b/src/ui/ui-drv/BeOS/XaoSDirectScreen.h
index 7461590..c8b45a8 100644
--- a/src/ui/ui-drv/BeOS/XaoSDirectScreen.h
+++ b/src/ui/ui-drv/BeOS/XaoSDirectScreen.h
@@ -18,6 +18,7 @@
#ifndef XAOSDIRECTSCREEN_H
#define XAOSDIRECTSCREEN_H
+#include <DirectWindow.h>
#include <View.h>
#include <WindowScreen.h>
#include "XaoSEvent.h"
diff --git a/src/ui/ui-drv/BeOS/be_possitionio.cpp b/src/ui/ui-drv/BeOS/be_possitionio.cpp
index 0e0bf10..14bf199 100644
--- a/src/ui/ui-drv/BeOS/be_possitionio.cpp
+++ b/src/ui/ui-drv/BeOS/be_possitionio.cpp
@@ -3,6 +3,7 @@
Hopefully IO is not the major problem in replaying XaoS files :)*/
#include <TranslationKit.h>
#include <malloc.h>
+#include <string.h>
#include "xio.h"
struct bfile {
BPositionIO *f;
diff --git a/src/ui/ui-drv/BeOS/ui_be.cpp b/src/ui/ui-drv/BeOS/ui_be.cpp
index 7fe1436..94d23cc 100644
--- a/src/ui/ui-drv/BeOS/ui_be.cpp
+++ b/src/ui/ui-drv/BeOS/ui_be.cpp
@@ -24,6 +24,7 @@
#include <cstdio>
#include <cstring>
+#include <stdlib.h>
#include <string>
#include <malloc.h>
@@ -91,7 +92,7 @@ static char *gpFractalBuffers[2] = // fractal buffers
static int gCurrentBuffer;
extern int be_noalert;
-extern struct ui_driver be_driver, be_direct_driver, be_screen_driver;
+extern "C" struct ui_driver be_driver, be_direct_driver, be_screen_driver;
static int color8bit = 0; // parameters settable from command line
static int bitmap = 0;
static int truecolor = 0;
--
2.10.2