Gentoo Archives: gentoo-commits

From: James Le Cuirot <chewi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-strategy/triplea/, games-strategy/triplea/files/
Date: Tue, 11 Oct 2016 22:30:23
Message-Id: 1476224977.084125792256c6117509431b3a2ab5ef6066d80a.chewi@gentoo
1 commit: 084125792256c6117509431b3a2ab5ef6066d80a
2 Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
3 AuthorDate: Tue Oct 11 22:27:44 2016 +0000
4 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
5 CommitDate: Tue Oct 11 22:29:37 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08412579
7
8 games-strategy/triplea: Libs (#596468), drop games eclass, fix paths
9
10 It's hard to see how this ever worked as it built against bundled
11 libraries but did not install them. It turns out many aren't
12 needed so we now unbundle them all except Apache Derby, which was
13 last-rited.
14
15 The server tried to write under /usr/share and ${PWD} by default,
16 which is bad and bad. I have made it write under ~/.triplea.
17
18 Package-Manager: portage-2.3.1
19
20 games-strategy/triplea/files/mkdir.sh | 1 +
21 games-strategy/triplea/files/paths.patch | 63 ++++++++++++++++++
22 games-strategy/triplea/files/upnplib.patch | 14 ++++
23 games-strategy/triplea/triplea-1.8.0.9-r1.ebuild | 81 ++++++++++++++++++++++++
24 4 files changed, 159 insertions(+)
25
26 diff --git a/games-strategy/triplea/files/mkdir.sh b/games-strategy/triplea/files/mkdir.sh
27 new file mode 100644
28 index 00000000..f1bd04d
29 --- /dev/null
30 +++ b/games-strategy/triplea/files/mkdir.sh
31 @@ -0,0 +1 @@
32 +mkdir -v "${HOME}/.triplea"
33
34 diff --git a/games-strategy/triplea/files/paths.patch b/games-strategy/triplea/files/paths.patch
35 new file mode 100644
36 index 00000000..f0cd91e
37 --- /dev/null
38 +++ b/games-strategy/triplea/files/paths.patch
39 @@ -0,0 +1,63 @@
40 +diff -Naur a/src/games/strategy/engine/framework/GameRunner2.java b/src/games/strategy/engine/framework/GameRunner2.java
41 +--- a/src/games/strategy/engine/framework/GameRunner2.java 2015-09-02 20:30:04.000000000 +0100
42 ++++ b/src/games/strategy/engine/framework/GameRunner2.java 2016-10-11 23:08:50.296813567 +0100
43 +@@ -952,9 +952,9 @@
44 + // the default
45 + File rootDir;
46 + if (GameRunner.isMac()) {
47 +- rootDir = new File(new File(userHome, "Documents"), "triplea");
48 ++ rootDir = new File(new File(userHome, "Documents"), ".triplea");
49 + } else {
50 +- rootDir = new File(userHome, "triplea");
51 ++ rootDir = new File(userHome, ".triplea");
52 + }
53 + return rootDir;
54 + }
55 +diff -Naur a/src/games/strategy/engine/lobby/server/userDB/Database.java b/src/games/strategy/engine/lobby/server/userDB/Database.java
56 +--- a/src/games/strategy/engine/lobby/server/userDB/Database.java 2015-08-19 16:35:06.000000000 +0100
57 ++++ b/src/games/strategy/engine/lobby/server/userDB/Database.java 2016-10-11 23:08:50.296813567 +0100
58 +@@ -54,7 +54,7 @@
59 + if (System.getProperties().containsKey(ServerLauncher.SERVER_ROOT_DIR_PROPERTY)) {
60 + root = new File(System.getProperties().getProperty(ServerLauncher.SERVER_ROOT_DIR_PROPERTY));
61 + } else {
62 +- root = GameRunner2.getRootFolder();
63 ++ root = GameRunner2.getUserRootFolder();
64 + }
65 + if (!root.exists()) {
66 + throw new IllegalStateException("Root dir does not exist");
67 +diff -Naur a/src/games/strategy/util/AccessLogFileHandler.java b/src/games/strategy/util/AccessLogFileHandler.java
68 +--- a/src/games/strategy/util/AccessLogFileHandler.java 2015-08-19 16:35:06.000000000 +0100
69 ++++ b/src/games/strategy/util/AccessLogFileHandler.java 2016-10-11 23:10:31.219309604 +0100
70 +@@ -12,7 +12,7 @@
71 + private static final String logFile;
72 +
73 + static {
74 +- final File rootDir = new File(System.getProperty(ServerLauncher.SERVER_ROOT_DIR_PROPERTY, "."));
75 ++ final File rootDir = new File(System.getProperty(ServerLauncher.SERVER_ROOT_DIR_PROPERTY, games.strategy.engine.framework.GameRunner2.getUserRootFolder().getAbsolutePath()));
76 + if (!rootDir.exists()) {
77 + throw new IllegalStateException("no dir called:" + rootDir.getAbsolutePath());
78 + }
79 +diff -Naur a/src/games/strategy/util/RotatingLogFileHandlerForHeadlessGameServer.java b/src/games/strategy/util/RotatingLogFileHandlerForHeadlessGameServer.java
80 +--- a/src/games/strategy/util/RotatingLogFileHandlerForHeadlessGameServer.java 2015-08-19 16:35:06.000000000 +0100
81 ++++ b/src/games/strategy/util/RotatingLogFileHandlerForHeadlessGameServer.java 2016-10-11 23:10:40.227175356 +0100
82 +@@ -13,7 +13,7 @@
83 + private static final String logFile;
84 +
85 + static {
86 +- final File rootDir = new File(System.getProperty(ServerLauncher.SERVER_ROOT_DIR_PROPERTY, "."));
87 ++ final File rootDir = new File(System.getProperty(ServerLauncher.SERVER_ROOT_DIR_PROPERTY, games.strategy.engine.framework.GameRunner2.getUserRootFolder().getAbsolutePath()));
88 + if (!rootDir.exists()) {
89 + throw new IllegalStateException("no dir called:" + rootDir.getAbsolutePath());
90 + }
91 +diff -Naur a/src/games/strategy/util/RotatingLogFileHandler.java b/src/games/strategy/util/RotatingLogFileHandler.java
92 +--- a/src/games/strategy/util/RotatingLogFileHandler.java 2015-08-19 16:35:06.000000000 +0100
93 ++++ b/src/games/strategy/util/RotatingLogFileHandler.java 2016-10-11 23:10:46.851076636 +0100
94 +@@ -12,7 +12,7 @@
95 + private static final String logFile;
96 +
97 + static {
98 +- final File rootDir = new File(System.getProperty(ServerLauncher.SERVER_ROOT_DIR_PROPERTY, "."));
99 ++ final File rootDir = new File(System.getProperty(ServerLauncher.SERVER_ROOT_DIR_PROPERTY, games.strategy.engine.framework.GameRunner2.getUserRootFolder().getAbsolutePath()));
100 + if (!rootDir.exists()) {
101 + throw new IllegalStateException("no dir called:" + rootDir.getAbsolutePath());
102 + }
103
104 diff --git a/games-strategy/triplea/files/upnplib.patch b/games-strategy/triplea/files/upnplib.patch
105 new file mode 100644
106 index 00000000..f17b789
107 --- /dev/null
108 +++ b/games-strategy/triplea/files/upnplib.patch
109 @@ -0,0 +1,14 @@
110 +diff -Naur a/src/games/strategy/net/UniversalPlugAndPlayHelper.java b/src/games/strategy/net/UniversalPlugAndPlayHelper.java
111 +--- a/src/games/strategy/net/UniversalPlugAndPlayHelper.java 2015-08-19 16:35:06.000000000 +0100
112 ++++ b/src/games/strategy/net/UniversalPlugAndPlayHelper.java 2016-10-11 22:10:37.287834187 +0100
113 +@@ -166,8 +166,8 @@
114 + System.out.println("To " + m_local.getHostAddress() + ":" + internalPort);
115 + boolean mapped = false;
116 + try {
117 +- mapped = m_device.addPortMapping("TripleA Game Hosting", "TCP", null, externalPort, m_local.getHostAddress(),
118 +- internalPort, 0);
119 ++ mapped = m_device.addPortMapping("TripleA Game Hosting", null, internalPort, externalPort,
120 ++ m_local.getHostAddress(), 0, "TCP");
121 + } catch (final IOException e) {
122 + System.out.println("Port Mapping Failed! Please try to Forward Ports manually! \r\n " + e.getMessage());
123 + return "Port Mapping Failed! Please try to Forward Ports manually! \r\n " + e.getMessage();
124
125 diff --git a/games-strategy/triplea/triplea-1.8.0.9-r1.ebuild b/games-strategy/triplea/triplea-1.8.0.9-r1.ebuild
126 new file mode 100644
127 index 00000000..0cf68a6
128 --- /dev/null
129 +++ b/games-strategy/triplea/triplea-1.8.0.9-r1.ebuild
130 @@ -0,0 +1,81 @@
131 +# Copyright 1999-2016 Gentoo Foundation
132 +# Distributed under the terms of the GNU General Public License v2
133 +# $Id$
134 +
135 +EAPI=5
136 +inherit eutils java-pkg-2 java-ant-2 versionator
137 +
138 +MY_PV=$(replace_all_version_separators _)
139 +DESCRIPTION="An open source clone of the popular Axis and Allies boardgame"
140 +HOMEPAGE="http://triplea.sourceforge.net/"
141 +SRC_URI="mirror://sourceforge/triplea/${PN}_${MY_PV}_source_code_only.zip"
142 +
143 +LICENSE="GPL-2"
144 +SLOT="0"
145 +KEYWORDS="~amd64 ~x86"
146 +IUSE="test"
147 +RESTRICT="test" # Needs X11 maybe use virtualx.eclass
148 +
149 +RDEPEND="dev-java/apple-java-extensions-bin:0
150 + dev-java/commons-httpclient:3
151 + dev-java/oracle-javamail:0
152 + dev-java/osgi-core-api:0
153 + dev-java/upnplib:0"
154 +DEPEND="${RDEPEND}
155 + >=virtual/jdk-1.7
156 + app-arch/unzip
157 + test? ( dev-java/ant-junit:0 )"
158 +RDEPEND="${RDEPEND}
159 + >=virtual/jre-1.7"
160 +
161 +S=${WORKDIR}/${PN}_${MY_PV}
162 +
163 +JAVA_ANT_REWRITE_CLASSPATH="true"
164 +EANT_GENTOO_CLASSPATH="apple-java-extensions-bin,commons-httpclient-3,oracle-javamail,osgi-core-api,upnplib"
165 +
166 +java_prepare() {
167 + # Use ~/.triplea, not ~/triplea.
168 + # Don't write server files under /usr/share or ${PWD}.
169 + # Fix to build against our packaged upnplib.
170 + epatch "${FILESDIR}"/{paths,upnplib}.patch
171 +
172 + # Remove packaged or unneeded libs. Unfortunately Apache Derby was
173 + # last-rited due to packaging issues. See bug #561410.
174 + find lib/* ! -name "derby-*.jar" -delete || die
175 + rm -r old/ || die
176 +}
177 +
178 +src_compile() {
179 + eant
180 + echo "triplea.saveGamesInHomeDir=true" > data/triplea.properties || die
181 + # The only target creating this is zip which does unjar etc
182 + jar cf ${PN}.jar -C classes . || die
183 +}
184 +
185 +src_test() {
186 + java-pkg-2_src_test
187 +}
188 +
189 +src_install() {
190 + insinto /usr/share/${PN}
191 + doins -r assets data dice_servers maps
192 +
193 + java-pkg_dojar ${PN}.jar
194 + java-pkg_newjar lib/derby-*.jar derby.jar
195 +
196 + java-pkg_dolauncher ${PN} \
197 + --main games.strategy.engine.framework.GameRunner \
198 + --java_args "-Xmx256m"
199 + java-pkg_dolauncher ${PN}-server -pre "${FILESDIR}"/mkdir.sh \
200 + --main games.strategy.engine.lobby.server.LobbyServer \
201 + --java_args "-server -Xmx64m -Dtriplea.lobby.port=3303 -Dtriplea.lobby.console=true"
202 +
203 + newicon icons/triplea_icon.png ${PN}.png
204 + newicon icons/triplea_icon.png ${PN}-server.png
205 + make_desktop_entry ${PN} TripleA
206 + make_desktop_entry ${PN}-server TripleA-server
207 +
208 + dodoc changelog.txt TripleA_RuleBook.pdf
209 + docinto html
210 + dodoc -r doc/* readme.html
211 +}