summaryrefslogtreecommitdiff
path: root/games-puzzle/sgt-puzzles
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-puzzle/sgt-puzzles
reinit the tree, so we can have metadata
Diffstat (limited to 'games-puzzle/sgt-puzzles')
-rw-r--r--games-puzzle/sgt-puzzles/Manifest12
-rw-r--r--games-puzzle/sgt-puzzles/files/sgt-puzzles-20161207-builtin-help.patch107
-rw-r--r--games-puzzle/sgt-puzzles/files/sgt-puzzles.directory4
-rw-r--r--games-puzzle/sgt-puzzles/files/sgt-puzzles.menu21
-rw-r--r--games-puzzle/sgt-puzzles/metadata.xml16
-rw-r--r--games-puzzle/sgt-puzzles/sgt-puzzles-20170314.ebuild113
-rw-r--r--games-puzzle/sgt-puzzles/sgt-puzzles-20170514.ebuild113
-rw-r--r--games-puzzle/sgt-puzzles/sgt-puzzles-99999999.ebuild113
8 files changed, 499 insertions, 0 deletions
diff --git a/games-puzzle/sgt-puzzles/Manifest b/games-puzzle/sgt-puzzles/Manifest
new file mode 100644
index 000000000000..a8847e557792
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/Manifest
@@ -0,0 +1,12 @@
+AUX sgt-puzzles-20161207-builtin-help.patch 3086 SHA256 87d4e593ba755c6d582a5e4835a1ab9d38c4175995d3d697a82b0d986be12419 SHA512 daa001156ae8eadb8b4012d6713a327efb52e43271c9dbae936bf1002575548c2ef6b1aa39ea95278a602b38d443cd90507d4d9fedd4e4494b1fbf3222250fe4 WHIRLPOOL 8af32c5c12150c5d07a3bc66409e89b596aa7e1abb8f4a8ed017596b5a90b48bd18a75a2aaa2a41efdba1c498a5667f1da5d3aaa1af8b3dc7b3e7cf94070fd3e
+AUX sgt-puzzles.directory 65 SHA256 5358d29d2429a500d05bfdc5aba23c58f635f9f45deba9d0dafe2e2cd4722aaf SHA512 b6cada99b9afae8407b494e066ce271cd65980e2d225e512d55b1905e93e70af3763e7e6e76fcdf30314005dfa309a5daa7e2ac6d83d312edaf2f74869d8079c WHIRLPOOL f9be68c5ba24a035d02975563409395c8fc150e02773b8b8ca1dba0e912d85ebabbb293a0a4dba44d782682e9f30eb8d7c651b9fa8770f36db060e188e25a6d2
+AUX sgt-puzzles.menu 556 SHA256 7576f1e82e7fbaed12d45c5f38b27c4e376827f216f558c4b117c9f152071c21 SHA512 2b3d68ae2eef33199953fe85af08c87ba91cfc8c1ea92b535af90c5f07fcbbccec124a0b9701b8cafe92786d945f2ed499e046a55d1e6da1bbb02ae5f02e5ee9 WHIRLPOOL 9523626e5c2ebf06866a9bdfeccd6a2603fb595da80030f56aa42861127a75ce074f6291bee726f4bc333ebe17aff98482d1735d9a142a320289abaf9ac6a32c
+DIST puzzles-20170314.eedea41.tar.gz 2897824 SHA256 57c156fa7de2605a4ae0f18e54ce20ef4e08b8faf32d26eccf5a7fa545940fa8 SHA512 ef7d12e0e20aef487a18b572a4464f3e23b226fae599cc22fdb34348f6c3baf3dcd21207c8fedef0ac3a6c4344b13e520767efef8830aaa2ad4b914285f8aa3c WHIRLPOOL 17b069ae171497212411ed6696fafd00108064f3a28ce38925a4fc6d9040e3d072a14920b024c329e597fe1fdedc9723089ea5c17d7df9226ac45ba612a1de70
+DIST puzzles-20170514.7bdfda8.tar.gz 2910137 SHA256 fa7e0e7d2f4bf43d4d5d91e0836ad87a133657a99f00ec5ee77504cd8bafda58 SHA512 b0acbc1cf3e2986c6c3a58a126ff4e9e8751e93ee9a4771e2fd8af6c98c01bbbe01db8ccc526fdbac1ee8bf9a4391c9b90d66e19458fdc53858a6a3724c02a4b WHIRLPOOL bae1cd85b3d4973db5e8610cb9b023a39fe5ee11386723e44d4ef7464615f9373d5b10f2d8cf325257709b3184ee40453b0262e22e427a8353f0e9c1c74adc51
+DIST sgt-puzzles-icons-20160315.tar.xz 715536 SHA256 9ddc1b6d02b3c3358a9bc6b17c7070650f794cf5f650f25b2ac7e5def6674447 SHA512 2fe2c02984eb8c36ac6fb4195be7895b336b84f40ce8baeb23dc8a32aca9937ccf1d33050b4da3cfba3c87e124ecbdd940ee4e990b37eabe8e2af897c2e23b57 WHIRLPOOL 17bdadc9519320bc88af27f2db7a9c243f04d80e524db51ad9398831185e2c66f2430006c324fa7d5b70ce156cb9df93d9405216053b32101b5f56035a60f6ac
+EBUILD sgt-puzzles-20170314.ebuild 2429 SHA256 2164350c2ec01e3d857f943edaddfd8d5ecc9857befb5b83cd2357e538fe488b SHA512 1109541b041b76adb5ced751bbce4e47e1f331a5929d768a8db682cadc8d32d4a2af30afe542b19c2e36e72bdc64483f3829d210d1760977728ef1ba378461cc WHIRLPOOL 741b5bc6535cc26f4b0d556ccd05f625eb9ca7093418a2c8c4d4402dfef77be15ed0dcdfde3f238d989b364506e104b7a82107eb8048fc2ccb1be8ffdf0dc209
+EBUILD sgt-puzzles-20170514.ebuild 2431 SHA256 f9e4c4215d7debb60b58e73ea54b6489c1f17f676bf8e9fbfcc0f9645c0aa94d SHA512 aa5ff7bbb5865ffe9fef85bc08d20f81fc15b501464043b97e7e5fd3157f2faf0d3f0911f80c763f2007aec21d335a5fbc87140ccb00634152c2f88f22e1345d WHIRLPOOL 4928ee21f72596e8bfb24e63964d897c226a58224af5a205364d3b197fdb394608df81e0b152299105240b582c15d33ee09bf6ff43516997fe0aaf5e1f2ce301
+EBUILD sgt-puzzles-99999999.ebuild 2431 SHA256 f9e4c4215d7debb60b58e73ea54b6489c1f17f676bf8e9fbfcc0f9645c0aa94d SHA512 aa5ff7bbb5865ffe9fef85bc08d20f81fc15b501464043b97e7e5fd3157f2faf0d3f0911f80c763f2007aec21d335a5fbc87140ccb00634152c2f88f22e1345d WHIRLPOOL 4928ee21f72596e8bfb24e63964d897c226a58224af5a205364d3b197fdb394608df81e0b152299105240b582c15d33ee09bf6ff43516997fe0aaf5e1f2ce301
+MISC ChangeLog 4138 SHA256 b7c3aa81c56a5013643c275b9a81d489f6aa1d385bf789ddfde45452566b7940 SHA512 2549275999e7a70e6735af3df6fadc508e31e3d855faf1256373c93f2876456c8fdd6df4f8434b160ff8a28f3b80f46f27f94a325d6c1744575419d78ff22461 WHIRLPOOL 073bbb00e9b1415161e0f0483c92094a7c4ea1eda222ad2aedb2bb08193b1f67919ef32e9ed4ce2575326dfea57f317828f2a3a986228e9f30eade0644cc98e8
+MISC ChangeLog-2015 3475 SHA256 00af97a81cc68c337dbd1e2c31e8a7e8c1ba0f498d771f3fa7a5b92fccdadede SHA512 7b3340e5b967f8c7182d6c6236fb31685597b800a497192eab0a00351621f50ecc2937e5629d6c2deed907d2b40d932c430616d650d1b2ceb91ff1f91e18fa7c WHIRLPOOL 2643ca84df68c6488b1144b46c9a38ba5e6160a214517bedfebe82e7bb74f591c7fa384461e81c1e2178d7946c0129c3942b634da73db0daa1849342063ee714
+MISC metadata.xml 509 SHA256 ea30284d04d8aa721cd895a05379d54af0f7c6dd2029cc6443945d03c5648520 SHA512 bf7a3e8f5e458b64950e264361f2aa10bb12abf9b00d4424f3e23659f3fa5f33171b9f60e2f776a7226a8ca2aec61895e446eb893d63d6347a25ef7e47faf931 WHIRLPOOL 3332cf4e852f50b8ca4b2a03c4a0396bfdfd7ccf01eea88ba057042b9641cef4ffeb555f384e2c62c23e1b6b2d2a21049092e7b503823a617037c1c3b2b16be1
diff --git a/games-puzzle/sgt-puzzles/files/sgt-puzzles-20161207-builtin-help.patch b/games-puzzle/sgt-puzzles/files/sgt-puzzles-20161207-builtin-help.patch
new file mode 100644
index 000000000000..a5c3a3695bd1
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/files/sgt-puzzles-20161207-builtin-help.patch
@@ -0,0 +1,107 @@
+Based on http://sources.debian.net/patches/sgt-puzzles/20160429.b31155b-1/202_online-help.diff/
+Simply opens HTML help files with xdg-open
+
+Author: Ben Hutchings <ben@decadent.org.uk>
+Description: Add HTML-based online help
+
+This works along the same lines as the Windows implementation,
+though we have to try a bit harder to find a help browser.
+
+--- a/gtk.c 2016-12-08 07:53:06.812409184 -0500
++++ b/gtk.c 2016-12-08 07:58:06.426415886 -0500
+@@ -2,6 +2,10 @@
+ * gtk.c: GTK front end for my puzzle collection.
+ */
+
++#ifndef _POSIX_C_SOURCE
++#define _POSIX_C_SOURCE 1 /* for PATH_MAX */
++#endif
++
+ #include <stdio.h>
+ #include <assert.h>
+ #include <stdlib.h>
+@@ -10,6 +14,9 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <math.h>
++#include <limits.h>
++#include <unistd.h>
++#include <locale.h>
+
+ #include <sys/time.h>
+ #include <sys/resource.h>
+@@ -2270,6 +2277,37 @@
+ resize_fe(fe);
+ }
+
++static void show_help(frontend *fe, const char *topic)
++{
++ char path[PATH_MAX + 1];
++
++ sprintf(path, "%s/%s.html", HTMLDIR, topic);
++ if (access(path, R_OK) != 0) {
++ error_box(fe->window, "Help file could not be found");
++ return;
++ }
++
++ const char *argv[3];
++
++ argv[0] = "xdg-open";
++ argv[1] = path;
++ argv[2] = NULL;
++ if (! g_spawn_async(NULL, (char **)argv, NULL,
++ G_SPAWN_SEARCH_PATH,
++ NULL, NULL, NULL, NULL))
++ error_box(fe->window, "Failed to open help file");
++}
++
++static void menu_help_contents_event(GtkMenuItem *menuitem, gpointer data)
++{
++ show_help((frontend *)data, "index");
++}
++
++static void menu_help_specific_event(GtkMenuItem *menuitem, gpointer data)
++{
++ show_help((frontend *)data, thegame.htmlhelp_topic);
++}
++
+ static void menu_about_event(GtkMenuItem *menuitem, gpointer data)
+ {
+ frontend *fe = (frontend *)data;
+@@ -2590,6 +2628,25 @@
+ menu = gtk_menu_new();
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu);
+
++ menuitem = gtk_menu_item_new_with_label("Contents");
++ gtk_container_add(GTK_CONTAINER(menu), menuitem);
++ g_signal_connect(G_OBJECT(menuitem), "activate",
++ G_CALLBACK(menu_help_contents_event), fe);
++ gtk_widget_show(menuitem);
++
++ if (thegame.htmlhelp_topic) {
++ char *item;
++ assert(thegame.name);
++ item = snewn(9+strlen(thegame.name), char); /*ick*/
++ sprintf(item, "Help on %s", thegame.name);
++ menuitem = gtk_menu_item_new_with_label(item);
++ sfree(item);
++ gtk_container_add(GTK_CONTAINER(menu), menuitem);
++ g_signal_connect(G_OBJECT(menuitem), "activate",
++ G_CALLBACK(menu_help_specific_event), fe);
++ gtk_widget_show(menuitem);
++ }
++
+ menuitem = gtk_menu_item_new_with_label("About");
+ gtk_container_add(GTK_CONTAINER(menu), menuitem);
+ g_signal_connect(G_OBJECT(menuitem), "activate",
+--- a/Recipe
++++ b/Recipe
+@@ -95,6 +95,7 @@ Puzzles.dmg: Puzzles
+
+ !begin am
+ bin_PROGRAMS = $(GAMES)
++GTK_CFLAGS += -DHTMLDIR="\"$(htmldir)\""
+ !end
+ !begin am_begin
+ GAMES =
+
diff --git a/games-puzzle/sgt-puzzles/files/sgt-puzzles.directory b/games-puzzle/sgt-puzzles/files/sgt-puzzles.directory
new file mode 100644
index 000000000000..25aa1aefbf5b
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/files/sgt-puzzles.directory
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Directory
+Name=Puzzles
+Icon=sgt-puzzles_map
diff --git a/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu b/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu
new file mode 100644
index 000000000000..e3f3264cff97
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu
@@ -0,0 +1,21 @@
+<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
+"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
+<Menu>
+ <Name>Applications</Name>
+ <Menu>
+ <Name>Games</Name>
+ <Exclude>
+ <Category>X-sgt-puzzles</Category>
+ </Exclude>
+ <Menu>
+ <Name>Puzzles</Name>
+ <Directory>sgt-puzzles.directory</Directory>
+ <Include>
+ <And>
+ <All></All>
+ <Category>X-sgt-puzzles</Category>
+ </And>
+ </Include>
+ </Menu> <!-- End Puzzles -->
+ </Menu> <!-- End Games -->
+</Menu> <!-- End Applications -->
diff --git a/games-puzzle/sgt-puzzles/metadata.xml b/games-puzzle/sgt-puzzles/metadata.xml
new file mode 100644
index 000000000000..a434a63e3f40
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/metadata.xml
@@ -0,0 +1,16 @@
+<?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>
+ <maintainer type="person">
+ <email>NP-Hardass@gentoo.org</email>
+ <name>NP-Hardass</name>
+ <description>Co-maintainer; CC on all bugs</description>
+ </maintainer>
+ <use>
+ <flag name="gtk3">Use x11-libs/gtk+:3 instead of x11-libs/gtk+:2</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-puzzle/sgt-puzzles/sgt-puzzles-20170314.ebuild b/games-puzzle/sgt-puzzles/sgt-puzzles-20170314.ebuild
new file mode 100644
index 000000000000..ccbdc036d624
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/sgt-puzzles-20170314.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils gnome2-utils toolchain-funcs autotools
+
+if [[ ${PV} == "99999999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.tartarus.org/simon/puzzles.git"
+ GENTOO_ICONS="20160315"
+ SRC_URI="https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${PN}-icons-${GENTOO_ICONS}.tar.xz"
+ KEYWORDS=""
+else
+ MAGIC=eedea41
+ SRC_URI="https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.${MAGIC}.tar.gz"
+ S=${WORKDIR}/puzzles-${PV}.${MAGIC}
+ KEYWORDS="amd64 x86"
+fi
+
+DESCRIPTION="Simon Tatham's Portable Puzzle Collection"
+HOMEPAGE="https://www.chiark.greenend.org.uk/~sgtatham/puzzles/"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+doc gtk3"
+
+COMMON_DEPEND="
+ !gtk3? ( x11-libs/gtk+:2 )
+ gtk3? ( x11-libs/gtk+:3 )"
+
+RDEPEND="${COMMON_DEPEND}
+ x11-misc/xdg-utils" # Used by builtin help patch
+
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ virtual/pkgconfig
+ doc? ( >=app-doc/halibut-1.0 )"
+
+PATCHES=( "${FILESDIR}/${PN}-20161207-builtin-help.patch" )
+
+src_unpack() {
+ default
+ if [[ ${PV} == "99999999" ]]; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/-O2 -Wall -Werror -ansi -pedantic -g//' \
+ -e "s/libstr =/libstr = '\$(LDFLAGS) ' ./" \
+ mkfiles.pl || die
+ ./mkfiles.pl || die
+ eautoreconf
+
+ # Import icons from latest Gentoo tarball for live
+ if [[ ${PV} == "99999999" ]]; then
+ cp -R ../${PN}-icons/icons . || die
+ fi
+}
+
+src_configure() {
+ econf \
+ --program-prefix="${PN}_" \
+ --with-gtk=$(usex gtk3 3 2)
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+ if use doc ; then
+ halibut --text --html --info --pdf --ps puzzles.but || die
+ fi
+}
+
+src_install() {
+ default
+
+ local file name
+ for file in *.R ; do
+ [[ ${file} == "nullgame.R" ]] && continue
+ name=$(awk -F: '/exe:/ { print $3 }' "${file}")
+ file=${file%.R}
+ newicon -s 48 icons/${file}-48d24.png ${PN}_${file}.png
+ make_desktop_entry "${PN}_${file}" "${name}" "${PN}_${file}" "Game;LogicGame;X-${PN};"
+ done
+
+ if use doc ; then
+ DOCS=( puzzles.{pdf,ps,txt} )
+ HTML_DOCS=( *.html )
+ einstalldocs
+ doinfo puzzles.info{,-1,-2,-3}
+ fi
+
+ insinto /etc/xdg/menus/applications-merged
+ doins "${FILESDIR}/${PN}.menu"
+ insinto /usr/share/desktop-directories
+ doins "${FILESDIR}/${PN}.directory"
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-puzzle/sgt-puzzles/sgt-puzzles-20170514.ebuild b/games-puzzle/sgt-puzzles/sgt-puzzles-20170514.ebuild
new file mode 100644
index 000000000000..483e2dc3387b
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/sgt-puzzles-20170514.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils gnome2-utils toolchain-funcs autotools
+
+if [[ ${PV} == "99999999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.tartarus.org/simon/puzzles.git"
+ GENTOO_ICONS="20160315"
+ SRC_URI="https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${PN}-icons-${GENTOO_ICONS}.tar.xz"
+ KEYWORDS=""
+else
+ MAGIC=7bdfda8
+ SRC_URI="https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.${MAGIC}.tar.gz"
+ S=${WORKDIR}/puzzles-${PV}.${MAGIC}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Simon Tatham's Portable Puzzle Collection"
+HOMEPAGE="https://www.chiark.greenend.org.uk/~sgtatham/puzzles/"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+doc gtk3"
+
+COMMON_DEPEND="
+ !gtk3? ( x11-libs/gtk+:2 )
+ gtk3? ( x11-libs/gtk+:3 )"
+
+RDEPEND="${COMMON_DEPEND}
+ x11-misc/xdg-utils" # Used by builtin help patch
+
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ virtual/pkgconfig
+ doc? ( >=app-doc/halibut-1.2 )"
+
+PATCHES=( "${FILESDIR}/${PN}-20161207-builtin-help.patch" )
+
+src_unpack() {
+ default
+ if [[ ${PV} == "99999999" ]]; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/-O2 -Wall -Werror -ansi -pedantic -g//' \
+ -e "s/libstr =/libstr = '\$(LDFLAGS) ' ./" \
+ mkfiles.pl || die
+ ./mkfiles.pl || die
+ eautoreconf
+
+ # Import icons from latest Gentoo tarball for live
+ if [[ ${PV} == "99999999" ]]; then
+ cp -R ../${PN}-icons/icons . || die
+ fi
+}
+
+src_configure() {
+ econf \
+ --program-prefix="${PN}_" \
+ --with-gtk=$(usex gtk3 3 2)
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+ if use doc ; then
+ halibut --text --html --info --pdf --ps puzzles.but || die
+ fi
+}
+
+src_install() {
+ default
+
+ local file name
+ for file in *.R ; do
+ [[ ${file} == "nullgame.R" ]] && continue
+ name=$(awk -F: '/exe:/ { print $3 }' "${file}")
+ file=${file%.R}
+ newicon -s 48 icons/${file}-48d24.png ${PN}_${file}.png
+ make_desktop_entry "${PN}_${file}" "${name}" "${PN}_${file}" "Game;LogicGame;X-${PN};"
+ done
+
+ if use doc ; then
+ DOCS=( puzzles.{pdf,ps,txt} )
+ HTML_DOCS=( *.html )
+ einstalldocs
+ doinfo puzzles.info{,-1,-2,-3}
+ fi
+
+ insinto /etc/xdg/menus/applications-merged
+ doins "${FILESDIR}/${PN}.menu"
+ insinto /usr/share/desktop-directories
+ doins "${FILESDIR}/${PN}.directory"
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-puzzle/sgt-puzzles/sgt-puzzles-99999999.ebuild b/games-puzzle/sgt-puzzles/sgt-puzzles-99999999.ebuild
new file mode 100644
index 000000000000..483e2dc3387b
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/sgt-puzzles-99999999.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils gnome2-utils toolchain-funcs autotools
+
+if [[ ${PV} == "99999999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.tartarus.org/simon/puzzles.git"
+ GENTOO_ICONS="20160315"
+ SRC_URI="https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${PN}-icons-${GENTOO_ICONS}.tar.xz"
+ KEYWORDS=""
+else
+ MAGIC=7bdfda8
+ SRC_URI="https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.${MAGIC}.tar.gz"
+ S=${WORKDIR}/puzzles-${PV}.${MAGIC}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Simon Tatham's Portable Puzzle Collection"
+HOMEPAGE="https://www.chiark.greenend.org.uk/~sgtatham/puzzles/"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+doc gtk3"
+
+COMMON_DEPEND="
+ !gtk3? ( x11-libs/gtk+:2 )
+ gtk3? ( x11-libs/gtk+:3 )"
+
+RDEPEND="${COMMON_DEPEND}
+ x11-misc/xdg-utils" # Used by builtin help patch
+
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ virtual/pkgconfig
+ doc? ( >=app-doc/halibut-1.2 )"
+
+PATCHES=( "${FILESDIR}/${PN}-20161207-builtin-help.patch" )
+
+src_unpack() {
+ default
+ if [[ ${PV} == "99999999" ]]; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/-O2 -Wall -Werror -ansi -pedantic -g//' \
+ -e "s/libstr =/libstr = '\$(LDFLAGS) ' ./" \
+ mkfiles.pl || die
+ ./mkfiles.pl || die
+ eautoreconf
+
+ # Import icons from latest Gentoo tarball for live
+ if [[ ${PV} == "99999999" ]]; then
+ cp -R ../${PN}-icons/icons . || die
+ fi
+}
+
+src_configure() {
+ econf \
+ --program-prefix="${PN}_" \
+ --with-gtk=$(usex gtk3 3 2)
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+ if use doc ; then
+ halibut --text --html --info --pdf --ps puzzles.but || die
+ fi
+}
+
+src_install() {
+ default
+
+ local file name
+ for file in *.R ; do
+ [[ ${file} == "nullgame.R" ]] && continue
+ name=$(awk -F: '/exe:/ { print $3 }' "${file}")
+ file=${file%.R}
+ newicon -s 48 icons/${file}-48d24.png ${PN}_${file}.png
+ make_desktop_entry "${PN}_${file}" "${name}" "${PN}_${file}" "Game;LogicGame;X-${PN};"
+ done
+
+ if use doc ; then
+ DOCS=( puzzles.{pdf,ps,txt} )
+ HTML_DOCS=( *.html )
+ einstalldocs
+ doinfo puzzles.info{,-1,-2,-3}
+ fi
+
+ insinto /etc/xdg/menus/applications-merged
+ doins "${FILESDIR}/${PN}.menu"
+ insinto /usr/share/desktop-directories
+ doins "${FILESDIR}/${PN}.directory"
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}