From 56bd759df1d0c750a065b8c845e93d5dfa6b549d Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sat, 8 Aug 2015 13:49:04 -0700 Subject: proj/gentoo: Initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson X-Thanks: Alec Warner - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring - wrote much python to improve cvs2svn X-Thanks: Rich Freeman - validation scripts X-Thanks: Patrick Lauer - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed --- games-emulation/hatari/Manifest | 1 + .../hatari/files/hatari-1.8.0-gentoo-docdir.patch | 13 +++ .../hatari/files/hatari-1.8.0-gentoo.patch | 112 +++++++++++++++++++++ games-emulation/hatari/hatari-1.8.0.ebuild | 85 ++++++++++++++++ games-emulation/hatari/metadata.xml | 5 + 5 files changed, 216 insertions(+) create mode 100644 games-emulation/hatari/Manifest create mode 100644 games-emulation/hatari/files/hatari-1.8.0-gentoo-docdir.patch create mode 100644 games-emulation/hatari/files/hatari-1.8.0-gentoo.patch create mode 100644 games-emulation/hatari/hatari-1.8.0.ebuild create mode 100644 games-emulation/hatari/metadata.xml (limited to 'games-emulation/hatari') diff --git a/games-emulation/hatari/Manifest b/games-emulation/hatari/Manifest new file mode 100644 index 000000000000..4e33a91f48fe --- /dev/null +++ b/games-emulation/hatari/Manifest @@ -0,0 +1 @@ +DIST hatari-1.8.0.tar.bz2 1985358 SHA256 7ecf486ba578e3b4d7a3d3e86ef3e879d5e5611b39c2504e38ccafdaacb5ffeb SHA512 498a6636eef78e85a4715e9df169d928ce97c0548145a95b41aa3aae28817b8e843de1d1390893863be05e4e9981c89236571ab2eb9239faad23b711542e4fa0 WHIRLPOOL 9e62bdf08247da20e451e032355849cbb0c4b683711ed5cea29f03a52cb5b276e996b9ea4fe5c38ecc09456248bd099eb8b1f35d93e6cba5d00b93a456329a01 diff --git a/games-emulation/hatari/files/hatari-1.8.0-gentoo-docdir.patch b/games-emulation/hatari/files/hatari-1.8.0-gentoo-docdir.patch new file mode 100644 index 000000000000..715fb189143f --- /dev/null +++ b/games-emulation/hatari/files/hatari-1.8.0-gentoo-docdir.patch @@ -0,0 +1,13 @@ +--- hatari-1.6.1/python-ui/uihelpers.py ++++ hatari-1.6.1/python-ui/uihelpers.py +@@ -97,9 +97,7 @@ + # first try whether there are local Hatari docs in standard place + # for this Hatari/UI version + sep = os.sep +- path = self.get_binary_path("hatari") +- path = sep.join(path.split(sep)[:-2]) # remove "bin/hatari" +- path = path + sep + "share" + sep + "doc" + sep + "hatari" + sep ++ path = "@DOCDIR@" + if os.path.exists(path + "manual.html"): + return path + # if not, point to latest Hatari HG version docs diff --git a/games-emulation/hatari/files/hatari-1.8.0-gentoo.patch b/games-emulation/hatari/files/hatari-1.8.0-gentoo.patch new file mode 100644 index 000000000000..4f10d6d9e3ce --- /dev/null +++ b/games-emulation/hatari/files/hatari-1.8.0-gentoo.patch @@ -0,0 +1,112 @@ +--- hatari-1.4.0.orig/src/paths.c ++++ hatari-1.4.0/src/paths.c +@@ -109,71 +109,6 @@ + free(pTmpName); + } + +- +-/** +- * Locate the directory where the hatari executable resides +- */ +-static char *Paths_InitExecDir(const char *argv0) +-{ +- char *psExecDir; /* Path string where the hatari executable can be found */ +- +- /* Allocate memory for storing the path string of the executable */ +- psExecDir = malloc(FILENAME_MAX); +- if (!psExecDir) +- { +- fprintf(stderr, "Out of memory (Paths_Init)\n"); +- exit(-1); +- } +- +- /* Determine the bindir... +- * Start with empty string, then try to use OS specific functions, +- * and finally analyze the PATH variable if it has not been found yet. */ +- psExecDir[0] = '\0'; +- +-#if defined(__linux__) +- { +- int i; +- /* On Linux, we can analyze the symlink /proc/self/exe */ +- i = readlink("/proc/self/exe", psExecDir, FILENAME_MAX); +- if (i > 0) +- { +- char *p; +- psExecDir[i] = '\0'; +- p = strrchr(psExecDir, '/'); /* Search last slash */ +- if (p) +- *p = 0; /* Strip file name from path */ +- } +- } +-//#elif defined(WIN32) || defined(__CEGCC__) +-// /* On Windows we can use GetModuleFileName for getting the exe path */ +-// GetModuleFileName(NULL, psExecDir, FILENAME_MAX); +-#endif +- +- /* If we do not have the execdir yet, analyze argv[0] and the PATH: */ +- if (psExecDir[0] == 0) +- { +- if (strchr(argv0, PATHSEP) == 0) +- { +- /* No separator in argv[0], we have to explore PATH... */ +- Paths_GetExecDirFromPATH(argv0, psExecDir, FILENAME_MAX); +- } +- else +- { +- /* There was a path separator in argv[0], so let's assume a +- * relative or absolute path to the current directory in argv[0] */ +- char *p; +- strncpy(psExecDir, argv0, FILENAME_MAX); +- psExecDir[FILENAME_MAX-1] = 0; +- p = strrchr(psExecDir, PATHSEP); /* Search last slash */ +- if (p) +- *p = 0; /* Strip file name from path */ +- } +- } +- +- return psExecDir; +-} +- +- + /** + * Initialize the users home directory string + * and Hatari's home directory (~/.hatari) +@@ -226,8 +161,6 @@ + */ + void Paths_Init(const char *argv0) + { +- char *psExecDir; /* Path string where the hatari executable can be found */ +- + /* Init working directory string */ + if (getcwd(sWorkingDir, FILENAME_MAX) == NULL) + { +@@ -238,27 +171,11 @@ + /* Init the user's home directory string */ + Paths_InitHomeDirs(); + +- /* Get the directory where the executable resides */ +- psExecDir = Paths_InitExecDir(argv0); +- +- /* Now create the datadir path name from the bindir path name: */ +- if (psExecDir && strlen(psExecDir) > 0) +- { +- snprintf(sDataDir, sizeof(sDataDir), "%s%c%s", +- psExecDir, PATHSEP, BIN2DATADIR); +- } +- else +- { +- /* bindir could not be determined, let's assume datadir is relative +- * to current working directory... */ +- strcpy(sDataDir, BIN2DATADIR); +- } ++ strcpy(sDataDir, BIN2DATADIR); + + /* And finally make a proper absolute path out of datadir: */ + File_MakeAbsoluteName(sDataDir); + +- free(psExecDir); +- + /* fprintf(stderr, " WorkingDir = %s\n DataDir = %s\n UserHomeDir = %s\n HatariHomeDir = %s\n", + sWorkingDir, sDataDir, sUserHomeDir, sHatariHomeDir); */ + } diff --git a/games-emulation/hatari/hatari-1.8.0.ebuild b/games-emulation/hatari/hatari-1.8.0.ebuild new file mode 100644 index 000000000000..203f480051ea --- /dev/null +++ b/games-emulation/hatari/hatari-1.8.0.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +inherit eutils toolchain-funcs cmake-utils python-single-r1 games + +DESCRIPTION="Atari ST emulator" +HOMEPAGE="http://hatari.tuxfamily.org/" +SRC_URI="http://download.tuxfamily.org/hatari/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + media-libs/libsdl[X,sound,video] + sys-libs/readline:0 + media-libs/libpng:0 + sys-libs/zlib" +DEPEND="${RDEPEND} + virtual/pkgconfig" +RDEPEND="${RDEPEND} + dev-python/pygtk[${PYTHON_USEDEP}] + games-emulation/emutos" + +pkg_setup() { + games_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-gentoo.patch \ + "${FILESDIR}"/${P}-gentoo-docdir.patch + # build with newer zlib (bug #387829) + sed -i -e '1i#define OF(x) x' src/includes/unzip.h || die + sed -i -e '/Encoding/d' ./python-ui/hatariui.desktop || die + sed -i -e "s/python/${EPYTHON}/" tools/atari-hd-image.sh || die + sed -i \ + -e "s%conf=.*$%conf=\"${GAMES_SYSCONFDIR}\"%" \ + -e "s%path=.*$%path=\"${GAMES_DATADIR}/${PN}/hatariui\"%" \ + python-ui/hatariui || die + sed -i -e "s#@DOCDIR@#/usr/share/doc/${PF}/html/#" python-ui/uihelpers.py || die + rm -f doc/CMakeLists.txt +} + +src_configure() { + mycmakeargs=( + "-DCMAKE_VERBOSE_MAKEFILE=TRUE" + "-DCMAKE_BUILD_TYPE:STRING=Release" + "-DDATADIR=${GAMES_DATADIR}/${PN}" + "-DBIN2DATADIR=${GAMES_DATADIR}/${PN}" + "-DBINDIR=${GAMES_BINDIR}" + "-DICONDIR=/usr/share/pixmaps" + "-DDESKTOPDIR=/usr/share/applications" + "-DMANDIR=/usr/share/man/man1" + "-DDOCDIR=/usr/share/doc/${PF}" + ) + cmake-utils_src_configure +} + +src_install() { + DOCS="readme.txt doc/*.txt" cmake-utils_src_install + dohtml -r doc/ + python_fix_shebang "${ED%/}"/usr/share/games/hatari/{hatariui,hconsole}/ + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + echo + elog "You need a TOS ROM to run hatari. EmuTOS, a free TOS implementation," + elog "has been installed in $(games_get_libdir) with a .img extension (there" + elog "are several from which to choose)." + elog + elog "Another option is to go to http://www.atari.st/ and get a real TOS:" + elog " http://www.atari.st/" + elog + elog "The first time you run hatari, you should configure it to find the" + elog "TOS you prefer to use. Be sure to save your settings." + echo +} diff --git a/games-emulation/hatari/metadata.xml b/games-emulation/hatari/metadata.xml new file mode 100644 index 000000000000..d3c2cc926f0b --- /dev/null +++ b/games-emulation/hatari/metadata.xml @@ -0,0 +1,5 @@ + + + +games + -- cgit v1.2.3-65-gdbad