Summary
Welcome to ClanLib, a multi-platform game development library. ClanLib is a medium level development kit. At its lowest level, it provides a platform independent (as much as that is possible in C++) way of dealing with display, sound, input, networking, files, threadding and such. On top of that, ClanLib builds a generic game development framework, giving you easy handling of resources, network object replication, graphical user interfaces (GUI) with theme support, game scripting and more. The goal of ClanLib is to allow the game developer to focus on stuff that matters, avoiding all those nasty (and boring) lowlevel trivials like setting up a directdraw window, sound mixing, reading image files, etc. All those things are simplified into object oriented classes and function calls, making it a joy to write your game. ClanLib uses a resource system to keep track of images, fonts, samples and music. It supports Targa, PCX, JPEG, PNG and BMP for images. Wave files for sample. Ogg Vorbis (open sound format that has same sound quality as mp3) and MikMod for music. By using a resource system, you cleanly seperate the physical data formats from your code, and makes it easy to make themes and other plugins for your game. The resource system is written in a manner that allows you to add your own custom resources. All classes in clanlib focus on making simple interfaces that are customizeable and expandable. This keeps your game code clean and simple; but still allows you to do advanced stuff. As an example, look at some sound code: CL_SoundBuffer my_sample("Weapon/Minigun/sound", resources); my_sample.play(); In this example, we play a simple sound effect, and afterwards forget all about it. Nice and simple. But if we want to adjust the frequency during its playback (eg. for a dobbler effect), it could look like this: CL_SoundBuffer_Session playback = my_sample.play(); playback.set_frequency(1.2f); // increase frequency by 20% We only need to keep the session handle if we are going to use it. Keep things simple when they are simple, and make them complex when they are complex. :) The object oriented nature of ClanLib allows you to operate both at high and low levels, minimizing redundant code and still allows you to do stuff that isnt supported by clanlib's high level APIs. ClanLib currently support Windows 98, Windows 2000, Windows XP and Linux. The following display targets are supported under linux: X11 and OpenGL. Some parts of ClanLib still isnt entirely endian clean, so it will currently only work without problems on the x86 architecture. Work is underway for a MacOS port. Current compilers supported is VC++ 6.0, VC++ 7.0, GCC, Borland and MingW.
Versions
v4.2.0 :: 4.2 :: gentoo
- Modified
- License
- ZLIB
- Keywords
- amd64 x86
- USE flags
- X doc examples opengl sound static-libs
v4.1.0-r1 :: 4.1 :: gentoo
- Modified
- License
- ZLIB
- Keywords
- amd64 x86
- USE flags
- X doc examples ipv6 opengl sound static-libs
v2.3.7-r4 :: 2.3 :: gentoo
- Modified
- License
- ZLIB
- Keywords
- amd64 x86
- USE flags
- X doc ipv6 mikmod opengl sound sqlite static-libs vorbis
v0.8.1-r3 :: 0.8 :: gentoo
- Modified
- License
- ZLIB
- Keywords
- amd64 x86
- USE flags
- doc ipv6 mikmod opengl sdl static-libs vorbis
USE flags
General
- X
- Add support for X11
- doc
- Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
- examples
- Install examples, usually source code
- ipv6
- Add support for IP version 6
- mikmod
- Add libmikmod support to allow playing of SoundTracker-style music files
- opengl
- Add support for OpenGL (3D graphics)
- sdl
- Add support for Simple Direct Layer (media library)
- sound
- Enable sound support
- sqlite
- Add support for sqlite - embedded sql database
- static-libs
- Build static versions of dynamic libraries as well
- vorbis
- Add support for the OggVorbis audio codec
cpu_flags_x86
- sse2
- Use the SSE2 instruction set
Dependencies
app-arch / bzip2 : A high-quality data compressor used extensively by Gentoo Linux
dev-db / sqlite : SQL database engine
media-libs / alsa-lib : Advanced Linux Sound Architecture Library
media-libs / fontconfig : A library for configuring and customizing font access
media-libs / freetype : High-quality and portable font engine
media-libs / libjpeg-turbo : MMX, SSE, and SSE2 SIMD accelerated JPEG library
media-libs / libmikmod : Library to play a wide range of module formats
media-libs / libogg : The Ogg media file format library
media-libs / libpng : Portable Network Graphics library
media-libs / libsdl : Simple Direct Media Layer 1.2 compatibility wrapper around SDL2
media-libs / libvorbis : The Ogg Vorbis sound file format library
media-libs / sdl-gfx : Graphics drawing primitives library for SDL
virtual / glu : Virtual for OpenGL utility library
virtual / jpeg : Virtual to select between libjpeg-turbo and IJG jpeg for source-based packages
virtual / opengl : Virtual for OpenGL implementation
virtual / zlib : Virtual for libz.so providers
x11-base / xorg-proto : X.Org combined protocol headers
x11-libs / libX11 : X.Org X11 library
x11-libs / libXi : X.Org Xi library
x11-libs / libXinerama : X.Org Xinerama library
x11-libs / libXmu : X.Org Xmu library
x11-libs / libXrender : X.Org Xrender library
x11-libs / libXxf86vm : X.Org Xxf86vm library
Runtime Dependencies
app-arch / bzip2 : A high-quality data compressor used extensively by Gentoo Linux
dev-db / sqlite : SQL database engine
media-libs / alsa-lib : Advanced Linux Sound Architecture Library
media-libs / fontconfig : A library for configuring and customizing font access
media-libs / freetype : High-quality and portable font engine
media-libs / libjpeg-turbo : MMX, SSE, and SSE2 SIMD accelerated JPEG library
media-libs / libmikmod : Library to play a wide range of module formats
media-libs / libogg : The Ogg media file format library
media-libs / libpng : Portable Network Graphics library
media-libs / libsdl : Simple Direct Media Layer 1.2 compatibility wrapper around SDL2
media-libs / libvorbis : The Ogg Vorbis sound file format library
media-libs / sdl-gfx : Graphics drawing primitives library for SDL
virtual / glu : Virtual for OpenGL utility library
virtual / jpeg : Virtual to select between libjpeg-turbo and IJG jpeg for source-based packages
virtual / opengl : Virtual for OpenGL implementation
virtual / zlib : Virtual for libz.so providers
x11-libs / libX11 : X.Org X11 library
x11-libs / libXi : X.Org Xi library
x11-libs / libXinerama : X.Org Xinerama library
x11-libs / libXmu : X.Org Xmu library
x11-libs / libXrender : X.Org Xrender library
x11-libs / libXxf86vm : X.Org Xxf86vm library
Depending packages
games-arcade / methane : Port from an old Amiga game
games-sports / trophy : 2D Racing Game
Bugs
- 666200
- dev-games/clanlib-4.0.0 USE="-X" fails src_compile ( input_code.h:38:10: fatal error: X11/keysym.h: No such file or directory )
- 716014
- dev-games/clanlib-4.0.0 : System/system.cpp: fatal error: execinfo.h: No such file or directory
- 819399
- dev-games/clanlib-4.2.0 installs files into unexpected paths
- 830703
- dev-games/clanlib-0.8.1-r2 fails to compile: init_linux.cpp:99:23: error: PATH_MAX was not declared in this scope
- 887107
- dev-games/clanlib-2.3.7-r4 calls commands that do not exist: pcre-config
- 937009
- dev-games/clanlib-0.8.1-r3 fails to compile: signal_v3.h:93:52: error: class CL_Signal_v3<PARAM1, PARAM2, PARAM3> has no member named owner
Change logs
- Repository mirror & CI · gentoo
Merge updates from master - Michał Górny · gentoo
*/*: Add := to virtual/zlib deps, part 1
Done via: ``` git grep -l virtual/zlib$ | xargs sed -i -e 's@virtual/zlib$@&:=@' ``` Signed-off-by: Michał Górny <mgorny@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michał Górny · gentoo
dev-*/*: update for virtual/zlib
Update done using: ``` git grep -l sys-libs/zlib dev-* | xargs sed -i -e s@sys-libs/zlib@virtual/zlib@g git diff --name-only | xargs copybump git diff --name-only | xargs grep -l PYTHON_COMPAT | xargs gpy-impl -@dead pkgcheck scan --commits -c SourcingCheck,VisibilityCheck --exit error ``` Followed by manual revert in dev-python/zlib-ng where it accidentally caught sys-libs/zlib-ng dependencies. Signed-off-by: Michał Górny <mgorny@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Andreas Sturmlechner · gentoo
dev-games/clanlib: drop 0.8.1-r2, 2.3.7-r3, 4.1.0
Bug: https://bugs.gentoo.org/946099 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-games/clanlib: Stabilize 4.2.0 amd64, #946099
Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 4.1.0-r1 amd64, #946099
Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 2.3.7-r4 amd64, #946099
Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 0.8.1-r3 amd64, #946099
Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 4.2.0 x86, #946099
Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 4.1.0-r1 x86, #946099
Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 2.3.7-r4 x86, #946099
Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 0.8.1-r3 x86, #946099
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michael Mair-Keimberger · gentoo
dev-games/clanlib: add 4.2.0
Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/39151 Signed-off-by: Conrad Kostecki <conikost@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Eli Schwartz · gentoo
dev-games/clanlib: update EAPI 7 -> 8
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> - Eli Schwartz · gentoo
dev-games/clanlib: fix ignored USE=static-libs in slot 2.3
It is a no-op. In gentoo-historical-2.git, the addition of version 2.4.3 to the tree reworked the econf flags and dropped the functionality of actually passing $(use_enable) based on this USE flag. https://gitweb.gentoo.org/archive/repo/gentoo-2.git/commit/?id=dde0b5c459de07f06abeea223a9fe5612bdc0ab1 One might ponder why the flag should exist at all, if no one used it. In fact, due to EAPI 7 it was always installed. :( That being said, the other slots for this package supported it correctly, which means by default they weren't installed. Fix this slot to act the same way: correctly. Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> - Eli Schwartz · gentoo
dev-games/clanlib: mark as strict-aliasing unsafe
Fixed in newer slots. Closes: https://bugs.gentoo.org/855308 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> - Eli Schwartz · gentoo
dev-games/clanlib: add patch to successfully eautoreconf
It uses a heavily vintage autoconf 2.59 and libtool 1.5.22, which emits an autoconf-based Modern C warning in configure probes and isn't currently patch'able for e.g. LTO warning flags by elibtoolize. Closes: https://bugs.gentoo.org/898980 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michał Górny · gentoo
Move {app-doc → app-text}/doxygen
Per the category metadata, app-doc/ is reserved for documentation *files* and not software. Move it to app-text/ where it seems a better fit. Signed-off-by: Michał Górny <mgorny@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-games/clanlib: Stabilize 4.1.0 amd64, #914809
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-games/clanlib: Stabilize 4.1.0 x86, #914809
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-games/clanlib: fix build w/ gcc 12
Closes: https://bugs.gentoo.org/877301 Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Ionen Wolkens · gentoo
dev-games/clanlib: replace dead SRC_URI/HOMEPAGE in old slots
Closes: https://bugs.gentoo.org/881253 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> - Ionen Wolkens · gentoo
dev-games/clanlib: enable USE=sound by default
sound being disabled typically doesn't make much sense on games and their libraries, and the alsa dependency is trivial Signed-off-by: Ionen Wolkens <ionen@gentoo.org> - Ionen Wolkens · gentoo
dev-games/clanlib: drop 2.3.7-r2
Signed-off-by: Ionen Wolkens <ionen@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Arthur Zamarin · gentoo
dev-games/clanlib: Stabilize 2.3.7-r3 amd64, #885753
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org> - Arthur Zamarin · gentoo
dev-games/clanlib: Stabilize 2.3.7-r3 x86, #885753
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Pacho Ramos · gentoo
dev-games/clanlib: Update dependency
Signed-off-by: Pacho Ramos <pacho@gentoo.org> - Pacho Ramos · gentoo
dev-games/clanlib: Drop .la files, fix dependencies and fixes from Fedora
Closes: https://bugs.gentoo.org/842165 Closes: https://bugs.gentoo.org/599634 Closes: https://bugs.gentoo.org/819396 Signed-off-by: Pacho Ramos <pacho@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Andreas Sturmlechner · gentoo
dev-games/clanlib: drop 4.0.0, EAPI-6--
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Ionen Wolkens · gentoo
dev-games/clanlib: fix :2.3 build on x86 with USE=opengl
This likely been broken in stable for a long time, perhaps since the switch to libglvnd (assuming it was tested and ever worked). Signed-off-by: Ionen Wolkens <ionen@gentoo.org> - Ionen Wolkens · gentoo
dev-games/clanlib: drop 0.8.1-r1, 2.3.7-r1
Signed-off-by: Ionen Wolkens <ionen@gentoo.org> - Ionen Wolkens · gentoo
dev-games/clanlib: stabilize 2.3.7-r2 for amd64, x86
Even if glibc-2.34 won't be stabled anytime soon, still want fixes (bug #811591) in stable before it's keyworded. Signed-off-by: Ionen Wolkens <ionen@gentoo.org> - Ionen Wolkens · gentoo
dev-games/clanlib: stabilize 0.8.1-r2 for amd64, x86
Even if glibc-2.34 won't be stabled anytime soon, still want fixes (bug #808707) in stable before it's keyworded. Signed-off-by: Ionen Wolkens <ionen@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Ionen Wolkens · gentoo
dev-games/clanlib: fix consumers when built against glibc-2.34
Code to avoid issues was pre-existing but not enabled on Linux. Affected 0.8 and 2.3 slots, >=4.0 is no longer using this function. Closes: https://bugs.gentoo.org/808707 Closes: https://bugs.gentoo.org/811591 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-games/clanlib: add 4.1.0
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-games/clanlib: tidy up patches, respect ${PKG_CONFIG}
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michael Mair-Keimberger · gentoo
dev-games/clanlib: remove unused flag-o-matic eclass
Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: James Le Cuirot <chewi@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-games/clanlib: drop 0.8.1, 2.3.7
Bug: https://bugs.gentoo.org/772824 Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 2.3.7-r1 x86, #772824
Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 0.8.1-r1 x86, #772824
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-games/clanlib: Stabilize 2.3.7-r1 amd64, #772824
Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: Stabilize 0.8.1-r1 amd64, #772824
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Repository mirror & CI · gentoo
Merge updates from master - Azamat H. Hackimov · gentoo
dev-games/clanlib: Fix #735858
Fixes compilation with LLVM (#735858), fixes installing README files. Closes: https://bugs.gentoo.org/735858 Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/19644 Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: fix DOCS
Closes: https://bugs.gentoo.org/772869 Package-Manager: Portage-3.0.15, Repoman-3.0.2 Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sam James · gentoo
dev-games/clanlib: port 2.3.7 to EAPI 7
Package-Manager: Portage-3.0.15, Repoman-3.0.2 Signed-off-by: Sam James <sam@gentoo.org> - Sam James · gentoo
dev-games/clanlib: minor touchups
Package-Manager: Portage-3.0.15, Repoman-3.0.2 Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Lars Wendler · gentoo
dev-games/clanlib: Use pkg-config to find freetype
Closes: https://bugs.gentoo.org/764902 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> - Azamat H. Hackimov · gentoo
dev-games/clanlib: fixes to 0.8.1 version
Fix pkg-config files (#739358), update ebuild to EAPI7, fix documentation installation, unify patches for eapply's -p1 level, remove deprecated eclasses. Bug: https://bugs.gentoo.org/739358 Package-Manager: Portage-3.0.4, Repoman-3.0.1 Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/17486 Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - David Seifert · gentoo
*/*: [QA] Remove redundant --disable-{dependency-tracking,silent-rules}
Closes: https://github.com/gentoo/gentoo/pull/14738 Signed-off-by: David Seifert <soap@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - David Seifert · gentoo
dev-games/clanlib: [QA] inherit ltprune.eclass directly
Package-Manager: Portage-2.3.88, Repoman-2.3.20 Signed-off-by: David Seifert <soap@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Lars Wendler · gentoo
dev-games/clanlib: Replaced freetype-config with pkg-config
Bug: https://bugs.gentoo.org/658424 Package-Manager: Portage-2.3.40, Repoman-2.3.9 - Arfrever Frehtes Taifersar Arahesis · gentoo
dev-games/*: Update dependencies (x11-proto/* -> x11-base/xorg-proto). - Peter Levine · gentoo
dev-games/clanlib: Fix building with GCC-6
Closes: https://bugs.gentoo.org/596112 Closes: https://github.com/gentoo/gentoo/pull/5915 Package-Manager: Portage-2.3.10, Repoman-2.3.3 - Robin H. Johnson · gentoo
Drop $Id$ per council decision in bug #611234.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> - T. Malfatti · gentoo
media-libs/portaudio: Version bump - David Seifert · gentoo
dev-games/clanlib: Version bump to 4.0.0
* EAPI=6 Package-Manager: Portage-2.3.3, Repoman-2.3.1 - Michael Sterrett · gentoo
dev-games/clanlib: libsdl needs the X use flag (bug #581394)
Package-Manager: portage-2.2.26 - Michael Sterrett · gentoo
dev-games/clanlib: fix dev-db/sqlite slot dep (bug 570652)
Package-Manager: portage-2.2.24 - Michael Sterrett · gentoo
add slot deps
Package-Manager: portage-2.2.24 - Michael Sterrett · gentoo
EAPI=5
Package-Manager: portage-2.2.24 - Michael Sterrett · gentoo
add slot dep for media-libs/libpng and virtual/jpeg
Package-Manager: portage-2.2.24 - Robin H. Johnson · gentoo
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed