GithubHelp home page GithubHelp logo

desura / desurium Goto Github PK

View Code? Open in Web Editor NEW
269.0 269.0 44.0 24.18 MB

Free online games platform (juegos gratis), with an open source client. LGPL repo for Desura client. Potentially out of date. See https://github.com/desura/desura-app for newest (LGPL) client.

Home Page: https://www.desura.com/es

License: GNU General Public License v3.0

Shell 0.42% JavaScript 3.87% CSS 0.43% C 4.75% C++ 90.50% Objective-C 0.03%

desurium's People

Contributors

a-mroz avatar allenwalkerhu avatar boskee avatar callumlinden avatar cerebrux avatar cheeseness avatar jcnix avatar jeffjirsa avatar karolherbst avatar larryrotgut avatar madrang avatar matthiaskrgr avatar naryl avatar smilex avatar ssokolow avatar telemaniaka avatar yurikoles 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

desurium's Issues

Kubuntu 12.04 crash

muhlis@muhlis-ubuntu:~$ desura/desura

Gtk-WARNING *: /home/muhlis/desura/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/engines/liboxygen-gtk.so)
*
* glibc detected *** bin/desura: munmap_chunk(): invalid pointer: 0x00007fbc6c0e4aa0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7c8b6)[0x7fbcb93858b6]
/home/muhlis/desura/lib/libusercore.so(+0xc76ad)[0x7fbcb5e4b6ad]
/home/muhlis/desura/lib/libusercore.so(+0x100446)[0x7fbcb5e84446]
/home/muhlis/desura/lib/libusercore.so(+0x100a4d)[0x7fbcb5e84a4d]
/home/muhlis/desura/lib/libusercore.so(+0x7134b)[0x7fbcb5df534b]
/home/muhlis/desura/lib/libusercore.so(+0xb63ee)[0x7fbcb5e3a3ee]
/home/muhlis/desura/lib/libusercore.so(+0xb7058)[0x7fbcb5e3b058]
/home/muhlis/desura/lib/libusercore.so(+0x1b4b8d)[0x7fbcb5f38b8d]
/home/muhlis/desura/lib/libboost_thread-desura.so.1.47.0(+0xf927)[0x7fbcb7ed3927]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a)[0x7fbcba325e9a]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fbcb93f974d]
======= Memory map: ========
00400000-0060a000 r-xp 00000000 08:08 14158687 /home/muhlis/desura/bin/desura
00809000-00816000 rw-p 00209000 08:08 14158687 /home/muhlis/desura/bin/desura
00816000-0082a000 rw-p 00000000 00:00 0
02026000-0214f000 rw-p 00000000 00:00 0 [heap]
0214f000-03e4c000 rw-p 00000000 00:00 0 [heap]
7fbc23297000-7fbc23298000 ---p 00000000 00:00 0
7fbc23298000-7fbc23a98000 rw-p 00000000 00:00 0
7fbc23a98000-7fbc23a99000 ---p 00000000 00:00 0
7fbc23a99000-7fbc24299000 rw-p 00000000 00:00 0
7fbc24299000-7fbc2429a000 ---p 00000000 00:00 0
7fbc2429a000-7fbc24a9a000 rw-p 00000000 00:00 0
7fbc24a9a000-7fbc24a9b000 ---p 00000000 00:00 0
7fbc24a9b000-7fbc2529b000 rw-p 00000000 00:00 0
7fbc2529b000-7fbc2529c000 ---p 00000000 00:00 0
7fbc2529c000-7fbc25a9c000 rw-p 00000000 00:00 0
7fbc25a9c000-7fbc25a9d000 ---p 00000000 00:00 0
7fbc25a9d000-7fbc2629d000 rw-p 00000000 00:00 0
7fbc2629d000-7fbc2629e000 ---p 00000000 00:00 0
7fbc2629e000-7fbc26a9e000 rw-p 00000000 00:00 0
7fbc26a9e000-7fbc26a9f000 ---p 00000000 00:00 0
7fbc26a9f000-7fbc2729f000 rw-p 00000000 00:00 0
7fbc2729f000-7fbc272a0000 ---p 00000000 00:00 0
7fbc272a0000-7fbc27aa0000 rw-p 00000000 00:00 0
7fbc29aa4000-7fbc29ae4000 rw-p 00000000 00:00 0
7fbc29ae4000-7fbc29ae5000 ---p 00000000 00:00 0
7fbc29ae5000-7fbc2a2e5000 rw-p 00000000 00:00 0
7fbc2a2e5000-7fbc2a2e6000 ---p 00000000 00:00 0
7fbc2a2e6000-7fbc2aae6000 rw-p 00000000 00:00 0
7fbc2aae6000-7fbc2aae7000 ---p 00000000 00:00 0
7fbc2aae7000-7fbc2b4a7000 rw-p 00000000 00:00 0
7fbc2bca8000-7fbc2bca9000 ---p 00000000 00:00 0
7fbc2bca9000-7fbc2c4a9000 rw-p 00000000 00:00 0
7fbc2c4a9000-7fbc2c4aa000 ---p 00000000 00:00 0
7fbc2c4aa000-7fbc2ccaa000 rw-p 00000000 00:00 0
7fbc2ccaa000-7fbc2ccab000 ---p 00000000 00:00 0
7fbc2ccab000-7fbc2d4ab000 rw-p 00000000 00:00 0
7fbc2d82c000-7fbc2dcac000 rw-p 00000000 00:00 0
7fbc2fc30000-7fbc2fcb0000 rw-p 00000000 00:00 0
7fbc304b1000-7fbc304f1000 rw-p 00000000 00:00 0
7fbc304f2000-7fbc305b2000 rw-p 00000000 00:00 0
7fbc305b6000-7fbc3063e000 rw-p 00000000 00:00 0
7fbc30dbf000-7fbc31604000 rw-p 00000000 00:00 0
7fbc31604000-7fbc31605000 r-xp 00000000 08:07 552121 /usr/lib/mozilla/plugins/librhythmbox-itms-detection-plugin.so
7fbc31605000-7fbc31804000 ---p 00001000 08:07 552121 /usr/lib/mozilla/plugins/librhythmbox-itms-detection-plugin.so
7fbc31804000-7fbc31805000 r--p 00000000 08:07 552121 /usr/lib/mozilla/plugins/librhythmbox-itms-detection-plugin.so
7fbc31805000-7fbc31806000 rw-p 00001000 08:07 552121 /usr/lib/mozilla/plugins/librhythmbox-itms-detection-plugin.so
7fbc31806000-7fbc3182b000 r-xp 00000000 08:07 543655 /usr/lib/x86_64-linux-gnu/libjson-glib-1.0.so.0.1400.2
7fbc3182b000-7fbc31a2a000 ---p 00025000 08:07 543655 /usr/lib/x86_64-linux-gnu/libjson-glib-1.0.so.0.1400.2
7fbc31a2a000-7fbc31a2b000 r--p 00024000 08:07 543655 /usr/lib/x86_64-linux-gnu/libjson-glib-1.0.so.0.1400.2
7fbc31a2b000-7fbc31a2c000 rw-p 00025000 08:07 543655 /usr/lib/x86_64-linux-gnu/libjson-glib-1.0.so.0.1400.2
7fbc31a2c000-7fbc31a2f000 r-xp 00000000 08:07 581666 /usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so
7fbc31a2f000-7fbc31c2e000 ---p 00003000 08:07 581666 /usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so
7fbc31c2e000-7fbc31c2f000 r--p 00002000 08:07 581666 /usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so
7fbc31c2f000-7fbc31c30000 rw-p 00003000 08:07 581666 /usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so
7fbc31c30000-7fbc31c33000 r-xp 00000000 08:07 526670 /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
7fbc31c33000-7fbc31e32000 ---p 00003000 08:07 526670 /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
7fbc31e32000-7fbc31e33000 r--p 00002000 08:07 526670 /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
7fbc31e33000-7fbc31e34000 rw-p 00003000 08:07 526670 /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
7fbc31e34000-7fbc31e4b000 r-xp 00000000 08:07 543411 /usr/lib/x86_64-linux-gnu/libaudio.so.2.4
7fbc31e4b000-7fbc3204a000 ---p 00017000 08:07 543411 /usr/lib/x86_64-linux-gnu/libaudio.so.2.4
7fbc3204a000-7fbc3204b000 r--p 00016000 08:07 543411 /usr/lib/x86_64-linux-gnu/libaudio.so.2.4
7fbc3204b000-7fbc3204c000 rw-p 00017000 08:07 543411 /usr/lib/x86_64-linux-gnu/libaudio.so.2.4
7fbc3204c000-7fbc32acd000 r-xp 00000000 08:07 543541 /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.0
7fbc32acd000-7fbc32ccd000 ---p 00a81000 08:07 543541 /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.0
7fbc32ccd000-7fbc32d0f000 r--p 00a81000 08:07 543541 /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.0
7fbc32d0f000-7fbc32d16000 rw-p 00ac3000 08:07 543541 /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.0
7fbc32d16000-7fbc32d1a000 rw-p 00000000 00:00 0
7fbc32d1a000-7fbc32fdf000 r-xp 00000000 08:07 543486 /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.0
7fbc32fdf000-7fbc331df000 ---p 002c5000 08:07 543486 /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.0
7fbc331df000-7fbc331ea000 r--p 002c5000 08:07 543486 /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.0

