commit: ddf10128b35257dd60639064b6e4d96c84904f94
Author: Sebastian Pipping <sebastian <AT> pipping <DOT> org>
AuthorDate: Sun Sep 7 18:49:55 2014 +0000
Commit: Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Sun Sep 7 19:16:57 2014 +0000
URL:
http://sources.gentoo.org/gitweb/?p=proj/betagarden.git;a=commit;h=ddf10128
games-board/xiangqiboard: 0.1.3-rc
GHC patch by Sergei Trofimovich <slyfox <AT> g.o>
---
.../files/xiangqiboard-0.1.3-rc-modern-ghc.patch | 68 ++++++++++++++++++++++
.../files/xiangqiboard-0.1.3-rc-paths.patch | 34 +++++++++++
games-board/xiangqiboard/metadata.xml | 8 +++
.../xiangqiboard/xiangqiboard-0.1.3_rc.ebuild | 38 ++++++++++++
4 files changed, 148 insertions(+)
diff --git
a/games-board/xiangqiboard/files/xiangqiboard-0.1.3-rc-modern-ghc.patch
b/games-board/xiangqiboard/files/xiangqiboard-0.1.3-rc-modern-ghc.patch
new file mode 100644
index 0000000..ae8e675
--- /dev/null
+++ b/games-board/xiangqiboard/files/xiangqiboard-0.1.3-rc-modern-ghc.patch
@@ -0,0 +1,68 @@
+diff --git a/Makefile b/Makefile
+index f691934..c980d9e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -5,8 +5,12 @@ export datadir = $(datarootdir)/games/xiangqiboard
+
+ VERSION = $(shell grep '^Version' ChangeLog | head -n 1 | awk '{ print $$2;
}')
+
++HC=ghc
++HC_PACKAGES=base cairo process directory filepath old-time gtk
++HCFLAGS=-hide-all-packages $(foreach p,$(HC_PACKAGES),-package=$(p))
++
+ xiangqiboard: ./src/xiangqiboard.hs
+- ghc --make ./src/xiangqiboard.hs
++ $(HC) $(HCFLAGS) --make ./src/xiangqiboard.hs
+
+ install: xiangqiboard
+ mkdir -p $(datadir)
+diff --git a/src/xiangqiboard.hs b/src/xiangqiboard.hs
+index 6faa257..d36ca21 100644
+--- a/src/xiangqiboard.hs
++++ b/src/xiangqiboard.hs
+@@ -6,6 +6,8 @@
+ module Main where
+
+ import Graphics.UI.Gtk
++import Graphics.UI.Gtk.Gdk.GC (gcNew)
++import Graphics.UI.Gtk.Gdk.Events as GE
+ import Graphics.Rendering.Cairo
+ import System.IO
+ import System.Process
+@@ -13,10 +15,10 @@ import System.Directory
+ import System.FilePath
+ import System.Time
+ import Control.Concurrent
+-import Monad
+-import List
+-import Maybe
+-import Char
++import Control.Monad
++import Data.List
++import Data.Maybe
++import Data.Char
+ import Data.IORef
+
+ license =
+@@ -457,7 +459,7 @@ main = do
+ checkmove
+
+ onButtonPress canvas
+- (\x -> if (eventButton x) == LeftButton
++ (\x -> if (GE.eventButton x) == LeftButton
+ then do let ty = eventY x
+ let tx = eventX x
+ (step, offX) <- getScale canvas
+@@ -481,9 +483,9 @@ main = do
+ then do
+ parseMove movePart
+ else return ()
+- return (eventSent x)
+- else return (eventSent x)
+- else return (eventSent x))
++ return (GE.eventSent x)
++ else return (GE.eventSent x)
++ else return (GE.eventSent x))
+
+ {- todo: explicitly handle engine commands in future versions, entry
deactivated for now
+ onEntryActivate entry $ do
diff --git a/games-board/xiangqiboard/files/xiangqiboard-0.1.3-rc-paths.patch
b/games-board/xiangqiboard/files/xiangqiboard-0.1.3-rc-paths.patch
new file mode 100644
index 0000000..061617f
--- /dev/null
+++ b/games-board/xiangqiboard/files/xiangqiboard-0.1.3-rc-paths.patch
@@ -0,0 +1,34 @@
+From 39b4f3cfc76c083a8f163b49168cdb0c2ababd5b Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <[email protected]>
+Date: Sun, 7 Sep 2014 20:47:21 +0200
+Subject: [PATCH] Fix paths
+
+---
+ src/xiangqiboard.hs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/xiangqiboard.hs b/src/xiangqiboard.hs
+index d36ca21..7c8e113 100644
+--- a/src/xiangqiboard.hs
++++ b/src/xiangqiboard.hs
+@@ -794,7 +794,7 @@ getPiecePixbufferByChar :: Char -> IO Pixbuf
+ getPiecePixbufferByChar c = do
+
+ Just relativeDir <- findExecutable "xiangqiboard"
+- let dataDir = combine (takeDirectory relativeDir)
"../share/games/xiangqiboard/"
++ let dataDir = "/usr/share/games/xiangqiboard/"
+ let filename = dataDir ++ [c] ++ ".svg"
+
+ --pixbufNewFromFileAtSize filename 256 256
+@@ -938,7 +938,7 @@ openAboutDialog parentwindow license = do
+ openHelpContents :: IO ()
+ openHelpContents = do
+ Just relativeDir <- findExecutable "xiangqiboard"
+- let dataDir = combine (takeDirectory relativeDir)
"../share/doc/xiangqiboard/"
++ let dataDir = "/usr/share/games/doc/xiangqiboard/"
+ let filename = "file://" ++ dataDir ++ "xiangqiboard.xml"
+ let commandString = "yelp " ++ filename ++ " > /dev/null"
+ handle <- runCommand commandString
+--
+2.1.0
+
diff --git a/games-board/xiangqiboard/metadata.xml
b/games-board/xiangqiboard/metadata.xml
new file mode 100644
index 0000000..16bcc9f
--- /dev/null
+++ b/games-board/xiangqiboard/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>
+ <email>[email protected]</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/games-board/xiangqiboard/xiangqiboard-0.1.3_rc.ebuild
b/games-board/xiangqiboard/xiangqiboard-0.1.3_rc.ebuild
new file mode 100644
index 0000000..59d3777
--- /dev/null
+++ b/games-board/xiangqiboard/xiangqiboard-0.1.3_rc.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit eutils
+
+MY_P=${PN}-${PV/_/-}
+DESCRIPTION="Scalable Xiangqi GUI"
+HOMEPAGE="http://xiangqiboard.blogspot.de/"
+SRC_URI="http://ralph-glass.homepage.t-online.de/xiangqi/${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+SHARED_DEPEND="dev-haskell/gtk
+ dev-haskell/cairo"
+
+RDEPEND="${SHARED_DEPEND}
+ games-board/hoichess"
+DEPEND="${SHARED_DEPEND}
+ dev-lang/ghc"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${MY_P}-modern-ghc.patch
+ epatch "${FILESDIR}"/${MY_P}-paths.patch
+}
+
+src_install() {
+ dodir /usr/games/bin || die
+ emake prefix="${D}/usr" install || die
+ mv "${D}"/usr/games/${PN} "${D}"/usr/games/bin/ || die
+}