diff --git a/app-editors/qemacs/qemacs-0.3.3.recipe b/app-editors/qemacs/qemacs-0.3.3.recipe index 250da5505..ac6a932f6 100644 --- a/app-editors/qemacs/qemacs-0.3.3.recipe +++ b/app-editors/qemacs/qemacs-0.3.3.recipe @@ -1,22 +1,55 @@ +SUMMARY="QEmacs editor" DESCRIPTION="QEmacs (for Quick Emacs), a very small but powerful UNIX editor" HOMEPAGE="http://bellard.org/qemacs/" SRC_URI="http://bellard.org/qemacs/qemacs-0.3.3.tar.gz" CHECKSUM_MD5="42fe8cc431bb9cbbeb898a2c18335990" REVISION="1" -STATUS_HAIKU="broken" -DEPEND="app-text/texi2html >= 1.82" +LICENSE="GNU LGPL v2.1" +COPYRIGHT="2000-2003 Fabrice Bellard" + +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" + +PROVIDES=" + qemacs$secondaryArchSuffix = $portVersion + app:qemacs$secondaryArchSuffix = $portVersion + cmd:qemacs$secondaryArchSuffix = $portVersion + cmd:qe$secondaryArchSuffix = $portVersion + cmd:html2png$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libpng$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix +# lib:libavcodec$secondaryArchSuffix +# lib:libavformat$secondaryArchSuffix + " + +BUILD_REQUIRES=" + devel:libpng$secondaryArchSuffix +# devel:libavcodec$secondaryArchSuffix +# devel:libavformat$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:texi2html + " + +PATCHES="qemacs-0.3.3.patch" + BUILD() { - cd qemacs-0.3.3 - ./configure + runConfigure ./configure make } INSTALL() { - cd qemacs-0.3.3 make install + addAppDeskbarSymlink $binDir/qe QEmacs } -LICENSE="GNU LGPL v2.1" -COPYRIGHT="2000-2003 Fabrice Bellard" diff --git a/app-editors/xemacs/xemacs-21.5_hg.recipe b/app-editors/xemacs/xemacs-21.5_hg.recipe new file mode 100644 index 000000000..5cab78c05 --- /dev/null +++ b/app-editors/xemacs/xemacs-21.5_hg.recipe @@ -0,0 +1,97 @@ +SUMMARY="XEmacs editor" +DESCRIPTION="highly customizable open source text editor and application development system" +HOMEPAGE="http://xemacs.org/" +SRC_URI="hg+https://bitbucket.org/mmu_man/xemacs#24b993054953" +REVISION="1" +LICENSE="GNU GPL v3" +COPYRIGHT="1998-2000 Hrvoje Niksic + 2000-2001 Michael Sperber + 2001 Ben Wing + 2001 Didier Verna + 2004 Stephen Turnbull + 2005-2006 Aidan Kehoe" +# TODO: FIXME: +#Bootstrapping from temacs... +#Warning: +# XEmacs was unable to determine a good value for the user's $HOME +# directory, and will be using the value: +# / +# This is probably incorrect. + + +ARCHITECTURES="x86_gcc2 x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" + +#POLICY WARNING: no matching provides "cmd:b2m" for "bin/b2m" +#POLICY WARNING: no matching provides "cmd:ctags" for "bin/ctags" +#POLICY WARNING: no matching provides "cmd:ellcc" for "bin/ellcc" +#POLICY WARNING: no matching provides "cmd:etags" for "bin/etags" +#POLICY WARNING: no matching provides "cmd:gnuattach" for "bin/gnuattach" +#POLICY WARNING: no matching provides "cmd:gnuclient" for "bin/gnuclient" +#POLICY WARNING: no matching provides "cmd:gnudoit" for "bin/gnudoit" +#POLICY WARNING: no matching provides "cmd:ootags" for "bin/ootags" +#POLICY WARNING: no matching provides "cmd:xemacs_21.5_b34" for "bin/xemacs-21.5-b34" +#POLICY WARNING: no matching provides "cmd:xemacs_script" for "bin/xemacs-script +PROVIDES=" + xemacs$secondaryArchSuffix = $portVersion + app:xemacs = $portVersion + cmd:xemacs = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libncurses$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix +# lib:libtiff$secondaryArchSuffix +# lib:libxpm$secondaryArchSuffix + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libiconv$secondaryArchSuffix + devel:libncurses$secondaryArchSuffix + devel:libz$secondaryArchSuffix >= 1.2.8 + devel:libpng$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix +# devel:libtiff$secondaryArchSuffix +# devel:libxpm$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:autoconf + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:tar + cmd:which + cmd:makeinfo + " + +# TODO: fix lispdir to not use $HOME +BUILD() +{ + autoconf + export HOME=/boot/home + runConfigure ./configure \ + --with-tty=yes --with-pop --with-x11=no --with-ipv6-cname=no \ + --with-mule --with-wnn=no \ + -with-beos=yes \ + --with-toolbars=yes \ + --with-scrollbars=no \ + --with-menubars=no \ + --with-dialogs=no \ + --with-widgets=no \ + --with-dragndrop=yes \ + --with-system-malloc --disable-mc-alloc --with-mc-alloc=no \ + --with-postgresql=no \ + --disable-kkcc \ + --with-png + make clean + make +} + +INSTALL() +{ + make install + addattr SYS:ENV DISABLE_ASLR=1 $binDir/xemacs-21* + addAppDeskbarSymlink $binDir/xemacs XEmacs +} diff --git a/app-emulation/oricutron/oricutron-1.1_svn.recipe b/app-emulation/oricutron/oricutron-1.1_svn.recipe index b029ea0d5..15d219af1 100644 --- a/app-emulation/oricutron/oricutron-1.1_svn.recipe +++ b/app-emulation/oricutron/oricutron-1.1_svn.recipe @@ -43,6 +43,6 @@ INSTALL() { make install INSTALLDIR=$prefix/apps/Oricutron mimeset $prefix/apps/Oricutron/oricutron - #addAppDeskbarSymlink $prefix/apps/Oricutron/oricutron Oricutron + addAppDeskbarSymlink $prefix/apps/Oricutron/oricutron Oricutron } diff --git a/app-shells/fish/fish-1.23.1_git.recipe b/app-shells/fish/fish-1.23.1_git.recipe index 9a9a2b1c7..7729c9a4f 100644 --- a/app-shells/fish/fish-1.23.1_git.recipe +++ b/app-shells/fish/fish-1.23.1_git.recipe @@ -7,7 +7,7 @@ REVISION="1" LICENSE="GNU GPL v2" COPYRIGHT="2005-2009 Axel Liljencrantz" -ARCHITECTURES="?x86 ?x86_64" +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. @@ -15,7 +15,7 @@ if [ $effectiveTargetArchitecture != x86_gcc2 ]; then else ARCHITECTURES="$ARCHITECTURES !x86_gcc2" fi -SECONDARY_ARCHITECTURES="?x86" +SECONDARY_ARCHITECTURES="x86" PROVIDES=" fish$secondaryArchSuffix = $portVersion @@ -32,7 +32,6 @@ BUILD_REQUIRES=" devel:libiconv$secondaryArchSuffix devel:libncurses$secondaryArchSuffix >= 5.9 devel:libgettextlib$secondaryArchSuffix - doxygen >= 1.6.3 " BUILD_PREREQUIRES=" cmd:autoconf @@ -40,20 +39,22 @@ BUILD_PREREQUIRES=" cmd:make cmd:gcc$secondaryArchSuffix cmd:which + cmd:doxygen >= 1.6.3 " +PATCHES="fish-1.23.1_git.patch" BUILD() { libtoolize --force --copy --install autoconf - ./configure --without-xsel --prefix=$prefix + runConfigure ./configure --without-xsel make } INSTALL() { - make install DESTDIR=${DESTDIR} + make install } TEST() diff --git a/app-shells/fish/patches/fish-1.23.1-git.patch b/app-shells/fish/patches/fish-1.23.1-git.patch deleted file mode 100644 index 4548969ba..000000000 --- a/app-shells/fish/patches/fish-1.23.1-git.patch +++ /dev/null @@ -1,152 +0,0 @@ -diff --git a/configure.ac fish-1.23.1-git/configure.ac -index 377ab5e..672d34b 100644 ---- a/configure.ac -+++ fish-1.23.1-git/configure.ac -@@ -105,7 +105,7 @@ fi - # tree and doesn't update CFLAGS. - # - --for i in /usr/pkg /sw /opt /opt/local; do -+for i in /usr/pkg /sw /opt /opt/local /boot/common; do - - AC_MSG_CHECKING([for $i/include include directory]) - if test -d $i/include; then -@@ -119,7 +119,8 @@ for i in /usr/pkg /sw /opt /opt/local; do - AC_MSG_CHECKING([for $i/lib library directory]) - if test -d $i/lib; then - AC_MSG_RESULT(yes) -- LDFLAGS="$LDFLAGS -L$i/lib/ -R$i/lib/" -+ LDFLAGS="$LDFLAGS -L$i/lib/" -+ #LDFLAGS="$LDFLAGS -R$i/lib/" - else - AC_MSG_RESULT(no) - fi -@@ -142,6 +143,12 @@ AC_CONFIG_HEADERS(config.h) - - - # -+# Ask autoconf to detect the platform type -+# -+AC_CANONICAL_TARGET -+ -+ -+# - # This adds markup to the code that results in a few extra compile - # time checks on recent GCC versions. It helps stop a few common bugs. - # -@@ -306,7 +313,13 @@ if test "$GCC" = yes; then - # bug has been verified to not exist on Linux using GCC 3.3.3. - # - -- CFLAGS="$CFLAGS -fno-optimize-sibling-calls" -+ case $target_os in -+ beos*|haiku*) -+ ;; -+ *) -+ CFLAGS="$CFLAGS -fno-optimize-sibling-calls" -+ ;; -+ esac - - - # -@@ -319,7 +332,13 @@ if test "$GCC" = yes; then - # This is needed in order to get the really cool backtraces - # - -- LDFLAGS_FISH="$LDFLAGS_FISH -rdynamic" -+ case $target_os in -+ beos*|haiku*) -+ ;; -+ *) -+ LDFLAGS_FISH="$LDFLAGS_FISH -rdynamic" -+ ;; -+ esac - - fi - -@@ -378,8 +397,6 @@ fi - # seems that tputs is never really needed. - # - --AC_CANONICAL_TARGET -- - if test $target_cpu = powerpc; then - AC_DEFINE([TPUTS_KLUDGE],[1],[Evil kludge to get Power based machines to work]) - fi -@@ -510,7 +527,7 @@ AC_DEFINE( - # Check for os dependant libraries for all binaries. - LIBS_COMMON=$LIBS - LIBS="" --AC_SEARCH_LIBS( connect, socket, , [AC_MSG_ERROR([Cannot find the socket library, needed to build this package.] )] ) -+AC_SEARCH_LIBS( connect, network socket, , [AC_MSG_ERROR([Cannot find the socket library, needed to build this package.] )] ) - AC_SEARCH_LIBS( nanosleep, rt, , [AC_MSG_ERROR([Cannot find the rt library, needed to build this package.] )] ) - AC_SEARCH_LIBS( setupterm, [ncurses curses], , [AC_MSG_ERROR([Could not find a curses implementation, needed to build fish])] ) - AC_SEARCH_LIBS( [nan], [m], [AC_DEFINE( [HAVE_NAN], [1], [Define to 1 if you have the nan function])] ) -@@ -555,7 +572,7 @@ LIBS="$LIBS_SHARED" - if test x$local_gettext != xno; then - AC_SEARCH_LIBS( gettext, intl,,) - fi --AC_SEARCH_LIBS( iconv_open, iconv, , [AC_MSG_ERROR([Could not find an iconv implementation, needed to build fish])] ) -+AC_SEARCH_LIBS( iconv_open, iconv, , [AC_SEARCH_LIBS( libiconv_open, iconv, , [AC_MSG_ERROR([Could not find an iconv implementation, needed to build fish])] )] ) - LIBS_FISH_PAGER=$LIBS - LIBS=$LIBS_COMMON - -@@ -568,7 +585,7 @@ LIBS="$LIBS_SHARED" - if test x$local_gettext != xno; then - AC_SEARCH_LIBS( gettext, intl,,) - fi --AC_SEARCH_LIBS( iconv_open, iconv, , [AC_MSG_ERROR([Could not find an iconv implementation, needed to build fish])] ) -+AC_SEARCH_LIBS( iconv_open, iconv, , [AC_SEARCH_LIBS( libiconv_open, iconv, , [AC_MSG_ERROR([Could not find an iconv implementation, needed to build fish])] )] ) - LIBS_FISHD=$LIBS - LIBS=$LIBS_COMMON - -diff --git a/proc.c fish-1.23.1-git/proc.c -index edcc7c6..30dd96f 100644 ---- a/proc.c -+++ fish-1.23.1-git/proc.c -@@ -482,8 +482,11 @@ static void handle_child_status( pid_t pid, int status ) - return; - } - -- -+#ifdef SA_SIGINFO - void job_handle_signal ( int signal, siginfo_t *info, void *con ) -+#else -+void job_handle_signal ( int signal ) -+#endif - { - - int status; -diff --git a/proc.h fish-1.23.1-git/proc.h -index dd46bc0..3618956 100644 ---- a/proc.h -+++ fish-1.23.1-git/proc.h -@@ -427,7 +427,9 @@ int job_reap( int interactive ); - Signal handler for SIGCHLD. Mark any processes with relevant - information. - */ -+#ifdef SA_SIGINFO - void job_handle_signal( int signal, siginfo_t *info, void *con ); -+#endif - - /** - Send the specified signal to all processes in the specified job. -diff --git a/signal.c fish-1.23.1-git/signal.c -index 2ac38aa..3ff1d38 100644 ---- a/signal.c -+++ fish-1.23.1-git/signal.c -@@ -29,6 +29,14 @@ The library for various signal related issues - #include "reader.h" - #include "proc.h" - -+#ifdef __HAIKU__ -+#ifndef SA_SIGINFO -+#define SA_SIGINFO 0 -+typedef struct { -+} siginfo_t; -+#define sa_sigaction sa_handler -+#endif -+#endif - - /** - Struct describing an entry for the lookup table used to convert diff --git a/app-shells/fish/patches/fish-1.23.1_git.patch b/app-shells/fish/patches/fish-1.23.1_git.patch index 4548969ba..5c0472936 100644 --- a/app-shells/fish/patches/fish-1.23.1_git.patch +++ b/app-shells/fish/patches/fish-1.23.1_git.patch @@ -1,27 +1,8 @@ -diff --git a/configure.ac fish-1.23.1-git/configure.ac -index 377ab5e..672d34b 100644 +diff --git a/configure.ac b/configure.ac +index 377ab5e..9f2e5e9 100644 --- a/configure.ac -+++ fish-1.23.1-git/configure.ac -@@ -105,7 +105,7 @@ fi - # tree and doesn't update CFLAGS. - # - --for i in /usr/pkg /sw /opt /opt/local; do -+for i in /usr/pkg /sw /opt /opt/local /boot/common; do - - AC_MSG_CHECKING([for $i/include include directory]) - if test -d $i/include; then -@@ -119,7 +119,8 @@ for i in /usr/pkg /sw /opt /opt/local; do - AC_MSG_CHECKING([for $i/lib library directory]) - if test -d $i/lib; then - AC_MSG_RESULT(yes) -- LDFLAGS="$LDFLAGS -L$i/lib/ -R$i/lib/" -+ LDFLAGS="$LDFLAGS -L$i/lib/" -+ #LDFLAGS="$LDFLAGS -R$i/lib/" - else - AC_MSG_RESULT(no) - fi -@@ -142,6 +143,12 @@ AC_CONFIG_HEADERS(config.h) ++++ b/configure.ac +@@ -142,6 +142,12 @@ AC_CONFIG_HEADERS(config.h) # @@ -34,37 +15,22 @@ index 377ab5e..672d34b 100644 # This adds markup to the code that results in a few extra compile # time checks on recent GCC versions. It helps stop a few common bugs. # -@@ -306,7 +313,13 @@ if test "$GCC" = yes; then - # bug has been verified to not exist on Linux using GCC 3.3.3. - # - -- CFLAGS="$CFLAGS -fno-optimize-sibling-calls" -+ case $target_os in -+ beos*|haiku*) -+ ;; -+ *) -+ CFLAGS="$CFLAGS -fno-optimize-sibling-calls" -+ ;; -+ esac - - - # -@@ -319,7 +332,13 @@ if test "$GCC" = yes; then +@@ -319,7 +325,13 @@ if test "$GCC" = yes; then # This is needed in order to get the really cool backtraces # - LDFLAGS_FISH="$LDFLAGS_FISH -rdynamic" + case $target_os in -+ beos*|haiku*) ++ haiku*) + ;; -+ *) ++ *) + LDFLAGS_FISH="$LDFLAGS_FISH -rdynamic" + ;; + esac fi -@@ -378,8 +397,6 @@ fi +@@ -378,8 +390,6 @@ fi # seems that tputs is never really needed. # @@ -73,7 +39,7 @@ index 377ab5e..672d34b 100644 if test $target_cpu = powerpc; then AC_DEFINE([TPUTS_KLUDGE],[1],[Evil kludge to get Power based machines to work]) fi -@@ -510,7 +527,7 @@ AC_DEFINE( +@@ -510,7 +520,7 @@ AC_DEFINE( # Check for os dependant libraries for all binaries. LIBS_COMMON=$LIBS LIBS="" @@ -82,7 +48,7 @@ index 377ab5e..672d34b 100644 AC_SEARCH_LIBS( nanosleep, rt, , [AC_MSG_ERROR([Cannot find the rt library, needed to build this package.] )] ) AC_SEARCH_LIBS( setupterm, [ncurses curses], , [AC_MSG_ERROR([Could not find a curses implementation, needed to build fish])] ) AC_SEARCH_LIBS( [nan], [m], [AC_DEFINE( [HAVE_NAN], [1], [Define to 1 if you have the nan function])] ) -@@ -555,7 +572,7 @@ LIBS="$LIBS_SHARED" +@@ -555,7 +565,7 @@ LIBS="$LIBS_SHARED" if test x$local_gettext != xno; then AC_SEARCH_LIBS( gettext, intl,,) fi @@ -91,7 +57,7 @@ index 377ab5e..672d34b 100644 LIBS_FISH_PAGER=$LIBS LIBS=$LIBS_COMMON -@@ -568,7 +585,7 @@ LIBS="$LIBS_SHARED" +@@ -568,7 +578,7 @@ LIBS="$LIBS_SHARED" if test x$local_gettext != xno; then AC_SEARCH_LIBS( gettext, intl,,) fi @@ -100,53 +66,3 @@ index 377ab5e..672d34b 100644 LIBS_FISHD=$LIBS LIBS=$LIBS_COMMON -diff --git a/proc.c fish-1.23.1-git/proc.c -index edcc7c6..30dd96f 100644 ---- a/proc.c -+++ fish-1.23.1-git/proc.c -@@ -482,8 +482,11 @@ static void handle_child_status( pid_t pid, int status ) - return; - } - -- -+#ifdef SA_SIGINFO - void job_handle_signal ( int signal, siginfo_t *info, void *con ) -+#else -+void job_handle_signal ( int signal ) -+#endif - { - - int status; -diff --git a/proc.h fish-1.23.1-git/proc.h -index dd46bc0..3618956 100644 ---- a/proc.h -+++ fish-1.23.1-git/proc.h -@@ -427,7 +427,9 @@ int job_reap( int interactive ); - Signal handler for SIGCHLD. Mark any processes with relevant - information. - */ -+#ifdef SA_SIGINFO - void job_handle_signal( int signal, siginfo_t *info, void *con ); -+#endif - - /** - Send the specified signal to all processes in the specified job. -diff --git a/signal.c fish-1.23.1-git/signal.c -index 2ac38aa..3ff1d38 100644 ---- a/signal.c -+++ fish-1.23.1-git/signal.c -@@ -29,6 +29,14 @@ The library for various signal related issues - #include "reader.h" - #include "proc.h" - -+#ifdef __HAIKU__ -+#ifndef SA_SIGINFO -+#define SA_SIGINFO 0 -+typedef struct { -+} siginfo_t; -+#define sa_sigaction sa_handler -+#endif -+#endif - - /** - Struct describing an entry for the lookup table used to convert diff --git a/app-text/dos2unix/dos2unix-1.0.1.recipe b/app-text/dos2unix/dos2unix-1.0.1.recipe new file mode 100644 index 000000000..d54c2c788 --- /dev/null +++ b/app-text/dos2unix/dos2unix-1.0.1.recipe @@ -0,0 +1,38 @@ +SUMMARY="dos2unix and unix2dos end of line file convertors." +DESCRIPTION="DOS/Windows like to put CR/LF at the end of lines whereas UNIX like to have just LF. Dos2unix and unix2dos are simple parser/converter command line programs to convert between the two formats." +HOMEPAGE="http://github.com/puckipedia/dos2unix" +SRC_URI="git://github.com/puckipedia/dos2unix.git#553720356be18ca60cae3d970a575520aef5a4f4" +REVISION="1" +COPYRIGHT="Public Domain" +LICENSE="Public Domain" + +ARCHITECTURES="x86 x86_gcc2 x86_64" + +PROVIDES=" + dos2unix = 1.0.1 compat >= 1 + cmd:dos2unix + cmd:unix2dos + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:g++ + " + +BUILD() +{ + cd src + g++ -O -o ../dos2unix dos2unix.c + g++ -O -o ../unix2dos unix2dos.c +} + +INSTALL() +{ + mkdir -p $binDir + cp dos2unix $binDir/dos2unix + cp unix2dos $binDir/unix2dos +} diff --git a/app-text/libpaper/libpaper-1.1.24.recipe b/app-text/libpaper/libpaper-1.1.24.recipe index 6cf45a760..77b2fe758 100644 --- a/app-text/libpaper/libpaper-1.1.24.recipe +++ b/app-text/libpaper/libpaper-1.1.24.recipe @@ -14,20 +14,21 @@ SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" libpaper$secondaryArchSuffix = $portVersion - cmd:paperconf - cmd:paperconfig lib:libpaper$secondaryArchSuffix = 1.1.24 compat >= 1 + cmd:paper_config$secondaryArchSuffix + cmd:paperconf$secondaryArchSuffix + cmd:paperconfig$secondaryArchSuffix " REQUIRES=" - haiku >= $haikuVersion + haiku$secondaryArchSuffix >= $haikuVersion " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:libtool @@ -72,5 +73,6 @@ PROVIDES_devel=" " REQUIRES_devel=" +# haiku${secondaryArchSuffix}_devel >= $haikuVersion libpaper$secondaryArchSuffix == $portVersion base " diff --git a/dev-games/ode/ode-0.12.recipe b/dev-games/ode/ode-0.12.recipe index 06df78601..6486eb00b 100644 --- a/dev-games/ode/ode-0.12.recipe +++ b/dev-games/ode/ode-0.12.recipe @@ -1,19 +1,66 @@ -DESCRIPTION="ODE is an open source, high performance library for simulating rigid body dynamics." +DESCRIPTION="ODE is an open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments and virtual creatures." +SUMMARY="Library for simulating rigid body dynamics" HOMEPAGE="http://www.ode.org/" SRC_URI="http://downloads.sourceforge.net/project/opende/ODE/0.12/ode-0.12.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fopende%2Ffiles%2F&ts=1356377654&use_mirror=freefr" +CHECKSUM_MD5="48fdd41fae1a7e7831feeded09826599" REVISION="1" COPYRIGHT="2001-2004 Russell L. Smith" -LICENSE="GNU LGPL v3 - BSD (3-clause)" -CHECKSUM_MD5="48fdd41fae1a7e7831feeded09826599" +LICENSE=" + GNU LGPL v3 + BSD (3-clause) + " +ARCHITECTURES="x86_gcc2 x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" + +PROVIDES=" + ode$secondaryArchSuffix = $portVersion + lib:libode$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + " + +BUILD_PREREQUIRES=" + cmd:make + cmd:mkdepend + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + " + +PATCHES="ode-0.12.patch" + BUILD() { - cd ode-0.12 - ./configure --prefix=`finddir B_COMMON_DIRECTORY` - make + runConfigure ./configure --enable-shared + make $jobArgs } INSTALL() { - cd ode-0.12 + fixDevelopLibDirReferences ode-config + make install + + prepareInstalledDevelLib libode + fixPkgconfig + + # devel package + packageEntries devel \ + $developDir \ + $binDir # ode_config binary here } + +PROVIDES_devel=" + ode${secondaryArchSuffix}_devel = $portVersion + devel:libode$secondaryArchSuffix = $portVersion + cmd:ode_config$secondaryArchSuffix = $portVersion + " + +REQUIRES_devel=" + haiku$secondaryArchSuffix >= $haikuVersion + ode$secondaryArchSuffix == $portVersion base + " diff --git a/dev-games/ode/patches/ode-0.12.patch b/dev-games/ode/patches/ode-0.12.patch index 131dddd87..1e00efd8e 100644 --- a/dev-games/ode/patches/ode-0.12.patch +++ b/dev-games/ode/patches/ode-0.12.patch @@ -1,18 +1,6 @@ -diff -u ode-0.12/ode/src/joints/Makefile.in ode-0.12-haiku/ode/src/joints/Makefile.in ---- ode-0.12/ode/src/joints/Makefile.in 2012-05-28 23:26:01.017825792 +0000 -+++ ode-0.12-haiku/ode/src/joints/Makefile.in 2012-12-27 19:39:57.854327296 +0000 -@@ -53,7 +53,7 @@ - contact.lo universal.lo hinge2.lo fixed.lo null.lo amotor.lo \ - lmotor.lo plane2d.lo pu.lo pr.lo piston.lo - libjoints_la_OBJECTS = $(am_libjoints_la_OBJECTS) --DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/ode/src -+DEFAULT_INCLUDES = -I.@am__isrc@ -I- -I$(top_builddir)/ode/src - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles - am__mv = mv -f -diff -u ode-0.12/include/ode/collision.h ode-0.12-haiku/include/ode/collision.h ---- ode-0.12/include/ode/collision.h 2012-12-27 19:39:13.484704256 +0000 -+++ ode-0.12-haiku/include/ode/collision.h 2012-12-27 19:39:01.685244416 +0000 +diff -ur ode-0.12/include/ode/collision.h ode-0.12-patch/include/ode/collision.h +--- ode-0.12/include/ode/collision.h 2010-11-08 12:00:18.044564480 +0000 ++++ ode-0.12-patch/include/ode/collision.h 2013-12-16 16:47:37.561774592 +0000 @@ -1081,7 +1081,7 @@ ODE_API void dGeomRaySetClosestHit (dGeomID g, int closestHit); ODE_API int dGeomRayGetClosestHit (dGeomID g); @@ -22,3 +10,15 @@ diff -u ode-0.12/include/ode/collision.h ode-0.12-haiku/include/ode/collision.h ODE_API dGeomID dCreateGeomTransform (dSpaceID space); ODE_API void dGeomTransformSetGeom (dGeomID g, dGeomID obj); +diff -ur ode-0.12/ode/src/joints/Makefile.in ode-0.12-patch/ode/src/joints/Makefile.in +--- ode-0.12/ode/src/joints/Makefile.in 2012-05-28 23:26:01.004980736 +0000 ++++ ode-0.12-patch/ode/src/joints/Makefile.in 2013-12-16 16:35:09.259784704 +0000 +@@ -53,7 +53,7 @@ + contact.lo universal.lo hinge2.lo fixed.lo null.lo amotor.lo \ + lmotor.lo plane2d.lo pu.lo pr.lo piston.lo + libjoints_la_OBJECTS = $(am_libjoints_la_OBJECTS) +-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/ode/src ++DEFAULT_INCLUDES = -I.@am__isrc@ -I- -I$(top_builddir)/ode/src + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles + am__mv = mv -f diff --git a/dev-games/physfs/physfs-2.0.3.recipe b/dev-games/physfs/physfs-2.0.3.recipe index 9cd871976..c6908c94e 100644 --- a/dev-games/physfs/physfs-2.0.3.recipe +++ b/dev-games/physfs/physfs-2.0.3.recipe @@ -6,35 +6,41 @@ CHECKSUM_MD5="c2c727a8a8deb623b521b52d0080f613" LICENSE="PHYSFS" COPYRIGHT="2001-2012 Ryan C. Gordon" -ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" -SECONDARY_ARCHITECTURES="x86_gcc2 ?x86" +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" REVISION="1" PROVIDES=" - physfs$secondaryArchSuffix = $portVersion - lib:libphysfs$secondaryArchSuffix = $portVersion + physfs$secondaryArchSuffix = $portVersion compat >= 2.0 + lib:libphysfs$secondaryArchSuffix = $portVersion compat >= 2.0 + cmd:test_physfs$secondaryArchSuffix = $portVersion compat >= 2.0 " REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion - lib:libz$secondaryArchSuffix " BUILD_REQUIRES=" - devel:libz$secondaryArchSuffix >= 1.0.4 + haiku${secondaryArchSuffix}_devel >= $haikuVersion " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:cmake cmd:make cmd:gcc$secondaryArchSuffix " +PATCH() +{ + sed -i "s,DESTINATION include,DESTINATION $relativeIncludeDir," CMakeLists.txt + sed -i "s,DESTINATION bin,DESTINATION $relativeBinDir," CMakeLists.txt +} + BUILD() { - cmake . -DLIBRARY_OUTPUT_PATH:=$libDir + cmake . -DCMAKE_INSTALL_PREFIX=$prefix \ + -DLIB_SUFFIX="/${secondaryArchSuffix/_/}" make $jobArgs } @@ -52,8 +58,7 @@ INSTALL() PROVIDES_devel=" physfs$secondaryArchSuffix_devel = $portVersion compat >= 2.0 - devel:physfs$secondaryArchSuffix = $portVersion compat >= 2.0 - devel:libphysfs$secondaryArchSuffix = 2.0.3 compat >= 2.0 + devel:libphysfs$secondaryArchSuffix = $portVersion compat >= 2.0 " REQUIRES_devel=" diff --git a/dev-lang/ruby/patches/ruby-1.9.1.patchset b/dev-lang/ruby/patches/ruby-1.9.1.patchset index 9ae38e313..d382648d4 100644 --- a/dev-lang/ruby/patches/ruby-1.9.1.patchset +++ b/dev-lang/ruby/patches/ruby-1.9.1.patchset @@ -1,4 +1,4 @@ -From 8905e56a8092d502b54c26a753bb7920eae149ba Mon Sep 17 00:00:00 2001 +From 7bab20a22b69de3239de475cbc72a5c39864f43c Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Mon, 11 Nov 2013 19:00:01 -0700 Subject: applying patch ruby-1.9.1.patch @@ -470,7 +470,7 @@ index 5da1769..74072d2 100644 1.8.3.4 -From 623782bf181c3f15a276316c69839bf774fe8658 Mon Sep 17 00:00:00 2001 +From b5cf064c70f3212fb0a44dd4eaa4298e881b333f Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Mon, 11 Nov 2013 20:00:13 -0700 Subject: Use gcc for linking modules @@ -496,7 +496,7 @@ index 113d4e5..9bfbfb3 100644 1.8.3.4 -From cc3d90149f715a93b962b4eab1b186acae22c23c Mon Sep 17 00:00:00 2001 +From c43e8e49d47f7778314d9a723f9430fa4686f7ba Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Mon, 11 Nov 2013 23:13:59 -0700 Subject: Add soname flags for libruby.so @@ -520,3 +520,26 @@ index 9bfbfb3..611b586 100644 -- 1.8.3.4 + +From c6983e184282d3ffbb88c095ff13d1913c18a3f8 Mon Sep 17 00:00:00 2001 +From: Rene Gollent +Date: Wed, 18 Dec 2013 21:52:24 -0500 +Subject: Add case for x86_64. + + +diff --git a/configure.in b/configure.in +index 611b586..01f0bb0 100644 +--- a/configure.in ++++ b/configure.in +@@ -1464,7 +1464,7 @@ if test "$with_dln_a_out" != yes; then + : ${LDSHARED="ld -xms"} + DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lroot glue-noinit.a init_term_dyn.o start_dyn.o' + ;; +- i586*) ++ i586*|x86_64*) + : ${LDSHARED="${CC} -shared"} + if test "$rb_cv_binary_elf" = yes; then + LDFLAGS="$LDFLAGS -Wl,-export-dynamic" +-- +1.8.3.4 + diff --git a/dev-lang/ruby/ruby-1.9.1.recipe b/dev-lang/ruby/ruby-1.9.1.recipe index aecdaede9..c2e2be6dd 100644 --- a/dev-lang/ruby/ruby-1.9.1.recipe +++ b/dev-lang/ruby/ruby-1.9.1.recipe @@ -22,7 +22,7 @@ COPYRIGHT="1993-2009 Yukihiro Matsumoto" REVISION="2" -ARCHITECTURES="?x86_gcc2 ?x86 !x86_64" +ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64" PROVIDES=" ruby = $portVersion compat >= 1.9 diff --git a/dev-libs/boost/boost-1.55.0.recipe b/dev-libs/boost/boost-1.55.0.recipe new file mode 100644 index 000000000..3269e6f00 --- /dev/null +++ b/dev-libs/boost/boost-1.55.0.recipe @@ -0,0 +1,88 @@ +DESCRIPTION=" + Boost is a set of libraries for the C++ programming language that + provide support for tasks and structures such as linear algebra, + pseudorandom number generation, multithreading, image processing, + regular expressions, and unit testing. It contains over eighty + individual libraries. + " +SUMMARY="Boost is a set of libraries for the C++ programming language." +HOMEPAGE="http://www.boost.org/" +SRC_URI="http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2/download" +CHECKSUM_MD5="d6eef4b4cacb2183f2bf265a5a03a354" +REVISION="1" +LICENSE="Boost v1.0" +COPYRIGHT="1998-2013 Beman Dawes, David Abrahams, Rene Rivera, et al." +ARCHITECTURES="?x86_gcc2 ?x86" +SECONDARY_ARCHITECTURES="x86" +SOURCE_DIR="boost_1_55_0" +PATCHES="boost-1.55.0.patch" + +PROVIDES=" + lib:boost = 1.55.0 + " + +BUILD_PREREQUIRES=" + boehm_gc + libiconv + libiconv_devel + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:jam + cmd:iconv + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libiconv + " + +REQUIRES=" + lib:libiconv + " + +BUILD() +{ + ./bootstrap.sh \ + --without-icu \ + --prefix=`finddir B_SYSTEM_DIRECTORY` \ + --exec-prefix=`finddir B_SYSTEM_BIN_DIRECTORY` \ + --libdir=`finddir B_SYSTEM_LIB_DIRECTORY` \ + #--includedir=`finddir B_SYSTEM_HEADERS_DIRECTORY` + ./bjam \ + -sICU_PATH=`finddir B_SYSTEM_DIRECTORY` \ + -sICONV_PATH=`finddir B_SYSTEM_DIRECTORY` \ + -d2 \ + --without-mpi \ + --prefix=`finddir B_SYSTEM_DIRECTORY` \ + --exec-prefix=`finddir B_SYSTEM_BIN_DIRECTORY` \ + --libdir=`finddir B_SYSTEM_LIB_DIRECTORY` \ + #--includedir=`finddir B_SYSTEM_HEADERS_DIRECTORY` \ + --enable-threads=posix \ + --enable-thread-local-alloc \ + --enable-parallel-mark \ + inlining=on \ + linkflags=-L`finddir B_SYSTEM_LIB_DIRECTORY` \ + threading=multi \ + variant=release \ + link=shared \ + runtime-link=shared +} + +INSTALL() +{ + ./bjam install \ + -d2 \ + --prefix=$prefix \ + #--exec-prefix=${DESTDIR}/`finddir B_SYSTEM_BIN_DIRECTORY` \ + #--libdir=${DESTDIR}/`finddir B_SYSTEM_LIB_DIRECTORY` \ + #--includedir=${DESTDIR}/`finddir B_SYSTEM_HEADERS_DIRECTORY` \ + inlining=on \ + --without-mpi +} + +PROVIDES_devel=" + boost${secondaryArchSuffix} = $portVersion + " + +REQUIRES_devel=" + boost${secondaryArchSuffix} == $portVersion base + " diff --git a/dev-libs/boost/patches/boost-1.55.0.patch b/dev-libs/boost/patches/boost-1.55.0.patch new file mode 100644 index 000000000..c2c63d404 --- /dev/null +++ b/dev-libs/boost/patches/boost-1.55.0.patch @@ -0,0 +1,352 @@ +diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp +new file mode 100644 +index 0000000..1b15c7e +--- /dev/null ++++ b/boost/config/platform/haiku.hpp +@@ -0,0 +1,27 @@ ++//  (C) Copyright John Maddock 2001. ++//  Use, modification and distribution are subject to the ++//  Boost Software License, Version 1.0. (See accompanying file ++//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ++ ++//  See http://www.boost.org for most recent version. ++ ++//  Haiku specific config options: ++ ++#define BOOST_PLATFORM "Haiku" ++ ++#define BOOST_NO_INTRINSIC_WCHAR_T ++#define BOOST_HAS_UNISTD_H ++ ++#define BOOST_HAS_BETHREADS ++ ++#ifndef BOOST_DISABLE_THREADS ++# define BOOST_HAS_THREADS ++#endif ++ ++// ++// thread API's not auto detected: ++// ++#define BOOST_HAS_GETTIMEOFDAY ++ ++// boilerplate code: ++#include +diff --git a/boost/config/select_platform_config.hpp b/boost/config/select_platform_config.hpp +index 2af61d2..5052d85 100644 +--- a/boost/config/select_platform_config.hpp ++++ b/boost/config/select_platform_config.hpp +@@ -41,6 +41,10 @@ + // win32: + # define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" + ++#elif defined(__HAIKU__) ++// Haiku ++# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp" ++ + #elif defined(__BEOS__) + // BeOS + # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" +diff --git a/boost/config/stdlib/libstdcpp3.hpp b/boost/config/stdlib/libstdcpp3.hpp +index 976ab76..66bc96d 100644 +--- a/boost/config/stdlib/libstdcpp3.hpp ++++ b/boost/config/stdlib/libstdcpp3.hpp +@@ -36,7 +36,8 @@ + || defined(_GLIBCXX__PTHREADS) \ + || defined(_GLIBCXX_HAS_GTHREADS) \ + || defined(_WIN32) \ +- || defined(_AIX) ++ || defined(_AIX) \ ++ || defined(__HAIKU__) + // + // If the std lib has thread support turned on, then turn it on in Boost + // as well. We do this because some gcc-3.4 std lib headers define _REENTANT +diff --git a/boost/thread/detail/platform.hpp b/boost/thread/detail/platform.hpp +index 1f33b1a..1b8917c 100644 +--- a/boost/thread/detail/platform.hpp ++++ b/boost/thread/detail/platform.hpp +@@ -34,6 +34,8 @@ + # define BOOST_THREAD_WIN32 + #elif defined(__BEOS__) + # define BOOST_THREAD_BEOS ++#elif defined(__HAIKU__) ++# define BOOST_THREAD_BEOS + #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) + # define BOOST_THREAD_MACOS + //# define BOOST_THREAD_WAIT_BUG boost::posix_time::microseconds(1000) +diff --git a/tools/build/v2/engine/boehm_gc/dyn_load.c b/tools/build/v2/engine/boehm_gc/dyn_load.c +index 36968ba..e725bdc 100644 +--- a/tools/build/v2/engine/boehm_gc/dyn_load.c ++++ b/tools/build/v2/engine/boehm_gc/dyn_load.c +@@ -64,7 +64,7 @@ static int (*GC_has_static_roots)(const char *, void *, size_t); + !defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \ + !(defined(FREEBSD) && defined(__ELF__)) && \ + !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \ +- !defined(DARWIN) && !defined(CYGWIN32) ++ !defined(DARWIN) && !defined(CYGWIN32) !(defined(HAIKU) + --> We only know how to find data segments of dynamic libraries for the + --> above. Additional SVR4 variants might not be too + --> hard to add. +@@ -82,6 +82,10 @@ static int (*GC_has_static_roots)(const char *, void *, size_t); + # define ELFSIZE ARCH_ELFSIZE + #endif + ++#if defined(HAIKU) ++ ++#endif ++ + #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \ + (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \ + (defined(NETBSD) && defined(__ELF__)) || defined(HURD) +@@ -216,7 +220,8 @@ void GC_register_dynamic_libraries() + + #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \ + (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \ +- (defined(NETBSD) && defined(__ELF__)) || defined(HURD) ++ (defined(NETBSD) && defined(__ELF__)) || defined(HURD) || \ ++ defined(HAIKU) + + + #ifdef USE_PROC_FOR_LIBRARIES +diff --git a/tools/build/v2/engine/boehm_gc/include/gc.h b/tools/build/v2/engine/boehm_gc/include/gc.h +index cc95088..590a868 100644 +--- a/tools/build/v2/engine/boehm_gc/include/gc.h ++++ b/tools/build/v2/engine/boehm_gc/include/gc.h +@@ -494,7 +494,7 @@ GC_API void * GC_malloc_atomic_ignore_off_page(size_t lb); + /* of compilers. */ + /* This may also be desirable if it is possible but expensive to */ + /* retrieve the call chain. */ +-#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \ ++#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__HAIKU__) \ + || defined(__FreeBSD__) || defined(__DragonFly__)) & !defined(GC_CAN_SAVE_CALL_STACKS) + # define GC_ADD_CALLER + # if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +diff --git a/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h b/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h +index 66abf0b..797eddd 100644 +--- a/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h ++++ b/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h +@@ -45,7 +45,8 @@ + || defined(GC_AIX_THREADS) \ + || defined(GC_LINUX_THREADS) \ + || defined(GC_NETBSD_THREADS) \ +- || defined(GC_GNU_THREADS)) ++ || defined(GC_GNU_THREADS)) \ ++ || defined(GC_HAIKU_THREADS) + # define _REENTRANT + /* Better late than never. This fails if system headers that */ + /* depend on this were previously included. */ +@@ -62,6 +63,7 @@ + # if defined(GC_SOLARIS_THREADS) || defined(GC_FREEBSD_THREADS) || \ + defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \ + defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \ ++ defined(GC_HAIKU_THREADS) || \ + defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \ + defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \ + (defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \ +diff --git a/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h b/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h +index 20f35bc..7e798a7 100644 +--- a/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h ++++ b/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h +@@ -215,6 +215,11 @@ + # define BEOS + # define mach_type_known + # endif ++# if defined(__HAIKU__) && defined(_X86_) ++# define I386 ++# define HAIKU ++# define mach_type_known ++# endif + # if defined(LINUX) && (defined(i386) || defined(__i386__)) + # define I386 + # define mach_type_known +@@ -1014,6 +1019,13 @@ + extern int etext[]; + # define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff)) + # endif ++# ifdef HAIKU ++# define OS_TYPE "HAIKU" ++# include ++# define GETPAGESIZE() B_PAGE_SIZE ++ extern int etext[]; ++# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff)) ++# endif + # ifdef SOLARIS + # define OS_TYPE "SOLARIS" + extern int _etext[], _end[]; +diff --git a/tools/build/v2/engine/boehm_gc/os_dep.c b/tools/build/v2/engine/boehm_gc/os_dep.c +index bb8fa08..a7edf72 100644 +--- a/tools/build/v2/engine/boehm_gc/os_dep.c ++++ b/tools/build/v2/engine/boehm_gc/os_dep.c +@@ -777,6 +777,16 @@ ptr_t GC_get_main_stack_base(void){ + # endif /* BEOS */ + + ++# ifdef HAIKU ++# include ++ptr_t GC_get_main_stack_base(void){ ++ thread_info th; ++ get_thread_info(find_thread(NULL),&th); ++ return th.stack_end; ++} ++# endif /* HAIKU */ ++ ++ + # ifdef OS2 + + ptr_t GC_get_main_stack_base(void) +@@ -1095,7 +1105,7 @@ ptr_t GC_get_main_stack_base(void) + + #endif /* FREEBSD_STACKBOTTOM */ + +-#if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \ ++#if !defined(BEOS) && !defined(HAIKU) && !defined(AMIGA) && !defined(MSWIN32) \ + && !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \ + && !defined(CYGWIN32) + +@@ -1154,7 +1164,7 @@ ptr_t GC_get_main_stack_base(void) + # endif /* STACKBOTTOM */ + } + +-# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !NOSYS, !ECOS */ ++# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !HAIKU, !NOSYS, !ECOS */ + + #if defined(GC_LINUX_THREADS) && !defined(HAVE_GET_STACK_BASE) + +diff --git a/tools/build/v2/engine/fileunix.c b/tools/build/v2/engine/fileunix.c +index bff3a42..1f60be2 100644 +--- a/tools/build/v2/engine/fileunix.c ++++ b/tools/build/v2/engine/fileunix.c +@@ -80,7 +80,10 @@ struct ar_hdr /* archive file member header - printable ascii */ + }; + #endif + +-#if defined( OS_QNX ) || defined( OS_BEOS ) || defined( OS_MPEIX ) ++# if defined( OS_QNX ) || \ ++ defined( OS_BEOS ) || \ ++ defined( OS_HAIKU ) || \ ++ defined( OS_MPEIX ) + # define NO_AR + # define HAVE_AR + #endif +diff --git a/tools/build/v2/engine/jam.h b/tools/build/v2/engine/jam.h +index 86ad0e8..7c0bb69 100644 +--- a/tools/build/v2/engine/jam.h ++++ b/tools/build/v2/engine/jam.h +@@ -125,6 +125,11 @@ + #define OS_BEOS + #define NO_VFORK + #endif ++#ifdef __HAIKU__ ++ #define unix ++ #define OSMINOR "OS=HAIKU" ++ #define OS_HAIKU ++#endif + #ifdef __bsdi__ + #define OSMINOR "OS=BSDI" + #define OS_BSDI +diff --git a/tools/build/v2/engine/jambase.c b/tools/build/v2/engine/jambase.c +index b15282b..5a127a1 100644 +--- a/tools/build/v2/engine/jambase.c ++++ b/tools/build/v2/engine/jambase.c +@@ -548,6 +548,18 @@ char *jambase[] = { + "NOARSCAN ?= true ;\n", + "STDHDRS ?= /boot/develop/headers/posix ;\n", + "}\n", ++"else if $(OS) = HAIKU\n", ++"{\n", ++"BINDIR ?= /boot/common/bin ;\n", ++"CC ?= gcc ;\n", ++"C++ ?= $(CC) ;\n", ++"FORTRAN ?= \"\" ;\n", ++"LIBDIR ?= /boot/common/lib ;\n", ++"LINK ?= gcc ;\n", ++"LINKLIBS ?= -lnetwork ;\n", ++"NOARSCAN ?= true ;\n", ++"STDHDRS ?= /boot/develop/headers/posix ;\n", ++"}\n", + "else if $(OS) = BEOS\n", + "{\n", + "BINDIR ?= /boot/apps ;\n", +diff --git a/tools/build/v2/tools/builtin.jam b/tools/build/v2/tools/builtin.jam +index 176de13..1c3466f 100644 +--- a/tools/build/v2/tools/builtin.jam ++++ b/tools/build/v2/tools/builtin.jam +@@ -41,7 +41,7 @@ import generate ; + + + .os-names = aix bsd cygwin darwin freebsd hpux iphone linux netbsd openbsd osf +- qnx qnxnto sgi solaris unix unixware windows ++ qnx qnxnto sgi solaris unix unixware windows haiku + elf # Not actually an OS -- used for targeting bare metal where object + # format is ELF. This catches both -elf and -eabi gcc targets and well + # as other compilers targeting ELF. It is not clear how often we need +@@ -76,6 +76,7 @@ local rule default-host-os ( ) + case COHERENT : host-os = unix ; + case DRAGONFLYBSD : host-os = bsd ; + case IRIX : host-os = sgi ; ++ case HAIKU : host-os = haiku ; + case MACOSX : host-os = darwin ; + case KFREEBSD : host-os = freebsd ; + case LINUX : host-os = linux ; +diff --git a/tools/build/v2/tools/builtin.py b/tools/build/v2/tools/builtin.py +index 35c1a40..c430fad 100644 +--- a/tools/build/v2/tools/builtin.py ++++ b/tools/build/v2/tools/builtin.py +@@ -103,6 +103,7 @@ def default_host_os(): + elif host_os == 'MACOSX': host_os = 'darwin' + elif host_os == 'KFREEBSD': host_os = 'freebsd' + elif host_os == 'LINUX': host_os = 'linux' ++ elif host_os == 'HAIKU': host_os = 'haiku' + else: host_os = 'unix' + return host_os.lower() + +diff --git a/tools/build/v2/tools/gcc.jam b/tools/build/v2/tools/gcc.jam +index ef90f05..2de76cf 100644 +--- a/tools/build/v2/tools/gcc.jam ++++ b/tools/build/v2/tools/gcc.jam +@@ -1029,10 +1029,11 @@ rule setup-threading ( targets * : sources * : properties * ) + case cygwin : option = -mthreads ; + case solaris : option = -pthreads ; libs = rt ; + case beos : # No threading options. ++ case haiku : option = ; + case *bsd : option = -pthread ; # There is no -lrt on BSD. + case sgi : # gcc on IRIX does not support multi-threading. + case darwin : # No threading options. +- case * : option = -pthread ; libs = rt ; ++ case * : option = -pthreads ; libs = rt ; + } + + if $(option) +diff --git a/tools/build/v2/tools/gcc.py b/tools/build/v2/tools/gcc.py +index c2f3b02..4f60d22 100644 +--- a/tools/build/v2/tools/gcc.py ++++ b/tools/build/v2/tools/gcc.py +@@ -677,6 +677,9 @@ elif bjam.variable('UNIX'): + elif host_os_name == 'BeOS': + # BeOS has no threading options, don't set anything here. + pass ++ elif host_os_name == 'Haiku': ++ flags('gcc', 'OPTIONS', ['multi'], ['-lroot']) ++ # there is no -lrt on HAIKU + elif host_os_name.endswith('BSD'): + flags('gcc', 'OPTIONS', ['multi'], ['-pthread']) + # there is no -lrt on BSD +diff --git a/tools/build/v2/tools/python.jam b/tools/build/v2/tools/python.jam +index d48bb78..070f5d2 100644 +--- a/tools/build/v2/tools/python.jam ++++ b/tools/build/v2/tools/python.jam +@@ -639,13 +639,14 @@ local rule system-library-dependencies ( target-os ) + case qnx* : return ; + case darwin : return ; + case windows : return ; ++ case haiku : return ; + + case hpux : return rt ; + case *bsd : return pthread gcc:util ; + + case aix : return pthread dl ; + +- case * : return pthread dl ++ case * : return ; pthread dl + gcc:util linux:util ; + } + } diff --git a/dev-libs/cyassl/cyassl-2.8.0.recipe b/dev-libs/cyassl/cyassl-2.8.0.recipe new file mode 100644 index 000000000..d192dea27 --- /dev/null +++ b/dev-libs/cyassl/cyassl-2.8.0.recipe @@ -0,0 +1,62 @@ +SUMMARY="CyaSSL embedded SSL implementation" +DESCRIPTION="lightweight yet fully functional embedded SSL implementation" +HOMEPAGE="http://yassl.com" +SRC_URI="http://yassl.com/cyassl-2.8.0.zip" +REVISION="1" +CHECKSUM_MD5="7465d4815af90eff01095fa1b031ce09" +LICENSE="GNU GPL v2" +COPYRIGHT="2006-2013 Sawtooth Consulting Ltd." + +ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64" +SECONDARY_ARCHITECTURES="?x86_gcc2 ?x86" + +PROVIDES=" + cyassl$secondaryArchSuffix = $portVersion + lib:libcyassl$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " + +BUILD_REQUIRES=" + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:libtoolize + cmd:aclocal + cmd:autoconf + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:dos2unix + " + + +DEPEND="app-text/dos2unix >= 1.0" +BUILD() +{ + dos2unix * + dos2unix include/* + dos2unix ctaocrypt/include/* + dos2unix ctaocrypt/src/* + libtoolize --force --copy --install + aclocal -I m4 + autoconf + chmod 755 configure + automake + runConfigure ./configure --enable-shared + make +} + +INSTALL() +{ + make install +} + +TEST() +{ + make check + cd testsuite + testsuite +} diff --git a/dev-libs/libpcre/libpcre-8.21.recipe b/dev-libs/libpcre/libpcre-8.21.recipe index 6d1a52f71..c062f62a0 100644 --- a/dev-libs/libpcre/libpcre-8.21.recipe +++ b/dev-libs/libpcre/libpcre-8.21.recipe @@ -13,7 +13,7 @@ COPYRIGHT=" 1997-2011 University of Cambridge 2007-2011, Google Inc. All rights reserved. " -SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.bz2" +SRC_URI="http://sourceforge.net/projects/pcre/files/pcre/8.21/pcre-8.21.tar.bz2" CHECKSUM_MD5="0a7b592bea64b7aa7f4011fc7171a730" REVISION="5" ARCHITECTURES="x86_gcc2 x86 x86_64" diff --git a/dev-libs/libpthread_stubs/libpthread_stubs-0.3.recipe b/dev-libs/libpthread_stubs/libpthread_stubs-0.3.recipe index 5df1e235d..73951280e 100644 --- a/dev-libs/libpthread_stubs/libpthread_stubs-0.3.recipe +++ b/dev-libs/libpthread_stubs/libpthread_stubs-0.3.recipe @@ -47,4 +47,5 @@ BUILD() INSTALL() { make install + fixPkgconfig } diff --git a/dev-libs/libxslt/libxslt-1.1.28.recipe b/dev-libs/libxslt/libxslt-1.1.28.recipe index 3af348ce2..43a54f230 100644 --- a/dev-libs/libxslt/libxslt-1.1.28.recipe +++ b/dev-libs/libxslt/libxslt-1.1.28.recipe @@ -5,8 +5,8 @@ COPYRIGHT="2001-2002 Daniel Veillard. All Rights Reserved." SRC_URI="ftp://xmlsoft.org/libxml2/libxslt-1.1.28.tar.gz" CHECKSUM_MD5="9667bf6f9310b957254fdcf6596600b7" REVISION="2" -ARCHITECTURES="x86_gcc2 x86" -SECONDARY_ARCHITECTURES="x86_gcc2 x86" +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86 x86_64" PROVIDES=" libxslt$secondaryArchSuffix = $portVersion diff --git a/dev-libs/tinyxml2/tinyxml2-2.recipe b/dev-libs/tinyxml2/tinyxml2-2.recipe new file mode 100644 index 000000000..55a7d77a6 --- /dev/null +++ b/dev-libs/tinyxml2/tinyxml2-2.recipe @@ -0,0 +1,68 @@ +DESCRIPTION=" + TinyXML-2 is a simple, small, efficient, C++ XML parser that can be + easily integrated into other programs. + " +SUMMARY="TinyXML-2 is a simple C++ XML parser." +HOMEPAGE="http://www.grinninglizard.com/tinyxml2/" +LICENSE="Zlib" +COPYRIGHT="2011-2013 Lee Thomason" +SRC_URI="git+https://github.com/leethomason/tinyxml2.git#343a5ff3bdd7336644db4080f001759e062c359e" +REVISION="1" +ARCHITECTURES="!x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + + +PROVIDES=" + tinyxml2$secondaryArchSuffix = $portVersion + lib:libtinyxml2$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + " + +BUILD() +{ + g++ -fpic -c tinyxml2.cpp + g++ -shared -Wl,-soname,libtinyxml2.so -o libtinyxml2.so tinyxml2.o +} + +INSTALL() +{ + mkdir -p $libDir + # also install shared lib + cp -a libtinyxml2.so $libDir + + # move headers + mkdir -p $includeDir + mv tinyxml2.h $includeDir + + # prepare development lib links + prepareInstalledDevelLib libtinyxml2 + + # devel package + packageEntries devel $developDir +} + +TEST() +{ + make test +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + tinyxml2${secondaryArchSuffix}_devel = $portVersion + devel:libtinyxml2$secondaryArchSuffix = $portVersion + " +REQUIRES_devel=" + tinyxml2$secondaryArchSuffix == $portVersion base + " diff --git a/dev-perl/XML_Parser/XML_Parser-2.36.recipe b/dev-perl/xml_parser/xml_parser-2.36.recipe similarity index 53% rename from dev-perl/XML_Parser/XML_Parser-2.36.recipe rename to dev-perl/xml_parser/xml_parser-2.36.recipe index 4bb691719..9c02605e4 100644 --- a/dev-perl/XML_Parser/XML_Parser-2.36.recipe +++ b/dev-perl/xml_parser/xml_parser-2.36.recipe @@ -1,25 +1,42 @@ -#dev-perl/XML-Parser +SUMMARY="XML-Parser - A perl module for parsing XML documents" DESCRIPTION="XML-Parser - A perl module for parsing XML documents" HOMEPAGE="http://search.cpan.org/~msergeant/XML-Parser-2.36/" SRC_URI="http://search.cpan.org/CPAN/authors/id/M/MS/MSERGEANT/XML-Parser-2.36.tar.gz" REVISION="1" -# only tested on gcc4 -STATUS_HAIKU="stable" -DEPEND="" CHECKSUM_MD5="1b868962b658bd87e1563ecd56498ded" +COPYRIGHT="1998-2000 Larry Wall and Clark Cooper. All rights reserved." +LICENSE="Artistic (Perl)" + +ARCHITECTURES="x86 x86_gcc2" + +PROVIDES=" + xml_parser = $portVersion + " +REQUIRES=" + haiku >= $haikuVersion + lib:libexpat + perl + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + devel:libexpat + cmd:gcc + cmd:make + cmd:perl" + +SOURCE_DIR="XML-Parser-2.36" # TODO: Remove hardcoded paths. The following shows how to get the the file path: #find /boot/common/lib/perl5 -type f -name unixish.h | grep -FzZ BePC-haiku/CORE/unixish.h BUILD() { - cd XML-Parser-2.36 - perl Makefile.PL + perl Makefile.PL PREFIX=$prefix make } INSTALL() { - cd XML-Parser-2.36 make install DESTDIR="${DESTDIR}" } diff --git a/dev-python/dulwich/dulwich-0.9.4.recipe b/dev-python/dulwich/dulwich-0.9.4.recipe new file mode 100644 index 000000000..f67c89d39 --- /dev/null +++ b/dev-python/dulwich/dulwich-0.9.4.recipe @@ -0,0 +1,46 @@ +SUMMARY="Simple Python implementation of the Git file formats and protocols." +DESCRIPTION=" +Dulwich is a simple Python implementation of the Git file formats and +protocols. All functionality is available in pure Python. Optional C +extensions can be built for improved performance." +HOMEPAGE="http://www.samba.org/~jelmer/dulwich/" +SRC_URI="https://pypi.python.org/packages/source/d/dulwich/dulwich-0.9.4.tar.gz" +CHECKSUM_MD5="35209870f231cafe3f5a6c7c1daa3d20" +LICENSE="GNU GPL v2" +COPYRIGHT="2008-2013 Jelmer Vernooij" +REVISION="1" + +ARCHITECTURES="x86 x86_gcc2" + +PROVIDES=" + dulwich = $portVersion + cmd:dul_daemon = $portVersion + cmd:dul_receive_pack = $portVersion + cmd:dul_upload_pack = $portVersion + cmd:dul_web = $portVersion + cmd:dulwich = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + cmd:python + " + +BUILD_REQUIRES="" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:python + cmd:gcc + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build +} + +INSTALL() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py install \ + --prefix=$prefix +} diff --git a/games-emulation/dosbox/dosbox-0.74-svn.patch b/games-emulation/dosbox/dosbox-0.74-svn.patch deleted file mode 100644 index 1e81c8f9e..000000000 --- a/games-emulation/dosbox/dosbox-0.74-svn.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: configure.in -=================================================================== ---- configure.in (revision 3798) -+++ configure.in (working copy) -@@ -121,13 +121,8 @@ - - - dnl Check for powf --AC_MSG_CHECKING(for powf in libm); --LIBS_BACKUP=$LIBS; --LIBS="$LIBS -lm"; --AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]],[[ -- powf(1.0f, 1.0f); --]])], [AC_MSG_RESULT(yes)], [AC_DEFINE([DB_HAVE_NO_POWF],[1],[libm doesn't include powf])]) --LIBS=$LIBS_BACKUP -+AC_SEARCH_LIBS([powf], [m], [AC_MSG_RESULT(yes)], [AC_DEFINE([DB_HAVE_NO_POWF],[1],[no powf function available])]) -+AC_SEARCH_LIBS([getpeername], [network]) - - - dnl Checks for libraries. diff --git a/games-emulation/dosbox/dosbox-0.74.recipe b/games-emulation/dosbox/dosbox-0.74.recipe new file mode 100644 index 000000000..fe2437e90 --- /dev/null +++ b/games-emulation/dosbox/dosbox-0.74.recipe @@ -0,0 +1,76 @@ +SUMMARY="DOSBox is a DOS-Emulator that uses SDL library" +DESCRIPTION="DOSBox is a DOS-emulator that uses the SDL-library which +makes DOSBox very easy to port to different platforms. DOSBox has +already been ported to many different platforms, such as Windows, +BeOS, Linux, MacOS X... + +DOSBox also emulates CPU:286/386 realmode/protected mode, Directory +FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a +SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility +with older games... + +You can re-live the good old days with the help of DOSBox, it can +run plenty of the old classics that don't run on your new computer! + +DOSBox is totally free of charge and OpenSource." +HOMEPAGE="http://www.dosbox.com" +SRC_URI="http://sourceforge.net/projects/dosbox/files/dosbox/0.74/dosbox-0.74.tar.gz/download" +CHECKSUM_MD5="b9b240fa87104421962d14eee71351e8" +REVISION="1" +LICENSE="GNU GPL v2" +COPYRIGHT="2002-2013 The DosBox Team" + +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 x86_64" + +PROVIDES=" + dosbox$secondaryArchSuffix = $portVersion + app:dosbox$secondaryArchSuffix = $portVersion +" +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libsdl$secondaryArchSuffix + lib:libsdl_net$secondaryArchSuffix + lib:libsdl_sound$secondaryArchSuffix + lib:libglu$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libz$secondaryArchSuffix +" +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libglu$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libsdl_net$secondaryArchSuffix + devel:libsdl_sound$secondaryArchSuffix + libsdl${secondaryArchSuffix}_devel +" +BUILD_PREREQUIRES=" + cmd:autoconf + cmd:libtoolize + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:aclocal +" +SOURCE_DIR="dosbox-0.74" + +PATCHES=" + powf.patch +" + +BUILD() +{ + ./configure --prefix=$prefix --disable-dynamic-core --bindir=$appsDir --datarootdir=$dataDir + make +} +INSTALL() +{ + make install + addAppDeskbarSymlink $appsDir/dosbox "DOSBox" +} diff --git a/games-emulation/dosbox/dosbox-0.74_svn.recipe b/games-emulation/dosbox/dosbox-0.74_svn.recipe deleted file mode 100644 index e6b48bf79..000000000 --- a/games-emulation/dosbox/dosbox-0.74_svn.recipe +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION="an x86 emulator with DOS" -MESSAGE="This port requires gcc4." -HOMEPAGE="http://www.dosbox.com/" -SRC_URI="svn://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/" -REVISION="1" -STATUS_HAIKU="unstable" -DEPEND="media-libs/libsdl >= 1.2 < " - -BUILD() -{ - cd dosbox-0.74-svn - libtoolize --force --copy --install - ./autogen.sh - ./configure --prefix=/boot/common --disable-dynamic-x86 - make -} - -INSTALL() -{ - cd dosbox-0.74-svn - make install -} - -# no TEST script available - -COPYRIGHT="2012 The DOSBox Team" -LICENSE="GNU GPL v2" diff --git a/games-emulation/dosbox/patches/dosbox-0.74_svn.patch b/games-emulation/dosbox/patches/dosbox-0.74_svn.patch deleted file mode 100644 index 1e81c8f9e..000000000 --- a/games-emulation/dosbox/patches/dosbox-0.74_svn.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: configure.in -=================================================================== ---- configure.in (revision 3798) -+++ configure.in (working copy) -@@ -121,13 +121,8 @@ - - - dnl Check for powf --AC_MSG_CHECKING(for powf in libm); --LIBS_BACKUP=$LIBS; --LIBS="$LIBS -lm"; --AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]],[[ -- powf(1.0f, 1.0f); --]])], [AC_MSG_RESULT(yes)], [AC_DEFINE([DB_HAVE_NO_POWF],[1],[libm doesn't include powf])]) --LIBS=$LIBS_BACKUP -+AC_SEARCH_LIBS([powf], [m], [AC_MSG_RESULT(yes)], [AC_DEFINE([DB_HAVE_NO_POWF],[1],[no powf function available])]) -+AC_SEARCH_LIBS([getpeername], [network]) - - - dnl Checks for libraries. diff --git a/games-emulation/dosbox/patches/powf.patch b/games-emulation/dosbox/patches/powf.patch new file mode 100644 index 000000000..ac3732b23 --- /dev/null +++ b/games-emulation/dosbox/patches/powf.patch @@ -0,0 +1,19 @@ +diff --git a/configure.in b/configure.in +index 016ea95..f222548 100644 +--- a/configure.in ++++ b/configure.in +@@ -121,13 +121,7 @@ d_test.d_type = 0; + + + dnl Check for powf +-AC_MSG_CHECKING(for powf in libm); +-LIBS_BACKUP=$LIBS; +-LIBS="$LIBS -lm"; +-AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]],[[ +- powf(1.0f, 1.0f); +-]])], [AC_MSG_RESULT(yes)], [AC_DEFINE([DB_HAVE_NO_POWF],[1],[libm doesn't include powf])]) +-LIBS=$LIBS_BACKUP ++AC_SEARCH_LIBS([powf],[m], [AC_MSG_RESULT(yes)], [AC_DEFINE([DB_HAVE_NO_POWF],[1],[no powf function avalible])]) + + + dnl Checks for libraries. diff --git a/games-emulation/visualboyadvance/patches/Makefile.am.patch b/games-emulation/visualboyadvance/patches/Makefile.am.patch new file mode 100644 index 000000000..9aef1e939 --- /dev/null +++ b/games-emulation/visualboyadvance/patches/Makefile.am.patch @@ -0,0 +1,91 @@ +diff --git a/src/sdl/Makefile.am b/src/sdl/Makefile.am +index bcc9f92..ba6db7a 100644 +--- a/src/sdl/Makefile.am ++++ b/src/sdl/Makefile.am +@@ -1,7 +1,5 @@ + bin_PROGRAMS = VisualBoyAdvance + +-noinst_PROGRAMS = TestEmu +- + VisualBoyAdvance_SOURCES = \ + SDL.cpp \ + debugger.cpp \ +@@ -79,78 +77,6 @@ VisualBoyAdvance_LDADD = @VBA_LIBS@ @SDL_LIBS@ + + VisualBoyAdvance_DEPENDENCIES = @VBA_LIBS@ + +-TestEmu_SOURCES = \ +- TestEmu.cpp \ +- debugger.cpp \ +- debugger.h \ +- ../2xSaI.cpp \ +- ../AutoBuild.h \ +- ../Cheats.cpp \ +- ../Cheats.h \ +- ../EEprom.cpp \ +- ../EEprom.h \ +- ../Flash.cpp \ +- ../Flash.h \ +- ../GBA.cpp \ +- ../GBA.h \ +- ../GBAinline.h \ +- ../Gfx.cpp \ +- ../Gfx.h \ +- ../Globals.cpp \ +- ../Globals.h \ +- ../Mode0.cpp \ +- ../Mode1.cpp \ +- ../Mode2.cpp \ +- ../Mode3.cpp \ +- ../Mode4.cpp \ +- ../Mode5.cpp \ +- ../NLS.h \ +- ../Port.h \ +- ../RTC.cpp \ +- ../RTC.h \ +- ../Sound.cpp \ +- ../Sound.h \ +- ../Sram.cpp \ +- ../Sram.h \ +- ../System.h \ +- ../Text.cpp \ +- ../Text.h \ +- ../Util.cpp \ +- ../Util.h \ +- ../admame.cpp \ +- ../agbprint.cpp \ +- ../agbprint.h \ +- ../arm-new.h \ +- ../armdis.cpp \ +- ../armdis.h \ +- ../bios.cpp \ +- ../bios.h \ +- ../elf.cpp \ +- ../elf.h \ +- ../expr-lex.cpp \ +- ../expr.cpp \ +- ../expr.cpp.h \ +- ../exprNode.cpp \ +- ../exprNode.h \ +- ../hq2x.cpp \ +- ../hq2x.h \ +- ../interp.h \ +- ../lq2x.h \ +- ../memgzio.c \ +- ../memgzio.h \ +- ../motionblur.cpp \ +- ../pixel.cpp \ +- ../remote.cpp \ +- ../scanline.cpp \ +- ../simple2x.cpp \ +- ../thumb.h \ +- ../unzip.cpp \ +- ../unzip.h +- +-TestEmu_LDADD = @VBA_LIBS@ @SDL_LIBS@ +- +-TestEmu_DEPENDENCIES = @VBA_LIBS@ +- + AM_CPPFLAGS = \ + -I$(top_srcdir)/src \ + -DSDL \ diff --git a/games-emulation/visualboyadvance/patches/Util.patch b/games-emulation/visualboyadvance/patches/Util.patch new file mode 100644 index 000000000..891ac1d84 --- /dev/null +++ b/games-emulation/visualboyadvance/patches/Util.patch @@ -0,0 +1,26 @@ +diff --git a/src/Util.cpp b/src/Util.cpp +index 9e3b7d9..6ab1614 100644 +--- a/src/Util.cpp ++++ b/src/Util.cpp +@@ -86,8 +86,12 @@ bool utilWritePNGFile(const char *fileName, int w, int h, u8 *pix) + fclose(fp); + return false; + } ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 + ++#else + if(setjmp(png_ptr->jmpbuf)) { ++#endif ++ if(setjmp(png_jmpbuf(png_ptr))) { + png_destroy_write_struct(&png_ptr,NULL); + fclose(fp); + return false; +@@ -992,7 +996,7 @@ void utilWriteData(gzFile gzFile, variable_desc *data) + + gzFile utilGzOpen(const char *file, const char *mode) + { +- utilGzWriteFunc = (int (ZEXPORT *)(void *,void * const, unsigned int))gzwrite; ++ utilGzWriteFunc = (int (ZEXPORT *)(gzFile,const voidp, unsigned int))gzwrite; + utilGzReadFunc = gzread; + utilGzCloseFunc = gzclose; + diff --git a/games-emulation/visualboyadvance/patches/configure.in.patch b/games-emulation/visualboyadvance/patches/configure.in.patch new file mode 100644 index 000000000..0ff81324a --- /dev/null +++ b/games-emulation/visualboyadvance/patches/configure.in.patch @@ -0,0 +1,12 @@ +diff --git a/configure.in b/configure.in +index 159bf87..1ad2fac 100644 +--- a/configure.in ++++ b/configure.in +@@ -64,6 +64,7 @@ dnl Checks for libraries. + AC_CHECK_LIB(z, gzopen, + , AC_MSG_ERROR([*** Cannot compile without zlib.])) + AC_CHECK_LIB(pthread, pthread_yield) ++AC_CHECK_LIB(network, socket) + + PKG_CHECK_MODULES(LIBPNG, libpng) + CPPFLAGS="$CPPFLAGS $LIBPNG_CFLAGS" diff --git a/games-emulation/visualboyadvance/patches/visualboyadvance-1.7.2.patch b/games-emulation/visualboyadvance/patches/visualboyadvance-1.7.2.patch deleted file mode 100644 index 1f45d7d7b..000000000 --- a/games-emulation/visualboyadvance/patches/visualboyadvance-1.7.2.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naur VisualBoyAdvance-1.7.2/configure.in VisualBoyAdvance-1.7.2-haiku/configure.in ---- VisualBoyAdvance-1.7.2/configure.in 2004-05-13 21:38:35.039583744 +0000 -+++ VisualBoyAdvance-1.7.2-haiku/configure.in 2010-05-01 03:37:15.941621248 +0000 -@@ -66,6 +66,7 @@ - AC_CHECK_LIB(png, png_create_write_struct, - , AC_MSG_ERROR([*** Cannot compile without libpng.]), [-lz]) - AC_CHECK_LIB(pthread, pthread_yield) -+AC_CHECK_LIB(network, socket) - - dnl Checks for header files. - AC_PATH_X diff --git a/games-emulation/visualboyadvance/visualboyadvance-1.7.2.recipe b/games-emulation/visualboyadvance/visualboyadvance-1.7.2.recipe deleted file mode 100644 index 2cfddb434..000000000 --- a/games-emulation/visualboyadvance/visualboyadvance-1.7.2.recipe +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION="VisualBoyAdvance" -HOMEPAGE="http://vba.ngemu.com" -SRC_URI="http://sourceforge.net/projects/vba/files/VisualBoyAdvance/1.7.2/VisualBoyAdvance-src-1.7.2.tar.gz" -CHECKSUM_MD5="cc02339e3fd8efd9f23121b0a2f81fd8" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="dev-lang/nasm >= 2.03.01 - media-libs/libsdl >= 1.2.14 - media-libs/sdl-mixer >= 1.2.11" - -BUILD() -{ - cd VisualBoyAdvance-1.7.2 - libtoolize --force --copy --install - autoreconf -i - ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ - --enable-c-core --disable-profiling --without-mmx - make -} - -INSTALL() -{ - cd VisualBoyAdvance-1.7.2/src - GAMEDIR=`finddir B_APPS_DIRECTORY`/Visualboyadvance - mkdir -p ${DESTDIR}/${GAMEDIR} - cp -af VisualBoyAdvance.cfg ${DESTDIR}/${GAMEDIR} - cd sdl - cp -af TestEmu ${DESTDIR}/${GAMEDIR} - cp -af VisualBoyAdvance ${DESTDIR}/${GAMEDIR} -} - -LICENSE="GNU GPL v2" -COPYRIGHT="2002 Forgotten" diff --git a/games-emulation/visualboyadvance/visualboyadvance-1.8.recipe b/games-emulation/visualboyadvance/visualboyadvance-1.8.recipe new file mode 100644 index 000000000..65440f416 --- /dev/null +++ b/games-emulation/visualboyadvance/visualboyadvance-1.8.recipe @@ -0,0 +1,70 @@ +SUMMARY="VisualBoyAdvance, a GBA Emulator" +DESCRIPTION="VisualBoyAdvance is a Game Boy Advance emulator which runs your prefered ROMS" +HOMEPAGE="http://vba.ngemu.com" +SRC_URI="git://git.debian.org/git/pkg-games/visualboyadvance" +REVISION="1" +LICENSE="GNU GPL v2" +COPYRIGHT="2002-2004 Forgotten" + +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveArchitecture != x86_gcc2 ]; then + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86 ?x86_64" + +PROVIDES=" + visualboyadvance$secondaryArchSuffix = $portVersion + app:visualboyadvance$secondaryArchSuffix = $portVersion +" + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libsdl$secondaryArchSuffix + lib:libsdl_mixer$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libpng$secondaryArchSuffix +" +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libsdl$secondaryArchSuffix + devel:libsdl_mixer$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libpng$secondaryArchSuffix +" +BUILD_PREREQUIRES=" + cmd:nasm$secondaryArchSuffix + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:libtoolize + cmd:autoconf + cmd:aclocal + cmd:pkg_config +" + +SOURCE_DIR="VisualBoyAdvance-1.8" + +PATCHES=" + Util.patch + Makefile.am.patch + configure.in.patch +" + +BUILD() +{ + libtoolize --force --copy --install + autoreconf -i + runConfigure ./configure --enable-c-core --disable-profilling --without-mmx + make +} + +INSTALL() +{ + cd src + GAMEDIR=$appsDir/Visualboyadvance + mkdir -p ${GAMEDIR} + cp VisualBoyAdvance.cfg ${GAMEDIR} + cp sdl/VisualBoyAdvance ${GAMEDIR} + + addAppDeskbarSymlink ${GAMEDIR}/VisualBoyAdvance +} diff --git a/games-puzzle/gemz/gemz-0.97.0.recipe b/games-puzzle/gemz/gemz-0.97.0.recipe new file mode 100644 index 000000000..012b8e9e4 --- /dev/null +++ b/games-puzzle/gemz/gemz-0.97.0.recipe @@ -0,0 +1,53 @@ +SUMMARY="Gemz is an SDL implementation of the popular puzzle game 'Bejeweled'." +DESCRIPTION="Gemz is an SDL implementation of the popular puzzle game 'Bejeweled'. +The objective of this game is to swap one gem with an adjacent gem to form a horizontal or vertical chain of three or more gems. Bonus points are given when chains of more than three identical gems are formed and when two chains are formed in one swap. Gems disappear when chains are formed and gems fall from the top to fill in gaps. Sometimes chain reactions, called cascades, are triggered, where chains are formed by the falling gems. +" +HOMEPAGE="http://sourceforge.net/projects/gemz/" +SRC_URI="http://sourceforge.net/projects/gemz/files/gemz/Source/gemz-0.97.0.tgz/download" +CHECKSUM_MD5="ea71e3cf9ee7f3b7f6d0a7f4cbe0af58" +LICENSE="GNU GPL v2" +COPYRIGHT="2003-2013 Jonathan Bilodeau" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86" + +PROVIDES=" + gemz = $portVersion + app:gemz = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libsdl$secondaryArchSuffix + lib:libsdl_image$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libsdl$secondaryArchSuffix + devel:libsdl_image$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:which + cmd:sdl_config$secondaryArchSuffix + " + +PATCHES=" + gemz-0.97.0.patch + " + +BUILD() +{ + make +} + +INSTALL() +{ + mkdir -p $appsDir/gemz + cp -r fonts gfx tilesets $appsDir/gemz + cp gemz $appsDir/gemz/gemz + + addAppDeskbarSymlink $appsDir/gemz/gemz "Gemz" +} diff --git a/games-puzzle/gemz/patches/gemz-0.97.0.patch b/games-puzzle/gemz/patches/gemz-0.97.0.patch new file mode 100644 index 000000000..6cf8f0355 --- /dev/null +++ b/games-puzzle/gemz/patches/gemz-0.97.0.patch @@ -0,0 +1,37 @@ +--- ../Makefile 2004-05-07 05:39:47.034340864 +0000 ++++ Makefile-new 2013-12-13 22:51:00.000000000 +0000 +@@ -2,7 +2,7 @@ + CFLAGS+=-O2 -Wall -W -g + #CFLAGS+=-O2 -Wall -W -g -fprofile-arcs -ftest-coverage -pg + CFLAGS+=`sdl-config --cflags` +-LFLAGS=`sdl-config --libs` -lSDL_image -L/usr/X11R6/lib -lX11 ++LFLAGS=`sdl-config --libs` -lSDL_image + SRCS= \ + SFont.c \ + board.c \ +--- ../main.c 2004-05-07 05:36:26.035389440 +0000 ++++ main-new.c 2013-12-13 23:41:06.150994944 +0000 +@@ -2,6 +2,8 @@ + #include + #include + #include ++#include ++#include + + #include "board.h" + #include "graphics.h" +@@ -27,11 +29,12 @@ + /* 3. Start the game loop */ + /* 4. Clean up before the program exits */ + /* ************************************************************************ */ +-int main() ++int main(int argc, char *argv[]) + { + game_t game; + screen_t screen; +- ++ // For tracker ++ chdir(dirname(argv[0])); + /* initialize various systems (sounds, graphics, input, etc) */ + if (init(&screen)) + { diff --git a/games-puzzle/rezerwar/patches/rezerwar-0.4.2.patch b/games-puzzle/rezerwar/patches/rezerwar-0.4.2.patch new file mode 100644 index 000000000..18254aacf --- /dev/null +++ b/games-puzzle/rezerwar/patches/rezerwar-0.4.2.patch @@ -0,0 +1,33 @@ +--- ../configure 2010-05-09 16:25:03.000524288 +0000 ++++ configure-new 2013-12-14 00:36:47.137887744 +0000 +@@ -232,7 +232,7 @@ + Haiku|BeOS) + check_sdl + check_sdl_mixer +- [ -z "$PREFIX" ] && PREFIX="/boot/apps/rezerwar" ++ [ -z "$PREFIX" ] && PREFIX="data" + [ -z "$TARGET" ] && TARGET="$PREFIX" + TARGET_BIN="$TARGET" + TARGET_DOC="$TARGET" +--- ../src/main.c 2010-05-09 16:25:03.002097152 +0000 ++++ main-new.c 2013-12-13 23:59:59.994312192 +0000 +@@ -32,7 +32,8 @@ + #endif + + #include "SDL.h" +- ++#include ++#include + #include "rezerwar.h" + #include "config.h" + +@@ -231,7 +232,8 @@ + bool loop = true; + char *path; + SDL_Joystick *js; +- ++ // For tracker ++ chdir(dirname(av[0])); + /* Version number only */ + if (has_flag(ac, av, "-v")) { + printf("%s\n", VERSION); diff --git a/games-puzzle/rezerwar/rezerwar-0.4.2.recipe b/games-puzzle/rezerwar/rezerwar-0.4.2.recipe new file mode 100644 index 000000000..8443aefe7 --- /dev/null +++ b/games-puzzle/rezerwar/rezerwar-0.4.2.recipe @@ -0,0 +1,56 @@ +SUMMARY="A puzzle game." +DESCRIPTION="Rezerwar is a puzzle game that could be described as the illegitimate child of a known tetromino game and the average pipe game. +It runs on Linux, Windows, Nintendo Wii (homebrew), FreeBSD, Amiga OS, And Now Haiku! +The whole game was created with open-source software including graphics, sounds and musics. Feel free to contribute. The goal of this game is basically to create networks of water to make them disappear, a couple tricks and techniques will help you achieve this goal faster. +" +HOMEPAGE="http://tamentis.com/projects/rezerwar/" +SRC_URI="http://tamentis.com/projects/rezerwar/files/rezerwar-0.4.2.tar.gz" +CHECKSUM_MD5="42018abe251e45ab8cc30133cde61ff8" +LICENSE="BSD (2-clause)" +COPYRIGHT="2008, 2009 Bertrand Janin" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86" + +PROVIDES=" + rezerwar = $portVersion + app:rezerwar = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libsdl$secondaryArchSuffix + lib:libsdl_mixer$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libsdl$secondaryArchSuffix + devel:libsdl_mixer$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:which + cmd:sdl_config$secondaryArchSuffix + " + +PATCHES=" + rezerwar-0.4.2.patch + " + +BUILD() +{ + configure + make +} + +INSTALL() +{ + mkdir -p $appsDir/rezerwar + cp -r data $appsDir/rezerwar + #cp -r rezerwar $appsDir/rezerwar + cp src/rezerwar $appsDir/rezerwar/rezerwar + + addAppDeskbarSymlink $appsDir/rezerwar/rezerwar "Rezerwar" +} \ No newline at end of file diff --git a/haiku-apps/beae/beae-1.2.recipe b/haiku-apps/beae/beae-1.2.recipe new file mode 100644 index 000000000..b96c1d93c --- /dev/null +++ b/haiku-apps/beae/beae-1.2.recipe @@ -0,0 +1,45 @@ +DESCRIPTION="BeAE is an audio editor for Haiku, with features like silencing, fading in/out, analyzing etc." +SUMMARY="Well featured audio editor for Haiku" +HOMEPAGE="http://developer.berlios.de/projects/beae" +SRC_URI="git+https://github.com/HaikuArchives/BeAE.git#b4e8a39e0d" +REVISION="1" +COPYRIGHT="2003 Xentronix" +LICENSE="BSD (3-clause)" + +ARCHITECTURES="x86_gcc2 !x86 ?x86_64" +SECONDARY_ARCHITECTURES="!x86" + +PROVIDES=" + beae = $portVersion + app:beae = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + " + +BUILD_PREREQUIRES=" + cmd:make + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + " + +BUILD() +{ + cmake . + make +} + +INSTALL() +{ + mkdir -p $appsDir/BeAE + + cd build + mv * $appsDir/BeAE + addAppDeskbarSymlink $appsDir/BeAE/BeAE +} diff --git a/haiku-apps/beae/beae-20.recipe b/haiku-apps/beae/beae-20.recipe deleted file mode 100644 index e8e81f9f3..000000000 --- a/haiku-apps/beae/beae-20.recipe +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION="BeAE - Audio Editor" -HOMEPAGE="http://beae.berlios.de/" -SRC_URI="svn+http://svn.berlios.de/svnroot/repos/beae/trunk#20" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="dev-util/cmake >= 2.8.0" -#CHECKSUM_MD5="" -BUILD() -{ - cd beae-20 - cmake . - make -} - -INSTALL() -{ - cd beae-20 - mkdir -p ${DESTDIR}/boot/apps - cp -a BeAE ${DESTDIR}/boot/apps - cp -a build/BeAE ${DESTDIR}/boot/apps/BeAE - mkdir -p ${DESTDIR}/boot/common/data/licenses - cp -a license.txt ${DESTDIR}/boot/common/data/licenses/BeAE - rm -f ${DESTDIR}/boot/apps/BeAE/.OptionalPackageDescription - if [ -z ${DESTDIR} ];then - find /boot/apps/BeAE -type d -name ".svn" | xargs rm -rf - fi -} -LICENSE="BeAE" -COPYRIGHT="2003 Xentronix" diff --git a/haiku-apps/beae/beae-22.recipe b/haiku-apps/beae/beae-22.recipe deleted file mode 100644 index 925c91399..000000000 --- a/haiku-apps/beae/beae-22.recipe +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION="BeAE - Audio Editor" -HOMEPAGE="http://beae.berlios.de/" -SRC_URI="svn+http://svn.berlios.de/svnroot/repos/beae/trunk#22" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="dev-util/cmake >= 2.8.0" -#CHECKSUM_MD5="" -BUILD() -{ - cd beae-22 - cmake . - make -} - -INSTALL() -{ - cd beae-22 - mkdir -p ${DESTDIR}/boot/apps - cp -a BeAE ${DESTDIR}/boot/apps - cp -a build/BeAE ${DESTDIR}/boot/apps/BeAE - mkdir -p ${DESTDIR}/boot/common/data/licenses - cp -a license.txt ${DESTDIR}/boot/common/data/licenses/BeAE - rm -f ${DESTDIR}/boot/apps/BeAE/.OptionalPackageDescription - if [ -z ${DESTDIR} ];then - find /boot/apps/BeAE -type d -name ".svn" | xargs rm -rf - fi -} -LICENSE="BSD (3-clause)" -COPYRIGHT="2003 Xentronix" diff --git a/haiku-apps/beae/beae-25.recipe b/haiku-apps/beae/beae-25.recipe deleted file mode 100644 index 6eed421f7..000000000 --- a/haiku-apps/beae/beae-25.recipe +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION="BeAE - Audio Editor" -HOMEPAGE="http://dev.osdrawer.net/projects/beae/" -SRC_URI="svn+http://svn.osdrawer.net/beae/trunk#25" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="dev-util/cmake >= 2.8.0" -#CHECKSUM_MD5="" -BUILD() -{ - cd beae-25 - cmake . - make -} - -INSTALL() -{ - cd beae-25 - mkdir -p ${DESTDIR}/boot/apps - cp -a BeAE ${DESTDIR}/boot/apps - cp -a build/BeAE ${DESTDIR}/boot/apps/BeAE - mkdir -p ${DESTDIR}/boot/common/data/licenses - cp -a license.txt ${DESTDIR}/boot/common/data/licenses/BeAE - rm -f ${DESTDIR}/boot/apps/BeAE/.OptionalPackageDescription - if [ -z ${DESTDIR} ];then - find /boot/apps/BeAE -type d -name ".svn" | xargs rm -rf - fi -} -LICENSE="BSD (3-clause)" -COPYRIGHT="2003 Xentronix" diff --git a/haiku-apps/behappy/behappy-1.06e_git.recipe b/haiku-apps/behappy/behappy-1.06e_git.recipe index f3ea35ab7..511d9c711 100644 --- a/haiku-apps/behappy/behappy-1.06e_git.recipe +++ b/haiku-apps/behappy/behappy-1.06e_git.recipe @@ -40,5 +40,6 @@ INSTALL() { cd trunk make install BUILDHOME=/system/develop + addAppDeskbarSymlink $appsDir/BeHappy/BeHappy } diff --git a/haiku-apps/belife/belife-1.0.0.recipe b/haiku-apps/belife/belife-1.0.0.recipe new file mode 100644 index 000000000..dbd3a60ef --- /dev/null +++ b/haiku-apps/belife/belife-1.0.0.recipe @@ -0,0 +1,50 @@ +SUMMARY="An app to play the game of life" +DESCRIPTION=" + The Game of Life is not a game in the conventional sense. + There are no players, and no winning or losing. + Once the \"pieces\" are placed in the starting position, + the rules determine everything that happens later. + Nevertheless, Life is full of surprises! + In most cases, it is impossible to look at a starting position + (or pattern) and see what will happen in the future. + The only way to find out is to follow the rules of the game. + " +HOMEPAGE="https://github.com/HaikuArchives/BeLife" +SRC_URI="git://github.com/HaikuArchives/BeLife.git#aa35a935e55e9ee17fbb9d414534ba79798a95a1" +REVISION="1" +LICENSE="BeLife License" +COPYRIGHT="2006 Studio-33" + +ARCHITECTURES="x86 x86_gcc2" + +PROVIDES=" + belife = $portVersion + app:belife = $portVersion + " +REQUIRES=" + haiku >= $haikuVersion + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:g++ + cmd:make + cmd:mkdepend + cmd:xres + " +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD() +{ + cd src + make +} + +INSTALL() +{ + cd src + make install INSTALL_DIR=$appsDir/BeLife + addAppDeskbarSymlink $appsDir/BeLife/BeLife + cp ../readme $appsDir/BeLife +} diff --git a/haiku-apps/belife/licenses/BeLife License b/haiku-apps/belife/licenses/BeLife License new file mode 100644 index 000000000..3389defc2 --- /dev/null +++ b/haiku-apps/belife/licenses/BeLife License @@ -0,0 +1 @@ +Copyright 2006 Studio-33, All Rights Reserved. diff --git a/haiku-apps/bescreencapture/bescreencapture-1.9.3.recipe b/haiku-apps/bescreencapture/bescreencapture-1.9.3.recipe new file mode 100644 index 000000000..b75375062 --- /dev/null +++ b/haiku-apps/bescreencapture/bescreencapture-1.9.3.recipe @@ -0,0 +1,51 @@ +SUMMARY="A screen recorder utility" +DESCRIPTION=" + BeScreenCapture, created by Stefano Ceccherini, is a screen + recorder utility for Haiku. It allows you to record what happens on your + screen, then save it to any media format that Haiku supports. + + BeScreenCapture can record either the entire screen, or just a + section you select. + " +HOMEPAGE="https://github.com/jackburton79/bescreencapture" +SRC_URI="https://github.com/jackburton79/bescreencapture/archive/v1.9.3.tar.gz" +LICENSE=" + BSD (3-clause) + MIT + " +COPYRIGHT="2013 Stefano Ceccherini" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 ?x86_64" + +PROVIDES=" + bescreencapture = $portVersion + app:bescreencapture = $portVersion + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD_PREREQUIRES=" + makefile_engine + cmd:make + cmd:gcc + cmd:mkdepend + " + +BUILD() +{ + make OBJ_DIR=objects \ + BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` +} + +INSTALL() +{ + mkdir -p $appsDir + cp -a objects/BeScreenCapture $appsDir + addAppDeskbarSymlink $appsDir/BeScreenCapture +} diff --git a/haiku-apps/blogpositive/blogpositive-0.1.0.recipe b/haiku-apps/blogpositive/blogpositive-0.1.0.recipe new file mode 100644 index 000000000..e5a35c0d8 --- /dev/null +++ b/haiku-apps/blogpositive/blogpositive-0.1.0.recipe @@ -0,0 +1,52 @@ +SUMMARY="The one blog app to rule them all!" +DESCRIPTION=" + Want to blog, but WebPositive isn't quick enough + Now you can use the new blog app: BlogPositive + It can only connect to your Wordpress blogs for now + " +HOMEPAGE="http://blogpositive.puckipedia.com" +SRC_URI="git://github.com/puckipedia/BlogPositive.git#tags/v0.1.0" +REVISION="1" + +LICENSE="MIT" +COPYRIGHT="2013 :Puck Meerburg" + +ARCHITECTURES="x86 x86_gcc2 ?x86_64" + +PROVIDES=" + blogpositive = $portVersion + app:blogpositive = $portVersion + " + +REQUIRES=" + lib:libcurl + lib:libz + haiku >= $haikuVersion + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:g++ + cmd:xres + cmd:mkdepend + " +BUILD_REQUIRES=" + devel:libcurl + devel:libz + haiku_devel >= $haikuVersion + " + +USER_SETTINGS_FILES=" + settings/BlogPositive directory + " + +BUILD() +{ + make + make bindcatalogs +} + +INSTALL() +{ + make install INSTALL_DIR=$appsDir + addAppDeskbarSymlink $appsDir/BlogPositive +} diff --git a/haiku-apps/fontboy/fontboy-0.9.7.recipe b/haiku-apps/fontboy/fontboy-0.9.7.recipe new file mode 100644 index 000000000..dea22c075 --- /dev/null +++ b/haiku-apps/fontboy/fontboy-0.9.7.recipe @@ -0,0 +1,48 @@ +SUMMARY="A small application to show your installed fonts in Haiku." +DESCRIPTION=" + Fontboy is a small application to show your installed fonts in Haiku. You can get + additional information of the selected font and a preview of the complete Unicode + charset. Fontboy allows you to adjust the appearence to your desired needs + and it's fast because Haiku is. + " +HOMEPAGE="https://github.com/HaikuArchives/FontBoy" +SRC_URI="git://github.com/HaikuArchives/FontBoy.git#2195924e69096a5e7a9774cfaec8fdc277045ecf" +REVISION="1" +LICENSE="FontBoy" +COPYRIGHT="1999-2003 Oliver 'Madison' Kohl" + +ARCHITECTURES="x86 x86_gcc2" + +PROVIDES=" + fontboy = $portVersion + app:fontboy = $portVersion + " +REQUIRES=" + haiku >= $haikuVersion + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:g++ + cmd:xres + cmd:mkdepend + cmd:make + " +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " +USER_SETTINGS_FILES=" + settings/Fontboy_prefs + " + +BUILD() +{ + cd src + make +} + +INSTALL() +{ + cd src + make install INSTALL_DIR=$appsDir/ + addAppDeskbarSymlink $appsDir/FontBoy +} diff --git a/haiku-apps/fontboy/licenses/FontBoy b/haiku-apps/fontboy/licenses/FontBoy new file mode 100644 index 000000000..db7d4cc26 --- /dev/null +++ b/haiku-apps/fontboy/licenses/FontBoy @@ -0,0 +1 @@ +Feel free to copy and distribute this version of Fontboy as you want, as long as the original archive remains unchanged. In no event shall I be held liable for any damages arising from the use of this software. Be and BeOS are registered trademarks of Palm Inc. All other trademarks mentioned belong to their respective owners. diff --git a/haiku-apps/pe/pe-2.4.3_hg615.recipe b/haiku-apps/pe/pe-2.4.3_hg615.recipe new file mode 100644 index 000000000..07ebbf5b8 --- /dev/null +++ b/haiku-apps/pe/pe-2.4.3_hg615.recipe @@ -0,0 +1,68 @@ +SUMMARY="A programmer's editor" +DESCRIPTION="Pe is a native programmer's editor for Haiku. It features syntax +highlighting and a structural view for several programming language, as well +as basic support for Makefile and Jamfile project management." +HOMEPAGE="http://pe-editor.berlios.de/" +LICENSE=" + BSD (4-clause) + MIT + " + +COPYRIGHT=" + 1996-2002 Maarteen Hekkelman + 2003-2013 Team Pe + " + +SRC_URI="hg+http://hg.berlios.de/repos/pe-editor#615" +REVISION="2" +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PROVIDES=" + pe = $portVersion + app:Pe = $portVersion compat >= 2 + cmd:lpe = $portVersion compat >= 2 + " + +REQUIRES=" + haiku + lib:libpcre + lib:libpcreposix + " + +BUILD_REQUIRES=" + haiku_devel + devel:libpcre + devel:libpcreposix + " + +BUILD_PREREQUIRES=" + cmd:bison + cmd:flex + cmd:gcc + cmd:jam + cmd:ld + " + +USER_SETTINGS_FILES=" + settings/pe directory + " + +BUILD() +{ + jam -q + # multi-job builds don't work reliably +} + +INSTALL() +{ + peDir=$appsDir/Pe + + mkdir -p $appsDir + cp -a generated/distro $peDir + cp -a doc $peDir/Documentation + + mkdir $binDir + ln -sfn $peDir/lpe $binDir + + addAppDeskbarSymlink $peDir/Pe +} diff --git a/haiku-apps/ppviewer/ppviewer-1.0.0.recipe b/haiku-apps/ppviewer/ppviewer-1.0.0.recipe new file mode 100644 index 000000000..73d33f369 --- /dev/null +++ b/haiku-apps/ppviewer/ppviewer-1.0.0.recipe @@ -0,0 +1,37 @@ +SUMMARY="Decrypts your PowerPacker encrypted files" +DESCRIPTION=" + Decrypts PowerPacker encrypted files using Stuart Caie's + ppcrack 0.1 decrypting routines. + " +HOMEPAGE="https://github.com/HaikuArchives/PPViewer" +SRC_URI="git+https://github.com/HaikuArchives/PPViewer#ce572506ca6e69c888898abf5b958701e068122b" +REVISION="1" +LICENSE="MIT" +COPYRIGHT="2002 Maurice Michalski" +ARCHITECTURES="x86_gcc2 x86 ?x86_64" + +PROVIDES=" + ppviewer = $portVersion + app:ppviewer = $portVersion + " +REQUIRES=" + haiku >= $haikuVersion + " +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " +BUILD_PREREQUIRES=" + cmd:g++ + " + +BUILD() +{ + g++ -lbe -ltracker -o PPViewer *.cpp +} + +INSTALL() +{ + mkdir -p $appsDir + cp PPViewer $appsDir + addAppDeskbarSymlink $appsDir/PPViewer +} diff --git a/haiku-apps/vision/vision-0.9.7.r947.recipe b/haiku-apps/vision/vision-0.9.7.r947.recipe index d9b00a677..4a899e921 100644 --- a/haiku-apps/vision/vision-0.9.7.r947.recipe +++ b/haiku-apps/vision/vision-0.9.7.r947.recipe @@ -4,10 +4,10 @@ HOMEPAGE="http://vision.sourceforge.net/" SRC_URI="svn://svn.code.sf.net/p/vision/code/branches/0.9.7#947" LICENSE="MPL v1.1" COPYRIGHT="1999-2010 The Vision Team" -REVISION="2" +REVISION="3" ARCHITECTURES="x86_gcc2 x86 x86_64" -if [ $targetArchitecture == x86 ]; then +if [ $targetArchitecture != x86_gcc2 ]; then PATCHES="vision-0.9.7-gcc4.patch" fi diff --git a/haiku-apps/yab/patches/yab-1.6.patch b/haiku-apps/yab/patches/yab-1.6.patch deleted file mode 100644 index e3b3ee9e5..000000000 --- a/haiku-apps/yab/patches/yab-1.6.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -urN yab-1.6/src/Makefile yab-1.6-haiku/src/Makefile ---- yab-1.6/src/Makefile 2009-10-23 21:02:10.031195136 +0000 -+++ yab-1.6-haiku/src/Makefile 2011-06-01 16:17:53.000000000 +0000 -@@ -45,7 +45,7 @@ - ## - ## Libraries - ## --LIBPATH = -L/boot/home/config/lib -+LIBPATH = -L/$(shell finddir B_COMMON_LIB_DIRECTORY) - #-L/boot/home/yab/CalendarControl.a - LIB = -lncurses -lbe -lroot -ltranslation -ltracker -lmedia $(ZETALIB) - -@@ -98,6 +98,7 @@ - main.o: main.c yabasic.h config.h - $(GCC) $(GCC_OPT) -c main.c -o main.o - flex.c: yabasic.flex -+ chmod 755 ./flex - ./flex $(FLEXFLAGS) -t yabasic.flex >flex.c - bison.c: yabasic.bison - bison $(BISONFLAGS) --output-file bison.c yabasic.bison diff --git a/haiku-apps/yab/patches/yab-1.7.patch b/haiku-apps/yab/patches/yab-1.7.patch deleted file mode 100644 index 47dc5d7cd..000000000 --- a/haiku-apps/yab/patches/yab-1.7.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- apps/yab-1.7/src/Makefile 2012-01-24 07:55:38.018087936 -0800 -+++ /boot/home/Makefile 2013-10-21 14:17:35.131334144 -0700 -@@ -38,14 +38,14 @@ - ## GCC Options - ## - GCC = gcc --GCC_OPT = $(DBG) $(OPT) -I. -I/boot/home/config/include/ -I/boot/home/config/include/ncurses/ -DHAVE_CONFIG -DUNIX $(HAIKUOPT) -+GCC_OPT = $(DBG) $(OPT) -I. -I/$(shell finddir B_SYSTEM_HEADERS_DIRECTORY) -DHAVE_CONFIG -DUNIX $(HAIKUOPT) - GPP = g++ - GPP_OPT = $(DBG) $(OPT) -I. -DHAVE_CONFIG -DUNIX $(HAIKUOPT) - - ## - ## Libraries - ## --LIBPATH = -L/boot/home/config/lib -+LIBPATH = -L/$(shell finddir B_SYSTEM_LIB_DIRECTORY) - LIB = -lncurses -lbe -lroot -ltranslation -ltracker -lmedia -llocale - - ## flags for flex (-d for debugging) -@@ -97,6 +97,7 @@ - main.o: main.c yabasic.h config.h - $(GCC) $(GCC_OPT) -c main.c -o main.o - flex.c: yabasic.flex -+ chmod 755 ./flex - ./flex $(FLEXFLAGS) -t yabasic.flex >flex.c - bison.c: yabasic.bison - bison $(BISONFLAGS) --output-file bison.c yabasic.bison diff --git a/haiku-apps/yab/yab-1.7.recipe b/haiku-apps/yab/yab-1.7.recipe index 30b286d03..f2a6efff2 100644 --- a/haiku-apps/yab/yab-1.7.recipe +++ b/haiku-apps/yab/yab-1.7.recipe @@ -1,17 +1,17 @@ SUMMARY="yab is an extended version of yabsic, a BASIC programming language" -DESCRIPTION="yab is an extended version of yabasic, a BASIC programming language, with special commands designed for BeOS, Haiku and Zeta." -HOMEPAGE="http://sourceforge.net/projects/yab-interpreter" -SRC_URI="http://ports-space.haiku-files.org/source/yab-1.7.zip" +DESCRIPTION="yab is an extended version of yabasic, a BASIC programming language, with special commands designed for BeOS, Haiku and Zeta." +HOMEPAGE="http://sourceforge.net/projects/yab-interpreter" +SRC_URI="git+https://github.com/HaikuArchives/Yab.git" REVISION="2" -CHECKSUM_MD5="2b465895d9eb2e8383f035dd67b88a20" +#CHECKSUM_MD5="2b465895d9eb2e8383f035dd67b88a20" LICENSE="Artistic GNU GPL v2" COPYRIGHT="1995-2006 Marc-Oliver Ihm (yabasic) 2006-2009 Jan Bungeroth (yab improvements)" - -ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" -SOURCE_DIR="yab-$portVersion" +ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64" + +#SOURCE_DIR="yab-$portVersion" PROVIDES=" cmd:yab @@ -20,32 +20,30 @@ PROVIDES=" REQUIRES=" haiku >= $haikuVersion " - + BUILD_REQUIRES=" - haiku_devel + haiku_devel >= $haikuVersion " - + BUILD_PREREQUIRES=" - haiku + cmd:bison + cmd:flex cmd:gcc cmd:make + cmd:mkdepend + cmd:perl + makefile_engine " BUILD() { - ls - ls apps - ls apps/yab-${portVersion} - - cd apps/yab-${portVersion}/src - make clean - make + cd src + make $jobArgs BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` } INSTALL() { - ls -r - $YABDIR=`FINDDIR(B_APPS_DIRECTORY`/yab + $YABDIR=$appsDir/yab mkdir -p ${YABDIR} cp -a ${YABDIR}apps/yab cp -a Documentation ${YABDIR} diff --git a/haiku-libs/haikuwebkit/haikuwebkit-1.2.1.recipe b/haiku-libs/haikuwebkit/haikuwebkit-1.2.1.recipe new file mode 100644 index 000000000..dad4f7182 --- /dev/null +++ b/haiku-libs/haikuwebkit/haikuwebkit-1.2.1.recipe @@ -0,0 +1,95 @@ +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-2012 Apple Inc., Google Inc., et al" +LICENSE=" + GNU LGPL v2 + GNU LGPL v2.1 + MIT + " +SRC_URI="http://pulkomandy.tk/drop/haikuwebkit_x86-1.2.1-Source.tar.bz2" +CHECKSUM_MD5="9b5624345b633693ec90a95a1e9e52bf" +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" + +PROVIDES=" + haikuwebkit$secondaryArchSuffix = $portVersion + lib:libWebKit$secondaryArchSuffix = $portVersion + " +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 + " + +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 + " +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 + cmd:ruby + " + +SOURCE_DIR="haikuwebkit_x86-$portVersion-Source" + +BUILD() +{ + export PKG_CONFIG_LIBDIR="`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/pkgconfig" + Tools/Scripts/build-webkit --haiku --no-webkit2 \ + --cmakearg="-DCMAKE_LIBRARY_PATH=`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir -DCMAKE_INCLUDE_PATH=`finddir B_SYSTEM_DIRECTORY`/$relativeIncludeDir -DCMAKE_INSTALL_PREFIX=$prefix" +} + +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/libsanta/libsanta-0.0.1.recipe b/haiku-libs/libsanta/libsanta-0.0.1.recipe index 347c3bea7..ad72ff1f9 100644 --- a/haiku-libs/libsanta/libsanta-0.0.1.recipe +++ b/haiku-libs/libsanta/libsanta-0.0.1.recipe @@ -1,12 +1,12 @@ SUMMARY="Custom widget library" -DESCRIPTION="libsanta has some useful custom widgets." +DESCRIPTION="libsanta has some useful custom widgets (color picker, column list view, scroll view etc.)" HOMEPAGE="https://github.com/HaikuArchives/SantasGiftBag" COPYRIGHT="briant@timelinevista.com" LICENSE="libsanta" SRC_URI="git+https://github.com/HaikuArchives/SantasGiftBag#4b62541" -REVISION="1" -ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" -SECONDARY_ARCHITECTURES="x86_gcc2 ?x86" +REVISION="2" +ARCHITECTURES="x86_gcc2 x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" libsanta$secondaryArchSuffix = $portVersion @@ -25,38 +25,63 @@ BUILD_PREREQUIRES=" cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:make + cmd:mkdepend " +PATCHES="libsanta-0.0.1.patchset" + BUILD() { make TYPE=STATIC \ - OBJ_DIR=build \ + OBJ_DIR=obj-static \ BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` make TYPE=SHARED \ - OBJ_DIR=build \ + OBJ_DIR=obj-shared \ BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY` } INSTALL() { - mkdir -p $developLibDir $libDir + mkdir -p $developLibDir $developDocDir $includeDir/santa $libDir - cp -R Documentation $developLibDir + cp -R Documentation/* $developDocDir - cd build + cd obj-static cp libsanta.a $developLibDir + + cd ../obj-shared cp libsanta $libDir/libsanta.so + cd .. + + # Copy header files to $includeDir + + cp ./BetterScrollView/BetterScrollView.h \ + ./Colors.h \ + ./ColumnListView/CLVColumn.h \ + ./ColumnListView/CLVColumnLabelView.h \ + ./ColumnListView/CLVEasyItem.h \ + ./ColumnListView/CLVListItem.h \ + ./ColumnListView/ColumnListView.h \ + ./Cursors/Cursors.h \ + ./NewStrings/NewStrings.h \ + ./PrefilledBitmap/PrefilledBitmap.h \ + ./ScrollViewCorner/ScrollViewCorner.h $includeDir/santa + + symlinkRelative -s $libDir/libsanta.so $developLibDir + packageEntries devel \ - $developLibDir + $developLibDir \ + $developDocDir \ + $includeDir } # ----- devel package ------------------------------------------------------- PROVIDES_devel=" libsanta${secondaryArchSuffix}_devel = $portVersion - libsanta$secondaryArchSuffix = $portVersion + devel:libsanta$secondaryArchSuffix = $portVersion " REQUIRES_devel=" libsanta$secondaryArchSuffix == $portVersion base diff --git a/haiku-libs/libsanta/patches/libsanta-0.0.1.patchset b/haiku-libs/libsanta/patches/libsanta-0.0.1.patchset new file mode 100644 index 000000000..baaab658e --- /dev/null +++ b/haiku-libs/libsanta/patches/libsanta-0.0.1.patchset @@ -0,0 +1,22 @@ +From 459e758be3720ec93b1029eea0db2af14db38121 Mon Sep 17 00:00:00 2001 +From: Chris Roberts +Date: Fri, 13 Dec 2013 00:03:52 -0700 +Subject: Fix stdc++ libs on gcc4 + + +diff --git a/Makefile b/Makefile +index 57c3914..2719e8d 100644 +--- a/Makefile ++++ b/Makefile +@@ -51,7 +51,7 @@ RSRCS= + # naming scheme you need to specify the path to the library + # and it's name + # library: my_lib.a entry: my_lib.a or path/my_lib.a +-LIBS= be root stdc++.r4 ++LIBS= be root $(STDCPPLIBS) + + # specify additional paths to directories following the standard + # libXXX.so or libXXX.a naming scheme. You can specify full paths +-- +1.8.3.4 + diff --git a/media-libs/allegro/allegro-4.4.0.recipe b/media-libs/allegro/allegro-4.4.0.recipe deleted file mode 100644 index 7a3ff42b1..000000000 --- a/media-libs/allegro/allegro-4.4.0.recipe +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION="Allegro game programming library" -HOMEPAGE="http://alleg.sourceforge.net/" -SRC_URI="http://downloads.sourceforge.net/project/alleg/allegro/4.4.0/allegro-4.4.0.tar.gz" -CHECKSUM_MD5="8a0bd73f5225ba8961211a5c440ff45d" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="media-libs/libvorbis >= 1.2.3" -BUILD() -{ - cd allegro-4.4.0 - cmake . - make -} - -INSTALL() -{ - cd allegro-4.4.0 - make install -} -LICENSE="Allegro" -COPYRIGHT="1998-2010 Shawn Hargreaves et al." diff --git a/media-libs/allegro/allegro-4.4.1.1.recipe b/media-libs/allegro/allegro-4.4.1.1.recipe index 24868e816..ed1972baf 100644 --- a/media-libs/allegro/allegro-4.4.1.1.recipe +++ b/media-libs/allegro/allegro-4.4.1.1.recipe @@ -13,7 +13,7 @@ SECONDARY_ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64" PROVIDES=" allegro$secondaryArchSuffix = $portVersion - lib:allegro$secondaryArchSuffix = $portVersion + lib:liballeg$secondaryArchSuffix = $portVersion " REQUIRES=" @@ -40,25 +40,44 @@ BUILD_PREREQUIRES=" cmd:pkg_config " -PATCHES="allegro-4.4.1.1.patch" +PATCHES="allegro-4.4.1.1.patchset" BUILD() { - cmake . + cmake . -DCMAKE_INSTALL_PREFIX=$prefix -DDOCDIR=$docDir -DMANDIR=$manDir make $jobArgs } INSTALL() { make install + + prepareInstalledDevelLibs liballeg libjpgalleg libloadpng liblogg + + packageEntries devel $developDir $binDir } PROVIDES_devel=" allegro${secondaryArchSuffix}_devel = $portVersion compat >= 4.4 - devel:allegro$secondaryArchSuffix = $portVersion compat >= 4.4 + devel:liballeg$secondaryArchSuffix = $portVersion compat >= 4.4 + cmd:allegro_config = $portVersion compat >= 4.4 + cmd:colormap = $portVersion compat >= 4.4 + cmd:dat = $portVersion compat >= 4.4 + cmd:dat2c = $portVersion compat >= 4.4 + cmd:dat2s = $portVersion compat >= 4.4 + cmd:exedat = $portVersion compat >= 4.4 + cmd:grabber = $portVersion compat >= 4.4 + cmd:pack = $portVersion compat >= 4.4 + cmd:pat2dat = $portVersion compat >= 4.4 + cmd:rgbmap = $portVersion compat >= 4.4 + cmd:textconv = $portVersion compat >= 4.4 + devel:libjpgalleg = $portVersion compat >= 4.4 + devel:liblogg = $portVersion compat >= 4.4 + devel:libloadpng = $portVersion compat >= 4.4 " REQUIRES_devel=" + haiku$secondaryArchSuffix >= $haikuVersion allegro$secondaryArchSuffix == $portVersion base " diff --git a/media-libs/allegro/allegro-4.4.2.recipe b/media-libs/allegro/allegro-4.4.2.recipe new file mode 100644 index 000000000..3394bc282 --- /dev/null +++ b/media-libs/allegro/allegro-4.4.2.recipe @@ -0,0 +1,95 @@ +SUMMARY="Allegro game programming library" +DESCRIPTION=" +Allegro 4 and Allegro 5 are cross-platform, libraries mainly aimed at video +game and multimedia programming. They handle common, low-level tasks such as +creating windows, accepting user input, loading data, drawing images, playing +sounds, etc. and generally abstracting away the underlying platform. However, +Allegro is not a game engine: you are free to design and structure your program +as you like. + +According to the Oxford Companion to Music, Allegro is the Italian for «quick, +lively, bright». It is also a recursive acronym which stands for «Allegro Low +LEvel Game ROutines». Allegro was started by Shawn Hargreaves in the mid-90's +but has since received contributions from hundreds of people over the net. +" + +HOMEPAGE="http://alleg.sourceforge.net/" +SRC_URI="http://sourceforge.net/projects/alleg/files/allegro/4.4.2/allegro-4.4.2.tar.gz/download" +CHECKSUM_MD5="4db71b0460fc99926ae91d223199c2e6" +LICENSE="Allegro" +COPYRIGHT="1998-2010 Shawn Hargreaves et al." + +REVISION="1" + +ARCHITECTURES="x86_gcc2 x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86 ?x86_64" + +PROVIDES=" + allegro$secondaryArchSuffix = $portVersion + lib:liballeg$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libpng$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libogg$secondaryArchSuffix + lib:libvorbis$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libpng$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libogg$secondaryArchSuffix + devel:libvorbis$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:cmake + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +PATCHES="allegro-4.4.2.patchset" + +BUILD() +{ + cmake . -DCMAKE_INSTALL_PREFIX=$prefix -DDOCDIR=$docDir -DMANDIR=$manDir + make $jobArgs +} + +INSTALL() +{ + make install + + prepareInstalledDevelLibs liballeg libjpgalleg libloadpng liblogg + + packageEntries devel $developDir $binDir +} + +PROVIDES_devel=" + allegro${secondaryArchSuffix}_devel = $portVersion compat >= 4.4 + devel:liballeg$secondaryArchSuffix = $portVersion compat >= 4.4 + cmd:allegro_config = $portVersion compat >= 4.4 + cmd:colormap = $portVersion compat >= 4.4 + cmd:dat = $portVersion compat >= 4.4 + cmd:dat2c = $portVersion compat >= 4.4 + cmd:dat2s = $portVersion compat >= 4.4 + cmd:exedat = $portVersion compat >= 4.4 + cmd:grabber = $portVersion compat >= 4.4 + cmd:pack = $portVersion compat >= 4.4 + cmd:pat2dat = $portVersion compat >= 4.4 + cmd:rgbmap = $portVersion compat >= 4.4 + cmd:textconv = $portVersion compat >= 4.4 + devel:libjpgalleg = $portVersion compat >= 4.4 + devel:liblogg = $portVersion compat >= 4.4 + devel:libloadpng = $portVersion compat >= 4.4 + " + +REQUIRES_devel=" + haiku$secondaryArchSuffix >= $haikuVersion + allegro$secondaryArchSuffix == $portVersion base + " diff --git a/media-libs/allegro/allegro-4.4.x_svn.recipe b/media-libs/allegro/allegro-4.4.x_svn.recipe deleted file mode 100644 index e114b9ab5..000000000 --- a/media-libs/allegro/allegro-4.4.x_svn.recipe +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION="Allegro game programming library" -HOMEPAGE="http://alleg.sourceforge.net/" -SRC_URI="svn+https://alleg.svn.sourceforge.net/svnroot/alleg/allegro/branches/4.4" -#CHECKSUM_MD5="0f1cfff8f2cf88e5c91a667d9fd386ec" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="dev-util/cmake >= 2.6.0 - media-libs/libvorbis >= 1.2.3 - media-libs/libogg >= 1.1.4" -BUILD() -{ - cd allegro-4.4.x-svn - mkdir -p `finddir B_COMMON_DIRECTORY`/share/info - mkdir -p `finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man - cmake . -DINFODIR:=`finddir B_COMMON_DIRECTORY`/share/info \ - -DMANDIR:=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man - make -} - -INSTALL() -{ - cd allegro-4.4.x-svn - make install -} - -LICENSE="Allegro" -COPYRIGHT="1998-2011 Shawn Hargreaves et al." diff --git a/media-libs/allegro/patches/allegro-4.4.0.patch b/media-libs/allegro/patches/allegro-4.4.0.patch deleted file mode 100644 index 16ce69664..000000000 --- a/media-libs/allegro/patches/allegro-4.4.0.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff -ur allegro-4.4.0/CMakeLists.txt allegro-4.4.0-haiku/CMakeLists.txt ---- allegro-4.4.0/CMakeLists.txt 2009-12-20 15:47:59.000000000 -0700 -+++ allegro-4.4.0-haiku/CMakeLists.txt 2009-12-21 20:43:57.000000000 -0700 -@@ -270,7 +270,17 @@ - endif(COMPILER_GCC) - endif(APPLE) - --if(UNIX AND NOT APPLE) -+if(BEOS) -+ if(CMAKE_SYSTEM_NAME STREQUAL Haiku) -+ set(ALLEGRO_HAIKU 1) -+ else(CMAKE_SYSTEM_NAME STREQUAL Haiku) -+ set(ALLEGRO_BEOS 1) -+ endif(CMAKE_SYSTEM_NAME STREQUAL Haiku) -+ set(WFLAGS "-W -Wall -Wno-unused -Wno-multichar -Wno-ctor-dtor-privacy") -+ set(WFLAGS_C_ONLY "") -+endif(BEOS) -+ -+if(UNIX AND NOT APPLE AND NOT BEOS) - set(ALLEGRO_UNIX 1) - endif() - -@@ -560,6 +570,13 @@ - ) - endif(WIN32) - -+# -- Haiku/BeOS -- -+ -+if(BEOS) -+ list(APPEND PLATFORM_SOURCES ${ALLEGRO_SRC_BEOS_FILES}) -+ list(APPEND PLATFORM_LIBS game midi device) -+endif(BEOS) -+ - # -- Mac OS X -- - - if(ALLEGRO_MACOSX) -@@ -644,6 +661,9 @@ - if(ALLEGRO_WITH_XWINDOWS) - add_headers("" include/xalleg.h) - endif(ALLEGRO_WITH_XWINDOWS) -+if(BEOS) -+ add_headers("" include/bealleg.h) -+endif(BEOS) - - #-----------------------------------------------------------------------------# - # -diff -ur allegro-4.4.0/cmake/FileList.cmake allegro-4.4.0-haiku/cmake/FileList.cmake ---- allegro-4.4.0/cmake/FileList.cmake 2009-11-08 19:24:05.000000000 -0700 -+++ allegro-4.4.0-haiku/cmake/FileList.cmake 2009-12-21 20:43:06.000000000 -0700 -@@ -207,7 +207,7 @@ - src/beos/bmousapi.cpp - src/beos/bmousdrv.c - src/beos/bmouse.c -- src/beos/boverlay.c -+ src/beos/boverlay.cpp - src/beos/bsnd.c - src/beos/bsndapi.cpp - src/beos/bsnddrv.c -@@ -218,7 +218,7 @@ - src/beos/btimeapi.cpp - src/beos/btimedrv.c - src/beos/btimer.c -- src/beos/bwindow.c -+ src/beos/bwindow.cpp - src/beos/bwscreen.cpp - src/unix/ufile.c - src/misc/colconv.c diff --git a/media-libs/allegro/patches/allegro-4.4.1.1.patch b/media-libs/allegro/patches/allegro-4.4.1.1.patch deleted file mode 100644 index cd809ec5b..000000000 --- a/media-libs/allegro/patches/allegro-4.4.1.1.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff -urN allegro-4.4.1.1/src/beos/bdwindow.cpp allegro-4.4.1.1-haiku/src/beos/bdwindow.cpp ---- allegro-4.4.1.1/src/beos/bdwindow.cpp 2008-10-21 01:03:43.061865984 +0000 -+++ allegro-4.4.1.1-haiku/src/beos/bdwindow.cpp 2010-10-30 22:40:51.000000000 +0000 -@@ -413,9 +413,9 @@ - } - - #ifdef ALLEGRO_NO_ASM -- bmp->read_bank = _be_gfx_bwindow_read_write_bank; -- bmp->write_bank = _be_gfx_bwindow_read_write_bank; -- _screen_vtable.unwrite_bank = _be_gfx_bwindow_unwrite_bank; -+ bmp->read_bank = (void *)_be_gfx_bwindow_read_write_bank; -+ bmp->write_bank = (void *)_be_gfx_bwindow_read_write_bank; -+ _screen_vtable.unwrite_bank = (void *)_be_gfx_bwindow_unwrite_bank; - #else - bmp->read_bank = _be_gfx_bwindow_read_write_bank_asm; - bmp->write_bank = _be_gfx_bwindow_read_write_bank_asm; -diff -urN allegro-4.4.1.1/src/beos/bwindow.cpp allegro-4.4.1.1-haiku/src/beos/bwindow.cpp ---- allegro-4.4.1.1/src/beos/bwindow.cpp 2008-10-20 08:27:27.061603840 +0000 -+++ allegro-4.4.1.1-haiku/src/beos/bwindow.cpp 2010-10-30 22:40:51.000000000 +0000 -@@ -347,9 +347,9 @@ - } - - #ifdef ALLEGRO_NO_ASM -- bmp->read_bank = _be_gfx_bwindow_read_write_bank; -- bmp->write_bank = _be_gfx_bwindow_read_write_bank; -- _screen_vtable.unwrite_bank = _be_gfx_bwindow_unwrite_bank; -+ bmp->read_bank = (void *)_be_gfx_bwindow_read_write_bank; -+ bmp->write_bank = (void *)_be_gfx_bwindow_read_write_bank; -+ _screen_vtable.unwrite_bank = (void *)_be_gfx_bwindow_unwrite_bank; - #else - bmp->read_bank = _be_gfx_bwindow_read_write_bank_asm; - bmp->write_bank = _be_gfx_bwindow_read_write_bank_asm; -diff -urN allegro-4.4.1.1/src/beos/bwscreen.cpp allegro-4.4.1.1-haiku/src/beos/bwscreen.cpp ---- allegro-4.4.1.1/src/beos/bwscreen.cpp 2008-10-20 08:27:27.061865984 +0000 -+++ allegro-4.4.1.1-haiku/src/beos/bwscreen.cpp 2010-10-30 22:40:51.000000000 +0000 -@@ -363,9 +363,9 @@ - - #ifdef ALLEGRO_NO_ASM - if (gfx_capabilities) { -- bmp->write_bank = be_gfx_bwindowscreen_read_write_bank; -- bmp->read_bank = be_gfx_bwindowscreen_read_write_bank; -- _screen_vtable.unwrite_bank = be_gfx_bwindowscreen_unwrite_bank; -+ bmp->write_bank = (void *)be_gfx_bwindowscreen_read_write_bank; -+ bmp->read_bank = (void *)be_gfx_bwindowscreen_read_write_bank; -+ _screen_vtable.unwrite_bank = (void *)be_gfx_bwindowscreen_unwrite_bank; - } - #else - if (gfx_capabilities) { -diff -urN allegro-4.4.1.1/src/file.c allegro-4.4.1.1-haiku/src/file.c ---- allegro-4.4.1.1/src/file.c 2008-10-23 13:38:21.006815744 +0000 -+++ allegro-4.4.1.1-haiku/src/file.c 2010-10-30 22:46:02.595853312 +0000 -@@ -31,6 +31,10 @@ - #include "allegro.h" - #include "allegro/internal/aintern.h" - -+#ifdef ALLEGRO_HAIKU -+ #define O_BINARY 0 -+#endif -+ - #ifndef ALLEGRO_MPW - #include - #endif diff --git a/media-libs/allegro/patches/allegro-4.4.1.1.patchset b/media-libs/allegro/patches/allegro-4.4.1.1.patchset new file mode 100644 index 000000000..a1169f083 --- /dev/null +++ b/media-libs/allegro/patches/allegro-4.4.1.1.patchset @@ -0,0 +1,156 @@ +From cbe10814911be2ea285d73d455065e430bf6c92a Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Fri, 29 Nov 2013 21:27:01 +0100 +Subject: applying patch allegro-4.4.1.1.patch + + +diff --git a/src/beos/bdwindow.cpp b/src/beos/bdwindow.cpp +index 2ef8460..28c9678 100644 +--- a/src/beos/bdwindow.cpp ++++ b/src/beos/bdwindow.cpp +@@ -413,9 +413,9 @@ static struct BITMAP *_be_gfx_bdirectwindow_init(GFX_DRIVER *drv, int w, int h, + } + + #ifdef ALLEGRO_NO_ASM +- bmp->read_bank = _be_gfx_bwindow_read_write_bank; +- bmp->write_bank = _be_gfx_bwindow_read_write_bank; +- _screen_vtable.unwrite_bank = _be_gfx_bwindow_unwrite_bank; ++ bmp->read_bank = (void *)_be_gfx_bwindow_read_write_bank; ++ bmp->write_bank = (void *)_be_gfx_bwindow_read_write_bank; ++ _screen_vtable.unwrite_bank = (void *)_be_gfx_bwindow_unwrite_bank; + #else + bmp->read_bank = _be_gfx_bwindow_read_write_bank_asm; + bmp->write_bank = _be_gfx_bwindow_read_write_bank_asm; +diff --git a/src/beos/bwindow.cpp b/src/beos/bwindow.cpp +index d89e1d4..61a1885 100644 +--- a/src/beos/bwindow.cpp ++++ b/src/beos/bwindow.cpp +@@ -347,9 +347,9 @@ extern "C" struct BITMAP *be_gfx_bwindow_init(int w, int h, int v_w, int v_h, in + } + + #ifdef ALLEGRO_NO_ASM +- bmp->read_bank = _be_gfx_bwindow_read_write_bank; +- bmp->write_bank = _be_gfx_bwindow_read_write_bank; +- _screen_vtable.unwrite_bank = _be_gfx_bwindow_unwrite_bank; ++ bmp->read_bank = (void *)_be_gfx_bwindow_read_write_bank; ++ bmp->write_bank = (void *)_be_gfx_bwindow_read_write_bank; ++ _screen_vtable.unwrite_bank = (void *)_be_gfx_bwindow_unwrite_bank; + #else + bmp->read_bank = _be_gfx_bwindow_read_write_bank_asm; + bmp->write_bank = _be_gfx_bwindow_read_write_bank_asm; +diff --git a/src/beos/bwscreen.cpp b/src/beos/bwscreen.cpp +index af22981..4aeda05 100644 +--- a/src/beos/bwscreen.cpp ++++ b/src/beos/bwscreen.cpp +@@ -363,9 +363,9 @@ static struct BITMAP *_be_gfx_bwindowscreen_init(GFX_DRIVER *drv, int w, int h, + + #ifdef ALLEGRO_NO_ASM + if (gfx_capabilities) { +- bmp->write_bank = be_gfx_bwindowscreen_read_write_bank; +- bmp->read_bank = be_gfx_bwindowscreen_read_write_bank; +- _screen_vtable.unwrite_bank = be_gfx_bwindowscreen_unwrite_bank; ++ bmp->write_bank = (void *)be_gfx_bwindowscreen_read_write_bank; ++ bmp->read_bank = (void *)be_gfx_bwindowscreen_read_write_bank; ++ _screen_vtable.unwrite_bank = (void *)be_gfx_bwindowscreen_unwrite_bank; + } + #else + if (gfx_capabilities) { +diff --git a/src/file.c b/src/file.c +index 654e632..7d56d8f 100644 +--- a/src/file.c ++++ b/src/file.c +@@ -31,6 +31,10 @@ + #include "allegro.h" + #include "allegro/internal/aintern.h" + ++#ifdef ALLEGRO_HAIKU ++ #define O_BINARY 0 ++#endif ++ + #ifndef ALLEGRO_MPW + #include + #endif +-- +1.8.3.4 + + +From e3cc30c9d162fff9e1b74985da390969eea932e8 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sat, 30 Nov 2013 11:16:32 +0100 +Subject: Allegro: fix recipe following CMake changes + +* Our CMake doesn't define BEOS anymore, so have Allegro build accept +HAIKU as well. +* Fix some hardcoded installation paths. +* Add a missing zlib include, I guess because of a newer libpng. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 103d012..7e83070 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -280,7 +280,7 @@ if(APPLE) + endif(COMPILER_GCC) + endif(APPLE) + +-if(BEOS) ++if(BEOS OR HAIKU) + if(CMAKE_SYSTEM_NAME STREQUAL Haiku) + set(ALLEGRO_HAIKU 1) + else(CMAKE_SYSTEM_NAME STREQUAL Haiku) +@@ -288,9 +288,9 @@ if(BEOS) + endif(CMAKE_SYSTEM_NAME STREQUAL Haiku) + set(WFLAGS "-W -Wall -Wno-unused -Wno-multichar -Wno-ctor-dtor-privacy") + set(WFLAGS_C_ONLY "") +-endif(BEOS) ++endif() + +-if(UNIX AND NOT APPLE AND NOT BEOS) ++if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) + set(ALLEGRO_UNIX 1) + endif() + +@@ -582,10 +582,10 @@ endif(WIN32) + + # -- Haiku/BeOS -- + +-if(BEOS) ++if(BEOS OR HAIKU) + list(APPEND PLATFORM_SOURCES ${ALLEGRO_SRC_BEOS_FILES}) + list(APPEND PLATFORM_LIBS game midi device) +-endif(BEOS) ++endif() + + # -- Mac OS X -- + +diff --git a/addons/loadpng/loadpng.c b/addons/loadpng/loadpng.c +index 33f5527..9253260 100644 +--- a/addons/loadpng/loadpng.c ++++ b/addons/loadpng/loadpng.c +@@ -9,6 +9,7 @@ + #include + #include + #include "loadpng.h" ++#include + + /* We need internals _color_load_depth and _fixup_loaded_bitmap. The + * first can be replaced by the new get_color_depth() function which +diff --git a/cmake/Common.cmake b/cmake/Common.cmake +index 654c01c..2a9b171 100644 +--- a/cmake/Common.cmake ++++ b/cmake/Common.cmake +@@ -43,7 +43,11 @@ endfunction(install_our_library) + function(install_our_headers) + foreach(hdr ${ARGN}) + get_source_file_property(LOC ${hdr} MACOSX_PACKAGE_LOCATION) +- string(REGEX REPLACE "^Headers" "include" LOC ${LOC}) ++ if(HAIKU) ++ string(REGEX REPLACE "^Headers" "develop/headers" LOC ${LOC}) ++ else() ++ string(REGEX REPLACE "^Headers" "include" LOC ${LOC}) ++ endif() + install(FILES ${hdr} DESTINATION ${LOC}) + endforeach() + endfunction(install_our_headers) +-- +1.8.3.4 + diff --git a/media-libs/allegro/patches/allegro-4.4.2.patchset b/media-libs/allegro/patches/allegro-4.4.2.patchset new file mode 100644 index 000000000..80780b740 --- /dev/null +++ b/media-libs/allegro/patches/allegro-4.4.2.patchset @@ -0,0 +1,77 @@ +From 3f9d50e146abb2e937adf2d6e0fc7dad9634b20e Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sat, 30 Nov 2013 12:14:54 +0100 +Subject: Import Allegro 4.4.1.1 fixes that were not upstreamed. + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 245be10..08a2a32 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -291,7 +291,7 @@ if(APPLE) + endif(COMPILER_GCC) + endif(APPLE) + +-if(BEOS) ++if(BEOS OR HAIKU) + if(CMAKE_SYSTEM_NAME STREQUAL Haiku) + set(ALLEGRO_HAIKU 1) + else(CMAKE_SYSTEM_NAME STREQUAL Haiku) +@@ -300,9 +300,9 @@ if(BEOS) + set(WFLAGS "-W -Wall -Wno-unused -Wno-multichar") + set(WFLAGS_C_ONLY "") + set(WFLAGS_CXX_ONLY "-Wno-ctor-dtor-privacy") +-endif(BEOS) ++endif() + +-if(UNIX AND NOT APPLE AND NOT BEOS) ++if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) + set(ALLEGRO_UNIX 1) + endif() + +@@ -628,10 +628,10 @@ endif(WIN32) + + # -- Haiku/BeOS -- + +-if(BEOS) ++if(BEOS OR HAIKU) + list(APPEND PLATFORM_SOURCES ${ALLEGRO_SRC_BEOS_FILES}) + list(APPEND PLATFORM_LIBS game midi device) +-endif(BEOS) ++endif() + + # -- Mac OS X -- + +diff --git a/cmake/Common.cmake b/cmake/Common.cmake +index 41822dd..1b56e1b 100644 +--- a/cmake/Common.cmake ++++ b/cmake/Common.cmake +@@ -43,7 +43,11 @@ endfunction(install_our_library) + function(install_our_headers) + foreach(hdr ${ARGN}) + get_source_file_property(LOC ${hdr} MACOSX_PACKAGE_LOCATION) +- string(REGEX REPLACE "^Headers" "include" LOC ${LOC}) ++ if(HAIKU) ++ string(REGEX REPLACE "^Headers" "develop/headers" LOC ${LOC}) ++ else() ++ string(REGEX REPLACE "^Headers" "include" LOC ${LOC}) ++ endif() + install(FILES ${hdr} DESTINATION ${LOC}) + endforeach() + endfunction(install_our_headers) +diff --git a/src/beos/bsysapi.cpp b/src/beos/bsysapi.cpp +index c6e4dad..a7c9d46 100644 +--- a/src/beos/bsysapi.cpp ++++ b/src/beos/bsysapi.cpp +@@ -128,7 +128,7 @@ static int32 system_thread(void *data) + using_custom_allegro_app = false; + + term = getenv("TERM"); +- if (!strcmp(term, "dumb")) { ++ if (!term || !strcmp(term, "dumb")) { + /* The TERM environmental variable is set to "dumb" if the app was + * not started from a terminal. + */ +-- +1.8.3.4 + diff --git a/media-libs/allegro/patches/allegro-4.4.x-svn.patch b/media-libs/allegro/patches/allegro-4.4.x-svn.patch deleted file mode 100644 index 2e81e77f1..000000000 --- a/media-libs/allegro/patches/allegro-4.4.x-svn.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -urN allegro-4.4.x-svn/CMakeLists.txt allegro-4.4.x-svn-haiku/CMakeLists.txt ---- allegro-4.4.x-svn/CMakeLists.txt 2012-11-18 01:16:37.000000000 -0800 -+++ allegro-4.4.x-svn-haiku/CMakeLists.txt 2012-11-18 01:06:24.541065216 -0800 -@@ -291,18 +291,18 @@ - endif(COMPILER_GCC) - endif(APPLE) - --if(BEOS) -+if(HAIKU) - if(CMAKE_SYSTEM_NAME STREQUAL Haiku) - set(ALLEGRO_HAIKU 1) -- else(CMAKE_SYSTEM_NAME STREQUAL Haiku) -+ else(CMAKE_SYSTEM_NAME STREQUAL BeOS) - set(ALLEGRO_BEOS 1) - endif(CMAKE_SYSTEM_NAME STREQUAL Haiku) - set(WFLAGS "-W -Wall -Wno-unused -Wno-multichar") - set(WFLAGS_C_ONLY "") - set(WFLAGS_CXX_ONLY "-Wno-ctor-dtor-privacy") --endif(BEOS) -+endif(HAIKU) - --if(UNIX AND NOT APPLE AND NOT BEOS) -+if(UNIX AND NOT APPLE AND NOT HAIKU) - set(ALLEGRO_UNIX 1) - endif() - -@@ -628,10 +628,10 @@ - - # -- Haiku/BeOS -- - --if(BEOS) -+if(HAIKU) - list(APPEND PLATFORM_SOURCES ${ALLEGRO_SRC_BEOS_FILES}) - list(APPEND PLATFORM_LIBS game midi device) --endif(BEOS) -+endif(HAIKU) - - # -- Mac OS X -- - -@@ -727,9 +727,9 @@ - if(ALLEGRO_WITH_XWINDOWS) - add_headers("" include/xalleg.h) - endif(ALLEGRO_WITH_XWINDOWS) --if(BEOS) -+if(HAIKU) - add_headers("" include/bealleg.h) --endif(BEOS) -+endif(HAIKU) - - #-----------------------------------------------------------------------------# - # diff --git a/media-libs/allegro/patches/allegro-4.4.x_svn.patch b/media-libs/allegro/patches/allegro-4.4.x_svn.patch deleted file mode 100644 index 2e81e77f1..000000000 --- a/media-libs/allegro/patches/allegro-4.4.x_svn.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -urN allegro-4.4.x-svn/CMakeLists.txt allegro-4.4.x-svn-haiku/CMakeLists.txt ---- allegro-4.4.x-svn/CMakeLists.txt 2012-11-18 01:16:37.000000000 -0800 -+++ allegro-4.4.x-svn-haiku/CMakeLists.txt 2012-11-18 01:06:24.541065216 -0800 -@@ -291,18 +291,18 @@ - endif(COMPILER_GCC) - endif(APPLE) - --if(BEOS) -+if(HAIKU) - if(CMAKE_SYSTEM_NAME STREQUAL Haiku) - set(ALLEGRO_HAIKU 1) -- else(CMAKE_SYSTEM_NAME STREQUAL Haiku) -+ else(CMAKE_SYSTEM_NAME STREQUAL BeOS) - set(ALLEGRO_BEOS 1) - endif(CMAKE_SYSTEM_NAME STREQUAL Haiku) - set(WFLAGS "-W -Wall -Wno-unused -Wno-multichar") - set(WFLAGS_C_ONLY "") - set(WFLAGS_CXX_ONLY "-Wno-ctor-dtor-privacy") --endif(BEOS) -+endif(HAIKU) - --if(UNIX AND NOT APPLE AND NOT BEOS) -+if(UNIX AND NOT APPLE AND NOT HAIKU) - set(ALLEGRO_UNIX 1) - endif() - -@@ -628,10 +628,10 @@ - - # -- Haiku/BeOS -- - --if(BEOS) -+if(HAIKU) - list(APPEND PLATFORM_SOURCES ${ALLEGRO_SRC_BEOS_FILES}) - list(APPEND PLATFORM_LIBS game midi device) --endif(BEOS) -+endif(HAIKU) - - # -- Mac OS X -- - -@@ -727,9 +727,9 @@ - if(ALLEGRO_WITH_XWINDOWS) - add_headers("" include/xalleg.h) - endif(ALLEGRO_WITH_XWINDOWS) --if(BEOS) -+if(HAIKU) - add_headers("" include/bealleg.h) --endif(BEOS) -+endif(HAIKU) - - #-----------------------------------------------------------------------------# - # diff --git a/media-libs/flac/flac-1.3.0.recipe b/media-libs/flac/flac-1.3.0.recipe index d2d100a5e..2248eaf26 100644 --- a/media-libs/flac/flac-1.3.0.recipe +++ b/media-libs/flac/flac-1.3.0.recipe @@ -12,28 +12,31 @@ LICENSE="GNU LGPL v2.1 COPYRIGHT="2000-2007 Josh Coalson" -ARCHITECTURES="x86 x86_gcc2" +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" flac$secondaryArchSuffix = $portVersion compat >= 1 libFLAC$secondaryArchSuffix = 1.3.0 compat >= 1 - cmd:flac - cmd:metaflac + cmd:flac$secondaryArchSuffix + cmd:metaflac$secondaryArchSuffix lib:libFLAC++$secondaryArchSuffix lib:libFLAC$secondaryArchSuffix " REQUIRES=" - haiku - lib:libiconv - lib:libogg + haiku$secondaryArchSuffix >= $haikuVersion + lib:libiconv$secondaryArchSuffix + lib:libogg$secondaryArchSuffix " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libiconv$secondaryArchSuffix + devel:libogg$secondaryArchSuffix " - + BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel cmd:nasm cmd:gcc$secondaryArchSuffix cmd:libtoolize @@ -44,8 +47,6 @@ BUILD_PREREQUIRES=" cmd:make cmd:gawk cmd:perl - devel:libiconv - devel:libogg " BUILD() @@ -67,7 +68,6 @@ INSTALL() # devel package packageEntries devel \ $developDir - } TEST() diff --git a/media-libs/giflib/giflib-5.0.5.recipe b/media-libs/giflib/giflib-5.0.5.recipe index f25521594..30752e828 100644 --- a/media-libs/giflib/giflib-5.0.5.recipe +++ b/media-libs/giflib/giflib-5.0.5.recipe @@ -5,23 +5,23 @@ SRC_URI="http://sourceforge.net/projects/giflib/files/giflib-5.x/giflib-5.0.5.ta CHECKSUM_MD5="c3262ba0a3dad31ba876fb5ba1d71a02" LICENSE="MIT" COPYRIGHT="1997-2007 Eric S. Raymond and Toshio Kuratomi" -REVISION="1" +REVISION="2" ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" giflib$secondaryArchSuffix = $portVersion - lib:libgif = 6.0.1 compat >= 5 - cmd:gif2raw - cmd:gif2rgb - cmd:gifbuild - cmd:gifclrmp - cmd:gifecho - cmd:giffix - cmd:gifinto - cmd:giftext - cmd:giftool + lib:libgif$secondaryArchSuffix = 6.0.1 compat >= 6 + cmd:gif2raw$secondaryArchSuffix + cmd:gif2rgb$secondaryArchSuffix + cmd:gifbuild$secondaryArchSuffix + cmd:gifclrmp$secondaryArchSuffix + cmd:gifecho$secondaryArchSuffix + cmd:giffix$secondaryArchSuffix + cmd:gifinto$secondaryArchSuffix + cmd:giftext$secondaryArchSuffix + cmd:giftool$secondaryArchSuffix " REQUIRES=" @@ -29,10 +29,10 @@ REQUIRES=" " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:libtool diff --git a/media-libs/libao/libao-1.0.0.recipe b/media-libs/libao/libao-1.0.0.recipe index 2ee94f010..0606c79d4 100644 --- a/media-libs/libao/libao-1.0.0.recipe +++ b/media-libs/libao/libao-1.0.0.recipe @@ -29,9 +29,9 @@ REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:aclocal cmd:autoconf cmd:automake @@ -39,11 +39,9 @@ BUILD_PREREQUIRES=" cmd:ld$secondaryArchSuffix cmd:libtoolize cmd:make + cmd:pkg_config$secondaryArchSuffix " - - - BUILD() { # sed -i 's/$(datadir)\/aclocal/`finddir B_COMMON_DATA_DIRECTORY`\/aclocal/g' M* @@ -74,11 +72,9 @@ INSTALL() # ----- devel package ------------------------------------------------------- PROVIDES_devel=" - libao_devel = $portVersion - devel:libao = 0.0.0 compat >= 0 + libao${secondaryArchSuffix}_devel = $portVersion + devel:libao$secondaryArchSuffix = 0.0.0 compat >= 0 " REQUIRES_devel=" - libao == $portVersion base + libao$secondaryArchSuffix == $portVersion base " - - diff --git a/media-libs/libmikmod/libmikmod-3.3.3.recipe b/media-libs/libmikmod/libmikmod-3.3.3.recipe index dc089be98..86867168d 100644 --- a/media-libs/libmikmod/libmikmod-3.3.3.recipe +++ b/media-libs/libmikmod/libmikmod-3.3.3.recipe @@ -17,11 +17,11 @@ PROVIDES=" REQUIRES=" haiku${secondaryArchSuffix} - lib:libsdl + lib:libsdl$secondaryArchSuffix " BUILD_REQUIRES=" - devel:libsdl + devel:libsdl$secondaryArchSuffix " BUILD_PREREQUIRES=" @@ -52,6 +52,7 @@ INSTALL() prepareInstalledDevelLibs libmikmod fixPkgconfig + fixDevelopLibDirReferences $binDir/libmikmod-config # devel package packageEntries devel \ @@ -63,7 +64,7 @@ INSTALL() PROVIDES_devel=" libmikmod${secondaryArchSuffix}_devel = $portVersion - cmd:libmikmod_config + cmd:libmikmod_config$secondaryArchSuffix devel:libmikmod$secondaryArchSuffix = 3.2.0 compat >= 3 " diff --git a/media-libs/libsdl/libsdl-1.2.15.recipe b/media-libs/libsdl/libsdl-1.2.15.recipe index dc4a603f6..dee7ebf21 100644 --- a/media-libs/libsdl/libsdl-1.2.15.recipe +++ b/media-libs/libsdl/libsdl-1.2.15.recipe @@ -1,5 +1,5 @@ -SUMMARY="Simple Direct Media Layer" -DESCRIPTION="Simple Direct Media Layer" +SUMMARY="Simple Direct Media Layer is a cross-platform media development library" +DESCRIPTION="Simple Direct Media Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics via OpenGL." HOMEPAGE="http://www.libsdl.org/" SRC_URI="http://www.libsdl.org/release/SDL-1.2.15.tar.gz" CHECKSUM_MD5="9d96df8417572a2afb781a7c4c811a85" diff --git a/media-libs/openal/openal-1.13.0.recipe b/media-libs/openal/openal-1.13.0.recipe index e6549ee6b..22422c081 100644 --- a/media-libs/openal/openal-1.13.0.recipe +++ b/media-libs/openal/openal-1.13.0.recipe @@ -21,10 +21,10 @@ REQUIRES=" " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:cmake cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix @@ -35,8 +35,10 @@ SOURCE_DIR="openal-soft-1.13" BUILD() { - cmake . - make + sed -i "s,RUNTIME DESTINATION bin,RUNTIME DESTINATION $relativeBinDir," CMakeLists.txt + cmake . -DCMAKE_INSTALL_PREFIX=$prefix \ + -DLIB_SUFFIX="/${secondaryArchSuffix/_/}" + make $jobArgs } INSTALL() @@ -45,9 +47,7 @@ INSTALL() mkdir -p $developDir/headers mkdir -p $binDir - mv /boot/common/lib $libDir - mv /boot/common/include/AL $developDir/headers - mv /boot/common/bin/openal-info $binDir + mv $prefix/include $developDir/headers prepareInstalledDevelLibs libopenal fixPkgconfig @@ -61,11 +61,10 @@ INSTALL() PROVIDES_devel=" openal${secondaryArchSuffix}_devel = $portVersion compat >= 1 devel:libopenal$secondaryArchSuffix = 1.13.0 compat >= 0 - cmd:openal_info + cmd:openal_info$secondaryArchSuffix " REQUIRES_devel=" haiku$secondaryArchSuffix >= $haikuVersion lib:libopenal$secondaryArchSuffix == $portVersion base " - diff --git a/media-libs/sdl_mixer/patches/sdl_mixer-1.2.12.patch b/media-libs/sdl_mixer/patches/sdl_mixer-1.2.12.patch deleted file mode 100644 index 0640f3a47..000000000 --- a/media-libs/sdl_mixer/patches/sdl_mixer-1.2.12.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index 1468e92..367fd69 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -39,7 +39,7 @@ VERSION_OBJECTS = @VERSION_OBJECTS@ - PLAYWAVE_OBJECTS = @PLAYWAVE_OBJECTS@ - PLAYMUS_OBJECTS = @PLAYMUS_OBJECTS@ - --DIST = Android.mk CHANGES COPYING CWProjects.sea.bin MPWmake.sea.bin Makefile.in SDL_mixer.pc.in README SDL_mixer.h SDL_mixer.qpg.in SDL_mixer.spec SDL_mixer.spec.in VisualC Watcom-OS2.zip Xcode Xcode-iOS acinclude autogen.sh build-scripts configure configure.in dynamic_flac.c dynamic_flac.h dynamic_fluidsynth.c dynamic_fluidsynth.h dynamic_mod.c dynamic_mod.h dynamic_mp3.c dynamic_mp3.h dynamic_ogg.c dynamic_ogg.h effect_position.c effect_stereoreverse.c effects_internal.c effects_internal.h fluidsynth.c fluidsynth.h gcc-fat.sh libmikmod-3.1.12.zip load_aiff.c load_aiff.h load_flac.c load_flac.h load_ogg.c load_ogg.h load_voc.c load_voc.h mixer.c music.c music_cmd.c music_cmd.h music_flac.c music_flac.h music_mad.c music_mad.h music_mod.c music_mod.h music_modplug.c music_modplug.h music_ogg.c music_ogg.h native_midi playmus.c timidity wavestream.c wavestream.h version.rc -+DIST = Android.mk CHANGES COPYING CWProjects.sea.bin MPWmake.sea.bin Makefile.in SDL_mixer.pc.in README SDL_mixer.h SDL_mixer.qpg.in SDL_mixer.spec SDL_mixer.spec.in VisualC Watcom-OS2.zip Xcode Xcode-iOS acinclude autogen.sh build-scripts configure configure.in dynamic_flac.c dynamic_flac.h dynamic_fluidsynth.c dynamic_fluidsynth.h dynamic_mod.c dynamic_mod.h dynamic_mp3.c dynamic_mp3.h dynamic_ogg.c dynamic_ogg.h effect_position.c effect_stereoreverse.c effects_internal.c effects_internal.h fluidsynth.c fluidsynth.h gcc-fat.sh libmikmod-3.1.12.zip load_aiff.c load_aiff.h load_flac.c load_flac.h load_ogg.c load_ogg.h load_voc.c load_voc.h mixer.c music.c music_cmd.c music_cmd.h music_flac.c music_flac.h music_mad.c music_mad.h music_mod.c music_mod.h music_modplug.c music_modplug.h music_ogg.c music_ogg.h native_midi timidity wavestream.c wavestream.h version.rc - - LT_AGE = @LT_AGE@ - LT_CURRENT = @LT_CURRENT@ -@@ -47,7 +47,7 @@ LT_RELEASE = @LT_RELEASE@ - LT_REVISION = @LT_REVISION@ - LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) - --all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/playmus$(EXE) -+all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) - - $(srcdir)/configure: $(srcdir)/configure.in - @echo "Warning, configure.in is out of date" -@@ -65,9 +65,6 @@ $(objects): - $(objects)/$(TARGET): $(OBJECTS) $(VERSION_OBJECTS) - $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) - --$(objects)/playmus$(EXE): $(objects)/playmus.lo $(objects)/$(TARGET) -- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) -- - install: all install-hdrs install-lib #install-bin - install-hdrs: - $(SHELL) $(auxdir)/mkinstalldirs $(includedir)/SDL -@@ -82,7 +79,6 @@ install-lib: $(objects) $(objects)/$(TARGET) - $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(libdir)/$(TARGET) - install-bin: - $(SHELL) $(auxdir)/mkinstalldirs $(bindir) -- $(LIBTOOL) --mode=install $(INSTALL) -m 755 $(objects)/playmus$(EXE) $(bindir)/playmus$(EXE) - - uninstall: uninstall-hdrs uninstall-lib uninstall-bin - uninstall-hdrs: -@@ -96,7 +92,8 @@ uninstall-hdrs: - uninstall-lib: - $(LIBTOOL) --mode=uninstall rm -f $(libdir)/$(TARGET) - uninstall-bin: -- rm -f $(bindir)/playmus$(EXE) -+ touch playmus -+ rm -f playmus - - clean: - rm -rf $(objects) 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 e91763b9c..af302a881 100644 --- a/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe +++ b/media-libs/sdl_mixer/sdl_mixer-1.2.12.recipe @@ -49,16 +49,14 @@ BUILD_PREREQUIRES=" cmd:ld$secondaryArchSuffix cmd:libtool cmd:make - cmd:pkg_config - cmd:sdl_config - cmd:smpeg_config - cmd:libmikmod_config + cmd:pkg_config$secondaryArchSuffix + cmd:sdl_config$secondaryArchSuffix + cmd:smpeg_config$secondaryArchSuffix + cmd:libmikmod_config$secondaryArchSuffix " SOURCE_DIR="SDL_mixer-$portVersion" -PATCHES="sdl_mixer-1.2.12.patch" - BUILD() { libtoolize --force --copy --install diff --git a/media-libs/sdl_sound/sdl_sound-1.0.3.recipe b/media-libs/sdl_sound/sdl_sound-1.0.3.recipe index 8b5b670e6..49f8bd882 100644 --- a/media-libs/sdl_sound/sdl_sound-1.0.3.recipe +++ b/media-libs/sdl_sound/sdl_sound-1.0.3.recipe @@ -11,24 +11,40 @@ SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" sdl_sound$secondaryArchSuffix = $portVersion - cmd:playsound = $portVersion compat >= 2 - cmd:playsound_simple = $portVersion compat >= 2 + cmd:playsound$secondaryArchSuffix = $portVersion compat >= 2 + cmd:playsound_simple$secondaryArchSuffix = $portVersion compat >= 2 lib:libSDL_sound$secondaryArchSuffix = 1.0_0.8.0 compat >= 1.0_0 lib:libSDL_sound_1.0$secondaryArchSuffix = 0.8.0 compat >= 1.0 " REQUIRES=" haiku$secondaryArchSuffix - libsdl$secondaryArchSuffix + lib:libsdl$secondaryArchSuffix + lib:libogg$secondaryArchSuffix + lib:libvorbis$secondaryArchSuffix + lib:libspeex$secondaryArchSuffix + +# lib:libFlac$secondaryArchSuffix +# lib:libmikmod$secondaryArchSuffix + lib:libmodplug$secondaryArchSuffix +# lib:smpeg$secondaryArchSuffix +# lib:physfs$secondaryArchSuffix " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion devel:libsdl$secondaryArchSuffix devel:libogg$secondaryArchSuffix + devel:libvorbis$secondaryArchSuffix + devel:libspeex$secondaryArchSuffix +# devel:libFlac$secondaryArchSuffix +# devel:libmikmod$secondaryArchSuffix + devel:libmodplug$secondaryArchSuffix +# devel:smpeg$secondaryArchSuffix +# devel:physfs$secondaryArchSuffix " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:aclocal cmd:autoconf cmd:gcc$secondaryArchSuffix diff --git a/media-libs/sdl_ttf/sdl_ttf-2.0.11.recipe b/media-libs/sdl_ttf/sdl_ttf-2.0.11.recipe index 8117e605b..13c77e3ab 100644 --- a/media-libs/sdl_ttf/sdl_ttf-2.0.11.recipe +++ b/media-libs/sdl_ttf/sdl_ttf-2.0.11.recipe @@ -26,23 +26,28 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion - libsdl >= 1.2 - lib:libfreetype - lib:libz + lib:libsdl$secondaryArchSuffix + lib:libfreetype$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libsdl$secondaryArchSuffix + devel:libfreetype$secondaryArchSuffix + devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:libtoolize cmd:aclocal cmd:automake cmd:autoconf cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix - cmd:sdl_config + cmd:sdl_config$secondaryArchSuffix cmd:make - cmd:freetype_config - devel:libz + cmd:freetype_config$secondaryArchSuffix " SOURCE_DIR="SDL_ttf-$portVersion" @@ -52,7 +57,7 @@ BUILD() libtoolize --copy --force --install aclocal --install -I acinclude autoconf - runConfigure ./configure + runConfigure ./configure --with-x=no make } diff --git a/media-libs/sge/sge-030809.recipe b/media-libs/sge/sge-030809.recipe index ccd270f4f..b74e3d520 100644 --- a/media-libs/sge/sge-030809.recipe +++ b/media-libs/sge/sge-030809.recipe @@ -36,7 +36,7 @@ BUILD_PREREQUIRES=" cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:make - cmd:sdl_config + cmd:sdl_config$secondaryArchSuffix " SOURCE_DIR="sge030809" @@ -50,10 +50,8 @@ BUILD() INSTALL() { - make install PREFIX_H=$relativeIncludeDir PREFIX=$prefix - + make install PREFIX_H=$includeDir PREFIX=$prefix LIBDIR=$libDir prepareInstalledDevelLibs libSGE - #devel package packageEntries devel \ $developDir diff --git a/media-libs/smjpeg/smjpeg-0.2.1.recipe b/media-libs/smjpeg/smjpeg-0.2.1.recipe index 9952d7d1a..d9c671645 100644 --- a/media-libs/smjpeg/smjpeg-0.2.1.recipe +++ b/media-libs/smjpeg/smjpeg-0.2.1.recipe @@ -1,5 +1,5 @@ -SUMMARY="smjpeg" -DESCRIPTION="smjpeg" +SUMMARY="smjpeg is an implementation of the smjpeg decoding library." +DESCRIPTION="smjpeg is an implementation of the smjpeg decoding library, which runs on just about any platform. It comes with one sample deoder, smjpeg_decode (console, no UI)." HOMEPAGE="http://www.icculus.org/smjpeg" SRC_URI="svn://svn.icculus.org/smjpeg/trunk/" LICENSE="GNU LGPL v2" @@ -14,8 +14,8 @@ PROVIDES=" smjpeg$secondaryArchSuffix = $portVersion compat >= 0 lib:libsmjpeg$secondaryArchSuffix = 0.2_0.0.2 compat >= 0.2_0 lib:libsmjpeg_0.2$secondaryArchSuffix = 0.0.2 compat >= 0 - cmd:smjpeg_encode = $portVersion compat >= 0 - cmd:smjpeg_decode = $portVersion compat >= 0 + cmd:smjpeg_encode$secondaryArchSuffix = $portVersion compat >= 0 + cmd:smjpeg_decode$secondaryArchSuffix = $portVersion compat >= 0 " REQUIRES=" @@ -24,11 +24,11 @@ REQUIRES=" " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel devel:libsdl$secondaryArchSuffix " BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel cmd:gcc$secondaryArchSuffix cmd:libtoolize cmd:aclocal diff --git a/media-libs/smpeg/smpeg-0.4.5.recipe b/media-libs/smpeg/smpeg-0.4.5.recipe index 918b4c4e5..931784c7b 100644 --- a/media-libs/smpeg/smpeg-0.4.5.recipe +++ b/media-libs/smpeg/smpeg-0.4.5.recipe @@ -1,5 +1,5 @@ -SUMMARY="smpeg is an mpeg decoing library." -DESCRIPTION="smpeg is an mpeg decoding library, which runs on just about any platform. It comes with a sample decoder, plaympeg." +SUMMARY="smpeg is an mpeg decoding library." +DESCRIPTION="SMPEG is short for the SDL MPEG library originally developed by Loki Software. SMPEG uses MPEG-1 standard as a video display library, rather than MPEG-2, since only the MPEG-1 standard is unencumbered with software patents in the United States." HOMEPAGE="http://www.icculus.org/smpeg" SRC_URI="svn://svn.icculus.org/smpeg/tags/release_0_4_5" LICENSE="GNU LGPL v2" @@ -10,36 +10,36 @@ ARCHITECTURES="x86 x86_gcc2" SECONDARY_ARCHITECTURES="x86_gcc2 x86 ?x86_64" PROVIDES=" - smpeg$secondaryArchSupport = 0.4.5 compat >= 0 + smpeg$secondaryArchSuffix = 0.4.5 compat >= 0 cmd:smpeg = 0.4.5 compat >= 0 - cmd:plaympeg = 0.4.5 compat >= 0 - cmd:glmovie = 0.4.5 compat >= 0 - lib:libsmpeg$secondaryArchSupport = 0.4_0.1.4 compat >= 0.4_0 - lib:libsmpeg_0.4$secondaryArchSupport = 0.1.4 compat >= 0 + cmd:plaympeg$secondaryArchSuffix = 0.4.5 compat >= 0 + cmd:glmovie$secondaryArchSuffix = 0.4.5 compat >= 0 + lib:libsmpeg$secondaryArchSuffix = 0.4_0.1.4 compat >= 0.4_0 + lib:libsmpeg_0.4$secondaryArchSuffix = 0.1.4 compat >= 0 " REQUIRES=" - haiku$secondaryArchSupport - lib:libglu$secondaryArchSupport - lib:libsdl$secondaryArchSupport + haiku$secondaryArchSuffix + lib:libglu$secondaryArchSuffix + lib:libsdl$secondaryArchSuffix " BUILD_REQUIRES=" - devel:libsdl$secondaryArchSupport - devel:libglu$secondaryArchSupport + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libsdl$secondaryArchSuffix + devel:libglu$secondaryArchSuffix " BUILD_PREREQUIRES=" - haiku${secondaryArchSupport}_devel >= $haikuVersion - cmd:gcc$secondaryArchSupport + cmd:gcc$secondaryArchSuffix cmd:libtoolize cmd:aclocal cmd:autoconf cmd:automake - cmd:ld$secondaryArchSupport + cmd:ld$secondaryArchSuffix cmd:make - cmd:pkg_config - lib:libsdl$secondaryArchSupport + cmd:pkg_config$secondaryArchSuffix + lib:libsdl$secondaryArchSuffix " BUILD() @@ -61,24 +61,24 @@ INSTALL() make install prepareInstalledDevelLibs libsmpeg + fixDevelopLibDirReferences $binDir/smpeg-config fixPkgconfig # devel package packageEntries devel \ $developDir $binDir/smpeg-config \ $dataDir - } # ----- devel package ------------------------------------------------------- PROVIDES_devel=" - smpeg${secondaryArchSupport}_devel = $portVersion - cmd:smpeg_config - devel:libsmpeg$secondaryArchSupport = 0.4_0.1.4 compat >= 0.4_0 - devel:libsmpeg_0.4$secondaryArchSupport = 0.4.5 compat >= 0 + smpeg${secondaryArchSuffix}_devel = $portVersion + cmd:smpeg_config$secondaryArchSuffix + devel:libsmpeg$secondaryArchSuffix = 0.4_0.1.4 compat >= 0.4_0 + devel:libsmpeg_0.4$secondaryArchSuffix = 0.4.5 compat >= 0 " REQUIRES_devel=" - smpeg$secondaryArchSupport == $portVersion base + smpeg$secondaryArchSuffix == $portVersion base " diff --git a/media-sound/vorbis_tools/vorbis_tools-1.4.0.recipe b/media-sound/vorbis_tools/vorbis_tools-1.4.0.recipe index 1f289b92a..997414636 100644 --- a/media-sound/vorbis_tools/vorbis_tools-1.4.0.recipe +++ b/media-sound/vorbis_tools/vorbis_tools-1.4.0.recipe @@ -7,59 +7,62 @@ REVISION="1" LICENSE="GNU GPL v2" COPYRIGHT="2000-2005 Michael Smith, Stan Seibert and other contributers" -ARCHITECTURES="x86 x86_gcc2" +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" PROVIDES=" - vorbis_tools = 1.4.0 compat >= 1 - cmd:oggenc - cmd:oggdec - cmd:ogginfo - cmd:vcut - cmd:vorbiscomment + vorbis_tools = $portVersion compat >= 1 + cmd:oggenc$secondaryArchSuffix + cmd:oggdec$secondaryArchSuffix + cmd:ogginfo$secondaryArchSuffix + cmd:vcut$secondaryArchSuffix + cmd:vorbiscomment$secondaryArchSuffix " REQUIRES=" - haiku${secondaryArchSuffix} >= $haikuVersion - lib:libvorbis - lib:libflac - lib:speex - lib:libao - lib:libogg - lib:libvorbis - lib:libcurl - lib:libvorbisfile - lib:libvorbisenc - lib:libFLAC + haiku$secondaryArchSuffix >= $haikuVersion + lib:libvorbis$secondaryArchSuffix + lib:libflac$secondaryArchSuffix + lib:libspeex$secondaryArchSuffix + lib:libao$secondaryArchSuffix + lib:libogg$secondaryArchSuffix + lib:libvorbis$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix + lib:libvorbisfile$secondaryArchSuffix + lib:libvorbisenc$secondaryArchSuffix " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libvorbis$secondaryArchSuffix +# devel:libflac$secondaryArchSuffix + devel:libspeex$secondaryArchSuffix + devel:libao$secondaryArchSuffix + devel:libogg$secondaryArchSuffix + devel:libvorbis$secondaryArchSuffix + devel:libcurl$secondaryArchSuffix + devel:libvorbisfile$secondaryArchSuffix + devel:libvorbisenc$secondaryArchSuffix " -SOURCE_DIR="vorbis-tools-$portVersion" - BUILD_PREREQUIRES=" - cmd:gcc${secondaryArchSuffix} - cmd:ld${secondaryArchSuffix} + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix cmd:libtoolize cmd:aclocal cmd:autoconf cmd:automake cmd:make - cmd:pkg_config - devel:libogg - devel:libvorbis - devel:libflac + cmd:pkg_config$secondaryArchSuffix " -PATCH="vorbis_tools-1.4.0.patch" +PATCHES="vorbis_tools-1.4.0.patch" -PATCH() -{ - sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac -} +SOURCE_DIR="vorbis-tools-$portVersion" BUILD() { + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac libtoolize --force --copy --install aclocal -I m4 automake diff --git a/net-misc/wget/patches/wget-1.12.patch b/net-misc/wget/patches/wget-1.12.patch deleted file mode 100644 index a97ad38de..000000000 --- a/net-misc/wget/patches/wget-1.12.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff -urN wget-1.12/configure.ac wget-1.12-haiku/configure.ac ---- wget-1.12/configure.ac 2009-09-22 09:39:49.038010880 -0700 -+++ wget-1.12-haiku/configure.ac 2010-10-22 13:23:29.351797248 -0700 -@@ -163,6 +163,7 @@ - AC_CHECK_HEADERS(unistd.h sys/time.h) - AC_CHECK_HEADERS(termios.h sys/ioctl.h sys/select.h utime.h sys/utime.h) - AC_CHECK_HEADERS(stdint.h inttypes.h pwd.h wchar.h) -+AC_CHECK_HEADERS(arpa/inet.h) - - AC_CHECK_DECLS(h_errno,,,[#include ]) - -diff -urN wget-1.12/m4/wget.m4 wget-1.12-haiku/m4/wget.m4 ---- wget-1.12/m4/wget.m4 2009-09-21 20:18:44.034340864 -0700 -+++ wget-1.12-haiku/m4/wget.m4 2010-10-22 13:22:01.071041024 -0700 -@@ -117,6 +117,8 @@ - - dnl Check whether we need to link with -lnsl and -lsocket, as is the - dnl case on e.g. Solaris. -+dnl BeOS (BONE) needs libbind as well -+dnl Haiku needs libnetwork - - AC_DEFUN([WGET_NSL_SOCKET], [ - dnl On Solaris, -lnsl is needed to use gethostbyname. But checking -@@ -136,6 +138,9 @@ - AC_CHECK_LIB(nsl, $wget_check_in_nsl) - fi - AC_CHECK_LIB(socket, socket) -+ AC_CHECK_LIB(bind, gethostbyname) -+ AC_CHECK_LIB(network, gethostbyname) -+ AC_CHECK_LIB(network, socket) - ]) - - -diff -urN wget-1.12/src/config.h.in wget-1.12-haiku/src/config.h.in ---- wget-1.12/src/config.h.in 2009-09-22 09:40:33.008126464 -0700 -+++ wget-1.12-haiku/src/config.h.in 2010-10-22 13:14:25.000000000 -0700 -@@ -66,6 +66,9 @@ - /* Define to 1 if you have the header file. */ - #undef HAVE_BP_SYM_H - -+/* Define to 1 if you have the header file. */ -+#undef HAVE_ARPA_INET_H -+ - /* Define when using built-in MD5. */ - #undef HAVE_BUILTIN_MD5 - -@@ -212,12 +215,18 @@ - /* Define if you have and nl_langinfo(CODESET). */ - #undef HAVE_LANGINFO_CODESET - -+/* Define to 1 if you have the `bind' library (-lbind). */ -+#undef HAVE_LIBBIND -+ - /* Define to 1 if you have the `dl' library (-ldl). */ - #undef HAVE_LIBDL - - /* Define if you have the gnutls library. */ - #undef HAVE_LIBGNUTLS - -+/* Define to 1 if you have the `network' library (-lnetwork). */ -+#undef HAVE_LIBNETWORK -+ - /* Define to 1 if you have the `nsl' library (-lnsl). */ - #undef HAVE_LIBNSL - -diff -urN wget-1.12/src/connect.c wget-1.12-haiku/src/connect.c ---- wget-1.12/src/connect.c 2009-09-21 19:55:56.006815744 -0700 -+++ wget-1.12-haiku/src/connect.c 2010-10-22 13:14:25.000000000 -0700 -@@ -45,7 +45,7 @@ - # include - # endif /* def __VMS [else] */ - # include --# ifndef __BEOS__ -+# ifdef HAVE_ARPA_INET_H - # include - # endif - #endif /* not WINDOWS */ -diff -urN wget-1.12/src/host.c wget-1.12-haiku/src/host.c ---- wget-1.12/src/host.c 2009-09-21 20:00:05.002883584 -0700 -+++ wget-1.12-haiku/src/host.c 2010-10-22 13:14:25.000000000 -0700 -@@ -39,7 +39,7 @@ - # include - # include - # include --# ifndef __BEOS__ -+# ifdef HAVE_ARPA_INET_H - # include - # endif - # ifdef __VMS -diff -urN wget-1.12/src/host.h wget-1.12-haiku/src/host.h ---- wget-1.12/src/host.h 2009-09-04 09:31:54.006553600 -0700 -+++ wget-1.12-haiku/src/host.h 2010-10-22 13:14:25.000000000 -0700 -@@ -41,9 +41,9 @@ - # endif /* def __VMS [else] */ - # include - # include --#ifndef __BEOS__ --# include --#endif -+# ifdef HAVE_ARPA_INET_H -+# include -+# endif - #endif - - struct url; diff --git a/net-misc/wget/patches/wget-1.13.4.patch b/net-misc/wget/patches/wget-1.13.4.patch deleted file mode 100644 index 3145d84af..000000000 --- a/net-misc/wget/patches/wget-1.13.4.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff -urN wget-1.13.4/src/http.c wget-1.13.4-haiku/src/http.c ---- wget-1.13.4/src/http.c 2011-09-07 03:58:01.006291456 -0700 -+++ wget-1.13.4-haiku/src/http.c 2012-03-17 12:20:29.000000000 -0700 -@@ -1046,6 +1046,7 @@ - char separator) - { - const char *p = *source; -+ int param_type; - - while (c_isspace (*p)) ++p; - if (!*p) -@@ -1101,7 +1102,7 @@ - } - *source = p; - -- int param_type = modify_param_name(name); -+ param_type = modify_param_name(name); - if (NOT_RFC2231 != param_type) - { - modify_param_value(value, param_type); -diff -urN wget-1.13.4/src/main.c wget-1.13.4-haiku/src/main.c ---- wget-1.13.4/src/main.c 2011-09-06 06:50:11.004456448 -0700 -+++ wget-1.13.4-haiku/src/main.c 2012-03-17 12:23:37.000000000 -0700 -@@ -913,14 +913,16 @@ - int i, ret, longindex; - int nurl; - bool append_to_log = false; -- -- total_downloaded_bytes = 0; -- -- program_name = argv[0]; -+ int retconf; -+ bool use_userconfig = false; - - struct ptimer *timer = ptimer_new (); - double start_time = ptimer_measure (timer); - -+ total_downloaded_bytes = 0; -+ -+ program_name = argv[0]; -+ - i18n_initialize (); - - /* Construct the name of the executable, without the directory part. */ -@@ -948,8 +950,6 @@ - /* This seperate getopt_long is needed to find the user config - and parse it before the other user options. */ - longindex = -1; -- int retconf; -- bool use_userconfig = false; - - while ((retconf = getopt_long (argc, argv, - short_options, long_options, &longindex)) != -1) -@@ -1432,11 +1432,14 @@ - && - total_downloaded_bytes != 0) - { -+ char *wall_time; -+ char *download_time; - double end_time = ptimer_measure (timer); - ptimer_destroy (timer); -- -- char *wall_time = xstrdup (secs_to_human_time (end_time - start_time)); -- char *download_time = xstrdup (secs_to_human_time (total_download_time)); -+ -+ wall_time = xstrdup (secs_to_human_time (end_time - start_time)); -+ download_time = xstrdup (secs_to_human_time (total_download_time)); -+ - logprintf (LOG_NOTQUIET, - _("FINISHED --%s--\nTotal wall clock time: %s\n" - "Downloaded: %d files, %s in %s (%s)\n"), diff --git a/net-misc/wget/patches/wget-1.14-build-fixes.patch b/net-misc/wget/patches/wget-1.14-build-fixes.patch new file mode 100644 index 000000000..4737e4a37 --- /dev/null +++ b/net-misc/wget/patches/wget-1.14-build-fixes.patch @@ -0,0 +1,521 @@ +From 106dffb05519f44684f5f9dc09b0970b8c68a2d9 Mon Sep 17 00:00:00 2001 +From: Luke +Date: Wed, 11 Dec 2013 03:03:50 +0000 +Subject: [PATCH] Fix build errors + +--- + lib/regcomp.c | 2 +- + src/http.c | 9 ++++-- + src/main.c | 25 ++++++++------ + src/retr.c | 3 +- + src/utils.c | 2 ++ + src/warc.c | 102 ++++++++++++++++++++++++++++++++++++---------------------- + 6 files changed, 91 insertions(+), 52 deletions(-) + +diff --git a/lib/regcomp.c b/lib/regcomp.c +index 1d7a522..76ed566 100644 +--- a/lib/regcomp.c ++++ b/lib/regcomp.c +@@ -952,10 +952,10 @@ static void + internal_function + init_word_char (re_dfa_t *dfa) + { +- dfa->word_ops_used = 1; + int i = 0; + int j; + int ch = 0; ++ dfa->word_ops_used = 1; + if (BE (dfa->map_notascii == 0, 1)) + { + bitset_word_t bits0 = 0x00000000; +diff --git a/src/http.c b/src/http.c +index fa2d5ed..8500a93 100644 +--- a/src/http.c ++++ b/src/http.c +@@ -1076,6 +1076,7 @@ extract_param (const char **source, param_token *name, param_token *value, + char separator) + { + const char *p = *source; ++ int param_type; + + while (c_isspace (*p)) ++p; + if (!*p) +@@ -1131,7 +1132,7 @@ extract_param (const char **source, param_token *name, param_token *value, + } + *source = p; + +- int param_type = modify_param_name(name); ++ param_type = modify_param_name(name); + if (NOT_RFC2231 != param_type) + { + modify_param_value(value, param_type); +@@ -1521,6 +1522,7 @@ read_response_body (struct http_stat *hs, int sock, FILE *fp, wgint contlen, + int warc_payload_offset = 0; + FILE *warc_tmp = NULL; + int warcerr = 0; ++ int flags; + + if (opt.warc_filename != NULL) + { +@@ -1557,7 +1559,7 @@ read_response_body (struct http_stat *hs, int sock, FILE *fp, wgint contlen, + } + + /* Read the response body. */ +- int flags = 0; ++ flags = 0; + if (contlen != -1) + /* If content-length is present, read that much; otherwise, read + until EOF. The HTTP spec doesn't require the server to +@@ -1668,6 +1670,7 @@ static uerr_t + gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy, + struct iri *iri, int count) + { ++ int warc_tmp_written; + struct request *req; + + char *type; +@@ -2136,7 +2139,7 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy, + warc_payload_offset = ftello (warc_tmp); + + /* Write a copy of the data to the WARC record. */ +- int warc_tmp_written = fwrite (opt.post_data, 1, post_data_size, warc_tmp); ++ warc_tmp_written = fwrite (opt.post_data, 1, post_data_size, warc_tmp); + if (warc_tmp_written != post_data_size) + write_error = -2; + } +diff --git a/src/main.c b/src/main.c +index b8b2869..cff4fa3 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -971,13 +971,20 @@ main (int argc, char **argv) + int i, ret, longindex; + int nurl; + bool append_to_log = false; ++ struct ptimer *timer; ++ double start_time; ++ int arglen; ++ int argstring_length; ++ int retconf; ++ bool use_userconfig = false; ++ char *p; + + total_downloaded_bytes = 0; + + program_name = argv[0]; + +- struct ptimer *timer = ptimer_new (); +- double start_time = ptimer_measure (timer); ++ timer = ptimer_new (); ++ start_time = ptimer_measure (timer); + + i18n_initialize (); + +@@ -999,10 +1006,10 @@ main (int argc, char **argv) + #endif + + /* Construct the arguments string. */ +- int argstring_length = 1; ++ argstring_length = 1; + for (i = 1; i < argc; i++) + argstring_length += strlen (argv[i]) + 2 + 1; +- char *p = program_argstring = malloc (argstring_length * sizeof (char)); ++ p = program_argstring = malloc (argstring_length * sizeof (char)); + if (p == NULL) + { + fprintf (stderr, _("Memory allocation problem\n")); +@@ -1011,7 +1018,7 @@ main (int argc, char **argv) + for (i = 1; i < argc; i++) + { + *p++ = '"'; +- int arglen = strlen (argv[i]); ++ arglen = strlen (argv[i]); + memcpy (p, argv[i], arglen); + p += arglen; + *p++ = '"'; +@@ -1027,8 +1034,6 @@ main (int argc, char **argv) + /* This separate getopt_long is needed to find the user config file + option ("--config") and parse it before the other user options. */ + longindex = -1; +- int retconf; +- bool use_userconfig = false; + + while ((retconf = getopt_long (argc, argv, + short_options, long_options, &longindex)) != -1) +@@ -1597,10 +1602,12 @@ outputting to a regular file.\n")); + total_downloaded_bytes != 0) + { + double end_time = ptimer_measure (timer); ++ char *wall_time; ++ char *download_time; + ptimer_destroy (timer); + +- char *wall_time = xstrdup (secs_to_human_time (end_time - start_time)); +- char *download_time = xstrdup (secs_to_human_time (total_download_time)); ++ wall_time = xstrdup (secs_to_human_time (end_time - start_time)); ++ download_time = xstrdup (secs_to_human_time (total_download_time)); + logprintf (LOG_NOTQUIET, + _("FINISHED --%s--\nTotal wall clock time: %s\n" + "Downloaded: %d files, %s in %s (%s)\n"), +diff --git a/src/retr.c b/src/retr.c +index 6204839..7947a73 100644 +--- a/src/retr.c ++++ b/src/retr.c +@@ -374,8 +374,9 @@ fd_read_body (int fd, FILE *out, wgint toread, wgint startpos, + + if (ret > 0) + { ++ int write_res; + sum_read += ret; +- int write_res = write_data (out, out2, dlbuf, ret, &skip, &sum_written); ++ write_res = write_data (out, out2, dlbuf, ret, &skip, &sum_written); + if (write_res != 0) + { + ret = (write_res == -3) ? -3 : -2; +diff --git a/src/utils.c b/src/utils.c +index 567dc35..736f6e2 100644 +--- a/src/utils.c ++++ b/src/utils.c +@@ -64,7 +64,9 @@ as that of the covered work. */ + #include + + /* For TIOCGWINSZ and friends: */ ++#ifndef __HAIKU__ + #include ++#endif + #ifdef HAVE_TERMIOS_H + # include + #endif +diff --git a/src/warc.c b/src/warc.c +index 69f80be..17a48aa 100644 +--- a/src/warc.c ++++ b/src/warc.c +@@ -154,10 +154,11 @@ warc_write_buffer (const char *buffer, size_t size) + static bool + warc_write_string (const char *str) + { ++ size_t n; + if (!warc_write_ok) + return false; + +- size_t n = strlen (str); ++ n = strlen (str); + if (n != warc_write_buffer (str, n)) + warc_write_ok = false; + +@@ -246,8 +247,11 @@ warc_write_block_from_file (FILE *data_in) + { + /* Add the Content-Length header. */ + char *content_length; ++ char buffer[BUFSIZ]; ++ size_t s; ++ + fseeko (data_in, 0L, SEEK_END); +- if (! asprintf (&content_length, "%ld", ftello (data_in))) ++ if (! asprintf (&content_length, "%ld", (long int)ftello (data_in))) + { + warc_write_ok = false; + return false; +@@ -262,8 +266,6 @@ warc_write_block_from_file (FILE *data_in) + warc_write_ok = false; + + /* Copy the data in the file to the WARC record. */ +- char buffer[BUFSIZ]; +- size_t s; + while (warc_write_ok && (s = fread (buffer, 1, BUFSIZ, data_in)) > 0) + { + if (warc_write_buffer (buffer, s) < s) +@@ -288,6 +290,12 @@ warc_write_end_record (void) + /* We start a new gzip stream for each record. */ + if (warc_write_ok && warc_current_gzfile) + { ++ size_t result; ++ char static_header[GZIP_STATIC_HEADER_SIZE]; ++ off_t current_offset; ++ off_t uncompressed_size; ++ off_t compressed_size; ++ char extra_header[EXTRA_GZIP_HEADER_SIZE]; + if (gzclose (warc_current_gzfile) != Z_OK) + { + warc_write_ok = false; +@@ -313,17 +321,16 @@ warc_write_end_record (void) + */ + + /* Calculate the uncompressed and compressed sizes. */ +- off_t current_offset = ftello (warc_current_file); +- off_t uncompressed_size = current_offset - warc_current_gzfile_offset; +- off_t compressed_size = warc_current_gzfile_uncompressed_size; ++ current_offset = ftello (warc_current_file); ++ uncompressed_size = current_offset - warc_current_gzfile_offset; ++ compressed_size = warc_current_gzfile_uncompressed_size; + + /* Go back to the static GZIP header. */ + fseeko (warc_current_file, warc_current_gzfile_offset + + EXTRA_GZIP_HEADER_SIZE, SEEK_SET); + + /* Read the header. */ +- char static_header[GZIP_STATIC_HEADER_SIZE]; +- size_t result = fread (static_header, 1, GZIP_STATIC_HEADER_SIZE, ++ result = fread (static_header, 1, GZIP_STATIC_HEADER_SIZE, + warc_current_file); + if (result != GZIP_STATIC_HEADER_SIZE) + { +@@ -340,7 +347,6 @@ warc_write_end_record (void) + fwrite (static_header, 1, GZIP_STATIC_HEADER_SIZE, warc_current_file); + + /* Prepare the extra GZIP header. */ +- char extra_header[EXTRA_GZIP_HEADER_SIZE]; + /* XLEN, the length of the extra header fields. */ + extra_header[0] = ((EXTRA_GZIP_HEADER_SIZE - 2) & 255); + extra_header[1] = ((EXTRA_GZIP_HEADER_SIZE - 2) >> 8) & 255; +@@ -649,13 +655,15 @@ warc_write_warcinfo_record (char *filename) + /* Write warc-info record as the first record of the file. */ + /* We add the record id of this info record to the other records in the + file. */ ++ char timestamp[22]; ++ char *filename_copy, *filename_basename; ++ FILE *warc_tmp; ++ + warc_current_warcinfo_uuid_str = (char *) malloc (48); + warc_uuid_str (warc_current_warcinfo_uuid_str); + +- char timestamp[22]; + warc_timestamp (timestamp); + +- char *filename_copy, *filename_basename; + filename_copy = strdup (filename); + filename_basename = strdup (basename (filename_copy)); + +@@ -667,7 +675,7 @@ warc_write_warcinfo_record (char *filename) + warc_write_header ("WARC-Filename", filename_basename); + + /* Create content. */ +- FILE *warc_tmp = warc_tempfile (); ++ warc_tmp = warc_tempfile (); + if (warc_tmp == NULL) + { + free (filename_copy); +@@ -717,6 +725,10 @@ warc_write_warcinfo_record (char *filename) + static bool + warc_start_new_file (bool meta) + { ++ int base_filename_length; ++ char *new_filename; ++ const char *extension; ++ + if (opt.warc_filename == NULL) + return false; + +@@ -729,15 +741,15 @@ warc_start_new_file (bool meta) + + warc_current_file_number++; + +- int base_filename_length = strlen (opt.warc_filename); ++ base_filename_length = strlen (opt.warc_filename); + /* filename format: base + "-" + 5 digit serial number + ".warc.gz" */ +- char *new_filename = malloc (base_filename_length + 1 + 5 + 8 + 1); ++ new_filename = malloc (base_filename_length + 1 + 5 + 8 + 1); + warc_current_filename = new_filename; + + #ifdef HAVE_LIBZ +- const char *extension = (opt.warc_compression_enabled ? "warc.gz" : "warc"); ++ extension = (opt.warc_compression_enabled ? "warc.gz" : "warc"); + #else +- const char *extension = "warc"; ++ extension = "warc"; + #endif + + /* If max size is enabled, we add a serial number to the file names. */ +@@ -811,12 +823,13 @@ static bool + warc_parse_cdx_header (char *lineptr, int *field_num_original_url, + int *field_num_checksum, int *field_num_record_id) + { ++ char *token; ++ char *save_ptr; ++ + *field_num_original_url = -1; + *field_num_checksum = -1; + *field_num_record_id = -1; + +- char *token; +- char *save_ptr; + token = strtok_r (lineptr, CDX_FIELDSEP, &save_ptr); + + if (token != NULL && strcmp (token, "CDX") == 0) +@@ -860,10 +873,12 @@ warc_process_cdx_line (char *lineptr, int field_num_original_url, + + char *token; + char *save_ptr; ++ int field_num; ++ + token = strtok_r (lineptr, CDX_FIELDSEP, &save_ptr); + + /* Read this line to get the fields we need. */ +- int field_num = 0; ++ field_num = 0; + while (token != NULL) + { + char **val; +@@ -926,10 +941,7 @@ warc_process_cdx_line (char *lineptr, int field_num_original_url, + static bool + warc_load_cdx_dedup_file (void) + { +- FILE *f = fopen (opt.warc_cdx_dedup_filename, "r"); +- if (f == NULL) +- return false; +- ++ FILE *f; + int field_num_original_url = -1; + int field_num_checksum = -1; + int field_num_record_id = -1; +@@ -938,6 +950,10 @@ warc_load_cdx_dedup_file (void) + size_t n = 0; + ssize_t line_length; + ++ f = fopen (opt.warc_cdx_dedup_filename, "r"); ++ if (f == NULL) ++ return false; ++ + /* The first line should contain the CDX header. + Format: " CDX x x x x x" + where x are field type indicators. For our purposes, we only +@@ -965,6 +981,7 @@ _("CDX file does not list record ids. (Missing column 'u'.)\n")); + } + else + { ++ int nrecords; + /* Initialize the table. */ + warc_cdx_dedup_table = hash_table_new (1000, warc_hash_sha1_digest, + warc_cmp_sha1_digest); +@@ -982,7 +999,7 @@ _("CDX file does not list record ids. (Missing column 'u'.)\n")); + while (line_length != -1); + + /* Print results. */ +- int nrecords = hash_table_count (warc_cdx_dedup_table); ++ nrecords = hash_table_count (warc_cdx_dedup_table); + logprintf (LOG_VERBOSE, ngettext ("Loaded %d record from CDX.\n\n", + "Loaded %d records from CDX.\n\n", + nrecords), +@@ -1002,12 +1019,14 @@ _("CDX file does not list record ids. (Missing column 'u'.)\n")); + static struct warc_cdx_record * + warc_find_duplicate_cdx_record (char *url, char *sha1_digest_payload) + { ++ char *key; ++ struct warc_cdx_record *rec_existing; ++ int found; ++ + if (warc_cdx_dedup_table == NULL) + return NULL; + +- char *key; +- struct warc_cdx_record *rec_existing; +- int found = hash_table_get_pair (warc_cdx_dedup_table, sha1_digest_payload, ++ found = hash_table_get_pair (warc_cdx_dedup_table, sha1_digest_payload, + &key, &rec_existing); + + if (found && strcmp (rec_existing->url, url) == 0) +@@ -1079,11 +1098,13 @@ warc_init (void) + static void + warc_write_metadata (void) + { ++ char manifest_uuid [48]; ++ FILE * warc_tmp_fp; ++ + /* If there are multiple WARC files, the metadata should be written to a separate file. */ + if (opt.warc_maxsize > 0) + warc_start_new_file (true); + +- char manifest_uuid [48]; + warc_uuid_str (manifest_uuid); + + fflush (warc_manifest_fp); +@@ -1093,7 +1114,7 @@ warc_write_metadata (void) + warc_manifest_fp, -1); + /* warc_write_resource_record has closed warc_manifest_fp. */ + +- FILE * warc_tmp_fp = warc_tempfile (); ++ warc_tmp_fp = warc_tempfile (); + if (warc_tmp_fp == NULL) + { + logprintf (LOG_NOTQUIET, _("Could not open temporary WARC file.\n")); +@@ -1148,10 +1169,11 @@ FILE * + warc_tempfile (void) + { + char filename[100]; ++ int fd; + if (path_search (filename, 100, opt.warc_tempdir, "wget", true) == -1) + return NULL; + +- int fd = mkstemp (filename); ++ fd = mkstemp (filename); + if (fd < 0) + return NULL; + +@@ -1210,8 +1232,10 @@ warc_write_cdx_record (const char *url, const char *timestamp_str, + off_t offset, const char *warc_filename, + const char *response_uuid) + { +- /* Transform the timestamp. */ + char timestamp_str_cdx [15]; ++ const char *checksum; ++ ++ /* Transform the timestamp. */ + memcpy (timestamp_str_cdx , timestamp_str , 4); /* "YYYY" "-" */ + memcpy (timestamp_str_cdx + 4, timestamp_str + 5, 2); /* "mm" "-" */ + memcpy (timestamp_str_cdx + 6, timestamp_str + 8, 2); /* "dd" "T" */ +@@ -1221,7 +1245,6 @@ warc_write_cdx_record (const char *url, const char *timestamp_str, + timestamp_str_cdx[14] = '\0'; + + /* Rewrite the checksum. */ +- const char *checksum; + if (payload_digest != NULL) + checksum = payload_digest + 5; /* Skip the "sha1:" */ + else +@@ -1235,7 +1258,7 @@ warc_write_cdx_record (const char *url, const char *timestamp_str, + /* Print the CDX line. */ + fprintf (warc_current_cdx_file, "%s %s %s %s %d %s %s - %ld %s %s\n", url, + timestamp_str_cdx, url, mime_type, response_code, checksum, +- redirect_location, offset, warc_current_filename, response_uuid); ++ redirect_location, (long int)offset, warc_current_filename, response_uuid); + fflush (warc_current_cdx_file); + + return true; +@@ -1260,10 +1283,11 @@ warc_write_revisit_record (char *url, char *timestamp_str, + char *refers_to, ip_address *ip, FILE *body) + { + char revisit_uuid [48]; +- warc_uuid_str (revisit_uuid); +- + char *block_digest = NULL; + char sha1_res_block[SHA1_DIGEST_SIZE]; ++ ++ warc_uuid_str (revisit_uuid); ++ + sha1_stream (body, sha1_res_block); + block_digest = warc_base32_sha1_digest (sha1_res_block); + +@@ -1314,6 +1338,9 @@ warc_write_response_record (char *url, char *timestamp_str, + char sha1_res_block[SHA1_DIGEST_SIZE]; + char sha1_res_payload[SHA1_DIGEST_SIZE]; + ++ char response_uuid [48]; ++ off_t offset; ++ + if (opt.warc_digests_enabled) + { + /* Calculate the block and payload digests. */ +@@ -1357,11 +1384,10 @@ warc_write_response_record (char *url, char *timestamp_str, + + /* Not a revisit, just store the record. */ + +- char response_uuid [48]; + warc_uuid_str (response_uuid); + + fseeko (warc_current_file, 0L, SEEK_END); +- off_t offset = ftello (warc_current_file); ++ offset = ftello (warc_current_file); + + warc_write_start_record (); + warc_write_header ("WARC-Type", "response"); +-- +1.8.3.4 + diff --git a/net-misc/wget/patches/wget-1.14-pod-fixes.patch b/net-misc/wget/patches/wget-1.14-pod-fixes.patch new file mode 100644 index 000000000..54e985624 --- /dev/null +++ b/net-misc/wget/patches/wget-1.14-pod-fixes.patch @@ -0,0 +1,81 @@ +diff -Naur wget-1.14.orig/doc/wget.texi wget-1.14.new/doc/wget.texi +--- wget-1.14.orig/doc/wget.texi 2012-08-04 02:41:52.000000000 -0600 ++++ wget-1.14.new/doc/wget.texi 2013-05-26 11:18:52.986107183 -0600 +@@ -876,7 +876,7 @@ + actions of one. + + @cindex proxy +-@itemx --no-proxy ++@item --no-proxy + Don't use proxies, even if the appropriate @code{*_proxy} environment + variable is defined. + +@@ -977,7 +977,7 @@ + whose encoding does not match the one used locally. + + @cindex IPv6 +-@itemx -4 ++@item -4 + @itemx --inet4-only + @itemx -6 + @itemx --inet6-only +@@ -2106,32 +2106,32 @@ + + + @table @asis +-@item 0 ++@item C<0> + No problems occurred. + +-@item 1 ++@item C<1> + Generic error code. + +-@item 2 ++@item C<2> + Parse error---for instance, when parsing command-line options, the + @samp{.wgetrc} or @samp{.netrc}... + +-@item 3 ++@item C<3> + File I/O error. + +-@item 4 ++@item C<4> + Network failure. + +-@item 5 ++@item C<5> + SSL verification failure. + +-@item 6 ++@item C<6> + Username/password authentication failure. + +-@item 7 ++@item C<7> + Protocol errors. + +-@item 8 ++@item C<8> + Server issued an error response. + @end table + +@@ -3094,7 +3094,7 @@ + Change setting of passive @sc{ftp}, equivalent to the + @samp{--passive-ftp} option. + +-@itemx password = @var{string} ++@item password = @var{string} + Specify password @var{string} for both @sc{ftp} and @sc{http} file retrieval. + This command can be overridden using the @samp{ftp_password} and + @samp{http_password} command for @sc{ftp} and @sc{http} respectively. +@@ -3605,7 +3605,7 @@ + may be specified from within Wget itself. + + @table @samp +-@itemx --no-proxy ++@item --no-proxy + @itemx proxy = on/off + This option and the corresponding command may be used to suppress the + use of proxy, even if the appropriate environment variables are set. diff --git a/net-misc/wget/patches/wget-1.14.patch b/net-misc/wget/patches/wget-1.14.patch new file mode 100644 index 000000000..2ec0a3aef --- /dev/null +++ b/net-misc/wget/patches/wget-1.14.patch @@ -0,0 +1,90 @@ +diff --git a/configure.ac b/configure.ac +index 873c3c9..45d6602 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -161,6 +161,7 @@ AC_HEADER_STDBOOL + AC_CHECK_HEADERS(unistd.h sys/time.h) + AC_CHECK_HEADERS(termios.h sys/ioctl.h sys/select.h utime.h sys/utime.h) + AC_CHECK_HEADERS(stdint.h inttypes.h pwd.h wchar.h) ++AC_CHECK_HEADERS(arpa/inet.h) + + AC_CHECK_DECLS(h_errno,,,[#include ]) + +diff --git a/m4/wget.m4 b/m4/wget.m4 +index 02d0cf9..33825e2 100644 +--- a/m4/wget.m4 ++++ b/m4/wget.m4 +@@ -88,6 +88,7 @@ AC_DEFUN([WGET_POSIX_CLOCK], [ + + dnl Check whether we need to link with -lnsl and -lsocket, as is the + dnl case on e.g. Solaris. ++dnl Haiku needs libnetwork + + AC_DEFUN([WGET_NSL_SOCKET], [ + dnl On Solaris, -lnsl is needed to use gethostbyname. But checking +@@ -107,6 +108,8 @@ AC_DEFUN([WGET_NSL_SOCKET], [ + AC_CHECK_LIB(nsl, $wget_check_in_nsl) + fi + AC_CHECK_LIB(socket, socket) ++ AC_CHECK_LIB(network, gethostbyname) ++ AC_CHECK_LIB(network, socket) + ]) + + +diff --git a/src/config.h.in b/src/config.h.in +index 123560b..30a98f9 100644 +--- a/src/config.h.in ++++ b/src/config.h.in +@@ -656,6 +656,9 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_LANGINFO_H + ++/* Define to 1 if you have the `bind' library (-lbind). */ ++#undef HAVE_LIBBIND ++ + /* Define to 1 if you have the `dl' library (-ldl). */ + #undef HAVE_LIBDL + +@@ -668,6 +671,9 @@ + /* Define if you have the libgnutls library. */ + #undef HAVE_LIBGNUTLS + ++/* Define to 1 if you have the `network' library (-lnetwork). */ ++#undef HAVE_LIBNETWORK ++ + /* Define to 1 if you have the `gpg-error' library (-lgpg-error). */ + #undef HAVE_LIBGPG_ERROR + +diff --git a/src/connect.c b/src/connect.c +index 119ccb7..7237484 100644 +--- a/src/connect.c ++++ b/src/connect.c +@@ -46,7 +46,7 @@ as that of the covered work. */ + # include + # endif /* def __VMS [else] */ + # include +-# ifndef __BEOS__ ++# ifdef HAVE_ARPA_INET_H + # include + # endif + #endif /* not WINDOWS */ +diff --git a/src/host.h b/src/host.h +index 3f27ea0..3cd3ed9 100644 +--- a/src/host.h ++++ b/src/host.h +@@ -42,9 +42,9 @@ as that of the covered work. */ + # endif /* def __VMS [else] */ + # include + # include +-#ifndef __BEOS__ +-# include +-#endif ++# ifdef HAVE_ARPA_INET_H ++# include ++# endif + #endif + + struct url; +-- +1.8.3.4 + diff --git a/net-misc/wget/wget-1.12.recipe b/net-misc/wget/wget-1.12.recipe deleted file mode 100644 index 88030be1d..000000000 --- a/net-misc/wget/wget-1.12.recipe +++ /dev/null @@ -1,26 +0,0 @@ -DESCRIPTION="wget" -HOMEPAGE="http://www.gnu.org/software/wget" -SRC_URI="http://ftp.gnu.org/gnu/wget/wget-1.12.tar.gz" -CHECKSUM_MD5="141461b9c04e454dc8933c9d1f2abf83" -REVISION="1" -STATUS_HAIKU="broken" -DEPEND="" -BUILD() -{ - cd wget-1.12 - libtoolize --force --copy --install - aclocal -I m4 - autoconf - ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ - --disable-nls --disable-ipv6 - make -} - -INSTALL() -{ - cd wget-1.12 - make install -} - -LICENSE="GNU GPL v3" -COPYRIGHT="2009 Free Software Foundation" diff --git a/net-misc/wget/wget-1.13.4.recipe b/net-misc/wget/wget-1.13.4.recipe deleted file mode 100644 index 8b3a0e2f3..000000000 --- a/net-misc/wget/wget-1.13.4.recipe +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION="wget" -HOMEPAGE="http://www.gnu.org/software/wget" -SRC_URI="http://ftp.gnu.org/gnu/wget/wget-1.13.4.tar.gz" -CHECKSUM_MD5="1df489976a118b9cbe1b03502adbfc27" -REVISION="1" -STATUS_HAIKU="broken" -DEPEND="" -BUILD() -{ - cd wget-1.13.4 - ./configure --prefix=`finddir B_COMMON_DIRECTORY` --with-ssl=openssl - make -} - -INSTALL() -{ - cd wget-1.13.4 - make install -} - -LICENSE="GNU GPL v3" -COPYRIGHT="1996-2011 Free Software Foundation" diff --git a/net-misc/wget/wget-1.14.recipe b/net-misc/wget/wget-1.14.recipe new file mode 100644 index 000000000..473a1f779 --- /dev/null +++ b/net-misc/wget/wget-1.14.recipe @@ -0,0 +1,73 @@ +SUMMARY="wget is a tool for downloading files from the internet" +DESCRIPTION=" + wget is a tool that can download files from the internet through + protocols such as HTTP, HTTPS and FTP. wget is non-interactive, + so it can be called from scripts. + " +HOMEPAGE="http://www.gnu.org/software/wget" +SRC_URI="http://ftp.gnu.org/gnu/wget/wget-1.14.tar.gz" +CHECKSUM_MD5="12edc291dba8127f2e9696e69f36299e" +LICENSE="GNU GPL v3" +COPYRIGHT="1996-2012 Free Software Foundation" +REVISION="1" +ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + wget$secondaryArchSuffix = $portVersion + cmd:wget$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libcrypto$secondaryArchSuffix + lib:libssl$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:libcrypto$secondaryArchSuffix + devel:libssl$secondaryArchSuffix + devel:libz$secondaryArchSuffix >= 1.2.3 + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:aclocal + cmd:autoconf + cmd:libtoolize + cmd:make + cmd:makeinfo + cmd:pod2man + " + +USER_SETTINGS_FILES=" + settings/wgetrc + " + +PATCHES=" + wget-1.14.patch + wget-1.14-build-fixes.patch + wget-1.14-pod-fixes.patch + " + +BUILD() +{ + libtoolize --force --copy --install + aclocal -I m4 + autoconf + runConfigure ./configure --with-ssl=openssl + make +} + +INSTALL() +{ + make install +} + +TEST() +{ + [ -d .git ] && mv .git .git-temp + make check || true + [ -d .git-temp ] && mv .git-temp .git +} diff --git a/sys-apps/which/which-2.20.recipe b/sys-apps/which/which-2.20.recipe index acbdd52e3..8df104316 100644 --- a/sys-apps/which/which-2.20.recipe +++ b/sys-apps/which/which-2.20.recipe @@ -5,7 +5,7 @@ LICENSE="GNU GPL v2" SRC_URI="http://ftp.gnu.org/gnu/which/which-2.20.tar.gz" CHECKSUM_MD5="95be0501a466e515422cde4af46b2744" REVISION="2" -ARCHITECTURES="x86_gcc2 x86" +ARCHITECTURES="x86_gcc2 x86 x86_64" PATCHES="which-2.20.patch" diff --git a/sys-block/parted/parted-3.1.53_git.recipe b/sys-block/parted/parted-3.1.53_git.recipe new file mode 100644 index 000000000..1b699ef66 --- /dev/null +++ b/sys-block/parted/parted-3.1.53_git.recipe @@ -0,0 +1,51 @@ +SUMMARY="parted" +DESCRIPTION="parted partition editor" +HOMEPAGE="http://www.gnu.org/software/parted" +SRC_URI="git://git.debian.org/git/parted/parted.git" +#CHECKSUM_MD5="" +REVISION="1" +LICENSE="GNU GPL v3" +COPYRIGHT="" + +ARCHITECTURES="!x86_gcc2 !x86 !x86_64" +SECONDARY_ARCHITECTURES="!x86_gcc2 !x86" + +PROVIDES=" + parted$secondaryArchSuffix = $portVersion + cmd:parted$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " + +BUILD_REQUIRES=" + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:git + cmd:autoconf + cmd:libtool + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:gperf + cmd:rsync + cmd:gettext + " + +#PATCHES="parted.patch" + +# TODO: Fix libdl test in configure.ac +BUILD() +{ + ./bootstrap + runConfigure ./configure --disable-dynamic-loading + make +} + +INSTALL() +{ + make install +} + diff --git a/sys-devel/binutils/binutils-2.17_2013_04_21.recipe b/sys-devel/binutils/binutils-2.17_2013_04_21.recipe index b2db590e1..384391eaa 100644 --- a/sys-devel/binutils/binutils-2.17_2013_04_21.recipe +++ b/sys-devel/binutils/binutils-2.17_2013_04_21.recipe @@ -1,6 +1,6 @@ SUMMARY="The GNU assembler, linker and binary utilities" HOMEPAGE="http://www.gnu.org/software/binutils" -SRC_URI="git+git://github.com/haiku/BuildtoolsPM.git#ab0f66e" +SRC_URI="git+git://github.com/haiku/buildtools.git#ab0f66e" REVISION="2" LICENSE=" GNU GPL v2 diff --git a/sys-devel/binutils/binutils-2.23.2_2013_04_09.recipe b/sys-devel/binutils/binutils-2.23.2_2013_04_09.recipe index 3db357b10..42a3d32d1 100644 --- a/sys-devel/binutils/binutils-2.23.2_2013_04_09.recipe +++ b/sys-devel/binutils/binutils-2.23.2_2013_04_09.recipe @@ -2,7 +2,7 @@ SUMMARY="Assembler, linker and binary tools for target ${targetMachineTriple}" HOMEPAGE="http://www.gnu.org/software/binutils" SRC_URI=" - git+git://github.com/haiku/BuildtoolsPM.git#db2a6d28f6c6a92cfb1c619b0828dfbf6b87ca30" + git+git://github.com/haiku/buildtools.git#db2a6d28f6c6a92cfb1c619b0828dfbf6b87ca30" REVISION="2" LICENSE=" GNU GPL v2 diff --git a/sys-devel/gcc/gcc-2.95.3_2013_08_12.recipe b/sys-devel/gcc/gcc-2.95.3_2013_08_12.recipe index 79349b7c1..ddb717d77 100644 --- a/sys-devel/gcc/gcc-2.95.3_2013_08_12.recipe +++ b/sys-devel/gcc/gcc-2.95.3_2013_08_12.recipe @@ -7,8 +7,8 @@ LICENSE=" " COPYRIGHT="1988-2000 Free Software Foundation, Inc." SRC_URI=" - git+file://$portBaseDir/../binutils/download/BuildtoolsPM.git#2d0a2c6404ffae1a46eb7e74daab08099b45af2c - git+git://github.com/haiku/BuildtoolsPM.git#2d0a2c6404ffae1a46eb7e74daab08099b45af2c + git+file://$portBaseDir/../binutils/download/buildtools.git#2d0a2c6404ffae1a46eb7e74daab08099b45af2c + git+git://github.com/haiku/buildtools.git#2d0a2c6404ffae1a46eb7e74daab08099b45af2c " REVISION="1" ARCHITECTURES="x86_gcc2" diff --git a/sys-devel/gcc/gcc-4.7.3_2013_08_12.recipe b/sys-devel/gcc/gcc-4.7.3_2013_08_12.recipe index e8a2c5797..0e134cf65 100644 --- a/sys-devel/gcc/gcc-4.7.3_2013_08_12.recipe +++ b/sys-devel/gcc/gcc-4.7.3_2013_08_12.recipe @@ -7,8 +7,8 @@ LICENSE=" " COPYRIGHT="1988-2013 Free Software Foundation, Inc." SRC_URI=" - git+file://$portBaseDir/../binutils/download/BuildtoolsPM.git#2d0a2c6404ffae1a46eb7e74daab08099b45af2c - git+git://github.com/haiku/BuildtoolsPM.git#2d0a2c6404ffae1a46eb7e74daab08099b45af2c + git+file://$portBaseDir/../binutils/download/buildtools.git#2d0a2c6404ffae1a46eb7e74daab08099b45af2c + git+git://github.com/haiku/buildtools.git#2d0a2c6404ffae1a46eb7e74daab08099b45af2c " REVISION="4" ARCHITECTURES="x86 x86_64" diff --git a/sys-devel/jam/jam-2.5_2012_10_12.recipe b/sys-devel/jam/jam-2.5_2012_10_12.recipe index 7479d30b2..713fa098f 100644 --- a/sys-devel/jam/jam-2.5_2012_10_12.recipe +++ b/sys-devel/jam/jam-2.5_2012_10_12.recipe @@ -19,8 +19,8 @@ HOMEPAGE="http://www.perforce.com/jam/jam.html" LICENSE="Jam" COPYRIGHT="1993-2003 Christopher Seiwald" SRC_URI=" - git+file://$portBaseDir/../binutils/download/BuildtoolsPM.git#278de7bc9243876c2e08f8d6a243d510c5000462 - git+git://github.com/haiku/BuildtoolsPM.git#278de7bc9243876c2e08f8d6a243d510c5000462 + git+file://$portBaseDir/../binutils/download/buildtools.git#278de7bc9243876c2e08f8d6a243d510c5000462 + git+git://github.com/haiku/buildtools.git#278de7bc9243876c2e08f8d6a243d510c5000462 " REVISION="1" ARCHITECTURES="x86_gcc2 x86 x86_64" diff --git a/sys-libs/mesa/mesa-10.0.0.recipe b/sys-libs/mesa/mesa-10.0.0.recipe index cf62a9dc2..493995545 100644 --- a/sys-libs/mesa/mesa-10.0.0.recipe +++ b/sys-libs/mesa/mesa-10.0.0.recipe @@ -9,7 +9,7 @@ COPYRIGHT="1999-2013 Brian Paul All Rights Reserved." LICENSE="MIT" SRC_URI="ftp://ftp.freedesktop.org/pub/mesa/10.0/MesaLib-10.0.0.tar.bz2" CHECKSUM_MD5="f3fe55d9735bea158bbe97ed9a0da819" -REVISION="1" +REVISION="2" ARCHITECTURES="x86 x86_64" if [ $effectiveTargetArchitecture != x86_gcc2 ]; then # x86_gcc2 is fine as primary target architecture as long as we're building @@ -20,12 +20,13 @@ SECONDARY_ARCHITECTURES="x86" PROVIDES=" mesa$secondaryArchSuffix = $portVersion compat >= 10.0 - lib:libGL$secondaryArchSuffix = $portVersion compat >= 10.0 + lib:libGL$secondaryArchSuffix " REQUIRES=" haiku$secondaryArchSuffix >= $haikuVersion " BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion " # We're locked to LLVM 3.2 as 3.3 is broken at the moment on Haiku. @@ -33,7 +34,6 @@ BUILD_REQUIRES=" # As LLVM is only linked into the swpipe renderer (and not libGL) # changing LLVM versions shouldn't introduce any abi issues. BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel >= $haikuVersion libxml2_python llvm == 3.2 cmd:bison diff --git a/sys-libs/mesa/mesa-7.9.2.recipe b/sys-libs/mesa/mesa-7.9.2.recipe new file mode 100644 index 000000000..ae5a26b99 --- /dev/null +++ b/sys-libs/mesa/mesa-7.9.2.recipe @@ -0,0 +1,118 @@ +SUMMARY="Multi-platform GL implementation" +DESCRIPTION="Mesa is an open-source implementation of the OpenGL specification. + The OpenGL specification documents a system for rendering interactive 3D graphics. + + Mesa fills the role of the Haiku OpenGL kit providing 3D rendering to Haiku applications. + " +HOMEPAGE="http://www.mesa3d.org/" +COPYRIGHT="1999-2013 Brian Paul All Rights Reserved." +LICENSE="MIT" +# remember to update SOURCE_DIR as well for the -X revision +SRC_URI="https://github.com/kallisti5/mesa/archive/7.9.2-3.tar.gz" +CHECKSUM_MD5="1f7d846ea2982ffa175c906443aaabd3" +REVISION="1" +ARCHITECTURES="x86_gcc2" +if [ $effectiveTargetArchitecture != x86 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86" +fi +SECONDARY_ARCHITECTURES="?x86_gcc2" + +PROVIDES=" + mesa$secondaryArchSuffix = $portVersion compat >= 7.9 + lib:libGL$secondaryArchSuffix + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + " + +BUILD_PREREQUIRES=" + libxml2_python + cmd:bison + cmd:find + cmd:flex + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:python + cmd:make + cmd:sed + " + +SOURCE_DIR="mesa-7.9.2-3" + +BUILD() +{ + if [ -n "$secondaryArchSuffix" ]; then + export HAIKU_SECONDARY_ARCH="$effectiveTargetArchitecture" + fi + #make DEBUG=1 haiku $jobArgs + make haiku $jobArgs +} + +INSTALL() +{ + # libGL.so makes up the core of our OpenGL kit + mkdir -p $libDir + cp $(find ./lib/ -name 'libGL.so') $libDir + + # Our rendering add-on + mkdir -p $addOnsDir/opengl + cp $(find ./lib/ -name 'libswrast.so') \ + "$addOnsDir/opengl/Legacy Software Rasterizer" + + # OpenGL Kit + mkdir -p $includeDir/os/opengl/GL + cp ./include/HaikuGL/OpenGLKit.h $includeDir/os/ + cp ./include/HaikuGL/GLView.h $includeDir/os/opengl/ + cp ./include/HaikuGL/GLRenderer.h $includeDir/os/opengl/ + + # Standard GL headers + cp ./include/GL/gl.h $includeDir/os/opengl/GL/ + cp ./include/GL/gl_mangle.h $includeDir/os/opengl/GL/ + cp ./include/GL/glext.h $includeDir/os/opengl/GL/ + + # Symlink GL in kit to system GL directory + cd $includeDir + ln -snf os/opengl/GL GL + + # devel package + packageEntries devel \ + $developDir + + # swrast renderer package + packageEntries swrast \ + "$addOnsDir/opengl/Legacy Software Rasterizer" +} + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + mesa${secondaryArchSuffix}_devel = $portVersion + devel:libGL${secondaryArchSuffix} = $portVersion + " + +REQUIRES_devel=" + mesa${secondaryArchSuffix} == $portVersion base + " + +# ===== Mesa OpenGL Add-ons ================================================== +# ----- swrast package ------------------------------------------------------- + +SUMMARY_swrast="Mesa legacy software rasterization renderer" +DESCRIPTION_swrast="This 3D BGLRenderer add-on provides Mesa software + rasterization on Haiku systems. Software rasterization performs all + 3D rendering on the systems CPU and doesn't require any specialized + hardware. Software rasterization is generally considered a fallback + 3D rendering method as performance is limited. + " +PROVIDES_swrast=" + mesa${secondaryArchSuffix}_swrast = $portVersion + " +REQUIRED_swrast=" + mesa$secondaryArchSuffix == $portVersion base + " diff --git a/www-client/links/links-2.8.recipe b/www-client/links/links-2.8.recipe new file mode 100644 index 000000000..d501db8ff --- /dev/null +++ b/www-client/links/links-2.8.recipe @@ -0,0 +1,69 @@ +SUMMARY="links web browser" +DESCRIPTION="links web browser" +HOMEPAGE="http://links.twibright.com/" +SRC_URI="http://links.twibright.com/download/links-2.8.tar.gz" +REVISION="1" +CHECKSUM_MD5="34c67f980105643fc6cd63a14acc626f" +LICENSE="GNU GPL v2" +COPYRIGHT="1999 - 2011 Mikulas Patocka + 2000 - 2011 Petr Kulhavy, Karel Kulhavy, Martin Pergel" + + +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" + +PROVIDES=" + links$secondaryArchSuffix = $portVersion + cmd:links$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libpng$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix +# lib:libtiff$secondaryArchSuffix + lib:libz$secondaryArchSuffix + openssl$secondaryArchSuffix >= 1.0.0 + " + +BUILD_REQUIRES=" +# devel:libGL$secondaryArchSuffix + devel:libglu$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix +# devel:libtiff$secondaryArchSuffix + devel:libz$secondaryArchSuffix >= 1.2.8 + openssl${secondaryArchSuffix}_devel >= 1.0.0 + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:autoconf + cmd:libtool + cmd:aclocal + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + " + +PATCHES="links-2.8.patch" + +BUILD() +{ + aclocal + automake --add-missing + autoheader + automake + autoconf + runConfigure ./configure \ + --without-x \ + --enable-graphics + make +} + +INSTALL() +{ + make install + addAppDeskbarSymlink $binDir/links Links +} + diff --git a/www-client/links/patches/links-2.8.patch b/www-client/links/patches/links-2.8.patch new file mode 100644 index 000000000..c548ab300 --- /dev/null +++ b/www-client/links/patches/links-2.8.patch @@ -0,0 +1,1386 @@ +diff -urN links-2.8.org/acconfig.h links-2.8/acconfig.h +--- links-2.8.org/acconfig.h 2013-08-03 18:22:59.028311552 +0200 ++++ links-2.8/acconfig.h 2013-12-12 20:39:35.528744448 +0100 +@@ -179,6 +179,9 @@ + #undef GRDRV_ATHEOS + + /* */ ++#undef GRDRV_HAIKU ++ ++/* */ + #undef GRDRV_GRX + + /* */ +diff -urN links-2.8.org/beos.c links-2.8/beos.c +--- links-2.8.org/beos.c 2013-01-23 05:52:02.030670848 +0100 ++++ links-2.8/beos.c 2013-12-12 19:10:01.005242880 +0100 +@@ -3,7 +3,7 @@ + * This file is a part of the Links program, released under GPL + */ + +-#if defined(__BEOS__) || defined(__HAIKU__) ++#if defined(__BEOS__) + + #include "com-defs.h" + +diff -urN links-2.8.org/configure.in links-2.8/configure.in +--- links-2.8.org/configure.in 2013-09-17 02:11:46.046137344 +0200 ++++ links-2.8/configure.in 2013-12-13 00:05:02.135004160 +0100 +@@ -13,7 +13,7 @@ + AUTOHEADER="./missing autoheader" + image_formats="GIF PNG XBM" + +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADER(config.h) + + dnl Checks for programs. + AC_PROG_CC +@@ -577,10 +577,10 @@ + + AC_CHECK_FUNC(socket, cf_result=yes, cf_result=no) + if test "$cf_result" = no; then +- AC_CHECK_LIB(socket, socket) +- if test "$ac_cv_lib_socket_socket" = no; then +- AC_CHECK_LIB(network, socket) +- if test "$ac_cv_lib_network_socket" = no; then ++ AC_CHECK_LIB(network, socket) ++ if test "$ac_cv_lib_network_socket" = no; then ++ AC_CHECK_LIB(socket, socket) ++ if test "$ac_cv_lib_socket_socket" = no; then + AC_CHECK_LIB(watt, socket) + if test "$ac_cv_lib_watt_socket" = no; then + AC_ERROR([socket function not present]) +@@ -722,6 +722,7 @@ + AC_DEFINE(HAVE_BEGINTHREAD) + fi + AC_CHECK_HEADERS(atheos/threads.h) ++AC_CHECK_HEADERS(kernel/OS.h) + AC_HAVE_FUNCS(spawn_thread) + AC_HAVE_FUNCS(resume_thread) + +@@ -876,6 +877,7 @@ + + + cf_have_atheos=no ++cf_have_haiku=no + + if test "$cf_use_graphics" != no; then + AC_DEFINE(G) +@@ -888,6 +890,7 @@ + AC_ARG_WITH(pmshell, [ --without-pmshell compile without PMShell graphics driver],[if test "$withval" = no; then disable_pmshell=yes; else disable_pmshell=no; fi]) + AC_ARG_WITH(windows, [ --without-windows compile without Windows graphics driver],[if test "$withval" = no; then disable_windows=yes; else disable_windows=no; fi]) + AC_ARG_WITH(atheos, [ --without-atheos compile without Atheos graphics driver],[if test "$withval" = no; then disable_atheos=yes; else disable_atheos; fi]) ++AC_ARG_WITH(haiku, [ --without-haiku compile without Haiku/BeOS graphics driver],[if test "$withval" = no; then disable_haiku=yes; else disable_haiku=no; fi]) + AC_ARG_WITH(grx, [ --without-grx compile without DOS GRX graphics driver],[if test "$withval" = no; then disable_grx=yes; else disable_grx; fi]) + + drivers="" +@@ -1124,6 +1127,31 @@ + fi + fi + ++if test "$disable_haiku" != yes ; then ++ old_ext="$ac_ext" ++ ac_ext=cpp ++ AC_CHECK_HEADERS(interface/View.h) ++ AC_CHECK_HEADERS(interface/Window.h) ++ AC_CHECK_HEADERS(interface/Screen.h) ++ AC_CHECK_HEADERS(interface/Bitmap.h) ++ AC_CHECK_HEADERS(support/Locker.h) ++ AC_CHECK_HEADERS(app/Application.h) ++ ac_ext="$old_ext" ++ ++ if test "$ac_cv_header_kernel_OS_h" = yes && ++ test "$ac_cv_header_interface_View_h" = yes && ++ test "$ac_cv_header_interface_Window_h" = yes && ++ test "$ac_cv_header_interface_Screen_h" = yes && ++ test "$ac_cv_header_interface_Bitmap_h" = yes && ++ test "$ac_cv_header_support_Locker_h" = yes && ++ test "$ac_cv_header_app_Application_h" = yes; then ++ AC_PROG_CXX ++ AC_DEFINE(GRDRV_HAIKU) ++ drivers="$drivers HAIKU" ++ cf_have_haiku=yes ++ fi ++fi ++ + if test "$disable_grx" != yes -a "$ac_cv_have_djgpp" = yes; then + LIBS_X="$LIBS" + AC_CHECK_HEADERS(grx20.h) +@@ -1230,6 +1258,7 @@ + + + AM_CONDITIONAL(ATHEOS_GR, test "$cf_have_atheos" = yes) ++AM_CONDITIONAL(HAIKU_GR, test "$cf_have_haiku" = yes) + + test "$ac_cv_have_emx" = yes && LDFLAGS="$LDFLAGS -Zexe" + +diff -urN links-2.8.org/drivers.c links-2.8/drivers.c +--- links-2.8.org/drivers.c 2013-08-12 23:15:36.026214400 +0200 ++++ links-2.8/drivers.c 2013-12-12 20:42:12.595329024 +0100 +@@ -31,6 +31,9 @@ + #ifdef GRDRV_ATHEOS + extern struct graphics_driver atheos_driver; + #endif ++#ifdef GRDRV_HAIKU ++extern struct graphics_driver haiku_driver; ++#endif + #ifdef GRDRV_GRX + extern struct graphics_driver grx_driver; + #endif +@@ -51,6 +54,9 @@ + #ifdef GRDRV_ATHEOS + &atheos_driver, + #endif ++#ifdef GRDRV_HAIKU ++ &haiku_driver, ++#endif + #ifndef SPAD + #ifdef GRDRV_X + &x_driver, +diff -urN links-2.8.org/haiku.cpp links-2.8/haiku.cpp +--- links-2.8.org/haiku.cpp 1970-01-01 01:00:00.000000000 +0100 ++++ links-2.8/haiku.cpp 2013-12-13 00:23:09.939786240 +0100 +@@ -0,0 +1,890 @@ ++/* haiku.cpp ++ * (c) 2007 François Revol ++ * This file is a part of the Links program, released under GPL ++ */ ++ ++#if defined __BEOS__ || defined __HAIKU__ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ++ * GUI code ++ */ ++ ++/* ++ * TODO: ++ * - BeOS doesn't handle BView::DrawBitmap() with RGB24, and links doesn't seem to handle RGB32, ++ * so the colorspace is forced into 16bpp for now. ++ * - more paste handling ? ++ * - more DnD (maybe check if in menu or not and prepend "g" ?) ++ * - handle DnD of Net+ bookmarks ++ */ ++ ++extern "C" { ++#include "cfg.h" ++} ++ ++#ifdef GRDRV_HAIKU ++ ++extern "C" { ++#include "links.h" ++} ++#undef B_ENTER ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++//#define DBG(l...) fprintf(stderr, l); ++#define DBG(l...) {} ++ ++/* ++#ifdef debug ++#undef debug ++#endif ++#define debug(x) ++#define fprintf(x, y) ++*/ ++ ++extern "C" struct graphics_driver haiku_driver; ++ ++class LinksApplication : public BApplication { ++ public: ++ LinksApplication():BApplication("application/x-vnd.links"){} ++ virtual void RefsReceived(BMessage *message); ++ virtual bool QuitRequested(); ++}; ++ ++class LinksView; ++ ++class LinksWindow : public BWindow { ++ public: ++ LinksWindow(BRect r); ++ ~LinksWindow(); ++ virtual void FrameResized(float width, float height); ++ virtual bool QuitRequested(); ++ int resized; ++ LinksView *view; ++}; ++ ++class LinksView : public BView { ++ public: ++ LinksView(LinksWindow *w); ++ ~LinksView(); ++ virtual void Draw(BRect r); ++ virtual void MouseDown(BPoint p); ++ virtual void MouseUp(BPoint p); ++ virtual void MouseMoved(BPoint p, uint32 transit, const BMessage *dragmsg); ++ virtual void KeyDown(const char *s, int32 numBytes); ++ virtual void MessageReceived(BMessage *msg); ++ LinksWindow *win; ++ struct graphics_device *dev; ++ void d_flush(); ++ int flushing; ++ int last_x, last_y; ++}; ++ ++#define lv(dev) ((LinksView *)(dev)->driver_data) ++ ++#define lock_dev(dev) do { if (!lv(dev)->win->Lock()) return; } while (0) ++#define lock_dev0(dev) do { if (!lv(dev)->win->Lock()) return 0; } while (0) ++#define unlock_dev(dev) do { lv(dev)->win->Unlock(); } while (0) ++ ++void be_get_size(struct graphics_device *dev); ++ ++#define detach_message(dev) \ ++ BMessage *current = Looper()->DetachCurrentMessage(); \ ++ if (current) { \ ++ current->AddPointer("linksdev", dev); \ ++ } ++ ++#define pipe_message(dev) \ ++ if (current) { \ ++ write(wpipe, ¤t, sizeof(current)); \ ++ } ++ ++#define detach_and_pipe_message(dev) do { \ ++ BMessage *current = Looper()->DetachCurrentMessage(); \ ++ if (current) { \ ++ current->AddPointer("linksdev", dev); \ ++ write(wpipe, ¤t, sizeof(current)); \ ++ } \ ++} while (0) ++ ++LinksApplication *be_links_app; ++BLocker *be_lock = NULL; ++ ++int msg_pipe[2]; ++ ++thread_id be_app_thread_id; ++ ++#define rpipe (msg_pipe[0]) ++#define wpipe (msg_pipe[1]) ++ ++#define small_color (sizeof(rgb_color) <= sizeof(long)) ++#define get_color32(c, rgb) rgb_color c((rgb_color){(rgb >> 16) & 255, (rgb >> 8) & 255, rgb & 255, 255}) ++ ++color_space be_cs_desktop, be_cs_bmp; ++ ++int be_x_size, be_y_size; ++ ++int be_win_x_size, be_win_y_size; ++int be_win_x_pos, be_win_y_pos; ++ ++static BMessage *initial_refs_msg; ++ ++void LinksApplication::RefsReceived(BMessage *message) ++{ ++ entry_ref ref; ++ //if (!IsLaunching()) ++ // return; ++ BMessenger msgr(WindowAt(0)); ++ BMessage *m = new BMessage(*message); ++ m->AddSpecifier("View", (long)0); ++ //m->what = B_SIMPLE_DATA; ++ if (msgr.IsValid()) { ++ msgr.SendMessage(m); ++ } else ++ initial_refs_msg = m; ++} ++ ++bool LinksApplication::QuitRequested() ++{ ++ BApplication::QuitRequested(); ++ //printf("qc: %ld\n", CountWindows()); ++ return true; ++} ++ ++LinksWindow::LinksWindow(BRect r):BWindow(r, "Links", B_DOCUMENT_WINDOW, 0) ++{ ++ DBG("LINKSWINDOW\n"); ++ resized = 0; ++ view = NULL; ++} ++ ++LinksWindow::~LinksWindow() ++{ ++ view = NULL; ++ DBG("~LINKSWINDOW\n"); ++} ++ ++void LinksWindow::FrameResized(float width, float height) ++{ ++ resized = 1; ++} ++ ++bool LinksWindow::QuitRequested() ++{ ++ detach_and_pipe_message(view->dev); ++ return false; ++} ++ ++void do_flush(void *p_dev) ++{ ++ struct graphics_device *dev = (struct graphics_device *)p_dev; ++ LinksView *v = lv(dev); ++ v->win->Lock(); ++ v->win->Flush(); ++ v->win->Unlock(); ++ v->flushing = 0; ++} ++ ++LinksView::LinksView(LinksWindow *w):BView(w->Bounds(), "Links", B_FOLLOW_ALL, B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE | B_NAVIGABLE) ++{ ++ DBG("LINKSVIEW\n"); ++ (win = w)->AddChild(this); ++ SetViewColor(B_TRANSPARENT_32_BIT); ++ MakeFocus(); ++ w->view = this; ++ flushing = 0; ++ last_x = last_y = 0; ++} ++ ++LinksView::~LinksView() ++{ ++ win->view = NULL; ++ DBG("~LINKSVIEW\n"); ++} ++ ++void LinksView::d_flush() ++{ ++ if (flushing) return; ++ register_bottom_half(do_flush, this->dev); ++ flushing = 1; ++} ++ ++#undef select ++ ++int be_loop_select(int n, fd_set *r, fd_set *w, fd_set *e, struct timeval *t) ++{ ++ int v; ++ v = select(n, r, w, e, t); ++ check_bottom_halves(); ++ return v; ++} ++ ++void be_paste_string(struct graphics_device *dev, const char *str) ++{ ++ unsigned char *s = (unsigned char *)str; ++ int c, i; ++ while (s && *s) { ++ GET_UTF_8(s, c); ++ if (dev) dev->keyboard_handler(dev, c, 0); ++ } ++} ++ ++void be_get_event(void *dummy) ++{ ++ BMessage *msg; ++ LinksView *view = NULL; ++ LinksWindow *win = NULL; ++ struct graphics_device *dev; ++ read(rpipe, &msg, sizeof(msg)); ++ DBG("GETE\n"); ++ if (!msg) ++ return; ++ if (msg->FindPointer("linksdev", (void **)&dev) < B_OK) ++ return; ++ if (dev) { ++ view = lv(dev); ++ if (view) ++ win = dynamic_cast(view->Window()); ++ } ++ switch (msg->what) { ++ case B_QUIT_REQUESTED: ++ if (dev) ++ dev->keyboard_handler(dev, KBD_CTRL_C, 0); ++ break; ++ case _UPDATE_: ++ { ++ BRect r; ++ if (msg->FindRect("updateRect", &r) < B_OK) ++ return; ++ struct rect rr; ++ rr.x1 = (int)r.left; ++ rr.x2 = (int)r.right + 1; ++ rr.y1 = (int)r.top; ++ rr.y2 = (int)r.bottom + 1; ++ /*DBG("paint: %d %d %d %d\n", rr.x1, rr.x2, rr.y1, rr.y2);*/ ++ if (dev) { ++ if (!win->resized) dev->redraw_handler(dev, &rr); ++ else { ++ be_get_size(dev); ++ win->resized = 0; ++ dev->resize_handler(dev); ++ } ++ } ++ check_bottom_halves(); ++ } ++ break; ++ case B_MOUSE_DOWN: ++ { ++ BPoint where; ++ int32 buttons; ++ int btn = B_LEFT; ++ if (msg->FindInt32("buttons", &buttons) != B_OK) ++ return; ++ if (msg->FindPoint("where", &where) != B_OK) ++ return; ++ if (buttons & B_PRIMARY_MOUSE_BUTTON) ++ btn = B_LEFT; ++ else if (buttons & B_SECONDARY_MOUSE_BUTTON) ++ btn = B_RIGHT; ++ else if (buttons & B_TERTIARY_MOUSE_BUTTON) ++ btn = B_MIDDLE; ++ else if (buttons & (B_TERTIARY_MOUSE_BUTTON << 1)) ++ btn = B_FOURTH; ++ else if (buttons & (B_TERTIARY_MOUSE_BUTTON << 2)) ++ btn = B_FIFTH; ++ else if (buttons & (B_TERTIARY_MOUSE_BUTTON << 3)) ++ btn = B_SIXTH; ++ if (dev) dev->mouse_handler(dev, view->last_x = (int)where.x, view->last_y = (int)where.y, B_DOWN | btn); ++ } ++ break; ++ case B_MOUSE_UP: ++ { ++ BPoint where; ++ int32 buttons; ++ int btn = B_LEFT; ++ if (msg->FindInt32("buttons", &buttons) != B_OK) ++ return; ++ if (msg->FindPoint("where", &where) != B_OK) ++ return; ++ if (buttons & ~B_PRIMARY_MOUSE_BUTTON == 0) ++ btn = B_LEFT; ++ else if (buttons & ~B_SECONDARY_MOUSE_BUTTON == 0) ++ btn = B_RIGHT; ++ else if (buttons & ~B_TERTIARY_MOUSE_BUTTON == 0) ++ btn = B_MIDDLE; ++ else if (buttons & ~(B_TERTIARY_MOUSE_BUTTON << 1) == 0) ++ btn = B_FOURTH; ++ else if (buttons & ~(B_TERTIARY_MOUSE_BUTTON << 2) == 0) ++ btn = B_FIFTH; ++ else if (buttons & ~(B_TERTIARY_MOUSE_BUTTON << 3) == 0) ++ btn = B_SIXTH; ++ if (dev) dev->mouse_handler(dev, view->last_x = (int)where.x, view->last_y = (int)where.y, B_UP | btn); ++ } ++ break; ++ case B_MOUSE_MOVED: ++ { ++ BPoint where; ++ int32 buttons; ++ int btn = B_LEFT; ++ if (msg->FindInt32("buttons", &buttons) != B_OK) ++ return; ++ if (msg->FindPoint("where", &where) != B_OK) ++ return; ++ if (buttons & B_PRIMARY_MOUSE_BUTTON) ++ btn = B_LEFT; ++ else if (buttons & B_SECONDARY_MOUSE_BUTTON) ++ btn = B_RIGHT; ++ else if (buttons & B_TERTIARY_MOUSE_BUTTON) ++ btn = B_MIDDLE; ++ else if (buttons & (B_TERTIARY_MOUSE_BUTTON << 1)) ++ btn = B_FOURTH; ++ else if (buttons & (B_TERTIARY_MOUSE_BUTTON << 2)) ++ btn = B_FIFTH; ++ else if (buttons & (B_TERTIARY_MOUSE_BUTTON << 3)) ++ btn = B_SIXTH; ++ if (dev) dev->mouse_handler(dev, view->last_x = (int)where.x, view->last_y = (int)where.y, !buttons ? B_MOVE : B_DRAG | btn); ++ } ++ break; ++ case B_KEY_DOWN: ++ { ++ int32 modifiers; ++ int32 numBytes; ++ const char *bytes; ++ int c; ++ int mods = 0; ++ if (msg->FindInt32("modifiers", &modifiers) != B_OK) ++ return; ++ if (msg->FindString("bytes", &bytes) != B_OK) ++ return; ++ unsigned char buf[4] = { 0, 0, 0, 0 }; ++ unsigned char *ss; ++ if (modifiers & (B_LEFT_CONTROL_KEY | B_RIGHT_CONTROL_KEY | B_LEFT_COMMAND_KEY | B_RIGHT_COMMAND_KEY)) { ++ int32 raw; ++ if (msg->FindInt32("raw_char", &raw) != B_OK) ++ return; ++ buf[0] = (unsigned char)raw; ++ ss = buf; ++ } else ++ ss = (unsigned char *)bytes; ++ ++ GET_UTF_8(ss, c); ++ switch (c) { ++ case B_BACKSPACE: c = KBD_BS; break; ++ case B_ENTER: c = KBD_ENTER; break; ++ case B_SPACE: c = ' '; break; ++ case B_TAB: c = KBD_TAB; break; ++ case B_ESCAPE: c = KBD_ESC; break; ++ case B_LEFT_ARROW: c = KBD_LEFT; break; ++ case B_RIGHT_ARROW: c = KBD_RIGHT; break; ++ case B_UP_ARROW: c = KBD_UP; break; ++ case B_DOWN_ARROW: c = KBD_DOWN; break; ++ case B_INSERT: c = KBD_INS; break; ++ case B_DELETE: c = KBD_DEL; break; ++ case B_HOME: c = KBD_HOME; break; ++ case B_END: c = KBD_END; break; ++ case B_PAGE_UP: c = KBD_PAGE_UP; break; ++ case B_PAGE_DOWN: c = KBD_PAGE_DOWN; break; ++ default: if (c < 32) c = 0; ++ else modifiers &= ~(B_LEFT_SHIFT_KEY|B_RIGHT_SHIFT_KEY); ++ break; ++ } ++ if (modifiers & (B_LEFT_SHIFT_KEY|B_RIGHT_SHIFT_KEY)) ++ mods |= KBD_SHIFT; ++ if (modifiers & (B_LEFT_CONTROL_KEY|B_RIGHT_CONTROL_KEY)) ++ mods |= KBD_CTRL; ++ if (modifiers & (B_LEFT_COMMAND_KEY|B_RIGHT_COMMAND_KEY)) ++ mods |= KBD_ALT; ++ if (c) if (dev) dev->keyboard_handler(dev, c, mods); ++ } ++ break; ++ case B_MOUSE_WHEEL_CHANGED: ++ { ++ float delta_x, delta_y; ++ if (msg->FindFloat("be:wheel_delta_x", &delta_x) != B_OK) ++ delta_x = 0; ++ if (msg->FindFloat("be:wheel_delta_y", &delta_y) != B_OK) ++ delta_y = 0; ++ if (delta_y) if (dev) dev->mouse_handler(dev, view->last_x, view->last_y, B_MOVE | (delta_y > 0 ? B_WHEELDOWN : B_WHEELUP)); ++ if (delta_x) if (dev) dev->mouse_handler(dev, view->last_x, view->last_y, B_MOVE | (delta_x < 0 ? B_WHEELLEFT : B_WHEELRIGHT)); ++ } ++ break; ++ case B_PASTE: ++ if (be_clipboard->Lock()) { ++ BMessage *data = be_clipboard->Data(); ++ if (data) { ++ const char *text_plain; ++ ssize_t len; ++ //data->PrintToStream(); ++ if (data->FindData("text/plain", B_MIME_TYPE, (const void **)&text_plain, &len) == B_OK) { ++ be_paste_string(dev, text_plain); ++ } ++ } ++ be_clipboard->Unlock(); ++ } ++ break; ++ case B_REFS_RECEIVED: ++ if (dev) ++ be_paste_string(dev, "\033\ng"); ++ /* FALLTHROUGH */ ++ case B_SIMPLE_DATA: ++ { ++ /* something got dropped */ ++ entry_ref ref; ++ const char *text_plain; ++ ssize_t len; ++ //msg->PrintToStream(); ++ /* try find a file path to paste */ ++ if (msg->FindRef("refs", &ref) == B_OK) { ++ BPath path(&ref); ++ if (path.InitCheck() == B_OK) { ++ BFile f(path.Path(), B_READ_ONLY); ++ BString url; ++ if (f.InitCheck() == B_OK && f.ReadAttrString("META:url", &url) >= B_OK) { ++ be_paste_string(dev, url.String()); ++ } else ++ be_paste_string(dev, path.Path()); ++ } ++ } else if (msg->FindData("text/plain", B_MIME_TYPE, (const void **)&text_plain, &len) == B_OK) { ++ be_paste_string(dev, text_plain); ++ } ++ } ++ break; ++ default: ++ msg->PrintToStream(); ++ break; ++ } ++ delete msg; ++} ++ ++void be_get_size(struct graphics_device *dev) ++{ ++ BRect r; ++ lock_dev(dev); ++ r = lv(dev)->Bounds(); ++ unlock_dev(dev); ++ dev->size.x1 = dev->size.y1 = 0; ++ dev->size.x2 = (int)r.Width() + 1; ++ dev->size.y2 = (int)r.Height() + 1; ++} ++ ++void LinksView::Draw(BRect r) ++{ ++ detach_message(dev); ++ current->AddRect("updateRect", r); ++ pipe_message(dev); ++} ++ ++ ++void LinksView::MouseDown(BPoint p) ++{ ++ detach_and_pipe_message(dev); ++} ++ ++void LinksView::MouseUp(BPoint p) ++{ ++ detach_and_pipe_message(dev); ++} ++ ++void LinksView::MouseMoved(BPoint p, uint32 transit, const BMessage *dragmsg) ++{ ++ detach_and_pipe_message(dev); ++} ++ ++void LinksView::MessageReceived(BMessage *msg) ++{ ++ switch (msg->what) { ++ case B_REFS_RECEIVED: ++ case B_MOUSE_WHEEL_CHANGED: ++ case B_PASTE: ++ case B_SIMPLE_DATA: ++ detach_and_pipe_message(dev); ++ break; ++ default: ++ BView::MessageReceived(msg); ++ } ++} ++ ++void LinksView::KeyDown(const char *s, int32 numBytes) ++{ ++ detach_and_pipe_message(dev); ++} ++ ++unsigned char *be_get_driver_param(void) ++{ ++ return NULL; ++} ++ ++int32 be_app_thread(void *p) ++{ ++ be_links_app->Lock(); ++ be_links_app->Run(); ++ delete be_links_app; ++ return 0; ++} ++ ++unsigned char *be_init_driver(unsigned char *param, unsigned char *display) ++{ ++ be_links_app = new LinksApplication(); ++ if (!be_links_app) { ++ return stracpy((unsigned char *)"Unable to allocate Application object.\n"); ++ } ++ if (c_pipe(msg_pipe)) { ++ delete be_links_app; ++ return stracpy((unsigned char *)"Could not create pipe.\n"); ++ } ++ fcntl(rpipe, F_SETFL, O_NONBLOCK); ++ fcntl(wpipe, F_SETFL, O_NONBLOCK); ++ set_handlers(rpipe, be_get_event, NULL, NULL, NULL); ++ be_app_thread_id = spawn_thread(be_app_thread, "links_app", B_NORMAL_PRIORITY, NULL); ++ resume_thread(be_app_thread_id); ++ be_links_app->Unlock(); ++ be_cs_desktop = B_NO_COLOR_SPACE; ++ be_x_size = 640; ++ be_y_size = 480; ++ BScreen d; ++ if (d.IsValid()) { ++ be_cs_desktop = d.ColorSpace(); ++ be_x_size = (int)d.Frame().Width() + 1; ++ be_y_size = (int)d.Frame().Height() + 1; ++ } ++ be_win_y_size = be_y_size * 9 / 10; ++ be_win_x_size = be_win_y_size; ++ /* ++ DBG("%d %d\n", be_x_size, be_y_size); ++ DBG("%d %d\n", be_win_x_size, be_win_y_size); ++ */ ++ be_win_y_pos = (be_y_size - be_win_y_size) / 2; ++ be_win_x_pos = be_x_size - be_win_x_size - be_win_y_pos; ++ if (/*be_cs_desktop == B_RGB32 ||*/ be_cs_desktop == B_RGB24 || be_cs_desktop == B_RGB16 || be_cs_desktop == B_RGB15) ++ be_cs_bmp = be_cs_desktop; ++ else if (be_cs_desktop == B_RGB32 || be_cs_desktop == B_RGBA32) be_cs_bmp = B_RGB24; ++ else be_cs_bmp = B_RGB15; ++ be_cs_bmp = B_RGB16; // XXX: DEBUG ++ switch (be_cs_bmp) { ++ case B_RGB24: ++ haiku_driver.depth = 0xc3; ++ break; ++ case B_RGB16: ++ haiku_driver.depth = 0x82; ++ break; ++ case B_RGB15: ++ haiku_driver.depth = 0x7a; ++ break; ++ default: ++ internal("unknown depth"); ++ } ++ return NULL; ++} ++ ++void be_shutdown_driver() ++{ ++ status_t ret; ++ //debug((unsigned char *)"D"); ++ close(rpipe); ++ close(wpipe); ++ set_handlers(rpipe, NULL, NULL, NULL, NULL); ++ //debug((unsigned char *)"DD"); ++ be_links_app->PostMessage(B_QUIT_REQUESTED); ++ //debug((unsigned char *)"E"); ++ wait_for_thread(be_app_thread_id, &ret); ++ //debug((unsigned char *)"F"); ++} ++ ++struct graphics_device *be_init_device() ++{ ++ LinksView *view; ++ LinksWindow *win; ++ struct graphics_device *dev = (struct graphics_device *)mem_calloc(sizeof(struct graphics_device)); ++ if (!dev) return NULL; ++ //dev->drv = &haiku_driver; ++ //debug((unsigned char *)"1"); ++ win = new LinksWindow(BRect(be_win_x_pos, be_win_y_pos, be_win_x_pos + be_win_x_size, be_win_y_pos + be_win_y_size)); ++ //debug((unsigned char *)"2"); ++ if (!win) { ++ mem_free(dev); ++ return NULL; ++ } ++ //debug((unsigned char *)"3"); ++ view = new LinksView(win); ++ if (!view) { ++ delete win; ++ mem_free(dev); ++ return NULL; ++ } ++ view->dev = dev; ++ dev->driver_data = view; ++ be_get_size(dev); ++ memcpy(&dev->clip, &dev->size, sizeof(struct rect)); ++ //debug((unsigned char *)"4"); ++ win->Show(); ++ win->Lock(); ++ view->MakeFocus(); ++ win->Unlock(); ++ //debug((unsigned char *)"5"); ++ if (initial_refs_msg) { ++ BMessenger msgr(win); ++ if (msgr.IsValid()) { ++ msgr.SendMessage(initial_refs_msg); ++ initial_refs_msg = NULL; ++ } ++ } ++ return dev; ++} ++ ++void be_shutdown_device(struct graphics_device *dev) ++{ ++ LinksWindow *win = lv(dev)->win; ++ unregister_bottom_half(do_flush, dev); ++ lv(dev)->dev = NULL; ++ win->PostMessage(B_QUIT_REQUESTED); ++ mem_free(dev); ++} ++ ++void be_set_title(struct graphics_device *dev, unsigned char *title) ++{ ++ LinksWindow *win = lv(dev)->win; ++ lock_dev(dev); ++ win->SetTitle((const char *)title); ++ lv(dev)->d_flush(); ++ unlock_dev(dev); ++} ++ ++/* ++int be_get_filled_bitmap(struct bitmap *bmp, long color) ++{ ++ internal((unsigned char *)"nedopsano"); ++ return 0; ++} ++*/ ++ ++int be_get_empty_bitmap(struct bitmap *bmp) ++{ ++ DBG("bmp\n"); ++//DBG("bmp (%d, %d) cs %08x\n", bmp->x, bmp->y, be_cs_bmp); ++ BRect r(0, 0, bmp->x - 1, bmp->y - 1); ++ BBitmap *b = new BBitmap(r, /*B_RGB32*/be_cs_bmp); ++ if (!b) { ++ bmp->data = NULL; ++DBG("%s: error 1\n", __FUNCTION__); ++ return 0; ++ } ++ if (!b->IsValid()) { ++ bmp->data = NULL; ++ delete b; ++DBG("%s: error 2\n", __FUNCTION__); ++ return 0; ++ } ++ if (b->LockBits() < B_OK) { ++ bmp->data = NULL; ++ delete b; ++DBG("%s: error 3\n", __FUNCTION__); ++ return 0; ++ } ++ bmp->data = b->Bits(); ++ bmp->skip = b->BytesPerRow(); ++ bmp->flags = b; ++//DBG("bmp: data %p, skip %d, flags %p\n", bmp->data, bmp->skip, bmp->flags); ++ return 0; ++} ++ ++void be_register_bitmap(struct bitmap *bmp) ++{ ++ BBitmap *b = (BBitmap *)bmp->flags; ++ b->UnlockBits(); ++} ++ ++void *be_prepare_strip(struct bitmap *bmp, int top, int lines) ++{ ++ DBG("preps\n"); ++ BBitmap *b = (BBitmap *)bmp->flags; ++ if (b->LockBits() < B_OK) ++ return NULL; ++ bmp->data = b->Bits(); ++ bmp->skip = b->BytesPerRow(); ++ return ((char *)bmp->data) + bmp->skip * top; ++} ++ ++void be_commit_strip(struct bitmap *bmp, int top, int lines) ++{ ++ BBitmap *b = (BBitmap *)bmp->flags; ++ b->UnlockBits(); ++} ++ ++void be_unregister_bitmap(struct bitmap *bmp) ++{ ++ DBG("unb\n"); ++ BBitmap *b = (BBitmap *)bmp->flags; ++ delete b; ++} ++ ++void be_draw_bitmap(struct graphics_device *dev, struct bitmap *bmp, int x, int y) ++{ ++ DBG("drawb\n"); ++ BBitmap *b = (BBitmap *)bmp->flags; ++ lock_dev(dev); ++ lv(dev)->DrawBitmap(b, b->Bounds(), BRect(x, y, x + bmp->x - 1, y + bmp->y - 1)); ++ lv(dev)->d_flush(); ++ unlock_dev(dev); ++} ++ ++/* ++void be_draw_bitmaps(struct graphics_device *dev, struct bitmap **bmp, int n, int x, int y) ++{ ++ LinksView *lvv = lv(dev); ++ lock_dev(dev); ++ while (n--) { ++ BBitmap *b = (BBitmap *)(*bmp)->flags; ++ lvv->DrawBitmap(b, b->Bounds(), BRect(x, y, x + (*bmp)->x, y + (*bmp)->y)); ++ x += (*bmp)->x; ++ bmp++; ++ } ++ lv(dev)->d_flush(); ++ unlock_dev(dev); ++} ++*/ ++ ++long be_get_color(int rgb) ++{ ++ if (small_color) { ++ get_color32(c, rgb); ++ return *(long *)(void *)&c; ++ } else return rgb & 0xffffff; ++} ++ ++void be_fill_area(struct graphics_device *dev, int x1, int y1, int x2, int y2, long color) ++{ ++ DBG("fill\n"); ++ if (x1 >= x2 || y1 >= y2) return; ++ lock_dev(dev); ++ if (small_color) ++ lv(dev)->SetHighColor(*(rgb_color *)(void *)&color); ++ else ++ lv(dev)->SetHighColor(get_color32(, color)); ++ lv(dev)->FillRect(BRect(x1, y1, x2 - 1, y2 - 1)); ++ lv(dev)->d_flush(); ++ unlock_dev(dev); ++} ++ ++void be_draw_hline(struct graphics_device *dev, int x1, int y, int x2, long color) ++{ ++ DBG("hline\n"); ++ if (x1 >= x2) return; ++ lock_dev(dev); ++ if (small_color) ++ lv(dev)->SetHighColor(*(rgb_color *)(void *)&color); ++ else ++ lv(dev)->SetHighColor(get_color32(, color)); ++ lv(dev)->StrokeLine(BPoint(x1, y), BPoint(x2 - 1, y)); ++ lv(dev)->d_flush(); ++ unlock_dev(dev); ++} ++ ++void be_draw_vline(struct graphics_device *dev, int x, int y1, int y2, long color) ++{ ++ DBG("vline\n"); ++ if (y1 >= y2) return; ++ lock_dev(dev); ++ if (small_color) ++ lv(dev)->SetHighColor(*(rgb_color *)(void *)&color); ++ else ++ lv(dev)->SetHighColor(get_color32(, color)); ++ lv(dev)->StrokeLine(BPoint(x, y1), BPoint(x, y2 - 1)); ++ lv(dev)->d_flush(); ++ unlock_dev(dev); ++} ++ ++int be_hscroll(struct graphics_device *dev, struct rect_set **ignore, int sc) ++{ ++ DBG("hscroll\n"); ++ if (dev->clip.x1 >= dev->clip.x2 || dev->clip.y1 >= dev->clip.y2) return 0; ++ if (sc <= dev->clip.x1 - dev->clip.x2) return 1; ++ if (sc >= dev->clip.x2 - dev->clip.x1) return 1; ++ lock_dev0(dev); ++ if (sc > 0) lv(dev)->CopyBits(BRect(dev->clip.x1, dev->clip.y1, dev->clip.x2 - sc - 1, dev->clip.y2 - 1), BRect(dev->clip.x1 + sc, dev->clip.y1, dev->clip.x2 - 1, dev->clip.y2 - 1)); ++ else lv(dev)->CopyBits(BRect(dev->clip.x1 - sc, dev->clip.y1, dev->clip.x2 - 1, dev->clip.y2 - 1), BRect(dev->clip.x1, dev->clip.y1, dev->clip.x2 + sc - 1, dev->clip.y2 - 1)); ++ lv(dev)->d_flush(); ++ unlock_dev(dev); ++ return 1; ++} ++ ++int be_vscroll(struct graphics_device *dev, struct rect_set **ignore, int sc) ++{ ++ DBG("vscroll\n"); ++ if (!sc || dev->clip.x1 >= dev->clip.x2 || dev->clip.y1 >= dev->clip.y2) return 0; ++ if (sc <= dev->clip.y1 - dev->clip.y2) return 1; ++ if (sc >= dev->clip.y2 - dev->clip.y1) return 1; ++ lock_dev0(dev); ++ if (sc > 0) lv(dev)->CopyBits(BRect(dev->clip.x1, dev->clip.y1, dev->clip.x2 - 1, dev->clip.y2 - sc - 1), BRect(dev->clip.x1, dev->clip.y1 + sc, dev->clip.x2 - 1, dev->clip.y2 - 1)); ++ else lv(dev)->CopyBits(BRect(dev->clip.x1, dev->clip.y1 - sc, dev->clip.x2 - 1, dev->clip.y2 - 1), BRect(dev->clip.x1, dev->clip.y1, dev->clip.x2 - 1, dev->clip.y2 + sc - 1)); ++ lv(dev)->d_flush(); ++ unlock_dev(dev); ++ return 1; ++} ++ ++void be_set_clip_area(struct graphics_device *dev, struct rect *r) ++{ ++ DBG("setc\n"); ++ memcpy(&dev->clip, r, sizeof(struct rect)); ++ lock_dev(dev); ++ BRegion clip(BRect(r->x1, r->y1, r->x2 - 1, r->y2 - 1)); ++ lv(dev)->ConstrainClippingRegion(&clip); ++ unlock_dev(dev); ++} ++ ++struct graphics_driver haiku_driver = { ++ (unsigned char *)"haiku", ++ be_init_driver, ++ be_init_device, ++ be_shutdown_device, ++ be_shutdown_driver, ++ dummy_emergency_shutdown, ++ be_get_driver_param, ++ be_get_empty_bitmap, ++ be_register_bitmap, ++ be_prepare_strip, ++ be_commit_strip, ++ be_unregister_bitmap, ++ be_draw_bitmap, ++ be_get_color, ++ be_fill_area, ++ be_draw_hline, ++ be_draw_vline, ++ be_hscroll, ++ be_vscroll, ++ be_set_clip_area, ++ dummy_block, ++ dummy_unblock, ++ be_set_title, ++ NULL, /* exec */ ++ NULL, /* set_clipboard_text */ ++ NULL, /* get_clipboard_text */ ++ 0, /* depth */ ++ 0, 0, /* size */ ++ 0, /* flags */ ++ 0, /* codepage */ ++ NULL, /* shell */ ++}; ++ ++#endif /* GRDRV_HAIKU */ ++ ++#endif +diff -urN links-2.8.org/links-haiku.rdef links-2.8/links-haiku.rdef +--- links-2.8.org/links-haiku.rdef 1970-01-01 01:00:00.000000000 +0100 ++++ links-2.8/links-haiku.rdef 2013-12-13 00:23:34.395313152 +0100 +@@ -0,0 +1,125 @@ ++/* ++** links-haiku.rdef ++** ++** Automatically generated by BResourceParser on ++** Thursday, December 13, 2007 at 23:46:45. ++** ++*/ ++ ++resource(1, "BEOS:APP_FLAGS") (#'APPF') $"01000000"; ++ ++resource(1, "BEOS:APP_VERSION") #'APPV' array { ++ $"02000000010000000000000000000000210000006C696E6B7320322E31707265" ++ $"3333000000000000000000000000000000000000000000000000000000000000" ++ $"00000000000000000000000000000000000000004C696E6B732062726F777365" ++ $"7220322E31707265333300000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000" ++}; ++ ++resource(101, "BEOS:L:STD_ICON") #'ICON' array { ++ $"2A2A2A2A2A2A2A2A2A2A2A2A2A2A2C0000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A2A2A2A2A2A2A2A2C0000363434343434343434343434343434" ++ $"2A2A2A2B2B2B2B2B2B2B2B2B2B2B2C0000363434343434343434343434343434" ++ $"2A2A2A3200000000000000000000000000363434343434343434343434343434" ++ $"2A2A2A2FF1313200000000000131310000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A30000000002B2A2C0000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A2F000000002A2A2C0000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A2F000000002A2A2C0000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A2F000000002A2A2C0000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A2F000000002A2A2C0000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A2F000000002A2A2C0000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A2F000000002A2A2C0000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A2F000000002A2A2C0000363434343434343434343434343434" ++ $"2A2A2A2A2A2A2A2F000000002A2A2C0000363434343434343434343434343434" ++ $"2C2C2C2C2C2C2C30000000002C2C2D0000373636363636363636363636363636" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"0000000000000000000000000000000000000000000000000000000000000000" ++ $"2222222222222226000000002222230000151A1A1A1A1A1A1A1A1A1A1A1A1A1A" ++ $"20202020202020250000000020202200001A3F3F3F3F3F3F3F3F3F3F3F3F3F3F" ++ $"20202020202020250000000020202200001A3F3F3F3F3F3F3F1501113F3F3F3F" ++ $"20202020202020250000000020202200001A3F3F3F3F3F3F3F0E00133F3F3F3F" ++ $"20202020202020250000000020202200001A3F3F3F3F3F3F3F0500163F3F3F3F" ++ $"20202020202020250000000020202200001A3F3F3F3F3F3F1A0000193F3F3F3F" ++ $"20202020202020250000000020202200001A3F3F3F3F3F3F0C00001B3F3F3F3F" ++ $"20202020202020250000000020202200001A3F3F3F3F3F190000001E3F3F3F3F" ++ $"20202020202020250000000020202200001A3F3F3F3F1A030000013F3F3F3F3F" ++ $"20202020202020270000000023202200001A3F1E170C00000000043F3F3F3F3F" ++ $"2020202628292900000000000029290000040300000000000000063F3F3F3F3F" ++ $"20202027292929292929292929292900000203030303030303030B3F3F3F3F3F" ++ $"20202020202020202020202020202200001A3F3F3F3F3F3F3F3F3F3F3F3F3F3F" ++ $"20202020202020202020202020202200001A3F3F3F3F3F3F3F3F3F3F3F3F3F3F" ++ $"20202020202020202020202020202200001A3F3F3F3F3F3F3F3F3F3F3F3F3F3F" ++}; ++ ++resource(101, "BEOS:M:STD_ICON") #'MICN' array { ++ $"2A2A2A2A2A2A2A303A34343434343434" ++ $"2A2C3030303030F73A34343434343434" ++ $"2A2B2D300000EB323A34343434343434" ++ $"2A2A2A2C00002A303A34343434343434" ++ $"2A2A2A2C00002A303A34343434343434" ++ $"2A2A2A2C00002A303A34343434343434" ++ $"2A2A2A2C00002A303A34343434343434" ++ $"303030310000F1333D3A3A3A3A3A3A3A" ++ $"2626262700002629050D0D0D0D0D0D0D" ++ $"20202022000020260D3F3F3F1D143F3F" ++ $"20202022000020260D3F3F3F140A3F3F" ++ $"20202022000020260D3F3F3F090D3F3F" ++ $"20202022000020260D3F3F16000F3F3F" ++ $"20222427000026280710090000123F3F" ++ $"202225252525252807111111111A3F3F" ++ $"20202020202020260D3F3F3F3F3F3F3F" ++}; ++ ++resource(101, "BEOS:ICON") #'VICN' array { ++ $"6E6369661305000200060237E670B8880E39469D39AE144A52234B0D2500C6D7" ++ $"F5FF6B94DD03EC6666020006023B2B47BB18653D0FA53D225148297046CA1900" ++ $"00FF00FFA9FF00020016023B2B47BB18653D0FA53D225148297046CA1900FFFF" ++ $"8A020006023B3049396B0ABA90833C646E4A101543299500FFFFFFFF52FF5202" ++ $"0016023B3049396B0ABA90833C646E4A101543299500FFFFC9020006023C71E3" ++ $"3A0C78BA15E43C7D2149055549455700E3EDFFFF9EC2FF020006023CD8653068" ++ $"26B065D13CD5A34A6E4A46E21900FFDCDCFFDA5858020006023A1DA6393F04BB" ++ $"B5BC3C6B074AEA364809110087CA05FF026802020016023C00913B1266BB9E06" ++ $"3C5B934A01F04914EC00FFFF4E03003CB00200060230B31E3A09B9BB024238A1" ++ $"2F4BAB534AFF0B00A3043CFFFFDCE603CD4D4D030D296402000602BD498B3E11" ++ $"59BF219BBE7D2F4BE71F4AB31300C13E3EFFE27A7A040174020016023F2938BB" ++ $"F60A3BA9823EEC25C40E6348C15D0099FF00020016023E8FA33A7B71BA9D783E" ++ $"B2C049F7BAC28CE500C8FF00130A06322E323E42464C3C4C2C3D260A04322E32" ++ $"3E424642350A04322E42354C2C3D260A04423542464C3C4C2C0A0338423C4D3C" ++ $"440A08335C395C41544F5C555C6051594D3E510A0422422252325A32490A0422" ++ $"4232493C402D3A0A043249325A3C503C400A043E424E495840493A0A043E524E" ++ $"5A4E493E420A1243C97243C375BF66C2A93F503C5133C4F03330342F3830382D" ++ $"2927292A2C2C2D2E2DC2F2B7B1C3BEB5E1C358B5E1C4AA0A042C252927382D3B" ++ $"2B0A04364B334D3E5241500A0442463F48434A46480A042A4727492B4B2E490A" ++ $"04382D38303B2E3B2B0A04434A4358465646480A04332F334D364B362D160A10" ++ $"01052020230A1001052022120A00010030103701178400040A0101012010370A" ++ $"0B01032010370A0E0104201D250A0101072020230A00010030101C0117840004" ++ $"0A02010A2004080A0C010320101C0A0801092004080A00010030283901178400" ++ $"040A0401012028390A0601022028390A0A01032028390A000100302A20011784" ++ $"00040A030101202A200A050102202A200A090103202A200A12040C0D0E0F000A" ++ $"0003101211000A11010B00" ++}; ++ ++resource(1, "BEOS:APP_SIG") (#'MIMS') "application/x-vnd.links"; ++ ++resource(1, "BEOS:FILE_TYPES") message { ++ "types" = "text/html", ++ "types" = "application/x-vnd.Be-bookmark", ++ "types" = "application/x-vnd.Be.URL.http" ++}; +diff -urN links-2.8.org/Makefile.am links-2.8/Makefile.am +--- links-2.8.org/Makefile.am 2013-09-20 22:37:39.031457280 +0200 ++++ links-2.8/Makefile.am 2013-12-12 23:23:13.554172416 +0100 +@@ -4,7 +4,7 @@ + + man_MANS=links.1 + +-EXTRA_DIST=$(man_MANS) atheos.cpp BRAILLE_HOWTO KEYS SITES descrip.mms *.opt PATCH-gpm-1.20.0-smooth-cursor PATCH-libpng-1.2.18 mailcap.pl rebuild Links_logo.png Unicode/*.cp Unicode/[!C]* intl/[!C]* graphics/*.c graphics/arrow.png graphics/gen graphics/system_font/*.png graphics/font/century_extensions-medium-roman-serif-vari/*.png graphics/font/century_school-bold-roman-serif-vari/*.png graphics/font/century_school-medium-roman-serif-vari/*.png graphics/font/courier-medium-roman-serif-mono/*.png graphics/font/japanese-medium-roman-sans-mono/*.png graphics/font/symbol-medium-roman-sans-vari/*.png graphics/font/century_school-bold-roman-serif-vari/aliases graphics/font/century_school-medium-roman-serif-vari/aliases graphics/font/japanese-medium-roman-sans-mono/aliases graphics/font/symbol-medium-roman-sans-vari/aliases doc/links_cal/*.png doc/links_cal/*.html graphics/Makefile graphics/Fontmap graphics/clip.c graphics/links.xpm graphics/makefont graphics/pdf2html graphics/spacer.png pkg-config.m4 *.xpm *.ico *.rc mk-release-os2 mk-release-win mk-dos links.wis *.nsi ++EXTRA_DIST=$(man_MANS) atheos.cpp haiku.cpp BRAILLE_HOWTO KEYS SITES descrip.mms *.opt PATCH-gpm-1.20.0-smooth-cursor PATCH-libpng-1.2.18 mailcap.pl rebuild Links_logo.png Unicode/*.cp Unicode/[!C]* intl/[!C]* graphics/*.c graphics/arrow.png graphics/gen graphics/system_font/*.png graphics/font/century_extensions-medium-roman-serif-vari/*.png graphics/font/century_school-bold-roman-serif-vari/*.png graphics/font/century_school-medium-roman-serif-vari/*.png graphics/font/courier-medium-roman-serif-mono/*.png graphics/font/japanese-medium-roman-sans-mono/*.png graphics/font/symbol-medium-roman-sans-vari/*.png graphics/font/century_school-bold-roman-serif-vari/aliases graphics/font/century_school-medium-roman-serif-vari/aliases graphics/font/japanese-medium-roman-sans-mono/aliases graphics/font/symbol-medium-roman-sans-vari/aliases doc/links_cal/*.png doc/links_cal/*.html graphics/Makefile graphics/Fontmap graphics/clip.c graphics/links.xpm graphics/makefont graphics/pdf2html graphics/spacer.png pkg-config.m4 *.xpm *.ico *.rc mk-release-os2 mk-release-win mk-dos links.wis *.nsi links-haiku.rdef + + bin_PROGRAMS=links + +@@ -13,6 +13,17 @@ + else + endif + ++if HAIKU_GR ++links_LDADD=haiku.o -lbe ++EXTRA_links_DEPENDENCIES=links-haiku.rsrc ++# automake will not let us touch the binary after link ++# and install will not copy the attributes anyway... so do it after install ++install-exec-hook: ++ xres -o $(DESTDIR)$(bindir)/links$(EXEEXT) links-haiku.rsrc ++ mimeset $(DESTDIR)$(bindir)/links$(EXEEXT) ++else ++endif ++ + links_SOURCES=af_unix.c auth.c beos.c bfu.c block.c bookmark.c cache.c charsets.c compress.c connect.c cookies.c data.c default.c dip.c directfb.c dither.c dns.c dos.c drivers.c error.c file.c finger.c fn_impl.c font_inc.c framebuf.c ftp.c gif.c grx.c hpux.c html.c html_gr.c html_r.c html_tbl.c http.c https.c img.c imgcache.c jpeg.c jsint.c kbd.c language.c links_ic.c listedit.c lru.c mailto.c main.c memory.c menu.c objreq.c os_dep.c pmshell.c png.c sched.c select.c session.c smb.c string.c svgalib.c terminal.c tiff.c types.c url.c view.c view_gr.c vms.c x.c xbm.c beos.h bits.h cfg.h codepage.h com-defs.h config-vms.h dfb_cur.h hpux.h language.h links.h os_dep.h os_depx.h setup.h arrow.inc codepage.inc entity.inc fbcommon.inc language.inc uni_7b.inc upcase.inc vpipe.inc + + dist-hook: +@@ -33,6 +44,12 @@ + atheos.o: atheos.cpp + $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c atheos.cpp + ++haiku.o: haiku.cpp ++ $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -o $@ -c $< ++ ++links-haiku.rsrc: links-haiku.rdef ++ rc -o $@ $< ++ + datadir = $(prefix)/@DATADIRNAME@ + LIBS = @LIBS@ + +diff -urN links-2.8.org/os_dep.c links-2.8/os_dep.c +--- links-2.8.org/os_dep.c 2013-09-20 23:16:38.037748736 +0200 ++++ links-2.8/os_dep.c 2013-12-12 21:48:36.256638976 +0100 +@@ -307,7 +307,7 @@ + + #endif + +-#if defined(UNIX) || defined(WIN32) || defined(INTERIX) || defined(BEOS) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD) || defined(OPENVMS) ++#if defined(UNIX) || defined(WIN32) || defined(INTERIX) || defined(BEOS) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD) || defined(OPENVMS) || defined(HAIKU) + + #ifdef SIGWINCH + static void sigwinch(void *s) +@@ -573,7 +573,7 @@ + return xt; + } + +-#elif defined(BEOS) || defined(ATHEOS) || defined(DOS) ++#elif defined(BEOS) || defined(ATHEOS) || defined(DOS) || defined(HAIKU) + + int is_xterm(void) + { +@@ -656,6 +656,12 @@ + if (!GetConsoleCP()) + force_g = 1; + #endif ++#ifdef HAIKU ++ if (getenv("TERM") == NULL) { ++ /* probably launched from Tracker or Deskbar, force graphics mode */ ++ force_g = 1; ++ } ++#endif + } + #endif + +@@ -958,7 +964,7 @@ + #endif + + +-#if defined(UNIX) || defined(INTERIX) || defined(BEOS) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD) || defined(OPENVMS) || defined(DOS) ++#if defined(UNIX) || defined(INTERIX) || defined(BEOS) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD) || defined(OPENVMS) || defined(DOS) || defined(HAIKU) + + #if defined(BEOS) && defined(HAVE_SETPGID) + +@@ -1710,7 +1716,7 @@ + + #endif + +-#if defined(UNIX) || defined(OS2) || defined(WIN32) || defined(INTERIX) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD) ++#if defined(UNIX) || defined(OS2) || defined(WIN32) || defined(INTERIX) || defined(RISCOS) || defined(ATHEOS) || defined(SPAD) || defined(HAIKU) + + void terminate_osdep(void) + { +@@ -1727,7 +1733,7 @@ + + #if defined(BEOS) + +-#include ++#include + + static int thr_sem_init = 0; + static sem_id thr_sem; +@@ -2466,6 +2472,13 @@ + return 0; + } + ++#elif defined(HAIKU) ++ ++int get_system_env(void) ++{ ++ return ENV_BE; ++} ++ + #elif defined(WIN32) + + int get_system_env(void) +@@ -2588,6 +2601,14 @@ + } + #endif + ++#ifdef HAIKU ++static int open_in_new_haiku(struct terminal *term, unsigned char *exe, unsigned char *param) ++{ ++ exec_new_links(term, cast_uchar "Terminal", exe, param); ++ return 0; ++} ++#endif ++ + #ifdef G + static int open_in_new_g(struct terminal *term, unsigned char *exe, unsigned char *param) + { +@@ -2637,6 +2658,9 @@ + #ifdef BEOS + {ENV_BE, open_in_new_be, TEXT_(T_BEOS_TERMINAL), TEXT_(T_HK_BEOS_TERMINAL)}, + #endif ++#ifdef HAIKU ++ {ENV_BE, open_in_new_haiku, TEXT_(T_BEOS_TERMINAL), TEXT_(T_HK_BEOS_TERMINAL)}, ++#endif + #ifdef G + {ENV_G, open_in_new_g, TEXT_(T_WINDOW), TEXT_(T_HK_WINDOW)}, + #endif +@@ -2685,6 +2709,9 @@ + #ifdef BEOS + if (!(environment & ENV_BE)) return 0; + #endif ++#ifdef HAIKU ++ if (!(environment & ENV_BE)) return 0; ++#endif + #ifdef G + if (F && drv->flags & GD_NO_OS_SHELL) return 0; + #endif +diff -urN links-2.8.org/os_dep.h links-2.8/os_dep.h +--- links-2.8.org/os_dep.h 2013-09-17 02:11:47.030932992 +0200 ++++ links-2.8/os_dep.h 2013-12-12 21:29:28.176685056 +0100 +@@ -29,7 +29,7 @@ + #define WIN32 + #elif defined(__INTERIX) + #define INTERIX +-#elif defined(__BEOS__) || defined(__HAIKU__) ++#elif defined(__BEOS__) + #define BEOS + #elif defined(__riscos__) + #define RISCOS +@@ -41,6 +41,8 @@ + #define OPENVMS + #elif defined(__DJGPP) + #define DOS ++#elif defined(__HAIKU__) ++#define HAIKU + #else + #define UNIX + #endif +@@ -158,6 +160,25 @@ + + #include "beos.h" + ++#elif defined(HAIKU) ++ ++static inline int dir_sep(unsigned char x) { return x == '/'; } ++#define NEWLINE "\n" ++#define NO_ASYNC_LOOKUP /* async lookup works on BeOS but crashes the Haiku kernel */ ++#define FS_UNIX_RIGHTS ++#define FS_UNIX_SOFTLINKS ++#define FS_UNIX_USERS ++/* TODO: allocate new SYS_* or replace SYS_BEOS */ ++#define SYSTEM_ID SYS_BEOS ++#define SYSTEM_NAME "Haiku" ++#define DEFAULT_SHELL "/bin/sh" ++#define GETSHELL getenv("SHELL") ++#define NO_CTRL_Z ++#define SET_WINDOW_TITLE_UTF_8 ++#define SHARED_CONFIG_DIR "/etc/" ++#define NO_FORK_ON_EXIT ++#define ASSOC_BLOCK ++ + #elif defined(RISCOS) + + static inline int dir_sep(unsigned char x) { return x == '/' || x == '\\'; } +diff -urN links-2.8.org/os_depx.h links-2.8/os_depx.h +--- links-2.8.org/os_depx.h 2013-08-25 13:07:50.033030144 +0200 ++++ links-2.8/os_depx.h 2013-12-12 21:35:09.725614592 +0100 +@@ -184,6 +184,10 @@ + #endif + #endif + ++#ifdef HAIKU ++/* nothing so far */ ++#endif ++ + #ifdef OPENVMS + #if defined(__INITIAL_POINTER_SIZE) + #if __INITIAL_POINTER_SIZE == 64 +@@ -340,6 +344,9 @@ + #elif defined(GRDRV_ATHEOS) + #define loop_select ath_select + int ath_select(int n, fd_set *r, fd_set *w, fd_set *e, struct timeval *t); ++#elif defined(GRDRV_HAIKU) ++#define loop_select be_loop_select ++int be_loop_select(int n, fd_set *r, fd_set *w, fd_set *e, struct timeval *t); + #else + #define loop_select select + #endif diff --git a/x11-libs/libxau/libxau-1.0.5.recipe b/x11-libs/libxau/libxau-1.0.5.recipe index 262bf426b..d3848bf41 100644 --- a/x11-libs/libxau/libxau-1.0.5.recipe +++ b/x11-libs/libxau/libxau-1.0.5.recipe @@ -1,22 +1,58 @@ +SUMMARY="libxau" DESCRIPTION="libxau" HOMEPAGE="http://xorg.freedesktop.org/releases/individual/lib/" SRC_URI="http://xorg.freedesktop.org/releases/individual/lib/libXau-1.0.5.tar.gz" CHECKSUM_MD5="1a421d9376f43596fe068ce209a70b84" REVISION="1" -STATUS_HAIKU="stable" -DEPEND="pkgconfig >= 0.23 - x11-misc/util-macros >= 1.7.0" +COPYRIGHT="1988, 1993, 1994, 1998 The Open Group" +LICENSE="MIT (no promotion)" + +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" + +PROVIDES=" + libxau$secondaryArchSuffix = $portVersion + lib:libxau$secondaryArchSuffix = $portVersion + lib:libXau$secondaryArchSuffix = $portVersion + devel:libxau$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + xproto$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + devel:xproto$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:util_macros$secondaryArchSuffix + cmd:autoconf + cmd:libtool + cmd:aclocal + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + " + +SOURCE_DIR="libXau-$portVersion" + +PATCHES="libxau-1.0.5.patch" + BUILD() { - cd libXau-1.0.5 libtoolize --force --copy --install autoreconf -i - ./configure --prefix=`finddir B_COMMON_DIRECTORY` + runConfigure ./configure make } INSTALL() { - cd libXau-1.0.5 make install + prepareInstalledDevelLibs libXau + fixPkgconfig } diff --git a/x11-libs/libxau/patches/libxau-1.0.5.patch b/x11-libs/libxau/patches/libxau-1.0.5.patch index b131ea47e..7779a6f82 100644 --- a/x11-libs/libxau/patches/libxau-1.0.5.patch +++ b/x11-libs/libxau/patches/libxau-1.0.5.patch @@ -1,7 +1,17 @@ -diff -Naur libXau-1.0.5/configure.ac libXau-1.0.5-haiku/configure.ac ---- libXau-1.0.5/configure.ac 2009-08-28 04:34:23.023855104 +0000 -+++ libXau-1.0.5-haiku/configure.ac 2010-04-26 23:21:53.573308928 +0000 -@@ -58,6 +58,9 @@ +diff --git a/configure.ac b/configure.ac +index c63adcb..0d981c6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -28,7 +28,7 @@ AC_INIT(libXau, 1.0.5, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg] + AM_INIT_AUTOMAKE([dist-bzip2]) + AM_MAINTAINER_MODE + +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADER(config.h) + + # Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG, XORG_WITH_LINT + m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) +@@ -58,6 +58,9 @@ if test "x$xthreads" = "xyes" ; then if test "x$mtsafe" = "x" ; then AC_CHECK_LIB(nsl, gethostbyname_r, [mtsafe=yes]) fi diff --git a/x11-libs/libxcb/libxcb-1.6.recipe b/x11-libs/libxcb/libxcb-1.6.recipe index 8d316acf2..6fc9d23b5 100644 --- a/x11-libs/libxcb/libxcb-1.6.recipe +++ b/x11-libs/libxcb/libxcb-1.6.recipe @@ -1,25 +1,61 @@ +SUMMARY="libxcb" DESCRIPTION="libxcb" HOMEPAGE="http://xcb.freedesktop.org/" SRC_URI="http://xcb.freedesktop.org/dist/libxcb-1.6.tar.gz" CHECKSUM_MD5="f824cc4cb4b43f5bbc84c0e17fbd80d0" REVISION="1" -STATUS_HAIKU="stable" -DEPEND="pkgconfig >= 0.23 - x11-misc/util-macros >= 1.7.0 - dev-libs/libxslt >= 1.1.26 - x11-proto/xcb-proto >= 1.6 - x11-libs/libXau >= 1.0.5" +COPYRIGHT="2001-2006 Bart Massey, Jamey Sharp, and Josh Triplett. +All Rights Reserved." +LICENSE="MIT (no promotion)" + +ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64" +SECONDARY_ARCHITECTURES="?x86_gcc2 ?x86" + +PROVIDES=" + libxcb$secondaryArchSuffix = $portVersion + lib:libxcb$secondaryArchSuffix = $portVersion + devel:libxcb$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libxslt >= 1.1.26 + " + +BUILD_REQUIRES=" + devel:libxslt >= 1.1.26 + devel:xcb_proto >= 1.6 + devel:libpthread_stubs$secondaryArchSuffix >= 0.3 + devel:libxau$secondaryArchSuffix >= 1.0.5 + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + devel:util_macros$secondaryArchSuffix + cmd:autoconf + cmd:libtool + cmd:aclocal + cmd:make + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + cmd:python + " + + +#DEPEND="pkgconfig >= 0.23 +# x11-misc/util-macros >= 1.7.0 +# dev-libs/libxslt >= 1.1.26 +# x11-proto/xcb-proto >= 1.6 +# x11-libs/libXau >= 1.0.5" BUILD() { - cd libxcb-1.6 libtoolize --force --copy --install ./autogen.sh - ./configure --prefix=`finddir B_COMMON_DIRECTORY` + runConfigure ./configure } INSTALL() { - cd libxcb-1.6 make install } diff --git a/x11-proto/xcb_proto/xcb_proto-1.6.recipe b/x11-proto/xcb_proto/xcb_proto-1.6.recipe index 190bd056d..3127598b5 100644 --- a/x11-proto/xcb_proto/xcb_proto-1.6.recipe +++ b/x11-proto/xcb_proto/xcb_proto-1.6.recipe @@ -36,6 +36,10 @@ BUILD_PREREQUIRES=" SOURCE_DIR="xcb-proto-$portVersion" +GLOBAL_WRITABLE_FILES=" + non-packaged/lib/python2.6/site-packages directory keep-old + " + BUILD() { libtoolize --force --copy --install @@ -46,5 +50,6 @@ BUILD() INSTALL() { - make install + make install DESTDIR=/ + fixPkgconfig }