leveldb depdendency?

When trying to build cef I get an exception about being unable to find leveldb's gyp file.

Python 2 incompatibilities

Python2 is named python2 and Python3 is named python on my system for example.

A script to fix cef's cef_create_projects.sh is at http://sprunge.us/XeXU , yet this problem persists in all scripts (such as in depot_tools) that use python directly.

A fix to this would be to call python by $PYTHON and have a script set the environmental variable before the scripts are run.

Gentoo build fail

/var/tmp/portage/games-util/desurium-0.999/temp/environment: line 2461: ./build.sh: No such file or directory
make: *** No targets specified and no makefile found. Stop.

  • ERROR: games-util/desurium-0.999 failed (compile phase):
  • (no error message)
  • Call stack:
  • ebuild.sh, line 85: Called src_compile
  • environment, line 2462: Called die
  • The specific snippet of code:
  • make || die
  • If you need support, post the output of 'emerge --info =games-util/desurium-0.999',
  • the complete build log and the output of 'emerge -pqv =games-util/desurium-0.999'.
  • This ebuild is from an overlay named 'AzP': '/var/lib/layman/AzP/'
  • The complete build log is located at '/var/tmp/portage/games-util/desurium-0.999/temp/build.log'.
  • The ebuild environment file is located at '/var/tmp/portage/games-util/desurium-0.999/temp/environment'.
  • S: '/var/tmp/portage/games-util/desurium-0.999/work/desurium'

