Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

add smasher and csound. smasher is an audio loop slicer; could be rea…

…lly useful for the monome stuff i'm doing.
  • Loading branch information...
commit 6d96e72df49ac4b1fa64763f77fa46e3c538ef51 1 parent f7a114c
@nightmorph authored
View
12 media-sound/csound/Manifest
@@ -0,0 +1,12 @@
+AUX install-stk-cvs.patch 1549 RMD160 40fa9101beb537192ab29a8972b6b561a5f6e3c3 SHA1 27d07b99d6cf42abb534fe7c6d409e738eaec9e6 SHA256 a68eb235922109f728b11ba6ceee126508a02fc0bf3b42e9e1317c6d383ada2d
+AUX install-stk.patch 1457 RMD160 edb7e42a0ae29e7722b342bc05ce6ead6abad004 SHA1 25b2841f8c587ebec28575724c3200f3ea568865 SHA256 3b513d5f249e4759fac621ed97589d05ff56382372c1cde96ff30cb61a695db2
+AUX javaVM-cvs.patch 1123 RMD160 f52360443f29cec9ffd12271314c3f0be2544609 SHA1 499f32cc8d22573bc879230b91457331ec0c2a78 SHA256 7af0def0bfda8ebc4238cd8104650d0e54d11c502cc39ce55a6e2c60d8e4bd3f
+AUX javaVM.patch 1133 RMD160 c66ad3b4119dcf956c1256045b057d8118baa94e SHA1 7da1ce2a91da9a623c4e0c71508afab2fa32da7b SHA256 d0c65e81397b0ff76d45d94b2695de713cbab0d210ce6312d86c62779c253577
+AUX libmusicxml-cvs.patch 382 RMD160 b07c313648e9adbd56a34cb8e47f2f372eceba88 SHA1 3b45a863b8f7f9b685a72be393ea81b3fcfa82f2 SHA256 9b682b8886a02d476863a4fb726552c7b8fe55e88729769333b749b4d6c092ec
+AUX libmusicxml.patch 391 RMD160 3a6f700ed241f055ad37300012df35d92c848939 SHA1 9cffe53f19aab21ded69eefa13dfefa343f0da80 SHA256 a909e49b535accd2e2d1bfbe9ecb73454d9b59cd165e87c6bba9e10e65c4ab65
+AUX use-double.patch 284 RMD160 34721af09f309f3fa306b139ab0239b52af28eba SHA1 e45568aaff81517c912e0f31297021f2372cf4b5 SHA256 979e5b54cee2bafec40bead121a777681427172844682082e8930a9045925d15
+DIST Csound5.13.0.tar.gz 9813643 RMD160 0e884024c6b25a045f5bc7621cc6f67ee7992a30 SHA1 d9f318d306267985c87767595be493d2adb7021e SHA256 0552b5de4641bf95069422ed7c45b4aa613938c2fc643788be770dc82b213305
+DIST Csound5.13_manual_html.zip 8411633 RMD160 f7c137c82f950d3c0e1341fd2264d36d5562bd92 SHA1 0ebbf44d4f165ff7cb8edb4d8a7ba2a0dc9667fd SHA256 4b040b03afb10215d22eb5deea482c5349aafc3d814c29322f137b28c6b1ed04
+DIST stk-4.4.2.tar.gz 2056848 RMD160 7226186bea51f59a0a08ef51dc366cf41a6fc39b SHA1 f610edc8c1367a96a78314d4113b105369ea5fa7 SHA256 8bef3ab3de10dc587afac47aa7710f3579bd39d6aaf2f155305ad94f81e3c17a
+EBUILD csound-5.13.0.ebuild 6203 RMD160 255489727127b026e48abc4f27dcaed04f88b264 SHA1 53a3332ab5a8eefdd8a58788bb06656867e3e9f3 SHA256 79daf34a97599f5531fce72a6bd78b06f6b8c31b902ed72db41683cd8cd48979
+MISC metadata.xml 256 RMD160 93a023ad33596f5f24e0b514b1f44d540235c447 SHA1 2cbf0082fc90bbb7f9b728179a145bfe828a8a3c SHA256 7c354c845046ba2be57d74402d88404708b08158a150eec44a917bf2f0b7601a
View
209 media-sound/csound/csound-5.13.0.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+PYTHON_DEPEND="2"
+EAPI=2
+
+inherit python eutils toolchain-funcs
+
+MY_P=${P/csound-/Csound}
+DOC_VERSION="5.13"
+STK_VERSION="4.4.2"
+
+DESCRIPTION="A sound design, music synthesis and signal processing system"
+HOMEPAGE="http://csound.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}5/${PN}${DOC_VERSION}/${MY_P}.tar.gz
+doc? ( mirror://sourceforge/${PN}/${PN}5/${PN}${DOC_VERSION}/manual/Csound${DOC_VERSION}_manual_html.zip )
+stk? ( http://ccrma.stanford.edu/software/stk/release/stk-${STK_VERSION}.tar.gz )"
+# Vst support is currently broken; I'll look into it later
+#vst? ( vstsdk2_4_rev1.zip )
+#vst-host? ( vstsdk2_4_rev1.zip )"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa beats csoundac doc +double-precision dssi editor examples fluidsynth gui jack java lua mp3 musicxml newparser osc p5glove pd +python stk tcl wiimote"
+
+RDEPEND=">=media-libs/libsndfile-1.0.13
+ alsa? ( media-libs/alsa-lib )
+ csoundac? ( x11-libs/fltk:1.1[threads]
+ dev-libs/boost
+ dev-lang/swig )
+ dssi? ( media-libs/dssi
+ media-libs/ladspa-sdk )
+ editor? ( x11-libs/fltk:1.1[threads] )
+ fluidsynth? ( media-sound/fluidsynth )
+ gui? ( x11-libs/fltk:1.1[threads] )
+ jack? ( media-sound/jack-audio-connection-kit )
+ java? ( || ( virtual/jre virtual/jdk ) )
+ lua? ( dev-lang/lua )
+ mp3? ( media-sound/mpadec )
+ musicxml? ( media-libs/libmusicxml:2 )
+ osc? ( media-libs/liblo )
+ p5glove? ( media-libs/libp5glove )
+ stk? ( =media-libs/stk-${STK_VERSION} )
+ tcl? ( >=dev-lang/tcl-8.5
+ >=dev-lang/tk-8.5 )
+ wiimote? ( media-libs/wiiuse )"
+# pd? ( virtual/pd )
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ dev-util/scons
+ app-arch/unzip"
+
+S="${WORKDIR}/${MY_P}"
+RESTRICT="mirror"
+
+pkg_setup() {
+ python_set_active_version 2
+
+# if use pd; then
+# ewarn "You have enabled pd (PureData) use-flag."
+# ewarn "Please abort the build with CTRL-C, and install"
+# ewarn "\"pd-overlay\" with layman ...unless you have done"
+# ewarn "it already."
+# ewarn
+# epause 5
+# fi
+
+# if use vst; then
+# if ! use csoundac || ! use gui; then
+# eerror "Please set USE=\"csoundac gui\" with vst use-flag!"
+# die
+# fi
+# fi
+}
+
+src_prepare() {
+ epatch ${FILESDIR}/install-stk-cvs.patch
+ epatch ${FILESDIR}/javaVM-cvs.patch
+ epatch ${FILESDIR}/libmusicxml-cvs.patch
+ if use double-precision; then
+ epatch ${FILESDIR}/use-double.patch
+ fi
+
+ if use stk; then
+ ebegin "Copying Perry Cook's Synthesis ToolKit to the tree"
+ cp -r ${WORKDIR}/stk-${STK_VERSION}/* ${S}/Opcodes/stk/
+ eend
+ fi
+
+# if use vst || use vst-host; then
+# ebegin "Copying Steinberg's VST SDK to the tree"
+# cp -r ${WORKDIR}/vstsdk2.4 ${S}/frontends/CsoundVST/
+# eend
+# fi
+}
+
+src_compile() {
+ local sconsconf="prefix=/usr \
+ buildRelease=1 \
+ pythonVersion=$(python_get_version) \
+ dynamicCsoundLibrary=1 \
+ tclversion=8.5 \
+ usePortAudio=0 \
+ usePortMIDI=0 \
+ useCoreAudio=0 \
+ buildUtilities=1 \
+ buildInterfaces=1"
+ if use amd64; then
+ sconsconf="${sconsconf} Word64=1 Lib64=1"
+ fi
+ ! use alsa; sconsconf="${sconsconf} useALSA=$?"
+ ! use beats; sconsconf="${sconsconf} buildBeats=$?"
+ ! use csoundac; sconsconf="${sconsconf} buildCsoundAC=$?"
+ # Totally broken
+ #! use doc; sconsconf="${sconsconf} generatePdf=$?"
+ ! use double-precision; sconsconf="${sconsconf} useDouble=$?"
+ ! use dssi; sconsconf="${sconsconf} buildDSSI=$?"
+ ! use editor; sconsconf="${sconsconf} useFLTK=$? buildCSEditor=$?"
+ ! use gui; sconsconf="${sconsconf} useFLTK=$? buildCsound5GUI=$? buildVirtual=$?"
+ ! use jack; sconsconf="${sconsconf} useJack=$?"
+ ! use java; sconsconf="${sconsconf} buildJavaWrapper=$?"
+ # Handled by the media-libs/loris package
+ #! use loris; sconsconf="${sconsconf} buildLoris=$?"
+ ! use lua; sconsconf="${sconsconf} buildLuaWrapper=$?"
+ ! use mp3; sconsconf="${sconsconf} includeMP3=$?"
+ ! use newparser; sconsconf="${sconsconf} buildNewParser=$?"
+ ! use osc; sconsconf="${sconsconf} useOSC=$?"
+ ! use p5glove; sconsconf="${sconsconf} includeP5Glove=$?"
+ #! use pd; sconsconf="${sconsconf} buildPDClass=$?"
+ ! use python; sconsconf="${sconsconf} buildPythonOpcodes=$? buildPythonWrapper=$?"
+ ! use stk; sconsconf="${sconsconf} buildStkOpcodes=$?"
+ ! use tcl; sconsconf="${sconsconf} buildTclcsound=$?"
+ #! use vst; sconsconf="${sconsconf} buildCsoundVST=$?"
+ #! use vst-host; sconsconf="${sconsconf} buildvst4cs=$?"
+ ! use wiimote; sconsconf="${sconsconf} includeWii=$?"
+
+ einfo "Building Csound with the following configuration options:"
+ einfo ${sconsconf}
+ epause 3
+
+ # Sandbox violations
+ addpredict "/usr/include"
+ addpredict "/usr/lib"
+ addpredict "/etc/ld.so.cache"
+
+ scons CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ customCCFLAGS="$CFLAGS -fno-strict-aliasing" \
+ customCXXFLAGS="$CXXFLAGS -fno-strict-aliasing" \
+ ${sconsconf} || die "Scons failed!"
+}
+
+src_install() {
+ if use amd64; then
+ ./install.py --prefix="/usr" --instdir="${D}" --word64
+ else
+ ./install.py --prefix="/usr" --instdir="${D}"
+ fi
+ # Post-installation fixes (probably should patch install.py instead, but...)
+ rm -rf ${D}/usr/*.md5sums
+ rm -rf ${D}/usr/share/doc/csound
+ rm -rf ${D}/usr/bin/uninstall-csound5
+
+ if use csoundac; then
+ insinto $(python_get_sitedir)
+ doins CsoundAC.py
+ insopts -m0755
+ doins _CsoundAC.so
+ if use lua; then
+ insinto /usr/$(get_libdir)/csound/lua
+ doins luaCsoundAC.so
+ fi
+ insopts -m0644
+ fi
+ if use lua; then
+ insinto /usr/$(get_libdir)/csound/lua
+ insopts -m0755
+ doins luaCsnd.so
+ insopts -m0644
+ fi
+
+ if use double-precision; then
+ echo "OPCODEDIR64=/usr/$(get_libdir)/csound/plugins64" > 61csound5
+ else
+ echo "OPCODEDIR=/usr/$(get_libdir)/csound/plugins" > 61csound5
+ fi
+ echo "CSSTRNGS=/usr/share/locale" >> 61csound5
+ doenvd 61csound5
+
+ dodoc AUTHORS ChangeLog
+ newdoc Loadable_Opcodes.txt Loadable_Opcodes
+ newdoc readme-csound5.txt README.Csound5
+ newdoc readme-csound5-complete.txt README.Csound5-VST
+ if use doc; then
+ dohtml -r ${WORKDIR}/html/*
+ fi
+ if use examples; then
+ insinto /usr/share/doc/${PR}
+ doins -r examples
+ fi
+}
+
+pkg_postinst() {
+ elog "If you are interested in 'Loris Opcodes for Csound',"
+ elog "please install media-libs/loris with USE=\"csound\"."
+}
View
38 media-sound/csound/files/install-stk-cvs.patch
@@ -0,0 +1,38 @@
+--- csound5.orig/install.py 2010-11-26 17:54:47.000000000 +0200
++++ csound5/install.py 2010-11-26 18:04:53.000000000 +0200
+@@ -14,7 +14,7 @@
+ 'H/csound.hpp', 'H/csoundCore.h', 'H/cwindow.h',
+ 'H/msg_attr.h', 'H/OpcodeBase.hpp', 'H/pstream.h',
+ 'H/pvfileio.h', 'H/soundio.h', 'H/sysdep.h', 'H/text.h',
+- 'H/version.h', 'H/float-version-double.h', 'H/float-version.h',
++ 'H/version.h', 'H/float-version.h',
+ 'interfaces/CppSound.hpp', 'interfaces/filebuilding.h',
+ 'interfaces/CsoundFile.hpp', 'interfaces/csPerfThread.hpp']
+
+@@ -116,7 +116,7 @@
+ # LISP interface
+ lispDir = concatPath([libDir, '/csound/lisp'])
+ # STK raw wave files
+-rawWaveDir = concatPath([prefix, '/share/csound/rawwaves'])
++rawWaveDir = concatPath([prefix, '/share/stk/rawwaves'])
+
+ # csnd.py
+ pythonDir = '/usr/lib%s/python%s/site-packages' % (word64Suffix, pyVersion)
+@@ -363,17 +363,6 @@
+ err = installXFile('', 'matrix.tk', binDir)
+ installErrors = installErrors or err
+
+-# copy STK raw wave files
+-
+-if '%s/libstk.so' % pluginDir in fileList:
+- print ' === Installing STK raw wave files ==='
+- rawWaveFiles = []
+- for fName in os.listdir('./Opcodes/stk/rawwaves'):
+- if re.match('^.*\.raw$', fName) != None:
+- rawWaveFiles += ['./Opcodes/stk/rawwaves/' + fName]
+- err = installFiles(rawWaveFiles, rawWaveDir)
+- installErrors = installErrors or err
+-
+ # copy PD object
+ pdDir = '/usr/local/lib' + word64Suffix + '/pd/extra'
+ try:
View
38 media-sound/csound/files/install-stk.patch
@@ -0,0 +1,38 @@
+--- Csound5.12.1.orig/install.py 2009-10-05 09:30:30.000000000 +0300
++++ Csound5.12.1/install.py 2010-09-09 19:07:25.000000000 +0300
+@@ -116,7 +116,7 @@
+ # LISP interface
+ lispDir = concatPath([libDir, '/csound/lisp'])
+ # STK raw wave files
+-rawWaveDir = concatPath([prefix, '/share/csound/rawwaves'])
++rawWaveDir = concatPath([prefix, '/share/stk/rawwaves'])
+
+ # csnd.py
+ pythonDir = '/usr/lib%s/python%s/site-packages' % (word64Suffix, pyVersion)
+@@ -335,7 +335,7 @@
+ for i in xmgList:
+ makeDir(concatPath([xmgDir, i, 'LC_MESSAGES']))
+ src = 'po/' + i + '/LC_MESSAGES/csound5.mo'
+- fileName = concatPath([xmgDir, i, 'LC_MESSAGES/csound5.mo'])
++ fileName = concatPath([instDir,xmgDir, i, 'LC_MESSAGES/csound5.mo'])
+ err = runCmd(['install', '-p', '-m', '0644', src, fileName])
+ if err == 0:
+ addMD5(fileName, fileName)
+@@ -363,17 +363,6 @@
+ err = installXFile('', 'matrix.tk', binDir)
+ installErrors = installErrors or err
+
+-# copy STK raw wave files
+-
+-if '%s/libstk.so' % pluginDir in fileList:
+- print ' === Installing STK raw wave files ==='
+- rawWaveFiles = []
+- for fName in os.listdir('./Opcodes/stk/rawwaves'):
+- if re.match('^.*\.raw$', fName) != None:
+- rawWaveFiles += ['./Opcodes/stk/rawwaves/' + fName]
+- err = installFiles(rawWaveFiles, rawWaveDir)
+- installErrors = installErrors or err
+-
+ # copy PD object
+ pdDir = '/usr/local/lib' + word64Suffix + '/pd/extra'
+ try:
View
22 media-sound/csound/files/javaVM-cvs.patch
@@ -0,0 +1,22 @@
+--- csound5.orig/SConstruct 2010-10-29 04:05:40.000000000 +0300
++++ csound5/SConstruct 2010-11-24 23:11:10.000000000 +0200
+@@ -829,15 +829,10 @@
+ if getPlatform() == 'linux' and not javaFound:
+ if commonEnvironment['buildInterfaces'] != '0':
+ if commonEnvironment['buildJavaWrapper'] != '0':
+- baseDir = '/usr/lib'
+- if commonEnvironment['Lib64'] == '1':
+- baseDir += '64'
+- for i in ['java', 'jvm/java', 'jvm/java-1.5.0']:
+- javaIncludePath = '%s/%s/include' % (baseDir, i)
+- tmp = '%s/linux/jni_md.h' % javaIncludePath
+- if configure.CheckHeader(tmp, language = "C++"):
+- javaFound = 1
+- break
++ javaIncludePath = '/etc/java-config-2/current-system-vm/include'
++ tmp = '%s/linux/jni_md.h' % javaIncludePath
++ if configure.CheckHeader(tmp, language = "C++"):
++ javaFound = 1
+ if javaFound:
+ commonEnvironment.Append(CPPPATH = [javaIncludePath])
+ commonEnvironment.Append(CPPPATH = [javaIncludePath + '/linux'])
View
22 media-sound/csound/files/javaVM.patch
@@ -0,0 +1,22 @@
+--- Csound5.12.1.orig/SConstruct 2010-01-16 01:27:37.000000000 +0200
++++ Csound5.12.1/SConstruct 2010-09-14 22:06:36.000000000 +0300
+@@ -798,15 +798,10 @@
+ if getPlatform() == 'linux' and not javaFound:
+ if commonEnvironment['buildInterfaces'] != '0':
+ if commonEnvironment['buildJavaWrapper'] != '0':
+- baseDir = '/usr/lib'
+- if commonEnvironment['Lib64'] == '1':
+- baseDir += '64'
+- for i in ['java', 'jvm/java', 'jvm/java-1.5.0']:
+- javaIncludePath = '%s/%s/include' % (baseDir, i)
+- tmp = '%s/linux/jni_md.h' % javaIncludePath
+- if configure.CheckHeader(tmp, language = "C++"):
+- javaFound = 1
+- break
++ javaIncludePath = '/etc/java-config-2/current-system-vm/include'
++ tmp = '%s/linux/jni_md.h' % javaIncludePath
++ if configure.CheckHeader(tmp, language = "C++"):
++ javaFound = 1
+ if javaFound:
+ commonEnvironment.Append(CPPPATH = [javaIncludePath])
+ commonEnvironment.Append(CPPPATH = [javaIncludePath + '/linux'])
View
10 media-sound/csound/files/libmusicxml-cvs.patch
@@ -0,0 +1,10 @@
+--- csound5.orig/custom.py 2008-12-17 17:15:21.000000000 +0200
++++ csound5/custom.py 2010-11-24 23:13:01.000000000 +0200
+@@ -17,6 +17,7 @@
+
+ if sys.platform[:5] == 'linux':
+ platform = 'linux'
++ customCPPPATH.append('/usr/include/libmusicxml')
+ customCPPPATH.append('/usr/include/fltk-1.1')
+ customLIBPATH.append('/usr/lib/fltk-1.1')
+ elif sys.platform == 'darwin':
View
10 media-sound/csound/files/libmusicxml.patch
@@ -0,0 +1,10 @@
+--- Csound5.12.1.orig/custom.py 2008-12-17 17:15:21.000000000 +0200
++++ Csound5.12.1/custom.py 2010-09-14 22:33:01.000000000 +0300
+@@ -17,6 +17,7 @@
+
+ if sys.platform[:5] == 'linux':
+ platform = 'linux'
++ customCPPPATH.append('/usr/include/libmusicxml')
+ customCPPPATH.append('/usr/include/fltk-1.1')
+ customLIBPATH.append('/usr/lib/fltk-1.1')
+ elif sys.platform == 'darwin':
View
11 media-sound/csound/files/use-double.patch
@@ -0,0 +1,11 @@
+--- csound5.orig/H/float-version.h 2010-07-29 12:05:15.000000000 +0300
++++ csound5/H/float-version.h 2010-11-26 18:07:49.000000000 +0200
+@@ -23,8 +23,6 @@
+
+ /* uncomment the line below for double-precision installed headers */
+
+-/*
+ #ifndef USE_DOUBLE
+ #define USE_DOUBLE
+ #endif
+-*/
View
9 media-sound/csound/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>no-herd</herd>
+<maintainer>
+ <email>nightmorph@gentoo.org</email>
+ <name>Joshua Saddler</name>
+</maintainer>
+</pkgmetadata>
View
3  media-sound/smasher/Manifest
@@ -0,0 +1,3 @@
+DIST smasher-1.1.7.tar.gz 4970134 RMD160 52630646b4767c8b57883eb518fa3022a3b355b0 SHA1 c584b004a37fd60956e31531757c3b484f08fe96 SHA256 c14a2ca522147f4febf99ac3c28606c5a2b8bec3e76452cb5b3378ffc7b75372
+EBUILD smasher-1.1.7.ebuild 564 RMD160 c972fd89cb8035422152372054ca9cb8804b426c SHA1 557ffa1105defe40962d751fd8b6825b51c1d167 SHA256 04942889005ddd60bd45f917bdf15199ca177138a996d12de2052916a18358cf
+MISC metadata.xml 256 RMD160 93a023ad33596f5f24e0b514b1f44d540235c447 SHA1 2cbf0082fc90bbb7f9b728179a145bfe828a8a3c SHA256 7c354c845046ba2be57d74402d88404708b08158a150eec44a917bf2f0b7601a
View
9 media-sound/smasher/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>no-herd</herd>
+<maintainer>
+ <email>nightmorph@gentoo.org</email>
+ <name>Joshua Saddler</name>
+</maintainer>
+</pkgmetadata>
View
27 media-sound/smasher/smasher-1.1.7.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+WX_GTK_VER="2.8"
+EAPI=2
+inherit wxwidgets
+
+DESCRIPTION="Audio loop slicer"
+HOMEPAGE="http://smasher.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="media-libs/libmad
+ media-libs/libsndfile
+ media-sound/csound[double-precision]
+ x11-libs/wxGTK:2.8[gstreamer]"
+
+
+src_install() {
+ emake DESTDIR=${D} install || die "make install failed"
+ dodoc AUTHORS README
+}
Please sign in to comment.
Something went wrong with that request. Please try again.