diff --git a/srcpkgs/SMC/files/smc.desktop b/srcpkgs/SMC/files/smc.desktop
deleted file mode 100644
index 9b7d84a0c2c..00000000000
--- a/srcpkgs/SMC/files/smc.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Secret Maryo Chronicles
-Exec=smc
-Icon=smc
-Terminal=false
-Categories=Game;ArcadeGame;
-StartupNotify=false
-
diff --git a/srcpkgs/SMC/files/smc.png b/srcpkgs/SMC/files/smc.png
deleted file mode 100644
index f02af1bfc0f..00000000000
Binary files a/srcpkgs/SMC/files/smc.png and /dev/null differ
diff --git a/srcpkgs/SMC/patches/fix-boost_filesystem.patch b/srcpkgs/SMC/patches/fix-boost_filesystem.patch
deleted file mode 100644
index 926ffb6afe9..00000000000
--- a/srcpkgs/SMC/patches/fix-boost_filesystem.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-Boost >= 1.5 renamed path::leaf() to path::filename().
-Function path(const string_type&, name_check) was removed,
-thus here we use path(const string_type&).
-
---- a/src/core/filesystem/filesystem.cpp	2015-10-30 19:17:02.512620204 +0100
-+++ b/src/core/filesystem/filesystem.cpp	2015-10-30 19:17:57.036620043 +0100
-@@ -64,7 +64,7 @@
- 
- bool Dir_Exists( const std::string &dir )
- {
--	return fs::exists( fs::path( dir, fs::native ) );
-+	return fs::exists( fs::path( dir ) );
- 
- 	/*struct stat file_info;
- 
-@@ -89,7 +89,7 @@
- 
- bool Create_Directory( const std::string &dir )
- {
--	return fs::create_directory( fs::path( dir, fs::native ) );
-+	return fs::create_directory( fs::path( dir ) );
- }
- 
- size_t Get_File_Size( const std::string &filename )
-@@ -130,7 +130,7 @@
- {
- 	vector<std::string> valid_files;
- 
--	fs::path full_path( dir, fs::native );
-+	fs::path full_path( dir );
- 	fs::directory_iterator end_iter;
- 
- 	// load all available objects
-@@ -142,32 +142,32 @@
- 			if( fs::is_directory( *dir_itr ) )
- 			{
- 				// ignore hidden directories
--				if( dir_itr->path().leaf().find( "." ) == 0 )
-+				if( dir_itr->path().filename().string().find( "." ) == 0 )
- 				{
- 					continue;
- 				}
- 
- 				if( with_directories )
- 				{
--					valid_files.push_back( dir + "/" + dir_itr->path().leaf() );
-+					valid_files.push_back( dir + "/" + dir_itr->path().filename().string() );
- 				}
- 
- 				// load all items from the sub-directory
- 				if( search_in_sub_directories )
- 				{
--					vector<std::string> new_valid_files = Get_Directory_Files( dir + "/" + dir_itr->path().leaf(), file_type, with_directories );
-+					vector<std::string> new_valid_files = Get_Directory_Files( dir + "/" + dir_itr->path().filename().string(), file_type, with_directories );
- 					valid_files.insert( valid_files.end(), new_valid_files.begin(), new_valid_files.end() );
- 				}
- 			}
- 			// valid file
--			else if( file_type.empty() || dir_itr->path().leaf().rfind( file_type ) != std::string::npos )
-+			else if( file_type.empty() || dir_itr->path().filename().string().rfind( file_type ) != std::string::npos )
- 			{
--				valid_files.push_back( dir + "/" + dir_itr->path().leaf() );
-+				valid_files.push_back( dir + "/" + dir_itr->path().filename().string() );
- 			}
- 		}
- 		catch( const std::exception &ex )
- 		{
--			printf( "%s %s\n", dir_itr->path().leaf().c_str(), ex.what() );
-+			printf( "%s %s\n", dir_itr->path().filename().c_str(), ex.what() );
- 		}
- 	}
- 
---- a/src/overworld/world_manager.cpp	2015-10-30 19:17:02.649620204 +0100
-+++ b/src/overworld/world_manager.cpp	2015-10-30 18:30:23.299628497 +0100
-@@ -111,7 +111,7 @@
- void cOverworld_Manager :: Load_Dir( const std::string &dir, bool user_dir /* = 0 */ ) 
- {
- 	// set world directory
--	fs::path full_path( dir, fs::native );
-+	fs::path full_path( dir );
- 	fs::directory_iterator end_iter;
- 
- 	for( fs::directory_iterator dir_itr( full_path ); dir_itr != end_iter; ++dir_itr )
-@@ -118,7 +118,7 @@
- 	{
- 		try
- 		{
--			std::string current_dir = dir_itr->path().leaf();
-+			std::string current_dir = dir_itr->path().filename().string();
- 
- 			// only directories with an existing description
- 			if( fs::is_directory( *dir_itr ) && File_Exists( dir + "/" + current_dir + "/description.xml" ) )
---- a/src/video/video.cpp	2015-10-30 19:17:02.822620203 +0100
-+++ b/src/video/video.cpp	2015-10-30 19:18:57.493619864 +0100
-@@ -747,7 +747,7 @@
- 		{
- 			try
- 			{
--				fs::remove_all( fs::path( m_imgcache_dir, fs::native ) );
-+				fs::remove_all( fs::path( m_imgcache_dir ) );
- 			}
- 			// could happen if a file is locked or we have no write rights
- 			catch( const std::exception &ex )
-@@ -769,7 +769,7 @@
- 	// no cache available
- 	if( !Dir_Exists( imgcache_dir_active ) )
- 	{
--		fs::create_directories( fs::path( imgcache_dir_active + "/" GAME_PIXMAPS_DIR, fs::native ) );
-+		fs::create_directories( fs::path( imgcache_dir_active + "/" GAME_PIXMAPS_DIR ) );
- 	}
- 	// cache available
- 	else
diff --git a/srcpkgs/SMC/patches/fix-cegui07.patch b/srcpkgs/SMC/patches/fix-cegui07.patch
deleted file mode 100644
index 3fcdb8370a9..00000000000
--- a/srcpkgs/SMC/patches/fix-cegui07.patch
+++ /dev/null
@@ -1,437 +0,0 @@
-diff -ur smc-1.9/configure.ac smc-1.9-b/configure.ac
---- a/configure.ac	2009-08-17 15:59:00.000000000 +0200
-+++ b/configure.ac	2011-01-19 00:43:37.809884881 +0100
-@@ -53,7 +53,7 @@
- 	AC_MSG_ERROR([SDL_ttf library not found]))
- 
- # Check for the CEGUI library
--PKG_CHECK_MODULES(CEGUI, CEGUI-OPENGL >= 0.5.0)
-+PKG_CHECK_MODULES(CEGUI, CEGUI-OPENGL >= 0.7.0)
- CPPFLAGS="$CPPFLAGS $CEGUI_CFLAGS"
- LIBS="$LIBS $CEGUI_LIBS"
- 
-diff -ur smc-1.9/src/core/editor.cpp smc-1.9-b/src/core/editor.cpp
---- a/src/core/editor.cpp	2009-08-13 17:11:42.000000000 +0200
-+++ b/src/core/editor.cpp	2011-01-19 00:44:46.734328121 +0100
-@@ -118,16 +118,10 @@
- 	return tmp;
- }
- 
--void cEditor_Item_Object :: draw( const CEGUI::Vector3 &position, float alpha, const CEGUI::Rect &clipper ) const
-+void cEditor_Item_Object :: draw( CEGUI::GeometryBuffer &buffer, const CEGUI::Rect &targetRect, float alpha, const CEGUI::Rect *clipper ) const
- {
- 	// draw text
--	list_text->draw( position, alpha, clipper );
--}
--
--void cEditor_Item_Object :: draw( CEGUI::RenderCache &cache, const CEGUI::Rect &targetRect, float zBase, float alpha, const CEGUI::Rect *clipper ) const
--{
--	// draw text
--	list_text->draw( cache, targetRect, zBase, alpha, clipper );
-+	list_text->draw( buffer, targetRect, alpha, clipper );
- }
- 
- void cEditor_Item_Object :: Draw_Image( void )
-@@ -533,12 +527,12 @@
- 	if( editor_window->getXPosition().asRelative( 1 ) >= 0 )
- 	{
- 		// Listbox dimension
--		float list_posy = listbox_items->getUnclippedPixelRect().d_top * global_downscaley;
--		float list_height = listbox_items->getUnclippedPixelRect().getHeight() * global_downscaley;
-+		float list_posy = listbox_items->getUnclippedOuterRect().d_top * global_downscaley;
-+		float list_height = listbox_items->getUnclippedOuterRect().getHeight() * global_downscaley;
- 		// Vertical ScrollBar Position
- 		float scroll_pos = listbox_items->getVertScrollbar()->getScrollPosition() * global_downscaley;
- 		// font height
--		float font_height = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" )->getFontHeight() * global_downscaley;
-+		float font_height = CEGUI::FontManager::getSingleton().get( "bluebold_medium" ).getFontHeight() * global_downscaley;
- 
- 		// draw items
- 		for( unsigned int i = 0; i < listbox_items->getItemCount(); i++ )
-diff -ur smc-1.9/src/core/editor.h smc-1.9-b/src/core/editor.h
---- a/src/core/editor.h	2009-02-18 05:21:30.000000000 +0100
-+++ b/src/core/editor.h	2011-01-19 00:43:37.809884881 +0100
-@@ -62,8 +62,7 @@
- 	*/
- 	virtual	CEGUI::Size getPixelSize( void ) const;
- 	// draw
--	void draw( const CEGUI::Vector3 &position, float alpha, const CEGUI::Rect &clipper ) const;
--	void draw( CEGUI::RenderCache &cache, const CEGUI::Rect &targetRect, float zBase, float alpha, const CEGUI::Rect *clipper) const;
-+	void draw(CEGUI::GeometryBuffer& buffer, const CEGUI::Rect& targetRect, float alpha, const CEGUI::Rect* clipper) const;
- 	// draw image
- 	void Draw_Image( void );
- 
-diff -ur smc-1.9/src/core/game_core.cpp smc-1.9-b/src/core/game_core.cpp
---- a/src/core/game_core.cpp	2009-08-16 18:44:42.000000000 +0200
-+++ b/src/core/game_core.cpp	2011-01-19 00:59:02.668958883 +0100
-@@ -265,7 +265,7 @@
- 
- 
- 	// align text
--	CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" );
-+	CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( "bluebold_medium" );
- 	// fixme : Can't handle multiple lines of text
- 	float text_width = font->getTextExtent( text ) * global_downscalex;
- 
-@@ -1182,7 +1182,7 @@
- 	text_default->setText( gui_text );
- 
- 	// align text
--	CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" );
-+	CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( "bluebold_medium" );
- 	float text_width = font->getTextExtent( gui_text ) * global_downscalex;
- 
- 	text_default->setWidth( CEGUI::UDim( 0, ( text_width + 15 ) * global_upscalex ) );
-@@ -1190,7 +1190,7 @@
- 	text_default->moveToFront();
- 
- 	// set window height
--	text_default->setHeight( CEGUI::UDim( 0, font->getFontHeight() * font->getFormattedLineCount( gui_text, text_default->getUnclippedInnerRect(), CEGUI::LeftAligned ) + ( 12 * global_upscaley ) ) );
-+	text_default->setHeight( CEGUI::UDim( 0, font->getFontHeight() + ( 12 * global_upscaley ) ) );
- 
- 	while( draw )
- 	{
-diff -ur smc-1.9/src/core/main.cpp smc-1.9-b/src/core/main.cpp
---- a/src/core/main.cpp	2009-05-12 10:36:04.000000000 +0200
-+++ b/src/core/main.cpp	2011-01-19 00:43:37.809884881 +0100
-@@ -444,13 +444,15 @@
- 
- 	if( pGuiSystem )
- 	{
--		delete pGuiSystem;
-+		CEGUI::ResourceProvider* rp = pGuiSystem->getResourceProvider();
-+		pGuiSystem->destroy();
- 		pGuiSystem = NULL;
-+		delete rp;
- 	}
- 
- 	if( pGuiRenderer )
- 	{
--		delete pGuiRenderer;
-+		pGuiRenderer->destroy( *pGuiRenderer );
- 		pGuiRenderer = NULL;
- 	}
- 
-@@ -507,7 +509,7 @@
- 		}
- 		case SDL_VIDEORESIZE:
- 		{
--			pGuiRenderer->setDisplaySize( CEGUI::Size( static_cast<float>(ev->resize.w), static_cast<float>(ev->resize.h) ) );
-+			pGuiSystem->notifyDisplaySizeChanged( CEGUI::Size( static_cast<float>(ev->resize.w), static_cast<float>(ev->resize.h) ) );
- 			break;
- 		}
- 		case SDL_KEYDOWN:
-diff -ur smc-1.9/src/gui/hud.cpp smc-1.9-b/src/gui/hud.cpp
---- a/src/gui/hud.cpp	2009-05-01 15:00:16.000000000 +0200
-+++ b/src/gui/hud.cpp	2011-01-19 00:43:37.816550365 +0100
-@@ -946,7 +946,7 @@
- 		m_text_debug_text->setVisible( 1 );
- 
- 		// update position
--		CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" );
-+		CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( "bluebold_medium" );
- 		float text_width = font->getTextExtent( gui_text ) * global_downscalex;
- 
- 		if( text_width > 800.0f )
-diff -ur smc-1.9/src/input/mouse.cpp smc-1.9-b/src/input/mouse.cpp
---- a/src/input/mouse.cpp	2009-04-24 21:16:58.000000000 +0200
-+++ b/src/input/mouse.cpp	2011-01-19 00:43:37.813217623 +0100
-@@ -432,17 +432,12 @@
- 
- void cMouseCursor :: Render( void ) const
- {
--	if( !m_active )
--	{
-+	CEGUI::MouseCursor *mouse = CEGUI::MouseCursor::getSingletonPtr();
-+
-+	if ( m_active == mouse->isVisible() )
- 		return;
--	}
- 
--	// Render CEGUI Mouse
--	pGuiRenderer->setQueueingEnabled( 0 );
--	CEGUI::MouseCursor *mouse = CEGUI::MouseCursor::getSingletonPtr();
--	mouse->setVisible( 1 );
--	mouse->draw();
--	mouse->setVisible( 0 );
-+	mouse->setVisible( m_active );
- }
- 
- void cMouseCursor :: Update_Position( void )
-diff -ur smc-1.9/src/level/level_settings.cpp smc-1.9-b/src/level/level_settings.cpp
---- a/src/level/level_settings.cpp	2009-08-07 03:04:28.000000000 +0200
-+++ b/src/level/level_settings.cpp	2011-01-19 01:06:59.064259070 +0100
-@@ -163,8 +163,8 @@
- 	editbox->setText( int_to_string( bg_color_2.blue ).c_str() );
- 	// preview window
- 	CEGUI::Window *window_background_preview = CEGUI::WindowManager::getSingleton().getWindow( "window_background_preview" );
--	background_preview->Set_Pos_X( window_background_preview->getUnclippedPixelRect().d_left * global_downscalex, 1 );
--	background_preview->Set_Pos_Y( window_background_preview->getUnclippedPixelRect().d_top * global_downscaley, 1 );
-+	background_preview->Set_Pos_X( window_background_preview->getUnclippedOuterRect().d_left * global_downscalex, 1 );
-+	background_preview->Set_Pos_Y( window_background_preview->getUnclippedOuterRect().d_top * global_downscaley, 1 );
- 
- 	Update_BG_Colors( CEGUI::EventArgs() );
- 
-@@ -555,8 +555,8 @@
- 
- 	// set default rect
- 	CEGUI::Window *window_background_preview = CEGUI::WindowManager::getSingleton().getWindow( "window_background_preview" );
--	background_preview->m_rect.m_w = window_background_preview->getUnclippedPixelRect().getWidth() * global_downscalex;
--	background_preview->m_rect.m_h = window_background_preview->getUnclippedPixelRect().getHeight() * global_downscaley;
-+	background_preview->m_rect.m_w = window_background_preview->getUnclippedOuterRect().getWidth() * global_downscalex;
-+	background_preview->m_rect.m_h = window_background_preview->getUnclippedOuterRect().getHeight() * global_downscaley;
- 
- 	if( !File_Exists( filename ) )
- 	{
-diff -ur smc-1.9/src/objects/sprite.cpp smc-1.9-b/src/objects/sprite.cpp
---- a/src/objects/sprite.cpp	2009-04-18 09:55:06.000000000 +0200
-+++ b/src/objects/sprite.cpp	2011-01-19 00:43:37.813217623 +0100
-@@ -1663,7 +1663,7 @@
- 	window_name->setText( name );
- 	window_name->setTooltipText( tooltip );
- 	// get text width
--	CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( "bluebold_medium" );
-+	CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( "bluebold_medium" );
- 	float text_width = 12 + font->getTextExtent( name ) * global_downscalex;
- 	// all names should have the same width
- 	if( text_width > m_editor_window_name_width )
-diff -ur smc-1.9/src/video/video.cpp smc-1.9-b/src/video/video.cpp
---- a/src/video/video.cpp	2009-07-04 11:46:56.000000000 +0200
-+++ b/src/video/video.cpp	2011-01-19 01:22:45.338524592 +0100
-@@ -103,15 +103,15 @@
- 
- /* *** *** *** *** *** *** *** CEGUI renderer fake class *** *** *** *** *** *** *** *** *** *** */
- 
--cFake_Renderer :: cFake_Renderer( void )
--{
--	d_identifierString = "Fake Renderer";
--}
-+//cFake_Renderer :: cFake_Renderer( void )
-+//{
-+//	d_identifierString = "Fake Renderer";
-+//}
- 
--cFake_Renderer :: ~cFake_Renderer( void )
--{
-+//cFake_Renderer :: ~cFake_Renderer( void )
-+//{
- 
--}
-+//}
- 
- /* *** *** *** *** *** *** *** Video class *** *** *** *** *** *** *** *** *** *** */
- 
-@@ -158,7 +158,7 @@
- 	std::string log_dump_dir = "/dev/null";
- #endif
- 	// create fake system and renderer
--	pGuiSystem = new CEGUI::System( new cFake_Renderer(), rp, NULL, NULL, "", log_dump_dir );
-+	pGuiSystem = &CEGUI::System::create( *new cFake_Renderer(), rp, NULL, NULL, NULL, "", log_dump_dir );
- }
- 
- void cVideo :: Delete_CEGUI_Fake( void ) const
-@@ -166,7 +166,7 @@
- 	CEGUI::ResourceProvider *rp = pGuiSystem->getResourceProvider();
- 	CEGUI::Renderer *renderer = pGuiSystem->getRenderer();
- 
--	delete pGuiSystem;
-+	pGuiSystem->destroy();
- 	pGuiSystem = NULL;
- 	delete renderer;
- 	delete rp;
-@@ -177,7 +177,7 @@
- 	// create renderer
- 	try
- 	{
--		pGuiRenderer = new CEGUI::OpenGLRenderer( 0, screen->w, screen->h );
-+		pGuiRenderer = &CEGUI::OpenGLRenderer::create( CEGUI::Size( screen->w, screen->h ) );
- 	}
- 	// catch CEGUI Exceptions
- 	catch( CEGUI::Exception &ex )
-@@ -186,10 +186,10 @@
- 		exit( EXIT_FAILURE );
- 	}
- 
--	/* create Resource Provider
--	 * no need to destroy it later since it is handled by the CEGUI renderer
--	*/
--	CEGUI::DefaultResourceProvider *rp = static_cast<CEGUI::DefaultResourceProvider *>(pGuiRenderer->createResourceProvider());
-+	pGuiRenderer->enableExtraStateSettings(true);
-+
-+	// create Resource Provider
-+	CEGUI::DefaultResourceProvider *rp = new CEGUI::DefaultResourceProvider;
- 
- 	// set Resource Provider directories
- 	rp->setResourceGroupDirectory( "schemes", DATA_DIR "/" GUI_SCHEME_DIR "/" );
-@@ -215,7 +215,7 @@
- 	// create system
- 	try
- 	{
--		pGuiSystem = new CEGUI::System( pGuiRenderer, rp, NULL, NULL, "", pResource_Manager->user_data_dir + "cegui.log" );
-+		pGuiSystem = &CEGUI::System::create( *pGuiRenderer, rp, NULL, NULL, NULL, "", pResource_Manager->user_data_dir + "cegui.log" );
- 	}
- 	// catch CEGUI Exceptions
- 	catch( CEGUI::Exception &ex )
-@@ -242,7 +242,7 @@
- 	// load the scheme file, which auto-loads the imageset
- 	try
- 	{
--		CEGUI::SchemeManager::getSingleton().loadScheme( "TaharezLook.scheme" );
-+		CEGUI::SchemeManager::getSingleton().create( "TaharezLook.scheme" );
- 	}
- 	// catch CEGUI Exceptions
- 	catch( CEGUI::Exception &ex )
-@@ -254,9 +254,7 @@
- 	// default mouse cursor
- 	pGuiSystem->setDefaultMouseCursor( "TaharezLook", "MouseArrow" );
- 	// force new mouse image
--	CEGUI::MouseCursor::getSingleton().setImage( &CEGUI::ImagesetManager::getSingleton().getImageset( "TaharezLook" )->getImage( "MouseArrow" ) );
--	// hide CEGUI mouse always because we render it manually
--	CEGUI::MouseCursor::getSingleton().hide();
-+	CEGUI::MouseCursor::getSingleton().setImage( &CEGUI::ImagesetManager::getSingleton().get( "TaharezLook" ).getImage( "MouseArrow" ) );
- 	// default tooltip
- 	pGuiSystem->setDefaultTooltip( "TaharezLook/Tooltip" );
- 	// create default root window
-@@ -553,7 +551,7 @@
- 		pFont->Restore_Textures();
- 
- 		// send new size to CEGUI
--		pGuiRenderer->setDisplaySize( CEGUI::Size( static_cast<float>(screen_w), static_cast<float>(screen_h) ) );
-+		pGuiSystem->notifyDisplaySizeChanged( CEGUI::Size( static_cast<float>(screen_w), static_cast<float>(screen_h) ) );
- 
- 		// check if CEGUI is initialized
- 		bool cegui_initialized = pGuiSystem->getGUISheet() != NULL;
-diff -ur smc-1.9/src/video/video.h smc-1.9-b/src/video/video.h
---- a/src/video/video.h	2009-07-04 10:49:50.000000000 +0200
-+++ b/src/video/video.h	2011-01-19 01:16:42.791283379 +0100
-@@ -23,7 +23,7 @@
- #include "SDL_opengl.h"
- // CEGUI
- #include "CEGUI.h"
--#include "RendererModules/OpenGLGUIRenderer/openglrenderer.h"
-+#include <RendererModules/OpenGL/CEGUIOpenGLRenderer.h>
- 
- namespace SMC
- {
-@@ -129,31 +129,100 @@
- 	EFFECT_IN_AMOUNT
- };
- 
--/* *** *** *** *** *** *** *** CEGUI renderer fake class *** *** *** *** *** *** *** *** *** *** */
-+/* *** *** *** *** *** *** *** CEGUI renderer fake classes *** *** *** *** *** *** *** *** *** *** */
-+// CEGUI 0.7.x requires more 'fake' classes than the 0.6.x version did...
-+class cFake_GeometryBuffer : public CEGUI::GeometryBuffer
-+{
-+	void draw() const {}
-+	void setTranslation(const CEGUI::Vector3&) {}
-+	void setRotation(const CEGUI::Vector3&) {}
-+	void setPivot(const CEGUI::Vector3&) {}
-+	void setClippingRegion(const CEGUI::Rect&) {}
-+	void appendVertex(const CEGUI::Vertex&) {}
-+	void appendGeometry(const CEGUI::Vertex* const, CEGUI::uint) {}
-+	void setActiveTexture(CEGUI::Texture*) {}
-+	void reset() {}
-+	CEGUI::Texture* getActiveTexture() const { return 0; }
-+	CEGUI::uint getVertexCount() const { return 0; }
-+	CEGUI::uint getBatchCount() const { return 0; }
-+	void setRenderEffect(CEGUI::RenderEffect*) {}
-+	CEGUI::RenderEffect* getRenderEffect() { return 0; }
-+};
- 
--class cFake_Renderer : public CEGUI::Renderer
-+class cFake_Texture : public CEGUI::Texture
-+{
-+public:
-+	cFake_Texture() :
-+	  m_size(1, 1),
-+	  m_scaling(1, 1) {}
-+
-+	const CEGUI::Size& getSize() const { return m_size; }
-+	const CEGUI::Size& getOriginalDataSize() const { return m_size; }
-+	const CEGUI::Vector2& getTexelScaling() const { return m_scaling; }
-+	void loadFromFile(const CEGUI::String&, const CEGUI::String&) {}
-+	void loadFromMemory(const void*, const CEGUI::Size&, CEGUI::Texture::PixelFormat) {}
-+	void saveToMemory(void*) {}
-+
-+private:
-+	CEGUI::Size m_size;
-+	CEGUI::Vector2 m_scaling;
-+};
-+
-+class cFake_RenderTarget : public CEGUI::RenderTarget
- {
- public:
--	cFake_Renderer( void );
--	virtual ~cFake_Renderer( void );
-+	cFake_RenderTarget() : m_area(0, 0, 0, 0) {}
-+	void draw(const CEGUI::GeometryBuffer&) {}
-+	void draw(const CEGUI::RenderQueue&) {}
-+	void setArea(const CEGUI::Rect&) {}
-+	const CEGUI::Rect& getArea() const { return m_area; }
-+	bool isImageryCache() const { return false; }
-+	void activate() {}
-+	void deactivate() {}
-+	void unprojectPoint(const CEGUI::GeometryBuffer&, const CEGUI::Vector2&, CEGUI::Vector2&) const {}
-+
-+private:
-+	CEGUI::Rect m_area;
-+};
- 
--	virtual	void addQuad(const CEGUI::Rect& dest_rect, float z, const CEGUI::Texture* tex, const CEGUI::Rect& texture_rect, const CEGUI::ColourRect& colours, CEGUI::QuadSplitMode quad_split_mode) {};
--	virtual	void doRender(void) {};
--	virtual	void clearRenderList(void) {};
--	virtual void setQueueingEnabled(bool setting) {};
--	virtual	CEGUI::Texture *createTexture(void) { return NULL; };
--	virtual	CEGUI::Texture *createTexture(const CEGUI::String& filename, const CEGUI::String& resourceGroup) { return NULL; };
--	virtual	CEGUI::Texture *createTexture(float size) { return NULL; };
--	virtual	void destroyTexture(CEGUI::Texture* texture) {};
--	virtual void destroyAllTextures(void) {};
--	virtual bool isQueueingEnabled(void) const { return 0; };
--	virtual float getWidth(void) const { return 0; };
--	virtual float getHeight(void) const { return 0; };
--	virtual CEGUI::Size getSize(void) const { return CEGUI::Size();};
--	virtual CEGUI::Rect getRect(void) const { return CEGUI::Rect();};
--	virtual	unsigned int getMaxTextureSize(void) const { return 0; };
--	virtual	unsigned int getHorzScreenDPI(void) const { return 0; };
--	virtual	unsigned int getVertScreenDPI(void) const { return 0; };
-+class cFake_Renderer : public CEGUI::Renderer
-+{
-+public:
-+	cFake_Renderer( void ) :
-+	  m_size(0, 0),
-+	  m_dpi(0, 0),
-+	  m_identifierString("Fake Renderer"),
-+	  m_root(m_target) {}
-+	~cFake_Renderer( void ) {}
-+
-+	CEGUI::RenderingRoot& getDefaultRenderingRoot() { return m_root; }
-+	CEGUI::GeometryBuffer& createGeometryBuffer() { return m_geometry; }
-+	void destroyGeometryBuffer(const CEGUI::GeometryBuffer&) {}
-+	void destroyAllGeometryBuffers() {}
-+	CEGUI::TextureTarget* createTextureTarget() { return 0; }
-+	void destroyTextureTarget(CEGUI::TextureTarget*) {}
-+	void destroyAllTextureTargets() {}
-+	CEGUI::Texture& createTexture() { return m_texture; }
-+	CEGUI::Texture& createTexture(const CEGUI::String&, const CEGUI::String&) { return m_texture; }
-+	CEGUI::Texture& createTexture(const CEGUI::Size&) { return m_texture; }
-+	void destroyTexture(CEGUI::Texture&) {}
-+	void destroyAllTextures() {}
-+	void beginRendering() {}
-+	void endRendering() {}
-+	void setDisplaySize(const CEGUI::Size&) {}
-+	const CEGUI::Size& getDisplaySize() const { return m_size; }
-+	const CEGUI::Vector2& getDisplayDPI() const {return m_dpi; }
-+	CEGUI::uint getMaxTextureSize() const { return 0; }
-+	const CEGUI::String& getIdentifierString() const { return m_identifierString; }
-+
-+private:
-+	CEGUI::Size m_size;
-+	CEGUI::Vector2 m_dpi;
-+	CEGUI::String m_identifierString;
-+	cFake_GeometryBuffer m_geometry;
-+	cFake_Texture m_texture;
-+	cFake_RenderTarget m_target;
-+	CEGUI::RenderingRoot m_root;
- };
- 
- /* *** *** *** *** *** *** *** Video class *** *** *** *** *** *** *** *** *** *** */
diff --git a/srcpkgs/SMC/template b/srcpkgs/SMC/template
deleted file mode 100644
index d67469fc18a..00000000000
--- a/srcpkgs/SMC/template
+++ /dev/null
@@ -1,37 +0,0 @@
-# Template file for 'SMC'
-pkgname=SMC
-version=1.9
-revision=9
-wrksrc=${pkgname,,}-${version}
-build_style=gnu-configure
-hostmakedepends="automake libtool gettext-devel pkg-config unzip"
-makedepends="MesaLib-devel boost-devel cegui07-devel gettext-devel
- SDL_image-devel SDL_mixer-devel SDL_ttf-devel"
-short_desc="Two-dimensional platform game similar to Super Mario"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-3.0-or-later"
-homepage="http://www.secretmaryo.org/"
-distfiles="
- ${SOURCEFORGE_SITE}/smclone/${pkgname,,}-${version}.tar.bz2
- ${SOURCEFORGE_SITE}/smclone/SMC_Music_5.0_high.zip"
-checksum="
- b4194e70d3f1de3da884dd1a11e4f5cec25a205f66a3b85cc9fc1c86289b237d
- c5bb2e1830c7cbe499c93851f5a02b2b900b4730d2c7a133a44a7b43a297dab8"
-replaces="SMC-data>=0"
-
-CXXFLAGS="-fpermissive -std=c++11"
-LDFLAGS="-Wl,--no-as-needed -lX11 -lboost_system"
-
-post_extract() {
-	# remove CRs from end of line
-	find ${wrksrc}/src -type f -exec sed -i "{}" -e "s;\r$;;" \;
-	mv ${XBPS_BUILDDIR}/data/music/* ${wrksrc}/data/music
-}
-pre_configure() {
-	vsed -i configure.ac -e "/AM_INIT_AUTOMAKE/s/)/ subdir-objects)/"
-	NOCONFIGURE=1 ./autogen.sh
-}
-post_install() {
-	vinstall ${FILESDIR}/smc.desktop 644 usr/share/applications
-	vinstall ${FILESDIR}/smc.png 644 usr/share/pixmaps
-}
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 0d1180ad490..490cf40f8b9 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -13,6 +13,7 @@ replaces="
  MoinMoin<=1.9.11_1
  MultiMC<=0.6.13_1
  Platinum9-theme<=0.0.0.20170720_3
+ SMC<=1.9_9
  Venom<=0.5.5_1
  XorCurses<=0.2.2_1
  acme-client<=0.1.16_5