Failed to emerge games-util/desurium-0.999, Log file:

'/var/tmp/portage/games-util/desurium-0.999/temp/build.log'

  • Messages for package app-admin/eselect-wxwidgets-1.4:
  • By default the system wxWidgets profile is set to "none".
  • It is unnecessary to change this unless you are doing development work
  • with wxGTK outside of portage. The package manager ignores the profile
  • setting altogether.
  • Messages for package dev-vcs/subversion-1.6.17-r7:
  • If you run subversion as a daemon, you will need to restart it to avoid module mismatches.
  • Messages for package games-util/desurium-0.999:
  • ERROR: games-util/desurium-0.999 failed (compile phase):
  • (no error message)
  • Call stack:
  • ebuild.sh, line 85: Called src_compile
  • environment, line 2462: Called die
  • The specific snippet of code:
  • make || die
  • If you need support, post the output of 'emerge --info =games-util/desurium-0.999',
  • the complete build log and the output of 'emerge -pqv =games-util/desurium-0.999'.
  • This ebuild is from an overlay named 'AzP': '/var/lib/layman/AzP/'
  • The complete build log is located at '/var/tmp/portage/games-util/desurium-0.999/temp/build.log'.
  • The ebuild environment file is located at '/var/tmp/portage/games-util/desurium-0.999/temp/environment'.
  • S: '/var/tmp/portage/games-util/desurium-0.999/work/desurium'
  • GNU info directory index is up-to-date.

emerge --info =games-util/desurium-0.999

Portage 2.1.10.44 (default/linux/x86/10.0, gcc-4.5.3, glibc-2.12.2, 3.0.6-gentoo i686)

