SDL2.spec.in
author Ryan C. Gordon <icculus@icculus.org>
Thu, 09 Apr 2015 22:28:37 -0400
changeset 9541 cf8fab52e33b
parent 9361 17a2821b451c
child 9707 5ca9f59ab336
permissions -rw-r--r--
Merged Alex Szpakowski's iOS-improvement branch to default.

Fixes Bugzilla #2798.
Fixes Bugzilla #2212.
Fixes Bugzilla #2826.
Fixes Bugzilla #2661.
Fixes Bugzilla #1885.
Fixes Bugzilla #1578.
Fixes Bugzilla #2751.

(whew!)

Notable changes, from Alex's notes:

- The SDL_WINDOW_ALLOW_HIGHDPI flag is now needed (along with SDL_GL_GetDrawableSize or SDL_GetRendererOutputSize) to use Retina / high DPI resolutions, bringing SDL’s Retina-related behavior on iOS in line with Mac OS X. Window dimensions and display modes are now in the “points” (non-high DPI) coordinate system rather than pixels, whereas SDL_GL_GetDrawableSize is in pixels.

- Reworked the custom extended launch screen code:
- It now hides after the first SDL_PumpEvents call rather than SDL_CreateWindow, and it fades out in a similar manner to the system launch screen behavior.
- It now mirrors the system launch screen behavior when deciding which image to display: it falls back to using the Launch Images dictionary in Info.plist if the iOS 8+ launch screen nib isn’t available, and if the Launch Images dictionary doesn’t exist it uses the old standard launch image names.
- The extended launch screen can now be disabled via the SDL_IPHONE_LAUNCHSCREEN define in SDL_config_iphoneos.h.

- Added support for SDL_HINT_ACCELEROMETER_AS_JOYSTICK.

- Added access to a window view's renderbuffer and framebuffer to syswm.

- Added OpenGL ES debug labels for the Renderbuffer and Framebuffer Objects created with SDL_GL_CreateContext.

- Added support for sRGB OpenGL ES contexts on iOS 7+.

- Updated OpenGL ES contexts to support native-resolution rendering (when SDL_WINDOW_ALLOW_HIGHDPI is enabled) on the iPhone 6 Plus, i.e. 1080x1920 rather than 1242x2208.

- Updated SDL_GL_CreateContext, SDL_GL_SwapWindow, SDL_GL_MakeCurrent, and SDL_GL_DeleteContext to be more robust.

- Updated SDL windows to display a UIView at all times, even when an OpenGL context is not active. This allows rotation, touch events, and other windowing-related events to work properly without an active OpenGL context. It also makes it easier to use SDL_GetWindowWMInfo after creating a SDL window.

- Updated the iOS-specific Objective-C code to use cleaner and more modern language features and APIs, including ARC instead of manual reference counting.

- Updated SDL_HINT_ORIENTATIONS to allow disabling custom orientations if the hint is set with no valid orientation names.

- Fixed several rotation and orientation bugs with windows and display modes, especially in iOS 8+.

- Fixed SDL_SetWindowFullscreen failing to update the status bar visibility on iOS 7+.

- Fixed the orientation of the offset applied to the window’s view when the onscreen keyboard is shown in iOS 8+.

- Fixed SDL_IsScreenKeyboardShown (patch by Phil Hassey.)

- Fixed several major memory leaks caused by missing autorelease pool blocks in the iOS-specific Objective-C code.

- Removed several dead code paths.

