Code Monkey home page Code Monkey logo

steam-overlay's Introduction

steam-overlay

Gentoo overlay for Valve's Steam client.

Valve only provides a 32-bit version of the client, uses an own update mechanism for the client and games that is outside the control of package managers, and ships a customized runtime with precompiled libraries. This overlay provides:

  • A package for the Steam launcher.
  • A utility to install additional native Linux game dependencies.
  • Old ebuilds that are needed by games but have been officially removed by Gentoo.

Please note: Valve only supports Steam with their runtime enabled. If you have problems, enable the runtime with the steamruntime USE flag or start Steam with STEAM_RUNTIME=1 steam before reporting a bug at the official bug tracker.

Usage

  • Install app-eselect/eselect-repository and dev-vcs/git:

    emerge --ask --noreplace app-eselect/eselect-repository dev-vcs/git
    
  • Add this repository:

    eselect repository enable steam-overlay
    
  • Then sync with either emaint or emerge:

    emaint sync -r steam-overlay
    emerge --sync
    
  • The Steam runtime is enabled by default. If you'd like to rely solely on Gentoo packages, then disable the steamruntime USE flag. Use the esteam utility later to scan your installed native Linux games for additional Gentoo packages required by them. Note that Gentoo packages do not cover the entirety of the runtime, so a small number of games may not work.

  • Install games-util/steam-launcher:

    emerge --ask games-util/steam-launcher
    

    This may prompt you to enable to abi_x86_32 USE flag for many packages due to the Steam client being 32-bit. You can just enable it globally for simplicity.

  • Start the client by executing steam.

Troubleshooting Steam

If you encounter any issues, the following links may be helpful.

License

steam-overlay is provided under the GNU General Public License v2. See LICENSE.

steam-overlay's People

Contributors

andrewammerlaan avatar anyc avatar brettalcox avatar chewi avatar chobbes avatar cnd avatar enterdot avatar ephemer0l avatar flyser avatar genx75 avatar ggazebo avatar hashashin avatar jcallen avatar karolherbst avatar lima-limon-inc avatar liuyujielol avatar mathyv avatar mm1ke avatar mrueg avatar oczkers avatar pabou-be avatar piedar avatar pinkbyte avatar realjohngalt avatar shadowsfriend avatar tele42 avatar thegreatmcpain avatar thesamesam avatar travisby avatar trilader avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

steam-overlay's Issues

Steam without pulseaudio

When I do not want pulseaudio in my system, is it ok when I remove pulseaudio from dependences in ebuild? I suppose sound won't work, but will steam work?

add adobe-air-sdk/runtime for defender's quest

there is a working sdk 2.6 ebuild in some overlays

Anyway, I also wanted to ask was anyone able to run it through steam? (there is a free demo in steam).
On my system I can run it via airstart. But the binary which is launched from steam just plain exists straight from start, strace does not show anything interesting.

Beta update 24th april - Steam segfaults

Steam fails to start with last night beta update.

/home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/steamUI/../common/steam/client_api.cpp (281) : Assertion Failed: ClientAPI_InitGlobalInstance: InternalAPI_Init_Internal failed.

Assert( Assertion Failed: ClientAPI_InitGlobalInstance: InternalAPI_Init_Internal failed.
 ):/home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/steamUI/../common/steam/client_api.cpp:281

Installing breakpad exception handler for appid(steam)/version(1366768812_client)
Uploading dump (out-of-process) [proxy '']
/tmp/dumps/assert_20130424131110_1.dmp
Uploading dump (out-of-process) [proxy '']
/tmp/dumps/crash_20130424131110_2.dmp
/home/boot/.local/share/Steam/steam.sh: line 704: 30818 Segmentation fault      $STEAM_DEBUGGER "$STEAMROOT/$PLATFORM/$STEAMEXE" "$@"
Finished uploading minidump (out-of-process): success = yes
response: CrashID=bp-e4618f4a-e611-4500-9073-001822130424
Finished uploading minidump (out-of-process): success = yes
response: CrashID=bp-6ee66112-f8b7-4041-b942-173272130424

No tray icon

I have dev-libs/libindicator-12.10.0-r300 and dev-libs/libappindicator-12.10.0 installed, but the only way to get a tray icon is to start steam with STEAM_RUNTIME=1.

When I try to install these libs from the steam overlay I get the following error:

$ emerge -av1 \=dev-libs/libappindicator-12.10.0-r1 \=dev-libs/libindicator-12.10.0-r1

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "=dev-libs/libappindicator-12.10.0-r1" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-libs/libappindicator-12.10.0-r1::steam-overlay (masked by: invalid: DEPEND: Invalid atom (Invalid use dep: ''), token 3, invalid: RDEPEND: Invalid atom (Invalid use dep: ''), token 3)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

STEAM_RUNTIME being overridden

I'm using the shipped libs for Steam (amd64 here, because they work). But /usr/bin/steam now has a line that overrides the STEAM_RUNTIME I set.

steam-base-9999

  • does not update icon cache, but installs into /usr/share/icons... use gnome2-utils.eclass
  • does not update desktop mime database, use fdo-mime.eclass
  • you can install foo.desktop via "domenu", an eutils function
  • desktop file does not pass validation via desktop-file-validate (hints can be ignored)
  • install script is not POSIX compliant, that should be fixed
  • I get random checksum failure for the "live" ebuild

libsdl:2 revision bump

So, the March 12th steam update raised the libsdl:2 required revision to r6964, have fun with this riddle as there is not a new enough revision at http://www.libsdl.org/tmp/ and while the gamerlay ebuild can be adapted, it adds a dependency on mercurial and is missing a symlink that steam uses.

media-libs/libsdl-2.0.0_pre7024 fails to compile if nas USE-flag is enabled

libsdl-2 emerged successfully after disabling the nas USE-flag and removing media-libs/nas. This should be addressed within the libsdl ebuild.

/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../libaudio.so when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../libaudio.a when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libaudio.so when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libaudio.a when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -laudio
collect2: ld returned 1 exit status
make[2]: *** [libSDL2-2.0.so.0.0.0] Error 1
make[2]: Leaving directory `/var/tmp/portage/media-libs/libsdl-2.0.0_pre7024/work/SDL-2.0.0-7024-x86'
make[1]: *** [CMakeFiles/SDL2.dir/all] Error 2
make[1]: Leaving directory `/var/tmp/portage/media-libs/libsdl-2.0.0_pre7024/work/SDL-2.0.0-7024-x86'
make: *** [all] Error 2
 * ERROR: media-libs/libsdl-2.0.0_pre7024 failed (compile phase):
 *   emake failed
.....
.....
pink ~ # equery b /usr/lib/libaudio.so
 * Searching for /usr/lib/libaudio.so ... 
media-libs/nas-1.9.2 (/usr/lib64/libaudio.so.2.4)
pink ~ # equery d nas
 * These packages depend on nas:
app-accessibility/speech-tools-2.1-r1 (nas ? media-libs/nas)
dev-qt/qtgui-4.8.4-r1 (nas ? >=media-libs/nas-1.5)
media-libs/libao-1.1.0-r1 (nas ? media-libs/nas)
media-libs/libsdl-1.2.15-r2 (nas ? media-libs/nas)
media-sound/mpg123-1.14.4 (nas ? media-libs/nas)
media-video/mplayer-1.1-r1 (nas ? media-libs/nas)

Steam asking for password to update /usr/bin/steam

Currently when I launch steam, ~/Steam/steam.sh will give me a gksudo prompt so that it can update /usr/bin/steam, which I guess would undo the patch applied to it by the steam-installer ebuild. Fortunately I can just hit cancel and steam will happily start, but I thought I'd file an issue for it anyway since it does get a bit annoying having to cancel that every time (and things might break if a user does allow it to update /usr/bin/steam).

I found that if you export STEAMSCRIPT (in /usr/bin/steam) to some dummy path that doesn't exist, this update-check is bypassed (see line ~120-125 in ~/Steam/steam.sh), but I don't know if there are any other undesirable side effects to doing this

AMD64: Header files have changed between ABIs.

....
-- Installing: /var/tmp/portage/media-libs/libsdl-2.0.0_pre6995/image/usr/include/SDL2/SDL_config.h
-- Installing: /var/tmp/portage/media-libs/libsdl-2.0.0_pre6995/image/usr/lib64/pkgconfig/sdl2.pc
-- Installing: /var/tmp/portage/media-libs/libsdl-2.0.0_pre6995/image/usr/bin/sdl2-config

  • Header files have changed between ABIs.
  • --- /var/tmp/portage/media-libs/libsdl-2.0.0_pre6995/temp/.multilib_header_cksum 2013-03-18 15:37:35.926381217 +0600
  • +++ /var/tmp/portage/media-libs/libsdl-2.0.0_pre6995/temp/.multilib_header_cksum.new 2013-03-18 15:37:37.361363177 +0600
  • @@ -1,5 +1,5 @@
  • 2020976841 1033 /var/tmp/portage/media-libs/libsdl-2.0.0_pre6995/image/usr/include/SDL2/SDL_types.h
  • -4082885318 11058 /var/tmp/portage/media-libs/libsdl-2.0.0_pre6995/image/usr/include/SDL2/SDL_config.h
    ...

Manual build work fine.
P.S. /etc/portage/make.conf add CFLAGS="......-m32" - work!

Broken build

emerge -avt games-util/steam-client-meta doesn't emerge anything because:

[blocks B ] <=app-emulation/emul-linux-x86-xlibs-20130224 ("<=app-emulation/emul-linux-x86-xlibs-20130224" is blocking x11-proto/kbproto-1.0.6-r1)

x11-proto/kbproto-1.0.6-r1 is pulled in by dev-libs/libindicator-12.10.0-r301:3::steam-overlay

So, if we do not use trayicon use-flag everything works (USE="-trayicon" emerge -avt games-util/steam-client-meta).

Add pulseaudio/alsa useflag

I think it would be good to add a pulseaudio and/or alsa useflag. Currently Team Fortress requires pulseaudio to be installed for sound to work, but if you add a file

$ cat /etc/env.d/99steam
SDL_AUDIODRIVER=alsa

TF2 will use alsa to play sound.

Maybe there is a nicer way of doing this (some steam-wrapper which sets the env variable?).

Initial DotA-2 support

This is a stub for initial Dota-2 compatibility without the steam runtime. Dota-2 crashes after load screen without steam-runtime and launches with it. I was unable to find an obvious missing library which got it up and running.

EDIT: see also: ValveSoftware/Dota-2#70

Please datestamp media-libs/libsdl-2.0

Since libSDL2 is in pre-release and in active development, please add some form of subversioning to the package version so that gentoo steam users can be notified / encouraged to recompile libSDL2 when valuable changes occur to it. I honestly do not see the need to have greater resolution than a date or have the date do anything to select the specific version, as this is a live ebuild.

Cannot emerge steam-meta

Hi, I did add the overlay:

layman -l
* gentoo-zh                 [Git       ] (git://github.com/microcai/gentoo-zh.git                                                                                   )
* steam                     [Git       ] (git://github.com/anyc/steam-overlay.git                                                                                   

When I try to emerge, I get:

emerge steam-meta

 * IMPORTANT: 2 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "steam-meta".

emerge: searching for similar names...
emerge: Maybe you meant any of these: dev-qt/qt-meta, kde-base/kdegames-meta, kde-base/kdeadmin-meta?

I did

emerge --sync
etc-update
layman -S

before.
I can this be?

unable run on Gentoo hardened

The following binaries requires mprotect exception.
You need to convert convert PT_GNU_STACK into PT_PAX_FLAGS before that.

paxctl -c /data/gamestest/Steam/ubuntu12_32/crashhandler.so
paxctl -m /data/gamestest/Steam/ubuntu12_32/crashhandler.so
paxctl -c /data/gamestest/Steam/ubuntu12_32/steam
paxctl -m /data/gamestest/Steam/ubuntu12_32/steam

Counter-Strike requires the following files:
/data/gamestest/Steam/SteamApps/common/Half-Life/filesystem_stdio.so
/data/gamestest/Steam/SteamApps/common/Half-Life/hl_linux

latest steam beta requires 32bit libudev.so.0

I just installed a new steam beta channel update which has a dependency on libudev.so.0

libudev.so.0 is not provided by an emul package but there is a prebuilt gentoo library[1] for google-chrome[2]. Dropping this library in ~/.steam/bin/ is a quick workaround but it would be nice if this could somehow be included in an ebuild.

[1] http://gentoo-distfiles.mirrors.tds.net/distfiles/google-chrome-libudev-0.13.1-x86.tar.xz
[2] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-client/google-chrome/google-chrome-25.0.1364.152_p185281.ebuild?revision=1.1&view=markup

Trine2 does not run fullscreen

It's launcher requires the use of x11-apps/xwininfo to detect fullscreen resolution.
Perhaps other games do to and might be worth adding it to RDEPEND ?

=dev-libs/gobject-introspection-1.32.1-r1 configure failure

emerge -avuDN world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild U ] dev-libs/gobject-introspection-1.32.1-r1::steam-overlay [1.32.1::gentoo] USE="-doc -doctool {-test}" ABI_X86="32%* (64%*) (-x32)" 0 kB

Total: 1 package (1 upgrade), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No]

Verifying ebuild manifests

[...]

checking for the suffix of shared libraries... .so
checking for GLIB... yes
checking for GOBJECT... yes
checking for GMODULE... yes
checking for GIO... yes
checking for GIO_UNIX... yes
checking for CAIRO... no
configure: error: Tests enabled but cairo not found; pass --disable-tests or install cairo

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/dev-libs/gobject-introspection-1.32.1-r1/work/gobject-introspection-1.32.1-x86/config.log

dev-libs/libappindicator-12.10.0-r1 compile failure

I hit an error when compiling on amd64:
[ebuild N ~] dev-libs/libappindicator-12.10.0-r1::steam-overlay USE="introspection -gtk3" ABI_X86="32 (64) (-x32)" 0 kB

/bin/sh ../libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/dev-libs/libappindicator-12.10.0-r1/work/libappindicator-12.10.0/src -I.. -D_REENTRANT -pthread -I/usr/include/libindicator-0.4 -I/usr/include/libdbusmenu-gtk-0.4 -I/usr/include/libdbusmenu-glib-0.4 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/directfb -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -Wall -Werror -DG_LOG_DOMAIN="libappindicator" -mtune=native -march=native -O2 -pipe -ggdb -c -o libappindicator_la-app-indicator.lo test -f 'app-indicator.c' || echo '/var/tmp/portage/dev-libs/libappindicator-12.10.0-r1/work/libappindicator-12.10.0/src/'app-indicator.c
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/dev-libs/libappindicator-12.10.0-r1/work/libappindicator-12.10.0/src -I.. -D_REENTRANT -pthread -I/usr/include/libindicator-0.4 -I/usr/include/libdbusmenu-gtk-0.4 -I/usr/include/libdbusmenu-glib-0.4 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/directfb -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -Wall -Werror -DG_LOG_DOMAIN="libappindicator" -mtune=native -march=native -O2 -pipe -ggdb -c /var/tmp/portage/dev-libs/libappindicator-12.10.0-r1/work/libappindicator-12.10.0/src/app-indicator.c -fPIC -DPIC -o .libs/libappindicator_la-app-indicator.o
/var/tmp/portage/dev-libs/libappindicator-12.10.0-r1/work/libappindicator-12.10.0/src/app-indicator.c:43:41: fatal error: application-service-marshal.h: No such file or directory
compilation terminated.

Talk about --reset command line option

Currently when emerging steam-launcher we can read this :

Execute /usr/bin/steam to download and install the actual
client into your home folder. After installation, the script
also starts the client from your home folder.

You could add :

If you want to wipe out your current steam installation and
reinstall steam without losing games data, you can use the
--reset command line option :
$ steam --reset

This seems not documented anywhere, and steam --help does not help.
See here : http://steamcommunity.com/groups/SteamClientBeta#announcements/detail/1747665881674129776

Add warning for missing libSDL:2

We have had some users that have opened issue reports to Valve because they emerged games-util/steam-launcher without the meta ebuilds to pull libSDL:2. I think it would be worthwhile for games-util/steam-launcher to check for 32bit libSDL:2 and throw an einfo or an ewarn if it is missing at the end of the emerge. Hopefully this will make it obvious to the user that they are missing something they need and mitigate future reports of a user error.

dev-libs/gobject-introspection-1.32.1-r1 failed

ERROR: dev-libs/gobject-introspection-1.32.1-r1 failed (prepare phase):
 *   Cannot find $EPATCH_SOURCE!
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_prepare
 *   environment, line 6342:  Called multilib_foreach_abi 'disable_unrequired_stuff_for_x86'
 *   environment, line 3974:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'disable_unrequired_stuff_for_x86'
 *   environment, line 3683:  Called _multibuild_run '_multilib_multibuild_wrapper' 'disable_unrequired_stuff_for_x86'
 *   environment, line 3681:  Called _multilib_multibuild_wrapper 'disable_unrequired_stuff_for_x86'
 *   environment, line  661:  Called disable_unrequired_stuff_for_x86
 *   environment, line 1360:  Called epatch '/var/lib/layman/steam/dev-libs/gobject-introspection/files/disable_python.patch'
 *   environment, line 2203:  Called die
 * The specific snippet of code:
 *                   die "Cannot find \$EPATCH_SOURCE!";

champions of regnum new dep: libtinfo.so.5

I was intending to drop Champions of Regnum, so I decided to fire up one last time to discover it wants 32bit sys-libs/ncurses with the tinfo useflag. Have fun with this one. 😑

I'm not sure this is worth "fixing" with the multilib transition in progress.

X3 Reunion (X3R) on Steam

X3R has been released for Linux and despite the fact that it delivers its own libraries, it will use system libraries if they are present. If you are not interested in putting it into games-util/steam-games-meta feel free to reject the issue.

Except for libjpeg.so.62.0.0, all libraries can be replaced by system libraries. The list of dependencies are:

app-emulation/emul-linux-x86-baselibs
app-emulation/emul-linux-x86-medialibs
app-emulation/emul-linux-x86-opengl
app-emulation/emul-linux-x86-sdl
app-emulation/emul-linux-x86-soundlibs
media-libs/libsdl:2[abi_x86_32]

I installed all the libraries above and then deleted all files except libjpeg. Works fine :)

A list of all libraries

$ ls -go SteamApps/common/X3\ -\ Reunion/lib/
total 59716
-rwx------ 1     739 Mar 12 13:44 README
-rwx------ 1  502668 Mar 12 13:44 libGLEW.so
-rwx------ 1  502668 Mar 12 13:44 libGLEW.so.1.9
-rwx------ 1  502668 Mar 12 13:44 libGLEW.so.1.9.0
-rwx------ 1 2028629 Mar 12 13:44 libSDL-1.2.so.0
-rwx------ 1 2028629 Mar 12 13:44 libSDL-1.2.so.0.11.4
-rwx------ 1 3871115 Mar 12 13:44 libSDL2-2.0.so.0
-rwx------ 1 3871115 Mar 12 13:44 libSDL2-2.0.so.0.0.0
-rwx------ 1 3871115 Mar 12 13:44 libSDL2.so
-rwx------ 1 7501440 Mar 12 13:44 libavcodec.so
-rwx------ 1 7501440 Mar 12 13:44 libavcodec.so.53
-rwx------ 1 7501440 Mar 12 13:44 libavcodec.so.53.61.100
-rwx------ 1   55584 Mar 12 13:44 libavdevice.so
-rwx------ 1   55584 Mar 12 13:44 libavdevice.so.53
-rwx------ 1   55584 Mar 12 13:44 libavdevice.so.53.4.100
-rwx------ 1  252700 Mar 12 13:44 libavfilter.so
-rwx------ 1  252700 Mar 12 13:44 libavfilter.so.2
-rwx------ 1  252700 Mar 12 13:44 libavfilter.so.2.61.100
-rwx------ 1 1240836 Mar 12 13:44 libavformat.so
-rwx------ 1 1240836 Mar 12 13:44 libavformat.so.53
-rwx------ 1 1240836 Mar 12 13:44 libavformat.so.53.32.100
-rwx------ 1  136544 Mar 12 13:44 libavutil.so
-rwx------ 1  136544 Mar 12 13:44 libavutil.so.51
-rwx------ 1  136544 Mar 12 13:44 libavutil.so.51.35.100
-rwx------ 1   65936 Mar 12 13:44 libbz2.so.1
-rwx------ 1   65936 Mar 12 13:44 libbz2.so.1.0
-rwx------ 1   65936 Mar 12 13:44 libbz2.so.1.0.6
-rwx------ 1 2045200 Mar 12 13:44 libcrypto.so
-rwx------ 1 2045200 Mar 12 13:44 libcrypto.so.1.0.0
-rwx------ 1  418028 Mar 12 13:44 libjpeg.so
-rwx------ 1  418028 Mar 12 13:44 libjpeg.so.62
-rwx------ 1  418028 Mar 12 13:44 libjpeg.so.62.0.0
-rwx------ 1   21776 Mar 12 13:44 libogg.so
-rwx------ 1   21776 Mar 12 13:44 libogg.so.0
-rwx------ 1   21776 Mar 12 13:44 libogg.so.0.8.0
-rwx------ 1 1116850 Mar 12 13:44 libopenal.so
-rwx------ 1 1116850 Mar 12 13:44 libopenal.so.1
-rwx------ 1 1116850 Mar 12 13:44 libopenal.so.1.13.0
-rwx------ 1  437085 Mar 12 13:44 libssl.so
-rwx------ 1  437085 Mar 12 13:44 libssl.so.1.0.0
-rwx------ 1   34124 Mar 12 13:44 libswresample.so
-rwx------ 1   34124 Mar 12 13:44 libswresample.so.0
-rwx------ 1   34124 Mar 12 13:44 libswresample.so.0.6.100
-rwx------ 1  337228 Mar 12 13:44 libswscale.so
-rwx------ 1  337228 Mar 12 13:44 libswscale.so.2
-rwx------ 1  337228 Mar 12 13:44 libswscale.so.2.1.100
-rwx------ 1     969 Mar 12 13:44 libvorbis.la
-rwx------ 1  157196 Mar 12 13:44 libvorbis.so
-rwx------ 1  157196 Mar 12 13:44 libvorbis.so.0
-rwx------ 1  157196 Mar 12 13:44 libvorbis.so.0.4.6
-rwx------ 1 1533172 Mar 12 13:44 libvorbisenc.so
-rwx------ 1 1533172 Mar 12 13:44 libvorbisenc.so.2
-rwx------ 1 1533172 Mar 12 13:44 libvorbisenc.so.2.0.9
-rwx------ 1   30088 Mar 12 13:44 libvorbisfile.so
-rwx------ 1   30088 Mar 12 13:44 libvorbisfile.so.3
-rwx------ 1   30088 Mar 12 13:44 libvorbisfile.so.3.3.5
-rwx------ 1   79324 Mar 12 13:44 libz.so.1
-rwx------ 1   79324 Mar 12 13:44 libz.so.1.2.7

