diff --git a/dev-lang/lua/lua-5.2.3.recipe b/dev-lang/lua/lua-5.2.3.recipe new file mode 100644 index 000000000..6818abddf --- /dev/null +++ b/dev-lang/lua/lua-5.2.3.recipe @@ -0,0 +1,66 @@ +SUMMARY="Lua is a powerful, fast, light-weight, embeddable scripting language." +HOMEPAGE="http://www.lua.org" +SRC_URI="http://www.lua.org/ftp/lua-$portVersion.tar.gz" +CHECKSUM_SHA256="13c2fb97961381f7d06d5b5cea55b743c163800896fd5c5e2356201d3619002d" +REVISION="1" +ARCHITECTURES="x86 x86_gcc2 x86_64" +SECONDARY_ARCHITECTURES="x86" +PROVIDES=" + lua$secondaryArchSuffix = $portVersion compat >= 5.2 + cmd:lua$secondaryArchSuffix = $portVersion compat >= 5.2 + cmd:lua5.2$secondaryArchSuffix = $portVersion compat >= 5.2 + cmd:luac$secondaryArchSuffix = $portVersion compat >= 5.2 + lib:liblua$secondaryArchSuffix = $portVersion compat >= 5.2 + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:make + cmd:gcc$secondaryArchSuffix + " + +PROVIDES_devel=" + lua${secondaryArchSuffix}_devel = $portVersion compat >= 5.2 + devel:liblua$secondaryArchSuffix = $portVersion compat >= 5.2 + devel:liblua52$secondaryArchSuffix = $portVersion compat >= 5.2 + " + +REQUIRES_devel=" + lua$secondaryArchSuffix == $portVersion + " + +PATCHES="lua-$portVersion.patchset" + +BUILD() +{ + make haiku MYCFLAGS="-DLUA_ROOT='\"$prefix/\"' -DLUA_LDIR='\"$dataDir/lua/5.2/\"'" +} + +INSTALL() +{ + make install INSTALL_TOP="$prefix" INSTALL_MAN="$manDir/man1" \ + INSTALL_INC="$includeDir/lua52" INSTALL_LMOD="$dataDir/lua/5.2" \ + INSTALL_LIB="$libDir" INSTALL_BIN="$binDir" + + ln -s liblua.so $libDir/liblua.so.5.2 + ln -s liblua.a $libDir/liblua52.a + + mv $binDir/lua $binDir/lua5.2 + ln -s $binDir/lua5.2 $binDir/lua + + prepareInstalledDevelLib liblua + prepareInstalledDevelLib liblua52 + packageEntries devel $developDir +} +LICENSE="MIT" +COPYRIGHT="1994-2012, Lua.org, PUC-Rio" +DESCRIPTION=" +Lua combines simple procedural syntax with powerful data description \ +constructs based on associative arrays and extensible semantics. Lua is \ +dynamically typed, runs by interpreting bytecode for a register-based virtual \ +machine, and has automatic memory management with incremental garbage \ +collection, making it ideal for configuration, scripting, and rapid prototyping. +" diff --git a/dev-lang/lua/patches/lua-5.2.3.patchset b/dev-lang/lua/patches/lua-5.2.3.patchset new file mode 100644 index 000000000..44c86858b --- /dev/null +++ b/dev-lang/lua/patches/lua-5.2.3.patchset @@ -0,0 +1,113 @@ +From 95be65d7676d75b778defff51dd110e31644d499 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Mon, 5 May 2014 15:59:15 +0000 +Subject: import patch from 5.2.1 + + +diff --git a/Makefile b/Makefile +index d2c7db4..baa4521 100644 +--- a/Makefile ++++ b/Makefile +@@ -36,12 +36,12 @@ RM= rm -f + # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= + + # Convenience platforms targets. +-PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris ++PLATS= aix ansi bsd freebsd generic haiku linux macosx mingw posix solaris + + # What to install. + TO_BIN= lua luac + TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp +-TO_LIB= liblua.a ++TO_LIB= liblua.a liblua.so + TO_MAN= lua.1 luac.1 + + # Lua version and release. +@@ -52,7 +52,7 @@ R= $V.3 + all: $(PLAT) + + $(PLATS) clean: +- cd src && $(MAKE) $@ ++ cd src && $(MAKE) V=$(V) $@ + + test: dummy + src/lua -v +diff --git a/src/Makefile b/src/Makefile +index 7b4b2b7..8edc5d6 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -26,9 +26,10 @@ MYOBJS= + + # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= + +-PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris ++PLATS= aix ansi bsd freebsd generic haiku linux macosx mingw posix solaris + + LUA_A= liblua.a ++LUA_SO= liblua.so + CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ + lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ + ltm.o lundump.o lvm.o lzio.o +@@ -43,7 +44,7 @@ LUAC_T= luac + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) + ALL_A= $(LUA_A) + + # Targets start here. +@@ -65,6 +66,9 @@ $(LUA_T): $(LUA_O) $(LUA_A) + $(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + ++$(LUA_SO): $(CORE_O) $(LIB_O) ++ $(CC) -o $@ -shared -fPIC -Wl,-soname=liblua.so.$(V) $(LDFLAGS) $? $(LIBS) ++ + clean: + $(RM) $(ALL_T) $(ALL_O) + +@@ -102,6 +106,9 @@ freebsd: + + generic: $(ALL) + ++haiku: ++ $(MAKE) all SYSCFLAGS="-DLUA_USE_HAIKU" LIBS= ++ + linux: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline" + +diff --git a/src/luaconf.h b/src/luaconf.h +index 18be9a9..1cce188 100644 +--- a/src/luaconf.h ++++ b/src/luaconf.h +@@ -38,7 +38,12 @@ + #define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */ + #endif + +- ++#if defined(LUA_USE_HAIKU) ++#define LUA_USE_MKSTEMP ++#define LUA_USE_ISATTY ++#define LUA_USE_POPEN ++#define LUA_USE_DLOPEN ++#endif + + #if defined(LUA_USE_LINUX) + #define LUA_USE_POSIX +@@ -100,8 +105,12 @@ + #else /* }{ */ + + #define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/" ++#ifndef LUA_ROOT + #define LUA_ROOT "/usr/local/" ++#endif ++#ifndef LUA_LDIR + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR ++#endif + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR + #define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ +-- +1.8.3.4 + diff --git a/dev-lang/tcl/patches/tcl-8.5.15.patchset b/dev-lang/tcl/patches/tcl-8.5.15.patchset new file mode 100644 index 000000000..50450455c --- /dev/null +++ b/dev-lang/tcl/patches/tcl-8.5.15.patchset @@ -0,0 +1,66 @@ +From 02a513a41a3a8aaf7a28bbb86db4eafaf63045ff Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Mon, 5 May 2014 16:07:04 +0000 +Subject: import patch from previous version + + +diff --git a/tests/env.test b/tests/env.test +index ee13b7f..db8f1ce 100644 +--- a/tests/env.test ++++ b/tests/env.test +@@ -85,7 +85,7 @@ set printenvScript [makeFile { + TCL_LIBRARY PATH LD_LIBRARY_PATH LIBPATH PURE_PROG_NAME DISPLAY + SHLIB_PATH SYSTEMDRIVE SYSTEMROOT DYLD_LIBRARY_PATH DYLD_FRAMEWORK_PATH + DYLD_NEW_LOCAL_SHARED_REGIONS DYLD_NO_FIX_PREBINDING +- __CF_USER_TEXT_ENCODING SECURITYSESSIONID LANG WINDIR TERM ++ __CF_USER_TEXT_ENCODING SECURITYSESSIONID LANG WINDIR TERM LIBRARY_PATH + CommonProgramFiles ProgramFiles CommonProgramW6432 ProgramW6432 + } { + lrem names $name +@@ -117,7 +117,7 @@ foreach name [array names env] { + TCL_LIBRARY PATH LD_LIBRARY_PATH LIBPATH DISPLAY SHLIB_PATH + SYSTEMDRIVE SYSTEMROOT DYLD_LIBRARY_PATH DYLD_FRAMEWORK_PATH + DYLD_NEW_LOCAL_SHARED_REGIONS DYLD_NO_FIX_PREBINDING +- SECURITYSESSIONID LANG WINDIR TERM ++ SECURITYSESSIONID LANG WINDIR TERM LIBRARY_PATH + CONNOMPROGRAMFILES PROGRAMFILES COMMONPROGRAMW6432 PROGRAMW6432 + }} { + unset env($name) +diff --git a/unix/tcl.m4 b/unix/tcl.m4 +index f484989..def649b 100644 +--- a/unix/tcl.m4 ++++ b/unix/tcl.m4 +@@ -652,7 +652,13 @@ AC_DEFUN([SC_ENABLE_THREADS], [ + # The space is needed + THREADS_LIBS=" -lpthread" + else +- AC_CHECK_LIB(pthreads, pthread_mutex_init, ++ AC_CHECK_LIB(root, pthread_mutex_init, ++ tcl_ok=yes, tcl_ok=no) ++ if test "$tcl_ok" = "yes"; then ++ # The space is needed ++ THREAD_LIBS=" " ++ else ++ AC_CHECK_LIB(pthreads, pthread_mutex_init, + tcl_ok=yes, tcl_ok=no) + if test "$tcl_ok" = "yes"; then + # The space is needed +@@ -671,6 +677,7 @@ AC_DEFUN([SC_ENABLE_THREADS], [ + AC_MSG_WARN([Don't know how to find pthread lib on your system - you must disable thread support or edit the LIBS in the Makefile...]) + fi + fi ++ fi + fi + fi + +@@ -1284,6 +1291,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ + SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-lroot" ++ LD_LIBRARY_PATH_VAR="LIBRARY_PATH" + AC_CHECK_LIB(network, inet_ntoa, [LIBS="$LIBS -lnetwork"]) + ;; + HP-UX-*.11.*) +-- +1.8.3.4 + diff --git a/dev-lang/tcl/tcl-8.5.15.recipe b/dev-lang/tcl/tcl-8.5.15.recipe new file mode 100644 index 000000000..b2c21199c --- /dev/null +++ b/dev-lang/tcl/tcl-8.5.15.recipe @@ -0,0 +1,79 @@ +SUMMARY="A very powerful but easy to learn dynamic programming language" +DESCRIPTION=" +Tcl (Tool Command Language) is a very powerful but easy to learn dynamic \ +programming language, suitable for a very wide range of uses, including web \ +and desktop applications, networking, administration, testing and many more. \ +Open source and business-friendly, Tcl is a mature yet evolving language that \ +is truly cross platform, easily deployed and highly extensible. +" +HOMEPAGE="http://www.tcl.tk" +SRC_URI="http://sourceforge.net/projects/tcl/files/Tcl/$portVersion/tcl$portVersion-src.tar.gz" +CHECKSUM_SHA256="f24eaae461795e6b09bf54c7e9f38def025892da55f26008c16413cfdda2884e" +REVISION="1" +ARCHITECTURES="x86 x86_gcc2 x86_64" +LICENSE="BSD (2-clause)" +COPYRIGHT="Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState Corporation and other parties" +SOURCE_DIR="tcl$portVersion" + +PATCHES="tcl-8.5.15.patchset" + +PROVIDES=" + tcl = $portVersion compat >= 8.5 + cmd:tclsh = $portVersion compat >= 8.5 + cmd:tclsh8.5 = $portVersion compat >= 8.5 + lib:libtcl8.5 = $portVersion compat >= 8.5 + " + +REQUIRES=" + haiku >= $haikuVersion + " + +BUILD_REQUIRES=" +" + +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:autoconf + cmd:make + cmd:gcc + cmd:ld + cmd:find + cmd:sed + cmd:grep + " + +BUILD() +{ + cd unix + autoconf -f + runConfigure ./configure \ + --enable-threads --enable-man-symlinks + make +} + +INSTALL() +{ + cd unix + make install + + ln -s tclsh8.5 "${binDir}/tclsh" + + prepareInstalledDevelLibs libtclstub8.5 + packageEntries devel $developDir + packageEntries devel ${libDir}/tclConfig.sh +} + +TEST() +{ + cd unix + make test +} + +PROVIDES_devel=" + tcl_devel = $portVersion + devel:libtclstub8.5 = $portVersion + " + +REQUIRES_devel=" + tcl == $portVersion + " diff --git a/dev-libs/gmp/gmp-6.0.0.recipe b/dev-libs/gmp/gmp-6.0.0.recipe new file mode 100644 index 000000000..f276b0fad --- /dev/null +++ b/dev-libs/gmp/gmp-6.0.0.recipe @@ -0,0 +1,73 @@ +SUMMARY="GMP - GNU Multiple Precision Arithmetic Library" +DESCRIPTION=" +The GNU Multiple Precision Arithmetic Library (GMP) is a free library for \ +arbitrary-precision arithmetic, operating on signed integers, rational numbers, \ +and floating point numbers. There are no practical limits to the precision \ +except the ones implied by the available memory in the machine GMP runs on \ +(operand dimension limit is 2^(32)-1 bits on 32-bit machines and 2^37 bits on \ +64-bit machines). GMP has a rich set of functions, and the functions have a \ +regular interface. The basic interface is for C but wrappers exist for other \ +languages including Ada, C++, C#, OCaml, Perl, PHP, and Python. +" +HOMEPAGE="http://gmplib.org/" +SRC_URI="http://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.xz" +CHECKSUM_SHA256="9156d32edac6955bc53b0218f5f3763facb890b73a835d5e1b901dcf8eb8b764" +LICENSE="GNU GPL v3 + GNU LGPL v3" +COPYRIGHT="1991-2014 Free Software Foundation, Inc." +REVISION="1" +ARCHITECTURES="x86 x86_gcc2 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" +PROVIDES="gmp$secondaryArchSuffix = $portVersion compat >= 6.0 + lib:libgmp$secondaryArchSuffix = 10.2.0 compat >= 10 + " +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:libtool + cmd:autoconf + cmd:automake + cmd:make + " + +BUILD() +{ + libtoolize --force --copy --install + aclocal + autoconf + automake --add-missing + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install includedir=$includeDir includeexecdir=$includeDir + + # prepare devel/lib + prepareInstalledDevelLibs libgmp + + # devel package + packageEntries devel \ + $developDir +} + +TEST() +{ + make check +} + +# ----- devel package + +PROVIDES_devel=" + gmp${secondaryArchSuffix}_devel = $portVersion + devel:libgmp$secondaryArchSuffix = 10.2.0 compat >= 10 + " +REQUIRES_devel=" + gmp$secondaryArchSuffix == $portVersion base + " diff --git a/dev-vcs/mercurial/mercurial-2.9.2.recipe b/dev-vcs/mercurial/mercurial-2.9.2.recipe new file mode 100644 index 000000000..540756cd4 --- /dev/null +++ b/dev-vcs/mercurial/mercurial-2.9.2.recipe @@ -0,0 +1,56 @@ +SUMMARY="Free, distributed source control management tool" +DESCRIPTION=" +Mercurial is a free, distributed source control management tool. +" +HOMEPAGE="http://mercurial.selenic.com/" +COPYRIGHT="2005-2014 Matt Mackall et al." +LICENSE="GNU GPL v2" +SRC_URI="http://mercurial.selenic.com/release/mercurial-$portVersion.tar.gz" +CHECKSUM_SHA256="86462b3a1518e137cfe813dc273b8acb120ad71230a1813c0dc9335223b38f53" +REVISION="1" +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PATCHES="mercurial-2.8.1.patch" + +PROVIDES=" + mercurial = $portVersion compat >= 2 + cmd:hg = $portVersion compat >= 2 + " + +REQUIRES=" + haiku_devel >= $haikuVersion + cmd:python + cmd:nano + " + +BUILD_REQUIRES=" + haiku_devel >= $haikuVersion + " + +BUILD_PREREQUIRES=" + cmd:python + cmd:gcc + cmd:gettext + cmd:ld + cmd:make + cmd:msgfmt + " + +BUILD() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py build --force +} + +INSTALL() +{ + $portPackageLinksDir/cmd~python/bin/python setup.py install \ + --prefix="$prefix" \ + --install-headers="$includedir" \ + --force +} + +TEST() +{ + cd tests + python run-tests.py +}