diff --git a/README.md b/README.md new file mode 100644 index 000000000..9a7a459ce --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Welcome to HaikuPorts! + +To get started, [read the wiki!](wiki/Home) \ No newline at end of file diff --git a/app-emulation/virtualbox-guest-additions/patches/vbox-4.3.53_svn.patch b/app-emulation/virtualbox-guest-additions/patches/vbox-4.3.53_svn.patch new file mode 100644 index 000000000..da8183198 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/patches/vbox-4.3.53_svn.patch @@ -0,0 +1,2583 @@ +Index: trunk/Config.kmk +=================================================================== +--- trunk/Config.kmk (revision 51740) ++++ trunk/Config.kmk (working copy) +@@ -1365,7 +1365,7 @@ + VBOX_GCC_TOOL := GXX4MACHO + else ifeq ($(KBUILD_TARGET),haiku) + # Haiku shouldn't pass '-r' to the linker by default +- VBOX_GCC_TOOL := GXX3PLAIN ++ VBOX_GCC_TOOL := GXX2PLAIN + else ifeq ($(KBUILD_TARGET),solaris) + VBOX_GCC_TOOL := GXX3PLAIN + VBOX_GCC32_TOOL := GXX3PLAIN +@@ -1506,8 +1506,14 @@ + ifdef VBOX_WITH_MASOCHISTIC_WARNINGS + VBOX_GCC_WARN_PEDANTIC += -Wunused-variable -Wunused-function -Wunused-label -Wunused-parameter + endif +-VBOX_GCC_PEDANTIC_CXX ?= -pedantic -Wshadow $(VBOX_GCC_WARN_PEDANTIC) -Wno-long-long $(VBOX_GCC_Wno-delete-non-virtual-dtor) +-VBOX_GCC_PEDANTIC_C ?= -pedantic -Wshadow $(VBOX_GCC_WARN_PEDANTIC) -Wno-long-long -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Werror-implicit-function-declaration ++VBOX_GCC_PEDANTIC_CXX ?= -Wshadow $(VBOX_GCC_WARN_PEDANTIC) -Wno-long-long $(VBOX_GCC_Wno-delete-non-virtual-dtor) ++VBOX_GCC_PEDANTIC_C ?= -Wshadow $(VBOX_GCC_WARN_PEDANTIC) -Wno-long-long -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Werror-implicit-function-declaration ++ifeq ($(KBUILD_TARGET),haiku) ++ # gcc2 complains about 'volatile' undeclared ++ # TODO: filter out -pedantic ++ VBOX_GCC_PEDANTIC_CXX += -D__volatile__= ++ VBOX_GCC_PEDANTIC_C += -D__volatile__= ++endif + ifeq ($(KBUILD_TARGET),win) + VBOX_C_CXX_FLAGS_NO_UNUSED_PARAMETERS = #-Wdxxxx + else +@@ -2771,17 +2777,18 @@ + # @param 1 The file to add resources to. + # @param 2 The resource files. + # @param 3 The target name. +-define VBOX_HAIKU_XRES_SETVER_FN +- $(if $(2),$(call MSG_TOOL,HaikuAddResources,$(3),$(2)) +- $(QUIET)$(VBOX_HAIKU_XRESTOOL) -o $(1) $(2),) +- $(call MSG_TOOL,HaikuSetVersion,$(3)) +- $(QUIET)$(VBOX_HAIKU_SETVERSIONTOOL) $(1) \ ++#define VBOX_HAIKU_XRES_SETVER_FN ++VBOX_HAIKU_XRES_SETVER_FN ?= \ ++ $$(NLTAB)$(if $(2),$(call MSG_TOOL,HaikuAddResources,$(3),$(2))\ ++ $$(NLTAB)$(QUIET)$(VBOX_HAIKU_XRESTOOL) -o $(1) $(2),)\ ++ $$(NLTAB)$(call MSG_TOOL,HaikuSetVersion,$(3))\ ++ $$(NLTAB)$(QUIET)$(VBOX_HAIKU_SETVERSIONTOOL) $(1) \ + -app $(VBOX_VERSION_MAJOR) $(VBOX_VERSION_MINOR) $(VBOX_VERSION_BUILD) d $(VBOX_SVN_REV) \ + -short "$(VBOX_PRODUCT)" \ +- -long "$(VBOX_PRODUCT) $(VBOX_VERSION_STRING) $(shell /bin/echo -e '\xC2\xA9')2009-$(VBOX_C_YEAR) $(VBOX_VENDOR)" +- $(call MSG_TOOL,HaikuMimeSet,$(3)) +- $(QUIET)$(VBOX_HAIKU_MIMESETTOOL) -f $(1) +-endef ++ -long "$(VBOX_PRODUCT) $(VBOX_VERSION_STRING) $(shell /bin/echo -e '\xC2\xA9')2009-$(VBOX_C_YEAR) $(VBOX_VENDOR)"\ ++ $$(NLTAB)$(call MSG_TOOL,HaikuMimeSet,$(3))\ ++ $$(NLTAB)$(QUIET)$(VBOX_HAIKU_MIMESETTOOL) -f $(1) ++#endef + + VBOX_HAIKU_XRES_SETVER_CMDS ?= $(if $(eq $(tool_do),LINK_PROGRAM),$(call VBOX_HAIKU_XRES_SETVER_FN,$(out),$($(target)_RSRCS),$(target)),) + endif +@@ -3508,7 +3515,7 @@ + + ifeq ($(KBUILD_TARGET),haiku) + ## The Haiku include directories +-VBOX_HAIKU_SYS_INCS ?= /boot/develop/headers/os/kernel /boot/develop/headers/os/drivers ++VBOX_HAIKU_SYS_INCS ?= /system/develop/headers/os/kernel /system/develop/headers/os/drivers + + TEMPLATE_VBOXR0DRV_TOOL = $(VBOX_GCC_TOOL) + TEMPLATE_VBOXR0DRV_LDTOOL = $(VBOX_GCC_TOOL) +@@ -3519,13 +3526,13 @@ + TEMPLATE_VBOXR0DRV_CFLAGS = -fno-PIC \ + $(VBOX_GCC_WARN) -Wstrict-prototypes $(VBOX_GCC_Wno-pointer-sign) -Wno-sign-compare \ + $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration +-TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -mno-sse -mno-mmx -mno-sse2 -mno-3dnow +-TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow ++#TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -mno-sse -mno-mmx -mno-sse2 -mno-3dnow ++TEMPLATE_VBOXR0DRV_CFLAGS.x86 = + TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow \ + -fno-reorder-blocks -ffreestanding -fno-asynchronous-unwind-tables -funit-at-a-time \ + -Wno-sign-compare -Wdeclaration-after-statement + TEMPLATE_VBOXR0DRV_CXXFLAGS = -fno-PIC -Wpointer-arith \ +- -Wshadow -Wuninitialized -Wunused-function -Wunused-label -Wunused-value -Wunused-variable \ ++ -Wshadow -Wuninitialized \ + -Wformat \ + -O2 -nodefaultlibs -fno-omit-frame-pointer -fno-strict-aliasing -fno-common -fno-exceptions -fno-rtti + TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86) -fno-exceptions -fno-rtti +@@ -3628,7 +3635,9 @@ + else # the gcc guys + TEMPLATE_VBOXR3EXE_TOOL = $(VBOX_GCC_TOOL) + TEMPLATE_VBOXR3EXE_CXXFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBOXR3EXE_CXXFLAGS.x86 = -m32 ++endif + TEMPLATE_VBOXR3EXE_CXXFLAGS.amd64 = -m64 + TEMPLATE_VBOXR3EXE_CXXFLAGS.sparc32 = -m32 + TEMPLATE_VBOXR3EXE_CXXFLAGS.sparc64 = -m64 +@@ -3650,7 +3659,9 @@ + TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.amd64 = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.amd64) + TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.debug = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.debug) + TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBOXR3EXE_LDFLAGS.x86 = -m32 ++endif + TEMPLATE_VBOXR3EXE_LDFLAGS.amd64 = -m64 + TEMPLATE_VBOXR3EXE_LDFLAGS.sparc32 = -m32 + TEMPLATE_VBOXR3EXE_LDFLAGS.sparc64 = -m64 +@@ -3676,9 +3687,11 @@ + TEMPLATE_VBOXR3EXE_CXXFLAGS := $(filter-out -pedantic,$(TEMPLATE_VBOXR3EXE_CXXFLAGS)) -fdollars-in-identifiers # annoying gcc option precedence. + endif + else ifeq ($(KBUILD_TARGET),haiku) +-TEMPLATE_VBOXR3EXE_TOOL = GXX3 ++TEMPLATE_VBOXR3EXE_TOOL = GXX2 + TEMPLATE_VBOXR3EXE_POST_CMDS = $(VBOX_HAIKU_XRES_SETVER_CMDS) +-TEMPLATE_VBOXR3EXE_LIBS = network iconv stdc++ supc++ ++#TEMPLATE_VBOXR3EXE_POST_CMDS = $(if $(eq $(tool_do),LINK_PROGRAM),$(call VBOX_HAIKU_XRES_SETVER_FN,$(out),$($(target)_RSRCS),$(target)),) ++#TEMPLATE_VBOXR3EXE_LIBS = network iconv stdc++ supc++ ++TEMPLATE_VBOXR3EXE_LIBS = network iconv stdc++.r4 + TEMPLATE_VBOXR3EXE_LIBPATH += \ + /boot/common/lib + # Haiku uses PIC by default... +@@ -4887,7 +4900,9 @@ + # (gcc of some kind ) + TEMPLATE_VBoxBldProg_TOOL = GXX3 + TEMPLATE_VBoxBldProg_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBoxBldProg_CFLAGS.x86 = -m32 ++endif + TEMPLATE_VBoxBldProg_CFLAGS.sparc32 = -m32 + TEMPLATE_VBoxBldProg_CFLAGS.amd64 = -m64 + TEMPLATE_VBoxBldProg_CFLAGS.sparc64 = -m64 +@@ -4895,7 +4910,9 @@ + TEMPLATE_VBoxBldProg_CFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile) + TEMPLATE_VBoxBldProg_CFLAGS.kprofile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile) + TEMPLATE_VBoxBldProg_CXXFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBoxBldProg_CXXFLAGS.x86 = -m32 ++endif + TEMPLATE_VBoxBldProg_CXXFLAGS.sparc32 = -m32 + TEMPLATE_VBoxBldProg_CXXFLAGS.amd64 = -m64 + TEMPLATE_VBoxBldProg_CXXFLAGS.sparc64 = -m64 +@@ -4914,7 +4931,9 @@ + TEMPLATE_VBoxBldProg_OBJCXXFLAGS.release = $(TEMPLATE_VBoxBldProg_CXXFLAGS.release) + TEMPLATE_VBoxBldProg_OBJCXXFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile) + TEMPLATE_VBoxBldProg_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile) ++ifneq ($(KBUILD_TARGET),haiku) + TEMPLATE_VBoxBldProg_LDFLAGS.x86 = -m32 ++endif + TEMPLATE_VBoxBldProg_LDFLAGS.sparc32 = -m32 + TEMPLATE_VBoxBldProg_LDFLAGS.amd64 = -m64 + TEMPLATE_VBoxBldProg_LDFLAGS.sparc64 = -m64 +@@ -4956,7 +4975,7 @@ + endif + TEMPLATE_VBoxBldProg_LIBS = + else ifeq ($(KBUILD_HOST),haiku) +-TEMPLATE_VBoxBldProg_TOOL = GXX3 ++TEMPLATE_VBoxBldProg_TOOL = GXX2 + TEMPLATE_VBoxBldProg_LIBS = network iconv + TEMPLATE_VBoxBldProg_LIBPATH += \ + /boot/common/lib +Index: trunk/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk +=================================================================== +--- trunk/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk (revision 51740) ++++ trunk/src/VBox/Additions/haiku/VBoxMouse/Makefile.kmk (working copy) +@@ -52,7 +52,7 @@ + # R1 will need gcc2-built input_server add-ons. + + PROGRAMS += VBoxMouse +-VBoxMouse_TEMPLATE = VBOXGUESTR3EXE ++VBoxMouse_TEMPLATE = NewVBoxGuestR3Exe + VBoxMouse_DEFS = VBOX_WITH_HGCM LOG_TO_BACKDOOR + VBoxMouse_DEFS += LOG_ENABLED + VBoxMouse_INCS = ../include +@@ -67,7 +67,7 @@ + /system/servers/input_server + + PROGRAMS += VBoxMouseFilter +-VBoxMouseFilter_TEMPLATE = VBOXGUESTR3EXE ++VBoxMouseFilter_TEMPLATE = NewVBoxGuestR3Exe + VBoxMouseFilter_DEFS = VBOX_WITH_HGCM LOG_TO_BACKDOOR + VBoxMouseFilter_DEFS += LOG_ENABLED + VBoxMouseFilter_INCS = ../include +Index: trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp +=================================================================== +--- trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp (revision 51740) ++++ trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestApplication.cpp (working copy) +@@ -75,6 +75,7 @@ + status_t err; + + err = VBoxGuestDeskbarView::AddToDeskbar(); ++ printf("error 0x%08lx\n", err); + LogFlow(("VBoxGuestDeskbarView::ReadyToRun: AddToDeskbar returned 0x%08lx\n", err)); + exit(0); + } +Index: trunk/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk +=================================================================== +--- trunk/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk (revision 51740) ++++ trunk/src/VBox/Additions/haiku/VBoxTray/Makefile.kmk (working copy) +@@ -51,7 +51,7 @@ + # single bin will cause problems loading gcc4 binary from a gcc2-built Deskbar! + + PROGRAMS += VBoxTray +-VBoxTray_TEMPLATE = VBOXGUESTR3EXE ++VBoxTray_TEMPLATE = NewVBoxGuestR3Exe + VBoxTray_DEFS = VBOX_WITH_HGCM LOG_TO_BACKDOOR + VBoxTray_DEFS += LOG_ENABLED + VBoxTray_INCS = ../include +Index: trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp +=================================================================== +--- trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp (revision 51740) ++++ trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.cpp (working copy) +@@ -47,6 +47,7 @@ + * Header Files * + *******************************************************************************/ + #include ++#include + #include + #include + #include +@@ -83,7 +84,8 @@ + VBoxGuestDeskbarView::VBoxGuestDeskbarView() + : BView(BRect(0, 0, 15, 15), VIEWNAME, B_FOLLOW_NONE, + B_WILL_DRAW | B_NAVIGABLE), +- fIcon(NULL), fClipboardService(NULL), fDisplayService(NULL) ++ fIcon(NULL), fInitStatus(B_NO_INIT), ++ fClipboardService(NULL), fDisplayService(NULL) + { + _Init(); + } +@@ -91,7 +93,8 @@ + + VBoxGuestDeskbarView::VBoxGuestDeskbarView(BMessage *archive) + : BView(archive), +- fIcon(NULL) ++ fIcon(NULL), fInitStatus(B_NO_INIT), ++ fClipboardService(NULL), fDisplayService(NULL) + { + archive->PrintToStream(); + _Init(archive); +@@ -106,7 +109,13 @@ + fClipboardService->Disconnect(); + delete fClipboardService; + } +- VbglR3Term(); ++ if (fDisplayService) ++ { ++ //fDisplayService->Disconnect(); ++ delete fDisplayService; ++ } ++ if (fInitStatus == B_OK) ++ VbglR3Term(); + } + + +@@ -165,8 +174,10 @@ + void VBoxGuestDeskbarView::DetachedFromWindow() + { + BMessage message(B_QUIT_REQUESTED); +- fClipboardService->MessageReceived(&message); +- fDisplayService->MessageReceived(&message); ++ if (fClipboardService) ++ fClipboardService->MessageReceived(&message); ++ if (fDisplayService) ++ fDisplayService->MessageReceived(&message); + } + + +@@ -197,7 +208,7 @@ + if (message->what == B_QUIT_REQUESTED) + RemoveFromDeskbar(); + else +- BHandler::MessageReceived(message); ++ BView::MessageReceived(message); + } + + +@@ -217,7 +228,9 @@ + return err; + + BPath p(&info.ref); +- return deskbar.AddItem(&info.ref); ++ printf("%s:%s\n", __FUNCTION__, p.Path()); ++ int32 id; ++ return deskbar.AddItem(&info.ref, &id); + } + + +@@ -260,14 +273,15 @@ + fIcon = BTranslationUtils::GetBitmap(&mem); + } + +- int rc = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE); ++ int rc = RTR3InitDll(RTR3INIT_FLAGS_SUPLIB | RTR3INIT_FLAGS_UNOBTRUSIVE | RTR3INIT_FLAGS_UTF8_ARGV); + if (RT_SUCCESS(rc)) + { + rc = VbglR3Init(); + if (RT_SUCCESS(rc)) + { + fClipboardService = new VBoxClipboardService(); +- fDisplayService = new VBoxDisplayService(); ++ //fDisplayService = new VBoxDisplayService(); ++ fInitStatus = B_OK; + } + else + LogRel(("VBoxGuestDeskbarView::_init VbglR3Init failed. rc=%d\n", rc)); +@@ -278,8 +292,10 @@ + } + + ++extern "C" { + RTDECL(BView*) instantiate_deskbar_item() + { ++ printf("%s()\n", __FUNCTION__); + return new VBoxGuestDeskbarView(); + } +- ++} // C +Index: trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h +=================================================================== +--- trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h (revision 51740) ++++ trunk/src/VBox/Additions/haiku/VBoxTray/VBoxGuestDeskbarView.h (working copy) +@@ -88,6 +88,7 @@ + status_t _Init(BMessage *archive = NULL); + BBitmap *fIcon; + ++ status_t fInitStatus; + VBoxClipboardService *fClipboardService; + VBoxDisplayService *fDisplayService; + }; +Index: trunk/src/VBox/Additions/haiku/SharedFolders/lock.h +=================================================================== +--- trunk/src/VBox/Additions/haiku/SharedFolders/lock.h (revision 51740) ++++ trunk/src/VBox/Additions/haiku/SharedFolders/lock.h (working copy) +@@ -64,7 +64,7 @@ + const char* name; + struct rw_lock_waiter* waiters; + thread_id holder; +- vint32 count; ++ int32 count; + int32 owner_count; + int16 active_readers; + // Only > 0 while a writer is waiting: number +Index: trunk/src/VBox/Additions/haiku/SharedFolders/vboxsf.c +=================================================================== +--- trunk/src/VBox/Additions/haiku/SharedFolders/vboxsf.c (revision 51740) ++++ trunk/src/VBox/Additions/haiku/SharedFolders/vboxsf.c (working copy) +@@ -55,6 +55,7 @@ + + status_t init_module(void) + { ++ int rc; + #if 0 + /* @todo enable this soon */ + int rc = get_module(VBOXGUEST_MODULE_NAME, (module_info **)&g_VBoxGuest); +@@ -98,7 +99,10 @@ + return B_ERROR; + } + +- if (RT_FAILURE(vboxInit())) ++ rc = vboxInit(); ++ dprintf("rc=%d\n", rc); ++ if (RT_FAILURE(rc)) ++ //if (RT_FAILURE(vboxInit())) + { + dprintf("vboxInit failed\n"); + return B_ERROR; +@@ -136,6 +140,7 @@ + + PSHFLSTRING make_shflstring(const char* const s) + { ++ PSHFLSTRING rv; + int len = strlen(s); + if (len > 0xFFFE) + { +@@ -143,7 +148,7 @@ + return NULL; + } + +- PSHFLSTRING rv = malloc(sizeof(SHFLSTRING) + len); ++ rv = malloc(sizeof(SHFLSTRING) + len); + if (!rv) + return NULL; + +@@ -194,12 +199,14 @@ + + PSHFLSTRING build_path(vboxsf_vnode* dir, const char* const name) + { ++ size_t len; ++ PSHFLSTRING rv; + dprintf("*** build_path(%p, %p)\n", dir, name); + if (!dir || !name) + return NULL; + +- size_t len = dir->path->u16Length + strlen(name) + 1; +- PSHFLSTRING rv = malloc(sizeof(SHFLSTRING) + len); ++ len = dir->path->u16Length + strlen(name) + 1; ++ rv = malloc(sizeof(SHFLSTRING) + len); + if (rv) + { + strcpy(rv->String.utf8, dir->path->String.utf8); +@@ -214,6 +221,10 @@ + + status_t mount(fs_volume *volume, const char *device, uint32 flags, const char *args, ino_t *_rootVnodeID) + { ++ PSHFLSTRING sharename; ++ vboxsf_volume* vbsfvolume; ++ int rv; ++ + if (device) + { + dprintf(FS_NAME ": trying to mount a real device as a vbox share is silly\n"); +@@ -222,16 +233,17 @@ + + dprintf(FS_NAME ": mount(%s)\n", args); + +- PSHFLSTRING sharename = make_shflstring(args); ++ sharename = make_shflstring(args); + +- vboxsf_volume* vbsfvolume = malloc(sizeof(vboxsf_volume)); ++ vbsfvolume = malloc(sizeof(vboxsf_volume)); + volume->private_volume = vbsfvolume; +- int rv = vboxCallMapFolder(&g_clientHandle, sharename, &(vbsfvolume->map)); ++ rv = vboxCallMapFolder(&g_clientHandle, sharename, &(vbsfvolume->map)); + free(sharename); + + if (rv == 0) + { + vboxsf_vnode* root_vnode; ++ status_t rs; + + PSHFLSTRING name = make_shflstring(""); + if (!name) +@@ -240,7 +252,7 @@ + return B_NO_MEMORY; + } + +- status_t rs = vboxsf_new_vnode(&vbsfvolume->map, name, name, &root_vnode); ++ rs = vboxsf_new_vnode(&vbsfvolume->map, name, name, &root_vnode); + dprintf(FS_NAME ": allocated %p (path=%p name=%p)\n", root_vnode, root_vnode->path, root_vnode->name); + + if (rs != B_OK) +@@ -323,12 +335,13 @@ + vboxsf_volume* volume = _volume->private_volume; + vboxsf_vnode* vnode = _vnode->private_node; + SHFLCREATEPARMS params; ++ int rc; + + RT_ZERO(params); + params.Handle = SHFL_HANDLE_NIL; + params.CreateFlags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_OPEN_IF_EXISTS | SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READ; + +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); + if (RT_SUCCESS(rc)) + { + if (params.Result == SHFL_FILE_EXISTS && params.Handle != SHFL_HANDLE_NIL) +@@ -358,17 +371,23 @@ + status_t vboxsf_read_dir_1(vboxsf_volume* volume, vboxsf_vnode* vnode, vboxsf_dir_cookie* cookie, + struct dirent* buffer, size_t bufferSize) + { ++ PSHFLSTRING name1; ++ int rv; ++ vboxsf_vnode* new_vnode; ++ size_t size; ++ + dprintf("%p, %d, %p\n", cookie, cookie->has_more_files, cookie->buffer); + if (!cookie->has_more_files) + return B_ENTRY_NOT_FOUND; + + if (!cookie->buffer) + { ++ int rc; + cookie->buffer_length = 16384; + cookie->buffer_start = cookie->buffer = malloc(cookie->buffer_length); + +- int rc = vboxCallDirInfo(&g_clientHandle, &volume->map, cookie->handle, cookie->path, 0, cookie->index, +- &cookie->buffer_length, cookie->buffer, &cookie->num_files); ++ rc = vboxCallDirInfo(&g_clientHandle, &volume->map, cookie->handle, cookie->path, 0, cookie->index, ++ &cookie->buffer_length, cookie->buffer, &cookie->num_files); + + if (rc != 0 && rc != VERR_NO_MORE_FILES) + { +@@ -393,15 +412,14 @@ + return B_BUFFER_OVERFLOW; + } + +- PSHFLSTRING name1 = clone_shflstring(&cookie->buffer->name); ++ name1 = clone_shflstring(&cookie->buffer->name); + if (!name1) + { + dprintf(FS_NAME ": make_shflstring() failed\n"); + return B_NO_MEMORY; + } + +- vboxsf_vnode* new_vnode; +- int rv = vboxsf_new_vnode(&volume->map, build_path(vnode, name1->String.utf8), name1, &new_vnode); ++ rv = vboxsf_new_vnode(&volume->map, build_path(vnode, name1->String.utf8), name1, &new_vnode); + if (rv != B_OK) + { + dprintf(FS_NAME ": vboxsf_new_vnode() failed\n"); +@@ -415,7 +433,7 @@ + buffer->d_reclen = sizeof(struct dirent) + cookie->buffer->name.u16Length; + strncpy(buffer->d_name, cookie->buffer->name.String.utf8, NAME_MAX); + +- size_t size = offsetof(SHFLDIRINFO, name.String) + cookie->buffer->name.u16Size; ++ size = offsetof(SHFLDIRINFO, name.String) + cookie->buffer->name.u16Size; + cookie->buffer = ((void*)cookie->buffer + size); + cookie->index++; + +@@ -504,22 +522,24 @@ + + status_t vboxsf_lookup(fs_volume* _volume, fs_vnode* dir, const char* name, ino_t* _id) + { +- dprintf(FS_NAME ": lookup %s\n", name); + vboxsf_volume* volume = _volume->private_volume; + SHFLCREATEPARMS params; ++ PSHFLSTRING path; ++ int rc; ++ dprintf(FS_NAME ": lookup %s\n", name); + + RT_ZERO(params); + params.Handle = SHFL_HANDLE_NIL; + params.CreateFlags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW; + +- PSHFLSTRING path = build_path(dir->private_node, name); ++ path = build_path(dir->private_node, name); + if (!path) + { + dprintf(FS_NAME ": make_shflstring() failed\n"); + return B_NO_MEMORY; + } + +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); + if (RT_SUCCESS(rc)) + { + if (params.Result == SHFL_FILE_EXISTS) +@@ -600,11 +620,12 @@ + { + vboxsf_volume* volume = _volume->private_volume; + vboxsf_vnode* vnode = _vnode->private_node; ++ SHFLCREATEPARMS params; ++ int rc; ++ vboxsf_file_cookie* cookie; + + dprintf(FS_NAME ": open %s (mode=%x)\n", vnode->path->String.utf8, openMode); + +- SHFLCREATEPARMS params; +- + RT_ZERO(params); + params.Handle = SHFL_HANDLE_NIL; + +@@ -637,14 +658,14 @@ + params.CreateFlags |= SHFL_CF_ACT_OPEN_IF_EXISTS; + } + +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); + if (!RT_SUCCESS(rc)) + { + dprintf("vboxCallCreate returned %d\n", rc); + return vbox_err_to_haiku_err(rc); + } + +- vboxsf_file_cookie* cookie = malloc(sizeof(vboxsf_file_cookie)); ++ cookie = malloc(sizeof(vboxsf_file_cookie)); + if (!cookie) + { + dprintf("couldn't allocate file cookie\n"); +@@ -665,6 +686,9 @@ + vboxsf_volume* volume = _volume->private_volume; + + SHFLCREATEPARMS params; ++ PSHFLSTRING path; ++ int rc; ++ vboxsf_file_cookie* cookie; + + RT_ZERO(params); + params.Handle = SHFL_HANDLE_NIL; +@@ -698,8 +722,8 @@ + params.CreateFlags |= SHFL_CF_ACT_OPEN_IF_EXISTS; + } + +- PSHFLSTRING path = build_path(_dir->private_node, name); +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); ++ path = build_path(_dir->private_node, name); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); + + if (!RT_SUCCESS(rc)) + { +@@ -708,7 +732,7 @@ + return vbox_err_to_haiku_err(rc); + } + +- vboxsf_file_cookie* cookie = malloc(sizeof(vboxsf_file_cookie)); ++ cookie = malloc(sizeof(vboxsf_file_cookie)); + if (!cookie) + { + dprintf("couldn't allocate file cookie\n"); +@@ -761,13 +785,16 @@ + vboxsf_volume* volume = _volume->private_volume; + vboxsf_vnode* vnode = _vnode->private_node; + vboxsf_file_cookie* cookie = _cookie; ++ uint32_t l; ++ void* other_buffer; ++ int rc; + + if (*length > 0xFFFFFFFF) + *length = 0xFFFFFFFF; + +- uint32_t l = *length; +- void* other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ +- int rc = vboxCallRead(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); ++ l = *length; ++ other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ ++ rc = vboxCallRead(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); + memcpy(buffer, other_buffer, l); + free(other_buffer); + +@@ -782,14 +809,17 @@ + vboxsf_volume* volume = _volume->private_volume; + vboxsf_vnode* vnode = _vnode->private_node; + vboxsf_file_cookie* cookie = _cookie; ++ uint32_t l; ++ void* other_buffer; ++ int rc; + + if (*length > 0xFFFFFFFF) + *length = 0xFFFFFFFF; + +- uint32_t l = *length; +- void* other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ ++ l = *length; ++ other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ + memcpy(other_buffer, buffer, l); +- int rc = vboxCallWrite(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); ++ rc = vboxCallWrite(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false); + free(other_buffer); + + *length = l; +@@ -807,6 +837,8 @@ + status_t vboxsf_create_dir(fs_volume *_volume, fs_vnode *parent, const char *name, int perms) + { + vboxsf_volume* volume = _volume->private_volume; ++ PSHFLSTRING path; ++ int rc; + + SHFLCREATEPARMS params; + params.Handle = 0; +@@ -814,8 +846,8 @@ + params.CreateFlags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_CREATE_IF_NEW | + SHFL_CF_ACT_FAIL_IF_EXISTS | SHFL_CF_ACCESS_READ; + +- PSHFLSTRING path = build_path(parent->private_node, name); +- int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); ++ path = build_path(parent->private_node, name); ++ rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms); + free(path); + /** @todo r=ramshankar: we should perhaps also check rc here and change + * Handle initialization from 0 to SHFL_HANDLE_NIL. */ +@@ -879,9 +911,10 @@ + PSHFLSTRING target = make_shflstring(path); + PSHFLSTRING linkpath = build_path(dir->private_node, name); + SHFLFSOBJINFO stuff; ++ int rc; + RT_ZERO(stuff); + +- int rc = vboxCallSymlink(&g_clientHandle, &volume->map, linkpath, target, &stuff); ++ rc = vboxCallSymlink(&g_clientHandle, &volume->map, linkpath, target, &stuff); + + free(target); + free(linkpath); +Index: trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c +=================================================================== +--- trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c (revision 51740) ++++ trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c (working copy) +@@ -69,6 +69,7 @@ + #include + + #define MODULE_NAME VBOXGUEST_MODULE_NAME ++#define DO_LOG 1 + + /* + * IRQ related functions. +@@ -302,9 +303,10 @@ + */ + static int32 VBoxGuestHaikuISR(void *pvState) + { ++ bool fOurIRQ; + LogFlow((MODULE_NAME ":VBoxGuestHaikuISR pvState=%p\n", pvState)); + +- bool fOurIRQ = VBoxGuestCommonISR(&g_DevExt); ++ fOurIRQ = VBoxGuestCommonISR(&g_DevExt); + if (fOurIRQ) + return B_HANDLED_INTERRUPT; + return B_UNHANDLED_INTERRUPT; +@@ -313,9 +315,10 @@ + + void VBoxGuestNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) + { ++ status_t err = B_OK; ++ + LogFlow((MODULE_NAME "::NativeISRMousePollEvent:\n")); + +- status_t err = B_OK; + //dprintf(MODULE_NAME ": isr mouse\n"); + + /* +Index: trunk/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c +=================================================================== +--- trunk/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c (revision 51740) ++++ trunk/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c (working copy) +@@ -191,11 +191,14 @@ + */ + static status_t VBoxGuestHaikuIOCtl(void *cookie, uint32 op, void *data, size_t len) + { ++ int rc = B_OK; ++ void *pvBuf = NULL; ++ size_t cbDataReturned; ++ + PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)cookie; ++ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl cookie=%p op=0x%08x data=%p len=%lu)\n", cookie, op, data, len); + Log((DRIVER_NAME ":VBoxGuestHaikuIOCtl cookie=%p op=0x%08x data=%p len=%lu)\n", cookie, op, data, len)); + +- int rc = B_OK; +- + /* + * Validate the input. + */ +@@ -223,7 +226,6 @@ + /* + * Read the request. + */ +- void *pvBuf = NULL; + if (RT_LIKELY(len > 0)) + { + pvBuf = RTMemTmpAlloc(len); +@@ -238,6 +240,7 @@ + if (RT_UNLIKELY(rc < 0)) + { + RTMemTmpFree(pvBuf); ++ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p data=%p op=%d. rc=%d\n", pvBuf, data, op, rc); + LogRel((DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p data=%p op=%d. rc=%d\n", pvBuf, data, op, rc)); + return EFAULT; + } +@@ -253,7 +256,6 @@ + /* + * Process the IOCtl. + */ +- size_t cbDataReturned; + rc = VBoxGuestCommonIOCtl(op, &g_DevExt, pSession, pvBuf, len, &cbDataReturned); + if (RT_SUCCESS(rc)) + { +@@ -268,6 +270,7 @@ + rc = user_memcpy(data, pvBuf, cbDataReturned); + if (RT_UNLIKELY(rc < 0)) + { ++ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, data, op, rc); + Log((DRIVER_NAME ":VBoxGuestHaikuIOCtl: user_memcpy failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, data, op, rc)); + rc = EFAULT; + } +@@ -275,6 +278,7 @@ + } + else + { ++ dprintf(DRIVER_NAME ":VBoxGuestHaikuIOCtl: VBoxGuestCommonIOCtl failed. rc=%d\n", rc); + Log((DRIVER_NAME ":VBoxGuestHaikuIOCtl: VBoxGuestCommonIOCtl failed. rc=%d\n", rc)); + rc = EFAULT; + } +@@ -297,6 +301,7 @@ + { + PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)cookie; + status_t err = B_OK; ++ uint32_t u32CurSeq; + + switch (event) + { +@@ -308,7 +313,7 @@ + + RTSpinlockAcquire(g_DevExt.SessionSpinlock); + +- uint32_t u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); ++ u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); + if (pSession->u32MousePosChangedSeq != u32CurSeq) + { + pSession->u32MousePosChangedSeq = u32CurSeq; +@@ -388,11 +393,12 @@ + static status_t VBoxGuestHaikuRead(void *cookie, off_t position, void *data, size_t *numBytes) + { + PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)cookie; ++ uint32_t u32CurSeq; + + if (*numBytes == 0) + return B_OK; + +- uint32_t u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); ++ u32CurSeq = ASMAtomicUoReadU32(&g_DevExt.u32MousePosChangedSeq); + if (pSession->u32MousePosChangedSeq != u32CurSeq) + { + pSession->u32MousePosChangedSeq = u32CurSeq; +Index: trunk/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp +=================================================================== +--- trunk/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp (revision 51740) ++++ trunk/src/VBox/Runtime/r3/haiku/rtProcInitExePath-haiku.cpp (working copy) +@@ -31,6 +31,7 @@ + #ifdef RT_OS_HAIKU + # include + #endif ++#include + + #include + #include +@@ -51,6 +52,7 @@ + */ + status = get_next_image_info(0, &Cookie, &ImageInfo); + AssertReturn((status == B_OK), VERR_INTERNAL_ERROR); ++fprintf(stderr, "p='%s'\n", ImageInfo.name); + + int rc = rtPathFromNativeCopy(pszPath, MIN(cchPath, MAXPATHLEN), ImageInfo.name, NULL); + AssertMsgRCReturn(rc, ("rc=%Rrc pszLink=\"%s\"\nhex: %.*Rhxs\n", rc, pszPath, MIN(cchPath, MAXPATHLEN), pszPath), rc); +Index: trunk/src/VBox/Runtime/r3/posix/utf8-posix.cpp +=================================================================== +--- trunk/src/VBox/Runtime/r3/posix/utf8-posix.cpp (revision 51740) ++++ trunk/src/VBox/Runtime/r3/posix/utf8-posix.cpp (working copy) +@@ -173,7 +173,7 @@ + iconv_t hIconv = (iconv_t)*phIconv; + if (hIconv == (iconv_t)-1) + { +-#ifdef RT_OS_SOLARIS ++#if defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) + /* Solaris doesn't grok empty codeset strings, so help it find the current codeset. */ + if (!*pszInputCS) + pszInputCS = rtStrGetLocaleCodeset(); +@@ -304,7 +304,7 @@ + /* + * Create conversion object. + */ +-#ifdef RT_OS_SOLARIS ++#if defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) + /* Solaris doesn't grok empty codeset strings, so help it find the current codeset. */ + if (!*pszInputCS) + pszInputCS = rtStrGetLocaleCodeset(); +Index: trunk/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c +=================================================================== +--- trunk/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c (revision 51740) ++++ trunk/src/VBox/Runtime/r0drv/haiku/semfastmutex-r0drv-haiku.c (working copy) +@@ -57,10 +57,13 @@ + + RTDECL(int) RTSemFastMutexCreate(PRTSEMFASTMUTEX phFastMtx) + { ++ PRTSEMFASTMUTEXINTERNAL pThis; ++ + AssertCompile(sizeof(RTSEMFASTMUTEXINTERNAL) > sizeof(void *)); ++ dprintf("phFastMtx: %p\n", phFastMtx); + AssertPtrReturn(phFastMtx, VERR_INVALID_POINTER); + +- PRTSEMFASTMUTEXINTERNAL pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); ++ pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); + if (RT_UNLIKELY(!pThis)) + return VERR_NO_MEMORY; + +Index: trunk/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c +=================================================================== +--- trunk/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c (revision 51740) ++++ trunk/src/VBox/Runtime/r0drv/haiku/semevent-r0drv-haiku.c (working copy) +@@ -66,12 +66,15 @@ + + RTDECL(int) RTSemEventCreateEx(PRTSEMEVENT phEventSem, uint32_t fFlags, RTLOCKVALCLASS hClass, const char *pszNameFmt, ...) + { ++ PRTSEMEVENTINTERNAL pThis; ++ + AssertCompile(sizeof(RTSEMEVENTINTERNAL) > sizeof(void *)); + AssertReturn(!(fFlags & ~(RTSEMEVENT_FLAGS_NO_LOCK_VAL | RTSEMEVENT_FLAGS_BOOTSTRAP_HACK)), VERR_INVALID_PARAMETER); + Assert(!(fFlags & RTSEMEVENT_FLAGS_BOOTSTRAP_HACK) || (fFlags & RTSEMEVENT_FLAGS_NO_LOCK_VAL)); ++ dprintf("phEventSem: %p\n", phEventSem); + AssertPtrReturn(phEventSem, VERR_INVALID_POINTER); + +- PRTSEMEVENTINTERNAL pThis = (PRTSEMEVENTINTERNAL)RTMemAllocZ(sizeof(*pThis)); ++ pThis = (PRTSEMEVENTINTERNAL)RTMemAllocZ(sizeof(*pThis)); + if (!pThis) + return VERR_NO_MEMORY; + +Index: trunk/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c +=================================================================== +--- trunk/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c (revision 51740) ++++ trunk/src/VBox/Runtime/r0drv/haiku/alloc-r0drv-haiku.c (working copy) +@@ -44,10 +44,12 @@ + */ + int rtR0MemAllocEx(size_t cb, uint32_t fFlags, PRTMEMHDR *ppHdr) + { ++ PRTMEMHDR pHdr; ++ + if (RT_UNLIKELY(fFlags & RTMEMHDR_FLAG_ANY_CTX)) + return VERR_NOT_SUPPORTED; + +- PRTMEMHDR pHdr = (PRTMEMHDR)malloc(cb + sizeof(*pHdr)); ++ pHdr = (PRTMEMHDR)malloc(cb + sizeof(*pHdr)); + if (RT_UNLIKELY(!pHdr)) + { + LogRel(("rtR0MemAllocEx(%u, %#x) failed\n",(unsigned)cb + sizeof(*pHdr), fFlags)); +@@ -75,6 +77,9 @@ + + RTR0DECL(void *) RTMemContAlloc(PRTCCPHYS pPhys, size_t cb) RT_NO_THROW + { ++ void *pv; ++ area_id area; ++ + /* + * Validate input. + */ +@@ -87,8 +92,7 @@ + * memory that's always below 4GB. + */ + cb = RT_ALIGN_Z(cb, PAGE_SIZE); +- void *pv; +- area_id area = create_area("VirtualBox Contig Alloc", &pv, B_ANY_KERNEL_ADDRESS, cb, B_32_BIT_CONTIGUOUS, ++ area = create_area("VirtualBox Contig Alloc", &pv, B_ANY_KERNEL_ADDRESS, cb, B_32_BIT_CONTIGUOUS, + B_READ_AREA | B_WRITE_AREA); + if (area >= 0) + { +@@ -112,9 +116,10 @@ + RT_ASSERT_PREEMPTIBLE(); + if (pv) + { ++ area_id area; + Assert(cb > 0); + +- area_id area = area_for(pv); ++ area = area_for(pv); + if (area >= B_OK) + delete_area(area); + else +Index: trunk/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c +=================================================================== +--- trunk/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c (revision 51740) ++++ trunk/src/VBox/Runtime/r0drv/haiku/semeventmulti-r0drv-haiku.c (working copy) +@@ -76,7 +76,7 @@ + pThis->u32Magic = RTSEMEVENTMULTI_MAGIC; + pThis->cRefs = 1; + pThis->SemId = create_sem(0, "IPRT Semaphore Event Multi"); +- if (pThis->SemId < B_OK) ++ if (pThis->SemId >= B_OK) + { + set_sem_owner(pThis->SemId, B_SYSTEM_TEAM); + *phEventMultiSem = pThis; +Index: trunk/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c +=================================================================== +--- trunk/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c (revision 51740) ++++ trunk/src/VBox/Runtime/r0drv/haiku/semmutex-r0drv-haiku.c (working copy) +@@ -65,16 +65,19 @@ + + RTDECL(int) RTSemMutexCreate(PRTSEMMUTEX phMutexSem) + { ++ PRTSEMMUTEXINTERNAL pThis; ++ + AssertCompile(sizeof(RTSEMMUTEXINTERNAL) > sizeof(void *)); ++ dprintf("phMutexSem: %p\n", phMutexSem); + AssertPtrReturn(phMutexSem, VERR_INVALID_POINTER); + +- PRTSEMMUTEXINTERNAL pThis = (PRTSEMMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); ++ pThis = (PRTSEMMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis)); + if (RT_UNLIKELY(!pThis)) + return VERR_NO_MEMORY; + + pThis->u32Magic = RTSEMMUTEX_MAGIC; + pThis->SemId = create_sem(0, "IPRT Mutex Semaphore"); +- if (pThis->SemId < B_OK) ++ if (pThis->SemId >= B_OK) + { + pThis->OwnerId = -1; + pThis->cRecursion = 0; +@@ -215,7 +218,7 @@ + if (--pThis->cRecursion == 0) + { + pThis->OwnerId == -1; +- release_sem(pThis->SemId); ++ release_sem_etc(pThis->SemId, 1, B_DO_NOT_RESCHEDULE); + } + + return VINF_SUCCESS; +Index: trunk/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c +=================================================================== +--- trunk/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c (revision 51740) ++++ trunk/src/VBox/Runtime/r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c (working copy) +@@ -36,6 +36,7 @@ + RTDECL(void) RTLogWriteDebugger(const char *pch, size_t cb) + { + /** @todo implement this */ ++ dprintf("%.*s", (int)cb, pch); + /*kprintf("%.*s", (int)cb, pch);*/ + return; + } +Index: trunk/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c +=================================================================== +--- trunk/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c (revision 51740) ++++ trunk/src/VBox/Runtime/r0drv/haiku/memobj-r0drv-haiku.c (working copy) +@@ -153,13 +153,15 @@ + static int rtR0MemObjNativeAllocArea(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, + bool fExecutable, RTR0MEMOBJTYPE type, RTHCPHYS PhysHighest, size_t uAlignment) + { +- NOREF(fExecutable); +- + int rc; + void *pvMap = NULL; + const char *pszName = NULL; + uint32 addressSpec = B_ANY_KERNEL_ADDRESS; + uint32 fLock = ~0U; ++ PRTR0MEMOBJHAIKU pMemHaiku; ++ ++ NOREF(fExecutable); ++ + LogFlowFunc(("ppMem=%p cb=%u, fExecutable=%s, type=%08x, PhysHighest=%RX64 uAlignment=%u\n", ppMem,(unsigned)cb, + fExecutable ? "true" : "false", type, PhysHighest,(unsigned)uAlignment)); + +@@ -201,7 +203,6 @@ + } + + /* Create the object. */ +- PRTR0MEMOBJHAIKU pMemHaiku; + pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(RTR0MEMOBJHAIKU), type, NULL, cb); + if (RT_UNLIKELY(!pMemHaiku)) + return VERR_NO_MEMORY; +@@ -277,11 +278,13 @@ + + int rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJINTERNAL ppMem, RTHCPHYS Phys, size_t cb, uint32_t uCachePolicy) + { ++ PRTR0MEMOBJHAIKU pMemHaiku; ++ + AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED); + LogFlowFunc(("ppMem=%p Phys=%08x cb=%u uCachePolicy=%x\n", ppMem, Phys,(unsigned)cb, uCachePolicy)); + + /* Create the object. */ +- PRTR0MEMOBJHAIKU pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_PHYS, NULL, cb); ++ pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_PHYS, NULL, cb); + if (!pMemHaiku) + return VERR_NO_MEMORY; + +@@ -311,15 +314,16 @@ + static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvStart, size_t cb, uint32_t fAccess, + RTR0PROCESS R0Process, int fFlags) + { +- NOREF(fAccess); + int rc; + team_id TeamId = B_SYSTEM_TEAM; ++ PRTR0MEMOBJHAIKU pMemHaiku; ++ NOREF(fAccess); + + LogFlowFunc(("ppMem=%p pvStart=%p cb=%u fAccess=%x R0Process=%d fFlags=%x\n", ppMem, pvStart, cb, fAccess, R0Process, + fFlags)); + + /* Create the object. */ +- PRTR0MEMOBJHAIKU pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_LOCK, pvStart, cb); ++ pMemHaiku = (PRTR0MEMOBJHAIKU)rtR0MemObjNew(sizeof(*pMemHaiku), RTR0MEMOBJTYPE_LOCK, pvStart, cb); + if (RT_UNLIKELY(!pMemHaiku)) + return VERR_NO_MEMORY; + +@@ -605,10 +609,11 @@ + team_id TeamId = B_SYSTEM_TEAM; + physical_entry aPhysMap[2]; + int32 cPhysMap = 2; /** @todo r=ramshankar: why not use RT_ELEMENTS? */ ++ void *pb; + + if (pMemHaiku->Core.u.Lock.R0Process != NIL_RTR0PROCESS) + TeamId = (team_id)pMemHaiku->Core.u.Lock.R0Process; +- void *pb = pMemHaiku->Core.pv + (iPage << PAGE_SHIFT); ++ pb = pMemHaiku->Core.pv + (iPage << PAGE_SHIFT); + + rc = get_memory_map_etc(TeamId, pb, B_PAGE_SIZE, aPhysMap, &cPhysMap); + if (rc < B_OK || cPhysMap < 1) +Index: trunk/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c +=================================================================== +--- trunk/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c (revision 51740) ++++ trunk/src/VBox/Runtime/r0drv/haiku/spinlock-r0drv-haiku.c (working copy) +@@ -66,14 +66,15 @@ + + RTDECL(int) RTSpinlockCreate(PRTSPINLOCK pSpinlock, uint32_t fFlags, const char *pszName) + { ++ PRTSPINLOCKINTERNAL pSpinlockInt; + RT_ASSERT_PREEMPTIBLE(); + NOREF(pszName); + + /* + * Allocate. + */ +- AssertCompile(sizeof(RTSPINLOCKINTERNAL) > sizeof(void *)); +- PRTSPINLOCKINTERNAL pSpinlockInt = (PRTSPINLOCKINTERNAL)RTMemAllocZ(sizeof(*pSpinlockInt)); ++// AssertCompile(sizeof(RTSPINLOCKINTERNAL) > sizeof(void *)); ++ pSpinlockInt = (PRTSPINLOCKINTERNAL)RTMemAllocZ(sizeof(*pSpinlockInt)); + if (RT_UNLIKELY(!pSpinlockInt)) + return VERR_NO_MEMORY; + +Index: trunk/src/VBox/Runtime/Makefile.kmk +=================================================================== +--- trunk/src/VBox/Runtime/Makefile.kmk (revision 51740) ++++ trunk/src/VBox/Runtime/Makefile.kmk (working copy) +@@ -1062,7 +1062,6 @@ + r3/posix/fs3-posix.cpp \ + r3/posix/ldrNative-posix.cpp \ + r3/posix/rtmempage-exec-mmap-heap-posix.cpp \ +- r3/posix/rtmemlocked-posix.cpp \ + r3/posix/path-posix.cpp \ + r3/posix/path2-posix.cpp \ + r3/posix/pathhost-posix.cpp \ +Index: trunk/src/VBox/Runtime/VBox/log-vbox.cpp +=================================================================== +--- trunk/src/VBox/Runtime/VBox/log-vbox.cpp (revision 51740) ++++ trunk/src/VBox/Runtime/VBox/log-vbox.cpp (working copy) +@@ -492,6 +492,11 @@ + RTLogFlags(pLogger, "enabled unbuffered tid"); + pLogger->fDestFlags |= RTLOGDEST_DEBUGGER | RTLOGDEST_STDOUT; + # endif ++# if 1 /* vboxdrv logging - ATTENTION: this is what we're referring to guys! Change to '# if 1'. */ ++ RTLogGroupSettings(pLogger, "+all"); ++ RTLogFlags(pLogger, "enabled unbuffered tid"); ++ pLogger->fDestFlags |= RTLOGDEST_DEBUGGER | RTLOGDEST_STDOUT; ++# endif + } + #endif /* IN_RING0 */ + return g_pLogger = RT_SUCCESS(rc) ? pLogger : NULL; +Index: trunk/configure +=================================================================== +--- trunk/configure (revision 51740) ++++ trunk/configure (working copy) +@@ -417,6 +417,9 @@ + elif [ $cc_maj -eq 4 -a $cc_min -eq 0 -a "$OS" = "darwin" ]; then + log_success "found version $cc_ver" + # gcc-4.0 is allowed for Darwin only ++ elif [ $cc_maj -eq 2 -a $cc_min -eq 95 -a "$OS" = "haiku" ]; then ++ log_success "found version $cc_ver (only for building guest additions)" ++ # gcc-2.95 is allowed for Haiku only; required to build guest additions + elif [ $cc_maj -lt 3 \ + -o \( $cc_maj -eq 3 -a $cc_min -lt 2 \) \ + -o \( $cc_maj -eq 4 -a $cc_min -lt 1 -a "$OS" != "darwin" \) \ +@@ -2652,6 +2655,12 @@ + else + cnf_append "VBOX_WITH_LINUX_ADDITIONS" "" + fi ++ ++ if [ "$OS" = "haiku" ]; then ++ cnf_append "VBOX_WITH_HAIKU_ADDITIONS" "1" ++ else ++ cnf_append "VBOX_WITH_HAIKU_ADDITIONS" "" ++ fi + echo >> $CNF + fi + +Index: trunk/include/iprt/cpp/autores.h +=================================================================== +--- trunk/include/iprt/cpp/autores.h (revision 51740) ++++ trunk/include/iprt/cpp/autores.h (working copy) +@@ -51,7 +51,7 @@ + } + + /** Specialisation of RTAutoResNil for RTFILE */ +-template <> ++template + inline RTFILE RTAutoResNil(void) + { + return NIL_RTFILE; +Index: trunk/include/iprt/cdefs.h +=================================================================== +--- trunk/include/iprt/cdefs.h (revision 51740) ++++ trunk/include/iprt/cdefs.h (working copy) +@@ -1142,7 +1142,7 @@ + * @param type The return type of the function declaration. + * @remarks Use sparsely and with care. Don't use this macro on C++ methods. + */ +-#ifdef __GNUC__ ++#if defined(__GNUC__) && (__GNUC__ >= 3) + # define DECL_FORCE_INLINE(type) __attribute__((__always_inline__)) DECLINLINE(type) + #elif defined(_MSC_VER) + # define DECL_FORCE_INLINE(type) __forceinline type +Index: trunk/include/iprt/types.h +=================================================================== +--- trunk/include/iprt/types.h (revision 51740) ++++ trunk/include/iprt/types.h (working copy) +@@ -149,6 +149,13 @@ + # undef false + # undef true + # undef bool ++/* ++# elif defined(RT_OS_HAIKU) ++#warning HAIKU_B ++# include ++# include ++# include ++*/ + # else + # include + # include +@@ -206,8 +213,13 @@ + # ifndef __bool_true_false_are_defined + typedef _Bool bool; + # endif ++# elif defined(RT_OS_HAIKU) ++# ifndef __bool_true_false_are_defined ++# include ++typedef _Bool bool; ++# endif + # else +-# if (defined(RT_OS_DARWIN) || defined(RT_OS_HAIKU)) && (defined(_STDBOOL_H) || defined(__STDBOOL_H)) ++# if (defined(RT_OS_DARWIN) || defined(RT_OS_HAIKU)) && (defined(_STDBOOL_H) || defined(__STDBOOL_H) || defined(__STDBOOL_H__)) + # undef bool + # endif + typedef _Bool bool; +Index: trunk/src/libs/kStuff/kStuff/include/k/kDefs.h +=================================================================== +--- trunk/src/libs/kStuff/kStuff/include/k/kDefs.h (revision 66) ++++ trunk/src/libs/kStuff/kStuff/include/k/kDefs.h (working copy) +@@ -60,8 +60,10 @@ + #define K_OS_SOLARIS 9 + /** Windows. */ + #define K_OS_WINDOWS 10 ++/** Haiku */ ++#define K_OS_HAIKU 11 + /** The max K_OS_* value (exclusive). */ +-#define K_OS_MAX 11 ++#define K_OS_MAX 12 + /** @} */ + + /** @def K_OS +@@ -82,6 +84,8 @@ + # define K_OS K_OS_DRAGONFLY + # elif defined(__FreeBSD__) /*??*/ + # define K_OS K_OS_FREEBSD ++# elif defined(__HAIKU__) ++# define K_OS K_OS_HAIKU + # elif defined(__gnu_linux__) + # define K_OS K_OS_LINUX + # elif defined(__NetBSD__) /*??*/ +--- /dev/null 2014-07-01 06:17:57.378104000 +0200 ++++ trunk/kBuild/tools/GCC2.kmk 2014-01-13 18:20:19.486539264 +0100 +@@ -0,0 +1,352 @@ ++# $Id: GCC2.kmk 2541 2011-08-03 09:51:30Z bird $ ++## @file ++# kBuild Tool Config - Generic GCC v2.95.x or later Using The System GCC and Binutils. ++# ++ ++# ++# Copyright (c) 2004-2010 knut st. osmundsen ++# ++# This file is part of kBuild. ++# ++# kBuild is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# kBuild is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with kBuild; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++# ++# ++# As a special exception you are granted permission to include this file, via ++# the kmk include directive, as you wish without this in itself causing the ++# resulting makefile, program or whatever to be covered by the GPL license. ++# This exception does not however invalidate any other reasons why the makefile, ++# program, whatever should not be covered the GPL. ++# ++# ++ ++TOOL_GCC2 := Generic GCC v2.95.x or later Using The System GCC and Binutils. ++ ++# Tool Specific Properties ++TOOL_GCC2_CC ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2_CXX ?= g++$(HOSTSUFF_EXE) ++TOOL_GCC2_AS ?= gcc$(HOSTSUFF_EXE) ++ifeq ($(KBUILD_TARGET),solaris) ## @todo drop the MRI script! ++ TOOL_GCC2_AR ?= gar$(HOSTSUFF_EXE) ++else ++ TOOL_GCC2_AR ?= ar$(HOSTSUFF_EXE) ++endif ++ifeq ($(KBUILD_TARGET),os2) ++ TOOL_GCC2_AR_IMP ?= emximp$(HOSTSTUFF_EXE) ++else ++ TOOL_GCC2_AR_IMP ?= $(ECHO) not supported! ++endif ++TOOL_GCC2_LD ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) ++ifndef TOOL_GCC2_LDFLAGS.$(KBUILD_TARGET) ++ TOOL_GCC2_LDFLAGS.dll ?= -shared ++else ++ TOOL_GCC2_LDFLAGS.dll ?= $(TOOL_GCC2_LDFLAGS.$(KBUILD_TARGET)) ++endif ++TOOL_GCC2_LDFLAGS.sysmod ?= -r ++TOOL_GCC2_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++ifeq ($(KBUILD_TARGET),os2) ++ TOOL_GCC2_LD_MAP ?= -Zmap=$(1) ++ TOOL_GCC2_LD_SYSMOD_MAP ?= -Zmap=$(1) ++else ++ TOOL_GCC2_LD_MAP ?= ++ TOOL_GCC2_LD_SYSMOD_MAP ?= ++endif ++if1of ($(KBUILD_HOST), solaris) ++ TOOL_GCC2_OBJCOPY ?= gobjcopy$(HOSTSUFF_EXE) ++else ++ TOOL_GCC2_OBJCOPY ?= objcopy$(HOSTSUFF_EXE) ++endif ++ ++ifdef SLKRUNS ++ TOOL_GCC2_CC += -fmessage-length=0 ++ TOOL_GCC2_CXX += -fmessage-length=0 ++endif ++ ++# General Properties used by kBuild ++TOOL_GCC2_COBJSUFF ?= .o ++TOOL_GCC2_CFLAGS ?= ++TOOL_GCC2_CFLAGS.debug ?= -g ++TOOL_GCC2_CFLAGS.profile ?= -O2 #-g -pg ++TOOL_GCC2_CFLAGS.release ?= -O2 ++TOOL_GCC2_CINCS ?= ++TOOL_GCC2_CDEFS ?= ++ ++TOOL_GCC2_CXXOBJSUFF ?= .o ++TOOL_GCC2_CXXOBJSUFF ?= .o ++TOOL_GCC2_CXXFLAGS ?= ++TOOL_GCC2_CXXFLAGS.debug ?= -g ++TOOL_GCC2_CXXFLAGS.profile ?= -O2 #-g -pg ++TOOL_GCC2_CXXFLAGS.release ?= -O2 ++TOOL_GCC2_CXXINCS ?= ++TOOL_GCC2_CXXDEFS ?= ++ ++TOOL_GCC2_ASFLAGS ?= -x assembler-with-cpp ++TOOL_GCC2_ASFLAGS.debug ?= -g ++TOOL_GCC2_ASFLAGS.profile ?= -g ++TOOL_GCC2_ASOBJSUFF ?= .o ++ ++TOOL_GCC2_ARFLAGS ?= cr ++TOOL_GCC2_ARLIBSUFF ?= .a ++ ++TOOL_GCC2_LDFLAGS ?= ++TOOL_GCC2_LDFLAGS.debug ?= -g ++TOOL_GCC2_LDFLAGS.profile ?= -g ++ ++ ++## Compile C source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GCC2_COMPILE_C_DEPEND = ++TOOL_GCC2_COMPILE_C_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GCC2_COMPILE_C_USES_KOBJCACHE = 1 ++TOOL_GCC2_COMPILE_C_OUTPUT = $(outbase).i ++define TOOL_GCC2_COMPILE_C_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).i\ ++ $(TOOL_GCC2_CC) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GCC2_CC) -c\ ++ $(flags) -fpreprocessed -x c\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GCC2_COMPILE_C_OUTPUT = ++define TOOL_GCC2_COMPILE_C_CMDS ++ $(QUIET)$(TOOL_GCC2_CC) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile C++ source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GCC2_COMPILE_CXX_DEPEND = ++TOOL_GCC2_COMPILE_CXX_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GCC2_COMPILE_CXX_USES_KOBJCACHE = 1 ++TOOL_GCC2_COMPILE_CXX_OUTPUT = $(outbase).ii ++define TOOL_GCC2_COMPILE_CXX_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).ii\ ++ $(TOOL_GCC2_CXX) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GCC2_CXX) -c\ ++ $(flags) -fpreprocessed -x c++\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GCC2_COMPILE_CXX_OUTPUT = ++define TOOL_GCC2_COMPILE_CXX_CMDS ++ $(QUIET)$(TOOL_GCC2_CXX) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile Assembly source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++# ++TOOL_GCC2_COMPILE_AS_OUTPUT = ++TOOL_GCC2_COMPILE_AS_DEPEND = ++TOOL_GCC2_COMPILE_AS_DEPORD = ++define TOOL_GCC2_COMPILE_AS_CMDS ++ $(QUIET)$(TOOL_GCC2_AS) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++ ++ ++## Link library ++# @param $(target) Normalized main target name. ++# @param $(out) Library name. ++# @param $(objs) Object files to put in the library. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2_LINK_LIBRARY_OUTPUT = $(out).ar-script ++TOOL_GCC2_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).imp.a ++TOOL_GCC2_LINK_LIBRARY_DEPEND = $(othersrc) ++TOOL_GCC2_LINK_LIBRARY_DEPORD = ++define TOOL_GCC2_LINK_LIBRARY_CMDS ++ $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)' ++ $(QUIET)$(APPEND) -n $(out).ar-script \ ++ $(foreach o,$(objs), 'ADDMOD $(o)') \ ++ $(foreach o,$(filter-out %.def %.imp,$(othersrc)), 'ADDLIB $(o)') ++ $(if $(filter %.def %.imp,$(othersrc))\ ++ ,$(TOOL_GCC2_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\ ++ $(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script 'ADDLIB $(outbase).imp.a') ++ $(QUIET)$(APPEND) $(out).ar-script 'SAVE' ++ $(QUIET)$(APPEND) $(out).ar-script 'END' ++ $(QUIET)$(REDIRECT) -rti $(out).ar-script -- $(TOOL_GCC2_AR) -M ++endef ++ ++ ++## Link program ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2_LINK_PROGRAM_OUTPUT = ++TOOL_GCC2_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GCC2_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GCC2_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2_LINK_PROGRAM_DEPORD = ++define TOOL_GCC2_LINK_PROGRAM_CMDS ++ $(QUIET)$(TOOL_GCC2_LD) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GCC2_LD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GCC2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GCC2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ ++ ++## Link DLL ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2_LINK_DLL_OUTPUT = ++TOOL_GCC2_LINK_DLL_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2_LINK_DLL_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GCC2_LINK_DLL_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GCC2_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2_LINK_DLL_DEPORD = ++define TOOL_GCC2_LINK_DLL_CMDS ++ $(QUIET)$(TOOL_GCC2_LD) $(TOOL_GCC2_LDFLAGS.dll) $(flags) -o $(out)\ ++ $(if $(filter-out win os2, $(KBUILD_TARGET)),$(call TOOL_GCC2_LD_SONAME,$(target),$(out)))\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GCC2_LD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GCC2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GCC2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ ++ ++## Link system module (windows aka driver, linux aka kernel module) ++# @param $(target) Normalized main target name. ++# @param $(out) System module name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2_LINK_SYSMOD_OUTPUT = ++TOOL_GCC2_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GCC2_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GCC2_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2_LINK_SYSMOD_DEPORD = ++define TOOL_GCC2_LINK_SYSMOD_CMDS ++ $(QUIET)$(TOOL_GCC2_LD_SYSMOD) $(TOOL_GCC2_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GCC2_LD_SYSMOD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GCC2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GCC2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ +--- /dev/null 2014-07-01 06:17:57.378104000 +0200 ++++ trunk/kBuild/tools/GCC2PLAIN.kmk 2014-01-13 18:20:48.054001664 +0100 +@@ -0,0 +1,320 @@ ++# $Id: GCC2PLAIN.kmk 2545 2011-09-13 19:09:05Z bird $ ++## @file ++# kBuild Tool Config - Generic GCC v2.95.x or later Using The System GCC, any Unix Linker and Unix Archiver. ++# ++ ++# ++# Copyright (c) 2004-2010 knut st. osmundsen ++# ++# This file is part of kBuild. ++# ++# kBuild is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# kBuild is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with kBuild; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++# ++# ++# As a special exception you are granted permission to include this file, via ++# the kmk include directive, as you wish without this in itself causing the ++# resulting makefile, program or whatever to be covered by the GPL license. ++# This exception does not however invalidate any other reasons why the makefile, ++# program, whatever should not be covered the GPL. ++# ++# ++ ++TOOL_GCC2PLAIN := Generic GCC v2.95.x or later Using The System GCC, any Unix Linker and Unix Archiver. ++ ++# Tool Specific Properties ++TOOL_GCC2PLAIN_CC ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_CXX ?= g++$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_AS ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_AR ?= ar$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_LD ?= gcc$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_LD_SYSMOD.os2 ?= g++$(HOSTSUFF_EXE) ++TOOL_GCC2PLAIN_LDFLAGS.dll.os2 ?= -Zdll ++TOOL_GCC2PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib ++ifndef TOOL_GCC2PLAIN_LDFLAGS.$(KBUILD_TARGET) ++ TOOL_GCC2PLAIN_LDFLAGS.dll ?= -shared ++else ++ TOOL_GCC2PLAIN_LDFLAGS.dll ?= $(TOOL_GCC2PLAIN_LDFLAGS.$(KBUILD_TARGET)) ++endif ++TOOL_GCC2PLAIN_LD_SONAME.darwin ?= $(NO_SUCH_VARIABLE) ++TOOL_GCC2PLAIN_LD_SONAME.os2 ?= $(NO_SUCH_VARIABLE) ++TOOL_GCC2PLAIN_LD_SONAME.solaris ?= -Wl,-h,$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++TOOL_GCC2PLAIN_LD_SONAME.win ?= $(NO_SUCH_VARIABLE) ++ifndef TOOL_GCC2PLAIN_LD_SONAME.$(KBUILD_TARGET) ++ TOOL_GCC2PLAIN_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++else ++ TOOL_GCC2PLAIN_LD_SONAME ?= $(TOOL_GCC2PLAIN_LD_SONAME.$(KBUILD_TARGET)) ++endif ++ifdef SLKRUNS ++ TOOL_GCC2PLAIN_CC += -fmessage-length=0 ++ TOOL_GCC2PLAIN_CXX += -fmessage-length=0 ++endif ++ ++# General Properties used by kBuild ++TOOL_GCC2PLAIN_COBJSUFF ?= .o ++TOOL_GCC2PLAIN_CFLAGS ?= ++TOOL_GCC2PLAIN_CFLAGS.debug ?= -g ++TOOL_GCC2PLAIN_CFLAGS.profile ?= -O2 #-g -pg ++TOOL_GCC2PLAIN_CFLAGS.release ?= -O2 ++TOOL_GCC2PLAIN_CINCS ?= ++TOOL_GCC2PLAIN_CDEFS ?= ++ ++TOOL_GCC2PLAIN_CXXOBJSUFF ?= .o ++TOOL_GCC2PLAIN_CXXOBJSUFF ?= .o ++TOOL_GCC2PLAIN_CXXFLAGS ?= ++TOOL_GCC2PLAIN_CXXFLAGS.debug ?= -g ++TOOL_GCC2PLAIN_CXXFLAGS.profile ?= -O2 #-g -pg ++TOOL_GCC2PLAIN_CXXFLAGS.release ?= -O2 ++TOOL_GCC2PLAIN_CXXINCS ?= ++TOOL_GCC2PLAIN_CXXDEFS ?= ++ ++TOOL_GCC2PLAIN_ASFLAGS ?= -x assembler-with-cpp ++TOOL_GCC2PLAIN_ASFLAGS.debug ?= -g ++TOOL_GCC2PLAIN_ASFLAGS.profile ?= -g ++TOOL_GCC2PLAIN_ASOBJSUFF ?= .o ++ ++TOOL_GCC2PLAIN_ARFLAGS ?= cr ++TOOL_GCC2PLAIN_ARLIBSUFF ?= .a ++ ++TOOL_GCC2PLAIN_LDFLAGS ?= ++ ++ ++## Compile C source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GCC2PLAIN_COMPILE_C_DEPEND = ++TOOL_GCC2PLAIN_COMPILE_C_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GCC2PLAIN_COMPILE_C_USES_KOBJCACHE = 1 ++TOOL_GCC2PLAIN_COMPILE_C_OUTPUT = $(outbase).i ++define TOOL_GCC2PLAIN_COMPILE_C_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).i\ ++ $(TOOL_GCC2PLAIN_CC) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GCC2PLAIN_CC) -c\ ++ $(flags) -fpreprocessed -x c\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GCC2PLAIN_COMPILE_C_OUTPUT = ++define TOOL_GCC2PLAIN_COMPILE_C_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_CC) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile C++ source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GCC2PLAIN_COMPILE_CXX_DEPEND = ++TOOL_GCC2PLAIN_COMPILE_CXX_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GCC2PLAIN_COMPILE_CXX_USES_KOBJCACHE = 1 ++TOOL_GCC2PLAIN_COMPILE_CXX_OUTPUT = $(outbase).ii ++define TOOL_GCC2PLAIN_COMPILE_CXX_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).ii\ ++ $(TOOL_GCC2PLAIN_CXX) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GCC2PLAIN_CXX) -c\ ++ $(flags) -fpreprocessed -x c++\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GCC2PLAIN_COMPILE_CXX_OUTPUT = ++define TOOL_GCC2PLAIN_COMPILE_CXX_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_CXX) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile Assembly source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++# ++TOOL_GCC2PLAIN_COMPILE_AS_OUTPUT = ++TOOL_GCC2PLAIN_COMPILE_AS_DEPEND = ++TOOL_GCC2PLAIN_COMPILE_AS_DEPORD = ++define TOOL_GCC2PLAIN_COMPILE_AS_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_AS) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++ ++ ++## Link library ++# @param $(target) Normalized main target name. ++# @param $(out) Library name. ++# @param $(objs) Object files to put in the library. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2PLAIN_LINK_LIBRARY_OUTPUT = ++TOOL_GCC2PLAIN_LINK_LIBRARY_DEPEND = $(othersrc) ++TOOL_GCC2PLAIN_LINK_LIBRARY_DEPORD = ++define TOOL_GCC2PLAIN_LINK_LIBRARY_CMDS ++ $(call xargs,$(QUIET)$(TOOL_GCC2PLAIN_AR) $(flags) $(out),$(objs)) ++ $(foreach lib,$(othersrc)\ ++ ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \ ++ $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))ar.tmp.dir/* \ ++ $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \ ++ $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \ ++ && $(TOOL_GCC2PLAIN_AR) x $(abspath $(lib)) \ ++ && $(TOOL_GCC2PLAIN_AR) $(flags) $(out) *) \ ++ $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \ ++ $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/) ++ $(QUIET)$(TOOL_GCC2PLAIN_RANLIB) $(out) ++endef ++ ++ ++## Link program ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2PLAIN_LINK_PROGRAM_OUTPUT = ++TOOL_GCC2PLAIN_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2PLAIN_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2PLAIN_LINK_PROGRAM_DEPORD = ++define TOOL_GCC2PLAIN_LINK_PROGRAM_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_LD) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ ++ ++## Link DLL ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2PLAIN_LINK_DLL_OUTPUT = ++TOOL_GCC2PLAIN_LINK_DLL_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2PLAIN_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2PLAIN_LINK_DLL_DEPORD = ++define TOOL_GCC2PLAIN_LINK_DLL_CMDS ++ $(QUIET)$(TOOL_GCC2PLAIN_LD) $(TOOL_GCC2PLAIN_LDFLAGS.dll) $(flags) -o $(out)\ ++ $(if $(filter-out win32 os2, $(KBUILD_TARGET)),$(call TOOL_GCC2PLAIN_LD_SONAME,$(target),$(out)))\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ ++ ++## Link system module (windows aka driver, linux aka kernel module) ++# This tool target might not work everywhere, but is provided for the ++# platforms where it works (Solaris, etc). ++# ++# @param $(target) Normalized main target name. ++# @param $(out) System module name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GCC2PLAIN_LINK_SYSMOD_OUTPUT = ++TOOL_GCC2PLAIN_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map ++TOOL_GCC2PLAIN_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GCC2PLAIN_LINK_SYSMOD_DEPORD = ++define TOOL_GCC2PLAIN_LINK_SYSMOD_CMDS ++ $(QUIET)$(if $(TOOL_GCC2PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GCC2PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GCC2PLAIN_LD_SYSMOD))\ ++ $(TOOL_GCC2PLAIN_LDFLAGS_SYSMOD.$(bld_trg)) $(flags) -o $(out)\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ +--- /dev/null 2014-07-01 06:17:57.378104000 +0200 ++++ trunk/kBuild/tools/GXX2.kmk 2014-01-13 18:20:37.267911168 +0100 +@@ -0,0 +1,352 @@ ++# $Id: GXX2.kmk 2541 2011-08-03 09:51:30Z bird $ ++## @file ++# kBuild Tool Config - Generic GCC v2.95.x using the system GCC and Binutils, for building C++ code. ++# ++ ++# ++# Copyright (c) 2004-2010 knut st. osmundsen ++# ++# This file is part of kBuild. ++# ++# kBuild is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# kBuild is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with kBuild; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++# ++# ++# As a special exception you are granted permission to include this file, via ++# the kmk include directive, as you wish without this in itself causing the ++# resulting makefile, program or whatever to be covered by the GPL license. ++# This exception does not however invalidate any other reasons why the makefile, ++# program, whatever should not be covered the GPL. ++# ++# ++ ++TOOL_GXX2 := Generic GCC v2.95.x or later using the system GCC and Binutils, for building C++ code. ++ ++# Tool Specific Properties ++TOOL_GXX2_CC ?= gcc$(HOSTSUFF_EXE) ++TOOL_GXX2_CXX ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2_AS ?= gcc$(HOSTSUFF_EXE) ++ifeq ($(KBUILD_TARGET),solaris) ++ TOOL_GXX2_AR ?= gar$(HOSTSUFF_EXE) ++else ++ TOOL_GXX2_AR ?= ar$(HOSTSUFF_EXE) ++endif ++ifeq ($(KBUILD_TARGET),os2) ++ TOOL_GXX2_AR_IMP ?= emximp$(HOSTSTUFF_EXE) ++else ++ TOOL_GXX2_AR_IMP ?= $(ECHO) not supported! ++endif ++TOOL_GXX2_LD ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) ++ifndef TOOL_GXX2_LDFLAGS.$(KBUILD_TARGET) ++ TOOL_GXX2_LDFLAGS.dll ?= -shared ++else ++ TOOL_GXX2_LDFLAGS.dll ?= $(TOOL_GXX2_LDFLAGS.$(KBUILD_TARGET)) ++endif ++TOOL_GXX2_LDFLAGS.sysmod ?= -r ++TOOL_GXX2_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++ifeq ($(KBUILD_TARGET),os2) ++ TOOL_GXX2_LD_MAP ?= -Zmap=$(1) ++ TOOL_GXX2_LD_SYSMOD_MAP ?= -Zmap=$(1) ++else ++ TOOL_GXX2_LD_MAP ?= ++ TOOL_GXX2_LD_SYSMOD_MAP ?= ++endif ++if1of ($(KBUILD_HOST), solaris) ++ TOOL_GXX2_OBJCOPY ?= gobjcopy$(HOSTSUFF_EXE) ++else ++ TOOL_GXX2_OBJCOPY ?= objcopy$(HOSTSUFF_EXE) ++endif ++ ++ifdef SLKRUNS ++ TOOL_GXX2_CC += -fmessage-length=0 ++ TOOL_GXX2_CXX += -fmessage-length=0 ++endif ++ ++# General Properties used by kBuild ++TOOL_GXX2_COBJSUFF ?= .o ++TOOL_GXX2_CFLAGS ?= ++TOOL_GXX2_CFLAGS.debug ?= -g ++TOOL_GXX2_CFLAGS.profile ?= -O2 #-g -pg ++TOOL_GXX2_CFLAGS.release ?= -O2 ++TOOL_GXX2_CINCS ?= ++TOOL_GXX2_CDEFS ?= ++ ++TOOL_GXX2_CXXOBJSUFF ?= .o ++TOOL_GXX2_CXXOBJSUFF ?= .o ++TOOL_GXX2_CXXFLAGS ?= ++TOOL_GXX2_CXXFLAGS.debug ?= -g ++TOOL_GXX2_CXXFLAGS.profile ?= -O2 #-g -pg ++TOOL_GXX2_CXXFLAGS.release ?= -O2 ++TOOL_GXX2_CXXINCS ?= ++TOOL_GXX2_CXXDEFS ?= ++ ++TOOL_GXX2_ASFLAGS ?= -x assembler-with-cpp ++TOOL_GXX2_ASFLAGS.debug ?= -g ++TOOL_GXX2_ASFLAGS.profile ?= -g ++TOOL_GXX2_ASOBJSUFF ?= .o ++ ++TOOL_GXX2_ARFLAGS ?= cr ++TOOL_GXX2_ARLIBSUFF ?= .a ++ ++TOOL_GXX2_LDFLAGS ?= ++TOOL_GXX2_LDFLAGS.debug ?= -g ++TOOL_GXX2_LDFLAGS.profile ?= -g ++ ++ ++## Compile C source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GXX2_COMPILE_C_DEPEND = ++TOOL_GXX2_COMPILE_C_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GXX2_COMPILE_C_USES_KOBJCACHE = 1 ++TOOL_GXX2_COMPILE_C_OUTPUT = $(outbase).i ++define TOOL_GXX2_COMPILE_C_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).i\ ++ $(TOOL_GXX2_CC) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GXX2_CC) -c\ ++ $(flags) -fpreprocessed -x c\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GXX2_COMPILE_C_OUTPUT = ++define TOOL_GXX2_COMPILE_C_CMDS ++ $(QUIET)$(TOOL_GXX2_CC) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile C++ source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GXX2_COMPILE_CXX_DEPEND = ++TOOL_GXX2_COMPILE_CXX_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GXX2_COMPILE_CXX_USES_KOBJCACHE = 1 ++TOOL_GXX2_COMPILE_CXX_OUTPUT = $(outbase).ii ++define TOOL_GXX2_COMPILE_CXX_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).ii\ ++ $(TOOL_GXX2_CXX) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GXX2_CXX) -c\ ++ $(flags) -fpreprocessed -x c++\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GXX2_COMPILE_CXX_OUTPUT = ++define TOOL_GXX2_COMPILE_CXX_CMDS ++ $(QUIET)$(TOOL_GXX2_CXX) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile Assembly source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++# ++TOOL_GXX2_COMPILE_AS_OUTPUT = ++TOOL_GXX2_COMPILE_AS_DEPEND = ++TOOL_GXX2_COMPILE_AS_DEPORD = ++define TOOL_GXX2_COMPILE_AS_CMDS ++ $(QUIET)$(TOOL_GXX2_AS) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++ ++ ++## Link library ++# @param $(target) Normalized main target name. ++# @param $(out) Library name. ++# @param $(objs) Object files to put in the library. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2_LINK_LIBRARY_OUTPUT = $(out).ar-script ++TOOL_GXX2_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).imp.a ++TOOL_GXX2_LINK_LIBRARY_DEPEND = $(othersrc) ++TOOL_GXX2_LINK_LIBRARY_DEPORD = ++define TOOL_GXX2_LINK_LIBRARY_CMDS ++ $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)' ++ $(QUIET)$(APPEND) -n $(out).ar-script \ ++ $(foreach o,$(objs), 'ADDMOD $(o)') \ ++ $(foreach o,$(filter-out %.def %.imp,$(othersrc)), 'ADDLIB $(o)') ++ $(if $(filter %.def %.imp,$(othersrc))\ ++ ,$(TOOL_GXX2_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\ ++ $(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script 'ADDLIB $(outbase).imp.a') ++ $(QUIET)$(APPEND) $(out).ar-script 'SAVE' ++ $(QUIET)$(APPEND) $(out).ar-script 'END' ++ $(QUIET)$(REDIRECT) -rti $(out).ar-script -- $(TOOL_GXX2_AR) -M ++endef ++ ++ ++## Link program ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2_LINK_PROGRAM_OUTPUT = ++TOOL_GXX2_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GXX2_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GXX2_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2_LINK_PROGRAM_DEPORD = ++define TOOL_GXX2_LINK_PROGRAM_CMDS ++ $(QUIET)$(TOOL_GXX2_LD) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GXX2_LD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GXX2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GXX2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ ++ ++## Link DLL ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2_LINK_DLL_OUTPUT = ++TOOL_GXX2_LINK_DLL_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2_LINK_DLL_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GXX2_LINK_DLL_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GXX2_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2_LINK_DLL_DEPORD = ++define TOOL_GXX2_LINK_DLL_CMDS ++ $(QUIET)$(TOOL_GXX2_LD) $(TOOL_GXX2_LDFLAGS.dll) $(flags) -o $(out)\ ++ $(if $(filter-out win os2, $(KBUILD_TARGET)),$(call TOOL_GXX2_LD_SONAME,$(target),$(out)))\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GXX2_LD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GXX2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GXX2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ ++ ++## Link system module (windows aka driver, linux aka kernel module) ++# @param $(target) Normalized main target name. ++# @param $(out) System module name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2_LINK_SYSMOD_OUTPUT = ++TOOL_GXX2_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).debug ++TOOL_GXX2_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).debug=>$(basename $(3)).debug ++TOOL_GXX2_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2_LINK_SYSMOD_DEPORD = ++define TOOL_GXX2_LINK_SYSMOD_CMDS ++ $(QUIET)$(TOOL_GXX2_LD_SYSMOD) $(TOOL_GXX2_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))\ ++ $(call TOOL_GXX2_LD_SYSMOD_MAP,$(outbase).map) ++ ifeq ($(ld_debug),split) ++ $(TOOL_GXX2_OBJCOPY) --only-keep-debug $(out) $(outbase).debug ++ $(CHMOD) a-x $(outbase).debug ++ $(TOOL_GXX2_OBJCOPY) --strip-debug --strip-unneeded --add-gnu-debuglink=$(outbase).debug $(out) ++ endif ++endef ++ +--- /dev/null 2014-07-01 06:17:57.378104000 +0200 ++++ trunk/kBuild/tools/GXX2PLAIN.kmk 2014-01-13 18:20:43.542113792 +0100 +@@ -0,0 +1,320 @@ ++# $Id: GXX2PLAIN.kmk 2545 2011-09-13 19:09:05Z bird $ ++## @file ++# kBuild Tool Config - Generic GCC v2.95.x or later using the system GCC, any Unix linker and Unix archiver to build C++ code. ++# ++ ++# ++# Copyright (c) 2004-2010 knut st. osmundsen ++# ++# This file is part of kBuild. ++# ++# kBuild is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# kBuild is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with kBuild; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++# ++# ++# As a special exception you are granted permission to include this file, via ++# the kmk include directive, as you wish without this in itself causing the ++# resulting makefile, program or whatever to be covered by the GPL license. ++# This exception does not however invalidate any other reasons why the makefile, ++# program, whatever should not be covered the GPL. ++# ++# ++ ++TOOL_GXX2PLAIN := Generic GCC v2.95.x or later using the system GCC, any Unix linker and Unix archiver to build C++ code. ++ ++# Tool Specific Properties ++TOOL_GXX2PLAIN_CC ?= gcc$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_CXX ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_AS ?= gcc$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_AR ?= ar$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_LD ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_LD_SYSMOD.os2 ?= g++$(HOSTSUFF_EXE) ++TOOL_GXX2PLAIN_LDFLAGS.dll.os2 ?= -Zdll ++TOOL_GXX2PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib ++ifndef TOOL_GXX2PLAIN_LDFLAGS.$(KBUILD_TARGET) ++ TOOL_GXX2PLAIN_LDFLAGS.dll ?= -shared ++else ++ TOOL_GXX2PLAIN_LDFLAGS.dll ?= $(TOOL_GXX2PLAIN_LDFLAGS.$(KBUILD_TARGET)) ++endif ++TOOL_GXX2PLAIN_LD_SONAME.darwin ?= $(NO_SUCH_VARIABLE) ++TOOL_GXX2PLAIN_LD_SONAME.os2 ?= $(NO_SUCH_VARIABLE) ++TOOL_GXX2PLAIN_LD_SONAME.solaris ?= -Wl,-h,$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++TOOL_GXX2PLAIN_LD_SONAME.win ?= $(NO_SUCH_VARIABLE) ++ifndef TOOL_GXX2PLAIN_LD_SONAME.$(KBUILD_TARGET) ++ TOOL_GXX2PLAIN_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) ++else ++ TOOL_GXX2PLAIN_LD_SONAME ?= $(TOOL_GXX2PLAIN_LD_SONAME.$(KBUILD_TARGET)) ++endif ++ifdef SLKRUNS ++ TOOL_GXX2PLAIN_CC += -fmessage-length=0 ++ TOOL_GXX2PLAIN_CXX += -fmessage-length=0 ++endif ++ ++# General Properties used by kBuild ++TOOL_GXX2PLAIN_COBJSUFF ?= .o ++TOOL_GXX2PLAIN_CFLAGS ?= ++TOOL_GXX2PLAIN_CFLAGS.debug ?= -g ++TOOL_GXX2PLAIN_CFLAGS.profile ?= -O2 #-g -pg ++TOOL_GXX2PLAIN_CFLAGS.release ?= -O2 ++TOOL_GXX2PLAIN_CINCS ?= ++TOOL_GXX2PLAIN_CDEFS ?= ++ ++TOOL_GXX2PLAIN_CXXOBJSUFF ?= .o ++TOOL_GXX2PLAIN_CXXOBJSUFF ?= .o ++TOOL_GXX2PLAIN_CXXFLAGS ?= ++TOOL_GXX2PLAIN_CXXFLAGS.debug ?= -g ++TOOL_GXX2PLAIN_CXXFLAGS.profile ?= -O2 #-g -pg ++TOOL_GXX2PLAIN_CXXFLAGS.release ?= -O2 ++TOOL_GXX2PLAIN_CXXINCS ?= ++TOOL_GXX2PLAIN_CXXDEFS ?= ++ ++TOOL_GXX2PLAIN_ASFLAGS ?= -x assembler-with-cpp ++TOOL_GXX2PLAIN_ASFLAGS.debug ?= -g ++TOOL_GXX2PLAIN_ASFLAGS.profile ?= -g ++TOOL_GXX2PLAIN_ASOBJSUFF ?= .o ++ ++TOOL_GXX2PLAIN_ARFLAGS ?= cr ++TOOL_GXX2PLAIN_ARLIBSUFF ?= .a ++ ++TOOL_GXX2PLAIN_LDFLAGS ?= ++ ++ ++## Compile C source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GXX2PLAIN_COMPILE_C_DEPEND = ++TOOL_GXX2PLAIN_COMPILE_C_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GXX2PLAIN_COMPILE_C_USES_KOBJCACHE = 1 ++TOOL_GXX2PLAIN_COMPILE_C_OUTPUT = $(outbase).i ++define TOOL_GXX2PLAIN_COMPILE_C_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).i\ ++ $(TOOL_GXX2PLAIN_CC) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GXX2PLAIN_CC) -c\ ++ $(flags) -fpreprocessed -x c\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GXX2PLAIN_COMPILE_C_OUTPUT = ++define TOOL_GXX2PLAIN_COMPILE_C_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_CC) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile C++ source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++TOOL_GXX2PLAIN_COMPILE_CXX_DEPEND = ++TOOL_GXX2PLAIN_COMPILE_CXX_DEPORD = ++ifdef KBUILD_USE_KOBJCACHE ++TOOL_GXX2PLAIN_COMPILE_CXX_USES_KOBJCACHE = 1 ++TOOL_GXX2PLAIN_COMPILE_CXX_OUTPUT = $(outbase).ii ++define TOOL_GXX2PLAIN_COMPILE_CXX_CMDS ++ $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\ ++ --kObjCache-cpp $(outbase).ii\ ++ $(TOOL_GXX2PLAIN_CXX) -E -o -\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ $(abspath $(source))\ ++ --kObjCache-cc $(obj)\ ++ $(TOOL_GXX2PLAIN_CXX) -c\ ++ $(flags) -fpreprocessed -x c++\ ++ -o $(obj)\ ++ - ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++else # !KBUILD_USE_KOBJCACHE ++TOOL_GXX2PLAIN_COMPILE_CXX_OUTPUT = ++define TOOL_GXX2PLAIN_COMPILE_CXX_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_CXX) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++endif # !KBUILD_USE_KOBJCACHE ++ ++ ++## Compile Assembly source. ++# @param $(target) Normalized main target name. ++# @param $(source) Source filename (relative). ++# @param $(obj) Object file name. This shall be (re)created by the compilation. ++# @param $(dep) Dependcy file. This shall be (re)created by the compilation. ++# @param $(flags) Flags. ++# @param $(defs) Definitions. No -D or something. ++# @param $(incs) Includes. No -I or something. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++# @param $(objsuff) Object suffix. ++# ++TOOL_GXX2PLAIN_COMPILE_AS_OUTPUT = ++TOOL_GXX2PLAIN_COMPILE_AS_DEPEND = ++TOOL_GXX2PLAIN_COMPILE_AS_DEPORD = ++define TOOL_GXX2PLAIN_COMPILE_AS_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_AS) -c\ ++ $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ ++ -Wp,-MD,$(dep)\ ++ -o $(obj)\ ++ $(abspath $(source)) ++ $(QUIET)$(APPEND) -n "$(dep)" "" "$(source):" "" ++endef ++ ++ ++## Link library ++# @param $(target) Normalized main target name. ++# @param $(out) Library name. ++# @param $(objs) Object files to put in the library. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2PLAIN_LINK_LIBRARY_OUTPUT = ++TOOL_GXX2PLAIN_LINK_LIBRARY_DEPEND = $(othersrc) ++TOOL_GXX2PLAIN_LINK_LIBRARY_DEPORD = ++define TOOL_GXX2PLAIN_LINK_LIBRARY_CMDS ++ $(call xargs,$(QUIET)$(TOOL_GXX2PLAIN_AR) $(flags) $(out),$(objs)) ++ $(foreach lib,$(othersrc)\ ++ ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \ ++ $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))ar.tmp.dir/* \ ++ $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \ ++ $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \ ++ && $(TOOL_GXX2PLAIN_AR) x $(abspath $(lib)) \ ++ && $(TOOL_GXX2PLAIN_AR) $(flags) $(out) *) \ ++ $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \ ++ $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/) ++ $(QUIET)$(TOOL_GXX2PLAIN_RANLIB) $(out) ++endef ++ ++ ++## Link program ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2PLAIN_LINK_PROGRAM_OUTPUT = ++TOOL_GXX2PLAIN_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2PLAIN_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2PLAIN_LINK_PROGRAM_DEPORD = ++define TOOL_GXX2PLAIN_LINK_PROGRAM_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_LD) $(flags) -o $(out) $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ ++ ++## Link DLL ++# @param $(target) Normalized main target name. ++# @param $(out) Program name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2PLAIN_LINK_DLL_OUTPUT = ++TOOL_GXX2PLAIN_LINK_DLL_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2PLAIN_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2PLAIN_LINK_DLL_DEPORD = ++define TOOL_GXX2PLAIN_LINK_DLL_CMDS ++ $(QUIET)$(TOOL_GXX2PLAIN_LD) $(TOOL_GXX2PLAIN_LDFLAGS.dll) $(flags) -o $(out)\ ++ $(if $(filter-out win32 os2, $(KBUILD_TARGET)),$(call TOOL_GXX2PLAIN_LD_SONAME,$(target),$(out)))\ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ ++ ++## Link system module (windows aka driver, linux aka kernel module) ++# This tool target might not work everywhere, but is provided for the ++# platforms where it works (Solaris, etc). ++# ++# @param $(target) Normalized main target name. ++# @param $(out) System module name. ++# @param $(objs) Object files to link together. ++# @param $(libs) Libraries to search. ++# @param $(libpath) Library search paths. ++# @param $(flags) Flags. ++# @param $(dirdep) Directory creation dependency. ++# @param $(deps) Other dependencies. ++# @param $(othersrc) Unhandled sources. ++# @param $(custom_pre) Custom step invoked before linking. ++# @param $(custom_post) Custom step invoked after linking. ++# @param $(outbase) Output basename (full). Use this for list files and such. ++TOOL_GXX2PLAIN_LINK_SYSMOD_OUTPUT = ++TOOL_GXX2PLAIN_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map ++TOOL_GXX2PLAIN_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ ++ $(filter %.def, $(othersrc)) ++TOOL_GXX2PLAIN_LINK_SYSMOD_DEPORD = ++define TOOL_GXX2PLAIN_LINK_SYSMOD_CMDS ++ $(QUIET)$(if $(TOOL_GXX2PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GXX2PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GXX2PLAIN_LD_SYSMOD))\ ++ $(TOOL_GXX2PLAIN_LDFLAGS_SYSMOD.$(bld_trg)) $(flags) -o $(out) \ ++ $(objs)\ ++ $(filter %.def, $(othersrc))\ ++ $(foreach p,$(libpath), -L$(p))\ ++ $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib))) ++endef ++ diff --git a/app-emulation/virtualbox-guest-additions/virtualbox_guest_additions-4.3.53_svn.recipe b/app-emulation/virtualbox-guest-additions/virtualbox_guest_additions-4.3.53_svn.recipe new file mode 100644 index 000000000..e78aa103a --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox_guest_additions-4.3.53_svn.recipe @@ -0,0 +1,93 @@ +SUMMARY="VirtualBox kernel modules and user-space tools for Haiku guests" +DESCRIPTION=" +VirtualBox is a free x86 virtualization solution allowing a wide range \ +of x86 operating systems such as Windows, DOS, BSD or Linux to run on a \ +Linux system. + +This package contains the VirtualBox kernel modules and user-space \ +tools for Haiku guests. +" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="svn+http://www.virtualbox.org/svn/vbox/trunk#51740" +#CHECKSUM_SHA256="" +#TODO:check user manual for full list +COPYRIGHT="2003-2014 Oracle Corporation." +#TODO:check user manual for full list +LICENSE=" + GNU GPL v2 + CDDL v1 + " +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PROVIDES=" + virtualbox_guest_additions$secondaryArchSuffix = $portVersion + cmd:VBoxControl$secondaryArchSuffix = $portVersion + cmd:VBoxService$secondaryArchSuffix = $portVersion + cmd:VBoxTray$secondaryArchSuffix = $portVersion + " + +PATCHES="vbox-$portVersion.patch" + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + openssl$secondaryArchSuffix >= 1.0.0 + lib:libiconv$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libpng$secondaryArchSuffix +# lib:libstdc++$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix + " + +BUILD_REQUIRES=" + openssl${secondaryArchSuffix}_devel >= 1.0.0 + devel:libiconv$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libcurl$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + # required for kmk_* which are compiled with gcc4 + haiku_x86 >= $haikuVersion + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:mkisofs + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:sed + cmd:which + cmd:yasm + " + +BUILD() +{ + # use the checked-out kBuild for now + export PATH="$PATH:$PWD/kBuild/bin/haiku.x86" + export USER=user + ./configure --build-headless --disable-python --disable-java --nofatal + source env.sh + kmk VBOX_ONLY_ADDITIONS=1 VBOX_WITH_ADDITION_DRIVERS=1 BUILD_TYPE=strict all +} + +INSTALL() +{ + op="out/haiku.x86/strict" + ap=$op/bin/additions + + tad="$addOnsDir" + tbd="$binDir" + + mkdir -p "$tad/kernel/generic" + mkdir -p "$tad/kernel/drivers/bin" + cp $ap/vboxguest "$tad/kernel/generic/" + cp $ap/vboxdev "$tad/kernel/drivers/bin/" + mkdir -p "$tad/kernel/drivers/dev/misc" + ln -fs ../../bin/vboxdev "$tad/kernel/drivers/dev/misc/" + mkdir -p "$tad/kernel/file_systems" + #cp $ap/vboxsf "$tad/kernel/file_systems/" + + mkdir -p "$tbd" + cp $ap/VBoxControl "$tbd/" + cp $ap/VBoxService "$tbd/" + cp $ap/VBoxTray "$tbd/" +} diff --git a/app-text/docbook_xml_dtd/docbook_xml_dtd-4.3.recipe b/app-text/docbook_xml_dtd/docbook_xml_dtd-4.3.recipe index 96ce90472..1899845bd 100644 --- a/app-text/docbook_xml_dtd/docbook_xml_dtd-4.3.recipe +++ b/app-text/docbook_xml_dtd/docbook_xml_dtd-4.3.recipe @@ -45,9 +45,9 @@ INSTALL() cp -v -af docbook.cat *.dtd ent/ *.mod \ $dataDir/xml/docbook/xml-dtd-$portVersion - mkdir -p $settingsDir/etc/xml/catalog + mkdir -p $dataDir/xml/catalog - CATALOG=$settingsDir/etc/xml/docbook + CATALOG=$dataDir/xml/docbook-$portVersion xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "public" \ @@ -95,28 +95,24 @@ INSTALL() "file://$dataDir/xml/docbook/xml-dtd-$portVersion" \ $CATALOG - CATALOG=$settingsDir/etc/xml/catalog/docbook-xml-dtd + CATALOG=$dataDir/xml/catalog/docbook-xml-dtd xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//ENTITIES DocBook XML" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG } -GLOBAL_WRITABLE_FILES=" - settings/etc/xml/catalog/docbook-xml-dtd keep-old - settings/etc/xml/docbook keep-old -" diff --git a/app-text/docbook_xml_dtd/docbook_xml_dtd-4.5.recipe b/app-text/docbook_xml_dtd/docbook_xml_dtd-4.5.recipe index 0d891ee12..7871ce3de 100644 --- a/app-text/docbook_xml_dtd/docbook_xml_dtd-4.5.recipe +++ b/app-text/docbook_xml_dtd/docbook_xml_dtd-4.5.recipe @@ -45,9 +45,9 @@ INSTALL() cp -v -af docbook.cat *.dtd ent/ *.mod \ $dataDir/xml/docbook/xml-dtd-$portVersion - mkdir -p $settingsDir/etc/xml/catalog + mkdir -p $dataDir/xml/catalog - CATALOG=$settingsDir/etc/xml/docbook + CATALOG=$dataDir/xml/docbook-$portVersion xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "public" \ @@ -95,28 +95,24 @@ INSTALL() "file://$dataDir/xml/docbook/xml-dtd-$portVersion" \ $CATALOG - CATALOG=$settingsDir/etc/xml/catalog/docbook-xml-dtd + CATALOG=$dataDir/xml/catalog/docbook-xml-dtd xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//ENTITIES DocBook XML" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/" \ - "file://$settingsDir/etc/xml/docbook" \ + "file://$dataDir/xml/docbook-$portVersion" \ $CATALOG } -GLOBAL_WRITABLE_FILES=" - settings/etc/xml/catalog/docbook-xml-dtd keep-old - settings/etc/xml/docbook keep-old -" diff --git a/app-text/docbook_xsl_stylesheets/docbook_xsl_stylesheets-1.78.1.recipe b/app-text/docbook_xsl_stylesheets/docbook_xsl_stylesheets-1.78.1.recipe index 645406032..d8b23892c 100644 --- a/app-text/docbook_xsl_stylesheets/docbook_xsl_stylesheets-1.78.1.recipe +++ b/app-text/docbook_xsl_stylesheets/docbook_xsl_stylesheets-1.78.1.recipe @@ -45,9 +45,9 @@ INSTALL() ln -s VERSION $dataDir/xml/docbook/xsl-stylesheets-1.78.1/VERSION.xsl - mkdir -p $settingsDir/etc/xml/catalog + mkdir -p $dataDir/xml/catalog - CATALOG=$settingsDir/etc/xml/catalog/docbook-xsl + CATALOG=$dataDir/xml/catalog/docbook-xsl xmlcatalog --noout --create $CATALOG xmlcatalog --noout --add "rewriteSystem" \ @@ -71,4 +71,3 @@ INSTALL() $CATALOG } -GLOBAL_WRITABLE_FILES="settings/etc/xml/catalog/docbook-xsl keep-old" diff --git a/dev-embedded/dfu-programmer/dfu_programmer-0.6.2.recipe b/dev-embedded/dfu-programmer/dfu_programmer-0.6.2.recipe new file mode 100644 index 000000000..bc086d54d --- /dev/null +++ b/dev-embedded/dfu-programmer/dfu_programmer-0.6.2.recipe @@ -0,0 +1,71 @@ +SUMMARY="A Device Firmware Update based USB programmer for Atmel chips" +DESCRIPTION=" +dfu-programmer is an implementation of the Device Firmware Upgrade class +USB driver that enables firmware upgrades for various USB enabled (with the +correct bootloader) Atmel chips. This program was created because the +Atmel "FLIP" program for flashing devices does not support flashing via USB +on Linux, and because standard DFU loaders do not work for Atmel's chips. + +Check out the Atmel website for more information. They are kind enough to +provide generally correct specifications this implementation is based on. + +The project website is http://dfu-programmer.sourceforge.net and you can +use that to check for updates. +" +HOMEPAGE="http://dfu-programmer.sourceforge.net" +LICENSE=" + GNU GPL v2 +" +COPYRIGHT=" + Weston Schmidt +" +SRC_URI="http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.6.2/dfu-programmer-0.6.2.tar.gz" +SOURCE_DIR="dfu-programmer-0.6.2" +CHECKSUM_SHA256="0120966a424dd98124962055750e90cbd6c7b6b0fbf5b187bf435daa0a24af65" +REVISION="1" +ARCHITECTURES="x86 x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PATCHES="dfu-programmer-0.6.2.patch" + +PROVIDES=" + dfu_programmer = $portVersion + cmd:dfu_programmer$secondaryArchSuffix = $portVersion +" + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libusb_1.0$secondaryArchSuffix +" + +BUILD_REQUIRES=" + devel:libusb_1.0$secondaryArchSuffix +" + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:automake + cmd:autoconf + cmd:make + cmd:pkg_config +" + +BUILD() +{ + export PKG_CONFIG_LIBDIR=/system/develop/lib/x86/pkgconfig/ + sh ./bootstrap.sh + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} \ No newline at end of file diff --git a/dev-embedded/dfu-programmer/patches/dfu-programmer-0.6.2.patch b/dev-embedded/dfu-programmer/patches/dfu-programmer-0.6.2.patch new file mode 100644 index 000000000..937b5f23a --- /dev/null +++ b/dev-embedded/dfu-programmer/patches/dfu-programmer-0.6.2.patch @@ -0,0 +1,28 @@ +From 60be00ed00d8b6c33e8601d3fd2b1bce48c4f197 Mon Sep 17 00:00:00 2001 +From: Akshay Jaggi +Date: Wed, 25 Jun 2014 20:37:44 +0000 +Subject: [PATCH] Patch for Build + +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 58a54f2..a5c8f8a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5,9 +5,9 @@ AC_PREREQ(2.59) + #AC_INIT(dfu-programmer, VERSION, BUG-REPORT-ADDRESS) + AC_INIT([dfu-programmer],[0.6.2]) + AC_CONFIG_AUX_DIR(m4) +-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) ++AM_INIT_AUTOMAKE + AC_CONFIG_SRCDIR([src/atmel.c]) +-AM_CONFIG_HEADER([src/config.h]) ++AC_CONFIG_HEADERS([src/config.h]) + + AM_MAINTAINER_MODE + +-- +1.8.3.4 + diff --git a/dev-embedded/libftdi/libftdi-1.0.recipe b/dev-embedded/libftdi/libftdi-1.0.recipe index 957e1f92c..04d79a9c5 100644 --- a/dev-embedded/libftdi/libftdi-1.0.recipe +++ b/dev-embedded/libftdi/libftdi-1.0.recipe @@ -31,6 +31,7 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion lib:libconfuse$secondaryArchSuffix >= 2.5 + lib:libstdc++$secondaryArchSuffix libusb$secondaryArchSuffix >= 1.0 boost$secondaryArchSuffix " diff --git a/dev-lang/python/python-2.6.9.recipe b/dev-lang/python/python-2.6.9.recipe index 1501779ad..bc590b92c 100644 --- a/dev-lang/python/python-2.6.9.recipe +++ b/dev-lang/python/python-2.6.9.recipe @@ -11,9 +11,9 @@ OSI-approved open source license. HOMEPAGE="http://www.python.org" LICENSE="Python" COPYRIGHT="1990-2012, Python Software Foundation" -SRC_URI="https://www.python.org/ftp/python/2.6.9/Python-2.6.9.tar.xz" -CHECKSUM_SHA256="cae7bb995006ea5b703d9d28446f694894c441fe4bfb95d561c0ac908cd06e41" -REVISION="1" +SRC_URI="https://www.python.org/ftp/python/2.6.9/Python-2.6.9.tgz" +CHECKSUM_SHA256="7277b1285d8a82f374ef6ebaac85b003266f7939b3f2a24a3af52f9523ac94db" +REVISION="2" ARCHITECTURES="x86_gcc2 x86 x86_64" PATCHES="python-2.6.9.patchset" diff --git a/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch b/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch new file mode 100644 index 000000000..eb0cdbb51 --- /dev/null +++ b/dev-lang/ruby/patches/ruby-1.9.3-rc1.patch @@ -0,0 +1,135 @@ +From 4efb1f167e3f3f083f4f7ac92166f71ccf7a0b5b Mon Sep 17 00:00:00 2001 +From: Augustin Cavalier +Date: Wed, 2 Jul 2014 11:58:34 -0400 +Subject: [PATCH] Applying Chris's fixes and some of my own. + +--- + configure.in | 13 ++++++++++--- + elf.h | 42 ++++++++++++++++++++++++++++++++++++++++++ + ext/nkf/nkf-utf8/nkf.h | 5 +++++ + signal.c | 4 ++-- + 4 files changed, 59 insertions(+), 5 deletions(-) + create mode 100644 elf.h + +diff --git a/configure.in b/configure.in +index 73c87b7..f4f6a23 100644 +--- a/configure.in ++++ b/configure.in +@@ -2121,11 +2121,14 @@ if test "$with_dln_a_out" != yes; then + [haiku*], [ AS_CASE(["$target_cpu"], + [powerpc*], [ + : ${LDSHARED="ld -xms"} +- DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o' ++ DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lroot glue-noinit.a init_term_dyn.o start_dyn.o' + ], + [i586*], [ +- : ${LDSHARED="ld -shared"} +- DLDFLAGS="$DLDFLAGS -L/boot/develop/lib/x86 -lbe -lroot" ++ : ${LDSHARED="${CC} -shared"} ++ if test "$rb_cv_binary_elf" = yes; then ++ LDFLAGS="$LDFLAGS -Wl,-export-dynamic" ++ fi ++ DLDFLAGS="$DLDFLAGS -L/boot/system/develop/lib -lroot -L/boot/home/config/develop/lib" + ]) + : ${LIBPATHENV=LIBRARY_PATH} + rb_cv_dlopen=yes ], +@@ -2401,6 +2404,10 @@ AS_CASE("$enable_shared", [yes], [ + LIBRUBY_DLDFLAGS='-f ruby.exp -lnet -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o' + ]) + ], ++ [haiku*], [ ++ LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)' ++ LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so' ++ ], + [darwin*], [ + RUBY_SO_NAME="$RUBY_SO_NAME"'.$(MAJOR).$(MINOR).$(TEENY)' + LIBRUBY_LDSHARED='$(CC) -dynamiclib' +diff --git a/elf.h b/elf.h +new file mode 100644 +index 0000000..2300dde +--- /dev/null ++++ b/elf.h +@@ -0,0 +1,42 @@ ++/* ++ * ++ * /boot/common/include/elf.h ++ * ++ * -I/system/develop/headers/private/system ++ * -I/system/develop/headers/private/system/arch_x86 ++ * ++ * As found on other platforms, for benefit of GHC Haskell compiler, ++ * Donn ++ * */ ++ ++#ifdef __HAIKU__ ++ ++#include ++#include ++ ++typedef struct Elf32_Ehdr Elf32_Ehdr; ++typedef struct Elf32_Shdr Elf32_Shdr; ++typedef struct Elf32_Sym Elf32_Sym; ++typedef struct Elf32_Rel Elf32_Rel; ++typedef struct Elf32_Rela Elf32_Rela; ++ ++#define ELFMAG0 0x7F ++#define ELFMAG1 'E' ++#define ELFMAG2 'L' ++#define ELFMAG3 'F' ++ ++#define ET_NONE 0 ++#define ET_REL 1 ++#define ET_EXEC 2 ++#define ET_DYN 3 ++#define ET_CORE 4 ++ ++#define EM_386 3 ++#define EM_SPARC 2 ++#define EM_PPC 20 ++ ++#else ++ ++#include_next ++ ++#endif +\ No newline at end of file +diff --git a/ext/nkf/nkf-utf8/nkf.h b/ext/nkf/nkf-utf8/nkf.h +index a23ec5c..8351578 100644 +--- a/ext/nkf/nkf-utf8/nkf.h ++++ b/ext/nkf/nkf-utf8/nkf.h +@@ -164,6 +164,11 @@ void setbinmode(FILE *fp) + # ifndef HAVE_LOCALE_H + # define HAVE_LOCALE_H + # endif ++#elif defined(__HAIKU__) ++# undef HAVE_LANGINFO_H ++# ifndef HAVE_LOCALE_H ++# define HAVE_LOCALE_H ++# endif + #else + # ifndef HAVE_LANGINFO_H + # define HAVE_LANGINFO_H +diff --git a/signal.c b/signal.c +index d4e56dc..92c54e9 100644 +--- a/signal.c ++++ b/signal.c +@@ -28,6 +28,6 @@ ruby_atomic_exchange(rb_atomic_t *ptr, rb_atomic_t val) + } + #endif + +-#if defined(__BEOS__) || defined(__HAIKU__) ++#if defined(__BEOS__) + #undef SIGBUS + #endif +@@ -590,7 +590,7 @@ static int segv_received = 0; + static RETSIGTYPE + sigsegv(int sig SIGINFO_ARG) + { +-#ifdef USE_SIGALTSTACK ++#if defined USE_SIGALTSTACK && defined SA_SIGINFO + int ruby_stack_overflowed_p(const rb_thread_t *, const void *); + NORETURN(void ruby_thread_stack_overflow(rb_thread_t *th)); + rb_thread_t *th = GET_THREAD(); +--- +1.8.3.4 + diff --git a/dev-lang/ruby/ruby-1.9.3.recipe b/dev-lang/ruby/ruby-1.9.3.recipe index 8c9fd8a13..772fc7477 100644 --- a/dev-lang/ruby/ruby-1.9.3.recipe +++ b/dev-lang/ruby/ruby-1.9.3.recipe @@ -1,31 +1,48 @@ -SUMMARY="A programming language focused on simplicity and productivity" -DESCRIPTION=" -Ruby is a dynamic, reflective, object-oriented, general-purpose -programming language. It was designed and developed in the mid-1990s +SUMMARY="A programming language focused on simplicity and productivity." +DESCRIPTION="Ruby is a dynamic, reflective, object-oriented, general-purpose \ +programming language. It was designed and developed in the mid-1990s \ by Yukihiro 'Matz' Matsumoto in Japan. -Ruby embodies syntax inspired by Perl with Smalltalk-like features and -was also influenced by Eiffel and Lisp. It supports multiple -programming paradigms, including functional, object oriented, and -imperative. It also has a dynamic type system and automatic memory -management. Therefore, it is similar in varying degrees to, Smalltalk, +Ruby embodies syntax inspired by Perl with Smalltalk-like features and \ +was also influenced by Eiffel and Lisp. It supports multiple \ +programming paradigms, including functional, object oriented, and \ +imperative. It also has a dynamic type system and automatic memory \ +management. Therefore, it is similar in varying degrees to, Smalltalk, \ Python, Perl, Lisp, Dylan, and CLU." HOMEPAGE="http://www.ruby-lang.org" -SRC_URI="http://cache.ruby-lang.org/pub/ruby/ruby-1.9.3-p545.tar.bz2" -CHECKSUM_SHA256="2533de9f56d62f11c06a02dd32b5ab6d22a8f268c94b8e1e1ade6536adfd1aab" +SRC_URI="http://cache.ruby-lang.org/pub/ruby/ruby-1.9.3-rc1.tar.bz2" +SOURCE_DIR="ruby-1.9.3-rc1" +CHECKSUM_SHA256="951a8810086abca0e200f81767a518ee2730d6dc9b0cc2c7e3587dcfc3bf5fc8" LICENSE="Ruby GNU GPL v2 GNU LGPL v2.1 Artistic (Perl) BSD (3-clause)" COPYRIGHT="1993-2009 Yukihiro Matsumoto" +REVISION="4" +ARCHITECTURES="x86 !x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" -REVISION="2" - -ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64" +PATCHES="ruby-1.9.3-rc1.patch" PROVIDES=" - ruby = $portVersion compat >= 1.9 + ruby$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:ruby$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:erb$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:gem$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:irb$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:rake$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:rdoc$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:ri$secondaryArchSuffix = $portVersion compat >= 1.9 + cmd:testrb$secondaryArchSuffix = $portVersion compat >= 1.9 + lib:libruby$secondaryArchSuffix = $portVersion compat >= 1.9 cmd:ruby = $portVersion compat >= 1.9 cmd:erb = $portVersion compat >= 1.9 cmd:gem = $portVersion compat >= 1.9 @@ -34,57 +51,61 @@ PROVIDES=" cmd:rdoc = $portVersion compat >= 1.9 cmd:ri = $portVersion compat >= 1.9 cmd:testrb = $portVersion compat >= 1.9 - lib:libruby = $portVersion compat >= 1.9 " REQUIRES=" - haiku >= $haikuVersion - lib:libedit - lib:libz - lib:libcrypto - lib:libssl - lib:libiconv - lib:libncursesw + haiku$secondaryArchSuffix >= $haikuVersion + lib:libedit$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libcrypto$secondaryArchSuffix + lib:libssl$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libncursesw$secondaryArchSuffix " BUILD_REQUIRES=" - devel:libedit - devel:libz - devel:libcrypto - devel:libssl - devel:libiconv - devel:libncursesw + devel:libedit$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libcrypto$secondaryArchSuffix + devel:libssl$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libncursesw$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + cmd:ruby >= 1.9 " BUILD_PREREQUIRES=" - haiku_devel >= $haikuVersion - cmd:gcc - cmd:g++ + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:g++$secondaryArchSuffix cmd:autoconf cmd:make cmd:bison " PROVIDES_devel=" - ruby_devel = $portVersion - devel:libruby_static = $portVersion compat >= 1.9 - lib:libruby_static = $portVersion compat >= 1.9 - devel:libruby = $portVersion compat >= 1.9 + ruby${secondaryArchSuffix}_devel = $portVersion + devel:libruby_static$secondaryArchSuffix = $portVersion compat >= 1.9 + lib:libruby_static$secondaryArchSuffix = $portVersion compat >= 1.9 + devel:libruby$secondaryArchSuffix = $portVersion compat >= 1.9 " REQUIRES_devel=" - ruby == $portVersion + ruby$secondaryArchSuffix == $portVersion base " -SOURCE_DIR="ruby-1.9.3-p545" - -PATCHES="ruby-1.9.3.patchset" - BUILD() { autoconf - runConfigure ./configure \ - --enable-shared + + # tell configure where to find the private header folders + # that have elf32.h, elf64.h, and arch_elf.h + extraFlags="-I/boot/system/develop/headers/private/system \ + -I/boot/system/develop/headers/private/system/arch/x86" + export CFLAGS="$extraFlags" + export CPPFLAGS="$extraFlags" + + runConfigure ./configure --enable-shared make $jobArgs } @@ -92,5 +113,11 @@ INSTALL() { make install prepareInstalledDevelLibs libruby-static libruby + fixPkgconfig packageEntries devel $developDir } + +TEST() +{ + make check +} diff --git a/dev-libs/librevenge/librevenge-0.0.0.recipe b/dev-libs/librevenge/librevenge-0.0.0.recipe new file mode 100644 index 000000000..67b813a26 --- /dev/null +++ b/dev-libs/librevenge/librevenge-0.0.0.recipe @@ -0,0 +1,81 @@ +SUMMARY="A helper library for REVerses ENGineered formats filters" +DESCRIPTION=" +librevenge is a base library for writing document import filters. It has \ +interfaces for text documents, vector graphics, spreadsheets and presentations. +" +LICENSE=" +GNU LGPL v2.1 +MPL v2.0 +" +COPYRIGHT=" +Fridrich Strba +Laurent Alonso +David Tardon +" +HOMEPAGE="http://sourceforge.net/p/libwpd/wiki/librevenge/" +SRC_URI="http://downloads.sourceforge.net/project/libwpd/librevenge/librevenge-$portVersion/librevenge-$portVersion.tar.bz2" +CHECKSUM_SHA256="55b9fde4c729a525db36d37b51a0f5d8614d4c631e336320e540dfce3128f7f7" +REVISION="1" +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + librevenge$secondaryArchSuffix = $portVersion compat >= 0 + lib:librevenge_0.0$secondaryArchSuffix = $portVersion compat >= 0 + lib:librevenge_generators_0.0$secondaryArchSuffix = $portVersion compat >= 0 + lib:librevenge_stream_0.0$secondaryArchSuffix = $portVersion compat >= 0 + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libboost_filesystem$secondaryArchSuffix + lib:libboost_system$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " +BUILD_REQUIRES=" + devel:libboost_filesystem$secondaryArchSuffix + devel:libboost_system$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:awk + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + runConfigure ./configure \ + --with-boost-libdir=`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir + make $jobArgs +} + +INSTALL() +{ + make install + + # set up the develop directory correctly + prepareInstalledDevelLibs librevenge-0.0 librevenge-generators-0.0 \ + librevenge-stream-0.0 + fixPkgconfig + + # devel package + packageEntries devel $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + librevenge${secondaryArchSuffix}_devel = $portVersion compat >= 0 + devel:librevenge_0.0$secondaryArchSuffix = $portVersion compat >= 0 + devel:librevenge_generators_0.0$secondaryArchSuffix = $portVersion compat >= 0 + devel:librevenge_stream_0.0$secondaryArchSuffix = $portVersion compat >= 0 + " +REQUIRES_devel=" + librevenge${secondaryArchSuffix} == $portVersion base + " diff --git a/dev-libs/libusb/libusb-1.0.17.recipe b/dev-libs/libusb/libusb-1.0.17.recipe index 3e383bc34..144c62b4a 100644 --- a/dev-libs/libusb/libusb-1.0.17.recipe +++ b/dev-libs/libusb/libusb-1.0.17.recipe @@ -37,7 +37,7 @@ if [ $effectiveTargetArchitecture != x86_gcc2 ]; then fi SECONDARY_ARCHITECTURES="x86" -PATCHES="$portVersionedName.patchset" +PATCHES="libusb-$portVersion.patchset" PROVIDES=" libusb$secondaryArchSuffix = $portVersion diff --git a/dev-libs/libusb/libusb-1.0.18.recipe b/dev-libs/libusb/libusb-1.0.18.recipe new file mode 100644 index 000000000..28f1c20f7 --- /dev/null +++ b/dev-libs/libusb/libusb-1.0.18.recipe @@ -0,0 +1,84 @@ +SUMMARY="libusbx is a library that provides generic access to USB devices." +DESCRIPTION=" +libusbx is a library that provides generic access to USB devices. As a library, +it is meant to be used by developers, to facilitate the production of +applications that communicate with USB hardware. + +It is portable: Using a single cross-platform API, it provides access to USB +devices on Linux, OS X, Windows and OpenBSD. + +It is user-mode: No special privilege or elevation is required for the +application to communicate with a device. + +It is version-agnostic: All versions of the USB protocol, from 1.0 to 3.0 +(latest), are supported. +" +LICENSE="GNU LGPL v2.1" +COPYRIGHT=" +2001 Johannes Erdfelt +2007-2009 Daniel Drake +2010-2012 Peter Stuge +2008-2013 Nathan Hjelm +2009-2013 Pete Batard +2009-2013 Ludovic Rousseau +2010-2012 Michael Plante +2011-2013 Hans de Goede +2012-2013 Martin Pieuchot +2012-2013 Toby Gray +" +HOMEPAGE="http://libusbx.org/" +SRC_URI="git+git://github.com/akshay1994/libusb#c8f7684a853c322f048a1f57457837c32dae2fac" +REVISION="1" +ARCHITECTURES="x86 x86_64 x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + libusb$secondaryArchSuffix = $portVersion + lib:libusb_1.0$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libstdc++$secondaryArchSuffix + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + cmd:automake + cmd:libtool + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:sed + " + +BUILD() +{ + sh bootstrap.sh + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + # set up the develop directory correctly + prepareInstalledDevelLibs libusb-1.0 + fixPkgconfig libusb-1.0 + + # devel package + packageEntries devel \ + $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + libusb${secondaryArchSuffix}_devel = $portVersion + devel:libusb_1.0${secondaryArchSuffix} = $portVersion + " +REQUIRES_devel=" + libusb${secondaryArchSuffix} == $portVersion base + " diff --git a/dev-libs/nspr/nspr-4.10.6.recipe b/dev-libs/nspr/nspr-4.10.6.recipe new file mode 100644 index 000000000..cb856a0fb --- /dev/null +++ b/dev-libs/nspr/nspr-4.10.6.recipe @@ -0,0 +1,89 @@ +SUMMARY="A platform abstraction library" +DESCRIPTION=" +Netscape Portable Runtime (NSPR) provides a platform-neutral API for system \ +level and libc-like functions. The API is used in the Mozilla clients, many \ +of Red Hat's and Sun's server applications, and other software offerings. +" +LICENSE=" +GNU GPL v2 +GNU LGPL v2.1 +MPL v2.0 +" +COPYRIGHT="Mozilla Foundation" +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR" +SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$portVersion/src/nspr-$portVersion.tar.gz" +CHECKSUM_SHA256="df69ac8b0126f11907792384468adf42712b1d6db9772f4aa20c6d471594644a" +REVISION="1" +ARCHITECTURES="!x86_gcc2 !x86 !x86_64" +SECONDARY_ARCHITECTURES="!x86 !x86_gcc2" +#SOURCE_DIR="nspr-$portVersion/nspr" + +PROVIDES=" + nspr$secondaryArchSuffix = $portVersion + lib:libnspr4$secondaryArchSuffix = $portVersion compat >= 4 + lib:libplc4$secondaryArchSuffix = $portVersion compat >= 4 + lib:libplds4$secondaryArchSuffix = $portVersion compat >= 4 + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:awk + cmd:perl + " + +PATCHES="nspr-$portVersion.patchset" + +BUILD() +{ + # FIXME: SOURCE_DIR="nspr-$portVersion/nspr" doesn't work + cd nspr + autoconf + runConfigure ./configure --disable-debug --enable-optimize + make $jobArgs +} + +INSTALL() +{ + cd nspr + make install + + # set up the develop directory correctly + prepareInstalledDevelLibs libnspr4 libplc4 libplds4 + fixPkgconfig + + rm $binDir/compile-et.pl + rm $binDir/prerr.properties + + # devel package + packageEntries devel $developDir $dataDir/aclocal $binDir/nspr-config +} + +TEST() +{ + cd nspr + autoconf + runConfigure ./configure + cd pr/tests + make $jobArgs + make runtests +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + nspr${secondaryArchSuffix}_devel = $portVersion compat >= 4 + devel:libnspr4$secondaryArchSuffix = $portVersion compat >= 4 + devel:libplc4$secondaryArchSuffix = $portVersion compat >= 4 + devel:libplds4$secondaryArchSuffix = $portVersion compat >= 4 + " +REQUIRES_devel=" + nspr${secondaryArchSuffix} == $portVersion base + " diff --git a/dev-libs/nspr/patches/nspr-4.10.6.patchset b/dev-libs/nspr/patches/nspr-4.10.6.patchset new file mode 100644 index 000000000..41192a237 --- /dev/null +++ b/dev-libs/nspr/patches/nspr-4.10.6.patchset @@ -0,0 +1,336 @@ +From 5eca23b7a963a57466e7f90024677190d39336bc Mon Sep 17 00:00:00 2001 +From: Kacper Kasper +Date: Fri, 4 Jul 2014 11:56:24 +0200 +Subject: Haiku support + + +diff --git a/nspr/configure.in b/nspr/configure.in +index 9e9f1b1..5361a5b 100644 +--- a/nspr/configure.in ++++ b/nspr/configure.in +@@ -1312,6 +1312,24 @@ case "$target" in + ;; + esac + ;; ++ ++*-haiku*) ++ AC_DEFINE(XP_UNIX) ++ AC_DEFINE(HAIKU) ++ AC_DEFINE(HAVE_SOCKLEN_T) ++ AC_DEFINE(HAVE_FCNTL_FILE_LOCKING) ++ DSO_CFLAGS="-fPIC" ++ USE_PTHREADS=1 ++ IMPL_STRATEGY=_PTH ++ MDCPUCFG_H=_linux.cfg ++ PR_MD_ASFILES=os_Linux_x86.s ++ PR_MD_CSRCS=linux.c ++ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' ++ DSO_CFLAGS=-fPIC ++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' ++ _OPTIMIZE_FLAGS=-O2 ++ AC_CHECK_LIB(network, gethostbyaddr, [OS_LIBS="$OS_LIBS -lnetwork"]) ++ ;; + + *-bsdi*) + AC_DEFINE(XP_UNIX) +@@ -2538,7 +2556,7 @@ dnl The same goes for BeOS. + dnl OS/2 has dlfcn in libc. + + case $target in +-*-darwin*|*-beos*|*-os2*) ++*-darwin*|*-beos*|*-haiku*|*-os2*) + ;; + *) + AC_CHECK_LIB(dl, dlopen, +@@ -2676,7 +2694,7 @@ echo " + ]) + + case "$target_os" in +-darwin*) ++darwin*|haiku*) + _HAVE_PTHREADS=1 + ;; + *) +diff --git a/nspr/pr/include/md/_linux.h b/nspr/pr/include/md/_linux.h +index 278f90c..669fb42 100644 +--- a/nspr/pr/include/md/_linux.h ++++ b/nspr/pr/include/md/_linux.h +@@ -261,7 +261,8 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv) + #endif /* __arm__ */ + + #define USE_SETJMP +-#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID) ++#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(ANDROID) \ ++ || defined(HAIKU) + #define _PR_POLL_AVAILABLE + #endif + #undef _PR_USE_POLL +@@ -282,7 +283,7 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv) + #define _PR_HAVE_GETADDRINFO + #define _PR_INET6_PROBE + #endif +-#ifndef ANDROID ++#if !defined(ANDROID) && !defined(HAIKU) + #define _PR_HAVE_SYSV_SEMAPHORES + #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY + #endif +diff --git a/nspr/pr/include/md/_pth.h b/nspr/pr/include/md/_pth.h +index eeeef04..ef60438 100644 +--- a/nspr/pr/include/md/_pth.h ++++ b/nspr/pr/include/md/_pth.h +@@ -117,7 +117,8 @@ + || defined(HPUX) || defined(FREEBSD) \ + || defined(NETBSD) || defined(OPENBSD) || defined(BSDI) \ + || defined(NTO) || defined(DARWIN) \ +- || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) ++ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) \ ++ || defined(HAIKU) + #define _PT_PTHREAD_INVALIDATE_THR_HANDLE(t) (t) = 0 + #define _PT_PTHREAD_THR_HANDLE_IS_INVALID(t) (t) == 0 + #define _PT_PTHREAD_COPY_THR_HANDLE(st, dt) (dt) = (st) +@@ -170,7 +171,7 @@ + || defined(LINUX) || defined(__GNU__)|| defined(__GLIBC__) \ + || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ + || defined(BSDI) || defined(UNIXWARE) \ +- || defined(DARWIN) || defined(SYMBIAN) ++ || defined(DARWIN) || defined(SYMBIAN) || defined(HAIKU) + #define PT_NO_SIGTIMEDWAIT + #endif + +@@ -201,7 +202,7 @@ + #endif /* defined(_PR_DCETHREADS) */ + + #elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ +- || defined(FREEBSD) || defined(SYMBIAN) ++ || defined(FREEBSD) || defined(SYMBIAN) || defined(HAIKU) + #define PT_PRIO_MIN sched_get_priority_min(SCHED_OTHER) + #define PT_PRIO_MAX sched_get_priority_max(SCHED_OTHER) + #elif defined(NTO) +@@ -261,7 +262,8 @@ extern int (*_PT_aix_yield_fcn)(); + || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ + || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ + || defined(BSDI) || defined(NTO) || defined(DARWIN) \ +- || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) ++ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) \ ++ || defined(HAIKU) + #define _PT_PTHREAD_YIELD() sched_yield() + #else + #error "Need to define _PT_PTHREAD_YIELD for this platform" +diff --git a/nspr/pr/include/md/_unixos.h b/nspr/pr/include/md/_unixos.h +index 04d9904..5c3aa45 100644 +--- a/nspr/pr/include/md/_unixos.h ++++ b/nspr/pr/include/md/_unixos.h +@@ -15,7 +15,7 @@ + * not be redefined. + */ + #if !defined(LINUX) && !defined(__GNU__) && !defined(__GLIBC__) \ +- && !defined(DARWIN) ++ && !defined(DARWIN) && !defined(HAIKU) + #ifndef FD_SETSIZE + #define FD_SETSIZE 4096 + #endif +@@ -46,7 +46,7 @@ + */ + #include + #include +-#if defined(AIX) || defined(SYMBIAN) ++#if defined(AIX) || defined(SYMBIAN) || defined(HAIKU) + #include + #endif + +diff --git a/nspr/pr/include/md/prosdep.h b/nspr/pr/include/md/prosdep.h +index 94d8945..3cd48da 100644 +--- a/nspr/pr/include/md/prosdep.h ++++ b/nspr/pr/include/md/prosdep.h +@@ -52,7 +52,7 @@ PR_BEGIN_EXTERN_C + #elif defined(IRIX) + #include "md/_irix.h" + +-#elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) ++#elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || defined(HAIKU) + #include "md/_linux.h" + + #elif defined(OSF1) +diff --git a/nspr/pr/src/io/prmapopt.c b/nspr/pr/src/io/prmapopt.c +index f92a76b..d155e48 100644 +--- a/nspr/pr/src/io/prmapopt.c ++++ b/nspr/pr/src/io/prmapopt.c +@@ -102,15 +102,15 @@ PRStatus PR_CALLBACK _PR_SocketGetSocketOption(PRFileDesc *fd, PRSocketOptionDat + case PR_SockOpt_McastLoopback: + { + #ifdef WIN32 /* Winsock */ +- BOOL bool; ++ BOOL value; + #else +- PRUint8 bool; ++ PRUint8 value; + #endif +- length = sizeof(bool); ++ length = sizeof(value); + rv = _PR_MD_GETSOCKOPT( +- fd, level, name, (char*)&bool, &length); ++ fd, level, name, (char*)&value, &length); + if (PR_SUCCESS == rv) +- data->value.mcast_loopback = (0 == bool) ? PR_FALSE : PR_TRUE; ++ data->value.mcast_loopback = (0 == value) ? PR_FALSE : PR_TRUE; + break; + } + case PR_SockOpt_RecvBufferSize: +@@ -252,13 +252,13 @@ PRStatus PR_CALLBACK _PR_SocketSetSocketOption(PRFileDesc *fd, const PRSocketOpt + case PR_SockOpt_McastLoopback: + { + #ifdef WIN32 /* Winsock */ +- BOOL bool; ++ BOOL value; + #else +- PRUint8 bool; ++ PRUint8 value; + #endif +- bool = data->value.mcast_loopback ? 1 : 0; ++ value = data->value.mcast_loopback ? 1 : 0; + rv = _PR_MD_SETSOCKOPT( +- fd, level, name, (char*)&bool, sizeof(bool)); ++ fd, level, name, (char*)&value, sizeof(value)); + break; + } + case PR_SockOpt_RecvBufferSize: +diff --git a/nspr/pr/src/md/unix/linux.c b/nspr/pr/src/md/unix/linux.c +index 1b485a0..8a17e4e 100644 +--- a/nspr/pr/src/md/unix/linux.c ++++ b/nspr/pr/src/md/unix/linux.c +@@ -25,12 +25,14 @@ PRWord *_MD_HomeGCRegisters(PRThread *t, int isCurrent, int *np) + + #ifdef _PR_PTHREADS + ++#ifndef HAIKU + extern void _MD_unix_terminate_waitpid_daemon(void); + + void _MD_CleanupBeforeExit(void) + { + _MD_unix_terminate_waitpid_daemon(); + } ++#endif + + #else /* ! _PR_PTHREADS */ + +diff --git a/nspr/pr/src/md/unix/uxrng.c b/nspr/pr/src/md/unix/uxrng.c +index da2f7e9..cbef872 100644 +--- a/nspr/pr/src/md/unix/uxrng.c ++++ b/nspr/pr/src/md/unix/uxrng.c +@@ -86,7 +86,7 @@ GetHighResClock(void *buf, size_t maxbytes) + + #elif (defined(LINUX) || defined(FREEBSD) || defined(__FreeBSD_kernel__) \ + || defined(NETBSD) || defined(__NetBSD_kernel__) || defined(OPENBSD) \ +- || defined(SYMBIAN) || defined(__GNU__)) ++ || defined(SYMBIAN) || defined(__GNU__)) || defined(HAIKU) + #include + #include + #include +diff --git a/nspr/pr/src/misc/prnetdb.c b/nspr/pr/src/misc/prnetdb.c +index b86248f..0f07192 100644 +--- a/nspr/pr/src/misc/prnetdb.c ++++ b/nspr/pr/src/misc/prnetdb.c +@@ -54,7 +54,7 @@ PRLock *_pr_dnsLock = NULL; + * Some return a pointer to struct protoent, others return + * an int, and glibc's flavor takes five arguments. + */ +-#if defined(XP_BEOS) && defined(BONE_VERSION) ++#if defined(HAIKU) || (defined(XP_BEOS) && defined(BONE_VERSION)) + #include /* pick up define for inet_addr */ + #include + #define _PR_HAVE_GETPROTO_R +diff --git a/nspr/pr/src/pthreads/ptio.c b/nspr/pr/src/pthreads/ptio.c +index 125f1f9..fe51684 100644 +--- a/nspr/pr/src/pthreads/ptio.c ++++ b/nspr/pr/src/pthreads/ptio.c +@@ -28,7 +28,7 @@ + #include + #include + #include +-#if defined(DARWIN) ++#if defined(DARWIN) || defined(HAIKU) + #include /* for uname */ + #endif + #if defined(SOLARIS) || defined(UNIXWARE) +@@ -180,7 +180,8 @@ static PRBool _pr_ipv6_v6only_on_by_default; + || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \ + || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \ + || defined(BSDI) || defined(NTO) || defined(DARWIN) \ +- || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) ++ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) \ ++ || defined(HAIKU) + #define _PRSelectFdSetArg_t fd_set * + #else + #error "Cannot determine architecture" +@@ -3256,7 +3257,7 @@ static PRIOMethods _pr_socketpollfd_methods = { + || defined(AIX) || defined(FREEBSD) || defined(NETBSD) \ + || defined(OPENBSD) || defined(BSDI) || defined(NTO) \ + || defined(DARWIN) || defined(UNIXWARE) || defined(RISCOS) \ +- || defined(SYMBIAN) ++ || defined(SYMBIAN) || defined(HAIKU) + #define _PR_FCNTL_FLAGS O_NONBLOCK + #else + #error "Can't determine architecture" +diff --git a/nspr/pr/src/pthreads/ptthread.c b/nspr/pr/src/pthreads/ptthread.c +index 4ab564a..751454a 100644 +--- a/nspr/pr/src/pthreads/ptthread.c ++++ b/nspr/pr/src/pthreads/ptthread.c +@@ -21,7 +21,7 @@ + #include + #include + +-#ifdef SYMBIAN ++#if defined(SYMBIAN) || defined(HAIKU) + /* In Open C sched_get_priority_min/max do not work properly, so we undefine + * _POSIX_THREAD_PRIORITY_SCHEDULING here. + */ +@@ -1417,7 +1417,7 @@ static void suspend_signal_handler(PRIntn sig) + #if !defined(FREEBSD) && !defined(NETBSD) && !defined(OPENBSD) \ + && !defined(BSDI) && !defined(UNIXWARE) \ + && !defined(DARWIN) && !defined(RISCOS) \ +- && !defined(SYMBIAN) /*XXX*/ ++ && !defined(SYMBIAN) && !defined(HAIKU) /*XXX*/ + PRIntn rv; + sigwait(&sigwait_set, &rv); + #endif +@@ -1461,7 +1461,7 @@ static void pt_SuspendSet(PRThread *thred) + PR_LOG(_pr_gc_lm, PR_LOG_ALWAYS, + ("doing pthread_kill in pt_SuspendSet thred %p tid = %X\n", + thred, thred->id)); +-#if defined(SYMBIAN) ++#if defined(SYMBIAN) + /* All signal group functions are not implemented in Symbian OS */ + rv = 0; + #else +diff --git a/nspr/pr/tests/Makefile.in b/nspr/pr/tests/Makefile.in +index 9ebd923..5a3276e 100644 +--- a/nspr/pr/tests/Makefile.in ++++ b/nspr/pr/tests/Makefile.in +@@ -369,7 +369,7 @@ LIBPTHREAD = -lpthread + ifeq ($(OS_ARCH),AIX) + LIBPTHREAD = -lpthreads + endif +-ifeq (,$(filter-out FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH))) ++ifeq (,$(filter-out Haiku FreeBSD OpenBSD BSD_OS QNX Darwin OpenUNIX,$(OS_ARCH))) + LIBPTHREAD = + endif + ifeq ($(OS_ARCH)$(basename $(OS_RELEASE)),HP-UXB.10) +@@ -450,6 +450,15 @@ $(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lsocket $(EXTRA_LIBS) -o $@ + endif + ++ifeq ($(OS_ARCH),Haiku) ++ifeq ($(USE_IPV6),1) ++$(OBJDIR)/gethost: $(OBJDIR)/gethost.o ++ $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lnetwork $(EXTRA_LIBS) -o $@ ++endif ++$(OBJDIR)/prpoll: $(OBJDIR)/prpoll.o ++ $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) -lnetwork $(EXTRA_LIBS) -o $@ ++endif ++ + ifeq ($(USE_PTHREADS), 1) + $(OBJDIR)/attach: $(OBJDIR)/attach.o + $(PURE) $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBNSPR) $(LIBPTHREAD) $(EXTRA_LIBS) -o $@ +-- +1.8.3.4 + diff --git a/dev-libs/nss/nss-3.16.3.recipe b/dev-libs/nss/nss-3.16.3.recipe new file mode 100644 index 000000000..5866b4cd5 --- /dev/null +++ b/dev-libs/nss/nss-3.16.3.recipe @@ -0,0 +1,86 @@ +SUMMARY="Mozilla's Network Security Services library that implements PKI support" +DESCRIPTION=" +Network Security Services (NSS) is a set of libraries designed to support \ +cross-platform development of security-enabled client and server \ +applications. Applications built with NSS can support SSL v2 and v3, TLS, \ +PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and \ +other security standards. +" +LICENSE=" +GNU GPL v2 +GNU LGPL v2.1 +MPL v2.0 +" +COPYRIGHT="Mozilla Foundation" +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS" +SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_3_RTM/src/nss-$portVersion.tar.gz" +CHECKSUM_SHA256="657711ff7a4058043b69019a66f44101d0234eae2b6b80ab900439dbf02add60" +REVISION="1" +ARCHITECTURES="!x86_gcc2 !x86 !x86_64" +SECONDARY_ARCHITECTURES="!x86 !x86_gcc2" +#SOURCE_DIR="nss-$portVersion/nss" + +PROVIDES=" + nss$secondaryArchSuffix = $portVersion compat >= 3 + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_REQUIRES=" + nspr${secondaryArchSuffix}_devel >= 4 + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:awk + cmd:perl + cmd:pkg_config$secondaryArchSuffix + " + +PATCHES="nss-$portVersion.patchset" + +BUILD() +{ + # FIXME: SOURCE_DIR="nss-$portVersion/nss" doesn't work + cd nss + + # FIXME: $secondaryArchSuffix is wrong here (_arch). What should be used? + myCPPFLAGS="${CPPFLAGS} `pkg-config nspr --cflags`" + myLDFLAGS="${LDFLAGS} `pkg-config nspr --libs-only-L`" + + export BUILD_OPT=1 + #export NSS_USE_SYSTEM_SQLITE=1 + export NSDISTMODE=copy + #export FREEBL_NO_DEPEND=1 + export ASFLAGS="" + + for d in . lib/dbm ; do + CPPFLAGS="${myCPPFLAGS}" + LDFLAGS="${myLDFLAGS}" + make -j1 -C ${d} + done +} + +INSTALL() +{ + cd nss + make install +} + +TEST() +{ + cd nss + # TODO +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + nss${secondaryArchSuffix}_devel = $portVersion compat >= 3 + " +REQUIRES_devel=" + nss${secondaryArchSuffix} == $portVersion base + " diff --git a/dev-libs/nss/patches/nss-3.16.3.patchset b/dev-libs/nss/patches/nss-3.16.3.patchset new file mode 100644 index 000000000..b793f8e9c --- /dev/null +++ b/dev-libs/nss/patches/nss-3.16.3.patchset @@ -0,0 +1,63 @@ +From 4d386b384810ea29ed942212085181dc7d188026 Mon Sep 17 00:00:00 2001 +From: Kacper Kasper +Date: Sat, 5 Jul 2014 02:12:23 +0200 +Subject: Haiku support + + +diff --git a/nss/coreconf/BeOS.mk b/nss/coreconf/BeOS.mk +index 750696d..b53cfea 100644 +--- a/nss/coreconf/BeOS.mk ++++ b/nss/coreconf/BeOS.mk +@@ -7,7 +7,7 @@ include $(CORE_DEPTH)/coreconf/UNIX.mk + + XP_DEFINE := $(XP_DEFINE:-DXP_UNIX=-DXP_BEOS) + +-USE_PTHREADS = ++USE_PTHREADS = 1 + + ifeq ($(USE_PTHREADS),1) + IMPL_STRATEGY = _PTH +@@ -27,7 +27,7 @@ else + CPU_ARCH = x86 + endif + +-MKSHLIB = $(CC) -nostart -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) ++MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) + ifdef BUILD_OPT + OPTIMIZER = -O2 + endif +diff --git a/nss/coreconf/arch.mk b/nss/coreconf/arch.mk +index 782e6c0..669e52a 100644 +--- a/nss/coreconf/arch.mk ++++ b/nss/coreconf/arch.mk +@@ -41,6 +41,14 @@ else + endif + + # ++# Force the Haiku machines to use BeOS. ++# ++ ++ifeq ($(OS_ARCH),Haiku) ++ OS_ARCH = BeOS ++endif ++ ++# + # Force the IRIX64 machines to use IRIX. + # + +diff --git a/nss/lib/dbm/include/mcom_db.h b/nss/lib/dbm/include/mcom_db.h +index f204484..5cb10ee 100644 +--- a/nss/lib/dbm/include/mcom_db.h ++++ b/nss/lib/dbm/include/mcom_db.h +@@ -66,7 +66,7 @@ typedef PRUint32 uint32; + #include + #endif + +-#if defined(__linux) || defined(__BEOS__) ++#if defined(__linux) || defined(BEOS) + #include + #ifndef BYTE_ORDER + #define BYTE_ORDER __BYTE_ORDER +-- +1.8.3.4 + diff --git a/dev-python/python_setuptools/python_setuptools-5.3.recipe b/dev-python/python_setuptools/python_setuptools-5.3.recipe new file mode 100644 index 000000000..439ed5614 --- /dev/null +++ b/dev-python/python_setuptools/python_setuptools-5.3.recipe @@ -0,0 +1,52 @@ +SUMMARY="Easily download, build, install, upgrade, and uninstall Python packages." +DESCRIPTION="EasyInstall (easy_install) gives you a quick and painless way \ +to install packages remotely by connecting to the cheeseshop or even other \ +websites via HTTP. It is somewhat analogous to the CPAN and PEAR tools for Perl \ +and PHP, respectively. \ +" +HOMEPAGE="https://pypi.python.org/pypi/setuptools" +SRC_URI="https://pypi.python.org/packages/source/s/setuptools/setuptools-5.3.zip" +CHECKSUM_SHA256="238142293c36d2b56c83df1886b4c1fc4af77d0c203c68b8f4e57d8995babfe5" +SOURCE_DIR="setuptools-$portVersion" +LICENSE="Python" +COPYRIGHT="2006-2014 Python Packaging Authority" +REVISION="1" +ARCHITECTURES="x86 x86_gcc2 x86_64" + +PROVIDES=" + python_setuptools = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + " + +BUILD_REQUIRES="" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:python + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + pythonVersion=$(python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + $portPackageLinksDir/cmd~python/bin/python setup.py install \ + --prefix=$prefix + + # easy_install cannot tolerate not being installed alongside setuptools, + # so just delete it. + rm $prefix/bin/easy_install + rm $prefix/bin/easy_install-2.6 +} diff --git a/dev-python/setuptools/licenses/Python b/dev-python/setuptools/licenses/Python deleted file mode 100644 index 1050ea9d6..000000000 --- a/dev-python/setuptools/licenses/Python +++ /dev/null @@ -1,278 +0,0 @@ -A. HISTORY OF THE SOFTWARE -========================== - -Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands -as a successor of a language called ABC. Guido remains Python's -principal author, although it includes many contributions from others. - -In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) -in Reston, Virginia where he released several versions of the -software. - -In May 2000, Guido and the Python core development team moved to -BeOpen.com to form the BeOpen PythonLabs team. In October of the same -year, the PythonLabs team moved to Digital Creations (now Zope -Corporation, see http://www.zope.com). In 2001, the Python Software -Foundation (PSF, see http://www.python.org/psf/) was formed, a -non-profit organization created specifically to own Python-related -Intellectual Property. Zope Corporation is a sponsoring member of -the PSF. - -All Python releases are Open Source (see http://www.opensource.org for -the Open Source Definition). Historically, most, but not all, Python -releases have also been GPL-compatible; the table below summarizes -the various releases. - - Release Derived Year Owner GPL- - from compatible? (1) - - 0.9.0 thru 1.2 1991-1995 CWI yes - 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes - 1.6 1.5.2 2000 CNRI no - 2.0 1.6 2000 BeOpen.com no - 1.6.1 1.6 2001 CNRI yes (2) - 2.1 2.0+1.6.1 2001 PSF no - 2.0.1 2.0+1.6.1 2001 PSF yes - 2.1.1 2.1+2.0.1 2001 PSF yes - 2.2 2.1.1 2001 PSF yes - 2.1.2 2.1.1 2002 PSF yes - 2.1.3 2.1.2 2002 PSF yes - 2.2.1 2.2 2002 PSF yes - 2.2.2 2.2.1 2002 PSF yes - 2.2.3 2.2.2 2003 PSF yes - 2.3 2.2.2 2002-2003 PSF yes - 2.3.1 2.3 2002-2003 PSF yes - 2.3.2 2.3.1 2002-2003 PSF yes - 2.3.3 2.3.2 2002-2003 PSF yes - 2.3.4 2.3.3 2004 PSF yes - 2.3.5 2.3.4 2005 PSF yes - 2.4 2.3 2004 PSF yes - 2.4.1 2.4 2005 PSF yes - 2.4.2 2.4.1 2005 PSF yes - 2.4.3 2.4.2 2006 PSF yes - 2.4.4 2.4.3 2006 PSF yes - 2.5 2.4 2006 PSF yes - 2.5.1 2.5 2007 PSF yes - 2.5.2 2.5.1 2008 PSF yes - 2.5.3 2.5.2 2008 PSF yes - 2.6 2.5 2008 PSF yes - 2.6.1 2.6 2008 PSF yes - 2.6.2 2.6.1 2009 PSF yes - 2.6.3 2.6.2 2009 PSF yes - 2.6.4 2.6.3 2009 PSF yes - 2.6.5 2.6.4 2010 PSF yes - -Footnotes: - -(1) GPL-compatible doesn't mean that we're distributing Python under - the GPL. All Python licenses, unlike the GPL, let you distribute - a modified version without making your changes open source. The - GPL-compatible licenses make it possible to combine Python with - other software that is released under the GPL; the others don't. - -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, - because its license has a choice of law clause. According to - CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 - is "not incompatible" with the GPL. - -Thanks to the many outside volunteers who have worked under Guido's -direction to make these releases possible. - - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON -=============================================================== - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -Python Software Foundation; All Rights Reserved" are retained in Python alone or -in any derivative version prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI's -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI's License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the Internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the Internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia's conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - - ACCEPT - - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/dev-python/setuptools/setuptools-0.6c11.recipe b/dev-python/setuptools/setuptools-0.6c11.recipe deleted file mode 100644 index 6bbaeaca5..000000000 --- a/dev-python/setuptools/setuptools-0.6c11.recipe +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY="Download, build, (un)install, upgrade, Python packages" -DESCRIPTION=" -Download, build, install, upgrade, and uninstall Python packages -- easily! -" -HOMEPAGE="http://pypi.python.org/pypi/setuptools" -SRC_URI="https://pypi.python.org/packages/source/s/setuptools/setuptools-$portVersion.tar.gz" -CHECKSUM_SHA256="630fea9b726320b73ee3ca6ff61732cb32675b0389be658080fe46383b87a1d3" -REVISION="1" - -ARCHITECTURES="!x86_gcc2" - -PROVIDES=" - $portName = $portVersion - " - -BUILD_PREREQUIRES=" - cmd:python - " - -BUILD() -{ - python setup.py build -} - -INSTALL() -{ - python setup.py install --root=$portDir -} - -LICENSE="Python" -COPYRIGHT="2009-2014, Phillip J. Eby" diff --git a/dev-python/setuptools/setuptools-3.3.recipe b/dev-python/setuptools/setuptools-3.3.recipe deleted file mode 100644 index f2389aa7f..000000000 --- a/dev-python/setuptools/setuptools-3.3.recipe +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY="Download, build, (un)install, upgrade, Python packages" -DESCRIPTION=" -Download, build, install, upgrade, and uninstall Python packages -- easily! -" -HOMEPAGE="http://pypi.python.org/pypi/setuptools" -SRC_URI="https://pypi.python.org/packages/source/s/setuptools/setuptools-$portVersion.tar.gz" -CHECKSUM_SHA256="f3e6155f9bb62bfd59b7f6cc2ecda21aae903e6b585f8bc55e801609c5f7814f" -REVISION="1" - -ARCHITECTURES="!x86_gcc2" - -PROVIDES=" - $portName = $portVersion - " - -BUILD_PREREQUIRES=" - cmd:python - " - -BUILD() -{ - python setup.py build -} - -INSTALL() -{ - python setup.py install --root=$portDir -} - -LICENSE="Python" -COPYRIGHT="2009-2014, Phillip J. Eby" diff --git a/dev-python/zope.interface/python_zope.interface-4.1.1.recipe b/dev-python/zope.interface/python_zope.interface-4.1.1.recipe index b5c078533..02ea15015 100644 --- a/dev-python/zope.interface/python_zope.interface-4.1.1.recipe +++ b/dev-python/zope.interface/python_zope.interface-4.1.1.recipe @@ -12,9 +12,9 @@ SRC_URI="https://pypi.python.org/packages/source/z/zope.interface/zope.interface CHECKSUM_SHA256="91cba7b7cd7cb82f6f4e023fe77f94dc3df4ae5287fd55def2148dc232d0c7da" LICENSE="ZPL 2.1" COPYRIGHT="2004-2014 Zope Foundation and Contributors" -REVISION="1" +REVISION="2" -ARCHITECTURES="any" +ARCHITECTURES="x86 x86_gcc2 x86_64" SOURCE_DIR="zope.interface-$portVersion" diff --git a/dev-qt/libqt4/libqt4-4.8.6.1.recipe b/dev-qt/libqt4/libqt4-4.8.6.1.recipe index 6aeb3a088..2cbb28df5 100644 --- a/dev-qt/libqt4/libqt4-4.8.6.1.recipe +++ b/dev-qt/libqt4/libqt4-4.8.6.1.recipe @@ -10,7 +10,7 @@ SRC_FILENAME="libqt4-$portVersion.tar.gz" SOURCE_DIR="qt4-4.8.6-haiku-1" LICENSE="GNU LGPL v2.1" COPYRIGHT="2014 Digia Plc and/or its subsidiary(-ies)." -REVISION="2" +REVISION="4" CHECKSUM_SHA256="8683b000622df6348016cea132a272ebd39f70b1b0c89b9bb043f4f0a88d879d" ARCHITECTURES="x86 ?x86_64" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then @@ -26,7 +26,7 @@ PROVIDES=" libqt4$secondaryArchSuffix = $portVersion compat >= 4.8 cmd:qtconfig$secondaryArchSuffix = $portVersion compat >= 4.8 cmd:qsystray$secondaryArchSuffix = $portVersion compat >= 4.8 - lib:libphonon$secondaryArchSuffix = $portVersion compat >= 4.8 + lib:libphonon$secondaryArchSuffix = 4.4.0 compat >= 4 lib:libQt3Support$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtCLucene$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtCore$secondaryArchSuffix = $portVersion compat >= 4.8 @@ -42,7 +42,7 @@ PROVIDES=" lib:libQtSql$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtSvg$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtTest$secondaryArchSuffix = $portVersion compat >= 4.8 - lib:libQtWebKit$secondaryArchSuffix = $portVersion compat >= 4.8 + lib:libQtWebKit$secondaryArchSuffix = 4.9.4 compat >= 4 lib:libQtXml$secondaryArchSuffix = $portVersion compat >= 4.8 lib:libQtXmlPatterns$secondaryArchSuffix = $portVersion compat >= 4.8 " @@ -107,7 +107,7 @@ PROVIDES_devel=" cmd:uic3$secondaryArchSuffix = $portVersion compat >= 4.8 cmd:xmlpatterns$secondaryArchSuffix = $portVersion compat >= 4.8 cmd:xmlpatternsvalidator$secondaryArchSuffix = $portVersion compat >= 4.8 - devel:libphonon$secondaryArchSuffix = $portVersion compat >= 4.8 + devel:libphonon$secondaryArchSuffix = 4.4.0 compat >= 4 devel:libQt3Support$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtCLucene$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtCore$secondaryArchSuffix = $portVersion compat >= 4.8 @@ -123,14 +123,21 @@ PROVIDES_devel=" devel:libQtSql$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtSvg$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtTest$secondaryArchSuffix = $portVersion compat >= 4.8 - devel:libQtWebKit$secondaryArchSuffix = $portVersion compat >= 4.8 + devel:libQtWebKit$secondaryArchSuffix = 4.9.4 compat >= 4 devel:libQtXml$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtXmlPatterns$secondaryArchSuffix = $portVersion compat >= 4.8 devel:libQtUiTools$secondaryArchSuffix = $portVersion compat >= 4.8 " +# if libssl and libcrypto are not in REQUIRES_devel, +# qmake will decide that there is no system OpenSSL support +# and thus build Qt apps without any SSL support. REQUIRES_devel=" libqt4$secondaryArchSuffix == $portVersion base + haiku$secondaryArchSuffix >= $haikuVersion + lib:libz$secondaryArchSuffix + lib:libssl$secondaryArchSuffix + lib:libcrypto$secondaryArchSuffix " BUILD() @@ -163,7 +170,7 @@ BUILD() make -f Makefile.gcc2 fi popd - + pushd haiku ./do-res.sh popd @@ -213,8 +220,17 @@ INSTALL() devPackageCommands="$devPackageCommands $binDir/$i" done + DIR_QT_DEVELOP_DESKBAR="${dataDir}/deskbar/menu/Applications/Qt" + mkdir -p ${DIR_QT_DEVELOP_DESKBAR} + addAppDeskbarSymlink $binDir/assistant "Qt/Qt Assistant" + addAppDeskbarSymlink $binDir/designer "Qt/Qt Designer" + addAppDeskbarSymlink $binDir/linguist "Qt/Qt Lingist" + addAppDeskbarSymlink $binDir/qmlviewer "Qt/QML Viewer" + addAppDeskbarSymlink $binDir/qhelpconverter "Qt/Qt Help Converter" + packageEntries devel $developDir \ $devPackageCommands \ + ${DIR_QT_DEVELOP_DESKBAR} \ $dataDir/Qt/mkspecs # move tests to demo/example package when it exists diff --git a/dev-util/acr/acr-0.9.9_git.recipe b/dev-util/acr/acr-0.9.9_git.recipe new file mode 100644 index 000000000..df2941011 --- /dev/null +++ b/dev-util/acr/acr-0.9.9_git.recipe @@ -0,0 +1,55 @@ +SUMMARY="An autoconf replacement" +DESCRIPTION=" +ACR tries to replace autoconf functionality generating a full-compatible \ +'configure' script (runtime flags). But using shell-script instead of m4. \ +This means that ACR is faster, smaller and easy to use. +" +HOMEPAGE="https://github.com/radare/acr" +COPYRIGHT="2005-2012 pancake" +LICENSE="GNU GPL v2" +SRC_URI="git+https://github.com/radare/acr.git#e6043960ab9fc664f9e30943bd36f1b5e0904aa9" +#CHECKSUM_SHA256="" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64 arm" + +PROVIDES=" + acr = $portVersion compat >= 0.9.9 + cmd:acr = $portVersion compat >= 0.9.9 + " +REQUIRES=" + haiku >= $haikuVersion + cmd:awk + coreutils + diffutils + cmd:getopt + cmd:perl >= 5 + cmd:sed + cmd:sh + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:awk + cmd:getopt + cmd:make + cmd:sed + " + +#BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL + +BUILD() +{ + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} + +TEST() +{ + make test +} diff --git a/dev-python/buildbot_slave/buildbot_slave-0.8.8.recipe b/dev-util/buildbot_slave/buildbot_slave-0.8.8.recipe similarity index 97% rename from dev-python/buildbot_slave/buildbot_slave-0.8.8.recipe rename to dev-util/buildbot_slave/buildbot_slave-0.8.8.recipe index f217b0645..b0edaf695 100644 --- a/dev-python/buildbot_slave/buildbot_slave-0.8.8.recipe +++ b/dev-util/buildbot_slave/buildbot_slave-0.8.8.recipe @@ -31,9 +31,9 @@ CHECKSUM_SHA256="8b7532d4d34527aea41e353d1bc3c35291ec335d3224c27800d2cc0cfc9837c PATCHES="buildbot_slave-0.8.8.patchset" LICENSE="GNU GPL v2" COPYRIGHT="2005-2013 Bryan Warner and the Buildbot team members" -REVISION="1" +REVISION="2" -ARCHITECTURES="any" +ARCHITECTURES="x86 x86_gcc2 x86_64" SOURCE_DIR="buildbot-slave-$portVersion" diff --git a/dev-python/buildbot_slave/patches/buildbot_slave-0.8.8.patchset b/dev-util/buildbot_slave/patches/buildbot_slave-0.8.8.patchset similarity index 100% rename from dev-python/buildbot_slave/patches/buildbot_slave-0.8.8.patchset rename to dev-util/buildbot_slave/patches/buildbot_slave-0.8.8.patchset diff --git a/dev-util/gtk_doc/gtk_doc-1.20.recipe b/dev-util/gtk_doc/gtk_doc-1.20.recipe index a0eca295e..7bfe26a8b 100644 --- a/dev-util/gtk_doc/gtk_doc-1.20.recipe +++ b/dev-util/gtk_doc/gtk_doc-1.20.recipe @@ -11,6 +11,19 @@ REVISION="1" ARCHITECTURES="x86_gcc2" PROVIDES=" gtk_doc = $portVersion + cmd:gtkdoc_check + cmd:gtkdoc_depscan + cmd:gtkdoc_fixxref + cmd:gtkdoc_mkdb + cmd:gtkdoc_mkhtml + cmd:gtkdoc_mkman + cmd:gtkdoc_mkpdf + cmd:gtkdoc_mktmpl + cmd:gtkdoc_rebase + cmd:gtkdoc_scan + cmd:gtkdoc_scangobj + cmd:gtkdoc_scanobj + cmd:gtkdocize " BUILD_REQUIRES=" @@ -20,18 +33,40 @@ BUILD_REQUIRES=" BUILD_PREREQUIRES=" haiku_devel >= $haikuVersion + cmd:autoconf cmd:awk cmd:gcc + cmd:itstool + cmd:make + cmd:msgfmt cmd:perl cmd:pkg_config + cmd:python cmd:xsltproc " SOURCE_DIR="gtk-doc-$portVersion" BUILD() { - runConfigure ./configure - make + # Generate an XML catalog that includes both the Docbook-XML and Docbook-XSL + # ones. Linux distros populate a global catalog file using post-install + # scripts in the docbook packages, but we don't have that yet. + echo " + + " > xmlcat + + for i in /system/data/xml/catalog/* + do + echo " " >> xmlcat + done + + echo "" >> xmlcat + + runConfigure ./configure --with-xml-catalog=`pwd`/xmlcat + make $jobArgs } INSTALL() diff --git a/dev-util/gyp/gyp-r1948.recipe b/dev-util/gyp/gyp-r1948.recipe new file mode 100644 index 000000000..e1292b516 --- /dev/null +++ b/dev-util/gyp/gyp-r1948.recipe @@ -0,0 +1,52 @@ +SUMMARY="GYP can Generate Your Projects." +DESCRIPTION="GYP (Generate Your Projects) is a build automation tool. \ +GYP is created by Google to generate native IDE project files (such as \ +Visual Studio and Xcode) for building the Chromium web browser and is \ +licensed as open source software using the BSD software license. \ +" +HOMEPAGE="https://code.google.com/p/gyp/" +SRC_URI="svn+http://gyp.googlecode.com/svn/trunk#1948" +LICENSE="BSD (2-clause)" +COPYRIGHT="2012 Google Inc." +REVISION="1" +ARCHITECTURES="x86 x86_gcc2 x86_64" + +SOURCE_DIR="gyp-$portVersion" +PATCHES="gyp-r1948.patch" + +PROVIDES=" + gyp = $portVersion + cmd:gyp = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + python_setuptools + " + +BUILD_REQUIRES=" + python_setuptools +" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:python + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + # GENERIC: all python_setuptools-based installs need this + pythonVersion=$(python --version 2>&1 | sed 's/Python //' | head -c3) + installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ + export PYTHONPATH=$installLocation:$PYTHONPATH + mkdir -p $installLocation + + $portPackageLinksDir/cmd~python/bin/python setup.py install \ + --prefix=$prefix +} diff --git a/dev-util/gyp/patches/gyp-r1948.patch b/dev-util/gyp/patches/gyp-r1948.patch new file mode 100644 index 000000000..c4021f888 --- /dev/null +++ b/dev-util/gyp/patches/gyp-r1948.patch @@ -0,0 +1,144 @@ +From 7acf243286c74a67a0a3a80faff38572d430f160 Mon Sep 17 00:00:00 2001 +From: Augustin Cavalier +Date: Mon, 30 Jun 2014 14:41:57 -0400 +Subject: [PATCH] Make GYP work on Haiku. + +--- + gyptest.py | 1 + + pylib/gyp/common.py | 7 +++++-- + pylib/gyp/generator/make.py | 13 ++++++++++++ + pylib/gyp/haiku_tool.py | 49 +++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 68 insertions(+), 2 deletions(-) + create mode 100644 pylib/gyp/haiku_tool.py + +diff --git a/gyptest.py b/gyptest.py +index 8f3ee0f..88125b0 100755 +--- a/gyptest.py ++++ b/gyptest.py +@@ -225,6 +225,7 @@ def main(argv=None): + 'linux2': ['make', 'ninja'], + 'linux3': ['make', 'ninja'], + 'darwin': ['make', 'ninja', 'xcode'], ++ 'haiku1': ['make'], + }[sys.platform] + + for format in format_list: +diff --git a/pylib/gyp/common.py b/pylib/gyp/common.py +index df71d97..8f2d888 100644 +--- a/pylib/gyp/common.py ++++ b/pylib/gyp/common.py +@@ -420,12 +420,14 @@ def GetFlavor(params): + return 'openbsd' + if sys.platform.startswith('aix'): + return 'aix' ++ if sys.platform.startswith('haiku'): ++ return 'haiku' + + return 'linux' + + + def CopyTool(flavor, out_path): +- """Finds (flock|mac|win)_tool.gyp in the gyp directory and copies it ++ """Finds (flock|mac|win|haiku)_tool.gyp in the gyp directory and copies it + to |out_path|.""" + # aix and solaris just need flock emulation. mac and win use more complicated + # support scripts. +@@ -433,7 +435,8 @@ def CopyTool(flavor, out_path): + 'aix': 'flock', + 'solaris': 'flock', + 'mac': 'mac', +- 'win': 'win' ++ 'win': 'win', ++ 'haiku': 'haiku', + }.get(flavor, None) + if not prefix: + return +diff --git a/pylib/gyp/generator/make.py b/pylib/gyp/generator/make.py +index 8c31d10..a7db337 100644 +--- a/pylib/gyp/generator/make.py ++++ b/pylib/gyp/generator/make.py +@@ -505,6 +505,13 @@ quiet_cmd_infoplist = INFOPLIST $@ + cmd_infoplist = $(CC.$(TOOLSET)) -E -P -Wno-trigraphs -x c $(INFOPLIST_DEFINES) "$<" -o "$@" + """ + ++SHARED_HEADER_HAIKU_COMMANDS = """ ++# gyp-haiku-tool is written next to the root Makefile by gyp. ++# Use $(4) for the command, since $(2) and $(3) are used as flag by do_cmd ++# already. ++quiet_cmd_haiku_tool = HAIKUTOOL $(4) $< ++cmd_haiku_tool = ./gyp-haiku-tool $(4) $< "$@" ++""" + + def WriteRootHeaderSuffixRules(writer): + extensions = sorted(COMPILABLE_EXTENSIONS.keys(), key=str.lower) +@@ -2056,6 +2063,12 @@ def GenerateOutput(target_list, target_dicts, data, params): + 'flock': './gyp-flock-tool flock', + 'flock_index': 2, + }) ++ elif flavor == 'haiku': ++ header_params.update({ ++ 'flock': './gyp-haiku-tool flock', ++ 'flock_index': 2, ++ 'extra_commands': SHARED_HEADER_HAIKU_COMMANDS, ++ }) + + header_params.update({ + 'CC.target': GetEnvironFallback(('CC_target', 'CC'), '$(CC)'), +diff --git a/pylib/gyp/haiku_tool.py b/pylib/gyp/haiku_tool.py +new file mode 100644 +index 0000000..cf23ca5 +--- /dev/null ++++ b/pylib/gyp/haiku_tool.py +@@ -0,0 +1,49 @@ ++#!python ++# Copyright (c) 2011 Google Inc. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++"""These functions are executed via gyp-haiku-tool when using the Makefile ++generator.""" ++ ++import fcntl ++import os ++import struct ++import subprocess ++import sys ++ ++ ++def main(args): ++ executor = HaikuTool() ++ executor.Dispatch(args) ++ ++ ++class HaikuTool(object): ++ """This class performs all the Haiku tooling steps. The methods can either be ++ executed directly, or dispatched from an argument list.""" ++ ++ def Dispatch(self, args): ++ """Dispatches a string command to a method.""" ++ if len(args) < 1: ++ raise Exception("Not enough arguments") ++ ++ method = "Exec%s" % self._CommandifyName(args[0]) ++ getattr(self, method)(*args[1:]) ++ ++ def _CommandifyName(self, name_string): ++ """Transforms a tool name like copy-info-plist to CopyInfoPlist""" ++ return name_string.title().replace('-', '') ++ ++ def ExecFlock(self, lockfile, *cmd_list): ++ """Emulates the most basic behavior of Linux's flock(1).""" ++ # Rely on exception handling to report errors. ++ fd = os.open(lockfile, os.O_RDONLY|os.O_NOCTTY|os.O_CREAT, 0o666) ++ fcntl.flock(fd, fcntl.LOCK_EX) ++ ret = subprocess.call(cmd_list) ++ # Haiki bug -- lock is not released on file close? ++ fcntl.flock(fd, fcntl.LOCK_UN) ++ return ret ++ ++ ++if __name__ == '__main__': ++ sys.exit(main(sys.argv[1:])) +-- +1.8.3.4 + diff --git a/dev-util/itstool/itstool-2.0.2.recipe b/dev-util/itstool/itstool-2.0.2.recipe new file mode 100644 index 000000000..5f2700da1 --- /dev/null +++ b/dev-util/itstool/itstool-2.0.2.recipe @@ -0,0 +1,57 @@ +SUMMARY="Translate your XML documents with PO files" +DESCRIPTION=" +ITS Tool allows you to translate your XML documents with PO files, using rules \ +from the W3C Internationalization Tag Set (ITS) to determine what to translate \ +and how to separate it into PO file messages. + +PO files are the standard translation format for GNU and other Unix-like \ +systems. They present translatable information as discrete messages, allowing \ +each message to be translated independently. In contrast to whole-page \ +translation, translating with a message-based format like PO means you can \ +easily track changes to the source document down to the paragraph. When new \ +strings are added or existing strings are modified, you only need to update \ +the corresponding messages. + +ITS Tool is designed to make XML documents translatable through PO files by \ +applying standard ITS rules, as well as extension rules specific to ITS Tool. \ +ITS also provides an industry standard way for authors to override translation \ +information in their documents, such as whether a particular element should be \ +translated. +" +HOMEPAGE="http://itstool.org/" +SRC_URI="http://files.itstool.org/itstool/itstool-$portVersion.tar.bz2" +CHECKSUM_SHA256="bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a" +REVISION="1" +ARCHITECTURES="x86_gcc2" +PROVIDES=" + itstool = $portVersion + cmd:itstool +" + +REQUIRES=" + libxml2_python +" + +BUILD_REQUIRES=" + libxml2_python +" + +BUILD_PREREQUIRES=" + cmd:awk + cmd:make + cmd:python >= 2.6 +" + +BUILD() +{ + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} + +LICENSE="GNU GPL v3" +COPYRIGHT="2010-2014 Shaun McCance" diff --git a/dev-util/netsurf_buildsystem/netsurf_buildsystem-1.1.recipe b/dev-util/netsurf_buildsystem/netsurf_buildsystem-1.1.recipe index cf3ccaa98..0e7ad29c8 100644 --- a/dev-util/netsurf_buildsystem/netsurf_buildsystem-1.1.recipe +++ b/dev-util/netsurf_buildsystem/netsurf_buildsystem-1.1.recipe @@ -3,8 +3,8 @@ DESCRIPTION=" NetSurf build framework for compiling some of their libraries. " HOMEPAGE="http://git.netsurf-browser.org/buildsystem.git/" -SRC_URI="http://git.netsurf-browser.org/buildsystem.git/snapshot/release/1.1.tar.gz" -CHECKSUM_SHA256="e95e40d4e4e4bea2ffb391c0df1d84f81c83b1d21af992fbda0406d4d57e7dc1" +SRC_URI="http://download.netsurf-browser.org/libs/releases/buildsystem-1.1.tar.gz" +CHECKSUM_SHA256="5c092afe653d1c6c0fadb39cc47659471e4741fdd2803127be42db4264e3ac44" REVISION="1" LICENSE="MIT" COPYRIGHT="2009 - 2013 The NetSurf Browser project" @@ -30,7 +30,7 @@ BUILD_PREREQUIRES=" cmd:make " -SOURCE_DIR="release/1.1" +SOURCE_DIR="buildsystem-1.1" PATCHES="netsurf_buildsystem-1.1.patchset" BUILD() { diff --git a/haiku-apps/sum_it/sum_it-0.2beta.recipe b/haiku-apps/sum_it/sum_it-0.2beta.recipe index c73cc4c8e..280f56c43 100644 --- a/haiku-apps/sum_it/sum_it-0.2beta.recipe +++ b/haiku-apps/sum_it/sum_it-0.2beta.recipe @@ -10,7 +10,7 @@ COPYRIGHT="1996-1998, 2000 Hekkelman Programmatuur B.V. All rights reserved. 1999-2000 Tim Vernum. All rights reserved." HOMEPAGE="https://github.com/HaikuArchives/OpenSumIt" SRC_URI="git+https://github.com/HaikuArchives/OpenSumIt.git#cdab184a27" -REVISION="2" +REVISION="3" ARCHITECTURES="!x86 x86_gcc2" PROVIDES=" @@ -32,18 +32,18 @@ BUILD_PREREQUIRES=" BUILD() { pushd bsl - BE_C_COMPILER=gcc make + BE_C_COMPILER=gcc make DEBUG=0 PATH=`pwd`:$PATH popd pushd rez - BE_C_COMPILER=gcc make + BE_C_COMPILER=gcc make DEBUG=0 PATH=`pwd`:$PATH popd cd sum-it - BE_C_COMPILER=gcc make + BE_C_COMPILER=gcc make DEBUG=0 } INSTALL() diff --git a/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe b/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe new file mode 100644 index 000000000..f9bebf71b --- /dev/null +++ b/haiku-libs/haikuwebkit/haikuwebkit-1.4.0.recipe @@ -0,0 +1,114 @@ +SUMMARY="Open source web browser engine" +DESCRIPTION=" +WebKit is an open source web browser engine. WebKit is also the name of the \ +Mac OS X system framework version of the engine that's used by Safari, \ +Dashboard, Mail, and many other OS X applications. WebKit's HTML and \ +JavaScript code began as a branch of the KHTML and KJS libraries from KDE. +" +HOMEPAGE="http://www.webkit.org/" +COPYRIGHT="1998-2014 Apple Inc., Google Inc., et al" +LICENSE=" + GNU LGPL v2 + GNU LGPL v2.1 + MIT + " +SRC_URI="https://github.com/haiku/webkit/archive/$portVersion.tar.gz" +CHECKSUM_SHA256="32f2b2a000253ac0127bf7347fd239db3692176cd80246bf32275b3340165f7f" +SRC_FILENAME="haikuwebkit-$portVersion.tar.gz" +REVISION="1" +ARCHITECTURES="x86 x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +# TODO see if this is still needed. +#if [ $effectiveTargetArchitecture == x86_64 ]; then +# PATCHES="haikuwebkit-1.3.2.patchset" +#fi + +PROVIDES=" + haikuwebkit$secondaryArchSuffix = $portVersion + lib:libWebKit$secondaryArchSuffix = $portVersion + cmd:jsc + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libicuuc$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libxslt$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libavcodec$secondaryArchSuffix + lib:libexecinfo$secondaryArchSuffix + lib:libstdc++$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + haiku_devel >= $haikuVersion + devel:libicuuc$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libxslt$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libavcodec$secondaryArchSuffix + devel:libexecinfo$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:pkg_config + cmd:flex + cmd:bison + cmd:gcc$secondaryArchSuffix + cmd:gperf + cmd:ld$secondaryArchSuffix + cmd:m4 + cmd:make + cmd:perl + cmd:python + cmd:cmake >= 3.0.0 + cmd:ruby + " + +SOURCE_DIR="webkit-$portVersion" + +BUILD() +{ + export PKG_CONFIG_LIBDIR="`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/pkgconfig" + Tools/Scripts/build-webkit --haiku --no-webkit2 \ + --cmakeargs="-DCMAKE_INSTALL_PREFIX=$prefix -DSHOULD_INSTALL_JS_SHELL=ON" +} + +INSTALL() +{ + cd WebKitBuild/Release + make install + + rm $developLibDir/* + prepareInstalledDevelLibs libWebKit + + # devel package + packageEntries devel \ + $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + haikuwebkit${secondaryArchSuffix}_devel = $portVersion + devel:libjavascriptcore$secondaryArchSuffix = $portVersion + devel:libwebcore$secondaryArchSuffix = $portVersion + devel:libWebKit$secondaryArchSuffix = $portVersion + devel:libwtf$secondaryArchSuffix = $portVersion + " +REQUIRES_devel=" + haikuwebkit$secondaryArchSuffix == $portVersion base + " diff --git a/haiku-libs/haikuwebkit/haikuwebkit-1.4.1.recipe b/haiku-libs/haikuwebkit/haikuwebkit-1.4.1.recipe new file mode 100644 index 000000000..99ec95bf5 --- /dev/null +++ b/haiku-libs/haikuwebkit/haikuwebkit-1.4.1.recipe @@ -0,0 +1,114 @@ +SUMMARY="Open source web browser engine" +DESCRIPTION=" +WebKit is an open source web browser engine. WebKit is also the name of the \ +Mac OS X system framework version of the engine that's used by Safari, \ +Dashboard, Mail, and many other OS X applications. WebKit's HTML and \ +JavaScript code began as a branch of the KHTML and KJS libraries from KDE. +" +HOMEPAGE="http://www.webkit.org/" +COPYRIGHT="1998-2014 Apple Inc., Google Inc., et al" +LICENSE=" + GNU LGPL v2 + GNU LGPL v2.1 + MIT + " +SRC_URI="https://github.com/haiku/webkit/archive/$portVersion.tar.gz" +CHECKSUM_SHA256="2fcd29738e32a191f16805a94a36da1a60074d10830be77ca5e052ce779cc683" +SRC_FILENAME="haikuwebkit-$portVersion.tar.gz" +REVISION="1" +ARCHITECTURES="x86 x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +# TODO see if this is still needed. +#if [ $effectiveTargetArchitecture == x86_64 ]; then +# PATCHES="haikuwebkit-1.3.2.patchset" +#fi + +PROVIDES=" + haikuwebkit$secondaryArchSuffix = $portVersion + lib:libWebKit$secondaryArchSuffix = $portVersion + cmd:jsc + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libicuuc$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libxslt$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libavcodec$secondaryArchSuffix + lib:libexecinfo$secondaryArchSuffix + lib:libstdc++$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + haiku_devel >= $haikuVersion + devel:libicuuc$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libxslt$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libavcodec$secondaryArchSuffix + devel:libexecinfo$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:pkg_config + cmd:flex + cmd:bison + cmd:gcc$secondaryArchSuffix + cmd:gperf + cmd:ld$secondaryArchSuffix + cmd:m4 + cmd:make + cmd:perl + cmd:python + cmd:cmake >= 3.0.0 + cmd:ruby + " + +SOURCE_DIR="webkit-$portVersion" + +BUILD() +{ + export PKG_CONFIG_LIBDIR="`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/pkgconfig" + Tools/Scripts/build-webkit --haiku --no-webkit2 \ + --cmakeargs="-DCMAKE_INSTALL_PREFIX=$prefix -DSHOULD_INSTALL_JS_SHELL=ON" +} + +INSTALL() +{ + cd WebKitBuild/Release + make install + + rm $developLibDir/* + prepareInstalledDevelLibs libWebKit + + # devel package + packageEntries devel \ + $developDir +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + haikuwebkit${secondaryArchSuffix}_devel = $portVersion + devel:libjavascriptcore$secondaryArchSuffix = $portVersion + devel:libwebcore$secondaryArchSuffix = $portVersion + devel:libWebKit$secondaryArchSuffix = $portVersion + devel:libwtf$secondaryArchSuffix = $portVersion + " +REQUIRES_devel=" + haikuwebkit$secondaryArchSuffix == $portVersion base + " diff --git a/media-libs/harfbuzz/harfbuzz-0.9.29.recipe b/media-libs/harfbuzz/harfbuzz-0.9.29.recipe new file mode 100644 index 000000000..3614601c9 --- /dev/null +++ b/media-libs/harfbuzz/harfbuzz-0.9.29.recipe @@ -0,0 +1,43 @@ +SUMMARY="HarfBuzz is an OpenType text shaping engine." +DESCRIPTION=" +HarfBuzz is an OpenType text shaping engine. It is used to layout complex text +such as the Indic and Arabic alphabets. +" +HOMEPAGE="http://www.freedesktop.org/wiki/Software/HarfBuzz/" +SRC_URI="http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-$portVersion.tar.bz2" +CHECKSUM_SHA256="601cea38c6fa0cf362dd9042c66cf4db711c5f9390de4ca46d6d2fc3f64de390" +REVISION="1" +ARCHITECTURES="x86_gcc2" +PROVIDES=" + harfbuzz = $portVersion +" + +BUILD_REQUIRES=" + devel:libfreetype + devel:libglib_2.0 + devel:cairo +" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:automake + cmd:gcc + cmd:gtkdocize + cmd:libtool + cmd:make + cmd:pkg_config +" + +BUILD() +{ + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install +} + +LICENSE="GNU GPL v2" +COPYRIGHT="2002-2010 Damon Chaplin and Owen Taylor" diff --git a/media-libs/libcddb/libcddb-1.3.2.recipe b/media-libs/libcddb/libcddb-1.3.2.recipe index 60632a98d..eec5831a1 100644 --- a/media-libs/libcddb/libcddb-1.3.2.recipe +++ b/media-libs/libcddb/libcddb-1.3.2.recipe @@ -2,6 +2,7 @@ SUMMARY="CDDB access library" DESCRIPTION="A library for accessing a CDDB server" HOMEPAGE="http://libcddb.sourceforge.net" SRC_URI="http://prdownloads.sourceforge.net/libcddb/libcddb-1.3.2.tar.bz2" +CHECKSUM_SHA256="35ce0ee1741ea38def304ddfe84a958901413aa829698357f0bee5bb8f0a223b" REVISION="1" ARCHITECTURES="x86 ?x86_gcc2 ?x86_64" diff --git a/media-libs/libsvgtiny/libsvgtiny-0.1.1.recipe b/media-libs/libsvgtiny/libsvgtiny-0.1.1.recipe index dc60d7db1..11d85c6c0 100644 --- a/media-libs/libsvgtiny/libsvgtiny-0.1.1.recipe +++ b/media-libs/libsvgtiny/libsvgtiny-0.1.1.recipe @@ -5,8 +5,8 @@ list of paths and texts which can be rendered easily. The library does not do \ the actual rendering. " HOMEPAGE="http://www.netsurf-browser.org/projects/libsvgtiny" -SRC_URI="http://git.netsurf-browser.org/libsvgtiny.git/snapshot/release/0.1.1.tar.gz" -CHECKSUM_SHA256="78bb67e1e93b3458c1a6414b569e3295ddbe99274a78928b33a5deea20f11d71" +SRC_URI="http://download.netsurf-browser.org/libs/releases/libsvgtiny-0.1.1-src.tar.gz" +CHECKSUM_SHA256="0835de639ae0266c394824fa78dc210013c5eeddef222d8b6485edb7fe0ddcd6" REVISION="1" ARCHITECTURES="x86_gcc2" PROVIDES=" @@ -22,12 +22,15 @@ BUILD_PREREQUIRES=" cmd:gcc gperf cmd:make + cmd:pkg_config " -SOURCE_DIR="release/0.1.1" +PATCHES="libsvgtiny-0.1.1.patchset" + BUILD() { - make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem + make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem \ + INCLUDEDIR=$relativeIncludeDir } INSTALL() diff --git a/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe b/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe index 427515563..ec30601c3 100644 --- a/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe +++ b/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe @@ -89,6 +89,7 @@ INSTALL() } PROVIDES_devel=" + sdl_mixer${secondaryArchSuffix}_devel = $portVersion devel:sdl_mixer$secondaryArchSuffix = 1.2.12 compat >= 1.2 devel:libSDL_mixer$secondaryArchSuffix = 1.2_0.12.0 compat >= 0 devel:libSDL_mixer_1.2$secondaryArchSuffix = 0.12.0 compat >= 0 diff --git a/media-libs/vigra/vigra-1.10.0.recipe b/media-libs/vigra/vigra-1.10.0.recipe index 78ec8b860..b07310f31 100644 --- a/media-libs/vigra/vigra-1.10.0.recipe +++ b/media-libs/vigra/vigra-1.10.0.recipe @@ -1,15 +1,15 @@ SUMMARY="Vision with Generic Algorithms" DESCRIPTION=" - C++ computer vision library with emphasize on customizable \ - algorithms and data structures. - " +C++ computer vision library with emphasize on customizable algorithms \ +and data structures. +" LICENSE="MIT" COPYRIGHT="1998-2013 by Ullrich Koethe" HOMEPAGE="http://ukoethe.github.io/vigra/" SRC_URI="https://github.com/ukoethe/vigra/archive/Version-1-10-0.tar.gz" -SRC_FILENAME="$portVersionedName.tar.gz" +SRC_FILENAME="$portName-$portVersion.tar.gz" CHECKSUM_SHA256="406f6fcbcea2e92f681a7b844487c29049d338f5b2b25f8145e67bcb518c7ef8" -REVISION="2" +REVISION="4" ARCHITECTURES="x86 ?x86_gcc2 ?x86_64" SECONDARY_ARCHITECTURES="x86 ?x86_gcc2" @@ -96,9 +96,9 @@ TEST() PROVIDES_devel=" vigra${secondaryArchSuffix}_devel = $portVersion cmd:vigra_config$secondaryArchSuffix - cmd:python # vigra-config is python script devel:libvigraimpex$secondaryArchSuffix = 5.1.10.0 compat >= 5 " REQUIRES_devel=" vigra$secondaryArchSuffix == $portVersion base + cmd:python # vigra-config is python script " diff --git a/net-fs/samba/samba-3.6.24.recipe b/net-fs/samba/samba-3.6.24.recipe new file mode 100644 index 000000000..caa874f5b --- /dev/null +++ b/net-fs/samba/samba-3.6.24.recipe @@ -0,0 +1,149 @@ +SUMMARY="Library bits of the samba network filesystem" +DESCRIPTION=" +Samba is an Open Source/Free Software suite that provides seamless file and \ +print services to SMB/CIFS clients. Samba is freely available, unlike other \ +SMB/CIFS implementations, and allows for interoperability between Linux/Unix \ +servers and Windows-based clients. Samba is software that can be run on a \ +platform other than Microsoft Windows, for example, UNIX, Linux, IBM System \ +390, OpenVMS, and other operating systems. Samba uses the TCP/IP protocol that \ +is installed on the host server. When correctly configured, it allows that \ +host to interact with a Microsoft Windows client or server as if it is a \ +Windows file and print server." +HOMEPAGE="http://www.samba.org/" +COPYRIGHT="1992-2014 Anrew Tridgell and the Samba Team" +LICENSE="GNU GPL v3" + +SRC_URI="http://ftp.samba.org/pub/samba/samba-3.6.24.tar.gz" + +CHECKSUM_SHA256="11d0bd04b734731970259efc6692b8e749ff671a9b56d8cc5fa98c192ab234a7" + +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" +DISABLE_SOURCE_PACKAGE=yes + +PATCHES="samba-3.6.23.patchset" + +GLOBAL_WRITABLE_FILES=" + settings/samba directory keep-old + " + +PROVIDES=" + smbclient$secondaryArchSuffix = $portVersion + cmd:eventlogadm$secondaryArchSuffix = $portVersion + cmd:findsmb$secondaryArchSuffix = $portVersion + cmd:net$secondaryArchSuffix = $portVersion + cmd:nmbd$secondaryArchSuffix = $portVersion + cmd:nmblookup$secondaryArchSuffix = $portVersion + cmd:ntlm_auth$secondaryArchSuffix = $portVersion + cmd:pdbedit$secondaryArchSuffix = $portVersion + cmd:profiles$secondaryArchSuffix = $portVersion + cmd:rpcclient$secondaryArchSuffix = $portVersion + cmd:sharesec$secondaryArchSuffix = $portVersion + cmd:smbcacls$secondaryArchSuffix = $portVersion + cmd:smbclient$secondaryArchSuffix = $portVersion + cmd:smbcontrol$secondaryArchSuffix = $portVersion + cmd:smbcquotas$secondaryArchSuffix = $portVersion + cmd:smbd$secondaryArchSuffix = $portVersion + cmd:smbget$secondaryArchSuffix = $portVersion + cmd:smbpasswd$secondaryArchSuffix = $portVersion + cmd:smbspool$secondaryArchSuffix = $portVersion + cmd:smbstatus$secondaryArchSuffix = $portVersion + cmd:smbta_util$secondaryArchSuffix = $portVersion + cmd:smbtar$secondaryArchSuffix = $portVersion + cmd:smbtree$secondaryArchSuffix = $portVersion +# cmd:swat$secondaryArchSuffix = $portVersion + cmd:tdbbackup$secondaryArchSuffix = $portVersion + cmd:tdbdump$secondaryArchSuffix = $portVersion + cmd:tdbrestore$secondaryArchSuffix = $portVersion + cmd:testparm$secondaryArchSuffix = $portVersion + cmd:tdbtool$secondaryArchSuffix = $portVersion + lib:libnetapi$secondaryArchSuffix = $portVersion + lib:libsmbclient$secondaryArchSuffix = $portVersion + lib:libsmbsharemodes$secondaryArchSuffix = $portVersion + lib:libtalloc$secondaryArchSuffix = $portVersion + lib:libtdb$secondaryArchSuffix = $portVersion + lib:libtevent$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + lib:libiconv$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libncurses$secondaryArchSuffix + lib:libreadline$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + devel:libiconv$secondaryArchSuffix + devel:libintl$secondaryArchSuffix + devel:libncurses$secondaryArchSuffix + devel:libreadline$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + cmd:libtoolize + cmd:perl + cmd:pkg_config + cmd:python + cmd:find + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:which + " + +BUILD() +{ + cd source3 + sed -i 's/| \*qnx\*/| \*qnx\* | haiku\*/g' configure + LDFLAGS=-lnetwork runConfigure ./configure --disable-swat \ + --with-configdir=$settingsDir/samba \ + --with-privatedir=$settingsDir/samba \ + --with-localedir=$dataRootDir/locale \ + --with-logfilebase=sharedStateDir/log + sed -i 's/\modules\/CP850.o modules\/CP437.o//g' Makefile + sed -i 's/-lpthread//g' Makefile + sed -i 's/-lc//g' Makefile + make $jobArgs +} + +INSTALL() +{ + + cd source3 + make $jobArgs install + + # move headers to the correct location + mkdir -p $(dirname $includeDir) + mv $prefix/include $includeDir/ + + # copy sample config file + cp ../testdata/samba3/smb.conf $settingsDir/samba + + prepareInstalledDevelLibs libnetapi \ + libsmbclient \ + libsmbsharemodes \ + libtalloc \ + libtdb \ + libtevent + + packageEntries devel $developDir +} + +PROVIDES_devel=" + libsmbclient${secondaryArchSuffix}_devel = $portVersion + devel:libsmbclient$secondaryArchSuffix = $portVersion compat >= 0 + devel:libnetapi$secondaryArchSuffix = $portVersion compat >= 0 + devel:libsmbsharemodes$secondaryArchSuffix = $portVersion compat >= 0 + devel:libtalloc$secondaryArchSuffix = $portVersion compat >= 2 + devel:libtdb$secondaryArchSuffix = $portVersion compat >= 1 + devel:libtevent$secondaryArchSuffix = $portVersion compat >= 0 + " +REQUIRES_devel=" + libsmbclient$secondaryArchSuffix == $portVersion base + " diff --git a/net-libs/libdom/libdom-0.1.0.recipe b/net-libs/libdom/libdom-0.1.0.recipe index c2173cf5a..4970a3e31 100644 --- a/net-libs/libdom/libdom-0.1.0.recipe +++ b/net-libs/libdom/libdom-0.1.0.recipe @@ -1,8 +1,8 @@ SUMMARY="LibDOM is an implementation of the W3C DOM" DESCRIPTION="An implementation of the W3C DOM for NetSurf, written in C." HOMEPAGE="http://www.netsurf-browser.org/projects/libdom/" -SRC_URI="http://git.netsurf-browser.org/libdom.git/snapshot/release/0.1.0.tar.gz" -CHECKSUM_SHA256="1e08a713ff564533a27699f82491f48b384c1336c392d76226356f474f07dfc0" +SRC_URI="http://download.netsurf-browser.org/libs/releases/libdom-0.1.0-src.tar.gz" +CHECKSUM_SHA256="235fde8bcfcf71e325c1344acfb995d5d59e1d8ebfcb9c87c1aefd1a08c8fae6" REVISION="1" ARCHITECTURES="x86_gcc2" @@ -27,8 +27,7 @@ BUILD_PREREQUIRES=" cmd:pkg_config " -SOURCE_DIR="release/$portVersion" -PATCHES="libdom-0.1.0.recipe" +PATCHES="libdom-0.1.0.patchset" BUILD() { make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem diff --git a/sys-apps/grep/grep-2.20.recipe b/sys-apps/grep/grep-2.20.recipe index e87c73bab..ab6fd3593 100644 --- a/sys-apps/grep/grep-2.20.recipe +++ b/sys-apps/grep/grep-2.20.recipe @@ -38,6 +38,7 @@ BUILD_PREREQUIRES=" cmd:ld cmd:libtoolize cmd:make + cmd:makeinfo " defineDebugInfoPackage grep \ diff --git a/sys-devel/gcc/gcc-4.8.3_2014_05_28.recipe b/sys-devel/gcc/gcc-4.8.3_2014_05_28.recipe index 988a28ed2..c1e752f29 100644 --- a/sys-devel/gcc/gcc-4.8.3_2014_05_28.recipe +++ b/sys-devel/gcc/gcc-4.8.3_2014_05_28.recipe @@ -8,7 +8,7 @@ srcGitRev="3ad9ac2317f63b65937473c4fbe37c9e93e3a116" SRC_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" CHECKSUM_SHA256="85499c650421b68f9830d3fb2ddfafb8789a3e1ffce75e8dd27aaed678135df0" SRC_FILENAME="$portVersionedName.tar.gz" -REVISION="1" +REVISION="2" LICENSE=" GNU GPL v2 GNU LGPL v2 @@ -87,6 +87,9 @@ BUILD() # disable multilib support, as x86_64 by default tries to build the # 32-bit libraries, too, which fails as no 32-bit libroot is available additionalConfigureFlags+=" --disable-multilib" + + # disable TLS support, as it causes an ICE on x86_64 + additionalConfigureFlags+=" --disable-tls" fi CFLAGS="-O2 -U_FORTIFY_SOURCE" CXXFLAGS="-O2" "$sourceDir/configure" \ diff --git a/www-client/qupzilla/patches/qupzilla-1.7.x.patchset b/www-client/qupzilla/patches/qupzilla-1.7.x.patchset deleted file mode 100644 index f070295b2..000000000 --- a/www-client/qupzilla/patches/qupzilla-1.7.x.patchset +++ /dev/null @@ -1,304 +0,0 @@ -From 8fd07376920cebdbb551fb937c91acf408fb6c44 Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Thu, 5 Dec 2013 18:47:08 +0000 -Subject: QupZilla resource file. Provided by Giovanni, converted to .rdef - file. - - -diff --git a/Haiku/QupZilla.rdef b/Haiku/QupZilla.rdef -new file mode 100644 -index 0000000..e5bc598 ---- /dev/null -+++ b/Haiku/QupZilla.rdef -@@ -0,0 +1,161 @@ -+ -+resource app_signature "application/x-vnd.QupZilla"; -+ -+resource app_version { -+ major = 1, -+ middle = 5, -+ minor = 0, -+ -+ variety = B_APPV_DEVELOPMENT, -+ internal = 0, -+ -+ short_info = "Qupzilla Qt browser", -+ long_info = "Qupzilla © 2010 - 2013 David Rosca" -+}; -+ -+resource vector_icon array { -+ $"6E6369660904008D040057020106033D8AFE000000000000BD8AFE48F10748A0" -+ $"7831B4E8F7C800EAFFFFFFFFFF020106033D0AFE000000000000BD0AFE48F107" -+ $"48A078509FA0A4DB677280FF6B6B6B020116043D950B0000000000003D950B49" -+ $"4FBC479BEC00FF4CF591D2FF9E0200020538B239BCCACB3F86163B6714C24359" -+ $"4A75A8000000FFFF3F0000FF2F750000FF72A00303946EF2030394FF05FF05FF" -+ $"020112023E9FFF0000000000003CC0004A70004B00009CFF0000FFFF1302043C" -+ $"26C2FF26B95026263C26B95026C2FF3C52B95052C2FF52523C52C2FF52B95002" -+ $"6EC5DCB8B6C713BAA0C4CAB706C110B579C307B5D5C0A2B565BFC2B55BC032B5" -+ $"5BBDBCB55BBA69B7BABBC5B63AB8F9B94FB89DBD9CB84FBB7EB8C7BE9AB924BF" -+ $"77B8E0BEE7B9DEC11FBCE0C332BB38C279BEC5C405C2D8C31AC0FBC3FCC2C6C2" -+ $"C1C22FC2B7C27AC2BEC22FC2B7C227C2B7C227C2B7C227C2B7C241C2BDC241C2" -+ $"BDC206C2B0C199C2DBC1D0C2CBC159C2EEC0D4C2DDC115C2E5C051C2CEBF43C3" -+ $"13BFB0C2B4BF3DC313BF36C313BF36C313BF36C313BF20C313BF20C313BF20C3" -+ $"13BDEDC313BE23C313BDB9C2EDBD57C2DFBD87C2E3BD54C2DCBD3EC2C3BD3EC2" -+ $"C3BD31C2B4BD13C2A5BD26C2ABBD13C2A5BCA4C27EBCA4C27EBCA4C27EBC31C2" -+ $"54BC31C254BC27C251BC12C24FBC1DC250BC10C24BBC0FC242BC11C246BC0FC2" -+ $"42BBF5C219BBF5C219BBD3C1DEBB68C195BBAEC1A4BB71C16EBB58C129BB63C1" -+ $"4EBB4BC101BB4BC0ADBB48C0D7BB4BC0ADBB4EC087BB4EC087BB52C054BB4DBF" -+ $"EEBB55C021BB9EBF93BBA9BEBFBBB0BF36BBA9BEBFBBA7BE93BBA7BE93BBA7BE" -+ $"53BBBCBE2FBBA8BE4BBBBCBE2FBBC7BE21BBC7BE21BC00BDD5BBE3BCFCBC5BBD" -+ $"3DBBE3BCFCBAB7BC58BAB7BC58BAB7BC58BA8BBC44BA90BC46BA8BBC44BA8BBC" -+ $"42BA8BBC42BA89BBEABA23BB79BA6ABBADBA23BB79BA12BB6BBA12BB6BBA12BB" -+ $"6BB9F8BB49B9F8BB49B9F8BB49B9AEBAF0B9AEBAF0B97EBAC3B928BAB1B950BA" -+ $"B5B924BAA9B91BBA9AB920BAA1B984BA6EB9DEB997B9B5B9F9B9F6B95DBA36B8" -+ $"F0BA0BB91FBA5EB8C4BA78B85EBA83B89EBACCB83DBB61B7E7BB18B813BB61B7" -+ $"E7BB6BB7E1BB6BB7E1BB6BB7E1BBFEB787BBFEB787BC65B74ABCB6B684BC94B6" -+ $"F6BCF5B68ABD58B665BD2DB67BBDA8B695BE6DB651BE29B697BE6FB650BE88B6" -+ $"4FBE7CB64FBE62B6A0BEE1B72FBE88B70EBEE4B733BEE9B73EBEE5B73ABED8B7" -+ $"44BEC6B74ABEC6B74ABEC6B74ABE75B7A5BE75B7A5BE63B7DDBE90B849BE74B8" -+ $"17BE91B84CBE92B852BE92B852BE94B85CBE9DB87ABE97B86BBE94B884BE8CB8" -+ $"8DBE8CB88DBE3AB8F0BD92B98FBDB7B906BD92B98FBD8DB9A1BD8DB9A1BD64B9" -+ $"D8BD7EBA55BD59BA19BD7BBA5CBD77BA63BD77BA63BD56BAA0BD4DBB2CBD39BA" -+ $"E6BD60BB70BDCCBBCEBD98BBA2BDFFBBFABE73BC3FBE33BC27BEBEBC5CBF5EBC" -+ $"42BF12BC56BF5EBC42BFAC37BFAC37BFD0BC1EC01CBC0FBFF5BC0BC046BC14C0" -+ $"83BC4EC066BC35C04DBCD9C0F4BDDAC0B6BD63C0F4BDDAC107BDF9C102BDF2C0" -+ $"BABE84C127BF91C0B2BF1DC127BF91C133BF9DC133BF9DC131C00FC1C5C0F9C1" -+ $"35C0D6C259C11CC348C059C2EEC0C9C348C059C36BC02FC36BC02FC36BC02FC3" -+ $"88C019C388C019C3A8C003C3DBBFC5C3C9BFE8C3EEBFA0C409BF52C3F0BF73C4" -+ $"09BF52C409BF53C409BF53C40DBF9AC495BFC1C450BFCEC4EBBFB3C542BF10C5" -+ $"1FBF56C542BF10C551BEF2C551BEF2C551BEF2C555BEEBC555BEEBC57FBEA3C5" -+ $"68BDFCC59EBE47C53ABDBBC4A3BDDFC4E1BDAAC4A3BDCAC4A3BDB5C4A3BDB5C4" -+ $"A3BDB5C4A5BD31C4A5BD31C4A8BD1EC4E8BCDFC4D2BCF5C4E8BCDFC4FEBCC9C4" -+ $"FEBCC9C4FEBCC9C516BCB3C516BCB3C545BC8BC582BC20C571BC5EC58CBC05C5" -+ $"88BBBCC586BBD9C588BBBCC587BBA8C587BBA8C587BBA8C588BB9DC588BB9DC5" -+ $"8DBB614EBAFAC584BB24C58ABADAC5C2BA5DC5B0BAA2C5C4BA62C5CBBA70C5CB" -+ $"BA70C5D9BA8EC60FBAD4C5EDBAB3C60ABB1FC648BBAAC627BB67C669BBEBC66F" -+ $"BC7BC670BC33C66FBC7BC672BCC4C672BCC4C674BCEAC66EBD37C678BD11C664" -+ $"BD5AC649BD9CC652BD79C633BDECC62CBE92C62DBE3FC621BED5C67FBF2CC648" -+ $"BF16C750BD0F0006BC12B6E4BC12B6E4BC32B6B0BC55B638BC47B674BB81B6AB" -+ $"BA2BB802BAC4B747BA88B7E3BB30B77EBADDB7B0BB59B765BBAAB733BB82B74D" -+ $"BBCBB71DBC12B6E4BBFCB707BC12B6E4001DBACDBFD1BACDBFD1BAEBBFAABB29" -+ $"BF5CBB13BF89BB43BF24BB34BE93BB34BED0BB34BE4DBB60BDEABB34BE25BB80" -+ $"BDBEBBABBD60BBA1BD98BB48BD2ABA81BCBEBAE5BCF3BA67BCB1BA20BC83BA2D" -+ $"BCA0BA0FBC5BBA0DBC02BA1FBC28B9FEBBE5B9BABBB6B9D0BBD0B99BBB91B95F" -+ $"BB44B983BB66B93DBB24B8F0BB2DB91CBB16B8C0BB48B8BEBADFB8C3BAFFB8B1" -+ $"BB14B89FBB7EB8A7BB49B8C9BB7EB8C5BBB2B8C3BB8AB8C6BBDBB8C9BC2EB8C7" -+ $"BC05B8D0BC40B8BABC49B8CBBC49B8B4BC4BB8AABC4EB8AFBC4DB8A0BC57B893" -+ $"BC4BB898BC56B882BC4AB88FBD10B88EBD00B893BD49B8E1BDE7B88DBE03B90D" -+ $"BE04B923BE75B906BE4BB946BEA8B985BF00B973BEC1B997BF3EB9A3BFC1B998" -+ $"BF81B9B0C011BA17C05FB9DBC02EBA25C0B3BA75C127BA3DC0E7BA8FC144BAC0" -+ $"C17FBAA9C160BAD8C19FBAFCC17CBAE4C19DBADDC13ABAD7C0A6BAD3C0EFBADB" -+ $"C061BACDBFD1BAEAC013BACDBFD10009BD5EB5D7BD5EB5D7BD81B5EEBDB1B60E" -+ $"BD84B605BDD0B613BE19B601BE01B61ABE55B5C3BEF6B5C4BEB0B5EFBF2DB5A2" -+ $"BFA3B55EBF5BB55EBFCEB55DC00CB58CBFE9B578C03CB5A7C090B566C064B575" -+ $"BF3AB541BCA7B60EBDDDB57ABCECB623BD5EB5D7BD29B601BD5EB5D70005BF35" -+ $"B6EABF35B6EABF55B6ECBF9AB6F5BF7BB702BFCEB6E0BF87B67DBF9CB693BF78" -+ $"B66DBF3CB664BF2FB623BF45B690BF35B6EABF6BB6CCBF35B6EA0004BA07B87F" -+ $"BA07B87FBA0CB868B9EFB850B9FEB85FB982B8E4B8F0BA35B92CB988B97E31BA" -+ $"07B87FB974B8F0BA07B87F0066C6F7BC24C6F7BC24C6DCBB0AC6002FC68BB9F2" -+ $"C5B9B87CC4FFB79CC563B805C4CEB768C463B709C49AB737C452B6FBC428B6EF" -+ $"C440B6E2C412B6FAC407B6C1C401B6D1C316B60FC0D0B56FC1F9B59AC0FBB58B" -+ $"C15FB59CC131B589C170B5A2C179B5C9C19FB5BDC12DB5E2C08AB5C9C0D7B5C4" -+ $"C05AB5CDC03FB60EC043B5DDC03DB629C040B676C036B65DC04BB694C0B6B65F" -+ $"C0A8B66FC0CDB643C0F1B61AC0B1B608C108B64BC0D0B6B1C13AB6D6C0B5B6A7" -+ $"C066B689C083B67CC064B68AC05DB6AFC05FB6ABC053B6C0C031B6D0C044B6CB" -+ $"BFE6B6E5BF94B741BFB0B6EFBF87B769BF5DB791BF88B781BF3BB79DBEF7B7B2" -+ $"BF17B7A4BECCB7C7BEFAB81CBEEAB7FFBF06B830BF19B86CBF03B860BF59B891" -+ $"BFBEB7E0BFA3B802BFE1B7B3C038B7ADC008B7BDC04FB7A6C084B777C06CB76E" -+ $"C0D3B795C0F8B83EC0EBB7F4C110B83FC135B810C100B802C10DB7E5C0ECB770" -+ $"43B7ABC125B795C15FB7FDC14DB7BDC170B83DC1C2B820C18EB860C1CFB813C1" -+ $"FDB7D5C1E2B7BDC214B7EAC1F1B838C215B82FC206B84BC23AB83DC222B843C2" -+ $"5AB834C28BB842C26CB836C2AFB850C2FAB857C2D5B854C320B859C347B898C3" -+ $"35B87BC377B8E7C24AB8C5C259B8C6C228B8C3C1E2B8D0C202B8C2C1C9B8DAC1" -+ $"99B8F0C1B62FC179B8E5C13FB8B6C15BB8C8C118B89CC0C5B872C0EFB885C07F" -+ $"B853BFE3B84FC02FB83FBFBFB856BF7FB87CBF9CB866BF5CB897BF11B8A4BF35" -+ $"B87FBEDCB8DCBE6EB942BEB6B91FBE51B950BE19B976BE2EB95CBE04B990BDF6" -+ $"B9D1BE04B9B4BDE9B9EEBDE2BA1DBDCAB9FCBDF8BA3CBDEFBA76BDFEBA53BDD9" -+ $"BAA9BDC9BB27BD9FBAEFBDF235BE71BBBCBE3ABB94BEAFBBE9BF41BBD2BEFBBB" -+ $"E5BF83BBC1C009BB9CBFC5BBA1C05FBB96C0DDBC03C0A1BBCDC104BC26C0F5BC" -+ $"67C114BC34C0D3BC9FC103BD00C0E8BCC8C11FBD37C159BDA3C13CBD6DC166BD" -+ $"BAC182BDE8C177BDD0C18EBE04C16DBE2DC17BBE15C152BE5EC13FBECFC13FBE" -+ $"97C13FBF0EC185BF4CC15DBF24C1AABF71C1A4BFE3C1A8BFB3C1A0C025C1DBC0" -+ $"87C1B3C053C216C08AC289C06CC253C086C2CBC04DC319BFDEC2E8C00FC347BF" -+ $"B0C386BF66C378BFABC396BF13C3FEBEBFC3C2BEF2C435BE90C430BE0CC42EBE" -+ $"4DC432BDC0C433BD22C429BD6DC43CBCDEC4ABBC78C47EBCA7C4CDBC56C512BC" -+ $"03C505BC34C519BBE7C513BBA8C51336C513BB93C51135C51ABB71C4F8BB29C4" -+ $"7EBB2CC48ABB5DC476BB0EC48BBB01C477BB14C4A1BAEDC478BACDC48BBAD8C4" -+ $"42BAADC3F1BA66C418BA9AC3CCBA36C391B9CBC3AEBA00C389B9BEC36CB93BC3" -+ $"42B92EC39AB94AC3E2B9A3C3C4B981C419B9DFC46DBA6AC44ABA20C46EBA73C4" -+ $"96BA8AC48FBA85C4AFBA9CC4EABAA8C4CABAABC533BAA2C55ABA20C555BA61C5" -+ $"62B9C7C4E8B9AFC51DB9DAC4CAB997C49EB958C4B6B975C48FB946C474B90EC4" -+ $"66B92AC493B8F9C4BDB91DC49FB90BC4E0B932C52CB951C505B944C555B95EC5" -+ $"B4B96CC592B952C5C9B97CC5E7B9B8C5D9B9A2C5FEB9DCC627BA26C614BA00C6" -+ $"45BA61C694BA9FC64DBA89C667BAE8C6B6BB83C693BB3FC6DFBBD4C6E3BC7CC6" -+ $"E4BC23C6E2BCCEC6D0BD79C6F5BD2CC6A7BDCCC69FBE9AC69FBE3EC6A1BE95C6" -+ $"A5BE88C6A3BE8DC6A2BE8FC6A1BEC0C696BEBEC6B2BEC4C6D6BE02C6D2BE15C6" -+ $"F6BD65C6F7BC24C700BCC4C6F7BC240008C301B7D8C301B7D8C2E6B7DCC2D4B7" -+ $"A4C2E8B7AEC2B1B792C269B7B8C288B7A7C204B7EFC236B743C221B77BC239B7" -+ $"3AC285B744C27AB746C2A7B740C2F3B74FC2D8B731C30CB76BC33CB7A1C31FB7" -+ $"87C360B7C2C301B7D8C31CB7D4C301B7D80004BB53C203BB53C203BB45C20DBB" -+ $"26C221BB38C21DBB55C249BBBAC291BB87C26EBB92C265BB53C203BB84C227BB" -+ $"53C2030005C4F4BE2EC4F4BE2EC4D3BE57C48CBEA4C4A6BE76C46EBEDAC47DBF" -+ $"53C47DBF18C4B6BF38C4EDBEB9C4D0BEECC502BE93C4F4BE2EC531BE48C4F4BE" -+ $"2E0009C213C327C213C327C17FC390BFF7C345C09DC332BFD0C349BF8EC36ABF" -+ $"ACC350BF67C38CBF20C386BF56C386BEAFC386BDCDC386BE3EC386BEC1C3CBC0" -+ $"C0C3BABFC4C3DDC137C3AAC221C367C1AFC38EC22AC364C262C32BC280C337C2" -+ $"49C322C213C327C22AC331C213C32702044844C83744BDA844304F30C34E30C8" -+ $"25485ABDA85AC8375A604F60C82560C34E02044844C83744BDA844304F30C34E" -+ $"30C825485ABDA85AC8375A604F60C82560C34E00033129B6FBB62F382A432D38" -+ $"29C350B90A51374F34C7F0BE4900032F2BB61DB6E7352C4331BD1AB8554B3452" -+ $"3AC5A5BC67563D00032F2AB6132A362A452EBDF8B6F64C3153395236C82ABF7F" -+ $"00032F2AB61AB692362B4431BD92B8284B3453395137C935BED9000333293025" -+ $"BB8EB7E64032BBC9B87947355137C4F2BBF058380F0A01010C2020230A000100" -+ $"12403FFF000000000000403FFFC37FFDBDFFEA01178400040A020100024045D1" -+ $"0000000000004045D1C3D174BF45D10A05010C023F800000000000000040D174" -+ $"C57FFFCAABA20A07010E12405F24B29AD639906A408BA7C636B6419D45011781" -+ $"00040A07010F124015ED323FDBB24E2E402334C5F50747993901178100040A07" -+ $"0112124066B7000000000000401824C818EA49567301178100040A0701101239" -+ $"2225C032573F46E538E8064444BD4BFBDC01178100040A07011112B96A6E4008" -+ $"5EBF3FF2B8E00B4AF9633A4E3F01178100040A08010D023BAAAA000000000000" -+ $"3DA2E84655554551740A08010D023BAAAA0000000000003E0000480AAA48C000" -+ $"0A08010D023A55550000000000003C2E8B485555422E8B0A08010D023A555500" -+ $"00000000003C2E8B462AAA49A5D10A030101024089423E3FC6BE4B32407CA03E" -+ $"BCEEC81B9D0A040A0304050607080A0B02090240889B3E4A79BE57CC407A333F" -+ $"DD1AC822A9" -+}; -+ -+resource file_types message { -+ "types" = "application/x-vnd.Be-bookmark", -+ "types" = "application/x-vnd.Be.URL.file", -+ "types" = "application/x-vnd.Be.URL.ftp", -+ "types" = "text/html", -+ "types" = "application/x-vnd.Be.URL.http", -+ "types" = "application/x-vnd.Be.URL.https" -+}; --- -1.8.3.4 - - -From d4cab847f667f280d6cba95d6d61eb0d82feeca2 Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Mon, 24 Mar 2014 23:16:35 +0000 -Subject: Modify defines.pri for Haiku-specific build options. - - -diff --git a/src/defines.pri b/src/defines.pri -index c21413b..aa6fa11 100644 ---- a/src/defines.pri -+++ b/src/defines.pri -@@ -13,6 +13,11 @@ unix: VERSION = 1.7.0 - # Please read BUILD information # - #DEFINES *= PORTABLE_BUILD - -+DEFINES *= QUPZILLA_PREFIX="/boot/home/config/apps/QupZilla/" -+DEFINES *= DISABLE_DBUS -+DEFINES *= NO_SYSTEM_DATAPATH -+DEFINES *= NO_X11 -+ - win32-msvc* { - DEFINES *= W7API - LIBS += User32.lib Ole32.lib Shell32.lib ShlWapi.lib Gdi32.lib ComCtl32.lib --- -1.8.3.4 - - -From 2a263fe6616cb263bfe0dd4911626811fec2ae99 Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Mon, 24 Mar 2014 23:17:19 +0000 -Subject: Tweak #ifdefs to include/exclude required headers for Haiku. Modify - qupzilla_signal_handler() to avoid saving backtrace on Haiku. - - -diff --git a/src/main/main.cpp b/src/main/main.cpp -index 9527c32..599520e 100644 ---- a/src/main/main.cpp -+++ b/src/main/main.cpp -@@ -22,9 +22,11 @@ - #include // For QT_REQUIRE_VERSION - #include - --#if defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__) -+#if defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__) || defined(__HAIKU__) - #include -+#ifndef __HAIKU__ - #include -+#endif - - #include - #include -@@ -48,6 +50,7 @@ void qupzilla_signal_handler(int s) - } - sigSegvServed = true; - -+#ifndef __HAIKU__ - std::cout << "QupZilla: Crashed :( Saving backtrace in " << qPrintable(DataPaths::path(DataPaths::Config)) << "/crashlog ..." << std::endl; - - void* array[100]; -@@ -97,6 +100,9 @@ void qupzilla_signal_handler(int s) - file.close(); - - std::cout << "Backtrace successfuly saved in " << qPrintable(dir.absoluteFilePath(file.fileName())) << std::endl; -+#else -+ std::cout << "QupZilla: Crashed :(" << std::endl; -+#endif - } - #endif // defined(Q_OS_LINUX) || defined(__GLIBC__) || defined(__FreeBSD__) - --- -1.8.3.4 - - -From 75f5809666b4b3eaf2aa1f53f694c04985ce90fa Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Mon, 24 Mar 2014 23:19:25 +0000 -Subject: processinfo.cpp: manually define DT_DIR on Haiku. - - -diff --git a/src/lib/3rdparty/processinfo.cpp b/src/lib/3rdparty/processinfo.cpp -index 6cc179c..17190b8 100644 ---- a/src/lib/3rdparty/processinfo.cpp -+++ b/src/lib/3rdparty/processinfo.cpp -@@ -29,6 +29,10 @@ - #include - #endif - -+#ifdef __HAIKU__ -+#define DT_DIR 4 -+#endif -+ - ProcessInfo::ProcessInfo(const QString &name) - : m_name(name) - { --- -1.8.3.4 - - -From f2a317930fc3ffb5dc3bc9d71dbfdc160540b630 Mon Sep 17 00:00:00 2001 -From: "Arfonzo J. Coward" -Date: Tue, 25 Mar 2014 00:17:04 +0000 -Subject: Ugly Haiku workaround for ProcessInfo::GetPIDbyName(). - - -diff --git a/src/lib/3rdparty/processinfo.cpp b/src/lib/3rdparty/processinfo.cpp -index 17190b8..c39f0dc 100644 ---- a/src/lib/3rdparty/processinfo.cpp -+++ b/src/lib/3rdparty/processinfo.cpp -@@ -79,6 +79,7 @@ pid_t ProcessInfo::GetPIDbyName(const char* cchrptr_ProcessName) const - - // Loop while not NULL - while ((de_DirEntity = readdir(dir_proc))) { -+#ifndef __HAIKU__ - if (de_DirEntity->d_type == DT_DIR) { - if (IsNumeric(de_DirEntity->d_name)) { - strcpy(chrarry_CommandLinePath, "/proc/") ; -@@ -112,6 +113,7 @@ pid_t ProcessInfo::GetPIDbyName(const char* cchrptr_ProcessName) const - } - } - } -+#endif - } - - closedir(dir_proc) ; --- -1.8.3.4 - diff --git a/www-client/qupzilla/qupzilla-1.7.x.recipe b/www-client/qupzilla/qupzilla-1.7.x.recipe index 77f35ae31..3deb8e308 100644 --- a/www-client/qupzilla/qupzilla-1.7.x.recipe +++ b/www-client/qupzilla/qupzilla-1.7.x.recipe @@ -1,24 +1,24 @@ SUMMARY="QupZilla, a lightweight QtWebKit web browser" -DESCRIPTION=" -QupZilla is a lightweight multiplatform web browser based on QtWebKit. - -It provides: +DESCRIPTION="QupZilla is a free and open-source web browser, \ +intended for general users. It allows seamless integration with \ +users' desktop environments and has several distinguishing features \ +positively received by reviewers: - A unified interface for bookmarks, history and RSS reading. - A themeable interface. - - Integrated AdBlock. - - Speed Dial. - - Multiplatform support." + - Integrated Adblock. + - Speed dial." HOMEPAGE="http://www.qupzilla.com" -SRC_URI="git://github.com/QupZilla/qupzilla.git" -REVISION="2" +SRC_URI="https://github.com/QupZilla/qupzilla/archive/eee3895f6954617f8eb1f15df18b33a9745491ba.zip" +CHECKSUM_SHA256="1ed2b9f1edd6908349d047e932114e7a0215c6dfe6290fe4a6f3bc1a4dd05e25" +SOURCE_DIR="qupzilla-master" +REVISION="5" LICENSE="GNU GPL v3" -COPYRIGHT="2010-2013 David Rosca" +COPYRIGHT="2010-2014 David Rosca" -ARCHITECTURES="x86" +ARCHITECTURES="x86 ?x86_64" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then ARCHITECTURES="$ARCHITECTURES x86_gcc2" fi -#ARCHITECTURES="x86 x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" @@ -31,26 +31,26 @@ PROVIDES=" REQUIRES=" haiku${secondaryArchSuffix} >= $haikuVersion libqt4${secondaryArchSuffix} >= 4.8.0 + lib:libexecinfo${secondaryArchSuffix} " BUILD_PREREQUIRES=" cmd:qmake${secondaryArchSuffix} cmd:make cmd:g++${secondaryArchSuffix} - cmd:pkg_config + cmd:pkg_config$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel == $haikuVersion - #qtcore${secondaryArchSuffix} >= 4.8.0 libqt4${secondaryArchSuffix}_devel >= 4.8.0 - devel:libssl${secondaryArchSuffix} + devel:libssl${secondaryArchSuffix} + devel:libcrypto${secondaryArchSuffix} + devel:libexecinfo${secondaryArchSuffix} " - -PATCHES="qupzilla-1.7.x.patchset" BUILD() -{ +{ qmake QUPZILLA_PREFIX=${appsDir}/QupZilla make $jobArgs } @@ -63,8 +63,8 @@ INSTALL() cd bin/ # Add Haiku resources. - rc -o ../Haiku/QupZilla.rsrc ../Haiku/QupZilla.rdef - xres -o qupzilla ../Haiku/QupZilla.rsrc + rc -o ../haiku/QupZilla.rsrc ../haiku/QupZilla.rdef + xres -o qupzilla ../haiku/QupZilla.rsrc mimeset -f qupzilla cp qupzilla ${appsDir}/QupZilla/ diff --git a/x11-libs/pixman/pixman-0.20.0.recipe b/x11-libs/pixman/pixman-0.20.0.recipe index b0051e825..b51b46a89 100644 --- a/x11-libs/pixman/pixman-0.20.0.recipe +++ b/x11-libs/pixman/pixman-0.20.0.recipe @@ -15,12 +15,7 @@ COPYRIGHT="1987-1998 The Open Group REVISION="1" -ARCHITECTURES="x86 x86_64" -if [ $effectiveTargetArchitecture != x86_gcc2 ]; then - # x86_gcc2 is fine as primary target architecture as long as we're building - # for a different secondary architecture. - ARCHITECTURES="$ARCHITECTURES x86_gcc2" -fi +ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86" PROVIDES=" diff --git a/x11-libs/pixman/pixman-0.32.4.recipe b/x11-libs/pixman/pixman-0.32.4.recipe new file mode 100644 index 000000000..d8ed72312 --- /dev/null +++ b/x11-libs/pixman/pixman-0.32.4.recipe @@ -0,0 +1,84 @@ +SUMMARY="pixman" +DESCRIPTION=" +Pixman - The pixel-manipulation library for X and cairo. +" +HOMEPAGE="http://cgit.freedesktop.org/pixman/" +SRC_URI="http://cairographics.org/releases/pixman-$portVersion.tar.gz" +CHECKSUM_SHA256="80c7ed420e8a3ae749800241e6347c3d55681296cab71384be7969cd9e657e84" +LICENSE="MIT" +COPYRIGHT="1987-1998 The Open Group + 1987-1989 Digital Equipment Corporation + 1999, 2004, 2008 Keith Packard + 2004-2010 Red Hat, Inc. + 2009-2010 Sun Microsystems, Inc. + and many others" + +REVISION="1" + +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + pixman$secondaryArchSuffix = $portVersion + lib:libpixman_1$secondaryArchSuffix = $portVersion + " + +PROVIDES_devel=" + pixman${secondaryArchSuffix}_devel = $portVersion + devel:libpixman_1$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " + +REQUIRES_devel=" + pixman$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:libtoolize + cmd:make + cmd:perl + cmd:pkg_config + " + +PATCH() +{ + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac +} + +BUILD() +{ + aclocal + libtoolize --force --copy --install + automake --add-missing + autoconf + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + prepareInstalledDevelLibs libpixman-1 + + fixPkgconfig + + packageEntries devel \ + $developDir +} + +TEST() +{ + make check +}