SHA256
1
0
forked from pool/raylib
raylib/raylib.spec

89 lines
2.4 KiB
RPMSpec
Raw Normal View History

#
# spec file for package raylib
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
- Update to 3.0.0: * All global variables from the multiple raylib modules have been moved to a global context state, it has several benefits, first, better code readability with more comprehensive variables naming and categorization (organized by types, i.e. CORE.Window.display.width, CORE.Input.Keyboard.currentKeyState or RLGL.State.modelview). Second, it allows better memory management to load global context state dynamically when required (not at the moment), making it easy to implement a hot-reloading mechanism if desired. * All memory allocations on raylib and its dependencies now use RL_MALLOC, RL_FREE and similar macros. Now users can easely hook their own memory allocations mechanism if desired, having more control over memory allocated internally by the library. Additionally, it makes it easier to port the library to embedded devices where memory control is critical. For more info check raylib issue #1074. * All I/O file accesses from raylib are being moved to memory data access, now all I/O file access is centralized into just four functions: LoadFileData(), SaveFileData(), LoadFileText(), SaveFileText(). Users can just update those functions to any I/O file system. This change makes it easier to integrate raylib with Virtual File Systems or custom I/O file implementations. * All raylib data structures have been reviewed and optimized for pass-by-value usage. One of raylib distinctive design decisions is that most of its functions receive and return data by value. This design makes raylib really simple for newcomers, avoiding pointers and allowing complete access to all structures data in a simple way. The downside is that data is copied on stack every function call and that copy could be costly so, all raylib data structures have been optimized to stay under 64 bytes for fast copy and retrieve. * All raylib tracelog messages have been reviewd and categorized OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=20
2020-03-31 09:29:16 +00:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: raylib
Version: 4.0.0
Release: 0
Summary: C library for learning video game programming
License: Zlib
Group: Development/Libraries/C and C++
URL: https://www.raylib.com
Source: raylib-%{version}.tar.xz
BuildRequires: Mesa-libGL-devel
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: libXcursor-devel
BuildRequires: libXi-devel
BuildRequires: libXinerama-devel
BuildRequires: libXrandr-devel
BuildRequires: libglfw-devel
%description
A C library for learning video game programming.
raylib is inspired by the Borland BGI graphics library and by the XNA framework.
%package -n raylib-devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
Requires: libraylib400 = %{version}
Requires: openal-soft-devel
%description -n raylib-devel
Development files and headers for %{name}.
%package -n libraylib400
Summary: C library for learning video game programming
Group: System/Libraries
%description -n libraylib400
A C library for learning video game programming.
%prep
%setup -q
%build
%cmake \
-DBUILD_EXAMPLES=OFF \
-DPLATFORM=Desktop \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DOpenGL_GL_PREFERENCE=GLVND \
-DUSE_EXTERNAL_GLFW=ON
%install
%cmake_install
%post -n libraylib400 -p /sbin/ldconfig
%postun -n libraylib400 -p /sbin/ldconfig
%files -n libraylib400
%license LICENSE
- Update to 3.5.0: * Platform supported: Raspberry Pi 4 native mode (no X11 windows) through DRM subsystem and GBM API. Actually this is a really interesting improvement because it opens the door to raylib to support other embedded platforms (Odroid, GameShell, NanoPi...). Also worth mentioning the un-official homebrew ports of raylib for PS4 and PSVita. * NEW configuration options exposed: For custom raylib builds, config.h now exposes more than 150 flags and defines to build raylib with only the desired features, for example, it allows to build a minimal raylib library in just some KB removing all external data filetypes supported, very useful to generate small executables or embedded devices. * NEW automatic GIF recording feature: Actually, automatic GIF recording (CTRL+F12) for any raylib application has been available for some versions but this feature was really slow and low-performant using an old gif library with many file-accesses. It has been replaced by a high-performant alternative (msf_gif.h) that operates directly on memory... and actually works very well! Try it out! * NEW RenderBatch system: rlgl module has been redesigned to support custom render batches to allow grouping draw calls as desired, previous implementation just had one default render batch. This feature has not been exposed to raylib API yet but it can be used by advance users dealing with rlgl directly. For example, multiple RenderBatch can be created for 2D sprites and 3D geometry independently. * NEW Framebuffer system: rlgl module now exposes an API for custom Framebuffer attachments (including cubemaps!). raylib RenderTexture is a basic use-case, just allowing color and depth textures, but this new API allows the creation of more advance Framebuffers with multiple attachments, like the G-Buffers. GenTexture*() functions have been redesigned to use this new API. OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=26
2021-01-04 14:51:24 +00:00
%{_libdir}/libraylib.so.*
%files -n raylib-devel
%doc CHANGELOG README.md
%{_includedir}/raylib.h
%{_includedir}/raudio.h
%{_includedir}/raymath.h
%{_includedir}/rlgl.h
%{_libdir}/libraylib.so
%{_libdir}/pkgconfig/raylib.pc
Accepting request 706634 from home:jubalh:branches:devel:libraries:c_c++ - Update to 2.5.0: * New window management and filesystem functions to query monitor information, deal with clipboard, check directory files info and even launch a URL with default system web browser. Experimental High-DPI monitor support has also been added through a compile flag. * Redesigned Gamepad mechanism, now generic for all platforms and gamepads, no more specific gamepad configurations. * Redesigned UWP input system, now raylib supports UWP seamlessly, previous implementation required a custom input system implemented in user code. * rlgl module has been redesigned to support a unique buffer for shapes drawing batching, including LINES, TRIANGLES, QUADS in the same indexed buffer, also added support for multi-buffering if required. Additionally, rlPushMatrix()/rlPopMatrix() functionality has been reviewed to behave exactly like OpenGL 1.1, models_rlgl_solar_system example has been added to illustrate this behaviour. * VR simulator has been reviewed to allow custom configuration of Head-Mounted-Device parameters and distortion shader, core_vr_simulator has been properly adapted to showcase this new functionality, now the VR simulator is a generic configurable stereo rendering system that allows any VR device simulation with just a few lines of code or even dynamic tweaking of HMD parameters. * Support for Unicode text drawing; now raylib processes UTF8 strings on drawing, supporting Unicode codepoints, allowing rendering mostly any existent language (as long as the font with the glyphs is provided). * Brand new text management API, with the addition of multiple functions to deal with string data * Multiple new shapes and textures drawing functions * Experimental cubemap support, to automatically load multiple cubemap layouts (LoadTextureCubemap()). OBS-URL: https://build.opensuse.org/request/show/706634 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/raylib?expand=0&rev=18
2019-05-31 09:30:54 +00:00
%{_libdir}/cmake/raylib/
%changelog