summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatoro Mahri <matoro_gentoo@matoro.tk>2024-05-08 10:52:43 -0400
committerMike Gilbert <floppym@gentoo.org>2024-05-08 15:26:13 -0400
commit4a7945992de60bfb7fb425fe2276bde3b01fd4db (patch)
tree3bee756528d9d87bae1df6e699c941145436fba6 /app-emulation
parentapp-emulation/hercules-sdl-softfloat: new package, add 4.7.0, 9999 (diff)
downloadgentoo-4a7945992de60bfb7fb425fe2276bde3b01fd4db.tar.gz
gentoo-4a7945992de60bfb7fb425fe2276bde3b01fd4db.tar.bz2
gentoo-4a7945992de60bfb7fb425fe2276bde3b01fd4db.zip
app-emulation/hercules-sdl-telnet: new package, add 4.7.0, 9999
Signed-off-by: Matoro Mahri <matoro_gentoo@matoro.tk> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/hercules-sdl-telnet/Manifest1
-rw-r--r--app-emulation/hercules-sdl-telnet/files/cmakefix.patch155
-rw-r--r--app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-4.7.0.ebuild20
-rw-r--r--app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-9999.ebuild14
-rw-r--r--app-emulation/hercules-sdl-telnet/metadata.xml14
5 files changed, 204 insertions, 0 deletions
diff --git a/app-emulation/hercules-sdl-telnet/Manifest b/app-emulation/hercules-sdl-telnet/Manifest
new file mode 100644
index 000000000000..a5e4cdf3a866
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/Manifest
@@ -0,0 +1 @@
+DIST telnet-729f0b688c1426018112c1e509f207fb5f266efa.tar.gz 67277 BLAKE2B 720b292adbe6c1273221d57f74018c08c529b5766dbe623f04af5b14ec3fa9c56f749395aa0f365da97b90a08549e378afbbd3634e4e11cd0418fa0f80d85a9c SHA512 e44df68cfba85b4f2e235c6b830cf89a10d66c635cfec933843c1695bdac33bf307b2e66c965a8b853723c2fd02419c40f80bcf6098be98f01472d9c3cebf1dd
diff --git a/app-emulation/hercules-sdl-telnet/files/cmakefix.patch b/app-emulation/hercules-sdl-telnet/files/cmakefix.patch
new file mode 100644
index 000000000000..76fd8513213a
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/files/cmakefix.patch
@@ -0,0 +1,155 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a316b76..50176f0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,8 @@ cmake_minimum_required( VERSION 3.2 )
+
+ cmake_policy( SET CMP0048 NEW )
+
++include( GNUInstallDirs )
++
+ #------------------------------------------------------------------------------
+ # Define the project
+ #------------------------------------------------------------------------------
+@@ -131,8 +133,8 @@ set_target_properties( ${FULLNAME} PROPERTIES
+ COMPILE_PDB_NAME ${FULLNAME} )
+
+ install( TARGETS ${FULLNAME}
+- PUBLIC_HEADER DESTINATION include
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} )
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/include
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/lib )
+
+
+ #------------------------------------------------------------------------------
+diff --git a/cmake/modules/ParseBinaryDir.cmake b/cmake/modules/ParseBinaryDir.cmake
+index 7983107..2ede77b 100644
+--- a/cmake/modules/ParseBinaryDir.cmake
++++ b/cmake/modules/ParseBinaryDir.cmake
+@@ -7,6 +7,8 @@ macro( ParseBinaryDir )
+ set( CMAKE_DISABLE_IN_SOURCE_BUILD ON )
+ set( CMAKE_DISABLE_SOURCE_CHANGES ON )
+
++ set( FULLNAME ${EXTPKG_NAME} )
++
+ #--------------------------------------------------------------------------
+ # Make sure they are not trying to do an "in source" build by making
+ # sure the cmake "binary" (build) directory is not a subdirectory of
+@@ -48,102 +50,6 @@ Remove the 'CMakeCache.txt' file and the entire 'CMakeFiles' directory and try a
+
+ TEST_BIG_ENDIAN( IS_BIG_ENDIAN )
+
+- #--------------------------------------------------------------------------
+- # Split the binary build directory into its constituent components.
+- # Refer to the "BUILDING" document for more information.
+- #--------------------------------------------------------------------------
+-
+- get_filename_component( BINARY_HLQ "${CMAKE_BINARY_DIR}" DIRECTORY )
+- get_filename_component( BINARY_DIR "${CMAKE_BINARY_DIR}" NAME )
+-
+- trace( BINARY_HLQ )
+- trace( BINARY_DIR )
+-
+- string( FIND ${BINARY_DIR} " " _n )
+- if( NOT ${_n} EQUAL -1 )
+- message( FATAL_ERROR "Build directory name cannot have spaces! ${BINARY_DIR}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # First, split it into two parts: before the dot and after the dot
+- #--------------------------------------------------------------------------
+-
+- string( REGEX MATCH "([^\\.]*)" _xxxxx ${BINARY_DIR} )
+- string( REGEX MATCH "([^.]*\$)" CONFIG ${BINARY_DIR} )
+-
+- trace( _xxxxx )
+- trace( CONFIG )
+-
+- #--------------------------------------------------------------------------
+- # The second part tells us if this is a "Debug" or "Release" build.
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${CONFIG} _n )
+- if( ${_n} LESS 1 )
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Capitalize "Debug" and "Release" for Visual Studio compatibility.
+- #--------------------------------------------------------------------------
+-
+- include( CapitalizeWord )
+-
+- Capitalize_Word( ${CONFIG} CONFIG )
+-
+- if(( NOT CONFIG STREQUAL "Debug" ) AND (NOT CONFIG STREQUAL "Release" ))
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Define the "Debug" or "Release" build type
+- #--------------------------------------------------------------------------
+-
+- if( CONFIG STREQUAL "Debug" )
+- set( CMAKE_BUILD_TYPE "Debug" CACHE PATH "" FORCE )
+- set( DBGCHAR "d" )
+- elseif( CONFIG STREQUAL "Release" )
+- set( CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE PATH "" FORCE )
+- set( DBGCHAR "" )
+- endif()
+-
+- trace( CMAKE_BUILD_TYPE )
+-
+- #--------------------------------------------------------------------------
+- # Now split the first part into the base package/product name
+- # and build architecture (32-bit ot 64-bit).
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${_xxxxx} _n )
+- if( ${_n} LESS 3 )
+- message( FATAL_ERROR "Invalid base package name! ${_xxxxx}" )
+- endif()
+-
+- math( EXPR _n "${_n} - 2" ) # (want the last two characters)
+-
+- string( SUBSTRING ${_xxxxx} 0 ${_n} BASENAME )
+- string( SUBSTRING ${_xxxxx} ${_n} -1 BITNESS )
+-
+- if( NOT BITNESS STREQUAL "32" AND
+- NOT BITNESS STREQUAL "64" )
+- message( FATAL_ERROR "Invalid package architecture! ${BITNESS}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Show results
+- #--------------------------------------------------------------------------
+-
+- set( SUFFIX "${BITNESS}${DBGCHAR}" )
+- set( FULLNAME "${BASENAME}${SUFFIX}" )
+-
+- trace( BASENAME )
+- trace( BITNESS )
+- trace( CONFIG )
+- trace( DBGCHAR )
+- trace( SUFFIX )
+- trace( FULLNAME )
+- trace( CMAKE_BINARY_DIR )
+-
+ #--------------------------------------------------------------------------
+ # Define the install directory
+ #--------------------------------------------------------------------------
+diff --git a/extra.txt b/extra.txt
+index dfb293d..6018eb6 100644
+--- a/extra.txt
++++ b/extra.txt
+@@ -2,8 +2,8 @@
+ # Define additional files to be installed
+ #------------------------------------------------------------------------------
+
+-install( FILES "telnet.LICENSE.txt" DESTINATION . )
+-install( FILES "telnet.README.txt" DESTINATION . )
++install( FILES "telnet.LICENSE.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( FILES "telnet.README.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
+
+ #------------------------------------------------------------------------------
+
diff --git a/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-4.7.0.ebuild b/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-4.7.0.ebuild
new file mode 100644
index 000000000000..edd973959b15
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-4.7.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# Use ../hercules-sdl/files/gen_hashes.sh to identify the relevant
+# commit when tagging new versions.
+COMMIT="729f0b688c1426018112c1e509f207fb5f266efa"
+
+DESCRIPTION="Simple RFC-complient TELNET implementation"
+HOMEPAGE="https://github.com/SDL-Hercules-390/telnet"
+SRC_URI="https://github.com/SDL-Hercules-390/telnet/archive/${COMMIT}.tar.gz -> telnet-${COMMIT}.tar.gz"
+
+S="${WORKDIR}/telnet-${COMMIT}"
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-9999.ebuild b/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-9999.ebuild
new file mode 100644
index 000000000000..f819096dd87c
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-9999.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit git-r3 cmake
+
+DESCRIPTION="Simple RFC-complient TELNET implementation"
+HOMEPAGE="https://github.com/SDL-Hercules-390/telnet"
+EGIT_REPO_URI="https://github.com/SDL-Hercules-390/telnet"
+
+LICENSE="public-domain"
+SLOT="0"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-telnet/metadata.xml b/app-emulation/hercules-sdl-telnet/metadata.xml
new file mode 100644
index 000000000000..e53d70bb661e
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>s390@gentoo.org</email>
+ <name>s390 architecture team</name>
+ </maintainer>
+ <longdescription>
+ Simple RFC-complient TELNET implementation for use by the SDL-Hercules-390 emulator
+ </longdescription>
+ <upstream>
+ <remote-id type="github">SDL-Hercules-390/telnet</remote-id>
+ </upstream>
+</pkgmetadata>