forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
games-puzzle/sgt-puzzles: Large changeset, fixes #593480
Drop games eclass support Bump to EAPI=6 Rename binaries to avoid filename collisions Sort xdg menu entries In app help options Various ebuild improvements Package-Manager: portage-2.3.0
- Loading branch information
1 parent
e2f8910
commit 49e5e31
Showing
6 changed files
with
281 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST puzzles-20160315.c0bc13c.tar.gz 2838135 SHA256 fc557d3a1021a1e56ae63589d08788a8ccdfa1772e4c74cbbade5fefcf4e691f SHA512 9317ab26605982d5a97cec57596bd3e75cb1cb93b2bc14f6f295cf3950a759b21c5262e3eb04a3c3cda1d3d1cf4ff9477ee7fac9d310558567714e8e1cfc3496 WHIRLPOOL 7cc52ecabbfda7f71c64c02cc4ca434a20e637e25754d00b3f397318d0dd120aaf7ea19faafbb7eee259b7c2ca91e8e396d7667e4b1fa7fc6a153f15a69fb52f | ||
DIST puzzles-20161207.b958129.tar.gz 2897516 SHA256 d8b93252c06a1fb25e0888e67b9e92a435a02fc746c89149e9cff77b44760ec3 SHA512 d937ebcf9aa7d4aa603a5ffec8bb2b3c533df855718288d380072b5e2518ed791eb5b23388c489e31decc9c25ef6a7b42b26fae5b76f1e75df246487d05a8d78 WHIRLPOOL 06f98af4e476421d3a6207f98de0851cdf4dae3446568c10808326acde24de8b54afb03c3667bef88ebdd3fba1d693993a64c0f2d6a2eeb8e43ff2ca32dc2c50 | ||
DIST sgt-puzzles-icons-20160315.tar.xz 715536 SHA256 9ddc1b6d02b3c3358a9bc6b17c7070650f794cf5f650f25b2ac7e5def6674447 SHA512 2fe2c02984eb8c36ac6fb4195be7895b336b84f40ce8baeb23dc8a32aca9937ccf1d33050b4da3cfba3c87e124ecbdd940ee4e990b37eabe8e2af897c2e23b57 WHIRLPOOL 17bdadc9519320bc88af27f2db7a9c243f04d80e524db51ad9398831185e2c66f2430006c324fa7d5b70ce156cb9df93d9405216053b32101b5f56035a60f6ac |
107 changes: 107 additions & 0 deletions
107
games-puzzle/sgt-puzzles/files/sgt-puzzles-20161207-builtin-help.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 <[email protected]> | ||
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 = | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[Desktop Entry] | ||
Type=Directory | ||
Name=Puzzles | ||
Icon=sgt-puzzles_map |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<!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> | ||
<Menu> | ||
<Name>Puzzles</Name> | ||
<Directory>sgt-puzzles.directory</Directory> | ||
<Include> | ||
<And> | ||
<All></All> | ||
<Category>sgt-puzzles</Category> | ||
</And> | ||
</Include> | ||
</Menu> <!-- End Puzzles --> | ||
</Menu> <!-- End Games --> | ||
</Menu> <!-- End Applications --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
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=b958129 | ||
SRC_URI="http://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="http://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;${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 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters