commit: d8092b394f463499ee70a3a4253dadeb608ff88d Author: Matoro Mahri <matoro_gentoo <AT> matoro <DOT> tk> AuthorDate: Wed May 8 14:52:43 2024 +0000 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> CommitDate: Wed May 8 19:26:12 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8092b39
app-emulation/hercules-sdl-softfloat: new package, add 4.7.0, 9999 Signed-off-by: Matoro Mahri <matoro_gentoo <AT> matoro.tk> Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> app-emulation/hercules-sdl-softfloat/Manifest | 1 + .../hercules-sdl-softfloat/files/cmakefix.patch | 159 +++++++++++++++++++++ .../hercules-sdl-softfloat-4.7.0.ebuild | 20 +++ .../hercules-sdl-softfloat-9999.ebuild | 14 ++ app-emulation/hercules-sdl-softfloat/metadata.xml | 14 ++ 5 files changed, 208 insertions(+) diff --git a/app-emulation/hercules-sdl-softfloat/Manifest b/app-emulation/hercules-sdl-softfloat/Manifest new file mode 100644 index 000000000000..f2f732c98ab5 --- /dev/null +++ b/app-emulation/hercules-sdl-softfloat/Manifest @@ -0,0 +1 @@ +DIST SoftFloat-4b0c326008e174610969c92e69178939ed80653d.tar.gz 237236 BLAKE2B 4d29161ebdb1b659a61a7c83cb2c5eee1b0874455d0e6f634d2fb70a4dd0200c0bd46961edf9e7f41fd84695278653e1073c2b0fe39bf252ca7242bafdcf6adc SHA512 549b144c63fdbbb0815650dfe9fb443a92fb8baeff33baeca1d25fa6226705ef149a1bdb80236c5debeb161bfaecd4cffe9f8d74298a83175c2ddeebb735c48c diff --git a/app-emulation/hercules-sdl-softfloat/files/cmakefix.patch b/app-emulation/hercules-sdl-softfloat/files/cmakefix.patch new file mode 100644 index 000000000000..21796e3cda00 --- /dev/null +++ b/app-emulation/hercules-sdl-softfloat/files/cmakefix.patch @@ -0,0 +1,159 @@ +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,10 +2,10 @@ + # Define additional files to be installed + #------------------------------------------------------------------------------ + +-install( FILES "softfloat.LICENSE.txt" DESTINATION . ) +-install( FILES "softfloat.README.txt" DESTINATION . ) +-install( FILES "softfloat.README.html" DESTINATION . ) +-install( DIRECTORY "doc/" DESTINATION doc ) ++install( FILES "softfloat.LICENSE.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} ) ++install( FILES "softfloat.README.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} ) ++install( FILES "softfloat.README.html" DESTINATION ${CMAKE_INSTALL_DOCDIR} ) ++install( DIRECTORY "doc/" DESTINATION ${CMAKE_INSTALL_DOCDIR} ) + + #------------------------------------------------------------------------------ + diff --git a/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-4.7.0.ebuild b/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-4.7.0.ebuild new file mode 100644 index 000000000000..562f9aca52d4 --- /dev/null +++ b/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-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="4b0c326008e174610969c92e69178939ed80653d" + +DESCRIPTION="Berkeley IEEE Binary Floating-Point Library" +HOMEPAGE="https://github.com/SDL-Hercules-390/SoftFloat" +SRC_URI="https://github.com/SDL-Hercules-390/SoftFloat/archive/${COMMIT}.tar.gz -> SoftFloat-${COMMIT}.tar.gz" + +S="${WORKDIR}/SoftFloat-${COMMIT}" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" +PATCHES=( "${FILESDIR}/cmakefix.patch" ) diff --git a/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-9999.ebuild b/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-9999.ebuild new file mode 100644 index 000000000000..aa8e20b71b90 --- /dev/null +++ b/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-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="Berkeley IEEE Binary Floating-Point Library" +HOMEPAGE="https://github.com/SDL-Hercules-390/SoftFloat" +EGIT_REPO_URI="https://github.com/SDL-Hercules-390/SoftFloat" + +LICENSE="BSD" +SLOT="0" +PATCHES=( "${FILESDIR}/cmakefix.patch" ) diff --git a/app-emulation/hercules-sdl-softfloat/metadata.xml b/app-emulation/hercules-sdl-softfloat/metadata.xml new file mode 100644 index 000000000000..55d0070ca6d7 --- /dev/null +++ b/app-emulation/hercules-sdl-softfloat/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>s...@gentoo.org</email> + <name>s390 architecture team</name> + </maintainer> + <longdescription> + Berkeley IEEE Binary Floating-Point Library for use by the SDL-Hercules-390 emulator + </longdescription> + <upstream> + <remote-id type="github">SDL-Hercules-390/SoftFloat</remote-id> + </upstream> +</pkgmetadata>