summaryrefslogtreecommitdiff
path: root/media-libs/libsfml
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-03-27 22:40:05 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-03-27 22:40:05 +0100
commit8c364c784966be1700ea39ae45028f3e9be9cae0 (patch)
treec1971211069b79e3831b71accd52a67a9fdc77a3 /media-libs/libsfml
parent6bd95d1f6320b8666a31ec949183aaa3088aa16f (diff)
gentoo resync : 27.03.2018
Diffstat (limited to 'media-libs/libsfml')
-rw-r--r--media-libs/libsfml/Manifest2
-rw-r--r--media-libs/libsfml/files/libsfml-2.4.2-pkg-config.patch217
-rw-r--r--media-libs/libsfml/libsfml-2.4.2-r2.ebuild84
3 files changed, 303 insertions, 0 deletions
diff --git a/media-libs/libsfml/Manifest b/media-libs/libsfml/Manifest
index 22c65f029a97..f2166ff574e8 100644
--- a/media-libs/libsfml/Manifest
+++ b/media-libs/libsfml/Manifest
@@ -1,6 +1,8 @@
AUX libsfml-2.2-no-docs.patch 432 BLAKE2B 617c83033c6cafc6455937f1a7a149b73e31e0c3b1430bb471743b04c4f89b604acd1ba67965a3a33e32dfdc2a15e1a374f4e08fd073c26443ca652719658877 SHA512 86c05d82af21ed440e313119d5296097c498030c9aca8f6516a2a47c4913d578064dab9bd1476735b84f00eacf009b21de378e41d1e59615c1098dfeb786b807
AUX libsfml-2.4.2-no-install-extlibs-mingw.patch 3417 BLAKE2B 4619083ec961ba9da52a3db4d77b157c4bdc1f2c08ccdd3c487e729b14551d0043fcbff3e5dad2d63b269b961f315e2930b082afd5f5c0c7aa372e60391a2bf0 SHA512 8239c021143d7e5ce9ae33d3a3c639b8568fceafe900f0b9d70221402a2f38ff7b5c3a297ffdf8aaaebef7d379b1733749d579f831efa3c85ea252b57721e8cf
+AUX libsfml-2.4.2-pkg-config.patch 9244 BLAKE2B 7b5a2bb09d268ad5b5c9686874bb585bb33e11937b3467318fffa89391d1277d21e66d23ebbaf1690f46316fe0569e4b44f84e3d0e884ad2cfa2724e36852c6e SHA512 6937bcee330961ec578947791142012a9fd4147251a603ec0ee0de47e8dd23122fccc437ed191ccf65a81b385ce275e717c5a524003ad56137a8c787d9c91aab
DIST libsfml-2.4.2.tar.gz 24576150 BLAKE2B 05d1c06cb360aae6ec8a53225666119168075ab61dd87fe86a105f2c104d21b5897c4b35e66f5c0dae7193697437d168a963c018e3d39bd7b8b6bed957a63d94 SHA512 8acfdf320939c953a9a3413398f82d02d68a56a337f1366c2677c14ce032baa8ba059113ac3c91bb6e6fc22eef119369a265be7ef6894526e6a97a01f37e1972
EBUILD libsfml-2.4.2-r1.ebuild 1634 BLAKE2B 408d034ee53e9af9fb7d8c7aa5c33e8128936a3b0f6bd8e7f817928859540394a742b0f5c6f8e68c2b779e049788fb76d814884931ca679c6c961b551926a11e SHA512 dd31edc609d736d771ce2a192942cbbb1aba37655eec6e2dc9de93e8d8f8c8c6e012420c7ed764ebe4b00b25907a03e4584d74bf438f228cfb47aca4bcfc5add
+EBUILD libsfml-2.4.2-r2.ebuild 1678 BLAKE2B cff23c8ef3b13eca3cc957cdb0265ba80620e6a33530a2bd82d31dce14181ce6e8ec647c88053bdcdefb507faf0adab52a7f29c5af0fa3e90e8c65b8e54947ab SHA512 e12981574f9a6a9969052333854f00f9639ec76b5f13aaefbad7130d68d6f5f1563c4ecf7ce27eff392e84019d91b7706e549381624c34ce49ef502e28c55b7a
EBUILD libsfml-2.4.2.ebuild 1488 BLAKE2B 7823ad6b11566f9b2587528851067098d504db7d7862d5efe8fb57018fb56ddfe551e5467b057f8f85f0778e700424379b7cf146d1c516f1528e6999df206c7a SHA512 250f27afd60470dc9667a504da415621a63cb9f71c23ec64557c7407f683871681e5e98b023984425ebca57b61583a405281cbbc343dae1210e33b02051c75ea
MISC metadata.xml 732 BLAKE2B 598678c33da33373a1669f4b9048b95503d9c430730b571b985e4137e034e5104dc509cb0a6605834ef463c6d6438b25bd2bb06ec6ce41d7e1c52fbef7219e3d SHA512 3d709fc7d52858ca5ce62ecc8f7aee20b4812be0b735d6eb66c2d4b5cd48bea5017d3b56dce3735688bdd0abb11ce485c58a5c7d4b7973307cf9877036caa8b2
diff --git a/media-libs/libsfml/files/libsfml-2.4.2-pkg-config.patch b/media-libs/libsfml/files/libsfml-2.4.2-pkg-config.patch
new file mode 100644
index 000000000000..a281d46c9ba2
--- /dev/null
+++ b/media-libs/libsfml/files/libsfml-2.4.2-pkg-config.patch
@@ -0,0 +1,217 @@
+commit 5fe5e5d6d7792e37685a437551ffa8ed5161fcc1
+Author: Rafael Kitover <rkitover@gmail.com>
+Date: Mon Dec 19 13:16:07 2016 -0800
+
+ packaging support improvements
+
+ This grew out of my work creating an sfml port for macports, but should
+ be helpful for package maintainers of various distributions:
+
+ * add an SFML_USE_SYSTEM_DEPS option to ignore everything in extlibs/
+ except for headers/stb_image, and use the system versions
+
+ * install pkg-config files if a pkg-config program is found
+ and either lib/pkgconfig or libdata/pkgconfig exists under the
+ INSTALL_PREFIX, or the SFML_INSTALL_PKGCONFIG_FILES flag is set
+ explicitly
+
+ * install pkg-config files for static libs too, add the necessary
+ Requires.private and Libs.private entries to the .pc files to support
+ static linking
+
+ * on OS X, honor all INSTALL_NAME and RPATH related cmake variables and
+ only set the INSTALL_NAME_DIR to "@rpath" if none of them is set, this
+ preserves the default behavior of using @rpath but also allows
+ overriding by the usual cmake mechanisms
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e7914ac9..419d56d7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,6 +16,9 @@ sfml_set_option(CMAKE_BUILD_TYPE Release STRING "Choose the type of build (Debug
+ # Suppress Cygwin legacy warning
+ set(CMAKE_LEGACY_CYGWIN_WIN32 0)
+
++# Suppress Mac OS X RPATH warnings and adopt new related behaviors
++cmake_policy(SET CMP0042 NEW)
++
+ # set Android specific options
+
+ # define the minimum API level to be used
+@@ -130,6 +133,39 @@ if(NOT BUILD_SHARED_LIBS)
+ add_definitions(-DSFML_STATIC)
+ endif()
+
++# allow not using bundled dependencies with a switch
++# (except for stb_image)
++# yes this is horrible, but GLOB_RECURSE sucks
++sfml_set_option(SFML_USE_SYSTEM_DEPS FALSE BOOL "TRUE to use system dependencies, FALSE to use the bundled ones.")
++if(SFML_USE_SYSTEM_DEPS)
++ if(SFML_INSTALL_XCODE_TEMPLATES)
++ message(FATAL_ERROR "XCode templates installation cannot be used with the SFML_USE_SYSTEM_DEPS option (the bundled frameworks are required.)")
++ endif()
++
++ file(GLOB_RECURSE DEP_LIBS "${CMAKE_SOURCE_DIR}/extlibs/libs*/*")
++ file(GLOB_RECURSE DEP_BINS "${CMAKE_SOURCE_DIR}/extlibs/bin*/*")
++ file(GLOB_RECURSE DEP_HEADERS "${CMAKE_SOURCE_DIR}/extlibs/headers/*")
++
++ foreach(DEP_FILE ${DEP_LIBS} ${DEP_BINS} ${DEP_HEADERS})
++ get_filename_component(DEP_DIR ${DEP_FILE} PATH)
++
++ if(NOT DEP_DIR MATCHES "/stb_image(/|$)")
++ set(CMAKE_IGNORE_PATH ${CMAKE_IGNORE_PATH} ${DEP_DIR})
++ endif()
++
++ get_filename_component(DEP_PARENT_DIR ${DEP_DIR} PATH)
++ while(NOT DEP_PARENT_DIR STREQUAL "${CMAKE_SOURCE_DIR}/extlibs")
++ if(NOT DEP_DIR MATCHES "/stb_image(/|$)")
++ set(CMAKE_IGNORE_PATH ${CMAKE_IGNORE_PATH} ${DEP_PARENT_DIR})
++ endif()
++
++ get_filename_component(DEP_PARENT_DIR ${DEP_PARENT_DIR} PATH)
++ endwhile()
++ endforeach()
++
++ list(REMOVE_DUPLICATES CMAKE_IGNORE_PATH)
++endif()
++
+ # Visual C++: remove warnings regarding SL security and algorithms on pointers
+ if(SFML_COMPILER_MSVC)
+ # add an option to choose whether PDB debug symbols should be generated (defaults to true when possible)
+@@ -202,30 +238,6 @@ if(SFML_OS_MACOSX)
+ set(XCODE_TEMPLATES_ARCH "\$(NATIVE_ARCH_ACTUAL)")
+ endif()
+
+-if(SFML_OS_LINUX OR SFML_OS_FREEBSD)
+- set(PKGCONFIG_DIR lib${LIB_SUFFIX}/pkgconfig)
+- if(SFML_OS_FREEBSD)
+- set(PKGCONFIG_DIR libdata/pkgconfig)
+- endif()
+- if(BUILD_SHARED_LIBS)
+- sfml_set_option(SFML_INSTALL_PKGCONFIG_FILES FALSE BOOL "TRUE to automatically install pkg-config files so other projects can find SFML")
+- if(SFML_INSTALL_PKGCONFIG_FILES)
+- foreach(sfml_module IN ITEMS all system window graphics audio network)
+- CONFIGURE_FILE(
+- "tools/pkg-config/sfml-${sfml_module}.pc.in"
+- "tools/pkg-config/sfml-${sfml_module}.pc"
+- @ONLY)
+- INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/tools/pkg-config/sfml-${sfml_module}.pc"
+- DESTINATION "${CMAKE_INSTALL_PREFIX}/${PKGCONFIG_DIR}")
+- endforeach()
+- endif()
+- else()
+- if(SFML_INSTALL_PKGCONFIG_FILES)
+- message(WARNING "No pkg-config files are provided for the static SFML libraries (SFML_INSTALL_PKGCONFIG_FILES will be ignored).")
+- endif()
+- endif()
+-endif()
+-
+ # enable project folders
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMake")
+@@ -239,6 +251,19 @@ if(SFML_BUILD_DOC)
+ add_subdirectory(doc)
+ endif()
+
++sfml_set_option(SFML_INSTALL_PKGCONFIG_FILES FALSE BOOL "TRUE to automatically install pkg-config files so other projects can find SFML")
++
++if(SFML_OS_SUPPORTS_PKGCONFIG OR SFML_INSTALL_PKGCONFIG_FILES)
++ foreach(sfml_module IN ITEMS all system window graphics audio network)
++ CONFIGURE_FILE(
++ "tools/pkg-config/sfml-${sfml_module}.pc.in"
++ "tools/pkg-config/sfml-${sfml_module}.pc"
++ @ONLY)
++ INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/tools/pkg-config/sfml-${sfml_module}.pc"
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/${SFML_OS_PKGCONFIG_DIR}")
++ endforeach()
++endif()
++
+ # setup the install rules
+ if(NOT SFML_BUILD_FRAMEWORKS)
+ install(DIRECTORY include
+diff --git a/cmake/Config.cmake b/cmake/Config.cmake
+index cff54d00..c447113a 100644
+--- a/cmake/Config.cmake
++++ b/cmake/Config.cmake
+@@ -73,6 +73,19 @@ else()
+ return()
+ endif()
+
++# check if OS or package system supports pkg-config
++# this could be e.g. macports on mac or msys2 on windows etc.
++find_package(PkgConfig QUIET)
++if(PKG_CONFIG_EXECUTABLE)
++ if(EXISTS "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig")
++ set(SFML_OS_SUPPORTS_PKGCONFIG ON)
++ set(SFML_OS_PKGCONFIG_DIR "/lib${LIB_SUFFIX}/pkgconfig")
++ elseif(EXISTS "${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig")
++ set(SFML_OS_SUPPORTS_PKGCONFIG ON)
++ set(SFML_OS_PKGCONFIG_DIR "/libdata/pkgconfig")
++ endif()
++endif()
++
+ # detect the compiler and its version
+ # Note: on some platforms (OS X), CMAKE_COMPILER_IS_GNUCXX is true
+ # even when CLANG is used, therefore the Clang test is done first
+diff --git a/cmake/Macros.cmake b/cmake/Macros.cmake
+index cd2ca8fc..0f316034 100644
+--- a/cmake/Macros.cmake
++++ b/cmake/Macros.cmake
+@@ -105,9 +105,17 @@ macro(sfml_add_library target)
+ endif()
+
+ # adapt install directory to allow distributing dylibs/frameworks in user's frameworks/application bundle
+- set_target_properties(${target} PROPERTIES
+- BUILD_WITH_INSTALL_RPATH 1
+- INSTALL_NAME_DIR "@rpath")
++ # but only if cmake rpath options aren't set
++ if(NOT CMAKE_SKIP_RPATH AND NOT CMAKE_SKIP_INSTALL_RPATH AND NOT CMAKE_INSTALL_RPATH AND NOT CMAKE_INSTALL_RPATH_USE_LINK_PATH AND NOT CMAKE_INSTALL_NAME_DIR)
++ if(CMAKE_SKIP_BUILD_RPATH)
++ set_target_properties(${target} PROPERTIES
++ INSTALL_NAME_DIR "@rpath")
++ else()
++ set_target_properties(${target} PROPERTIES
++ BUILD_WITH_INSTALL_RPATH 1
++ INSTALL_NAME_DIR "@rpath")
++ endif()
++ endif()
+ endif()
+
+ # enable automatic reference counting on iOS
+diff --git a/tools/pkg-config/sfml-audio.pc.in b/tools/pkg-config/sfml-audio.pc.in
+index 7456daaa..0d7a3ce1 100644
+--- a/tools/pkg-config/sfml-audio.pc.in
++++ b/tools/pkg-config/sfml-audio.pc.in
+@@ -8,5 +8,8 @@ Description: The Simple and Fast Multimedia Library, audio module.
+ URL: http://www.sfml-dev.org
+ Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@
+ Requires: sfml-system
++Requires.private: openal, vorbisenc, vorbisfile, vorbis, ogg, flac
+ Libs: -L${libdir} -lsfml-audio
++# openal may be a system framework
++Libs.private: @OPENAL_LIBRARY@
+ Cflags: -I${includedir}
+diff --git a/tools/pkg-config/sfml-graphics.pc.in b/tools/pkg-config/sfml-graphics.pc.in
+index d0a88a13..a96b72c9 100644
+--- a/tools/pkg-config/sfml-graphics.pc.in
++++ b/tools/pkg-config/sfml-graphics.pc.in
+@@ -8,5 +8,8 @@ Description: The Simple and Fast Multimedia Library, graphics module.
+ URL: http://www.sfml-dev.org
+ Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@
+ Requires: sfml-window
++Requires.private: sfml-system, freetype2
+ Libs: -L${libdir} -lsfml-graphics
++# gl and jpeg may not be in pkg-config
++Libs.private: @OPENGL_gl_LIBRARY@ @OPENGL_glu_LIBRARY@ @JPEG_LIBRARY@
+ Cflags: -I${includedir}
+diff --git a/tools/pkg-config/sfml-window.pc.in b/tools/pkg-config/sfml-window.pc.in
+index b0266e67..93bf344c 100644
+--- a/tools/pkg-config/sfml-window.pc.in
++++ b/tools/pkg-config/sfml-window.pc.in
+@@ -9,4 +9,6 @@ URL: http://www.sfml-dev.org
+ Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@
+ Requires: sfml-system
+ Libs: -L${libdir} -lsfml-window
++# gl may not be in pkg-config
++Libs.private: @OPENGL_gl_LIBRARY@ @OPENGL_glu_LIBRARY@
+ Cflags: -I${includedir}
diff --git a/media-libs/libsfml/libsfml-2.4.2-r2.ebuild b/media-libs/libsfml/libsfml-2.4.2-r2.ebuild
new file mode 100644
index 000000000000..dda2accf7c68
--- /dev/null
+++ b/media-libs/libsfml/libsfml-2.4.2-r2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+MY_P="SFML-${PV}"
+
+DESCRIPTION="Simple and Fast Multimedia Library (SFML)"
+HOMEPAGE="http://www.sfml-dev.org/ https://github.com/SFML/SFML"
+SRC_URI="https://github.com/SFML/SFML/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0/$(get_version_component_range 1-2)"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples"
+
+RDEPEND="
+ media-libs/flac
+ media-libs/freetype:2
+ media-libs/libpng:0=
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/openal
+ sys-libs/zlib
+ virtual/jpeg:0
+ kernel_linux? (
+ virtual/libudev:0
+ )
+ virtual/opengl
+ !kernel_Winnt? (
+ x11-libs/libX11
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ x11-libs/xcb-util-image
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ doc? ( app-doc/doxygen )
+"
+
+DOCS=( changelog.txt readme.txt )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2-no-docs.patch
+ "${FILESDIR}"/${PN}-2.4.2-no-install-extlibs-mingw.patch
+ "${FILESDIR}"/${PN}-2.4.2-pkg-config.patch
+)
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ sed -i "s:DESTINATION .*:DESTINATION /usr/share/doc/${PF}:" \
+ doc/CMakeLists.txt || die
+
+ find examples -name CMakeLists.txt -delete || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSFML_BUILD_DOC=$(usex doc)
+ -DSFML_INSTALL_PKGCONFIG_FILES=TRUE
+ )
+
+ if use kernel_Winnt; then
+ mycmakeargs+=( -DSFML_USE_SYSTEM_DEPS=TRUE )
+ fi
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ insinto /usr/share/cmake/Modules
+ doins cmake/Modules/FindSFML.cmake
+
+ if use examples ; then
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r examples
+ fi
+}