summaryrefslogtreecommitdiff
path: root/games-board/xfreecell
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /games-board/xfreecell
reinit the tree, so we can have metadata
Diffstat (limited to 'games-board/xfreecell')
-rw-r--r--games-board/xfreecell/Manifest10
-rw-r--r--games-board/xfreecell/files/xfreecell-1.0.5b-gcc43.patch59
-rw-r--r--games-board/xfreecell/files/xfreecell-1.0.5b-gentoo.patch349
-rw-r--r--games-board/xfreecell/metadata.xml8
-rw-r--r--games-board/xfreecell/xfreecell-1.0.5b-r1.ebuild42
-rw-r--r--games-board/xfreecell/xfreecell-1.0.5b.ebuild43
6 files changed, 511 insertions, 0 deletions
diff --git a/games-board/xfreecell/Manifest b/games-board/xfreecell/Manifest
new file mode 100644
index 000000000000..44fef28095c6
--- /dev/null
+++ b/games-board/xfreecell/Manifest
@@ -0,0 +1,10 @@
+AUX xfreecell-1.0.5b-gcc43.patch 1124 SHA256 16212014c15c9f169b7045998c1bb4a9cc9b22c0cc62c4336dc93625ada3b4cf SHA512 0164962559d0ce135ec08b8f143ef90ee3b70bcc4509057709d505e12e2efb3a70848befc187d228fc99ff225a10e415d81f3841796f2868751a2ce2df308e37 WHIRLPOOL f7436ee8768481c441fd3f9428ad1a97565a560de384b43e4f8e6fc847dbaecac69ff16890031d5516bf4ef3689f40786850d7294f4f368682dc8b19718eebf8
+AUX xfreecell-1.0.5b-gentoo.patch 11060 SHA256 a13794ab5f5de4b8cebc545785deb42b031a0ab34d4896259184b6ce28a91cf7 SHA512 8109b5b05a20f36bf54eb8c5bee7b5a9031c82419b9efbea7f2513a0d81083fb959f2267357a73a75b5de5966304c62b5d245d7f1cf1e77730f6565a3a438185 WHIRLPOOL 4b0d988fbbc5cd77635837e5427ca2b186e3e2bcfa578b9d5d370d17ee1c0dc229732bf2bb7e4857913f671d7c251f82ec777b8112355522edef7991b2ff7910
+DIST MSNumbers.gz 1212278 SHA256 d3cdebbe409588f706f2480235b391f18f825a32233460aebbd0ca07d55f961b SHA512 6a8215f72bb4f10262c41875e1668bc5bb691f9ba2b803162675cf1fb8ce6090f6009727939ecb86301de76264d35d7d10614887b677055ac470975029e55785 WHIRLPOOL dab236cf5b58ed4f62904240e4e752a485c35fd7c6246e4782dbad8801334c3c8b70c5d316c5747c8ccd3f145a5c8bc6705302270b415ddf23ebe44b0be5d0a4
+DIST xfreecell-1.0.5b-gcc6.patch.xz 18888 SHA256 352a8646d2c52943166fd132a5af90b53f594de6a8a9af032ed20411f13b70ed SHA512 08c544d14c43bcfccb4eee7e99d77225297be8274b85de98edcb4fa297060f8b219814729286f90939b99427b4d32725c82134b860939b5894ccbba2e15226d9 WHIRLPOOL 75b079bca131b4aa62a35b6a8b5f9c966f047dc3762c31e1228dece31900858744f5594693f447fbff642975c7be8012cef0b28d7f15eed4ed91d79258b8f6fa
+DIST xfreecell-1.0.5b.tgz 49367 SHA256 ababb3bdc5055e1d013161f2c04c874bacb572f240d0175ff8eabbd88b5d1b78 SHA512 b4437d9c78d5a6cb5fabd0157528aef85aa1d01b87875314e122d1eafbe5808af67b7b4dbf4db8e70d3d5193b10e61cc20210725b75c01ca6ff6db2b5840a64c WHIRLPOOL 2dcb542384a61a6d3c7b7cc1fda5d8fd9b4d7e3169fcb9d1f4fefbf650b94f25b34f63af03d352ec2dc013e8ba307fecf3859cbb181afa6c9eda4a2bf40e9c4b
+EBUILD xfreecell-1.0.5b-r1.ebuild 970 SHA256 97bb4ce0215db89c61e0d47e74b2bfac1e9bec1035dbf5a365c060c045435658 SHA512 21162695c280768120063737ad94893a3faf10f9902a7261e6cab70a831f654507a1b59d07f7bb1c6c7b8967263aab9d6338774640ecefe67f04d55c4c7700be WHIRLPOOL e0168b5c2d9af9bdb92111d6ed225e608e354f186d942bfcc4cd6252af17fef21f78d19c0f1667fad838e8c7f7da45a053a97c92422df59ec43f436fb0c93d5c
+EBUILD xfreecell-1.0.5b.ebuild 950 SHA256 ecd665cd6dd2b29f7eaf113db47f6fc1b1837a7fd3af20eaca93910686eebc32 SHA512 0b41248f601329f30df3862dfdce037fd8c01953ab46996013e9b3ae417aa478494466e51573e85cc77d9737aece1252e8ed3f1be4da8b54dc06078d2d9ebf84 WHIRLPOOL bf87c23159431ee71c5c5b17c94373041175432fe817e1a3bdf28ef39fa88d0b0102694d52c8196b3f3dbdff951a820ce45f056f107cab2a052d8d7beba55d2a
+MISC ChangeLog 3034 SHA256 f42f73f88959752351786a6df8c2a2ec54012e9c9458b8c84faa8bbd3fea8cb6 SHA512 5bbadb2c29544d4b38a0961cabc3160ac4ee5750c9291b810b8ee5b034cad4562542f6275aa64bd333114637129f94e159c8ab112878ba5c04d6e77b4ce02b32 WHIRLPOOL 7cc4c67a0f708a58e86f1ce116acca2dee6c0c8799e7cd73ad6c59f19fe9be0f3188cdaf34cac25191af92dc52dedd330cecfd441c44a92bea5f90d9fa5ec661
+MISC ChangeLog-2015 1578 SHA256 a69fe85e7259e57b547e5cb57c7e79b5472291f6b7b7c4604613e7be2918ff5f SHA512 7c6b99657b9aa14d1ed6d0cda7f76a5ace01badcf13af1bf83658924c6273fd171f1e59d4c6711b79ef9acb2126a4ae5bd3e571674f5bc2e61ccc24228c08147 WHIRLPOOL f194b6dcc2a7158727e54826169a70c520513f0ca033c7da694f34de522c63d3091f137ea71a93b721a387aaca73b683be134070525513291234616d3f6c0a31
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-board/xfreecell/files/xfreecell-1.0.5b-gcc43.patch b/games-board/xfreecell/files/xfreecell-1.0.5b-gcc43.patch
new file mode 100644
index 000000000000..aa3b434e151f
--- /dev/null
+++ b/games-board/xfreecell/files/xfreecell-1.0.5b-gcc43.patch
@@ -0,0 +1,59 @@
+--- a/card.cpp
++++ b/card.cpp
+@@ -1,5 +1,6 @@
++#include <cstdlib>
+ #include <cstdio>
+-#include <math.h>
++#include <cmath>
+ #ifdef SHAPE
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+--- a/freecell.cpp
++++ b/freecell.cpp
+@@ -1,6 +1,7 @@
+ #include <dirent.h>
+ #include <fcntl.h>
+-#include <stdlib.h>
++#include <cstdlib>
++#include <cstring>
+ #include <sys/stat.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+--- a/option.cpp
++++ b/option.cpp
+@@ -3,7 +3,9 @@
+ #include <fcntl.h>
+ #include <dirent.h>
+ #include <unistd.h>
+-#include <stdio.h>
++#include <cstdlib>
++#include <cstdio>
++#include <cstring>
+
+ #include "general.h"
+ #include "option.h"
+--- a/subwindows.cpp
++++ b/subwindows.cpp
+@@ -3,7 +3,8 @@
+ #include <fcntl.h>
+ #include <dirent.h>
+ #include <unistd.h>
+-#include <stdio.h>
++#include <cstdlib>
++#include <cstdio>
+
+ #include "general.h"
+ #include "subwindows.h"
+--- a/widget/widget.h
++++ b/widget/widget.h
+@@ -4,7 +4,9 @@
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/keysym.h>
+-#include <stdio.h>
++#include <cstdlib>
++#include <cstdio>
++#include <cstring>
+ #include <vector>
+ #include <string>
+
diff --git a/games-board/xfreecell/files/xfreecell-1.0.5b-gentoo.patch b/games-board/xfreecell/files/xfreecell-1.0.5b-gentoo.patch
new file mode 100644
index 000000000000..85a2e4dd3c41
--- /dev/null
+++ b/games-board/xfreecell/files/xfreecell-1.0.5b-gentoo.patch
@@ -0,0 +1,349 @@
+diff -ru xfreecellg/card.cpp xfreecell/card.cpp
+--- xfreecellg/card.cpp 1999-03-27 05:36:28.000000000 -0800
++++ xfreecell/card.cpp 2004-02-25 02:17:24.000000000 -0800
+@@ -119,7 +119,7 @@
+ int oldy = y();
+ int newx = dest_x;
+ int newy = dest_y;
+- int steps = max(abs(oldx - newx), abs(oldy - newy)) / Option::speedup();
++ int steps = std::max(abs(oldx - newx), abs(oldy - newy)) / Option::speedup();
+ float curx = (float) oldx;
+ float cury = (float) oldy;
+
+diff -ru xfreecellg/freecell.cpp xfreecell/freecell.cpp
+--- xfreecellg/freecell.cpp 1999-07-27 07:15:27.000000000 -0700
++++ xfreecell/freecell.cpp 2004-02-25 02:18:13.000000000 -0800
+@@ -64,7 +64,7 @@
+ static GameNumberManager* gnManager;
+ static const int PathLength = 256;
+ static char msNumbersPath[PathLength] = "\0";;
+-static const char defaultMSNumbersPath[] = "/usr/local/lib/xfreecell/MSNumbers";
++static const char defaultMSNumbersPath[] = "/usr/share/games/xfreecell/MSNumbers";
+
+ // ##### Functions declarations #####
+ static void adjustSubwindow(NSWindow*);
+@@ -603,7 +603,7 @@
+ void readMSNumbersPath()
+ {
+ char* home = getenv("HOME");
+- string saveFile;
++ std::string saveFile;
+
+ if (home == NULL) {
+ fprintf(stderr, "Cannot get $HOME. Assuming I am at home directory now.\n");
+diff -ru xfreecellg/gnmanager.cpp xfreecell/gnmanager.cpp
+--- xfreecellg/gnmanager.cpp 1999-07-27 07:18:05.000000000 -0700
++++ xfreecell/gnmanager.cpp 2004-02-25 02:17:24.000000000 -0800
+@@ -16,7 +16,7 @@
+ GameNumberManager::GameNumberManager()
+ {
+ char* home = getenv("HOME");
+- string directory;
++ std::string directory;
+
+ if (home == NULL) {
+ fprintf(stderr, "Cannot get $HOME. Assuming I am at home directory now.\n");
+@@ -143,7 +143,7 @@
+ readFile(msLostGameFile, &msLostGames);
+ }
+
+-void GameNumberManager::readFile(const string& file, hash_set<int>* hs)
++void GameNumberManager::readFile(const std::string& file, hash_set<int>* hs)
+ {
+ FILE* fp = fopen(file.c_str(), "r");
+ char line[lineLength];
+@@ -169,7 +169,7 @@
+ writeFile(msLostGameFile, &msLostGames);
+ }
+
+-void GameNumberManager::writeFile(const string& file, hash_set<int>* hs)
++void GameNumberManager::writeFile(const std::string& file, hash_set<int>* hs)
+ {
+ FILE* fp = fopen(file.c_str(), "w+");
+
+diff -ru xfreecellg/gnmanager.h xfreecell/gnmanager.h
+--- xfreecellg/gnmanager.h 1999-03-29 05:07:19.000000000 -0800
++++ xfreecell/gnmanager.h 2004-02-25 02:17:24.000000000 -0800
+@@ -2,7 +2,13 @@
+ #define GNManager_H
+
+ #include <string>
++
++#if __GNUG__ < 3
+ #include <hash_set>
++#else
++#include <ext/hash_set>
++using __gnu_cxx::hash_set;
++#endif
+
+ class GameNumberManager {
+ public:
+@@ -20,15 +26,15 @@
+ bool alreadyLost(int);
+
+ void readFiles();
+- void readFile(const string&, hash_set<int>*);
+- void writeFile(const string&, hash_set<int>*);
++ void readFile(const std::string&, hash_set<int>*);
++ void writeFile(const std::string&, hash_set<int>*);
+
+- string lostGameFile, wonGameFile;
++ std::string lostGameFile, wonGameFile;
+
+ hash_set<int> wonGames;
+ hash_set<int> lostGames;
+
+- string msLostGameFile, msWonGameFile;
++ std::string msLostGameFile, msWonGameFile;
+
+ hash_set<int> msWonGames;
+ hash_set<int> msLostGames;
+diff -ru xfreecellg/makefile xfreecell/makefile
+--- xfreecellg/makefile 1999-04-03 05:42:49.000000000 -0800
++++ xfreecell/makefile 2004-02-25 02:17:48.000000000 -0800
+@@ -1,16 +1,15 @@
+ OBJECTS=card.o freecell.o option.o stack.o subwindows.o undo.o util.o gnmanager.o random.o
+-CC=g++
+-CFLAGS=-g -Wall -DSHAPE -DBOGUSRANDOM
++CFLAGS=$(CXXFLAGS) -DSHAPE -DBOGUSRANDOM
+ LIBS=-lm -L. -lns -L/usr/X11R6/lib -lXext -lX11
+ STATICDIR=xfreecell-static
+ DOCS=README CHANGES mshuffle.txt xfreecell.6
+ LIBDIR=/usr/local/lib/xfreecell
+
+ all: $(OBJECTS) lib
+- $(CC) -o xfreecell $(CFLAGS) $(OBJECTS) $(LIBS)
++ $(CXX) -o xfreecell $(LDFLAGS) $(OBJECTS) $(LIBS)
+
+ static: $(OBJECTS) lib
+- $(CC) -o xfreecell -static $(CFLAGS) $(OBJECTS) $(LIBS)
++ $(CXX) -o xfreecell -static $(CFLAGS) $(OBJECTS) $(LIBS)
+
+ static-release: static
+ mkdir $(STATICDIR)
+@@ -21,17 +20,17 @@
+ rm -rf $(STATICDIR)
+
+ %.o: %.cpp
+- $(CC) -c $(CFLAGS) $<
++ $(CXX) -c $(CFLAGS) $<
+
+ clean:
+ rm -f *~ *.o a.out xfreecell libns.a
+- make -C widget clean
++ $(MAKE) -C widget clean
+
+ lib:
+- make -C widget lib
++ $(MAKE) -C widget lib
+
+ install: all
+- install xfreecell $(DESTDIR)/usr/local/bin
+- install xfreecell.6 $(DESTDIR)/usr/local/man/man6
++ install xfreecell $(DESTDIR)/usr/bin
++ install xfreecell.6 $(DESTDIR)/usr/share/man/man6
+ # install -d $(LIBDIR)
+-# install ms-compatible/MSNumbers $(DESTDIR)/usr/local/lib/xfreecell
+\ No newline at end of file
++# install ms-compatible/MSNumbers $(DESTDIR)/usr/share/xfreecell
+diff -ru xfreecellg/option.h xfreecell/option.h
+--- xfreecellg/option.h 1999-03-27 11:39:17.000000000 -0800
++++ xfreecell/option.h 2004-02-25 02:17:24.000000000 -0800
+@@ -22,7 +22,7 @@
+ void readPrefs();
+ void writePrefs();
+
+- string saveFile;
++ std::string saveFile;
+
+ static int _speedup;
+ static bool _queryWindow;
+diff -ru xfreecellg/stack.h xfreecell/stack.h
+--- xfreecellg/stack.h 1999-03-02 10:20:02.000000000 -0800
++++ xfreecell/stack.h 2004-02-25 02:17:24.000000000 -0800
+@@ -28,7 +28,7 @@
+ int _next_x, _next_y;
+
+ private:
+- vector<Card*> _cards;
++ std::vector<Card*> _cards;
+ };
+
+ class PlayStack : public Stack {
+diff -ru xfreecellg/subwindows.h xfreecell/subwindows.h
+--- xfreecellg/subwindows.h 1999-03-15 15:09:49.000000000 -0800
++++ xfreecell/subwindows.h 2004-02-25 02:17:24.000000000 -0800
+@@ -76,7 +76,7 @@
+ int _undos;
+ int _totalScore;
+
+- string saveFile;
++ std::string saveFile;
+
+ bool exitPressed;
+
+diff -ru xfreecellg/undo.cpp xfreecell/undo.cpp
+--- xfreecellg/undo.cpp 1999-03-25 07:48:40.000000000 -0800
++++ xfreecell/undo.cpp 2004-02-25 02:17:24.000000000 -0800
+@@ -22,7 +22,7 @@
+ c->moveToStack(from, false, false);
+ }
+
+-stack<Move> moves;
++std::stack<Move> moves;
+
+ void undoClearMoves()
+ {
+diff -ru xfreecellg/widget/container.cpp xfreecell/widget/container.cpp
+--- xfreecellg/widget/container.cpp 1999-03-03 09:34:52.000000000 -0800
++++ xfreecell/widget/container.cpp 2004-02-25 02:17:24.000000000 -0800
+@@ -61,18 +61,18 @@
+
+ void NSContainer::remove(NSComponent* nsc)
+ {
+- vector<NSComponent*>::iterator iter;
++ std::vector<NSComponent*>::iterator iter;
+ for (iter = nscVec.begin(); iter != nscVec.end(); iter++)
+ if (*iter == nsc) nscVec.erase(iter);
+ }
+
+ void NSContainer::hremove(NSComponent* nsc)
+ {
+- vector<NSComponent*>::iterator iter;
++ std::vector<NSComponent*>::iterator iter;
+ for (iter = nscVec.begin(); iter != nscVec.end(); iter++) {
+ if (*iter == nsc) {
+ int w = (*iter)->width() + _neighborGap;
+- vector<NSComponent*>::iterator iter2 = iter + 1;
++ std::vector<NSComponent*>::iterator iter2 = iter + 1;
+ if (nscVec.size() == 0) {
+ _width = 0; _height = 0;
+ } else {
+@@ -87,11 +87,11 @@
+
+ void NSContainer::vremove(NSComponent* nsc)
+ {
+- vector<NSComponent*>::iterator iter;
++ std::vector<NSComponent*>::iterator iter;
+ for (iter = nscVec.begin(); iter != nscVec.end(); iter++) {
+ if (*iter == nsc) {
+ int h = (*iter)->height() + _neighborGap;
+- vector<NSComponent*>::iterator iter2 = iter + 1;
++ std::vector<NSComponent*>::iterator iter2 = iter + 1;
+ if (nscVec.size() == 0) {
+ _width = 0; _height = 0;
+ } else {
+diff -ru xfreecellg/widget/makefile xfreecell/widget/makefile
+--- xfreecellg/widget/makefile 1999-03-17 21:54:57.000000000 -0800
++++ xfreecell/widget/makefile 2004-02-25 02:17:59.000000000 -0800
+@@ -1,15 +1,13 @@
+ OBJECTS=window.o plate.o string.o button.o label.o textfield.o container.o frame.o util.o scrollbar.o font.o main.o
+-#C=/usr/local/gcc-2.8.1/bin/g++
+-CC=g++
+-CFLAGS=-g -Wall
++CFLAGS=$(CXXFLAGS) -Wall
+ LIBS=-L/usr/X11R6/lib -lX11
+ LIBNAME=libns.a
+
+ all: test.o $(OBJECTS)
+- $(CC) $(CFLAGS) test.o $(OBJECTS) $(LIBS)
++ $(CXX) $(CFLAGS) test.o $(OBJECTS) $(LIBS)
+
+ %.o: %.cpp
+- $(CC) $(CFLAGS) -c $<
++ $(CXX) $(CFLAGS) -c $<
+
+ clean:
+ rm -f *.o *~ a.out .nfs* dummy
+diff -ru xfreecellg/widget/textfield.cpp xfreecell/widget/textfield.cpp
+--- xfreecellg/widget/textfield.cpp 1999-03-03 09:34:52.000000000 -0800
++++ xfreecell/widget/textfield.cpp 2004-02-25 02:17:24.000000000 -0800
+@@ -1,3 +1,4 @@
++#include <cctype>
+ #include "widget.h"
+
+ GC NSTextField::gc;
+diff -ru xfreecellg/widget/widget.h xfreecell/widget/widget.h
+--- xfreecellg/widget/widget.h 1999-03-15 08:29:32.000000000 -0800
++++ xfreecell/widget/widget.h 2004-02-25 02:17:24.000000000 -0800
+@@ -114,7 +114,7 @@
+ Elt(NSWindow* nw, Window w) { nswindow = nw; window = w; }
+ };
+
+- static vector<Elt> eltVector;
++ static std::vector<Elt> eltVector;
+ static void eraseWindow(Window);
+ static void registerWindow(NSWindow*, Window);
+ };
+@@ -171,7 +171,7 @@
+ void fontWindowHeight(unsigned int);
+ void resizable(bool arg) { _resizable = arg; }
+
+- string _label;
++ std::string _label;
+ private:
+ static const int fontGap = 4;
+ static XFontStruct* fontStruct;
+@@ -272,7 +272,7 @@
+ static unsigned int charWidth, charHeight;
+
+ unsigned int maxCharNum;
+- string _str;
++ std::string _str;
+ unsigned int cursorPos;
+ unsigned int strStart;
+ bool cursorOnTF;
+@@ -327,7 +327,7 @@
+ unsigned int _vGap, _hGap, _neighborGap;
+ Window _parentWindow;
+
+- vector<NSComponent*> nscVec;
++ std::vector<NSComponent*> nscVec;
+ };
+
+ // ##### NSHContainer #####
+diff -ru xfreecellg/widget/window.cpp xfreecell/widget/window.cpp
+--- xfreecellg/widget/window.cpp 1999-03-03 09:34:52.000000000 -0800
++++ xfreecell/widget/window.cpp 2004-02-25 02:17:24.000000000 -0800
+@@ -2,7 +2,7 @@
+
+ bool NSWindow::windowInitialized = false;
+ Window NSWindow::_root;
+-vector<NSWindow::Elt> NSWindow::eltVector;
++std::vector<NSWindow::Elt> NSWindow::eltVector;
+
+ NSWindow::NSWindow(bool create, Window w, int x, int y, unsigned int width, unsigned int height,
+ unsigned int borderWidth, unsigned long border, unsigned long bg)
+@@ -86,8 +86,8 @@
+
+ void NSWindow::registerWindow(NSWindow* nsw, Window w)
+ {
+- vector<Elt>::iterator begin = eltVector.begin();
+- vector<Elt>::iterator end = eltVector.end();
++ std::vector<Elt>::iterator begin = eltVector.begin();
++ std::vector<Elt>::iterator end = eltVector.end();
+ Elt elt(nsw, w);
+
+ if (eltVector.size() == 0 || w > eltVector.back().window) {
+@@ -95,7 +95,7 @@
+ return;
+ }
+
+- for (vector<Elt>::iterator iter = begin; iter != end; iter++)
++ for (std::vector<Elt>::iterator iter = begin; iter != end; iter++)
+ if ((*iter).window > w)
+ eltVector.insert(iter, elt);
+
+@@ -104,9 +104,9 @@
+
+ void NSWindow::eraseWindow(Window w)
+ {
+- vector<Elt>::iterator begin = eltVector.begin();
+- vector<Elt>::iterator end = eltVector.end();
+- vector<Elt>::iterator iter;
++ std::vector<Elt>::iterator begin = eltVector.begin();
++ std::vector<Elt>::iterator end = eltVector.end();
++ std::vector<Elt>::iterator iter;
+
+ for (iter = begin; iter != end; iter++) {
+ if ((*iter).window == w) eltVector.erase(iter);
diff --git a/games-board/xfreecell/metadata.xml b/games-board/xfreecell/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-board/xfreecell/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-board/xfreecell/xfreecell-1.0.5b-r1.ebuild b/games-board/xfreecell/xfreecell-1.0.5b-r1.ebuild
new file mode 100644
index 000000000000..6eabdd37d74d
--- /dev/null
+++ b/games-board/xfreecell/xfreecell-1.0.5b-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils
+
+DESCRIPTION="A freecell game for X"
+HOMEPAGE="http://www2.giganet.net/~nakayama/"
+SRC_URI="http://www2.giganet.net/~nakayama/${P}.tgz
+ http://www2.giganet.net/~nakayama/MSNumbers.gz
+ https://dev.gentoo.org/~dilfridge/distfiles/${P}-gcc6.patch.xz"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+IUSE=""
+
+RDEPEND="media-fonts/font-misc-misc
+ x11-libs/libXext"
+DEPEND="${RDEPEND}
+ x11-proto/xextproto"
+
+S=${WORKDIR}/${PN}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-gcc43.patch
+ "${WORKDIR}"/${P}-gcc6.patch
+)
+
+src_install() {
+ dobin xfreecell
+ insinto /usr/share/${PN}
+ doins "${WORKDIR}"/MSNumbers
+ dodoc CHANGES README mshuffle.txt
+ doman xfreecell.6
+ make_desktop_entry xfreecell XFreecell
+}
+
+pkg_postinst() {
+ einfo "Remember to restart X if this is the first time you've installed media-fonts/font-misc-misc"
+}
diff --git a/games-board/xfreecell/xfreecell-1.0.5b.ebuild b/games-board/xfreecell/xfreecell-1.0.5b.ebuild
new file mode 100644
index 000000000000..d519a590a4fa
--- /dev/null
+++ b/games-board/xfreecell/xfreecell-1.0.5b.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="A freecell game for X"
+HOMEPAGE="http://www2.giganet.net/~nakayama/"
+SRC_URI="http://www2.giganet.net/~nakayama/${P}.tgz
+ http://www2.giganet.net/~nakayama/MSNumbers.gz"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+IUSE=""
+
+RDEPEND="x11-libs/libXext
+ media-fonts/font-misc-misc"
+DEPEND="${RDEPEND}
+ x11-proto/xextproto"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-gentoo.patch \
+ "${FILESDIR}"/${P}-gcc43.patch
+}
+
+src_install() {
+ dogamesbin xfreecell
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins "${WORKDIR}"/MSNumbers
+ dodoc CHANGES README mshuffle.txt
+ doman xfreecell.6
+ make_desktop_entry xfreecell XFreecell
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ einfo "Remember to restart X if this is the first time you've installed media-fonts/font-misc-misc"
+}