#!/bin/sh # This is a shell archive echo x devel/rlvm mkdir -p devel/rlvm > /dev/null 2>&1 echo x devel/rlvm/files mkdir -p devel/rlvm/files > /dev/null 2>&1 echo x devel/rlvm/pkg-plist sed 's/^X//' > devel/rlvm/pkg-plist << 'SHAR_END' Xbin/rlvm Xman/man6/rlvm.6.gz Xshare/applications/rlvm.desktop Xshare/icons/hicolor/128x128/apps/rlvm.png Xshare/icons/hicolor/16x16/apps/rlvm.png Xshare/icons/hicolor/24x24/apps/rlvm.png Xshare/icons/hicolor/256x256/apps/rlvm.png Xshare/icons/hicolor/32x32/apps/rlvm.png Xshare/icons/hicolor/48x48/apps/rlvm.png X%%NLS%%share/locale/ja/LC_MESSAGES/rlvm.mo SHAR_END echo x devel/rlvm/pkg-descr sed 's/^X//' > devel/rlvm/pkg-descr << 'SHAR_END' Xrlvm is a Free Software reimplementation of VisualArt's KK's RealLive Xinterpreter, used in the games Kanon, Air, CLANNAD, Planetarian, XTomoyo After and Little Busters, among many others. X XWWW: http://www.elliotglaysher.org/rlvm/ SHAR_END echo x devel/rlvm/distinfo sed 's/^X//' > devel/rlvm/distinfo << 'SHAR_END' XSHA256 (rlvm-0.14.tar.gz) = a50a22016cbf87b0ed4d26a14e687c4540b01a2cf836a7f1471c0a9b50ebd8d5 XSIZE (rlvm-0.14.tar.gz) = 1933830 SHAR_END echo x devel/rlvm/Makefile sed 's/^X//' > devel/rlvm/Makefile << 'SHAR_END' X# $FreeBSD$ X XPORTNAME= rlvm XPORTVERSION= 0.14 XCATEGORIES= devel games X XMAINTAINER= jbeich@vfemail.net XCOMMENT= RealLive virtual machine clone X XLICENSE= GPLv2 GPLv3 MIT XLICENSE_COMB= multi X XBUILD_DEPENDS= utf8cpp>0:${PORTSDIR}/devel/utf8cpp XLIB_DEPENDS= libvorbisfile.so:${PORTSDIR}/audio/libvorbis \ X libboost_serialization.so:${PORTSDIR}/devel/boost-libs \ X libguichan.so:${PORTSDIR}/devel/guichan \ X libGLEW.so:${PORTSDIR}/graphics/glew \ X libjpeg.so:${PORTSDIR}/graphics/jpeg \ X libpng.so:${PORTSDIR}/graphics/png \ X libsmpeg.so:${PORTSDIR}/multimedia/smpeg X XUSE_GITHUB= yes XGH_ACCOUNT= eglaysher XGH_TAGNAME= release-${PORTVERSION} XGH_COMMIT= b88bfe0 X XUSES= compiler:c++11-lib pkgconfig scons XUSE_GL= yes XUSE_GNOME= gtk20 XUSE_SDL= image mixer ttf XEXCLUDE= GLEW SDL_image SDL_mixer SDL_ttf gmock gtest guichan \ X luabind utf8cpp # leaving only pygame, xclannad, *.cpp XEXTRACT_AFTER_ARGS=${EXCLUDE:S,^,--exclude vendor/,} XMAKE_ARGS= VERBOSE=1 XINSTALLS_ICONS= yes XPORTDOCS= AUTHORS.TXT NEWS.TXT README.md STATUS.TXT notes X XLDFLAGS+= -Wl,--as-needed # avoid overlinking (gtk deps) X XOPTIONS_DEFINE= DEBUG NLS TEST XOPTIONS_SUB= yes X XDEBUG_MAKE_ARGS_OFF=--release XNLS_USES= gettext XNLS_EXTRA_PATCHES_OFF=${FILESDIR}/extra-patch-disable-nls XTEST_USES= lua:51 XTEST_LIB_DEPENDS=libgtest.so:${PORTSDIR}/devel/googletest \ X libgmock.so:${PORTSDIR}/devel/googlemock \ X libluabind.so:${PORTSDIR}/devel/luabind XTEST_EXTRA_PATCHES_OFF=${FILESDIR}/extra-patch-disable-test X X# XXX replace with bsd.port.options.mk once 8.4-RELEASE is EOL X# COMPILER_TYPE is defined in .pre without /usr/share/mk/bsd.compiler.mk X.include X X.if ${COMPILER_TYPE} == "gcc" XCFLAGS+= -D_GLIBCXX_USE_C99 # XXX ports/193528 X.endif X Xpost-patch: X ${GREP} -Flr 'utf8cpp/' ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \ X -i .bak.utf8cpp -e 's,utf8cpp/,,' X# Default to TTF/ subdir where japanese/ fonts often are installed X ${GREP} -Flr '/usr/share' ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \ X -i .bak.paths \ X -e 's,/usr/share,${PREFIX}/share,g' \ X -e 's,share/fonts,lib/X11/fonts,' \ X -e 's,truetype/ttf-dejavu,dejavu,' \ X -e 's,truetype/mona,TrueType,' \ X -e 's,truetype/[^/"]*,TTF,' X Xpre-install: X.if ${PORT_OPTIONS:MTEST} X (cd ${WRKSRC} && build/${PORTNAME}_unittests) X.endif X Xdo-install: X ${INSTALL_PROGRAM} ${WRKSRC}/build/${PORTNAME} \ X ${STAGEDIR}${PREFIX}/bin X ${INSTALL_MAN} ${WRKSRC}/debian/${PORTNAME}.6 \ X ${STAGEDIR}${MAN6PREFIX}/man/man6 X ${INSTALL_DATA} ${WRKSRC}/src/platforms/gtk/${PORTNAME}.desktop \ X ${STAGEDIR}${DESKTOPDIR} X @(cd ${WRKSRC}/resources && for f in */${PORTNAME}.png; do \ X ${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/$${f%/*}x$${f%/*}/apps; \ X ${INSTALL_DATA} -v $$f \ X ${STAGEDIR}${PREFIX}/share/icons/hicolor/$${f%/*}x$${f%/*}/apps; \ X done) X.if ${PORT_OPTIONS:MNLS} X ${TAR} cf - -C${WRKSRC}/build/locale . | \ X ${TAR} xof - -C${STAGEDIR}${PREFIX}/share/locale X.endif X.if ${PORT_OPTIONS:MDOCS} X ${MKDIR} ${STAGEDIR}${DOCSDIR} X. for f in ${PORTDOCS:Nnotes} X ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR} X. endfor X ${TAR} cf - -C${WRKSRC}/doc notes | \ X ${TAR} xof - -C${STAGEDIR}${DOCSDIR} X.endif X X.include SHAR_END echo x devel/rlvm/files/patch-system-test-deps sed 's/^X//' > devel/rlvm/files/patch-system-test-deps << 'SHAR_END' X--- SConscript.luarlvm~ X+++ SConscript.luarlvm X@@ -52,8 +52,7 @@ script_machine_files = [ X if env['BUILD_LUA_TESTS'] == True: X test_env.Append(CPPPATH = [ env['ENV']['LUA_INCDIR'] ] ) X X- # Build our included copy of luabind. X- test_env.BuildSubcomponent("luabind") X+ test_env.Append(LIBS = ["luabind"]) X X test_env.RlvmProgram("lua_rlvm", ['test/lua_rlvm.cc', script_machine_files], X use_lib_set = ["SDL", "LUA"], X--- SConscript.test~ X+++ SConscript.test X@@ -23,8 +23,7 @@ test_env.Append(CPPPATH = ["#/test"]) X # We need to build gtest/gmock always. Downstream distributors: if you comment X # this out and add a ParseConfig, make sure to do it here in |test_env| instead X # of one of the environments that could link gtest into the main rlvm binary. X-test_env.BuildSubcomponent("gtest") X-test_env.BuildSubcomponent("gmock") X+test_env.Append(LIBS = ["gtest", "gmock"]) X X test_case_files = [ X "test/test_system/test_machine.cc", SHAR_END echo x devel/rlvm/files/extra-patch-disable-test sed 's/^X//' > devel/rlvm/files/extra-patch-disable-test << 'SHAR_END' X--- SConstruct~ X+++ SConstruct X@@ -387,24 +387,6 @@ else: X duplicate=0, X exports='env') X X-# Copy the platform independent SEEN.TXT files to output (we no longer depend X-# on rldev because I can no longer reliably compile it). X-env.SConscript("test/SConscript.rlc", X- variant_dir="build/test", X- duplicate=0, X- exports='env') X- X-# Build the rlvmTests binary that uses those SEEN.TXT files. X-env.SConscript("SConscript.test", X- variant_dir="$BUILD_DIR/", X- duplicate=0, X- exports='env') X- X-env.SConscript("SConscript.luarlvm", X- variant_dir="$BUILD_DIR/", X- duplicate=0, X- exports='env') X- X if GetOption("coverage"): X env.SConscript("SConscript.coverage", X variant_dir="$BUILD_DIR/", SHAR_END echo x devel/rlvm/files/patch-src_systems_sdl_sdl__graphics__system.cc sed 's/^X//' > devel/rlvm/files/patch-src_systems_sdl_sdl__graphics__system.cc << 'SHAR_END' X--- src/systems/sdl/sdl_graphics_system.cc~ X+++ src/systems/sdl/sdl_graphics_system.cc X@@ -32,7 +32,7 @@ X #include X #include X X-#if defined(__linux__) X+#if !defined(__APPLE__) X #include X #endif X X@@ -244,7 +244,7 @@ SDLGraphicsSystem::SDLGraphicsSystem(Sys X X SetWindowTitle(); X X-#if defined(__linux__) X+#if !defined(__APPLE__) X // We only set the icon on linux because OSX will use the icns file X // automatically and this doesn't look too awesome. X SDL_Surface* icon = IMG_Load("/usr/share/icons/hicolor/48x48/apps/rlvm.png"); SHAR_END echo x devel/rlvm/files/patch-SConstruct sed 's/^X//' > devel/rlvm/files/patch-SConstruct << 'SHAR_END' X--- SConstruct~ X+++ SConstruct X@@ -19,7 +19,12 @@ AddOption('--fullstatic', action='store_ X X # Set libraries used by all configurations and all binaries in rlvm. X env = Environment( X+ ENV=os.environ, X tools = ["default", "rlvm"], X+ **dict((k, v.split()) for k, v in ARGUMENTS.iteritems()) X+) X+ X+env.Append( X X LIBS = ["z"], X X@@ -87,13 +91,6 @@ else: X if GetOption("fullstatic"): X env["FULL_STATIC_BUILD"] = True X X-# Auto select the number of processors X-if os.path.exists('/proc'): X- cpus = len([l for l in open('/proc/cpuinfo') if l.startswith('processor\t')]) X-else: X- cpus = 1 X-env.SetOption('num_jobs', cpus + 1) X- X # Use timestamps change, followed by MD5 for speed X env.Decider('MD5-timestamp') X X@@ -277,11 +274,15 @@ if not config.CheckGuichan(): X print "(Using included copy of guichan)" X subcomponents.append("guichan") X X+# Get the configuration from sdl and freetype X+env.ParseConfig("sdl-config --cflags") X+env.ParseConfig("freetype-config --cflags --libs") X+ X # Really optional libraries that jagarl's file loaders take advantage of if on X # the system. X config.CheckLibWithHeader('png', 'png.h', "cpp") X-config.CheckLibWithHeader('jpeg', 'jpeglib.h', "cpp") X-config.CheckLibWithHeader('mad', 'mad.h', "cpp") X+config.CheckLibWithHeader('jpeg', 'jconfig.h', "cpp") X+config.CheckLibWithHeader('smpeg', 'smpeg/smpeg.h', "cpp") X X env = config.Finish() X X@@ -291,10 +292,6 @@ env = config.Finish() X if env['PLATFORM'] == 'darwin': X env.Append(LIBS=["SDL", "intl", "iconv"]) X X-# Get the configuration from sdl and freetype X-env.ParseConfig("sdl-config --cflags") X-env.ParseConfig("freetype-config --cflags --libs") X- X ######################################################################### X ## Building subcomponent functions X ######################################################################### X@@ -314,7 +311,6 @@ if GetOption('release'): X # Now add release optimizations to the environment X env.Append( X CPPFLAGS = [ X- "-Os", X "-DNDEBUG", X "-DBOOST_DISABLE_ASSERTS" X ] X@@ -360,13 +356,7 @@ elif GetOption('pprof'): X "profiler"] X ) X else: X- # Add debugging flags to all binaries here X- env.Append( X- CPPFLAGS = [ X- "-g", X- "-O0" X- ] X- ) X+ pass X X # Cross platform core of rlvm. Produces librlvm.a and libsystem_sdl.a X env.SConscript("SConscript", SHAR_END echo x devel/rlvm/files/patch-test_medium__object__promotion.cc sed 's/^X//' > devel/rlvm/files/patch-test_medium__object__promotion.cc << 'SHAR_END' XTo workaround the following error X X unknown file: Failure X C++ exception with description "ExpressionPiece::GetStringValue() invalid on this object" thrown in the test body. X [ FAILED ] MediumObjectPoromotion/PromotionTest.BgLayerPromotion/49, where GetParam() = ("recMulti", 1, (3, "\"file\"$\xFF\0\0\0\0$\xFF\xFF\0\0\0"), true) (1 ms) X X--- test/medium_object_promotion.cc~ X+++ test/medium_object_promotion.cc X@@ -246,10 +246,6 @@ std::vector data = { X 0, X TestMachine::Arg("file", 0), X SHOULD_PROMOTE_BG), X- std::make_tuple("recMulti", X- 1, X- TestMachine::Arg("file", 0, 255), X- SHOULD_PROMOTE_BG), X std::make_tuple("grpOpen", X 0, X TestMachine::Arg("file", 0), SHAR_END echo x devel/rlvm/files/patch-vendor_xclannad_wavfile.cc sed 's/^X//' > devel/rlvm/files/patch-vendor_xclannad_wavfile.cc << 'SHAR_END' X--- vendor/xclannad/wavfile.cc~ X+++ vendor/xclannad/wavfile.cc X@@ -23,6 +23,10 @@ X * X */ X X+#ifdef HAVE_CONFIG_H X+# include "config.h" X+#endif X+ X #include X #include X #include X@@ -738,7 +742,7 @@ void MP3FILE::Seek(int count) { X } while(pimpl->status != MP3FILE_impl::DONE && pimpl->write_pointer < pimpl->write_data_len); X return; X } X-#elif USE_SMPEG X+#elif HAVE_LIBSMPEG X #include X X struct MP3FILE_impl { SHAR_END echo x devel/rlvm/files/patch-SConscript.luarlvm sed 's/^X//' > devel/rlvm/files/patch-SConscript.luarlvm << 'SHAR_END' X--- SConscript.luarlvm~ X+++ SConscript.luarlvm X@@ -31,7 +31,7 @@ config = test_env.Configure() X # Building the luaRlvm test harness requires having lua installed; if we do X # have lua installed, go ahead and use it, but don't really worry if this fails X # since end users don't use this binary. X-if config.CheckLibWithHeader('lua5.1', 'lua5.1/lua.h', 'cpp'): X+if config.CheckLibWithHeader('lua-5.1', 'lua51/lua.h', 'cpp'): X env['BUILD_LUA_TESTS'] = True X else: X print "Not building luaRlvm. (Don't worry, it's only a testing tool!)" X@@ -50,7 +50,7 @@ script_machine_files = [ X ] X X if env['BUILD_LUA_TESTS'] == True: X- test_env.Append(CPPPATH = [ "/usr/include/lua5.1" ] ) X+ test_env.Append(CPPPATH = [ env['ENV']['LUA_INCDIR'] ] ) X X # Build our included copy of luabind. X test_env.BuildSubcomponent("luabind") SHAR_END echo x devel/rlvm/files/extra-patch-disable-nls sed 's/^X//' > devel/rlvm/files/extra-patch-disable-nls << 'SHAR_END' X--- SConstruct~ X+++ SConstruct X@@ -38,9 +38,6 @@ env = Environment( X CPPDEFINES = [ X "HAVE_CONFIG_H", X X- # We use gettext for translations. X- "ENABLE_NLS", X- X # This prevents conflicts between SDL and GLEW. I shouldn't have to do X # this, but the SDL_opengl.h and glew.h differ in const correctness... X "NO_SDL_GLEXT" X@@ -410,9 +407,3 @@ if GetOption("coverage"): X variant_dir="$BUILD_DIR/", X duplicate=0, X exports='env') X- X-# In addition to all that, we also want to build the translation files. X-env.Command("build/locale/ja/LC_MESSAGES/rlvm.mo", X- "po/ja.po", X- ["mkdir -p build/locale/ja/LC_MESSAGES/", X- "msgfmt -o build/locale/ja/LC_MESSAGES/rlvm.mo po/ja.po"]) SHAR_END exit