System Settings

System uname: Linux-3.0.6-gentoo-i686-Intel-R-_Core-TM-i7-2600_CPU@_3.40GHz-with-gentoo-2.0.3
Timestamp of tree: Fri, 10 Feb 2012 04:45:01 +0000
app-shells/bash: 4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python: 2.7.2-r3, 3.1.4-r3
dev-util/cmake: 2.8.6-r4
dev-util/pkgconfig: 0.26
sys-apps/baselayout: 2.0.3
sys-apps/openrc: 0.8.3-r1
sys-apps/sandbox: 2.4
sys-devel/autoconf: 2.13, 2.68
sys-devel/automake: 1.11.1
sys-devel/binutils: 2.20.1-r1
sys-devel/gcc: 4.5.3-r1
sys-devel/gcc-config: 1.4.1-r1
sys-devel/libtool: 2.4-r1
sys-devel/make: 3.82-r1
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc: 2.12.2
Repositories: gentoo AzP
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@eula"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://gentoo.aditsu.net:8000/"
LANG="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/AzP"
SYNC="rsync://rsync.sg.gentoo.org/gentoo-portage"
USE="X acl berkdb bzip2 cli cracklib crypt cups cxx dbus dri fortran gdbm gnome gpm gtk iconv ipv6 modules mudflap ncurses nls nptl nptlonly openmp pam pcre pppd readline session ssl sysfs tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

emerge -pqv =games-util/desurium-0.999
[ebuild N ] games-util/desurium-0.999

help?

Desura reads hard drive excessively on start up on 64 bit Linux system with ext4 FS

