diff --git a/app-editors/vim/vim-7.4.recipe b/app-editors/vim/vim-7.4.recipe index ff850bfc2..4b5a8c300 100644 --- a/app-editors/vim/vim-7.4.recipe +++ b/app-editors/vim/vim-7.4.recipe @@ -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=" diff --git a/dev-lang/python/python-2.7.6.recipe b/dev-lang/python/python-2.7.6.recipe index ef16ae4cc..a710d1fa6 100644 --- a/dev-lang/python/python-2.7.6.recipe +++ b/dev-lang/python/python-2.7.6.recipe @@ -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" diff --git a/dev-vcs/git/git-1.8.3.4.recipe b/dev-vcs/git/git-1.8.3.4.recipe index e9a4b9a69..1c0aedfbd 100644 --- a/dev-vcs/git/git-1.8.3.4.recipe +++ b/dev-vcs/git/git-1.8.3.4.recipe @@ -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" diff --git a/haiku-apps/dockbert/dockbert-1.0.2b1.recipe b/haiku-apps/dockbert/dockbert-1.0.2b1.recipe index 12496574d..6530c7d16 100644 --- a/haiku-apps/dockbert/dockbert-1.0.2b1.recipe +++ b/haiku-apps/dockbert/dockbert-1.0.2b1.recipe @@ -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" diff --git a/haiku-apps/documentviewer/documentviewer-0.3.2.recipe b/haiku-apps/documentviewer/documentviewer-0.3.2.recipe index 58d662cf4..e8727615f 100644 --- a/haiku-apps/documentviewer/documentviewer-0.3.2.recipe +++ b/haiku-apps/documentviewer/documentviewer-0.3.2.recipe @@ -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() diff --git a/haiku-apps/documentviewer/patches/documentviewer-0.3.2.patchset b/haiku-apps/documentviewer/patches/documentviewer-0.3.2.patchset new file mode 100644 index 000000000..c36466e03 --- /dev/null +++ b/haiku-apps/documentviewer/patches/documentviewer-0.3.2.patchset @@ -0,0 +1,139 @@ +From 37a6e0dc8fa52531136c65ae8e0797bb1557fc89 Mon Sep 17 00:00:00 2001 +From: Jonathan Schleifer +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 ++ + #include + + #include +@@ -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 ++ + #include + #include + +@@ -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 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 + diff --git a/media-libs/djvulibre/djvulibre-3.5.25.recipe b/media-libs/djvulibre/djvulibre-3.5.25.recipe index 6417992af..3b88a0df9 100644 --- a/media-libs/djvulibre/djvulibre-3.5.25.recipe +++ b/media-libs/djvulibre/djvulibre-3.5.25.recipe @@ -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. diff --git a/media-libs/fitz/fitz-1.1.recipe b/media-libs/fitz/fitz-1.1.recipe index 9fbaf4f3d..347bb95de 100644 --- a/media-libs/fitz/fitz-1.1.recipe +++ b/media-libs/fitz/fitz-1.1.recipe @@ -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() diff --git a/media-libs/jbig2dec/jbig2dec-0.11.recipe b/media-libs/jbig2dec/jbig2dec-0.11.recipe index 61ad9bbf1..e0fbc0023 100644 --- a/media-libs/jbig2dec/jbig2dec-0.11.recipe +++ b/media-libs/jbig2dec/jbig2dec-0.11.recipe @@ -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() diff --git a/media-libs/libao/libao-1.1.0.recipe b/media-libs/libao/libao-1.1.0.recipe new file mode 100644 index 000000000..dc68a0e59 --- /dev/null +++ b/media-libs/libao/libao-1.1.0.recipe @@ -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 + " diff --git a/media-libs/libao/patches/libao-1.1.0.patchset b/media-libs/libao/patches/libao-1.1.0.patchset new file mode 100644 index 000000000..b3aef87c9 --- /dev/null +++ b/media-libs/libao/patches/libao-1.1.0.patchset @@ -0,0 +1,436 @@ +From e8e1c83dd8c8593921201152278fa7d9ab093ba4 Mon Sep 17 00:00:00 2001 +From: Julian Harnath +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 ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++ ++static char* ao_haiku_options[] = { ++ "matrix" ++}; ++ ++ ++struct ao_info ao_haiku_info = { ++ AO_TYPE_LIVE, ++ "Haiku Media Kit Output", ++ "haiku", ++ "Julian Harnath ", ++ "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 + diff --git a/media-libs/openjpeg/openjpeg-1.5.0.recipe b/media-libs/openjpeg/openjpeg-1.5.0.recipe index abef1970b..8ba1e0527 100644 --- a/media-libs/openjpeg/openjpeg-1.5.0.recipe +++ b/media-libs/openjpeg/openjpeg-1.5.0.recipe @@ -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. diff --git a/net-misc/openssh/openssh-6.6p1.recipe b/net-misc/openssh/openssh-6.6p1.recipe new file mode 100644 index 000000000..8caa47e7a --- /dev/null +++ b/net-misc/openssh/openssh-6.6p1.recipe @@ -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 +} diff --git a/sys-apps/gawk/gawk-4.1.0.recipe b/sys-apps/gawk/gawk-4.1.0.recipe index be27f9b11..a87aa88d8 100644 --- a/sys-apps/gawk/gawk-4.1.0.recipe +++ b/sys-apps/gawk/gawk-4.1.0.recipe @@ -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" diff --git a/sys-devel/autoconf/autoconf-2.69.recipe b/sys-devel/autoconf/autoconf-2.69.recipe index 3d6f64316..534522e32 100644 --- a/sys-devel/autoconf/autoconf-2.69.recipe +++ b/sys-devel/autoconf/autoconf-2.69.recipe @@ -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 diff --git a/sys-devel/automake/automake-1.13.1.recipe b/sys-devel/automake/automake-1.13.1.recipe index 8139a7ee7..a75b3e60a 100644 --- a/sys-devel/automake/automake-1.13.1.recipe +++ b/sys-devel/automake/automake-1.13.1.recipe @@ -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"