summaryrefslogtreecommitdiff
path: root/media-sound/chuck
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/chuck')
-rw-r--r--media-sound/chuck/Manifest2
-rw-r--r--media-sound/chuck/chuck-1.5.5.0.ebuild70
2 files changed, 72 insertions, 0 deletions
diff --git a/media-sound/chuck/Manifest b/media-sound/chuck/Manifest
index 6731d14f920b..4543b3f52c0e 100644
--- a/media-sound/chuck/Manifest
+++ b/media-sound/chuck/Manifest
@@ -1,5 +1,7 @@
AUX chuck-1.4.0.0-hid-smc.patch 2887 BLAKE2B e02129a2f3e550fa383a691a3e55870d152c89386703e01d134ef345efadadcccf190d07b191f096995b9df2f27e85ccc3e26cb7e73052432c44e43bf82c8d5a SHA512 fb15c2c5e0cfe1e8326c71fe11a72bd3d04996890e7a466111d0360e6f8050408c7ba61f23ab57ae8d3d21fa009ac3afbba002b63819c321d6a55e83e000fe0a
AUX chuck-1.5.3.2-makefile.patch 567 BLAKE2B e860079107526b090d592fadf0652dd26b29139cb081eaf43071544ac6f23cde2ddc50db59b57370b09aad19fc595b12b75341908716a0faf13ebedf0c437da0 SHA512 363dce64af8dded1115473d5268f69a0a4a391a0825a1f0811d8f490ec6181118b6f34af5934ffcd02a5ac9459faee1aef3ff4a2e06b0291bae473173dba99cf
DIST chuck-1.5.4.4.tgz 22334080 BLAKE2B 84d3a9e11205c95695fc2b1e9af9fccb31d9a7f2dd6f4184c8bd3b9425cbdb05dac36d477cb6aeb6e757299dc972e2daff5b18d7f5fd748d3c31e04974dd70b9 SHA512 725bea6ee81443e0d65eac80746d2600bf5ab0db2495e8eb376851f46da413ad954106fb9da15b440250da335f0ae63f624945e338a9b2136c110ea876464a05
+DIST chuck-1.5.5.0.tgz 22341830 BLAKE2B 0f0a374b67eef1a44b2371a03e27185d53483d2ca0ef98b1eba0c353b013a8127fc2ef568fcb4eb1de15712d6768f9c77e318bd8ef5c7636093a3b172aeabf21 SHA512 1c5b0f9bfd7168d4905abd1c256d6a95b8dfbdce009f65e48f571349b22e76ef01e60bf6a5c3dcbd0287a80089fde072cd05cd626f21db6a2a3a458be516c945
EBUILD chuck-1.5.4.4.ebuild 1853 BLAKE2B b1c3a836784f5687f4c8ead44d81204d0c08171002644808a1edb552fab924796a4ce724be3aac65592b0020a5e0f66c15ed8e304d699b6733e49c077dbd5eac SHA512 bdecc4b06605d6d81a6f387a068838b7c4d53a04f86ad2bb516f234647b1810298f33cc66c9cd2f6b9f06fb8436372e40597a5d3818002fe43fcaae2a1fdc230
+EBUILD chuck-1.5.5.0.ebuild 1855 BLAKE2B dda2480139872fa9fe9bc979ac0885b4503bfd382029b59af69fe44c546267232b50153676227e74b9c0ca7369f66779cd87077eaefca51c6d3b5251f9c79c5d SHA512 1124a9aa10930eccc34eae614e28ab7d90f2f431330e5482a392f0bc0bddb9c46d5901d820d6451cd73b8f9bd437edd1b24e22729db7d030b75136d9389b34d9
MISC metadata.xml 968 BLAKE2B 5f7c72834133fedc3ffb54f563dc80552668484628029f8d205444cd69f89f91081ed6a71aae4d542dae09bcfc729ad88c6701df450313275e6d1c1f522fd7a6 SHA512 c548e0d3c701497e696626f46c010aea9a90bb1b52bd5f2e1ebe0f4189b171dc21c0848b90a6a23cc44ae2ba5e98d8671529fe6b14c957ad73202191c2915c0f
diff --git a/media-sound/chuck/chuck-1.5.5.0.ebuild b/media-sound/chuck/chuck-1.5.5.0.ebuild
new file mode 100644
index 000000000000..cf941b17862c
--- /dev/null
+++ b/media-sound/chuck/chuck-1.5.5.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Strongly-timed, concurrent, and on-the-fly audio programming language"
+HOMEPAGE="http://chuck.cs.princeton.edu/"
+SRC_URI="http://chuck.cs.princeton.edu/release/files/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa jack examples"
+REQUIRED_USE="|| ( alsa jack )"
+
+RDEPEND="app-eselect/eselect-chuck
+ media-libs/libsndfile
+ alsa? ( media-libs/alsa-lib )
+ jack? ( virtual/jack )"
+DEPEND="${RDEPEND}
+ app-alternatives/yacc
+ app-alternatives/lex"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.0.0-hid-smc.patch
+ "${FILESDIR}"/${PN}-1.5.3.2-makefile.patch
+)
+
+compile_backend() {
+ backend=$1
+ pushd "${S}/src" &>/dev/null || die
+ einfo "Compiling against ${backend}"
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getCXX)" linux-${backend}
+ mv chuck{,-${backend}} || die
+ emake clean
+ popd &>/dev/null || die
+}
+
+src_compile() {
+ # when compile with athlon or athlon-xp flags
+ # chuck crashes on removing a shred with a double free or corruption
+ # it happens in Chuck_VM_Stack::shutdown() on the line
+ # SAFE_DELETE_ARRAY( stack );
+ replace-cpu-flags athlon athlon-xp i686
+
+ use jack && compile_backend jack
+ use alsa && compile_backend alsa
+}
+
+src_install() {
+ use jack && dobin src/chuck-jack
+ use alsa && dobin src/chuck-alsa
+
+ dodoc AUTHORS DEVELOPERS QUICKSTART README.md THANKS VERSIONS
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "Chuck now can use multiple audio engines, so you can specify"
+ elog "the preferred audio engine with chuck-{jack,alsa}"
+ elog "Or you can use 'eselect chuck' to set the audio engine"
+ fi
+ eselect chuck update --if-unset
+}