When starting up desura on (some?) 64bit Linux systems using ext4 as filesystem, the hard drive is read excessively for a couple of minutes.
This behavior was first reported on the Desura forums (http://www.desura.com/groups/desura/forum/thread/desura-reads-hard-drive-excessively-on-start-up-on-64-bit-linux-system). A workaround was suggested there: Moving .settings from desura to an ext2 partition. For my system the hard disk crunching of >6min went to <1sec.
Is there a way to properly fix this within the desura/desurium code or is this an upstream issue, if such which?

NOTE: I have not tested either the bug nor the fix with the latest desurium build, can someone please confirm this.

using libnofity?

I just saw in the commit log using libnotify on linux...isnt that an Ubuntu thing not a Linux thing?

XDG_RUNTIME_DIR requires mtime to be set

Every 5 hours or so (has to be under 6 hours), any files we put in XDG_RUNTIME_DIR (like the locks and sockets) should have their mtime attribute update to avoid being cleaned out. See here for details.

Error when running with -f

It's the key which makes Desura force update. After successfully updating itself it shows a message box with "Unknown Desura Link: -f."

(Doesn't apply to Desurium)

Add/Remove programs on Windows

The Windows client will add games to control panel but it doesn't add the displayed name correctly. You end up with names of "Desura:" over and over for each game installed. If you remove the game using Desura then the Control Panel version isn't removed so you have to go in by hand and remove them from control panel and you get "There was an error removing this do you want to delete this".

Thread watch icon is confusing

When I started using Desura, it took me over a day to get used to the fact that the "Thread Watch" icon didn't mean "change view mode for the currently-displayed set of games or search results". (A feature which might also be good to have, but something for a separate bug report)

I'd suggest using a simple graphic of an eye to signify "thread watch" more intuitively. (Two arcs and an un-filled circle, like a simpler cousin to the CBS and Eyewitness logos.)

Current build instructions don't work

Currently they don't work. The ones in the readme. If you clone this repo and then follow the instructions exactly you'll see the problem. I'm currently hacking my way through it trying to fix it but I'm not sure if it's just my problem.

No Desurium Branding

Currently the Desurium branding is broken (as in, nothing, and it included the Desura logo)

This needs to be fixed for copyright reasons for the next release.

Gef is included in the repo

Considering we're suppose to symlink the gef folder to the chromium one, it doesn't seem that the src/third_party/gefs folder should be in this repo.

Downloading games to ~/.local/share/desura ?

It'd be nice to have per-user game storage in $XDG_DATA_HOME (~/.local/share), instead of /opt/desura/common.

This is just an idea, and I'd like feedback and comments as the current system works fine.

Implementing it would probably best be done as a compile-time option for package maintainers or sysadmins, but then the official Desura website would have to provide two versions if both were to exist.

Game status icons lack explanatory tooltips

Yesterday, I had two games in my Linux Desura "Play" tab which were showing status icons with no clear means (beyond clicking them) for identifying what they indicate. (A pair of arrows in a circle and a lightning bolt)

As it's the most intuitive solution I'm aware of, given the current form integrated help in the Desura client takes (tooltips for some icons and a link to the forums), I propose that icons in the Play list should join toolbar icons in having explanatory tooltips.

Upload & Download issue

This one is going to be a pain in the behind to find. Consitantly but with no rhyme or reason the Linux client will crash and exit when doing an upload. The Windows version doesn't seem to have this problem. Sometimes it happens immediately when you try and start the upload sometimes it take as long at 10 minutes. It always crashes though before the upload is finished unless it is a small file like under 10 megs. Most updates to games are this small but getting a game up under Linux it always crashes multiple times and I have to resume it.

Less frequent is the crash on download. I have I would say maybe 5% of the time the client will crash on a download both on Windows and Linux.

I do way more uploading and downloading than most do with the client, so I see it all the time, but I am getting reports from developers and users of this issue.

Start desura in tray

Could the be a option to start desura in tray? So without desura window appears?

(linux version of desura i run)

Obeying the XDG Base Directory Specification

As seen in the (XDG Base Directory Specification)[http://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html] we should be using $XDG_CONFIG_HOME/desura/ for configuration (this usually ends up being ~/.config/desura/) and $XDG_RUNTIME_DIR/desura for sockets and other runtime things (XDG_RUNTIME_DIR isn't defined on my system, but XDG_CONFIG_HOME is. the specification tells you what to do if they aren't defined, though)

While the Linux client went public, this needs to be done sooner rather than later, seeing as the longer we wait the more of a hassle it will be to switch.

Switching would also allow people to specify the configuration directories using environmental variables, which is a huge bonus. Especially for distros like GoboLinux.

Updating in FOSS?

Why is the updater needed? Maybe it should be removed since package maintainers should be doing it..

Build problems (Linux)

Hi,
I saw that 'install-deps.sh' has no Arch Linux option, so I tried to wrote mine. After that I wanted to test it, so tried to build Desurium. Third party built without problems, but I got an error while running build_lin/build.sh:

Traceback (most recent call last):
  File "../src/third_party/gyp/gyp", line 18, in <module>
    sys.exit(gyp.main(sys.argv[1:]))
  File "/home/sadam/Desurium/src/third_party/gyp/pylib/gyp/__init__.py", line 471, in main
    options.circular_check)
  File "/home/sadam/Desurium/src/third_party/gyp/pylib/gyp/__init__.py", line 111, in Load
    depth, generator_input_info, check, circular_check)
  File "/home/sadam/Desurium/src/third_party/gyp/pylib/gyp/input.py", line 2371, in Load
    ValidateTargetType(target, target_dict)
  File "/home/sadam/Desurium/src/third_party/gyp/pylib/gyp/input.py", line 2084, in ValidateTargetType
    (target, target_type, '/'.join(VALID_TARGET_TYPES)))
Exception: Target ../src/third_party/libs.gyp:gtk#target has an invalid target type 'settings'.  Must be one of executable/loadable_module/static_library/shared_library/none.

I wanted to check if that's not dependencies fault, so I switched to Fedora (16), ran 'install-deps.sh'. After that I tried to build third party, and got problems with curl and wxWidgets.

  • Curl gave me missing stropts.h.
    I ran: yum provides */stropts.h and got arm-gp2x-linux-glibc-2.3.6-9.fc15.noarch. Arm - strange... But installing it fixed problem.
  • wxWidgets gave me:
    make: *** No rule to make target /usr/lib/glib-2.0/include/glibconfig.h', needed by monodll_utilscmn.o'. Stop. And I'm not sure how I can fix it.

I don't know if that's a bug, or I am doing something wrong, but help would be appreciated :)

