Skip to content

Commit

Permalink
Update raylib to rev 6 via SR 799028
Browse files Browse the repository at this point in the history
https://build.opensuse.org/request/show/799028
by user jubalh + dimstar_suse
- Switch to noexamples tarball as requested in:
  raysan5/raylib#1180
  So we don't ship examples with various licenses that we don't
  install anyways.
- Add raylib-3.0.0-noexamples.patch: dont try to install examples
  Raysan seems to have forgotten that.

- Added missing development header files.

- 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
  • Loading branch information
bmwiedemann committed May 1, 2020
1 parent 97f432f commit f164c72
Show file tree
Hide file tree
Showing 7 changed files with 149 additions and 16 deletions.
Binary file modified packages/r/raylib/.files
Binary file not shown.
37 changes: 37 additions & 0 deletions packages/r/raylib/.rev
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,41 @@
cubemap layouts (LoadTextureCubemap()). (forwarded request 706634 from jubalh)</comment>
<requestid>706635</requestid>
</revision>
<revision rev="6" vrev="1">
<srcmd5>aa6572cfa9dd8c4c12983b39021d29bf</srcmd5>
<version>3.0.0</version>
<time>1588324239</time>
<user>dimstar_suse</user>
<comment>- Switch to noexamples tarball as requested in:
https://github.com/raysan5/raylib/issues/1180
So we don't ship examples with various licenses that we don't
install anyways.
- Add raylib-3.0.0-noexamples.patch: dont try to install examples
Raysan seems to have forgotten that.

- Added missing development header files.

- 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.</comment>
<requestid>799028</requestid>
</revision>
</revisionlist>
1 change: 0 additions & 1 deletion packages/r/raylib/2.5.0.tar.gz

This file was deleted.

16 changes: 16 additions & 0 deletions packages/r/raylib/raylib-3.0.0-noexamples.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
diff -urEbw raylib-3.0.0/CMakeLists.txt raylib-3.0.0.new/CMakeLists.txt
--- raylib-3.0.0/CMakeLists.txt 2020-04-01 11:07:01.000000000 +0200
+++ raylib-3.0.0.new/CMakeLists.txt 2020-04-29 22:12:32.184784329 +0200
@@ -43,12 +43,4 @@

add_subdirectory(src)

-if (${BUILD_EXAMPLES})
- add_subdirectory(examples)
-endif()
-
-if (${BUILD_GAMES})
- add_subdirectory(games)
-endif()
-
enable_testing()
1 change: 1 addition & 0 deletions packages/r/raylib/raylib-noexamples-3.0.0.tar.gz
72 changes: 72 additions & 0 deletions packages/r/raylib/raylib.changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,75 @@
-------------------------------------------------------------------
Wed Apr 29 20:15:43 UTC 2020 - Michael Vetter <[email protected]>

- Switch to noexamples tarball as requested in:
https://github.com/raysan5/raylib/issues/1180
So we don't ship examples with various licenses that we don't
install anyways.
- Add raylib-3.0.0-noexamples.patch: dont try to install examples
Raysan seems to have forgotten that.

-------------------------------------------------------------------
Wed Apr 29 09:59:00 UTC 2020 - Scott Young <[email protected]>
- Added missing development header files.

-------------------------------------------------------------------
Tue Mar 31 09:17:57 UTC 2020 - Michael Vetter <[email protected]>

- 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
for a more comprehensive output information when developing raylib
applications, now all display, input, timer, platform, auxiliar libraries,
file-accesses, data loading/unloading issues are properly reported with more
detailed and visual messages.
* raudio module has been internally reviewed to
accomodate the new Music structure (converted from previous pointer format) and
the module has been adapted to the highly improved miniaudio v0.10.
* text module reviewed to improve fonts generation and text management functions, Font
structure has been redesigned to better accomodate characters data, decoupling
individual characters as Image glyphs from the font atlas parameters. Several
improvements have been made to better support Unicode strings with UTF-8
encoding.
* Multiple new examples added (most of them contributed by raylib
users) and all examples reviewed for correct execution on most of the supported
platforms, specially Web and Raspberry Pi. A detailed categorized table has
been created on github for easy examples navigation and code access.
* New GitHub Actions CI system has been implemented for Windows, Linux and macOS code
and examples compilation on every new commit or PR to make sure library keeps
stable and usable with no breaking bugs.
* Note that only key changes are
listed here but there is way more! About 30 new functions, multiple functions
reviewed, bindings to +40 programming languages and great
samples/demos/tutorials created by the community, including raylib integration
with Spine, Unity, Tiled, Nuklear, enet and more!

-------------------------------------------------------------------
Fri May 31 09:26:07 UTC 2019 - [email protected]

Expand Down
38 changes: 23 additions & 15 deletions packages/r/raylib/raylib.spec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# spec file for package raylib
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
Expand All @@ -12,18 +12,19 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name: raylib
Version: 2.5.0
Version: 3.0.0
Release: 0
Summary: C library for learning video game programming
License: Zlib
Group: Development/Libraries/C and C++
URL: http://www.raylib.com
Source: https://github.com/raysan5/raylib/archive/%{version}.tar.gz
Source: https://github.com/raysan5/raylib/releases/download/%{version}/raylib-noexamples-%{version}.tar.gz
Patch0: raylib-3.0.0-noexamples.patch
BuildRequires: Mesa-libGL-devel
BuildRequires: cmake
BuildRequires: gcc-c++
Expand All @@ -39,21 +40,22 @@ 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: libraylib2 = %{version}
Requires: libraylib301 = %{version}
Requires: openal-soft-devel

%description -n raylib-devel
Development files and headers for %{name}.

%package -n libraylib2
%package -n libraylib301
Summary: C library for learning video game programming
Group: System/Libraries

%description -n libraylib2
%description -n libraylib301
A C library for learning video game programming.

%prep
%setup -q -n raylib-2.5.0
%setup -q -n raylib-3.0.0
%patch0 -p1

%build
%cmake \
Expand All @@ -62,19 +64,25 @@ A C library for learning video game programming.

%install
%cmake_install
#rm %{buildroot}%{_libdir}/libraylib.a
for f in build/src/*.h; do
install -Dm 644 "$f" "$RPM_BUILD_ROOT/usr/include/$(basename $f)"
done

%post -n libraylib2 -p /sbin/ldconfig
%postun -n libraylib2 -p /sbin/ldconfig
%post -n libraylib301 -p /sbin/ldconfig
%postun -n libraylib301 -p /sbin/ldconfig

%files -n libraylib2
%{_libdir}/libraylib.so.2
%{_libdir}/libraylib.so.2.5.0
%files -n libraylib301
%{_libdir}/libraylib.so.301
%{_libdir}/libraylib.so.3.0.0

%files -n raylib-devel
%license LICENSE.md
%license LICENSE
%doc CHANGELOG README.md
%{_includedir}/raylib.h
%{_includedir}/raudio.h
%{_includedir}/physac.h
%{_includedir}/raymath.h
%{_includedir}/rlgl.h
%{_libdir}/libraylib.so
%{_libdir}/pkgconfig/raylib.pc
%{_libdir}/cmake/raylib/
Expand Down

0 comments on commit f164c72

Please sign in to comment.