summaryrefslogtreecommitdiff
path: root/games-puzzle/sgt-puzzles
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /games-puzzle/sgt-puzzles
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'games-puzzle/sgt-puzzles')
-rw-r--r--games-puzzle/sgt-puzzles/Manifest8
-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.xml15
-rw-r--r--games-puzzle/sgt-puzzles/sgt-puzzles-20171029.ebuild116
-rw-r--r--games-puzzle/sgt-puzzles/sgt-puzzles-99999999.ebuild116
7 files changed, 387 insertions, 0 deletions
diff --git a/games-puzzle/sgt-puzzles/Manifest b/games-puzzle/sgt-puzzles/Manifest
new file mode 100644
index 000000000000..eb0a71b2d714
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/Manifest
@@ -0,0 +1,8 @@
+AUX sgt-puzzles-20161207-builtin-help.patch 3086 BLAKE2B 80af8579911c9abd09324664609eac6b849cdec14925e0b6f86c014153980003ccf7c2c42ee532e4a4373a9ec31df9753d2ddd2d6b198561d478bd316812383f SHA512 daa001156ae8eadb8b4012d6713a327efb52e43271c9dbae936bf1002575548c2ef6b1aa39ea95278a602b38d443cd90507d4d9fedd4e4494b1fbf3222250fe4
+AUX sgt-puzzles.directory 65 BLAKE2B c51b022658d8bcc7b004f953f58c9848a992e5f82cfe5354d5dd3399fb12f355f609a33f3216998398572efc328cb19dc2228b70f55fb3488d8f05be3b089eb7 SHA512 b6cada99b9afae8407b494e066ce271cd65980e2d225e512d55b1905e93e70af3763e7e6e76fcdf30314005dfa309a5daa7e2ac6d83d312edaf2f74869d8079c
+AUX sgt-puzzles.menu 556 BLAKE2B 3e7ca65d13dbdd2d54520d549728cbf5d53e59f7d6cd836fa5807d8b883de157dbc006a8023831e15bdcceaa5828f5ce5cb19bbf89e635a352cbe0e864b18691 SHA512 2b3d68ae2eef33199953fe85af08c87ba91cfc8c1ea92b535af90c5f07fcbbccec124a0b9701b8cafe92786d945f2ed499e046a55d1e6da1bbb02ae5f02e5ee9
+DIST puzzles-20171029.69773d8.tar.gz 2923623 BLAKE2B 2e97005aa5ea7e95b4f312067d406fd37f5f89638b335c5eee748f4d8c2977f663cde91ea29d57ffb1cb3eb5264cad36a46106dc8f14ddedcb0dc5f4b3e4c1f6 SHA512 ca9885bcadd0bb979167f2f0b6129a17aeab6d7fd31eeabc9d29ab526a5a137b03f1f4aea7a268109c5aee1a522d514bf522ad25673705f50addd685401d7fb8
+DIST sgt-puzzles-icons-20160315.tar.xz 715536 BLAKE2B c50b3a6a0d0f8a052215dd9fba7c3eca5822bc7f866a825ad5e92391bb1867d141793877bc7c4545cc6da674bf273752612f7d3578a6a05b22cc2552ea798ce6 SHA512 2fe2c02984eb8c36ac6fb4195be7895b336b84f40ce8baeb23dc8a32aca9937ccf1d33050b4da3cfba3c87e124ecbdd940ee4e990b37eabe8e2af897c2e23b57
+EBUILD sgt-puzzles-20171029.ebuild 2469 BLAKE2B 2eb3149c037babbf64ed85b10f2eb948b2555d6ac015e3c5cc8ca0be7d85de6b0e6dfeac4580662c87d086f9e00643bacaea3e853548e0d25c68cb9f0b7fdec1 SHA512 dffa784d55c7a82ce632956f29e970091de1e3ee46b7a558072831d570498d4f4df82a40d9302b21719fafe3c6876f0e54559b2a4260fc948b6d947d0050cf03
+EBUILD sgt-puzzles-99999999.ebuild 2471 BLAKE2B 0abde514c681107afd85fc119ed58be61ce039408a26ad73433afec8d286e3031473bb8ba7b6c36b7679f498cd1081a0c9143bf9f7722d49468eb422cd71aea5 SHA512 c32aa429bb8943444c9d2291882a17e8469716448d2ca4bf3344030dbf46773e2ecf8a9b78103a892a5aa0a427f2750c614e53614c59aae3e47a149a8e4411d6
+MISC metadata.xml 450 BLAKE2B dd64e755862b5c621530b5dc2f612247acb16fda51d5f6018bfb9ca580cc7176d8cd62eda86b540cb260d2056572a887ecf7fdad8ddd563aaf13c494d42689db SHA512 1f1187d3e661b3913f0a9c02fc9b2980c90bc7829daf87ef5f59b03d87fb32680f30cbf2c922b92fde7c79f961872d1d7b13368db8b8eacba79340c6de2778ff
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..744f27f1fda6
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/metadata.xml
@@ -0,0 +1,15 @@
+<?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>
+ </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-20171029.ebuild b/games-puzzle/sgt-puzzles/sgt-puzzles-20171029.ebuild
new file mode 100644
index 000000000000..cfc0b290bca1
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/sgt-puzzles-20171029.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2018 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=69773d8
+ 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|-Werror||g' \
+ configure.ac || die
+ sed -i \
+ -e 's/-O2 -Wall .* -g/-Wall/' \
+ -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..7eaeac646bc6
--- /dev/null
+++ b/games-puzzle/sgt-puzzles/sgt-puzzles-99999999.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2018 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="https://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=69773d8
+ 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|-Werror||g' \
+ configure.ac || die
+ sed -i \
+ -e 's/-O2 -Wall .* -g/-Wall/' \
+ -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
+}