- The iOS 7 SDK (Xcode 5) or newer is now required to build SDL for iOS.
     1 Summary: Simple DirectMedia Layer
     2 Name: SDL2
     3 Version: @SDL_VERSION@
     4 Release: 2
     5 Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz
     6 URL: http://www.libsdl.org/
     7 License: zlib
     8 Group: System Environment/Libraries
     9 BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
    10 Prefix: %{_prefix}
    11 %ifos linux
    12 Provides: libSDL2-2.0.so.0
    13 %endif
    14 
    15 %define __defattr %defattr(-,root,root)
    16 %define __soext so
    17 
    18 %description
    19 This is the Simple DirectMedia Layer, a generic API that provides low
    20 level access to audio, keyboard, mouse, and display framebuffer across
    21 multiple platforms.
    22 
    23 %package devel
    24 Summary: Libraries, includes and more to develop SDL applications.
    25 Group: Development/Libraries
    26 Requires: %{name} = %{version}
    27 
    28 %description devel
    29 This is the Simple DirectMedia Layer, a generic API that provides low
    30 level access to audio, keyboard, mouse, and display framebuffer across
    31 multiple platforms.
    32 
    33 This is the libraries, include files and other resources you can use
    34 to develop SDL applications.
    35 
    36 
    37 %prep
    38 %setup -q 
    39 
    40 %build
    41 %ifos linux
    42 CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix} --disable-video-directfb
    43 %else
    44 %configure
    45 %endif
    46 make
    47 
    48 %install
    49 rm -rf $RPM_BUILD_ROOT
    50 %ifos linux
    51 make install prefix=$RPM_BUILD_ROOT%{prefix} \
    52              bindir=$RPM_BUILD_ROOT%{_bindir} \
    53              libdir=$RPM_BUILD_ROOT%{_libdir} \
    54              includedir=$RPM_BUILD_ROOT%{_includedir} \
    55              datadir=$RPM_BUILD_ROOT%{_datadir} \
    56              mandir=$RPM_BUILD_ROOT%{_mandir}
    57 %else
    58 %makeinstall
    59 %endif
    60 
    61 %clean
    62 rm -rf $RPM_BUILD_ROOT
    63 
    64 %files
    65 %{__defattr}
    66 %doc README*.txt COPYING.txt CREDITS.txt BUGS.txt
    67 %{_libdir}/lib*.%{__soext}.*
    68 
    69 %files devel
    70 %{__defattr}
    71 %doc README*.txt COPYING.txt CREDITS.txt BUGS.txt WhatsNew.txt
    72 %{_bindir}/*-config
    73 %{_libdir}/lib*.a
    74 %{_libdir}/lib*.la
    75 %{_libdir}/lib*.%{__soext}
    76 %{_includedir}/*/*.h
    77 %{_libdir}/pkgconfig/*
    78 %{_datadir}/aclocal/*
    79 
    80 %changelog
    81 * Sun Dec 07 2014 Simone Contini <s.contini@oltrelinux.com>
    82 - Fixed changelog date issue and docs filenames
    83 
    84 * Sun Jan 22 2012 Sam Lantinga <slouken@libsdl.org>
    85 - Updated for SDL 2.0
    86 
    87 * Tue May 16 2006 Sam Lantinga <slouken@libsdl.org>
    88 - Removed support for Darwin, due to build problems on ps2linux
    89 
    90 * Sat Jan 03 2004 Anders Bjorklund <afb@algonet.se>
    91 - Added support for Darwin, updated spec file
    92 
    93 * Wed Jan 19 2000 Sam Lantinga <slouken@libsdl.org>
    94 - Re-integrated spec file into SDL distribution
    95 - 'name' and 'version' come from configure 
    96 - Some of the documentation is devel specific
    97 - Removed SMP support from %build - it doesn't work with libtool anyway
    98 
    99 * Tue Jan 18 2000 Hakan Tandogan <hakan@iconsult.com>
   100 - Hacked Mandrake sdl spec to build 1.1
   101 
   102 * Sun Dec 19 1999 John Buswell <johnb@mandrakesoft.com>
   103 - Build Release
   104 
   105 * Sat Dec 18 1999 John Buswell <johnb@mandrakesoft.com>
   106 - Add symlink for libSDL-1.0.so.0 required by sdlbomber
   107 - Added docs
   108 
   109 * Thu Dec 09 1999 Lenny Cartier <lenny@mandrakesoft.com>
   110 - v 1.0.0
   111 
   112 * Mon Nov  1 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
   113 - First spec file for Mandrake distribution.
   114 
   115 # end of file