Steam without pulseaudio

When I do not want pulseaudio in my system, is it ok when I remove pulseaudio from dependences in ebuild? I suppose sound won't work, but will steam work?

Steam fails to start with current beta

Running Steam on Linux 3.7.10-gentoo 64-bit
STEAM_RUNTIME is disabled by the user
Error: You are missing the following 32-bit libraries, and Steam may not run:
libSDL2-2.0.so.0
[2013-03-15 01:27:50] Startup
[2013-03-15 01:27:50] Opted in to client beta 'publicbeta' via beta file
Installing breakpad exception handler for appid(steam)/version(1363223461_client)
Installing breakpad exception handler for appid(steam)/version(1363223461_client)
[2013-03-15 01:27:50] Verifying installation...
[2013-03-15 01:27:50] Verification complete
[2013-03-15 01:27:53] Shutdown

Works with runtime enabled.

dev-libs/gobject-introspection-1.32.1-r1 fails in install phase with USE="doctool"

  • Converting shebang in '/var/tmp/portage/dev-libs/gobject-introspection-1.32.1-r1/image/usr/bin/g-ir-annotation-tool'
  • Converting shebang in '/var/tmp/portage/dev-libs/gobject-introspection-1.32.1-r1/image/usr/bin/g-ir-scanner'
  • ERROR: dev-libs/gobject-introspection-1.32.1-r1 failed (install phase):
  • python_convert_shebangs(): '/var/tmp/portage/dev-libs/gobject-introspection-1.32.1-r1/image/usr/bin/g-ir-doc-tool' does not exist

media-libs/libsdl-2.0.0_pre7013 fails to build with USE="nas"

build.log contains such lines:

usr/bin/x86_64-pc-linux-gnu-gcc -m32 -fPIC -O2 -pipe -march=native -DHAVE_LINUX_VERSION_H -D_REENTRANT -mfpmath=387 -msse2 -msse -m3dnow -mmmx -fvisibility=hidden -O2 -pipe -march=native -Wl,-O1 -Wl,--as-needed -shared -Wl,-soname,libSDL2.so.0 -o libSDL2.so.2.0.0 CMakeFiles/SDL2.dir/src/SDL_fatal.c.o [... skipped ...] -lm -ldl -laudio -lGL -Wl,-O1 -Wl,--as-needed -lpthread
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../libaudio.so when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../libaudio.a when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libaudio.so when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libaudio.a when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -laudio
collect2: выполнение ld завершилось с кодом возврата 1
make[2]: *** [libSDL2.so.2.0.0] Ошибка 1

~ $ qfile /usr/lib/libaudio.so
media-libs/nas (/usr/lib64/libaudio.so)
~ $ qfile /usr/lib/libaudio.a
media-libs/nas (/usr/lib64/libaudio.a)

I think there is need either to disable nas in IUSE or to add support for abi_x86_32 in media-libs/nas

Code need update

md5 checksum does not agree, remove-ubuntu-specifics.patch failed.

libsdl fail to compile

Hi,

When I try to compile libsdl 2, from both steam and gamerlay I get this :

