diff options
author | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2018-03-16 17:27:57 +0000 |
---|---|---|
committer | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2018-03-16 17:27:57 +0000 |
commit | 092af8a5ecad52802a255fd13a2010953ad10146 (patch) | |
tree | 064f5cdc1ab7ac98b8ffac38fb4686d5ef2bc5ba /devel/godot2 | |
parent | d87475f096cdc8a2e3878301a2c99da8b123728d (diff) | |
download | ports-092af8a5ecad52802a255fd13a2010953ad10146.tar.gz ports-092af8a5ecad52802a255fd13a2010953ad10146.zip |
- Rename godot, godot-tools to godot2, godot2-tools in preparation for godot 3
- Fix godot consumers to use godot2
PR: 224604
Submitted by: FreeBSD@ShaneWare.Biz (maintainer)
Notes
Notes:
svn path=/head/; revision=464714
Diffstat (limited to 'devel/godot2')
19 files changed, 610 insertions, 0 deletions
diff --git a/devel/godot2/Makefile b/devel/godot2/Makefile new file mode 100644 index 000000000000..bf67517ec2f8 --- /dev/null +++ b/devel/godot2/Makefile @@ -0,0 +1,102 @@ +# Created by: Shane Ambler <FreeBSD@Shaneware.biz> +# $FreeBSD$ + +PORTNAME= godot +PORTVERSION= 2.1.4 +DISTVERSIONSUFFIX= -stable +PORTREVISION= 0 +CATEGORIES= devel games +PKGNAMESUFFIX?= 2 + +MAINTAINER= FreeBSD@Shaneware.biz +COMMENT?= Game runtime engine + +LICENSE= MIT CC-BY-3.0 +LICENSE_COMB= multi +LICENSE_FILE_CC-BY-3.0= ${WRKSRC}/LOGO_LICENSE.md +LICENSE_FILE_MIT= ${WRKSRC}/LICENSE.txt + +LIB_DEPENDS= libfreetype.so:print/freetype2 \ + libpng.so:graphics/png \ + libmpcdec.so:audio/musepack \ + libspeex.so:audio/speex +RUN_DEPENDS= xdg-user-dir:devel/xdg-user-dirs \ + xdg-open:devel/xdg-utils \ + xmessage:x11/xmessage + +USE_GITHUB= yes +GH_ACCOUNT= godotengine + +USES= compiler:c++11-lib pkgconfig scons ssl +USE_XORG= x11 xcursor xinerama xrandr +USE_GL= gl glu + +MAKE_ARGS+= platform=x11 builtin_speex=no builtin_libmpcdec=no +MAKE_ARGS+= ${MAKE_ARGS_${CHOSEN_COMPILER_TYPE}} +MAKE_ARGS_clang= use_llvm=yes +CXXFLAGS+= -DGLEW_NO_GLU -DRTAUDIO_ENABLED +CXXFLAGS_i386= ${CXXFLAGS_i386_${CHOSEN_COMPILER_TYPE}} +CXXFLAGS_i386_gcc= -march=i586 +CXXFLAGS_aarch64= -DNO_THREADS +CXXFLAGS_sparc64= -DNO_THREADS +CXXFLAGS_mips= -DNO_THREADS +CXXFLAGS_mips64= -DNO_THREADS +LDFLAGS+= -lspeex -lmpcdec + +OPTIONS_DEFINE= EXAMPLES TOOLS +OPTIONS_DEFAULT= OSS +# Moved to devel/godot-tools +OPTIONS_EXCLUDE?= EXAMPLES TOOLS +OPTIONS_GROUP= AUDIO +OPTIONS_GROUP_AUDIO= ALSA OSS PULSEAUDIO + +AUDIO_DESC= Audio support +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_MAKE_ARGS= alsa=yes +EXAMPLES_GH_PROJECT= godot-demo-projects:DEMOS +EXAMPLES_PORTEXAMPLES= * +OSS_MAKE_ARGS= oss=yes +PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio +PULSEAUDIO_MAKE_ARGS= pulseaudio=yes +TOOLS_DESC= Include development tools (IDE) +TOOLS_MAKE_ARGS= target=release_debug tools=yes +TOOLS_MAKE_ARGS_OFF= target=release tools=no +TOOLS_DESKTOP_ENTRIES= "Godot-v2" "${COMMENT}" "${GODOTFILE}" \ + "${GODOTFILE}" "Development;IDE;" "" +TOOLS_PLIST_FILES= share/pixmaps/${GODOTFILE}.png \ + share/pixmaps/${GODOTFILE}.svg + +GODOTFILE= ${PORTNAME}${PKGNAMESUFFIX} +PLIST_FILES= bin/${GODOTFILE} +# rename to prevent conflict with godot v3 +EXAMPLESDIR= ${PREFIX}/share/examples/godot2 + +.ifmake makesum +# Always include optional distfiles +.MAKEFLAGS: WITH="${OPTIONS_DEFINE}" OPTIONS_EXCLUDE= +.endif + +post-patch: + @${REINPLACE_CMD} -e 's|custom_build|${OPSYS}_Ports_build|' \ + ${WRKSRC}/methods.py + @${REINPLACE_CMD} -e 's|/usr/bin|${PREFIX}/bin|' \ + ${WRKSRC}/platform/x11/os_x11.cpp + +# The official godot binary name reflects options used to compile +# We just want a simple name matching the portname +# This gives us bin/godot for runtime and bin/godot-tools for the IDE +do-install: + cd ${WRKSRC}/bin && ${INSTALL_PROGRAM} godot.x11* \ + ${STAGEDIR}/${PREFIX}/bin/${GODOTFILE} + +do-install-EXAMPLES-on: + (cd ${WRKSRC_DEMOS} && ${COPYTREE_SHARE} "${PORTEXAMPLES}" \ + ${STAGEDIR}${EXAMPLESDIR}) + +do-install-TOOLS-on: + ${INSTALL_DATA} ${WRKSRC}/icon.png \ + ${STAGEDIR}${PREFIX}/share/pixmaps/${GODOTFILE}.png + ${INSTALL_DATA} ${WRKSRC}/icon.svg \ + ${STAGEDIR}${PREFIX}/share/pixmaps/${GODOTFILE}.svg + +.include <bsd.port.mk> diff --git a/devel/godot2/distinfo b/devel/godot2/distinfo new file mode 100644 index 000000000000..718f7c7fdd72 --- /dev/null +++ b/devel/godot2/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1514402523 +SHA256 (godotengine-godot-2.1.4-stable_GH0.tar.gz) = 07cf3b01367d5ea53805f144bc60711bd79efb53f1f88d57d6a706e6944de8d7 +SIZE (godotengine-godot-2.1.4-stable_GH0.tar.gz) = 14811915 +SHA256 (godotengine-godot-demo-projects-2.1.4-stable_GH0.tar.gz) = f474381ba834d37cfce45c0130dad16d907a4ce28cde94f35c7d96a72f164d75 +SIZE (godotengine-godot-demo-projects-2.1.4-stable_GH0.tar.gz) = 20534045 diff --git a/devel/godot2/files/patch-SConstruct b/devel/godot2/files/patch-SConstruct new file mode 100644 index 000000000000..3716b3fe6f87 --- /dev/null +++ b/devel/godot2/files/patch-SConstruct @@ -0,0 +1,36 @@ +--- SConstruct.orig 2016-11-15 18:44:21 UTC ++++ SConstruct +@@ -65,7 +65,7 @@ elif (os.name == "nt"): + if (os.getenv("VSINSTALLDIR") == None or platform_arg == "android"): + custom_tools = ['mingw'] + +-env_base = Environment(tools=custom_tools) ++env_base = Environment(tools=custom_tools, ENV = os.environ) + if 'TERM' in os.environ: + env_base['ENV']['TERM'] = os.environ['TERM'] + env_base.AppendENVPath('PATH', os.getenv('PATH')) +@@ -247,15 +247,16 @@ if selected_platform in platform_list: + if env["extra_suffix"] != '': + env.extra_suffix += '.' + env["extra_suffix"] + +- CCFLAGS = env.get('CCFLAGS', '') +- env['CCFLAGS'] = '' +- +- env.Append(CCFLAGS=string.split(str(CCFLAGS))) +- +- CFLAGS = env.get('CFLAGS', '') +- env['CFLAGS'] = '' +- ++ env['CC'] = os.environ['CC'] ++ env['CXX'] = os.environ['CXX'] ++ ++ CFLAGS = os.environ['CFLAGS'] ++ env['CFLAGS'] = [] + env.Append(CFLAGS=string.split(str(CFLAGS))) ++ ++ CCFLAGS = os.environ['CXXFLAGS'] ++ env['CCFLAGS'] = [] ++ env.Append(CCFLAGS=string.split(str(CCFLAGS))) + + LINKFLAGS = env.get('LINKFLAGS', '') + env['LINKFLAGS'] = '' diff --git a/devel/godot2/files/patch-core_image.cpp b/devel/godot2/files/patch-core_image.cpp new file mode 100644 index 000000000000..721e46f563bf --- /dev/null +++ b/devel/godot2/files/patch-core_image.cpp @@ -0,0 +1,35 @@ +--- core/image.cpp.orig 2018-01-10 18:34:14 UTC ++++ core/image.cpp +@@ -1518,8 +1518,8 @@ Error Image::_decompress_bc() { + col_b |= src[2]; + + uint8_t table[4][4] = { +- { (col_a >> 11) << 3, ((col_a >> 5) & 0x3f) << 2, ((col_a)&0x1f) << 3, 255 }, +- { (col_b >> 11) << 3, ((col_b >> 5) & 0x3f) << 2, ((col_b)&0x1f) << 3, 255 }, ++ { static_cast<uint8_t>((col_a >> 11) << 3), static_cast<uint8_t>(((col_a >> 5) & 0x3f) << 2), static_cast<uint8_t>(((col_a)&0x1f) << 3), 255 }, ++ { static_cast<uint8_t>((col_b >> 11) << 3), static_cast<uint8_t>(((col_b >> 5) & 0x3f) << 2), static_cast<uint8_t>(((col_b)&0x1f) << 3), 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 } + }; +@@ -1611,8 +1611,8 @@ Error Image::_decompress_bc() { + col_b |= src[8 + 2]; + + uint8_t table[4][4] = { +- { (col_a >> 11) << 3, ((col_a >> 5) & 0x3f) << 2, ((col_a)&0x1f) << 3, 255 }, +- { (col_b >> 11) << 3, ((col_b >> 5) & 0x3f) << 2, ((col_b)&0x1f) << 3, 255 }, ++ { static_cast<uint8_t>((col_a >> 11) << 3), static_cast<uint8_t>(((col_a >> 5) & 0x3f) << 2), static_cast<uint8_t>(((col_a)&0x1f) << 3), 255 }, ++ { static_cast<uint8_t>((col_b >> 11) << 3), static_cast<uint8_t>(((col_b >> 5) & 0x3f) << 2), static_cast<uint8_t>(((col_b)&0x1f) << 3), 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 } + }; +@@ -1722,8 +1722,8 @@ Error Image::_decompress_bc() { + col_b |= src[8 + 2]; + + uint8_t table[4][4] = { +- { (col_a >> 11) << 3, ((col_a >> 5) & 0x3f) << 2, ((col_a)&0x1f) << 3, 255 }, +- { (col_b >> 11) << 3, ((col_b >> 5) & 0x3f) << 2, ((col_b)&0x1f) << 3, 255 }, ++ { static_cast<uint8_t>((col_a >> 11) << 3), static_cast<uint8_t>(((col_a >> 5) & 0x3f) << 2), static_cast<uint8_t>(((col_a)&0x1f) << 3), 255 }, ++ { static_cast<uint8_t>((col_b >> 11) << 3), static_cast<uint8_t>(((col_b >> 5) & 0x3f) << 2), static_cast<uint8_t>(((col_b)&0x1f) << 3), 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 } + }; diff --git a/devel/godot2/files/patch-core_ustring.cpp b/devel/godot2/files/patch-core_ustring.cpp new file mode 100644 index 000000000000..59472a6236aa --- /dev/null +++ b/devel/godot2/files/patch-core_ustring.cpp @@ -0,0 +1,11 @@ +--- core/ustring.cpp.orig 2018-01-10 18:53:28 UTC ++++ core/ustring.cpp +@@ -3199,7 +3199,7 @@ String String::http_unescape() const { + if ((ord1 >= '0' && ord1 <= '9') || (ord1 >= 'A' && ord1 <= 'Z')) { + CharType ord2 = ord_at(i + 2); + if ((ord2 >= '0' && ord2 <= '9') || (ord2 >= 'A' && ord2 <= 'Z')) { +- char bytes[2] = { ord1, ord2 }; ++ char bytes[2] = { static_cast<char>(ord1), static_cast<char>(ord2) }; + res += (char)strtol(bytes, NULL, 16); + i += 2; + } diff --git a/devel/godot2/files/patch-drivers_SCsub b/devel/godot2/files/patch-drivers_SCsub new file mode 100644 index 000000000000..ada05634533e --- /dev/null +++ b/devel/godot2/files/patch-drivers_SCsub @@ -0,0 +1,11 @@ +--- drivers/SCsub.orig 2016-11-30 21:41:21 UTC ++++ drivers/SCsub +@@ -14,7 +14,7 @@ SConscript('windows/SCsub') + # Sounds drivers + SConscript('alsa/SCsub') + SConscript('pulseaudio/SCsub') +-if (env["platform"] == "windows"): ++if (env["platform"] == "windows") or (env["platform"] == "x11"): + SConscript("rtaudio/SCsub") + + # Graphics drivers diff --git a/devel/godot2/files/patch-drivers_gles2_rasterizer__gles2.cpp b/devel/godot2/files/patch-drivers_gles2_rasterizer__gles2.cpp new file mode 100644 index 000000000000..8faf77fe3ed4 --- /dev/null +++ b/devel/godot2/files/patch-drivers_gles2_rasterizer__gles2.cpp @@ -0,0 +1,30 @@ +--- drivers/gles2/rasterizer_gles2.cpp.orig 2018-01-10 11:36:45 UTC ++++ drivers/gles2/rasterizer_gles2.cpp +@@ -2135,9 +2135,9 @@ Error RasterizerGLES2::_surface_set_arra + for (int i = 0; i < p_surface->array_len; i++) { + + GLbyte vector[4] = { +- CLAMP(src[i].x * 127, -128, 127), +- CLAMP(src[i].y * 127, -128, 127), +- CLAMP(src[i].z * 127, -128, 127), ++ static_cast<GLbyte>CLAMP(src[i].x * 127, -128, 127), ++ static_cast<GLbyte>CLAMP(src[i].y * 127, -128, 127), ++ static_cast<GLbyte>CLAMP(src[i].z * 127, -128, 127), + 0, + }; + +@@ -2169,10 +2169,10 @@ Error RasterizerGLES2::_surface_set_arra + for (int i = 0; i < p_surface->array_len; i++) { + + GLbyte xyzw[4] = { +- CLAMP(src[i * 4 + 0] * 127, -128, 127), +- CLAMP(src[i * 4 + 1] * 127, -128, 127), +- CLAMP(src[i * 4 + 2] * 127, -128, 127), +- CLAMP(src[i * 4 + 3] * 127, -128, 127) ++ static_cast<GLbyte>CLAMP(src[i * 4 + 0] * 127, -128, 127), ++ static_cast<GLbyte>CLAMP(src[i * 4 + 1] * 127, -128, 127), ++ static_cast<GLbyte>CLAMP(src[i * 4 + 2] * 127, -128, 127), ++ static_cast<GLbyte>CLAMP(src[i * 4 + 3] * 127, -128, 127) + }; + + copymem(&p_mem[a.ofs + i * stride], xyzw, a.size); diff --git a/devel/godot2/files/patch-drivers_rtaudio_audio__driver__rtaudio.cpp b/devel/godot2/files/patch-drivers_rtaudio_audio__driver__rtaudio.cpp new file mode 100644 index 000000000000..39fbefd0727f --- /dev/null +++ b/devel/godot2/files/patch-drivers_rtaudio_audio__driver__rtaudio.cpp @@ -0,0 +1,18 @@ +--- drivers/rtaudio/audio_driver_rtaudio.cpp.orig 2016-08-09 07:52:15 UTC ++++ drivers/rtaudio/audio_driver_rtaudio.cpp +@@ -35,8 +35,14 @@ const char* AudioDriverRtAudio::get_name + + #ifdef OSX_ENABLED + return "RtAudio-OSX"; +-#elif defined(UNIX_ENABLED) ++#elif defined(UNIX_ENABLED) && (defined(ALSA_ENABLED) || defined(PULSEAUDIO_ENABLED) || defined(OSS_ENABLED)) ++#if defined(OSS_ENABLED) ++ return "RtAudio-OSS"; ++#elif defined(ALSA_ENABLED) + return "RtAudio-ALSA"; ++#elif defined(PULSEAUDIO_ENABLED) ++ return "RtAudio-PulseAudio"; ++#endif + #elif defined(WINDOWS_ENABLED) + return "RtAudio-DirectSound"; + #else diff --git a/devel/godot2/files/patch-drivers_unix_os__unix.cpp b/devel/godot2/files/patch-drivers_unix_os__unix.cpp new file mode 100644 index 000000000000..1180857446fd --- /dev/null +++ b/devel/godot2/files/patch-drivers_unix_os__unix.cpp @@ -0,0 +1,54 @@ +--- drivers/unix/os_unix.cpp.orig 2017-08-28 01:55:12 UTC ++++ drivers/unix/os_unix.cpp +@@ -51,6 +51,7 @@ + + #if defined(__FreeBSD__) || defined(__OpenBSD__) + #include <sys/param.h> ++#include <sys/sysctl.h> + #endif + #include "globals.h" + #include <assert.h> +@@ -375,17 +376,7 @@ Error OS_Unix::execute(const String &p_p + args.push_back((char *)cs[i].get_data()); // shitty C cast + args.push_back(0); + +-#ifdef __FreeBSD__ +- if (p_path.find("/")) { +- // exec name contains path so use it +- execv(p_path.utf8().get_data(), &args[0]); +- } else { +- // use program name and search through PATH to find it +- execvp(getprogname(), &args[0]); +- } +-#else + execv(p_path.utf8().get_data(), &args[0]); +-#endif + // still alive? something failed.. + fprintf(stderr, "**ERROR** OS_Unix::execute - Could not create child process while executing: %s\n", p_path.utf8().get_data()); + abort(); +@@ -499,12 +490,24 @@ String OS_Unix::get_executable_path() co + return OS::get_executable_path(); + } + return b; +-#elif defined(__FreeBSD__) || defined(__OpenBSD__) ++#elif defined(__OpenBSD__) + char resolved_path[MAXPATHLEN]; + + realpath(OS::get_executable_path().utf8().get_data(), resolved_path); + + return String(resolved_path); ++ ++#elif defined(__FreeBSD__) ++ int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }; ++ char buf[MAXPATHLEN]; ++ size_t len = sizeof(buf); ++ if (sysctl(mib, 4, buf, &len, NULL, 0) != 0) { ++ WARN_PRINT("Couldn't get executable path from sysctl"); ++ return OS::get_executable_path(); ++ } ++ String b; ++ b.parse_utf8(buf); ++ return b; + #elif defined(__APPLE__) + char temp_path[1]; + uint32_t buff_size = 1; diff --git a/devel/godot2/files/patch-modules_speex_audio__stream__speex.cpp b/devel/godot2/files/patch-modules_speex_audio__stream__speex.cpp new file mode 100644 index 000000000000..9cb0eac898e6 --- /dev/null +++ b/devel/godot2/files/patch-modules_speex_audio__stream__speex.cpp @@ -0,0 +1,11 @@ +--- modules/speex/audio_stream_speex.cpp.orig 2017-12-28 01:20:49 UTC ++++ modules/speex/audio_stream_speex.cpp +@@ -29,7 +29,7 @@ + #include "audio_stream_speex.h" + + #include "os/os.h" +-#include "os_support.h" ++#include "thirdparty/speex/os_support.h" + #define READ_CHUNK 1024 + + static _FORCE_INLINE_ uint16_t le_short(uint16_t s) { diff --git a/devel/godot2/files/patch-platform_x11_detect.py b/devel/godot2/files/patch-platform_x11_detect.py new file mode 100644 index 000000000000..ee3e000dd2bb --- /dev/null +++ b/devel/godot2/files/patch-platform_x11_detect.py @@ -0,0 +1,97 @@ +--- ./platform/x11/detect.py.orig 2017-08-27 16:25:12 UTC ++++ ./platform/x11/detect.py +@@ -56,7 +56,9 @@ def get_opts(): + ('use_sanitizer', 'Use llvm compiler sanitize address', 'no'), + ('use_leak_sanitizer', 'Use llvm compiler sanitize memory leaks', 'no'), + ('use_lto', 'Use link time optimization', 'no'), +- ('pulseaudio', 'Detect & Use pulseaudio', 'yes'), ++ ('alsa','Detect & Use alsa audio','no'), ++ ('oss','Detect & Use OSS audio','no'), ++ ('pulseaudio', 'Detect & Use pulseaudio', 'no'), + ('udev', 'Use udev for gamepad connection callbacks', 'no'), + ('debug_release', 'Add debug symbols to release version', 'no'), + ] +@@ -84,10 +86,6 @@ def configure(env): + + env.Append(CPPPATH=['#platform/x11']) + if (env["use_llvm"] == "yes"): +- if 'clang++' not in env['CXX']: +- env["CC"] = "clang" +- env["CXX"] = "clang++" +- env["LD"] = "clang++" + env.Append(CPPFLAGS=['-DTYPED_METHOD_BIND']) + env.extra_suffix = ".llvm" + elif (os.system("gcc --version > /dev/null 2>&1") == 0): # GCC +@@ -125,19 +123,16 @@ def configure(env): + env.Append(LINKFLAGS=['-pipe']) + + if (env["target"] == "release"): +- env.Prepend(CCFLAGS=['-Ofast']) +- if (env["debug_release"] == "yes"): +- env.Prepend(CCFLAGS=['-g2']) ++ ++ pass + + elif (env["target"] == "release_debug"): + +- env.Prepend(CCFLAGS=['-O2', '-ffast-math', '-DDEBUG_ENABLED']) +- if (env["debug_release"] == "yes"): +- env.Prepend(CCFLAGS=['-g2']) ++ env.Prepend(CCFLAGS=['-DDEBUG_ENABLED']) + + elif (env["target"] == "debug"): + +- env.Prepend(CCFLAGS=['-g2', '-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED']) ++ env.Prepend(CCFLAGS=['-DDEBUG_ENABLED', '-DDEBUG_MEMORY_ENABLED']) + + env.ParseConfig('pkg-config x11 --cflags --libs') + env.ParseConfig('pkg-config xinerama --cflags --libs') +@@ -148,13 +143,14 @@ def configure(env): + # Currently not compatible with OpenSSL 1.1.0+ + # https://github.com/godotengine/godot/issues/8624 + import subprocess +- openssl_version = subprocess.check_output(['pkg-config', 'openssl', '--modversion']).strip('\n') ++ openssl_version = '1.0.2' #subprocess.check_output(['pkg-config', 'openssl', '--modversion']).strip('\n') + if (openssl_version >= "1.1.0"): + print("Error: Found system-installed OpenSSL %s, currently only supporting version 1.0.x." % openssl_version) + print("Aborting.. You can compile with 'builtin_openssl=yes' to use the bundled version.\n") + sys.exit(255) + +- env.ParseConfig('pkg-config openssl --cflags --libs') ++ #env.ParseConfig('pkg-config openssl --cflags --libs') ++ env.ParseConfig('echo -lssl -lcrypto') + + if (env['builtin_libwebp'] == 'no'): + env.ParseConfig('pkg-config libwebp --cflags --libs') +@@ -199,12 +195,13 @@ def configure(env): + if (env['builtin_glew'] == 'no'): + env.ParseConfig('pkg-config glew --cflags --libs') + +- if os.system("pkg-config --exists alsa") == 0: +- print("Enabling ALSA") +- env.Append(CPPFLAGS=["-DALSA_ENABLED"]) +- env.ParseConfig('pkg-config alsa --cflags --libs') +- else: +- print("ALSA libraries not found, disabling driver") ++ if (env["alsa"]=="yes"): ++ if os.system("pkg-config --exists alsa")==0: ++ print("Enabling ALSA") ++ env.Append(CPPFLAGS=["-DALSA_ENABLED"]) ++ env.Append(LIBS=['asound']) ++ else: ++ print("ALSA libraries not found, disabling driver") + + if (platform.system() == "Linux"): + env.Append(CPPFLAGS=["-DJOYDEV_ENABLED"]) +@@ -219,6 +216,11 @@ def configure(env): + else: + print("libudev development libraries not found, disabling udev support") + ++ if (env["oss"]=="yes"): ++ print("Enabling OSS Audio") ++ env.Append(CPPFLAGS=["-DOSS_ENABLED"]) ++ env.Append(CCFLAGS=['-Ithirdparty/rtaudio']) ++ + if (env["pulseaudio"] == "yes"): + if not os.system("pkg-config --exists libpulse-simple"): + print("Enabling PulseAudio") diff --git a/devel/godot2/files/patch-platform_x11_os__x11.cpp b/devel/godot2/files/patch-platform_x11_os__x11.cpp new file mode 100644 index 000000000000..03f432bab2c7 --- /dev/null +++ b/devel/godot2/files/patch-platform_x11_os__x11.cpp @@ -0,0 +1,11 @@ +--- platform/x11/os_x11.cpp.orig 2018-01-10 10:08:3 UTC ++++ platform/x11/os_x11.cpp +@@ -1243,7 +1243,7 @@ static Property read_property(Display *p + + } while (bytes_after != 0); + +- Property p = { ret, actual_format, nitems, actual_type }; ++ Property p = { ret, actual_format, (int)nitems, actual_type }; + + return p; + } diff --git a/devel/godot2/files/patch-servers_audio_audio__mixer__sw.cpp b/devel/godot2/files/patch-servers_audio_audio__mixer__sw.cpp new file mode 100644 index 000000000000..f6787438723c --- /dev/null +++ b/devel/godot2/files/patch-servers_audio_audio__mixer__sw.cpp @@ -0,0 +1,24 @@ +--- servers/audio/audio_mixer_sw.cpp.orig 2018-01-10 15:33:12 UTC ++++ servers/audio/audio_mixer_sw.cpp +@@ -280,7 +280,7 @@ void AudioMixerSW::mix_channel(Channel & + //stereo pan + float pan = c.pan * 0.5 + 0.5; + float panv[2] = { +- (1.0 - pan) * (1 << MIX_VOL_FRAC_BITS), ++ (1.0f - pan) * (1 << MIX_VOL_FRAC_BITS), + (pan) * (1 << MIX_VOL_FRAC_BITS) + }; + +@@ -297,9 +297,9 @@ void AudioMixerSW::mix_channel(Channel & + float pany = c.depth * 0.5 + 0.5; + // with this model every speaker plays at 0.25 energy at the center.. i'm not sure if it's correct but it seems to be balanced + float panv[4] = { +- (1.0 - pany) * (1.0 - panx) * (1 << MIX_VOL_FRAC_BITS), +- (1.0 - pany) * (panx) * (1 << MIX_VOL_FRAC_BITS), +- (pany) * (1.0 - panx) * (1 << MIX_VOL_FRAC_BITS), ++ (1.0f - pany) * (1.0f - panx) * (1 << MIX_VOL_FRAC_BITS), ++ (1.0f - pany) * (panx) * (1 << MIX_VOL_FRAC_BITS), ++ (pany) * (1.0f - panx) * (1 << MIX_VOL_FRAC_BITS), + (pany) * (panx) * (1 << MIX_VOL_FRAC_BITS) + }; + diff --git a/devel/godot2/files/patch-servers_spatial__sound__2d_spatial__sound__2d__server__sw.cpp b/devel/godot2/files/patch-servers_spatial__sound__2d_spatial__sound__2d__server__sw.cpp new file mode 100644 index 000000000000..923ed3cf5df3 --- /dev/null +++ b/devel/godot2/files/patch-servers_spatial__sound__2d_spatial__sound__2d__server__sw.cpp @@ -0,0 +1,20 @@ +--- servers/spatial_sound_2d/spatial_sound_2d_server_sw.cpp.orig 2018-01-10 18:13:07 UTC ++++ servers/spatial_sound_2d/spatial_sound_2d_server_sw.cpp +@@ -675,7 +675,7 @@ bool SpatialSound2DServerSW::internal_bu + case 2: { + + float p = sd.panning.x * 0.5 + 0.5; +- float panf[2] = { (1.0 - p), p }; ++ float panf[2] = { (1.0f - p), p }; + panf[0] *= sd.volume; + panf[1] *= sd.volume; + +@@ -726,7 +726,7 @@ bool SpatialSound2DServerSW::internal_bu + + float xp = sd.panning.x * 0.5 + 0.5; + float yp = sd.panning.y * 0.5 + 0.5; +- float panf[4] = { (1.0 - xp) * (1.0 - yp), (xp) * (1.0 - yp), (1.0 - xp) * (yp), (xp) * (yp) }; ++ float panf[4] = { (1.0f - xp) * (1.0f - yp), (xp) * (1.0f - yp), (1.0f - xp) * (yp), (xp) * (yp) }; + panf[0] *= sd.volume; + panf[1] *= sd.volume; + panf[2] *= sd.volume; diff --git a/devel/godot2/files/patch-servers_spatial__sound_spatial__sound__server__sw.cpp b/devel/godot2/files/patch-servers_spatial__sound_spatial__sound__server__sw.cpp new file mode 100644 index 000000000000..cfd7aa0c5a3c --- /dev/null +++ b/devel/godot2/files/patch-servers_spatial__sound_spatial__sound__server__sw.cpp @@ -0,0 +1,20 @@ +--- servers/spatial_sound/spatial_sound_server_sw.cpp.orig 2018-01-10 16:17:16 UTC ++++ servers/spatial_sound/spatial_sound_server_sw.cpp +@@ -689,7 +689,7 @@ bool SpatialSoundServerSW::internal_buff + case 2: { + + float p = sd.panning.x * 0.5 + 0.5; +- float panf[2] = { (1.0 - p), p }; ++ float panf[2] = { (1.0f - p), p }; + panf[0] *= sd.volume; + panf[1] *= sd.volume; + +@@ -740,7 +740,7 @@ bool SpatialSoundServerSW::internal_buff + + float xp = sd.panning.x * 0.5 + 0.5; + float yp = sd.panning.y * 0.5 + 0.5; +- float panf[4] = { (1.0 - xp) * (1.0 - yp), (xp) * (1.0 - yp), (1.0 - xp) * (yp), (xp) * (yp) }; ++ float panf[4] = { (1.0f - xp) * (1.0f - yp), (xp) * (1.0f - yp), (1.0f - xp) * (yp), (xp) * (yp) }; + panf[0] *= sd.volume; + panf[1] *= sd.volume; + panf[2] *= sd.volume; diff --git a/devel/godot2/files/patch-thirdparty_glew_glew.c b/devel/godot2/files/patch-thirdparty_glew_glew.c new file mode 100644 index 000000000000..3c7c2653c2c5 --- /dev/null +++ b/devel/godot2/files/patch-thirdparty_glew_glew.c @@ -0,0 +1,11 @@ +--- thirdparty/glew/glew.c.orig 2017-12-28 02:06:18 UTC ++++ thirdparty/glew/glew.c +@@ -30,7 +30,7 @@ + ** THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#include <GL/glew.h> ++#include "thirdparty/glew/GL/glew.h" + + #if defined(_WIN32) + # include <GL/wglew.h> diff --git a/devel/godot2/files/patch-thirdparty_rtaudio_RtAudio.cpp b/devel/godot2/files/patch-thirdparty_rtaudio_RtAudio.cpp new file mode 100644 index 000000000000..02dd71439c98 --- /dev/null +++ b/devel/godot2/files/patch-thirdparty_rtaudio_RtAudio.cpp @@ -0,0 +1,89 @@ +--- thirdparty/rtaudio/RtAudio.cpp.orig 2016-08-09 07:52:15 UTC ++++ thirdparty/rtaudio/RtAudio.cpp +@@ -8589,6 +8589,12 @@ bool RtApiPulse::probeDeviceOpen( unsign + #include <errno.h> + #include <math.h> + ++#if defined(__FreeBSD__) ++#define SND_DEVICE "/dev/dsp" ++#else ++#define SND_DEVICE "/dev/mixer" ++#endif ++ + static void *ossCallbackHandler(void * ptr); + + // A structure to hold various information related to the OSS API +@@ -8615,9 +8621,11 @@ RtApiOss :: ~RtApiOss() + + unsigned int RtApiOss :: getDeviceCount( void ) + { +- int mixerfd = open( "/dev/mixer", O_RDWR, 0 ); ++ int mixerfd = open( SND_DEVICE, O_RDWR, 0 ); + if ( mixerfd == -1 ) { +- errorText_ = "RtApiOss::getDeviceCount: error opening '/dev/mixer'."; ++ errorText_ = "RtApiOss::getDeviceCount: error opening '"; ++ errorText_ += SND_DEVICE; ++ errorText_ += "'."; + error( RtAudioError::WARNING ); + return 0; + } +@@ -8639,9 +8647,11 @@ RtAudio::DeviceInfo RtApiOss :: getDevic + RtAudio::DeviceInfo info; + info.probed = false; + +- int mixerfd = open( "/dev/mixer", O_RDWR, 0 ); ++ int mixerfd = open( SND_DEVICE, O_RDWR, 0 ); + if ( mixerfd == -1 ) { +- errorText_ = "RtApiOss::getDeviceInfo: error opening '/dev/mixer'."; ++ errorText_ = "RtApiOss::getDeviceInfo: error opening '"; ++ errorText_ += SND_DEVICE; ++ errorText_ += "'."; + error( RtAudioError::WARNING ); + return info; + } +@@ -8697,8 +8707,10 @@ RtAudio::DeviceInfo RtApiOss :: getDevic + info.nativeFormats |= RTAUDIO_SINT8; + if ( mask & AFMT_S32_LE || mask & AFMT_S32_BE ) + info.nativeFormats |= RTAUDIO_SINT32; ++#if defined(AFMT_FLOAT) + if ( mask & AFMT_FLOAT ) + info.nativeFormats |= RTAUDIO_FLOAT32; ++#endif + if ( mask & AFMT_S24_LE || mask & AFMT_S24_BE ) + info.nativeFormats |= RTAUDIO_SINT24; + +@@ -8757,9 +8769,11 @@ bool RtApiOss :: probeDeviceOpen( unsign + RtAudioFormat format, unsigned int *bufferSize, + RtAudio::StreamOptions *options ) + { +- int mixerfd = open( "/dev/mixer", O_RDWR, 0 ); ++ int mixerfd = open( SND_DEVICE, O_RDWR, 0 ); + if ( mixerfd == -1 ) { +- errorText_ = "RtApiOss::probeDeviceOpen: error opening '/dev/mixer'."; ++ errorText_ = "RtApiOss::probeDeviceOpen: error opening '"; ++ errorText_ += SND_DEVICE; ++ errorText_ += "'."; + return FAILURE; + } + +@@ -8787,7 +8801,11 @@ bool RtApiOss :: probeDeviceOpen( unsign + } + + oss_audioinfo ainfo; ++#if defined(__FreeBSD__) ++ ainfo.dev = -1; // specify -1 to get default device ++#else + ainfo.dev = device; ++#endif + result = ioctl( mixerfd, SNDCTL_AUDIOINFO, &ainfo ); + close( mixerfd ); + if ( result == -1 ) { +@@ -9025,7 +9043,7 @@ bool RtApiOss :: probeDeviceOpen( unsign + } + + // Verify the sample rate setup worked. +- if ( abs( srate - sampleRate ) > 100 ) { ++ if ( abs( srate - (int)sampleRate ) > 100 ) { + close( fd ); + errorStream_ << "RtApiOss::probeDeviceOpen: device (" << ainfo.name << ") does not support sample rate (" << sampleRate << ")."; + errorText_ = errorStream_.str(); diff --git a/devel/godot2/files/patch-thirdparty_rtaudio_RtAudio.h b/devel/godot2/files/patch-thirdparty_rtaudio_RtAudio.h new file mode 100644 index 000000000000..010a8222e1a8 --- /dev/null +++ b/devel/godot2/files/patch-thirdparty_rtaudio_RtAudio.h @@ -0,0 +1,16 @@ +--- thirdparty/rtaudio/RtAudio.h.orig 2016-08-09 07:52:15 UTC ++++ thirdparty/rtaudio/RtAudio.h +@@ -5,7 +5,13 @@ + #if defined(OSX_ENABLED) + #define __MACOSX_CORE__ + #elif defined(UNIX_ENABLED) ++#if defined(OSS_ENABLED) ++ #define __LINUX_OSS__ ++#elif defined(ALSA_ENABLED) + #define __LINUX_ALSA__ ++#elif defined(PULSEAUDIO_ENABLED) ++ #define __LINUX_PULSE__ ++#endif + #elif defined(WINDOWS_ENABLED) + #if defined(WINRT_ENABLED) + #define __RTAUDIO_DUMMY__ diff --git a/devel/godot2/pkg-descr b/devel/godot2/pkg-descr new file mode 100644 index 000000000000..0359653751fd --- /dev/null +++ b/devel/godot2/pkg-descr @@ -0,0 +1,9 @@ +Godot is a multi-platform 2D and 3D game engine. It also provides a +feature rich development environment. + +Easily deploy your game on IOS, android, OSX, Linux, Steam, Windows or PS3. + +This port installs the older v2 to support projects that +haven't been updated for v3.0 + +WWW: http://www.godotengine.org/ |