mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 11:38:52 +02:00
Initial attempt at making a haiku patch for tuxpaint. It's not working yet, but getting closer. TODO: convert some of the hardcoded directories to use find_directory().
This commit is contained in:
213
media-gfx/tuxpaint/tuxpaint-haiku-1.diff
Normal file
213
media-gfx/tuxpaint/tuxpaint-haiku-1.diff
Normal file
@@ -0,0 +1,213 @@
|
||||
diff -urN tuxpaint-orig/Makefile tuxpaint-haiku/Makefile
|
||||
--- tuxpaint-orig/Makefile 2009-07-01 21:58:37.000000000 +0000
|
||||
+++ tuxpaint-haiku/Makefile 2009-09-09 05:56:25.000000000 +0000
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
windows_ARCH_LINKS:=-lintl $(PNG) -lwinspool -lshlwapi $(FRIBIDI_LIB)
|
||||
osx_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB)
|
||||
-beos_ARCH_LINKS:="-lintl $(PNG) -lz -lbe -liconv $(FRIBIDI_LIB)"
|
||||
+beos_ARCH_LINKS:="-lintl $(PNG) -lz -lbe -liconv -lnetwork $(FRIBIDI_LIB)"
|
||||
linux_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB)
|
||||
ARCH_LINKS:=$($(OS)_ARCH_LINKS)
|
||||
|
||||
diff -urN tuxpaint-orig/src/fonts.c tuxpaint-haiku/src/fonts.c
|
||||
--- tuxpaint-orig/src/fonts.c 2009-06-06 18:22:00.000000000 +0000
|
||||
+++ tuxpaint-haiku/src/fonts.c 2009-09-09 08:20:32.000000000 +0000
|
||||
@@ -456,7 +456,7 @@
|
||||
close(sv[1]);
|
||||
return;
|
||||
}
|
||||
- nice(42); // be nice, letting the main thread get the CPU
|
||||
+ // nice(42); // be nice, letting the main thread get the CPU
|
||||
sched_yield(); // try to let the parent run right now
|
||||
prctl(PR_SET_PDEATHSIG, 9); // get killed if parent exits
|
||||
font_socket_fd = sv[1];
|
||||
@@ -699,6 +699,9 @@
|
||||
loadfonts(screen, "/boot/home/config/font/ttffonts");
|
||||
loadfonts(screen, "/usr/share/fonts");
|
||||
loadfonts(screen, "/usr/X11R6/lib/X11/fonts");
|
||||
+#elif defined(__HAIKU__)
|
||||
+ loadfonts(screen, "/boot/system/fonts/ttfonts");
|
||||
+ loadfonts(screen, "/boot/common/fonts/ttfonts");
|
||||
#elif defined(__APPLE__)
|
||||
loadfonts(screen, "/System/Library/Fonts");
|
||||
loadfonts(screen, "/Library/Fonts");
|
||||
diff -urN tuxpaint-orig/src/tuxpaint.c tuxpaint-haiku/src/tuxpaint.c
|
||||
--- tuxpaint-orig/src/tuxpaint.c 2009-09-02 05:32:41.000000000 +0000
|
||||
+++ tuxpaint-haiku/src/tuxpaint.c 2009-09-09 06:13:50.000000000 +0000
|
||||
@@ -212,7 +212,7 @@
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
-#ifdef __BEOS__
|
||||
+#if (defined __BEOS__ || defined __HAIKU__)
|
||||
#include <wchar.h>
|
||||
#else
|
||||
#include <wchar.h>
|
||||
@@ -245,7 +245,7 @@
|
||||
#include <dirent.h>
|
||||
#include <signal.h>
|
||||
|
||||
-#ifdef __BEOS__
|
||||
+#if (defined __BEOS__ || defined __HAIKU__)
|
||||
|
||||
/* BeOS */
|
||||
|
||||
@@ -950,7 +950,7 @@
|
||||
magic_api *magic_api_struct; /* Pointer to our internal functions; passed to shared object's functions when we call them */
|
||||
|
||||
|
||||
-#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__)
|
||||
+#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
#include <paper.h>
|
||||
#if !defined(PAPER_H)
|
||||
#error "---------------------------------------------------"
|
||||
@@ -1398,7 +1398,7 @@
|
||||
static void stamp_draw(int x, int y);
|
||||
static void rec_undo_buffer(void);
|
||||
static void show_usage(FILE * f, char *prg);
|
||||
-#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__)
|
||||
+#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
void show_available_papersizes(FILE * fi, char * prg);
|
||||
#endif
|
||||
static void setup(int argc, char *argv[]);
|
||||
@@ -5005,6 +5005,8 @@
|
||||
printf(" Built for Windows (WIN32)\n");
|
||||
#elif __BEOS__
|
||||
printf(" Built for BeOS (__BEOS__)\n");
|
||||
+#elif __HAIKU__
|
||||
+ printf(" Built for Haiku (__HAIKU__)\n");
|
||||
#elif NOKIA_770
|
||||
printf(" Built for Maemo (NOKIA_770)\n");
|
||||
#elif OLPC_XO
|
||||
@@ -5123,7 +5125,7 @@
|
||||
#endif
|
||||
" %s [--printdelay=SECONDS]\n"
|
||||
" %s [--altprintmod | --altprintalways | --altprintnever]\n"
|
||||
-#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__)
|
||||
+#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
" %s [--papersize PAPERSIZE | --papersize help]\n"
|
||||
#endif
|
||||
" %s [--lang LANGUAGE | --locale LOCALE | --lang help]\n"
|
||||
@@ -5142,7 +5144,7 @@
|
||||
blank,
|
||||
#endif
|
||||
blank, blank,
|
||||
-#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__)
|
||||
+#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
blank,
|
||||
#endif
|
||||
blank, blank, blank, blank, blank);
|
||||
@@ -6195,7 +6197,7 @@
|
||||
|
||||
|
||||
|
||||
-#if defined(__BEOS__) || defined(WIN32)
|
||||
+#if defined(__BEOS__) || defined(WIN32) || defined(__HAIKU__)
|
||||
/* if run from gui, like OpenTracker in BeOS or Explorer in Windows,
|
||||
find path from which binary was run and change dir to it
|
||||
so all files will be local :) */
|
||||
@@ -6288,7 +6290,7 @@
|
||||
colorfile[0] = '\0';
|
||||
|
||||
|
||||
-#ifdef __BEOS__
|
||||
+#if defined __BEOS__ || defined __HAIKU__
|
||||
/* Fancy cursors on BeOS are buggy in SDL */
|
||||
|
||||
no_fancy_cursors = 1;
|
||||
@@ -6305,6 +6307,11 @@
|
||||
|
||||
savedir = strdup("./userdata");
|
||||
datadir = strdup("./userdata");
|
||||
+#elif __HAIKU__
|
||||
+ /* Haiku */
|
||||
+
|
||||
+ savedir = strdup("./userdata");
|
||||
+ datadir = strdup("./userdata");
|
||||
#elif __APPLE__
|
||||
/* Mac OS X */
|
||||
|
||||
@@ -6375,7 +6382,7 @@
|
||||
#if defined(WIN32)
|
||||
/* Default local config file in users savedir directory on Windows */
|
||||
snprintf(str, sizeof(str), "%s/tuxpaint.cfg", savedir); /* FIXME */
|
||||
-#elif defined(__BEOS__)
|
||||
+#elif defined(__BEOS__) || defined (__HAIKU__)
|
||||
/* BeOS: Use a "tuxpaint.cfg" file: */
|
||||
|
||||
strcpy(str, "tuxpaint.cfg");
|
||||
@@ -6600,7 +6607,7 @@
|
||||
{
|
||||
alt_print_command_default = ALTPRINT_MOD;
|
||||
}
|
||||
-#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__)
|
||||
+#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
else if (strstr(argv[i], "--papersize=") == argv[i])
|
||||
{
|
||||
papersize = strdup(argv[i] + strlen("--papersize="));
|
||||
@@ -10156,7 +10163,7 @@
|
||||
disallow_print = 1;
|
||||
#endif
|
||||
|
||||
-#ifdef __BEOS__
|
||||
+#if defined __BEOS__ || defined __HAIKU__
|
||||
if (!IsPrinterAvailable())
|
||||
disallow_print = disable_print = 1;
|
||||
#endif
|
||||
@@ -12330,7 +12337,7 @@
|
||||
free(lock_fname);
|
||||
}
|
||||
|
||||
-#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__)
|
||||
+#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
if (papersize != NULL)
|
||||
free(papersize);
|
||||
#endif
|
||||
@@ -15474,7 +15481,7 @@
|
||||
|
||||
void do_print(void)
|
||||
{
|
||||
-#if !defined(WIN32) && !defined(__BEOS__) && !defined(__APPLE__)
|
||||
+#if !defined(WIN32) && !defined(__BEOS__) && !defined(__APPLE__) &&!defined(__HAIKU__)
|
||||
char *pcmd;
|
||||
FILE *pi;
|
||||
|
||||
@@ -15530,6 +15537,10 @@
|
||||
/* BeOS */
|
||||
|
||||
SurfacePrint(canvas);
|
||||
+#elif defined(__HAIKU__)
|
||||
+ /* Haiku */
|
||||
+
|
||||
+ SurfacePrint(canvas);
|
||||
#elif defined(__APPLE__)
|
||||
/* Mac OS X */
|
||||
int show = ( ( want_alt_printcommand || macosx.menuAction ) && !fullscreen);
|
||||
@@ -16209,7 +16220,7 @@
|
||||
#endif
|
||||
use_print_config = 0;
|
||||
}
|
||||
-#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__)
|
||||
+#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
else if (strstr(str, "printcommand=") == str)
|
||||
{
|
||||
/* FIXME: This would need to be done one argument (space-delim'd) at a time */
|
||||
@@ -16287,7 +16298,7 @@
|
||||
{
|
||||
alt_print_command_default = ALTPRINT_NEVER;
|
||||
}
|
||||
-#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__)
|
||||
+#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
else if (strstr(str, "papersize=") == str)
|
||||
{
|
||||
papersize = strdup(str + strlen("papersize="));
|
||||
@@ -18790,7 +18801,7 @@
|
||||
return(which != -1);
|
||||
}
|
||||
|
||||
-#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__)
|
||||
+#if !defined(WIN32) && !defined(__APPLE__) && !defined(__BEOS__) && !defined(__HAIKU__)
|
||||
void show_available_papersizes(FILE * fi, char * prg)
|
||||
{
|
||||
const struct paper * ppr;
|
||||
Reference in New Issue
Block a user