Merged haikuports/haikuports into master

This commit is contained in:
julien lepiller
2014-03-25 23:06:00 +01:00
16 changed files with 862 additions and 17 deletions

View File

@@ -15,7 +15,10 @@ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2"
COPYRIGHT="Bram Moleenar et al."
LICENSE="Vim"
REVISION="1"
CHECKSUM_SIZE="9843297"
CHECKSUM_MD5="607e135c559be642f210094ad023dc65"
CHECKSUM_RMD160="f23f62dccdbf84cbf907a0cd38c7077a87e764ee"
CHECKSUM_SHA512="65d55da556ee283a364b376d251b70e430b7a157bb5a8ee89565060ff9937907966d416cffd33f701b3314d0fdf16efe00065f66bc8459469f5ae2f713418e0e"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PROVIDES="

View File

@@ -11,10 +11,13 @@ OSI-approved open source license.
HOMEPAGE="http://www.python.org"
LICENSE="Python"
COPYRIGHT="1990-2012, Python Software Foundation"
SRC_URI="http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz"
SRC_URI="https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz"
CHECKSUM_SIZE="10431288"
CHECKSUM_MD5="bcf93efa8eaf383c98ed3ce40b763497"
CHECKSUM_RMD160="8efc73a01a466d8fa16c5c1734c89be79c2c538a"
CHECKSUM_SHA512="e56e6cdd96ff7bcb680d11ad606c00f4264e413fc43ba7605b2d2e4a743fd6e464cbedabf18b461f742102e936f45d840302a99665b5f988b1df08b25285c238"
REVISION="1"
ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64"
ARCHITECTURES="!x86_gcc2 !x86 !x86_64"
PATCHES="python-2.7.6.patchset"

View File

@@ -12,14 +12,24 @@ LICENSE="GNU GPL v2"
COPYRIGHT="2005-2012 Git Authors (see git web site for list)"
SRC_URI="http://git-core.googlecode.com/files/git-1.8.3.4.tar.gz"
CHECKSUM_SIZE="4479898"
CHECKSUM_MD5="80eec3201a5d012913d287b85adaee8e"
CHECKSUM_RMD160="3781bcb5b3ff4923d48a88a5d38a563f72d58815"
CHECKSUM_SHA512="84d2d70622d19200594f4ea8550f00c3bd46657381ea953a2171172faf27ffa8be30c9249e1ed93d983826880c7e78a76884c841212338efdfb7ab38713bdbe1"
PATCHES="git-1.8.3.4.patchset"
SRC_URI_2="http://git-core.googlecode.com/files/git-manpages-1.8.3.4.tar.gz"
CHECKSUM_SIZE_2="545017"
CHECKSUM_MD5_2="86fd812754d25201fd72c7476045dfec"
CHECKSUM_RMD160_2="ebdfaebeaf594f22fbe8edac964ebf4e83711bd8"
CHECKSUM_SHA512_2="91d7701cc17b221fb1c6706203d8a89534403dbcf5fc60736b66d2a9ab8aaa16ee49545caab1a8320b1cfaa2afc1fedf51d761f1bcd924f4deb97e1584d5c00d"
SRC_URI_3="http://git-core.googlecode.com/files/git-htmldocs-1.8.3.4.tar.gz"
CHECKSUM_SIZE_3="2119640"
CHECKSUM_MD5_3="be01cc4be1b946b053b69d12b422854a"
CHECKSUM_RMD160_3="4a8e4a2a0bf53b0de7e7bfaa9e6deba0df5747d7"
CHECKSUM_SHA512_3="8c21b68f12836c20b28e9e777a0476c391c940b0ad204d24abdca8a3232165e979c5a89027eb16d975a825c3091cb291092dfb2425e2e14188140dce647e6f7d"
REVISION="2"

View File

@@ -1,7 +1,7 @@
SUMMARY="DockBert adds a dock to your deskbar"
DESCRIPTION="
DockBert is a Deskbar modification. It adds a dock to your deskbar where you \
may have shortcuts organized in "tabs", a tab of the running apps and some \
may have shortcuts organized in \"tabs\", a tab of the running apps and some \
other general eyecandy.
"
HOMEPAGE="https://github.com/HaikuArchives/DockBert"

View File

@@ -6,9 +6,13 @@ LICENSE="MIT"
COPYRIGHT="2010-2012 Haiku, Inc"
HOMEPAGE="http://haiku.bplaced.net/"
SRC_URI="http://haiku.bplaced.net/DocumentViewer/sources/documentviewer-0.3.2.zip"
CHECKSUM_SIZE="300252"
CHECKSUM_MD5="1fddc4292ecb14f343eb18b0bf723b13"
CHECKSUM_RMD160="91389103af4c2448602580f321fa574bcd488948"
CHECKSUM_SHA512="359dcb532f423df4c6ad612ebce9e5752928d8f45f6e9eec77d1bdcc9d054456badc837380759ad91d073038a5e33972b682527ef70190830cdffaec0619b533"
REVISION="2"
ARCHITECTURES="x86"
PATCHES="documentviewer-0.3.2.patchset"
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.
@@ -45,15 +49,18 @@ BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
cmd:jam
cmd:find
cmd:g++$secondaryArchSuffix
cmd:jam
"
SOURCE_DIR="documentviewer-0.3.2"
BUILD()
{
jam
# Yes, the source package actually contains binaries...
find . \( -name '*.o' -or -name '*.a' \) -delete
jam -q
}
INSTALL()

