diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /games-puzzle/icebreaker |
reinit the tree, so we can have metadata
Diffstat (limited to 'games-puzzle/icebreaker')
7 files changed, 393 insertions, 0 deletions
diff --git a/games-puzzle/icebreaker/Manifest b/games-puzzle/icebreaker/Manifest new file mode 100644 index 000000000000..0a02c9fab003 --- /dev/null +++ b/games-puzzle/icebreaker/Manifest @@ -0,0 +1,9 @@ +AUX icebreaker-1.9.6-gentoo.patch 8571 SHA256 76fd7d5ad7b4e41caf4c935981afae119d0214255b4b42757c0d1b2d037d5fa4 SHA512 11eead6a2c01b45b9ee18d761ca6ddd3fc565f046e03ac32a270232e90251470abf9b02cb179fabd734432ae0d5330f524cc6ce07ff975b9f330f6c6f0d0e0ca WHIRLPOOL dbd8c778e04d98915d3d8746668c8797b4e1bc38ef4a95df5fbaee4064e32271d9733a21fbdad72605a5e0c7852cef2d9c10c023795855d0f5b8e2a289924481 +AUX icebreaker-1.9.6-ldflags.patch 870 SHA256 4601d7005773a4800d1ee37e3557ea51ec8364f847286b58260b2ace5a574513 SHA512 5f3a2788cad993e625b8a6f848b2b839d07b257dd8c401e2699683a585175d686c25c69b7b477d4062db6fec9f03730c53c90dd92e9854070f9fdd6d17d7cdbf WHIRLPOOL 5971a05c2043f04a8b2ce6b255f05627c373a6e857c617212b1fd7cf6dc12f18b58540fad3a71178aaff45d5da4acbd38a613b8827f1a7e13855e24d7c09920f +AUX icebreaker-1.9.6-ovfl.patch 695 SHA256 9d592c931bbcc7fd6a8d2df0db935950d87d419bff6564d58613b8f60e892598 SHA512 0875ed515da7f03e49bb7ccaf58c7dfcbd03574c2742e54da248423c0c8bd4257f2d7ce9f2fd3aac6d00336fd23bdb131fdb1a9398e31600f6bddbd23e513c1e WHIRLPOOL eb693f78e947ba2f4ff78fc87508ecc5164115e7198241bee064c22e9519dfa16686598cc0516f18c28db1d6a1f6991463010bd3b9bcf6b667942bf3f913cc93 +AUX icebreaker-1.9.6-parallell-install.patch 1183 SHA256 af211ff2b611b34dcdcb6b9b961b95b0c94fa82cfe98e4b03831c460316709ce SHA512 7eeaa07111ee6443f9ebcb3b0bd55dccb1ed6ca3137df2b5c407dcc696c5946bc7643847d0d347761e4e8311871788cf9120a615da715e602f27af077858cfc7 WHIRLPOOL 0f90e6b9f14345d2ce8e3913adeb4216c79cfa43805a94371ea40cdfbd13912f0ae19049040f49eb82673883dfefa1a4366b21eb086a894d209a1a9c66e1ba74 +DIST icebreaker-1.9.6.tgz 137333 SHA256 e80f3a0c918beeff528ec7e61c04a17019c2afff85f018a04f715f2b401931dc SHA512 c3b085dc42d33757011d6d526016477312c5e1cbab4c5584c1e271a1e43b40d61ad1e7f0c96c8f41348550b2e198b3ee7bca65fbef90125dbfa32544cbdf357b WHIRLPOOL 3616e2cd757c6efc7831dfcbd36cbd1a0ec7b5b1f32022ad7c721e39adde41985c40b7a6529acc60de9b5d8f92d802fe579f5a395d9b1402f6c653929be65698 +EBUILD icebreaker-1.9.6.ebuild 1075 SHA256 3379ccc012dc7c84fb9d6e0d5a54fdb86d7dfd9d7195e6d46b4df05ea1e2b6c0 SHA512 a58ac0714fbd985c65eb2998b7bdb7c1c32857a997ffba4a2e4e3f5c26fc176f6f19f9e57e0199099c714eb684268bd0f3cd2f2fe4a1523f70dddfbc1ce43e02 WHIRLPOOL d72eda1476d8242be16f479615732d0b2b2e371677cc58bad9ed724f544529167da57cf7fec45a224f6757b182c607c1f13f8573ad67ba800742a48ce0537946 +MISC ChangeLog 2766 SHA256 29ac7e7f547dbc5fac8300bc6330e312dda58f64082edcc7f8d892eace13f6b3 SHA512 408795b28a8163eba3367891894f1fd9a5574a9a796ae86114a091157187aee3d2a87a1ed10f1c7e350d30df6a4b838a882979262dc335b9d6169810bf50dd80 WHIRLPOOL aeed03c4bc485a197a84ebceaa98d0a6c2addc4746b8ab9433757f317516aa7d7a26550454735329911b31a3b1d7d4cceec4778744a692692f5b4aefd3c3c7b4 +MISC ChangeLog-2015 3764 SHA256 23fab1127c3fc8c285ca0d1fc269adbd38484594d9ceb7bdddb6b181dfe6e18e SHA512 7c351d9717502652f221fc25f9939ae07d1d57f8c400eb2e7c32e1fddaef89845cb9cb0ec3d234f37c3bd869cf463a96c9851b4965eb91ab7a97f018a8bb4357 WHIRLPOOL 1d023ff1ace9fe47b7909c21b549f27578f9588a06c39324fd87ec55e305d82dcb48185ad4d2acf51e6c6093fcffc8697fec776ad39592ab214b8c53f51774f7 +MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088 diff --git a/games-puzzle/icebreaker/files/icebreaker-1.9.6-gentoo.patch b/games-puzzle/icebreaker/files/icebreaker-1.9.6-gentoo.patch new file mode 100644 index 000000000000..d6e16a6c39a6 --- /dev/null +++ b/games-puzzle/icebreaker/files/icebreaker-1.9.6-gentoo.patch @@ -0,0 +1,247 @@ +--- dialog.c ++++ dialog.c +@@ -279,10 +279,10 @@ PopupReturnType popuphighscores() + + for (i=0;i<HISCORENUM;i++) + { +- snprintf(buf,4,"%d.",i+1); ++ snprintf(buf,sizeof(buf),"%d.",i+1); + puttext(scorelistrect.x+BLOCKWIDTH,scorelistrect.y+45+i*(CHARHEIGHT*2+5),2,color.normaltext,buf); + puttext(scorelistrect.x+BLOCKWIDTH*4,scorelistrect.y+45+i*(CHARHEIGHT*2+5),2,color.normaltext,hiscorename[i]); +- snprintf(buf,30,"%ld",hiscoreval[i]); ++ snprintf(buf,sizeof(buf),"%ld",hiscoreval[i]); + puttext(scorelistrect.x+scorelistrect.w-(BLOCKWIDTH*5),scorelistrect.y+45+i*(CHARHEIGHT*2+5),2,color.normaltext,buf); + } + +@@ -364,7 +364,7 @@ PopupReturnType popuphelp() + { + puttext(helprect.x+BLOCKWIDTH/2,helprect.y+BLOCKHEIGHT/2+i*(CHARHEIGHT*2+4),2,color.normaltext,helptext[i]); + } +- snprintf(buf,80,"v%d.%d.%d %s",VERMAJOR,VERMINOR,VERSUB,"Copyright (c) 2000-2002 Matthew Miller. Released under the GPL."); ++ snprintf(buf,sizeof(buf),"v%d.%d.%d %s",VERMAJOR,VERMINOR,VERSUB,"Copyright (c) 2000-2002 Matthew Miller. Released under the GPL."); + puttext(helprect.x+BLOCKWIDTH/2,helprect.y+helprect.h-CHARHEIGHT*3,1,color.copyrighttext,buf); + puttext(helprect.x+BLOCKWIDTH/2,helprect.y+helprect.h-CHARHEIGHT*1-3,1,color.copyrighttext,"Thanks to my wonderful wife Karen for inspiration (and for patience)!"); + +--- menu.c ++++ menu.c +@@ -193,12 +193,12 @@ PopupReturnType popupoptionsmenu() + + if (strlen(commandline.theme)>0) + { +- snprintf(originaltheme,MAXTHEMENAMELENGTH+1,"%s",commandline.theme); ++ snprintf(originaltheme,sizeof(originaltheme),"%s",commandline.theme); + originalthemecl=true; + } + else + { +- snprintf(originaltheme,MAXTHEMENAMELENGTH+1,"%s",options.theme); ++ snprintf(originaltheme,sizeof(originaltheme),"%s",options.theme); + originalthemecl=false; + } + +@@ -521,7 +521,7 @@ PopupReturnType menuitem_theme(char * va + if (((mbutton==1 || mbutton==4) && t==themecount-1) || ((mbutton!=1 && mbutton!=4) && t==0)) + { // "random", at the end/beginning of the list + +- strncpy(val,"random",MAXMENUVALUELENGTH); ++ strcpy(options.theme,"random"); + snprintf(options.theme,MAXMENUVALUELENGTH,"random"); + + settheme("linux"); // just for pretty +@@ -538,7 +538,7 @@ PopupReturnType menuitem_theme(char * va + if (mbutton==1 || mbutton==4) // left click or scroll forwards + { + strncpy(val,themelist[(t+1)%themecount],MAXMENUVALUELENGTH); +- snprintf(options.theme,MAXMENUVALUELENGTH,themelist[(t+1)%themecount]); ++ snprintf(options.theme,sizeof(options.theme),"%s",themelist[(t+1)%themecount]); + } + else // right or middle or scroll back + { +--- hiscore.c ++++ hiscore.c +@@ -72,7 +72,7 @@ + // make sure all entries are zeroed out to start. + for (i=0;i<HISCORENUM;i++) + { +- snprintf(temphiscorename[i],7,"Nobody"); ++ strcpy(temphiscorename[i],"Nobody"); + temphiscoreval[i]=100; //100 is better than 0. :) + } + +@@ -103,7 +103,7 @@ + // ok, so now, we can copy things over in the proper sorted order + for (i=0;i<HISCORENUM;i++) + { +- snprintf(hiscorename[i],50,temphiscorename[arrayindex[i]]); ++ snprintf(hiscorename[i],50,"%s",temphiscorename[arrayindex[i]]); + hiscoreval[i]=temphiscoreval[arrayindex[i]]; + } + +@@ -201,13 +201,13 @@ + // make sure the temp array contains the right data + for (i=0;i<HISCORENUM;i++) + { +- snprintf(temphiscorename[i],50,hiname[i]); ++ snprintf(temphiscorename[i],50,"%s",hiname[i]); + temphiscoreval[i]=hival[i]; + } + + // and toss in the new data + //(this is why these arrays are size HISCORENUM+1) +- snprintf(temphiscorename[HISCORENUM],50,username); ++ snprintf(temphiscorename[HISCORENUM],50,"%s",username); + temphiscoreval[HISCORENUM]=score; + + // fill the "helper" array. +@@ -221,7 +221,7 @@ + // and take the top ones back. + for (i=0;i<HISCORENUM;i++) + { +- snprintf(hiname[i],50,temphiscorename[arrayindex[i]]); ++ snprintf(hiname[i],50,"%s",temphiscorename[arrayindex[i]]); + hival[i]=temphiscoreval[arrayindex[i]]; + } + } +--- line.c ++++ line.c +@@ -30,8 +30,9 @@ + + Line createline(int linenum) + { +- Line l; ++ static Line l; + ++ memset(&l, 0, sizeof(l)); + switch (linenum) + { + case 1: +--- options.c ++++ options.c +@@ -66,7 +66,7 @@ + options.autopause=AUTOPAUSEOFF; + options.difficulty=NORMAL; + options.fullscreen=FULLSCREENOFF; +- snprintf(options.theme,MAXTHEMENAMELENGTH+1,"linux"); ++ strcpy(options.theme,"linux"); + } + + int readoptions(void) +@@ -81,7 +81,7 @@ + + setdefaultoptions(); + +- snprintf(filename,255,"%s/%s",homedir,OPTIONFILE); ++ snprintf(filename,sizeof(filename),"%s/%s",homedir,OPTIONFILE); + + optionfile=fopen(filename,"r"); + if (optionfile==NULL) +@@ -135,7 +135,7 @@ + } + else if (!strcmp(optbuf,"theme")) + { +- snprintf(options.theme,MAXTHEMENAMELENGTH+1,"%s",valbuf); ++ snprintf(options.theme,sizeof(options.theme),"%s",valbuf); + } + // FIX: add username + } +@@ -150,7 +150,7 @@ + { + FILE * optionfile; + char filename[255]; +- snprintf(filename,255,"%s/%s",homedir,OPTIONFILE); ++ snprintf(filename,sizeof(filename),"%s/%s",homedir,OPTIONFILE); + + optionfile=fopen(filename,"w"); + if (optionfile==NULL) +@@ -292,7 +292,7 @@ + else + { + // fix -- we should probably search for malicious characters here. +- snprintf(commandline.theme,MAXTHEMENAMELENGTH+1,"%s",argv[i]+strlen(FLAGTHEME)); ++ snprintf(commandline.theme,sizeof(commandline.theme),"%s",argv[i]+strlen(FLAGTHEME)); + } + } + else if (strncmp(argv[i],FLAGTHEMELONG "=" ,strlen(FLAGTHEMELONG "=")) == 0) +@@ -312,7 +312,7 @@ + else + { + // fix -- we should probably search for malicious characters here. +- snprintf(commandline.theme,MAXTHEMENAMELENGTH+1,"%s",argv[i]+strlen(FLAGTHEMELONG "=")); ++ snprintf(commandline.theme,sizeof(commandline.theme),"%s",argv[i]+strlen(FLAGTHEMELONG "=")); + } + } + else if (strncmp(argv[i],FLAGTHEMELONG,strlen(FLAGTHEMELONG)) == 0) +--- penguin.c ++++ penguin.c +@@ -40,8 +40,9 @@ + + Penguin createpenguinxy(int x, int y) + { +- Penguin p; ++ static Penguin p; + ++ memset(&p, 0, sizeof(p)); + switch (random() % 4) + { + case 0: +--- themes.c ++++ themes.c +@@ -183,7 +183,7 @@ + + foundcolor.spritetransparent = 0; + +- snprintf(themefilename, 256,"%s/%s%s",DATAPREFIX,themename,THEMEFILEEXTENSION); ++ snprintf(themefilename, sizeof(themefilename),"%s/%s%s",DATAPREFIX,themename,THEMEFILEEXTENSION); + + themefile=fopen(themefilename,"r"); + if (themefile==NULL) +@@ -329,7 +329,7 @@ + "We'll try to load it anyway, but don't be surpised if there's a problem.\n" + "(Filename is %s)\n",themename,valbuf); + } +- snprintf(loadfilebuf, 256,"%s/%s",DATAPREFIX,valbuf); ++ snprintf(loadfilebuf, sizeof(loadfilebuf),"%s/%s",DATAPREFIX,valbuf); + spriteimage=loadsprite(themename,loadfilebuf); + } + else if (!strcmp(optbuf,"spritemirrorbitmap")) +@@ -340,7 +340,7 @@ + "We'll try to load it anyway, but don't be surpised if there's a problem.\n" + "(Filename is %s)\n",themename,valbuf); + } +- snprintf(loadfilebuf, 256,"%s/%s",DATAPREFIX,valbuf); ++ snprintf(loadfilebuf, sizeof(loadfilebuf),"%s/%s",DATAPREFIX,valbuf); + spritemirrorimage=loadsprite(themename,loadfilebuf); + } + else if (!strcmp(optbuf,"soundouch")) +@@ -351,7 +351,7 @@ + "We'll try to load it anyway, but don't be surpised if there's a problem.\n" + "(Filename is %s)\n",themename,valbuf); + } +- snprintf(loadfilebuf, 256,"%s/%s",DATAPREFIX,valbuf); ++ snprintf(loadfilebuf, sizeof(loadfilebuf),"%s/%s",DATAPREFIX,valbuf); + loadsounds(themename,loadfilebuf,NULL); + } + else if (!strcmp(optbuf,"soundcrash")) +@@ -362,7 +362,7 @@ + "We'll try to load it anyway, but don't be surpised if there's a problem.\n" + "(Filename is %s)\n",themename,valbuf); + } +- snprintf(loadfilebuf, 256,"%s/%s",DATAPREFIX,valbuf); ++ snprintf(loadfilebuf, sizeof(loadfilebuf),"%s/%s",DATAPREFIX,valbuf); + loadsounds(themename,NULL,loadfilebuf); + } + } +@@ -474,11 +474,11 @@ + { + fprintf(stderr,"Hey! You can't have a theme named random! Please remove the random.ibt\n" + "file from your themes directory.\n"); +- snprintf(themename,MAXTHEMENAMELENGTH+1,"linux"); ++ strcpy(themename,"linux"); + } + else + { +- snprintf(themename,MAXTHEMENAMELENGTH+1,themelist[random() %themecount]); ++ snprintf(themename,sizeof(themename),"%s",themelist[random() %themecount]); + } + freethemenames(&themelist,themecount); + return settheme(themename); diff --git a/games-puzzle/icebreaker/files/icebreaker-1.9.6-ldflags.patch b/games-puzzle/icebreaker/files/icebreaker-1.9.6-ldflags.patch new file mode 100644 index 000000000000..44ef9bdf8631 --- /dev/null +++ b/games-puzzle/icebreaker/files/icebreaker-1.9.6-ldflags.patch @@ -0,0 +1,28 @@ +--- Makefile.orig 2010-10-11 12:20:01.274684641 -0400 ++++ Makefile 2010-10-11 12:22:02.256897083 -0400 +@@ -1,5 +1,3 @@ +-CC=gcc +- + SDLCONFIG=sdl-config + + ifndef prefix +@@ -177,7 +175,7 @@ + [ -d win32.build ] && rm -rf win32.build || true + + icebreaker: $(SRC:.c=.o) +- $(CC) $(CFLAGS) $^ -o icebreaker $(SDL_LIB) ++ $(CC) $(LDFLAGS) $(CFLAGS) $^ -o icebreaker $(SDL_LIB) + + man: icebreaker.6 + +@@ -202,8 +200,8 @@ + install -m 644 *.wav *.bmp $(datadir)/icebreaker + + install-bin: icebreaker +- install -s -g games -m 2755 icebreaker $(bindir) || \ +- install -s -m 755 icebreaker $(bindir) ++ install -g games -m 2755 icebreaker $(bindir) || \ ++ install -m 755 icebreaker $(bindir) + @test -g $(bindir)/icebreaker || \ + echo -e '*** Note: icebreaker binary not installed set-group-ID "games" -- shared\n*** highscores may be impossible. (Try installing as root.)' + diff --git a/games-puzzle/icebreaker/files/icebreaker-1.9.6-ovfl.patch b/games-puzzle/icebreaker/files/icebreaker-1.9.6-ovfl.patch new file mode 100644 index 000000000000..03050be548fb --- /dev/null +++ b/games-puzzle/icebreaker/files/icebreaker-1.9.6-ovfl.patch @@ -0,0 +1,20 @@ +--- menu.c.old 2013-06-24 22:09:11.606750080 +0200 ++++ menu.c 2013-06-24 22:25:51.635735351 +0200 +@@ -522,7 +522,7 @@ + { // "random", at the end/beginning of the list + + strcpy(options.theme,"random"); +- snprintf(options.theme,MAXMENUVALUELENGTH,"random"); ++ snprintf(options.theme,MAXTHEMENAMELENGTH,"random"); + + settheme("linux"); // just for pretty + +@@ -544,7 +544,7 @@ + { + if (t<0) t=themecount; + strncpy(val,themelist[(t-1)%themecount],MAXMENUVALUELENGTH); +- snprintf(options.theme,MAXMENUVALUELENGTH,themelist[(t-1)%themecount]); ++ snprintf(options.theme,MAXTHEMENAMELENGTH,"%s",themelist[(t-1)%themecount]); + } + + settheme(options.theme); diff --git a/games-puzzle/icebreaker/files/icebreaker-1.9.6-parallell-install.patch b/games-puzzle/icebreaker/files/icebreaker-1.9.6-parallell-install.patch new file mode 100644 index 000000000000..de388d9b5758 --- /dev/null +++ b/games-puzzle/icebreaker/files/icebreaker-1.9.6-parallell-install.patch @@ -0,0 +1,34 @@ +--- Makefile.old 2010-10-19 10:26:18.000000000 +0200 ++++ Makefile 2010-10-19 10:38:28.000000000 +0200 +@@ -196,26 +196,30 @@ + themes-install: install-themes + + install-themes: ++ mkdir -p $(datadir)/icebreaker + install -m 644 *.ibt $(datadir)/icebreaker + install -m 644 *.wav *.bmp $(datadir)/icebreaker + + install-bin: icebreaker ++ mkdir -p $(bindir) + install -g games -m 2755 icebreaker $(bindir) || \ + install -m 755 icebreaker $(bindir) + @test -g $(bindir)/icebreaker || \ + echo -e '*** Note: icebreaker binary not installed set-group-ID "games" -- shared\n*** highscores may be impossible. (Try installing as root.)' + + install-man: icebreaker.6 ++ mkdir -p $(mandir)/man6 + install -m 644 icebreaker.6 $(mandir)/man6 + + install-scorefile: ++ mkdir -p $(highscoredir) + touch $(highscoredir)/icebreaker.scores + chown -f games:games $(highscoredir)/icebreaker.scores && \ + chmod 664 $(highscoredir)/icebreaker.scores || \ + chmod 644 $(highscoredir)/icebreaker.scores + + +-install: all install-mkdirs install-themes install-bin install-man install-scorefile ++install: install-themes install-bin install-man install-scorefile + + %.d: %.c + set -e; $(CC) -M $(CFLAGS) $< \ diff --git a/games-puzzle/icebreaker/icebreaker-1.9.6.ebuild b/games-puzzle/icebreaker/icebreaker-1.9.6.ebuild new file mode 100644 index 000000000000..5ea007c9d862 --- /dev/null +++ b/games-puzzle/icebreaker/icebreaker-1.9.6.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils games + +DESCRIPTION="Trap and capture penguins on Antarctica" +HOMEPAGE="http://www.mattdm.org/icebreaker/" +SRC_URI="http://www.mattdm.org/${PN}/1.9.x/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +RDEPEND="media-libs/libsdl[video] + media-libs/sdl-mixer" +DEPEND="${RDEPEND}" + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-ldflags.patch \ + "${FILESDIR}"/${P}-gentoo.patch \ + "${FILESDIR}"/${P}-parallell-install.patch \ + "${FILESDIR}"/${P}-ovfl.patch +} + +src_compile() { + emake \ + OPTIMIZE="${CFLAGS}" \ + prefix=/usr \ + bindir="${GAMES_BINDIR}" \ + datadir="${GAMES_DATADIR}" \ + highscoredir="${GAMES_STATEDIR}" +} + +src_install() { + emake \ + prefix="${D}/usr" \ + bindir="${D}${GAMES_BINDIR}" \ + datadir="${D}${GAMES_DATADIR}" \ + highscoredir="${D}${GAMES_STATEDIR}" install + newicon ${PN}_48.bmp ${PN}.bmp + make_desktop_entry ${PN} IceBreaker /usr/share/pixmaps/${PN}.bmp + dodoc ChangeLog README* TODO + prepgamesdirs +} diff --git a/games-puzzle/icebreaker/metadata.xml b/games-puzzle/icebreaker/metadata.xml new file mode 100644 index 000000000000..78274e0fa550 --- /dev/null +++ b/games-puzzle/icebreaker/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> |