Also I saw that link branding-> branding_default is made, so line "Copy branding_default in src to src/branding" in readme is probably no longer needed. Also lines for installing dependencies could be changed to just running install-deps.sh.

Deleting $XDG_CONFIG_HOME/desura breaks deleting the lock.

When closing Desurium, I get the error:

09:17:51: Error: Failed to remove lock file '/home/jookia/.cache/desura/applock' (error 2: No such file or directory)

This is because I remove the $XDG_RUNTIME_DIR/desura directory before the lock is deleted.

Current build system doesn't allow external dependencies

Right now everything is checked out and built by SVN, but I have Boost (for example) installed in my system. Allowing the use of external dependencies would be good.

Maybe a simple file exporting variables for which external dependencies to checkout and build would be a start? Of course it wouldn't do any detecting, but it'd allow us to manually set it up to use our system's stuff.

Crypto causes almost everything to fail

As you can see here in this gist, a single error in crypto is breaking almost everything.

src/third_party/crypto/include/secblock.h:32:7: note: void CryptoPP::AllocatorBase<T>::construct(CryptoPP::AllocatorBase<T>::pointer, const T&) [with T = CryptoPP::HuffmanDecoder::LookupEntry, CryptoPP::AllocatorBase<T>::pointer = CryptoPP::HuffmanDecoder::LookupEntry*]
src/third_party/crypto/include/secblock.h:32:7: note: candidate expects 2 arguments, 1 provided

Desura pull down menu

We need to reorder the list in the pull down so it follows closer to most application setups/standards.

I believe it should be:

Console
History
Tools
Settings
(separator here)
Offline
Logout (remove)
Help
About
Exit

Wouldn't offline and logout give you the same effect. In both cases the client is still running and you are not logged in to the service. I am not sure that Logout is helpful when Offline would give you give you the logout but you just wouldn't be able to surf the website. I don't understand why you would want to surf the website logged out in the client.

Thoughts on this?

Tooltips

Need to implement tool tips like windows

Expansions and MODs

Right now the system on the Linux side can't actually support certain kinds of expansions or mods. If the expansion or MOD has it's own launch script and doesn't launch from inside the game then the "desura_launch_Play.sh" script will get over-written and you can't play both at the same time.

I recommend we add the game number to the launch script name so that you won't have these collisions. Until this is resolved somehow we can't have expansions or MODs under Linux.

Curl - 7.21.5

I am using curl - 7.21.5 to issue HTTP requests to fetch data segments. Under bad channel conditions I will be forced to cancel the issued HTTP request.

My Question: When I cancel a HTTP request do I receive 0 bytes? or do I receive a portion of the requested segment?

Example: I issued a HTTP request for 1 MB segment. After 3 seconds I decided to cancel the request. Do I receive a portion of the requested segment after cancellation or do I receive 0 bytes ?

Ubuntu Tray Icon

Is it possible to get a proper Ubuntu tray icon, like an indictor so we just left click and get the menu, if that makes sense?

Client isn't able to re-register/recognize backed-up game files

On GNU/Linux:

  1. install game
  2. back it (~/desura/common/) up
  3. remove it ("remove files" and "remove it from account")
  4. restore backup
  5. install game from the client

Client won't be able to recognize valid game files. Perhaps there should be also option from backing-up data available from Desurium (but that's other topic).

Free space could not be determined!

Desurium is reporting problems while reading free disk space:

(25081, son of 25029) src/static/util/code/UtilLinux.cpp:390 - Free space for '/home/voitek/Projects/desurium/build_out/debug_lin/common/braid-64' could not be determined!
(25081, son of 25029) src/static/util/code/UtilLinux.cpp:390 - Free space for '/home/voitek/Projects/desurium/build_out/debug_lin/.settings' could not be determined!

This is because the actual path that's checked is missing the first slash, eg. it tries to check home/voitek/(...)

Here's the code:

uint64 getFreeSpace(const char* path)
{
    if (!path)
        return -1;

    UTIL::FS::Path p(path, "", false);

    std::vector<std::string> folders;

    for (size_t x=0; x<p.getFolderCount(); x++)
        folders.push_back(p.getFolder(x));

    struct statvfs fsinfo;

    for (size_t x=1; x<=folders.size(); x++)
    {
        UTIL::FS::Path fullP;

        for (size_t y=0; y<folders.size()-x; y++)
            fullP += folders[y];

        std::string szPath = fullP.getFullPath();

        if(statvfs(szPath.c_str(), &fsinfo) != 0)
            continue;

        return (fsinfo.f_bsize * fsinfo.f_bavail); 
    }

    char buffer[1024];
    snprintf(buffer, 1024, "Free space for '%s' could not be determined!", path);
    ERROR_OUTPUT(buffer);
    return -1;
}

The problem is, that std::string szPath = fullP.getFullPath(); never has a chance to prepend that slash, as it only does so if m_absolutePath equals true.

UtilFsPath.cpp:

Path::Path()
{
#ifdef NIX
    m_absolutePath = false;
#endif
}

To fix this, we need to assign fullP.m_absolutePath. So, you should add something like this after UTIL::FS::Path fullP; in UtilLinux.cpp:

        fullP.m_absolutePath = p.m_absolutePath;

Cef uses an outdated gyp file

If you grep 'src/third_party/cef/cef.gyp' you'll see that it requires 'leveldb', which doesn't exist in the Chromium source tree (anymore at least, I read somewhere that it was removed). It also requires other things that aren't there.

Thus it can't build.

Failed to load cef library: 0

actually have a new error, everything compiles now, but desurium shows up with a blank screen, this is the error:

04:30 MCFCore Logging Started.
04:30 WebCore Logging Started.
04:30 UserCore Logging Started.
04:30 --------------------------------------------------
04:30 Desura Version : 1.0.0.0
04:30 MCFCore Version : 0.0.0.1
04:30 UICore Version : 0.0.0.1
04:30 UserCore Version : 0.0.0.1
04:30 WebCore Version : 0.0.0.1
04:30 --------------------------------------------------
04:30 Logging Has started
04:30

04:30 DS: Version: 0.0.0.1
04:30 Failed to load cef library: 0
04:30 CEF_CreateCookie is NULL. Failed to set cookies. :(
04:30 wx Assert: ./src/gtk/bitmap.cpp(554): assert "IsOk()" failed in GetHeight(): invalid bitmap
04:30 Failed to load cef library: 0
04:30 Failed to load cef library: 0

Everything else works just fine, I can even play my games by using the tray icon.
I read that this error plagued Desura earlier because it used system libs instead of the libraries
that came with Desura.

Anyway, have been goolging, but all the solutions so far are to force an update which I don't think I can do with Desurium... or can I?

I also already tried installing orbit and libSDL and then recompiling.

List Games & CDKeys

We should add to the Tools menu under the Desura icon a link that takes you to the web page where it lists all the games you own and all the CDKeys for each game that needs it. There are other ways to get to it but it is pretty buried and if you don't know where it is your likely to miss it.

The URL is:
https://secure.desura.com/cart/cdkeys

It is the same URL for everyone and they just need to be logged in to get the list.

Uninstall text

When you go to uninstall a game right now the two checkboxes you see are:
Remove Desura Files
Remove From Account

The second one is not correct. A game can never be removed from an account once it is purchased or added. All it is doing is no longer displaying that game in the client. The text should be:

"Remove from Client Game List" or "Remove From Local Game List"
or something similar.

The only reason this exists is so that you can remove the shortcuts that you create to your own games that are not from Desura.

Simplifying the build system

The current build system which produces a distribution which should work everywhere is actually only useful for a rare and special case when the user downloads it from the Desura web site. I suggest to reserve it for the project maintainer (Lodle) so that

  1. Other developers and package maintainers won't have to deal with occasionally forgotten or outdated build scripts
  2. Lodle won't have to spend time maintaining the scripts so they would work for everyone when they do a lot of extra actions not required for either contributors or package maintainers.

Instead we should implement a simple build system which should only use system libraries which would simplify work of contributors and package maintainers (who would currently have to clean up all the bundled libs and fix scripts which build them).

Validating Existing Files Linux Error

The Linux client has a bug where if the directory for a game exists and is empty it gets stuck at "Validating Existing Files". If you cancel out then the client crashes. You have to go in and delete the empty directory for it to be able to download the game.

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.