/usr/bin/x86_64-pc-linux-gnu-gcc  -m32 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H  -DNDEBUG -O2 -pipe -march=native -mtune=native -fomit-frame-pointer -DHAVE_LINUX_VERSION_H -D_REENTRANT -mfpmath=387 -msse2 -msse -mmmx -fvisibility=hidden -O2 -pipe -march=native -mtune=native -fomit-frame-pointer  -fPIC -I/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338-x86/include -I/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/include    -o CMakeFiles/SDL2.dir/src/video/x11/SDL_x11mouse.c.o -c /var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/src/video/x11/SDL_x11mouse.c
In file included from /var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/src/video/x11/SDL_x11xinput2.c:26:0:
/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/src/video/x11/SDL_x11xinput2.h:30:36: error: conflicting types for ‘XGenericEventCookie’
/usr/include/X11/Xlib.h:975:3: note: previous declaration of ‘XGenericEventCookie’ was here
/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/src/video/x11/SDL_x11xinput2.c: In function ‘X11_HandleXinput2Event’:
/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/src/video/x11/SDL_x11xinput2.c:128:14: error: dereferencing pointer to incomplete type
/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/src/video/x11/SDL_x11xinput2.c:131:18: error: dereferencing pointer to incomplete type
/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/src/video/x11/SDL_x11xinput2.c:133:64: error: dereferencing pointer to incomplete type
make[2]: *** [CMakeFiles/SDL2.dir/src/video/x11/SDL_x11xinput2.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/src/video/x11/SDL_x11mouse.c:29:0:
/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338/src/video/x11/SDL_x11xinput2.h:30:36: error: conflicting types for ‘XGenericEventCookie’
/usr/include/X11/Xlib.h:975:3: note: previous declaration of ‘XGenericEventCookie’ was here
make[2]: *** [CMakeFiles/SDL2.dir/src/video/x11/SDL_x11mouse.c.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338-x86'
make[1]: *** [CMakeFiles/SDL2.dir/all] Error 2
make[1]: Leaving directory `/var/tmp/portage/media-libs/libsdl-2.0.0_pre7338/work/SDL-2.0.0-7338-x86'
make: *** [all] Error 2 ```

dev-libs/libindicator-12.10.0-r301 fails to build

Hi,
enabling the new trayicon useflag, gives me this error. Note that x11-proto/xproto-7.0.23-r1 is installed on the system

Just drop me a line, if you need any more information.

 * Package:    dev-libs/libindicator-12.10.0-r301
 * Repository: steam-overlay
 * USE:        abi_x86_32 abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
 * FEATURES:   sandbox
>>> Unpacking source...
>>> Unpacking libindicator-12.10.0.tar.gz to /var/tmp/portage/dev-libs/libindicator-12.10.0-r301/work
>>> Source unpacked in /var/tmp/portage/dev-libs/libindicator-12.10.0-r301/work
>>> Preparing source in /var/tmp/portage/dev-libs/libindicator-12.10.0-r301/work/libindicator-12.10.0 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-libs/libindicator-12.10.0-r301/work/libindicator-12.10.0 ...
 * x86: running multilib-minimal_abi_src_configure
 * econf: updating libindicator-12.10.0/build-aux/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating libindicator-12.10.0/build-aux/config.guess with /usr/share/gnuconfig/config.guess
/var/tmp/portage/dev-libs/libindicator-12.10.0-r301/work/libindicator-12.10.0/configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib32 --disable-silent-rules --disable-dependency-tracking --disable-silent-rules --disable-static --with-gtk=2
configure: loading site script /usr/share/config.site
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a pax tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... yes
/var/tmp/portage/dev-libs/libindicator-12.10.0-r301/work/libindicator-12.10.0/configure: line 2833: ]: command not found
checking for i686-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc -m32
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc -m32 accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc -m32 option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of x86_64-pc-linux-gnu-gcc -m32... none
checking whether x86_64-pc-linux-gnu-gcc -m32 and cc understand -c and -o together... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by x86_64-pc-linux-gnu-gcc -m32... x86_64-pc-linux-gnu-ld -m elf_i386
checking if the linker (x86_64-pc-linux-gnu-ld -m elf_i386) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop
checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for x86_64-pc-linux-gnu-ld -m elf_i386 option to reload object files... -r
checking for i686-pc-linux-gnu-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for i686-pc-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for i686-pc-linux-gnu-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for i686-pc-linux-gnu-strip... no
checking for strip... strip
checking for i686-pc-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from x86_64-pc-linux-gnu-gcc -m32 object... ok
checking for sysroot... no
checking for i686-pc-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -m32 -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-pc-linux-gnu-gcc -m32 supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc -m32 option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc -m32 PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc -m32 static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc -m32 supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc -m32 supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc -m32 linker (x86_64-pc-linux-gnu-ld -m elf_i386) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for glib-mkenums... /usr/bin/glib-mkenums
checking for glib-genmarshal... /usr/bin/glib-genmarshal
checking for i686-pc-linux-gnu-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for LIBINDICATOR... no
configure: error: Package requirements (gtk+-2.0 >= 2.18
                                          gmodule-2.0
                                          gio-unix-2.0 >= 2.22) were not met:

Package 'xproto', required by 'x11', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBINDICATOR_CFLAGS
and LIBINDICATOR_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/dev-libs/libindicator-12.10.0-r301/work/libindicator-12.10.0-x86/config.log
 * ERROR: dev-libs/libindicator-12.10.0-r301 failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *          ebuild.sh, line   93:  Called src_configure
 *        environment, line 2759:  Called multilib-minimal_src_configure
 *        environment, line 2210:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *        environment, line 2377:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *        environment, line 2086:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *        environment, line 2084:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *        environment, line  407:  Called multilib-minimal_abi_src_configure
 *        environment, line 2204:  Called multilib_src_configure
 *        environment, line 2413:  Called econf '--disable-silent-rules' '--disable-static' '--with-gtk=2'
 *   phase-helpers.sh, line  518:  Called die
 * The specific snippet of code:
 *                          die "econf failed"
 * 
 * If you need support, post the output of `emerge --info '=dev-libs/libindicator-12.10.0-r301'`,
 * the complete build log and the output of `emerge -pqv '=dev-libs/libindicator-12.10.0-r301'`.
 * This ebuild is from an overlay named 'steam-overlay': '/usr/local/portage/steam/'
 * The complete build log is located at '/var/tmp/portage/dev-libs/libindicator-12.10.0-r301/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/libindicator-12.10.0-r301/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-libs/libindicator-12.10.0-r301/work/libindicator-12.10.0-x86'
 * S: '/var/tmp/portage/dev-libs/libindicator-12.10.0-r301/work/libindicator-12.10.0'

libsdl fails to build

libsdl (any version) fails to build:

/var/tmp/portage/media-libs/libsdl-2.0.0_pre7250/work/SDL-2.0.0-7250/src/video/x11/SDL_x11sym.h:206:1: error: conflicting types for '_XData32'

The ebuild from gamerlay works fine since it provides a patch for the issue. The patch is also in upstream's version control:

http://hg.libsdl.org/SDL/rev/6caad66a4966

libsdl-2.0.0_pre9999 fails to build "Header files have changed between ABIs"

This is a fresh attempt to emerge steam-meta on amd64. I added the overlay with layman, synced it up, accepted the autounmask changes and fired up the emerge.

libsdl failed to build, the error is nearly identical to another issue reported on this github, #41

I tried dropping back down to the other libsdl version that was available on the overlay (2.0.0_pre7238), but that brought up a huge number of autounmask changes, and I wasn't sure whether it was wise to continue.

  • Header files have changed between ABIs.
  • --- /var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/temp/.multilib_header_cksum 2013-06-01 03:31:26.000000000 +1000
  • +++ /var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/temp/.multilib_header_cksum.new 2013-06-01 03:31:27.000000000 +1000
  • @@ -1,5 +1,5 @@
  • 3464343081 1031 /var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/image/usr/include/SDL2/SDL_types.h
  • -3822936980 10846 /var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/image/usr/include/SDL2/SDL_config.h
  • +966677213 10846 /var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/image/usr/include/SDL2/SDL_config.h
  • 4270544938 1230 /var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/image/usr/include/SDL2/SDL_opengles.h
  • 1721318494 1234 /var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/image/usr/include/SDL2/SDL_opengles2.h
  • 4127414542 13066 /var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/image/usr/include/SDL2/SDL_test_fuzzer.h
  • ERROR: media-libs/libsdl-2.0.0_pre9999 failed (install phase):
  • Header checksum mismatch, aborting.
  • Call stack:
  • ebuild.sh, line   93:  Called src_install
    
  • environment, line 3497: Called cmake-multilib_src_install
  • environment, line 851: Called multilib_foreach_abi 'cmake-multilib_secure_install'
  • environment, line 3011: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'cmake-multilib_secure_install'
  • environment, line 2751: Called _multibuild_run '_multilib_multibuild_wrapper' 'cmake-multilib_secure_install'
  • environment, line 2749: Called _multilib_multibuild_wrapper 'cmake-multilib_secure_install'
  • environment, line 529: Called cmake-multilib_secure_install
  • environment, line 849: Called multilib_check_headers
  • environment, line 2897: Called die
  • The specific snippet of code:
  •           die "Header checksum mismatch, aborting.";
    
  • If you need support, post the output of emerge --info '=media-libs/libsdl-2.0.0_pre9999',
  • the complete build log and the output of emerge -pqv '=media-libs/libsdl-2.0.0_pre9999'.
  • This ebuild is from an overlay named 'steam-overlay': '/var/lib/layman/steam/'
  • The complete build log is located at '/var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/temp/build.log'.
  • The ebuild environment file is located at '/var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/temp/environment'.
  • Working directory: '/var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/work/libsdl-2.0.0_pre9999'
  • S: '/var/tmp/portage/media-libs/libsdl-2.0.0_pre9999/work/libsdl-2.0.0_pre9999'

Dependencies for Shatter

Shatter depends on libCg.so

Launching Shatter
./Shatter.bin.x86: error while loading shared libraries: libCg.so: cannot open shared object file: No such file or directory

Game launches with runtime enabled.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.