diff options
Diffstat (limited to 'games-arcade/rocksndiamonds')
6 files changed, 226 insertions, 0 deletions
diff --git a/games-arcade/rocksndiamonds/Manifest b/games-arcade/rocksndiamonds/Manifest new file mode 100644 index 000000000000..ff73dd2ebbea --- /dev/null +++ b/games-arcade/rocksndiamonds/Manifest @@ -0,0 +1,16 @@ +AUX rocksndiamonds-4.1.0.0-CVE-2011-4606.patch 961 BLAKE2B 10eae087eb32a90ae0f05df568aaaf9d9360badc056b77d2a1f00be4df24d7cfa884234860adb69aa4a21b8a6367c46b2d4b612c0205be10bfd1ba226c4e5f1e SHA512 5a76f0e16dd7e6bc7157050dae77f05b7b02130d2ee08051d6ef1574b201da0498d7bd14a480dd33a062ee323eb572291f9f20d44fc1bc48603980763f7763de +AUX rocksndiamonds-4.1.0.0-YN.patch 700 BLAKE2B 92cdef21f6a301b37671fd2748b72f0b774861644fe75b480a99230ea0b4df6525207d09e661125e42aa20375ac4da0be96c5dc308a58ad237969a736f87bcb7 SHA512 3781a5ac8c43fdf6372c5e74b3ab3e57eeaff6adb814a590330a457b1ef8c37447d93e549745fa96fec3fc45e463d7669982aeda58fabd6ac8e20708746f6859 +AUX rocksndiamonds-4.1.0.0-music-info-url.patch 2598 BLAKE2B 9edde25c6306eebf10e365828b367fb090972e16aba53010c5ea1bba4628e4ec1cebcf13a80e5a68e19c00d84db0b0347e891411f3dc19a4b117b5c82b6c39bd SHA512 64a6908f7cf9e9d332634e8222c71b30fecbc550e49433d619a58f4a1a5c688e757c1c035bfc1a6d1c2a672921219e3390b87b8b96f0b4abefcc2048bec94038 +DIST BD2K3-1.0.0.zip 4715324 BLAKE2B 72e25038c41a7a1c29a896459db97954d18731d6980f5096c28ebddb09c0b6d7bdb68a8c56f17d26c71085e4ae883d2ceaad8e95b5525cbf532d18f32ecdd638 SHA512 80f172584d2077a3ade0749790802ef9cecde75283d6b889e7d2fedf9b55fd1fd7f1f1fd5596b17d5b2a542172699a929ea626086e77d28fde11487440c43622 +DIST Boulder_Dash_Dream-1.0.0.zip 10923437 BLAKE2B 976156c763281b993550a08361c5b6279a471e24568205c0369cc3f57d99e97db84d914a560c909b30fe92b8c8c10931cf6a8a8de4da181edac410a770d922b7 SHA512 f2765f52653b4f9d6c4a6548076281f6749d08c2dfd220345bdc0058b94d51c49ef81acdc87ff71bc1b3f337f3cc6a1d08b9e5a02d6aaeaeac5d894f97ba3d8e +DIST Contributions-1.2.0.zip 9499312 BLAKE2B a90a84d230ab1032819bc3821871eb027ed83a8e289b01692f80185c42d50429ca8c6928b72b1ae5ea102ba2a0d25cd25391dc53b0cdb37ef4504233292dc2da SHA512 463e629bd4f592e24a82d20f1f249cea9e266a7c370bb5b079add8daa125d1af69a69746b696dd92f89b90e50972c6b2ba007aab87beed4cd980c0c7bdb81920 +DIST Snake_Bite-1.0.0.zip 6506066 BLAKE2B 852f7815939100f78d6a7ce27df565277f6467cc63c069f77d4e067f0144df092c3b6e73a64d0a9743033d90b20d390761046b253c188fd65873f7b28bf8b451 SHA512 82131cb68c9654cb49ddbb46b0c15f13ce98af4f3b2a46e1cc4f2980eea45a707297c74787f365996321f39a9f7656a9492c3d437e3da0d71a295447c868960e +DIST Sokoban-1.0.0.zip 295339 BLAKE2B e263e311e58dcc21d11dd10b0fa7af0f871405d932c2e1ea6d580ec58098c6a498202b516cbd3d2f1dd795521b419de61c8c9a195f4b2ea781a35ac645cd9c59 SHA512 b63be5b00c4c0b153bb6fc45fde556c26cd49fa672b279cce2f61b572d9c056d5e10a565530bdf539024d75ffdd38efe68310e98b8f810d9c5dfc17b24ec376b +DIST rnd-contrib-1.0.0.tar.gz 3389242 BLAKE2B bcdc926a7164788c8c640bf1aced57fbe9d71d99332751d2c4e30460427cb09a30ee3e45f2e6b6a1d83cce9bdf4c92ab187a2385a57bdc2a893735bd19c64b9b SHA512 8bd82f9c34e6e2d2b7ea22fc5899e72a64587469bfb1336d0d33e6ee2bcd04b3b6adca958861b0e29e18e8dac74651c642126511cacb247072e367783a5c6a08 +DIST rnd_jue-v8.tar.bz2 17244645 BLAKE2B 92d0cf646296b065c9ebe54d8d5ecb831eeb49748e47b6d2f019c2fd359d1e6ef5d3cd0472f1247e5c41b6b5aa7154b9e3baae000defc83b24470163a9dfc416 SHA512 cbff4cd16c812d77fe8446da4016d8f75dfa8675298a745062ff53a7783a39a59cffd886fedf1097023e72e111f10ddd56f280a109058a1a8ee069d664d2c59c +DIST rockslevels-dx-1.0.tar.gz 211151 BLAKE2B 637a600f9197925d82e7ef344c90f04e8508c6b114fd07ad00977d91a856ff85dc29207e5f22c659382ee0759f8607e9dc8ad0c0de3826d57b74d494320b57ad SHA512 2e1bc4484a76bf638e8ce285972b20b6377e0483abb2475e2343d48de1f84ee102f430049d685b89bc1087e0f20b9b6e29370f8e6cae66b480d3650be9991f44 +DIST rockslevels-emc-1.0.tar.gz 3824268 BLAKE2B 0feadd5d9c6225c8574576281d07e14ff98fc9a33c67d3fa5083219ce39daaa1902a5ed652b5379fa4e58ee2428a8a452d66520571206143fd0fcd54f71b977a SHA512 9abad888fa00bc305444367c5ab8ffdad95eaca22613573e44d5ecd93b1a9a1cbc931497c064002d90fd3174c4661d0b009ede7746b2fe8da0a00072303a1301 +DIST rockslevels-sp-1.0.tar.gz 373564 BLAKE2B 3f724ea55bbdaae80a35d6a9f5d8751a9228862fbe1ba45419343b1968510e10d3c82cc01844e35bc35561e65df3bc7e5ec2a0b807e1f56359dc7dccc16e3cb0 SHA512 2d44e9238a72846b9d4fbab90288aa3b23af4957ffe0d42d95c523fd22f3587572864b3fc0b277894d2f3f56d6eff52ea009e5b2d59aebc34163a1067662d729 +DIST rocksndiamonds-4.1.0.0.tar.gz 3850621 BLAKE2B 9c85aced223b855eec0300634d2fb30513d8b2d1856d8e134594f7de1669cf64f487a87335e28f7b8abb0c13492573ac5bd3261cfc5274287e75d0ace258ab93 SHA512 4949c2e9a601c8e005b006b13b82e36f7f001321051d392bc34aa4c234c6cddfa9fae16e58d83070072cac1429e13f1fb96d2c4b2ecd35a309065ca3c1c869c2 +EBUILD rocksndiamonds-4.1.0.0.ebuild 2488 BLAKE2B 86402f119e6ba7782ec8dc2387579cdafb4ad8bbf32cf63798e4f052a2c31cba940d56a3db14e911e0ea09e0d4b7cbc6b954d309bbd994e68d869096c59d1ca4 SHA512 1986c566cebafaa1d84f97457bd908f93ff6c215410297d330fbe89168b047049f223edc5376d50cd4f56809728492033eefa35485360218913c881e377697fd +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 diff --git a/games-arcade/rocksndiamonds/files/rocksndiamonds-4.1.0.0-CVE-2011-4606.patch b/games-arcade/rocksndiamonds/files/rocksndiamonds-4.1.0.0-CVE-2011-4606.patch new file mode 100644 index 000000000000..1aaa9e43dcc3 --- /dev/null +++ b/games-arcade/rocksndiamonds/files/rocksndiamonds-4.1.0.0-CVE-2011-4606.patch @@ -0,0 +1,18 @@ +diff -up rocksndiamonds-4.0.0.1/src/libgame/setup.c.CVE-2011-4606 rocksndiamonds-4.0.0.1/src/libgame/setup.c +--- rocksndiamonds-4.0.0.1/src/libgame/setup.c.CVE-2011-4606 2017-01-12 07:53:09.497075662 -0500 ++++ rocksndiamonds-4.0.0.1/src/libgame/setup.c 2017-01-12 07:58:19.319076661 -0500 +@@ -1311,11 +1311,13 @@ void sortTreeInfo(TreeInfo **node_first) + #define MODE_W_ALL (S_IWUSR | S_IWGRP | S_IWOTH) + #define MODE_X_ALL (S_IXUSR | S_IXGRP | S_IXOTH) + ++#define MODE_R_PRIVATE (S_IRUSR) + #define MODE_W_PRIVATE (S_IWUSR) ++#define MODE_X_PRIVATE (S_IXUSR) + #define MODE_W_PUBLIC_FILE (S_IWUSR | S_IWGRP) + #define MODE_W_PUBLIC_DIR (S_IWUSR | S_IWGRP | S_ISGID) + +-#define DIR_PERMS_PRIVATE (MODE_R_ALL | MODE_X_ALL | MODE_W_PRIVATE) ++#define DIR_PERMS_PRIVATE (MODE_R_PRIVATE | MODE_X_PRIVATE | MODE_W_PRIVATE) + #define DIR_PERMS_PUBLIC (MODE_R_ALL | MODE_X_ALL | MODE_W_PUBLIC_DIR) + #define DIR_PERMS_PUBLIC_ALL (MODE_R_ALL | MODE_X_ALL | MODE_W_ALL) + diff --git a/games-arcade/rocksndiamonds/files/rocksndiamonds-4.1.0.0-YN.patch b/games-arcade/rocksndiamonds/files/rocksndiamonds-4.1.0.0-YN.patch new file mode 100644 index 000000000000..70c95bd076dc --- /dev/null +++ b/games-arcade/rocksndiamonds/files/rocksndiamonds-4.1.0.0-YN.patch @@ -0,0 +1,22 @@ +diff -up rocksndiamonds-4.0.0.1/src/tools.c.yesno rocksndiamonds-4.0.0.1/src/tools.c +--- rocksndiamonds-4.0.0.1/src/tools.c.yesno 2017-01-12 07:47:09.921343574 -0500 ++++ rocksndiamonds-4.0.0.1/src/tools.c 2017-01-12 07:51:45.059649653 -0500 +@@ -3901,6 +3901,18 @@ static int RequestHandleEvents(unsigned + result = 0; + break; + ++ case KSYM_y: ++ case KSYM_Y: ++ if (req_state & REQ_ASK) ++ result = TRUE; ++ break; ++ ++ case KSYM_n: ++ case KSYM_N: ++ if (req_state & REQ_ASK) ++ result = FALSE; ++ break; ++ + default: + HandleKeysDebug(key); + break; diff --git a/games-arcade/rocksndiamonds/files/rocksndiamonds-4.1.0.0-music-info-url.patch b/games-arcade/rocksndiamonds/files/rocksndiamonds-4.1.0.0-music-info-url.patch new file mode 100644 index 000000000000..f913be382e94 --- /dev/null +++ b/games-arcade/rocksndiamonds/files/rocksndiamonds-4.1.0.0-music-info-url.patch @@ -0,0 +1,71 @@ +diff -up rocksndiamonds-4.1.0.0/src/files.c.url rocksndiamonds-4.1.0.0/src/files.c +--- rocksndiamonds-4.1.0.0/src/files.c.url 2018-04-10 15:44:08.000000000 -0400 ++++ rocksndiamonds-4.1.0.0/src/files.c 2018-04-17 16:30:19.726734512 -0400 +@@ -10127,11 +10127,13 @@ static struct MusicFileInfo *get_music_f + { "artist_header", &tmp_music_file_info.artist_header }, + { "album_header", &tmp_music_file_info.album_header }, + { "year_header", &tmp_music_file_info.year_header }, ++ { "url_header", &tmp_music_file_info.url_header }, + + { "title", &tmp_music_file_info.title }, + { "artist", &tmp_music_file_info.artist }, + { "album", &tmp_music_file_info.album }, + { "year", &tmp_music_file_info.year }, ++ { "url", &tmp_music_file_info.url }, + + { NULL, NULL }, + }; +@@ -10247,11 +10249,13 @@ void LoadMusicInfo() + checked_free(music_file_info->artist_header); + checked_free(music_file_info->album_header); + checked_free(music_file_info->year_header); ++ checked_free(music_file_info->url_header); + + checked_free(music_file_info->title); + checked_free(music_file_info->artist); + checked_free(music_file_info->album); + checked_free(music_file_info->year); ++ checked_free(music_file_info->url); + + free(music_file_info); + +diff -up rocksndiamonds-4.1.0.0/src/main.h.url rocksndiamonds-4.1.0.0/src/main.h +--- rocksndiamonds-4.1.0.0/src/main.h.url 2018-04-10 15:44:08.000000000 -0400 ++++ rocksndiamonds-4.1.0.0/src/main.h 2018-04-17 16:30:19.727734490 -0400 +@@ -3463,11 +3463,13 @@ struct MusicFileInfo + char *artist_header; + char *album_header; + char *year_header; ++ char *url_header; + + char *title; + char *artist; + char *album; + char *year; ++ char *url; + + int music; + +diff -up rocksndiamonds-4.1.0.0/src/screens.c.url rocksndiamonds-4.1.0.0/src/screens.c +--- rocksndiamonds-4.1.0.0/src/screens.c.url 2018-04-17 16:30:19.728734467 -0400 ++++ rocksndiamonds-4.1.0.0/src/screens.c 2018-04-17 16:34:00.653803869 -0400 +@@ -3060,6 +3060,19 @@ void HandleInfoScreen_Music(int button) + ystart += ystep_head; + } + ++ if (!strEqual(list->url, UNKNOWN_NAME)) ++ { ++ if (!strEqual(list->url_header, UNKNOWN_NAME)) ++ DrawTextSCentered(ystart, font_head, list->url_header); ++ else ++ DrawTextSCentered(ystart, font_head, "from the website"); ++ ++ ystart += ystep_head; ++ ++ DrawTextFCentered(ystart, font_text, "%s", list->url); ++ ystart += ystep_head; ++ } ++ + DrawTextSCentered(ybottom, FONT_TEXT_4, + "Press any key or button for next page"); + diff --git a/games-arcade/rocksndiamonds/metadata.xml b/games-arcade/rocksndiamonds/metadata.xml new file mode 100644 index 000000000000..78274e0fa550 --- /dev/null +++ b/games-arcade/rocksndiamonds/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-arcade/rocksndiamonds/rocksndiamonds-4.1.0.0.ebuild b/games-arcade/rocksndiamonds/rocksndiamonds-4.1.0.0.ebuild new file mode 100644 index 000000000000..f6f2cdcddcf4 --- /dev/null +++ b/games-arcade/rocksndiamonds/rocksndiamonds-4.1.0.0.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit desktop flag-o-matic + +DESCRIPTION="A Boulderdash clone" +HOMEPAGE="http://www.artsoft.org/rocksndiamonds/" +SRC_URI="http://www.artsoft.org/RELEASES/unix/rocksndiamonds/${P}.tar.gz + http://www.artsoft.org/RELEASES/rocksndiamonds/levels/Contributions-1.2.0.zip + http://www.artsoft.org/RELEASES/rocksndiamonds/levels/BD2K3-1.0.0.zip + http://www.artsoft.org/RELEASES/rocksndiamonds/levels/Boulder_Dash_Dream-1.0.0.zip + http://www.artsoft.org/RELEASES/rocksndiamonds/levels/rnd-contrib-1.0.0.tar.gz + http://www.artsoft.org/RELEASES/rocksndiamonds/levels/Snake_Bite-1.0.0.zip + http://www.artsoft.org/RELEASES/rocksndiamonds/levels/Sokoban-1.0.0.zip + http://www.artsoft.org/RELEASES/unix/rocksndiamonds/levels/rockslevels-emc-1.0.tar.gz + http://www.artsoft.org/RELEASES/unix/rocksndiamonds/levels/rockslevels-sp-1.0.tar.gz + http://www.artsoft.org/RELEASES/unix/rocksndiamonds/levels/rockslevels-dx-1.0.tar.gz + mirror://gentoo/rnd_jue-v8.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND=" + media-libs/libsdl2[joystick,video] + media-libs/sdl2-mixer[mod,mp3,timidity] + media-libs/sdl2-net + media-libs/sdl2-image[gif] + media-libs/smpeg +" +DEPEND="${RDEPEND} + app-arch/unzip +" + +PATCHES=( + # From Fedora: + "${FILESDIR}"/${PN}-4.1.0.0-YN.patch + "${FILESDIR}"/${PN}-4.1.0.0-music-info-url.patch + "${FILESDIR}"/${PN}-4.1.0.0-CVE-2011-4606.patch +) + +src_unpack() { + unpack ${P}.tar.gz + cd "${S}" + unpack \ + rockslevels-emc-1.0.tar.gz \ + rockslevels-sp-1.0.tar.gz \ + rockslevels-dx-1.0.tar.gz + cd levels + unpack \ + rnd_jue-v8.tar.bz2 \ + BD2K3-1.0.0.zip \ + rnd-contrib-1.0.0.tar.gz \ + Snake_Bite-1.0.0.zip \ + Contributions-1.2.0.zip \ + Boulder_Dash_Dream-1.0.0.zip \ + Sokoban-1.0.0.zip +} + +src_prepare() { + default + sed -i \ + -e 's:\$(MAKE_CMD):$(MAKE) -C $(SRC_DIR):' \ + -e '/^MAKE/d' \ + -e '/^CC/d' \ + Makefile || die + + sed -i \ + -e '/^LDFLAGS/s/=/+=/' \ + src/Makefile || die +} + +src_compile() { + replace-cpu-flags k6 k6-1 k6-2 i586 + + local makeopts="RO_GAME_DIR=/usr/share/${PN} RW_GAME_DIR=/usr/share/${PN}" + emake -j1 clean + emake ${makeopts} OPTIONS="${CFLAGS}" sdl2 +} + +src_install() { + dobin rocksndiamonds + insinto "/usr/share/${PN}" + doins -r docs graphics levels music sounds + + einstalldocs + newicon graphics/gfx_classic/RocksIcon32x32.png ${PN}.png + make_desktop_entry rocksndiamonds "Rocks 'N' Diamonds" /usr/share/pixmaps/${PN}.png +} |