View File

@@ -0,0 +1,139 @@
From 37a6e0dc8fa52531136c65ae8e0797bb1557fc89 Mon Sep 17 00:00:00 2001
From: Jonathan Schleifer <js@webkeks.org>
Date: Mon, 24 Mar 2014 22:12:11 +0100
Subject: [PATCH] Fix compilation on x86_64
---
application/Debug.h | 4 ++--
application/ImageButton.cpp | 10 ++++++----
application/MainWindow.cpp | 8 ++++----
application/Tools.h | 10 ++++++----
libs/columnlistview/ColumnListView.cpp | 4 ++--
5 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/application/Debug.h b/application/Debug.h
index 0cdf14a..ee14cef 100644
--- a/application/Debug.h
+++ b/application/Debug.h
@@ -91,7 +91,7 @@ public:
return( *this );
}
- Debug& operator<<(int32 number)
+ Debug& operator<<(long number)
{
fStr << number;
return *this;
@@ -143,7 +143,7 @@ public:
Debug& operator<<(int) { return *this; }
Debug& operator<<(uint) { return *this; }
Debug& operator<<(char) { return *this; }
- Debug& operator<<(int32) { return *this; }
+ Debug& operator<<(long) { return *this; }
bool const& state(void) { return fState; }
void Clear(void) { }
diff --git a/application/ImageButton.cpp b/application/ImageButton.cpp
index fc1ed66..2609613 100644
--- a/application/ImageButton.cpp
+++ b/application/ImageButton.cpp
@@ -8,6 +8,8 @@
*/
#include "ImageButton.h"
+#include <stdint.h>
+
#include <algorithm>
#include <Application.h>
@@ -248,12 +250,12 @@ ImageButton::_RescaleBitmap(const BBitmap* src, int32 width, int32 height)
void* srcData = src->Bits();
for (int32 y = 0; y <= height; y++) {
- void* dstRow = (void*)((uint32)dstData + (uint32)(y * dstYOff));
- void* srcRow = (void*)((uint32)srcData + ((uint32)(y * dy) * srcYOff));
+ void* dstRow = (void*)((uintptr_t)dstData + (uintptr_t)(y * dstYOff));
+ void* srcRow = (void*)((uintptr_t)srcData + ((uintptr_t)(y * dy) * srcYOff));
for (int32 x = 0; x <= width; x++)
- memcpy((void*)((uint32)dstRow + (x * bpp)), (void*)((uint32)srcRow
- + ((uint32)(x * dx) * bpp)), bpp);
+ memcpy((void*)((uintptr_t)dstRow + (x * bpp)), (void*)((uintptr_t)srcRow
+ + ((uintptr_t)(x * dx) * bpp)), bpp);
}
return res;
diff --git a/application/MainWindow.cpp b/application/MainWindow.cpp
index e8002bd..af73601 100644
--- a/application/MainWindow.cpp
+++ b/application/MainWindow.cpp
@@ -316,10 +316,10 @@ MainWindow::_SaveSettings(void)
if (fDocumentLayout != nullptr) {
settings
- << "Split10" << fSplitView1->ItemWeight(0L)
- << "Split11" << fSplitView1->ItemWeight(1L)
- << "Split20" << fSplitView2->ItemWeight(0L)
- << "Split21" << fSplitView2->ItemWeight(1L)
+ << "Split10" << fSplitView1->ItemWeight(0)
+ << "Split11" << fSplitView1->ItemWeight(1)
+ << "Split20" << fSplitView2->ItemWeight(0)
+ << "Split21" << fSplitView2->ItemWeight(1)
<< "RibbonTab" << fRibbon->ActiveTab()
<< "SidebarTab" << fTabView1->Selection()
<< "Fullscreen" << (int32)fFullscreenIsOn
diff --git a/application/Tools.h b/application/Tools.h
index 4941ac0..f994a6b 100644
--- a/application/Tools.h
+++ b/application/Tools.h
@@ -9,6 +9,8 @@
#ifndef TOOLS_H
#define TOOLS_H
+#include <stdint.h>
+
#include <memory>
#include <vector>
@@ -266,12 +268,12 @@ public:
void* srcData = src->Bits();
for (int32 y = 0; y <= height; y++) {
- void* dstRow = (void*)((uint32)dstData + (uint32)(y * dstYOff));
- void* srcRow = (void*)((uint32)srcData + ((uint32)(y * dy) * srcYOff));
+ void* dstRow = (void*)((uintptr_t)dstData + (uintptr_t)(y * dstYOff));
+ void* srcRow = (void*)((uintptr_t)srcData + ((uintptr_t)(y * dy) * srcYOff));
for (int32 x = 0; x <= width; x++)
- memcpy((void*)((uint32)dstRow + (x * bpp)), (void*)((uint32)srcRow
- + ((uint32)(x * dx) * bpp)), bpp);
+ memcpy((void*)((uintptr_t)dstRow + (x * bpp)), (void*)((uintptr_t)srcRow
+ + ((uintptr_t)(x * dx) * bpp)), bpp);
}
std::unique_ptr<BBitmap> bitmap(res);
diff --git a/libs/columnlistview/ColumnListView.cpp b/libs/columnlistview/ColumnListView.cpp
index baa05a2..fe3bbcb 100644
--- a/libs/columnlistview/ColumnListView.cpp
+++ b/libs/columnlistview/ColumnListView.cpp
@@ -454,7 +454,7 @@ BRow::BRow(float height)
BRow::~BRow()
{
while (true) {
- BField* field = (BField*) fFields.RemoveItem(0L);
+ BField* field = (BField*) fFields.RemoveItem(0);
if (field == 0)
break;
@@ -750,7 +750,7 @@ BColumnListView::BColumnListView(const char* name, uint32 flags,
BColumnListView::~BColumnListView()
{
- while (BColumn* column = (BColumn*)fColumns.RemoveItem(0L))
+ while (BColumn* column = (BColumn*)fColumns.RemoveItem(0))
delete column;
}
--
1.8.3.4

View File

@@ -9,9 +9,12 @@ COPYRIGHT="2002 Leon Bottou and Yann Le Cun.
2001 AT&T
1999-2001 LizardTech, Inc."
SRC_URI="http://downloads.sourceforge.net/project/djvu/DjVuLibre/3.5.25/djvulibre-3.5.25.2.tar.gz"
CHECKSUM_SIZE="2533618"
CHECKSUM_MD5="994e2ff1d4ae6a763764dfe20509826e"
CHECKSUM_RMD160="231124fddbd23c4150e06131a108f38b87fd570e"
CHECKSUM_SHA512="824d0d3d193495351cdc18f78cbf45a2d94d0884ff8be2b6a23f9dfa8d6bce8948507cb43633af940ad43b1f8e7520a2500075ef664d67e51a3b2a29b91ae110"
REVISION="1"
ARCHITECTURES="x86"
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.

View File

@@ -9,9 +9,12 @@ HOMEPAGE="http://code.google.com/p/mupdf/"
LICENSE="GNU GPL v3"
COPYRIGHT="2007 Free Software Foundation, Inc."
SRC_URI="http://mupdf.googlecode.com/files/mupdf-1.1-source.tar.gz"
CHECKSUM_SIZE="4281735"
CHECKSUM_MD5="f7b5fd753f40aca207e9afd70d8f8edf"
CHECKSUM_RMD160="7ebdbd3a1cc64a4de1de920d7b149a3682ba1431"
CHECKSUM_SHA512="d61694041d28309e8119283fb97cef5e1f2effa6e93bfe5ad0b2a0b6b76e38a575a23b0ba367cb59efa77f35b131bf82667f2c7c8df29eb4cdbe3c12b0ad3a33"
REVISION="1"
ARCHITECTURES="x86"
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.
@@ -59,7 +62,7 @@ BUILD()
{
# work around broken header layout in our freetype_devel package
XCFLAGS="-I/boot/system/develop/headers/freetype2" \
make libs
make $jobArgs libs
}
INSTALL()

View File

@@ -8,11 +8,14 @@ ratios on the order of 100:1.
"
HOMEPAGE="http://jbig2dec.sourceforge.net/"
SRC_URI="http://sourceforge.net/projects/jbig2dec/files/jbig2dec/0.11/jbig2dec-0.11.tar.gz"
CHECKSUM_SIZE="371499"
CHECKSUM_MD5="1f61e144852c86563fee6e5ddced63f1"
CHECKSUM_RMD160="8ee69d11d7aa6c590515a4d84644e273897bb4d0"
CHECKSUM_SHA512="25f71ad58af0254d70a9d23efc488e1f2d931b47e344f2acf9931959c1e93749051a57905291a7dfd40407bc1995726e667d0ed6ef94e07da02330f14477c55e"
LICENSE="GNU GPL v3"
COPYRIGHT="2001-2009 Artifex Software, Inc."
REVISION="1"
ARCHITECTURES="x86"
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.
@@ -64,7 +67,7 @@ BUILD()
automake --add-missing
autoconf
runConfigure ./configure
make
make $jobArgs
}
INSTALL()

View File

@@ -0,0 +1,89 @@
SUMMARY="A cross platform audio library"
DESCRIPTION="
Libao is a cross-platform audio library that allows programs to output audio \
using a simple API on a wide variety of platforms. It currently supports Null \
output, WAV files, AU files, RAW files, OSS, ALSA, aRts, PulseAudio, esd, Mac \
OS X, Windows, AIX, Sun/NetBSD/OpenBSD, IRIX, NAS, RoarAudio and OpenBSD's \
sndio.
"
HOMEPAGE="http://xiph.org/ao/"
SRC_URI="http://downloads.xiph.org/releases/ao/libao-1.1.0.tar.gz"
CHECKSUM_SHA512="8eee73cfd3ffd79b5cae76fc3ad88270b56cc49dfbf4599c4ed591b259b79475e396c984abde94118a916fba20db84e26ac8e51dbf5efd4bb10341328ca0615a"
LICENSE="GNU GPL v2"
COPYRIGHT="1999 Aaron Holtzman
2000 Rik Hemsley
2000 Timothy J. Wood
2000-2001 Stan Seibert
2001 Christian Weisgerber
2001 Wil Mahan
2002 Stefan Tibus
2008 Alexandre Ratchov
2008-2010 Philipp 'ph3-der-loewe' Schafft
2010-2011 Monty"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
libao$secondaryArchSuffix = $portVersion
lib:libao$secondaryArchSuffix = 1.1.0 compat >= 0
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize
cmd:make
cmd:pkg_config
"
PATCHES="libao-1.1.0.patchset"
BUILD()
{
# sed -i 's/$(datadir)\/aclocal/`finddir B_COMMON_DATA_DIRECTORY`\/aclocal/g' M*
libtoolize --force --copy --install
aclocal
autoconf
automake
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLibs libao
fixPkgconfig
# move include dir to correct location
mkdir -p $(dirname $includeDir)
mv $prefix/include $includeDir
# devel package
packageEntries devel \
$dataDir \
$developDir
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
libao${secondaryArchSuffix}_devel = $portVersion
devel:libao$secondaryArchSuffix = 1.1.0 compat >= 0
"
REQUIRES_devel="
libao$secondaryArchSuffix == $portVersion base
"

View File

@@ -0,0 +1,436 @@
From e8e1c83dd8c8593921201152278fa7d9ab093ba4 Mon Sep 17 00:00:00 2001
From: Julian Harnath <julian.harnath@rwth-aachen.de>
Date: Mon, 24 Mar 2014 21:30:27 +0100
Subject: Add Haiku Media Kit audio output driver.
diff --git a/configure.ac b/configure.ac
index b5aba33..eb60271 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,13 +30,15 @@ dnl Check for programs
dnl ====================================
cflags_save="$CFLAGS"
+cppflags_save="$CPPFLAGS"
AC_PROG_CC
+AC_PROG_CXX
AC_LIBTOOL_WIN32_DLL
AC_LIBTOOL_DLOPEN
AM_PROG_LIBTOOL
dnl ====================================
-dnl Check dlopen
+dnl Check dlopen
dnl ====================================
dnl Currently use this to disable plugin support dlfcn.h
@@ -68,6 +70,7 @@ if test -z "$GCC"; then
PLUGIN_LDFLAGS="-export-dynamic -avoid-version"
DEBUG="-g"
CFLAGS="-O"
+ CPPFLAGS="-O"
PROFILE="-g -p" ;;
esac
else
@@ -92,10 +95,12 @@ else
PLUGIN_LDFLAGS="-export-dynamic -avoid-version"
DEBUG="-g -Wall -D__NO_MATH_INLINES -fsigned-char"
CFLAGS="-O20 -D__NO_MATH_INLINES -fsigned-char"
+ CPPFLAGS="-O20 -D__NO_MATH_INLINES -fsigned-char"
PROFILE="-O20 -g -pg -D__NO_MATH_INLINES -fsigned-char" ;;
esac
fi
CFLAGS="$CFLAGS $cflags_save -DAO_BUILDING_LIBAO"
+CPPFLAGS="$CPPFLAGS $cppflags_save -DAO_BUILDING_LIBAO"
DEBUG="$DEBUG $cflags_save -DAO_BUILDING_LIBAO"
PROFILE="$PROFILE $cflags_save -DAO_BUILDING_LIBAO"
@@ -111,7 +116,7 @@ case $host in
*-mingw*|*-cygwin*)
LIBAO_LA_LDFLAGS="-no-undefined"
;;
- *)
+ *)
LIBAO_LA_LDFLAGS=""
;;
esac
@@ -151,7 +156,7 @@ case $host in
*hpux*)
DLOPEN_FLAG='(RTLD_LAZY)'
SHARED_LIB_EXT='.sl'
- ;;
+ ;;
*openbsd* | *netbsd* | *solaris2.7 | *darwin*)
DLOPEN_FLAG='(RTLD_LAZY)'
SHARED_LIB_EXT='.so'
@@ -194,7 +199,7 @@ AC_SUBST(SIZE16)
AC_SUBST(SIZE32)
dnl ======================================
-dnl Disable default use of SLP in roar
+dnl Disable default use of SLP in roar
dnl until such time as SLP doesn't block
dnl indefinitely
dnl ======================================
@@ -212,7 +217,7 @@ fi
AC_SUBST([SLP_DEF])
dnl ======================================
-dnl Detect possible output devices
+dnl Detect possible output devices
dnl ======================================
dnl Check for WMM
@@ -309,7 +314,7 @@ if test "x$enable_broken_oss" = "xyes"; then
AC_DEFINE(BROKEN_OSS)
AC_MSG_WARN(Broken OSS API workaround enabled. See README for details.)
fi
-
+
dnl Check for Sun audio
have_sun="no";
@@ -424,7 +429,7 @@ if test "$BUILD_NAS" = "yes"; then
AC_PATH_XTRA
AC_CHECK_LIB(Xau, XauFileName, have_nas=yes, have_nas=no, $X_LIBS)
AC_CHECK_LIB(audio, AuOpenServer, dummy="no-op", have_nas=no, -lXau $X_LIBS)
-
+
ac_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
AC_CHECK_HEADER(audio/audiolib.h, dummy="no-op", have_nas=no)
@@ -458,6 +463,12 @@ fi
AM_CONDITIONAL(HAVE_PULSE,test "x$have_pulse" = xyes)
+dnl Check for Haiku audio
+
+have_haiku="no";
+AC_CHECK_HEADERS(MediaDefs.h, have_haiku=yes)
+AM_CONDITIONAL(HAVE_HAIKU,test "${have_haiku}" = yes)
+
dnl Orphaned driver. We'll probably dump it soon.
AM_CONDITIONAL(HAVE_SOLARIS,test "x$have_solaris" = xyes)
@@ -465,7 +476,7 @@ dnl Plugins get special LDFLAGS
AC_SUBST(PLUGIN_LDFLAGS)
-AC_OUTPUT([Makefile src/Makefile doc/Makefile include/Makefile include/ao/Makefile include/ao/os_types.h src/plugins/Makefile src/plugins/esd/Makefile src/plugins/oss/Makefile src/plugins/alsa/Makefile src/plugins/sun/Makefile src/plugins/irix/Makefile src/plugins/arts/Makefile src/plugins/macosx/Makefile src/plugins/nas/Makefile src/plugins/pulse/Makefile src/plugins/sndio/Makefile src/plugins/roar/Makefile ao.pc])
+AC_OUTPUT([Makefile src/Makefile doc/Makefile include/Makefile include/ao/Makefile include/ao/os_types.h src/plugins/Makefile src/plugins/esd/Makefile src/plugins/oss/Makefile src/plugins/alsa/Makefile src/plugins/sun/Makefile src/plugins/irix/Makefile src/plugins/arts/Makefile src/plugins/macosx/Makefile src/plugins/nas/Makefile src/plugins/pulse/Makefile src/plugins/sndio/Makefile src/plugins/roar/Makefile src/plugins/haiku/Makefile ao.pc])
AS_AC_EXPAND(LIBDIR, ${libdir})
AS_AC_EXPAND(INCLUDEDIR, ${includedir})
@@ -486,6 +497,7 @@ AC_MSG_RESULT([
ALSA live output: ............ ${have_alsa}
ARTS live output: ............ ${have_arts}
ESD live output: ............. ${have_esd}
+ HAIKU live output: ........... ${have_haiku}
IRIX live output: ............ ${have_irix}
MACOSX live output: .......... ${have_macosx}
NAS live output: ............. ${have_nas}
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index 1af2303..1b417d4 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -1,4 +1,4 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = foreign
-SUBDIRS = oss esd arts alsa sun irix macosx nas pulse sndio roar
+SUBDIRS = oss esd arts alsa sun irix macosx nas pulse sndio roar haiku
diff --git a/src/plugins/haiku/Makefile.am b/src/plugins/haiku/Makefile.am
new file mode 100644
index 0000000..596c664
--- /dev/null
+++ b/src/plugins/haiku/Makefile.am
@@ -0,0 +1,25 @@
+## Process this file with automake to produce Makefile.in
+
+AUTOMAKE_OPTIONS = foreign
+
+if HAVE_HAIKU
+
+haikultlibs = libhaiku.la
+haikusources = ao_haiku.cpp
+
+else
+
+haikultlibs =
+haikusources =
+
+endif
+
+INCLUDES = -I$(top_builddir)/include/ao -I$(top_srcdir)/include
+
+libdir = $(plugindir)
+lib_LTLIBRARIES = $(haikultlibs)
+
+libhaiku_la_LDFLAGS = @PLUGIN_LDFLAGS@ -lbe -lmedia
+libhaiku_la_SOURCES = $(haikusources)
+
+EXTRA_DIST = ao_haiku.cpp
diff --git a/src/plugins/haiku/ao_haiku.cpp b/src/plugins/haiku/ao_haiku.cpp
new file mode 100644
index 0000000..58d9dcb
--- /dev/null
+++ b/src/plugins/haiku/ao_haiku.cpp
@@ -0,0 +1,254 @@
+/*
+ * ao_haiku.cpp
+ *
+ * Copyright (C) Julian Harnath - March 2014
+ *
+ * This file is part of libao, a cross-platform audio output library. See
+ * README for a history of this source code.
+ *
+ * libao 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, or (at your option)
+ * any later version.
+ *
+ * libao 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 GNU Make; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ ********************************************************************/
+
+#include <algorithm>
+#include <string.h>
+#include <stdio.h>
+
+#include <MediaDefs.h>
+#include <MediaRoster.h>
+#include <OS.h>
+#include <SoundPlayer.h>
+
+#include <ao/ao.h>
+#include <ao/plugin.h>
+
+
+static char* ao_haiku_options[] = {
+ "matrix"
+};
+
+
+struct ao_info ao_haiku_info = {
+ AO_TYPE_LIVE,
+ "Haiku Media Kit Output",
+ "haiku",
+ "Julian Harnath <julian.harnath@rwth-aachen.de>",
+ "Outputs to the Haiku Media Kit",
+ AO_FMT_NATIVE,
+ 30,
+ ao_haiku_options,
+ sizeof(ao_haiku_options) / sizeof(*ao_haiku_options)
+};
+
+
+typedef struct ao_haiku_internal {
+ media_raw_audio_format* format;
+ BSoundPlayer* sound_player;
+
+ sem_id new_buffer;
+ sem_id buffer_done;
+
+ uint8* buffer;
+ size_t buffer_size;
+ size_t buffer_filled;
+} ao_haiku_internal;
+
+
+int
+ao_plugin_test()
+{
+ BSoundPlayer testPlayer;
+ return testPlayer.InitCheck() == B_OK ? 1 :0;
+}
+
+
+ao_info*
+ao_plugin_driver_info()
+{
+ return &ao_haiku_info;
+}
+
+
+int
+ao_plugin_device_init(ao_device* device)
+{
+ ao_haiku_internal* const internal = (ao_haiku_internal*)calloc(1,
+ sizeof(ao_haiku_internal));
+ if (internal == NULL)
+ return 0;
+
+ internal->format = (media_raw_audio_format*)malloc(
+ sizeof(media_raw_audio_format));
+ if (internal->format == NULL) {
+ free(internal);
+ return 0;
+ }
+
+ internal->new_buffer = create_sem(0, "New buffer request");
+ internal->buffer_done = create_sem(1, "Buffer done");
+
+ device->output_matrix_order = AO_OUTPUT_MATRIX_FIXED;
+ device->internal = internal;
+
+ return 1;
+}
+
+
+int
+ao_plugin_set_option(ao_device* device, const char* key, const char* value)
+{
+ return 1;
+}
+
+
+static void
+fill_buffer(void* cookie, void* buffer, size_t size,
+ const media_raw_audio_format& format)
+{
+ ao_haiku_internal* const internal = (ao_haiku_internal*)cookie;
+
+ internal->buffer = (uint8*)buffer;
+ internal->buffer_size = size;
+ internal->buffer_filled = 0;
+ release_sem(internal->new_buffer);
+ acquire_sem(internal->buffer_done);
+}
+
+
+int
+ao_plugin_open(ao_device* device, ao_sample_format* format)
+{
+ ao_haiku_internal* const internal = (ao_haiku_internal*)device->internal;
+ media_raw_audio_format* const mediaRawFormat = internal->format;
+
+ mediaRawFormat->frame_rate = format->rate;
+ mediaRawFormat->channel_count = device->output_channels;
+
+ switch (format->bits) {
+ case 8:
+ mediaRawFormat->format = media_raw_audio_format::B_AUDIO_CHAR;
+ break;
+ case 16:
+ mediaRawFormat->format = media_raw_audio_format::B_AUDIO_SHORT;
+ break;
+ case 32:
+ mediaRawFormat->format = media_raw_audio_format::B_AUDIO_INT;
+ break;
+ default:
+ aerror("Unsupported sample bit depth");
+ return 0;
+ }
+
+ device->driver_byte_format = AO_FMT_NATIVE;
+ if (B_HOST_IS_LENDIAN)
+ mediaRawFormat->byte_order = B_MEDIA_LITTLE_ENDIAN;
+ else
+ mediaRawFormat->byte_order = B_MEDIA_BIG_ENDIAN;
+
+ mediaRawFormat->buffer_size = BMediaRoster::Roster()->AudioBufferSizeFor(
+ mediaRawFormat->channel_count, mediaRawFormat->format,
+ mediaRawFormat->frame_rate, B_UNKNOWN_BUS) * 2;
+
+ internal->sound_player = new BSoundPlayer(mediaRawFormat, "ao player",
+ fill_buffer, NULL, internal);
+
+ if (internal->sound_player->InitCheck() != B_OK) {
+ delete internal->sound_player;
+ internal->sound_player = NULL;
+ return 0;
+ }
+
+ internal->sound_player->SetVolume(1.0);
+ internal->sound_player->Start();
+ internal->sound_player->SetHasData(false);
+
+ if (device->inter_matrix == NULL) {
+ if (device->output_channels <= 2)
+ device->inter_matrix = strdup("L,R");
+ }
+
+ return 1;
+}
+
+
+int
+ao_plugin_play(ao_device* device, const char* output_samples,
+ uint_32 num_bytes)
+{
+ ao_haiku_internal* const internal = (ao_haiku_internal*)device->internal;
+ BSoundPlayer* const soundPlayer = internal->sound_player;
+
+ if (num_bytes == 0) {
+ soundPlayer->SetHasData(false);
+ return 1;
+ }
+
+ soundPlayer->SetHasData(true);
+ acquire_sem(internal->new_buffer);
+
+ size_t bytesLeft = num_bytes;
+ while (bytesLeft > 0) {
+ if (internal->buffer_filled == internal->buffer_size) {
+ // Request another buffer from BSoundPlayer
+ release_sem(internal->buffer_done);
+ acquire_sem(internal->new_buffer);
+ }
+
+ const size_t copyBytes = std::min(bytesLeft, internal->buffer_size
+ - internal->buffer_filled);
+ memcpy(internal->buffer + internal->buffer_filled, output_samples,
+ copyBytes);
+ internal->buffer_filled += copyBytes;
+ output_samples += copyBytes;
+ bytesLeft -= copyBytes;
+ }
+
+ if (internal->buffer_filled < internal->buffer_size) {
+ // Continue filling this buffer the next time this function is called
+ release_sem(internal->new_buffer);
+ } else {
+ // Buffer is full
+ release_sem(internal->buffer_done);
+ soundPlayer->SetHasData(false);
+ }
+
+ return 1;
+}
+
+
+int
+ao_plugin_close(ao_device* device)
+{
+ ao_haiku_internal* const internal = (ao_haiku_internal*)device->internal;
+
+ release_sem(internal->buffer_done);
+ internal->sound_player->SetHasData(false);
+ internal->sound_player->Stop();
+ delete internal->sound_player;
+
+ return 1;
+}
+
+
+void
+ao_plugin_device_clear(ao_device* device)
+{
+ ao_haiku_internal* const internal = (ao_haiku_internal*)device->internal;
+
+ free(internal->format);
+ delete_sem(internal->new_buffer);
+ delete_sem(internal->buffer_done);
+ free(internal);
+}
--
1.8.3.4

View File

@@ -18,9 +18,12 @@ COPYRIGHT="2002-2012, Communications and Remote Sensing Laboratory, Universite c
2001-2003 David Janssens"
HOMEPAGE="http://www.openjpeg.org/"
SRC_URI="http://openjpeg.googlecode.com/files/openjpeg-1.5.0.tar.gz"
CHECKSUM_SIZE="2117572"
CHECKSUM_MD5="e5d66193ddfa59a87da1eb08ea86293b"
CHECKSUM_RMD160="ffa85dbb0a3ba1545bc6974f4950f466789c04ef"
CHECKSUM_SHA512="59501fde86a7f0ab5a1b7e369feb9c4dcb8ea67ead8ffd706592cbba1e0ee7b2a2a9aaa32778632febe0c3dc4171c7af738c5899c732eb420358df3b16d7cf47"
REVISION="1"
ARCHITECTURES="x86"
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.

View File

@@ -0,0 +1,138 @@
SUMMARY="Secure Shell Client and Server (Remote Login Program)"
DESCRIPTION="
OpenSSH is a FREE version of the SSH connectivity tools that technical users \
of the Internet rely on. Users of telnet, rlogin, and ftp may not realize that \
their password is transmitted across the Internet unencrypted, but it is. \
OpenSSH encrypts all traffic (including passwords) to effectively eliminate \
eavesdropping, connection hijacking, and other attacks. Additionally, OpenSSH \
provides secure tunneling capabilities and several authentication methods, and \
supports all SSH protocol versions.
The OpenSSH suite replaces rlogin and telnet with the ssh program, rcp with \
scp, and ftp with sftp. Also included is sshd (the server side of the \
package), and the other utilities like ssh-add, ssh-agent, ssh-keysign, \
ssh-keyscan, ssh-keygen and sftp-server.
"
HOMEPAGE="http://www.openssh.com/"
LICENSE="OpenSSH"
COPYRIGHT="2005-2014 Tatu Ylonen et al."
SRC_URI="http://openbsd.mirrorcatalogs.com/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz"
SRC_URI="http://openbsd.locaweb.com.br/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz"
CHECKSUM_SIZE="1282502"
CHECKSUM_MD5="3e9800e6bca1fbac0eea4d41baa7f239"
CHECKSUM_RMD160="e19ed34e240001898b6665bb4356b868bba5513d"
CHECKSUM_SHA512="3d3566ed87649882702cad52db1adefebfb3ef788c9f77a493f99db7e9ca2e8edcde793dd426df7df0aed72a42a31c20a63ef51506111369d3a7c49e0bf6c82b"
REVISION="1"
ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64"
PATCHES="sshd_config.patch
pathnames.patch"
ADDITIONAL_FILES="sshd_keymaker.sh"
PROVIDES="
openssh = $portVersion compat >= 5
cmd:scp = $portVersion compat >= 5
cmd:sftp = $portVersion compat >= 5
cmd:sftp_server = $portVersion compat >= 5
cmd:slogin = $portVersion compat >= 5
cmd:ssh = $portVersion compat >= 5
cmd:ssh_add = $portVersion compat >= 5
cmd:ssh_agent = $portVersion compat >= 5
cmd:ssh_keygen = $portVersion compat >= 5
cmd:ssh_keyscan = $portVersion compat >= 5
cmd:ssh_keysign = $portVersion compat >= 5
cmd:ssh_pkcs11_helper = $portVersion compat >= 5
cmd:sshd = $portVersion compat >= 5
"
REQUIRES="
haiku >= $haikuVersion
cmd:login
cmd:passwd
lib:libcrypto
lib:libedit
lib:libncurses
lib:libssl
lib:libz
"
BUILD_REQUIRES="
devel:libcrypto
devel:libedit
devel:libncurses
devel:libssl
devel:libz
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc
cmd:ld
cmd:libtoolize
cmd:make
cmd:pkg_config
"
GLOBAL_WRITABLE_FILES="
settings/ssh directory keep-old
"
USER_SETTINGS_FILES="
settings/ssh directory
"
POST_INSTALL_SCRIPTS="
$relativePostInstallDir/sshd_keymaker.sh
"
sshdUserHomeDir="/packages/$portVersionedName-$REVISION/.self/$relativeDataDir/openssh/empty"
PACKAGE_USERS="
sshd real-name \"sshd user\" home \"$sshdUserHomeDir\" shell \"/bin/true\"
"
PACKAGE_GROUPS="sshd"
PATCH()
{
echo 'AC_CONFIG_MACRO_DIR([m4])' >> configure.ac
}
SOURCE_DIR="openssh"
BUILD()
{
mkdir -p m4
aclocal --install -I m4
libtoolize --force --copy
aclocal -I m4
autoconf
defaultPath=".:/boot/home/config/non-packaged/bin:/boot/home/config/bin"
defaultPath+=":/boot/common/non-packaged/bin:/boot/common/bin:/bin"
defaultPath+=":/boot/common/apps:/boot/common/preferences:/boot/system/apps"
defaultPath+=":/boot/system/preferences"
# Note: override sysconfdir and libexecdir since ssh doesn't create
# subdirectories as it should.
PATH_PASSWD_PROG=$portPackageLinksDir/cmd~passwd/bin/passwd \
LOGIN_PROGRAM=$portPackageLinksDir/cmd~login/bin/login \
runConfigure ./configure \
--sysconfdir=$sysconfDir/ssh \
--libexecdir=$libExecDir/openssh \
--with-privsep-path=$dataDir/openssh/empty \
--with-pid-dir=$prefix/var/run \
--with-default-path="$defaultPath" \
--with-md5-passwords \
--disable-utmpx \
--with-libedit
make $jobArgs
}
INSTALL()
{
make install-nokeys
mkdir -p $postInstallDir
cp -f $portDir/additional-files/sshd_keymaker.sh $postInstallDir
}
TEST()
{
make tests
}

View File

@@ -13,7 +13,10 @@ DESCRIPTION="
"
HOMEPAGE="http://www.gnu.org/s/gawk"
SRC_URI="http://ftp.gnu.org/gnu/gawk/gawk-4.1.0.tar.gz"
CHECKSUM_SIZE="3995528"
CHECKSUM_MD5="13e02513105417818a31ef375f9f9f42"
CHECKSUM_RMD160="c95945d0acbb33cf49011cf7f39d9bb11355ca4c"
CHECKSUM_SHA512="96161e7b46efedbb298dc8856a3be07baca0378c9e0a96ee141df57276641d49f99f03949193b6fe7eaed1f291636b4170ca3cbba7a999ed1264ed6d63d6e568"
REVISION="2"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES="gawk-4.1.0.patchset"

View File

@@ -12,8 +12,11 @@ LICENSE="
GNU GPL v3
"
SRC_URI="http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz"
CHECKSUM_SIZE="1927468"
CHECKSUM_MD5="82d05e03b93e45f5a39b828dc9c6c29b"
REVISION="5"
CHECKSUM_RMD160="7b7d711535827826f32f5847095233e1e9925a29"
CHECKSUM_SHA512="e34c7818bcde14d2cb13cdd293ed17d70740d4d1fd7c67a07b415491ef85d42f450d4fe5f8f80cc330bf75c40a62774c51a4336e06e8da07a4cbc49922d975ee"
REVISION="6"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES='autoconf-2.69.patchset'
@@ -41,10 +44,11 @@ BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:automake >= 1.13.1
cmd:autoreconf >= 2.60
cmd:awk
cmd:m4
cmd:make
cmd:makeinfo
cmd:perl >= 5
cmd:sed
"
@@ -52,8 +56,6 @@ BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL
BUILD()
{
autoreconf
# make sure that the build system doesn't try to update the manpages,
# as that requires help2man, which isn't available
touch man/*.1

View File

@@ -9,7 +9,10 @@ HOMEPAGE="http://www.gnu.org/software/automake/"
COPYRIGHT="2013 Free Software Foundation, Inc."
LICENSE="GNU GPL v2"
SRC_URI="http://ftp.gnu.org/gnu/automake/automake-1.13.1.tar.gz"
CHECKSUM_SIZE="2145853"
CHECKSUM_MD5="78a0ef8216b0556b44508e7b5b0c0847"
CHECKSUM_RMD160="317a22cdef3f4353b29afc6797cda0698fae41dc"
CHECKSUM_SHA512="768c1171312a3aec50a370166c6901248703948f4281c4c5545162bf5a193ef1f924928594bb7d29cf8e3b7680dc733eaaab2ff9c6e2cf54987fe5082aefb60d"
REVISION="4"
ARCHITECTURES="x86_gcc2 x86 x86_64"