damex / deadbeef-overlay Goto Github PK
View Code? Open in Web Editor NEWDeaDBeeF player overlay for Gentoo Linux
DeaDBeeF player overlay for Gentoo Linux
the build fails, as it cannot find queue.h file from glibc. musl doesn't have this fully implemented, and to fix this typ of errors there's a standalone of the header available from the gentoo tree. The patch pulls this in on condition of musl being installed.
From b396e73e03d6950520f43c41c9b4d0500e9f2191 Mon Sep 17 00:00:00 2001
From: stefson <[email protected]>
Date: Tue, 2 Jul 2019 22:36:28 +0200
Subject: [PATCH] media-sound/deadbeef: add queue-standalone for use elibc_musl
---
media-sound/deadbeef/deadbeef-1.8.0-r1.ebuild | 1 +
1 files changed, 1 insertions(+), 1 deletion(-)
diff --git a/media-sound/deadbeef/deadbeef-1.8.0-r1.ebuild b/media-sound/deadbeef/deadbeef-1.8.0-r1.ebuild
index e342b6c..bd9fcba 100644
--- a/media-sound/deadbeef/deadbeef-1.8.0-r1.ebuild
+++ b/media-sound/deadbeef/deadbeef-1.8.0-r1.ebuild
@@ -102,6 +102,7 @@ RDEPEND="dev-libs/glib:2
virtual/jpeg:0
x11-libs/gdk-pixbuf:2[jpeg] )
curl? ( net-misc/curl:0 )
+ elibc_musl? ( sys-libs/queue-standalone )
ffmpeg? ( media-video/ffmpeg:0= )
libav? ( media-video/libav:0= )
flac? ( media-libs/flac:0 )
git tree contains important fixes to fix building the plugin with gtk+3.22:
https://gitlab.com/zykure/deadbeef-fb/commit/47bc3fe0fe151dfbb75f90f9e4d5e9a7affd280a
Could you please update the snapshot?
I'm emerging latest deadbeef (either 1.8 or 9999) and get following error:
during aclocal
ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported.
configure.ac:20: warning: AM_INTL_SUBDIR is m4_require'd but not m4_defun'd
See full zipped logs.
deadbeef-logs.zip
After further research I found issue reproduced only when ebuild is using gentoo eautoreconf . Which seems not to be the same as authors own autogen.sh script.
Calling script directly instead of eautoreconf fixed the problem.
Following patch fixed issue for me:
https://gist.github.com/danilovsergei/1a329bb1af26caf33107f3bb8b66c265
My gettext version is sys-devel/gettext-0.20.1 . Probably vanilla ebuild still works on older versions
so basically gentoo in process of dropping support for LINGUAS but it is the main way to support for supported locales.
there is l10n eclass in place and l10n eclass does not expand LINGUAS anymore since early 2018 ( https://gitweb.gentoo.org/repo/gentoo.git/commit/eclass/l10n.eclass?id=d2b35d386291d6b34b108cbb0895460ec5ef80a1 ).
basically deadbeef ebuild(s) need updates and conversion to support new l10n eclass changes.
lets use l10n eclass functions to remove unused locales and their files.
i'm trying to install deadbeef-9999
but it fails to apply a patch
* Package: media-sound/deadbeef-9999
* Repository: deadbeef-overlay
* Maintainer: [email protected]
* USE: abi_x86_64 alac amd64 cover cover-imlib2 cover-network curl elibc_glibc ffmpeg flac gtk2 hotkeys kernel_linux libnotify libsamplerate m3u mad mp3 playlist-browser pulseaudio sndfile userland_GNU vorbis zip
* FEATURES: preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
* Fetching https://github.com/Alexey-Yakovenko/deadbeef.git ...
git fetch https://github.com/Alexey-Yakovenko/deadbeef.git +refs/heads/master:refs/heads/master
git symbolic-ref refs/git-r3/media-sound/deadbeef/0/__main__ refs/heads/master
* Fetching https://github.com/DeaDBeeF-Player/deadbeef-osx-deps.git ...
git fetch https://github.com/DeaDBeeF-Player/deadbeef-osx-deps.git --prune +refs/heads/*:refs/heads/* +refs/tags/*:refs/tags/* +refs/notes/*:refs/notes/* +HEAD:refs/git-r3/HEAD
git update-ref --no-deref refs/git-r3/media-sound/deadbeef/0/osx_deps/__main__ 18e21da8a89df4c85af18a5486a33e8e2bbe7fbe
* Checking out https://github.com/Alexey-Yakovenko/deadbeef.git to /var/tmp/portage/media-sound/deadbeef-9999/work/deadbeef-9999 ...
git checkout --quiet master
GIT update -->
repository: https://github.com/Alexey-Yakovenko/deadbeef.git
at the commit: ad2c5e096d3821d3e62770f71830a9e567ff47f6
* Checking out https://github.com/DeaDBeeF-Player/deadbeef-osx-deps.git to /var/tmp/portage/media-sound/deadbeef-9999/work/deadbeef-9999/osx/deps ...
git checkout --quiet 18e21da8a89df4c85af18a5486a33e8e2bbe7fbe
GIT update -->
repository: https://github.com/DeaDBeeF-Player/deadbeef-osx-deps.git
at the commit: 18e21da8a89df4c85af18a5486a33e8e2bbe7fbe
>>> Source unpacked in /var/tmp/portage/media-sound/deadbeef-9999/work
>>> Preparing source in /var/tmp/portage/media-sound/deadbeef-9999/work/deadbeef-9999 ...
* Applying deadbeef-remove-pt_br-and-ru-help-translation.patch ...
1 out of 1 hunk FAILED -- saving rejects to file Makefile.am.rej [ !! ]
* ERROR: media-sound/deadbeef-9999::deadbeef-overlay failed (prepare phase):
* patch -p1 failed with /var/tmp/portage/media-sound/deadbeef-9999/files/deadbeef-remove-pt_br-and-ru-help-translation.patch
*
* Call stack:
* ebuild.sh, line 124: Called src_prepare
* environment, line 3393: Called eapply '/var/tmp/portage/media-sound/deadbeef-9999/files/deadbeef-remove-pt_br-and-ru-help-translation.patch'
* environment, line 1039: Called _eapply_patch '/var/tmp/portage/media-sound/deadbeef-9999/files/deadbeef-remove-pt_br-and-ru-help-translation.patch'
* environment, line 977: Called __helpers_die 'patch -p1 failed with /var/tmp/portage/media-sound/deadbeef-9999/files/deadbeef-remove-pt_br-and-ru-help-translation.patch'
* isolated-functions.sh, line 117: Called die
* The specific snippet of code:
* die "$@"
*
* If you need support, post the output of `emerge --info '=media-sound/deadbeef-9999::deadbeef-overlay'`,
* the complete build log and the output of `emerge -pqv '=media-sound/deadbeef-9999::deadbeef-overlay'`.
* The complete build log is located at '/var/tmp/portage/media-sound/deadbeef-9999/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-sound/deadbeef-9999/temp/environment'.
* Working directory: '/var/tmp/portage/media-sound/deadbeef-9999/work/deadbeef-9999'
* S: '/var/tmp/portage/media-sound/deadbeef-9999/work/deadbeef-9999'
the part it's trying to patch was changed recently so i think the patches need updating?
building the stable version still works so i'm using it for now
Should I report it upstream?
* USE: aac abi_x86_64 alac alsa amd64 cdda cover curl dts elibc_glibc flac gtk2 gtk3 hotkeys kernel_linux libnotify m3u mac mad midi mp3 musepack nls opus pulseaudio replaygain-scanner sndfile userland_GNU vorbis
* FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking deadbeef-1.8.0.tar.gz to /var/tmp/portage/media-sound/deadbeef-1.8.0/work
>>> Source unpacked in /var/tmp/portage/media-sound/deadbeef-1.8.0/work
>>> Preparing source in /var/tmp/portage/media-sound/deadbeef-1.8.0/work/deadbeef-1.8.0 ...
* Applying deadbeef-1.8.0-remove-unity-trash.patch ...
[ ok ]
* Updating all config.rpath files
* /var/tmp/portage/media-sound/deadbeef-1.8.0/work/deadbeef-1.8.0/config.rpath
* Running eautoreconf in '/var/tmp/portage/media-sound/deadbeef-1.8.0/work/deadbeef-1.8.0' ...
* Running intltoolize --automake --copy --force ...
[ ok ]
* Running libtoolize --install --copy --force --automake ...
[ ok ]
* Running aclocal -I m4 ...
[ ok ]
* Running autoconf --force ...
[ !! ]
* Failed Running autoconf !
*
* Include in your bugreport the contents of:
*
* /var/tmp/portage/media-sound/deadbeef-1.8.0/temp/autoconf.out
autoconf.out:
***** autoconf *****
***** PWD: /var/tmp/portage/media-sound/deadbeef-1.8.0/work/deadbeef-1.8.0
***** autoconf --force
ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported.
configure.ac:20: warning: AM_INTL_SUBDIR is m4_require'd but not m4_defun'd
aclocal.m4:77: AM_GNU_GETTEXT is expanded from...
configure.ac:20: the top level
configure:17701: error: possibly undefined macro: AM_INTL_SUBDIR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
'ReplayGain scanner plugin' is added with 1.8.0 release and present in current 9999/live builds.
it could be enabled/disabled through configure option 'rgscanner'.
it is good idea to add it as as a use flag to be able enabled/disable at users will.
I opened an issue upstream about this, with all informations you may want to know : DeaDBeeF-Player/deadbeef#1982
If you can reproduce on your end, can you please disable libmad via the ebuild for mpg123 instead?
Thank you
Is there a timestretching plugin to change playback speed?
Getting a checksum failure when downloading the source archive:
!!! Fetched file: deadbeef-1.8.0.tar.bz2 VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got: 4849778
!!! Expected: 4849549
deadbeef 1.8.0 ebuild runs use_if_iuse that does not exist.
Just curious, why is this an overlay and not part of the portage tree?
[..]
* USE: aac abi_x86_64 alsa amd64 cdda cover curl dts elibc_glibc flac gtk2 gtk3 hotkeys kernel_linux libnotify linguas_zh_CN linguas_zh_TW m3u mad mp3 nls pulseaudio sndfile userland_GNU vorbis
* FEATURES: preserve-libs sandbox splitdebug userpriv usersandbox
[..]
artwork.c: In function ‘get_default_cover’:
artwork.c:981:9: warning: ‘get_pixmap_dir’ is deprecated (declared at ../../deadbeef.h:580): since deadbeef API 1.8 [-Wdeprecated-declarations]
const char *pixmap_dir = deadbeef->get_pixmap_dir();
^
artwork.c: In function ‘web_lookups’:
artwork.c:1513:9: error: ‘artwork_enable_lfm’ undeclared (first use in this function)
if (artwork_enable_lfm) {
^
artwork.c:1513:9: note: each undeclared identifier is reported only once for each function it appears in
artwork.c:1522:9: error: ‘artwork_enable_mb’ undeclared (first use in this function)
if (artwork_enable_mb) {
^
artwork.c:1531:9: error: ‘artwork_enable_aao’ undeclared (first use in this function)
if (artwork_enable_aao) {
^
Makefile:612: recipe for target 'artwork.lo' failed
The dependencies installed normally, but deadbeef's ebuild isn't working on my laptop. The attached documents are the build.log and the info page for the attempted install.
* Package: media-plugins/deadbeef-archive-reader-20140219
* Repository: deadbeef-overlay
* USE: abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
* FEATURES: preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
* subversion switch start -->
* old repository: http://subversion.assembla.com/svn/deadbeef_vfs_archive_reader/trunk/src@16
* new repository: https://subversion.assembla.com/svn/deadbeef_vfs_archive_reader/trunk/src@16
svn: E155025: 'svn switch' does not support switching a working copy to a different repository
svn: E155025: 'http://subversion.assembla.com/svn/deadbeef_vfs_archive_reader/trunk/src'
is not the same repository as
'https://subversion.assembla.com/svn/deadbeef_vfs_archive_reader'
* ERROR: media-plugins/deadbeef-archive-reader-20140219::deadbeef-overlay failed (unpack phase):
* subversion: can't update /home/common/cache/gentoo/distfiles/svn-src/deadbeef-archive-reader/src from https://subversion.assembla.com/svn/deadbeef_vfs_archive_reader/trunk/src.
*
* Call stack:
* ebuild.sh, line 133: Called src_unpack
* environment, line 1983: Called subversion_src_unpack
* environment, line 2267: Called subversion_fetch
* environment, line 2213: Called die
* The specific snippet of code:
* ${ESVN_SWITCH_CMD} ${options} ${repo_uri} || die "${ESVN}: can't update ${wc_path} from ${repo_uri}.";
This used to compile fine, but it's aborting on the svn download atm. I'm not familiar enough with the subversion.eclass to know what's going wrong. Thoughts?
I have emerged deadbeef-1.8.0 with replaygain-scanner useflag enabled. When I right-click on a track and click "scan per-file track gain" the deadbeef log pops up with the message "ReplayGain plugin is not found".
Hello!
It looks like deadbeef-fb
has a new project page and repository:
https://gitlab.com/zykure/deadbeef-fb
There's all information. Development is active.
>>> Downloading 'https://gitorious.org/deadbeef-sm-plugins/bs2b/archive/a1961cd2f0686a7bdf0915f1fc7d62b5aba369bd.tar.gz'
--2015-02-23 16:27:26-- https://gitorious.org/deadbeef-sm-plugins/bs2b/archive/a1961cd2f0686a7bdf0915f1fc7d62b5aba369bd.tar.gz
Resolving gitorious.org... 87.238.52.168
Connecting to gitorious.org|87.238.52.168|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2516 (2.5K) [application/x-gzip]
Saving to: ‘/usr/portage/distfiles/deadbeef-bs2b-20110319.tar.gz’
0K .. 100% 424M=0s
2015-02-23 16:27:27 (424 MB/s) - ‘/usr/portage/distfiles/deadbeef-bs2b-20110319.tar.gz’ saved [2516/2516]
!!! Fetched file: deadbeef-bs2b-20110319.tar.gz VERIFY FAILED!
!!! Reason: Failed on SHA256 verification
!!! Got: 55527820d60998bc30474cf6cc213ef25a78aecd7c4e1b3662c9825e1ac27585
!!! Expected: d9639568b0a1b54f9f812995d331c4f1eb9bc0f40d000396dcf713abbc709614
Refetching... File renamed to '/usr/portage/distfiles/deadbeef-bs2b-20110319.tar.gz._checksum_failure_.1jUsS3'
!!! Couldn't download 'deadbeef-bs2b-20110319.tar.gz'. Aborting.
Also media-plugins/deadbeef-stereo-widener-20110319:
>>> Downloading 'https://gitorious.org/deadbeef-sm-plugins/stereo-widener/archive/d3990d772b02cdc6206f067748f5d1f9650616fb.tar.gz'
--2015-02-23 16:28:08-- https://gitorious.org/deadbeef-sm-plugins/stereo-widener/archive/d3990d772b02cdc6206f067748f5d1f9650616fb.tar.gz
Resolving gitorious.org... 87.238.52.168
Connecting to gitorious.org|87.238.52.168|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2653 (2.6K) [application/x-gzip]
Saving to: ‘/usr/portage/distfiles/deadbeef-stereo-widener-20110319.tar.gz’
0K .. 100% 389M=0s
2015-02-23 16:28:08 (389 MB/s) - ‘/usr/portage/distfiles/deadbeef-stereo-widener-20110319.tar.gz’ saved [2653/2653]
!!! Fetched file: deadbeef-stereo-widener-20110319.tar.gz VERIFY FAILED!
!!! Reason: Failed on SHA256 verification
!!! Got: d98cfec05118da3c9a188263da5e43d89c549a4a54c8cca43aab9f041f25450a
!!! Expected: af83c8c3de61e401317666b1b62d5df2c7916fd96cca47c895778b091b30f8d9
Refetching... File renamed to '/usr/portage/distfiles/deadbeef-stereo-widener-20110319.tar.gz._checksum_failure_.qIYr2m'
!!! Couldn't download 'deadbeef-stereo-widener-20110319.tar.gz'. Aborting.
This issue should go to deadbeef-soxr repo, but by mistake i made it in overlay's repo.
Reported there: silentlexx/deadbeef_soxr#4
Edit: fixed in upstream by silentlexx/deadbeef_soxr@103341b
P.S. sorry for somewhat uncertain issue name, now updated.
same here, I'm not certain wether that is a problem?
*
* /usr/share/applications/deadbeef.desktop: error: action "Next" is defined, but there is no matching "Desktop Action Next" group
* /usr/share/applications/deadbeef.desktop: error: action "Pause" is defined, but there is no matching "Desktop Action Pause" group
* /usr/share/applications/deadbeef.desktop: error: action "Play" is defined, but there is no matching "Desktop Action Play" group
* /usr/share/applications/deadbeef.desktop: error: action "Prev" is defined, but there is no matching "Desktop Action Prev" group
* /usr/share/applications/deadbeef.desktop: error: action "Stop" is defined, but there is no matching "Desktop Action Stop" group
*
I'm having a problem with the ffmpeg plugin. I've enabled the ffmpeg USE in media-sound/deadbeef and I see that --enable-ffmpeg is passed but I get ffmpeg: no - ffmpeg codecs
for the plugin summary and the plugin doesn't get build.
media-sound/deadbeef-0.7.2-r1::deadbeef-overlay was built with the following: USE="alsa cover ffmpeg flac gtk2 hotkeys mad mp3 sndfile vorbis -aac -adplug -alac -cdda -cdparanoia -converter -cover-imlib2 -cover-network -curl -dts -dumb -equalizer -gme -gtk3 -lastfm -libav -libnotify -libsamplerate -m3u -mac -midi -mms -mono2stereo -mpg123 -musepack -nls -nullout -oss -playlist-browser -psf -pulseaudio -sc68 -shell-exec -shn -sid -tta -unity -vtx -wavpack -wma -zip" ABI_X86="(64)" LINGUAS="-be -bg -bn -ca -cs -da -de -el -en_GB -es -et -eu -fa -fi -fr -gl -he -hr -hu -id -it -ja -kk -km -lg -lt -nl -pl -pt -pt_BR -ro -ru -si_LK -sk -sl -sr -sr@latin -sv -te -tr -ug -uk -vi -zh_CN -zh_TW
media-video/ffmpeg-3.3.3::gentoo was built with the following: USE="X alsa bzip2 encode gpl hardcoded-tables iconv libass mp3 network opengl openssl opus postproc threads truetype vdpau vorbis x264 xcb xvid zlib (-altivec) -amr -amrenc -bluray -bs2b -cdio -celt -chromaprint -cpudetection -debug -doc -fdk -flite -fontconfig -frei0r -fribidi -gcrypt -gme -gmp -gnutls -gsm -iec61883 -ieee1394 -jack -jpeg2k -kvazaar -ladspa -libcaca -libilbc -librtmp -libsoxr -libv4l -lzma (-mipsdspr1) (-mipsdspr2) (-mipsfpu) (-mmal) -modplug -nvenc -openal -openh264 -oss -pic -pulseaudio -rubberband -samba -schroedinger -sdl -snappy -sofalizer -speex -ssh -static-libs -test -theora -twolame -v4l -vaapi -vpx -wavpack -webp -x265 -zeromq -zimg -zvbi" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3 -3dnow -3dnowext -fma4 -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher"
Hello!
This is new plugin for deadbeef which provides high quality resampling with SoX:
https://github.com/silentlexx/deadbeef_soxr
It would be great to have it in this overlay.
Thanks!
It appears that deadbeef-1.8.0.tar.bz2 has been replaced with another one. Currently unless one have old tarball, the deadbeef-1.8.0 cannot be merged.
it is good idea to adapt new l10n use_expand as linguas use_expand is not there anymore and its support getting scarce.
opinions are welcome.
Since EAPI6 migration, all ebuilds are broken (one example among all others):
* ERROR: media-plugins/deadbeef-waveform-seekbar-0.5::deadbeef-overlay failed (prepare phase):
* eapply_user (or default) must be called in src_prepare()!
Moreover, for some ebuilds, the patch fails to apply because there is no more "-p*" gessing in patch application. For example:
>>> Emerging (1 of 1) media-plugins/deadbeef-fb-0.92_p20160216::deadbeef-overlay
* deadbeef-fb-0.92_p20160216.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking deadbeef-fb-0.92_p20160216.tar.gz to /var/tmp/portage/media-plugins/deadbeef-fb-0.92_p20160216/work
>>> Source unpacked in /var/tmp/portage/media-plugins/deadbeef-fb-0.92_p20160216/work
>>> Preparing source in /var/tmp/portage/media-plugins/deadbeef-fb-0.92_p20160216/work/deadbeef-fb-20160216-ee4f6b3e280c7e985b04d463decc0545387ae7db ...
* Applying deadbeef-fb-avoid-version.patch ...
The text leading up to this was:
--------------------------
|--- Makefile.am.org 2016-01-27 00:45:52.979845368 +0700
|+++ Makefile.am 2016-01-27 00:46:07.159845166 +0700
--------------------------
No file to patch. Skipping patch.
1 out of 1 hunk ignored [ !! ]
* ERROR: media-plugins/deadbeef-fb-0.92_p20160216::deadbeef-overlay failed (prepare phase):
* patch -p1 failed with /var/tmp/portage/media-plugins/deadbeef-fb-0.92_p20160216/files/deadbeef-fb-avoid-version.patch
In such case, modifying the patch like this is fine, or adding patch level to the eapply call
# diff -u deadbeef-fb-avoid-version.patch.old deadbeef-fb-avoid-version.patch
--- deadbeef-fb-avoid-version.patch.old 2017-12-02 15:11:53.631650539 +0100
+++ deadbeef-fb-avoid-version.patch 2017-12-02 15:12:03.400666236 +0100
@@ -1,5 +1,5 @@
---- Makefile.am.org 2016-01-27 00:45:52.979845368 +0700
-+++ Makefile.am 2016-01-27 00:46:07.159845166 +0700
+--- a/Makefile.am.org 2016-01-27 00:45:52.979845368 +0700
++++ b/Makefile.am 2016-01-27 00:46:07.159845166 +0700
@@ -46,13 +46,13 @@
if HAVE_GTK2
See: https://blogs.gentoo.org/mgorny/2015/11/13/the-ultimate-guide-to-eapi-6/, at section eapply, eapply_user and src_prepare()
Thanks !
There are file collisions when emerging deadbeef-1.8.0 due to deadbeef-opus.
My first think was to block deadbeef-soxr and/or deadbeef-meta-plugins[soxr] in deadbeef-1.8.0 or later ebuilds,
but another approach could be to block >=deadbeef-1.8.0 in deadbeef-soxr (or even >=deadbeef-1.0, just from my wild guess). Second approach seems simpler, because when deadbeef-soxr is deprecated (after removal of all <deadbeef-1.0), no cleanups are needed after package removal.
not sure why this fails, and if it is related to the problems I experience?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.