SHA256
1
0
forked from pool/csound

Accepting request 1190483 from home:msmeissn:branches:multimedia:apps

- csound-gcc14.patch: fixed gcc14 build issues

OBS-URL: https://build.opensuse.org/request/show/1190483
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/csound?expand=0&rev=60
This commit is contained in:
Takashi Iwai 2024-07-31 15:51:29 +00:00 committed by Git OBS Bridge
commit dee69d0a07
12 changed files with 956 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

133
COPYING_gpl2+.txt Normal file
View File

@ -0,0 +1,133 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does.
Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'. This is free software, and you are welcome
to redistribute it under certain conditions; type `show c'
for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written
by James Hacker.
signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

22
README.SUSE Normal file
View File

@ -0,0 +1,22 @@
Plugin Directories
==================
The plugin binaries are installed under /usr/lib/csound/plugins
(/usr/lib64/csound/plugins in x86_64). Please set the environment variable
"OPCODEDIR" to this direcrory before starting csound.
in bash style,
export OPCODEDIR=/usr/lib/csound/plugins
in tcsh style,
setenv OPCODEDIR /usr/lib/csound/plugins
Also, set CSSTRINGS variable such as
export CSSTRINGS=/usr/share/csound/xmg
Binary Renaming
===============
sndinfo is renamed to csndinfo in this package due to the name
confliction with snd package.
Simiarly, extract was renamed to csound-extract.

View File

@ -0,0 +1,13 @@
Index: csound-6.14.0/Top/csound.c
===================================================================
--- csound-6.14.0.orig/Top/csound.c 2020-06-02 11:58:24.594002125 +0200
+++ csound-6.14.0/Top/csound.c 2020-06-02 12:02:34.339852882 +0200
@@ -3456,7 +3456,7 @@ PUBLIC void csoundReset(CSOUND *csound)
#ifdef __HAIKU__
strcpy(s, "haiku");
#else
- strcpy(s, "PortAudio");
+ strcpy(s, "pulse");
#endif
#else
strcpy(s, "alsa");

View File

@ -0,0 +1,22 @@
Index: csound-6.12.2/installer/misc/vim/cshelp
===================================================================
--- csound-6.12.2.orig/installer/misc/vim/cshelp 2018-11-07 16:05:23.000000000 +0200
+++ csound-6.12.2/installer/misc/vim/cshelp 2019-04-05 15:32:23.670308342 +0200
@@ -3,7 +3,9 @@
BROWSER_CMD=""
if [ "${DISPLAY}" != "" ] ; then
- if ( which links | grep -q -G -e "^/usr" ) ; then
+ if ( which xdg-open | grep -E -e "^(/usr)?/bin" ); then
+ BROWSER_CMD="xdg-open" ;
+ elif ( which links | grep -q -G -e "^/usr" ) ; then
BROWSER_CMD="links -g" ;
elif ( which konqueror | grep -q -G -e "^/opt" ) ; then
BROWSER_CMD="konqueror" ;
@@ -38,5 +40,5 @@ else
OPNAME="${1}" ;
fi
-exec ${BROWSER_CMD} "/usr/local/share/doc/csound/manual/${OPNAME}.html"
+exec ${BROWSER_CMD} "/usr/share/doc/csound-manual/${OPNAME}.html"

3
csound-6.18.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b84be8237fa9258ef60fdddf36fae27b20c11665811bf5ed12540da9a9a4414e
size 31925161

31
csound-gcc14.patch Normal file
View File

@ -0,0 +1,31 @@
Index: csound-6.18.1/Opcodes/OSC.c
===================================================================
--- csound-6.18.1.orig/Opcodes/OSC.c
+++ csound-6.18.1/Opcodes/OSC.c
@@ -548,7 +548,7 @@ static int32_t OSC_handler(const char *p
case 'b':
{
int32_t len =
- lo_blobsize((lo_blob*)argv[i]);
+ lo_blobsize((lo_blob)argv[i]);
m->args[i].blob =
csound->Malloc(csound,len);
memcpy(m->args[i].blob, argv[i], len);
@@ -787,7 +787,7 @@ static int32_t OSC_list_init(CSOUND *cso
csound->UnlockMutex(p->port->mutex_);
p->c.method = lo_server_thread_add_method(p->port->thread,
p->c.saved_path, p->c.saved_types,
- OSC_handler, p->port);
+ (lo_method_handler)OSC_handler, p->port);
csound->RegisterDeinitCallback(csound, p,
(int32_t (*)(CSOUND *, void *)) OSC_listdeinit);
return OK;
@@ -1067,7 +1067,7 @@ static int32_t OSC_alist_init(CSOUND *cs
csound->UnlockMutex(p->port->mutex_);
p->c.method = lo_server_thread_add_method(p->port->thread,
p->c.saved_path, p->c.saved_types,
- OSC_ahandler, p->port);
+ (lo_method_handler)OSC_ahandler, p->port);
csound->RegisterDeinitCallback(csound, p,
(int32_t (*)(CSOUND *, void *)) OSC_listadeinit);
return OK;

View File

@ -0,0 +1,16 @@
References: https://github.com/csound/csound/issues/985
https://bugzilla.opensuse.org/show_bug.cgi?id=45347
Index: csound-6.18.1/util1/CMakeLists.txt
===================================================================
--- csound-6.18.1.orig/util1/CMakeLists.txt
+++ csound-6.18.1/util1/CMakeLists.txt
@@ -1,7 +1,7 @@
#extra utilities
make_utility(scsort sortex/smain.c)
-make_utility(extract sortex/xmain.c)
+make_utility(csound-extract sortex/xmain.c)
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG OR MSVC)
make_utility(cs csd_util/cs.c)

View File

@ -0,0 +1,11 @@
--- csound-6.16.0/util/CMakeLists.txt.orig 2021-06-10 18:27:41.000000000 +1000
+++ csound-6.16.0/util/CMakeLists.txt 2021-06-29 11:16:01.079617007 +1000
@@ -34,7 +34,7 @@
make_utility(pv_export pvx_main.c)
make_utility(pv_import pvi_main.c)
make_utility(scale scale_main.c)
- make_utility(sndinfo sndinfo_main.c)
+ make_utility(csndinfo sndinfo_main.c)
make_utility(srconv srconv_main.c)

436
csound.changes Normal file
View File

@ -0,0 +1,436 @@
-------------------------------------------------------------------
Tue Jul 30 12:10:38 UTC 2024 - Marcus Meissner <meissner@suse.com>
- csound-gcc14.patch: fixed gcc14 build issues
-------------------------------------------------------------------
Thu Mar 21 21:09:19 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
- renamed extract to csound-extract to avoid name conflict with
libextractor, again (boo#45347), add csound-rename-extract.patch
-------------------------------------------------------------------
Wed Apr 26 19:27:59 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Drop unused BuildRequire on xorg-x11-devel
- Modernize specfile constructs
-------------------------------------------------------------------
Wed Dec 14 01:02:31 UTC 2022 - Konstantin Voinov <kv@kott.no-ip.biz>
- Update to 6.18.1
* A long-standing big-endian test failure with score strings has been fixed.
* The symbol spillage caused by a build misconfiguration has been resolved.
* Plugin ABI compatibility with earlier versions (affecting the FLTK plugin) has been restored
* Some left-over tracing in the mod function has been removed.
- Version 6.18.0 Changes:
New opcodes
* scanmap reads internal state of scanu
* elapsedcycles, elapsedtime, eventcycles, and eventtime. See under
"bugs fied" for detials.
Modified Opcodes and Gens
* fix midi list printing to stdout part of the list.
Bugs Fixed
* Fixed bug where fixed-point phase computation (in oscil family) was
incorrect resulting in slight freq deviations in very low freq cases.
* Fixed bug where freeing instr 0 caused memory issues in new
compilations. Instr 0 is not freed until reset now.
* Fixed a bug where opcode directory search was crashing Csound if HOME
variable not set.
* Fixed pol2rect array size setting.
* OSCsend, OSCsend_lo and OSClisten can now work with OSC messages
carrying no payload (as per spec and manual).
* bug in sum fixed
* 'pitchamd' opcode causes segmentation fault (macOS) (#1599)
* fixed crash on channel setting with empty channel name
* bug in ftloadk fixed (#1611)
* qnan works even when compiled with fast arithmetic
* Fix the flanger opcode for sample-accurate mode, where the xdel input was
not being correctly offset.
* elapsedcycles, elapsedtime, eventcycles, and eventtime introducd as
fixed versions of timek, times, timeinstk and timeinsts but return
the correct values instead of being one cycle late. This prserves
backward compatability
System Changes
* Fix for issue #1613:
Fixes the rtauhal module for all cases of multichannel output. Previously the
module would not work correctly with some devices.
* Csound now supports MP3 files for input and output through libsndfile
(version 1.1.0 and higher).
Platform Specific
Bela:
* Many changes to Bela csound. See bela web site for details
MacOS:
* Universal build for x86_64 and arm64, backward compatible to MacOS 10.9
WASM:
* fix sampleRate for single-thread worklet
-------------------------------------------------------------------
Wed Dec 7 21:39:24 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 6.18.1:
* This is a patchfix release mainly dealing with issues arisen in Linux
package management. This contains the same code as 6.18.0, except for:
* A long-standing big-endian test failure with score strings has been
fixed.
* The symbol spillage caused by a build misconfiguration has been
resolved.
* Plugin ABI compatibility with earlier versions (affecting the FLTK
plugin) has been restored
* Some left-over tracing in the mod function has been removed.
- update to 6.18.0:
* Mainly a bug-fixing release. Major new facility is MP3 (MPEG) audio
* files are supported both for input and output in platforms where this is
* supported by libsndfile.
* fix midi list printing to stdout part of the list.
* Fixed bug where fixed-point phase computation (in oscil family) was
* incorrect resulting in slight freq deviations in very low freq cases.
* Fixed bug where freeing instr 0 caused memory issues in new
* compilations. Instr 0 is not freed until reset now.
* Fixed a bug where opcode directory search was crashing Csound if HOME
* variable not set.
* Fixed pol2rect array size setting.
* OSCsend, OSCsend_lo and OSClisten can now work with OSC messages
* carrying no payload (as per spec and manual).
* bug in sum fixed
* elapsedcycles, elapsedtime, eventcycles, and eventtime introducd as
* fixed versions of timek, times, timeinstk and timeinsts but return
* the correct values instead of being one cycle late. This prserves
* backward compatability
* Csound now supports MP3 files for input and output through libsndfile
-------------------------------------------------------------------
Fri Aug 12 08:35:32 UTC 2022 - Konstantin Voinov <kv@kott.no-ip.biz>
- Update to version 6.17.0
USER-LEVEL CHANGES
New opcodes
* scanmap and scansmap are like the xscanmap/xscansmap opcodes but
work with the mainstream scan opcodes.
* trigexpseg, triglinseg are aliases for trigExpseg, trigLinseg.
* xscan opcodes are deprecated as they add nothing to the scan opcodes.
* bformdec2 provides more ambisonic decoding of bformat audio.
* metrobpm is like metro but the timing is in beats per minute and the
signal can be offset by a proportion of the cycle.
* sequ is a csound version of a hardware sequencer. It has many modes and options.
* gtadsr implements a gated ADSR envelope
Orchestra
* Message printing has been revised so -m16 suppresses all
messages.
* add channel count to list_audio_devices (called when the flag
--devices is used so that it can be parsed by frontends).
Modified Opcodes and Gens
* event opcode does not bail out if the instrument called does not exist.
* Added an optional prefix to soundfont instruments printed via sfilist.
* lpslots reworked with better control.
Utilities
* cvanal now uses the SADIR environment to look for analysis files.
Bugs Fixed
* fareylen called a non-existent function leading to a crash. Removed typo.
* turnoff could cause clicks in some cases; fixed.
* turnoff3 improved.
* cntReset fixed; had a false initialisation code.
* binary search in bpf fixed.
* pvscfs frame counting issue fixed.
* --sample-accurate fixed in a-rate form of tabsum.
* Problem in atssinnoi fixed; did read outside allocated memory.
* hrtfmove fixed; it could use the wrong value for sr.
* Named instruments could use wrong structure in redefinition.
* fixes in the jack backend relating to --get-system-sr.
* pvcross frequency warp mode fixed.
* lpcfilter/lpcanal bug where processing could not be restarted after
a freeze fixed.
* the emugens collection of opcode, a large group incorporation mainly
array operations, were not made available due to a small editing
error.
* If using a float build (rather than a double) array access could be
wrong.
* In some cases instr0 code could ignore loops after an incorrect
warning. Now fixed.
* Bugs in mp3len and similar fixed.
* Crash in syncgrain issue #1773 fixed
* UDO output of fsigs fixed.
SYSTEM LEVEL CHANGES
System Changes
* winsound has been removed.
API
* CreateThread2 is a new API function that allows threads to be given a
user-defined stack size.
-------------------------------------------------------------------
Wed Jan 19 16:38:31 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 6.16.2:
* This is a hotfix release dealing with an issue that prevented
CsoundQT successfully producing a recording using one of the
API threading services. Fixes for desktop OS packages affected
are provided here.
- Changes from version 6.16.1:
* This is a bug fix release of Csound 6.16, where an issue
affecting the use of turnoff/turnoff2 was repaired.
-------------------------------------------------------------------
Tue Jun 29 01:50:28 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>
- Update to version 6.16.0
- add python3-csound package
- update csound-rename-sndinfo.patch
-------------------------------------------------------------------
Wed May 26 23:30:30 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>
- Update to version 6.15.0
- add -samples subpackage
-------------------------------------------------------------------
Sat Feb 20 07:59:29 UTC 2021 - Dave Plater <davejplater@gmail.com>
- Added quotes to %{_lib} conditional to satisfy new rpmlint.
-------------------------------------------------------------------
Fri Jul 10 08:45:28 UTC 2020 - Dave Plater <davejplater@gmail.com>
- Removed unused util/new_srconv.c from sources to fix licensing.
-------------------------------------------------------------------
Wed Jun 03 08:03:33 UTC 2020 - davejplater@gmail.com
- Update to version 6.14.0+git20200601 and fix factory build
- Use service file instead of pre_checkin.sh to create tarball.
- Remove incorporated patche fluidsynth2.patch.
* init
* resonbnk and apoleparams
* fix to multicore + etter code
* resonator bank
* fix prepiano meory issue
* allpoleb opcode
* Nearly there
* coeffs to params fix
-------------------------------------------------------------------
Wed Jun 26 08:00:12 UTC 2019 - Dave Plater <davejplater@gmail.com>
- Renamed sndifo to csndinfo again to fix conflict with snd package
using csound-rename-sndinfo.patch this time.
-------------------------------------------------------------------
Wed Jun 5 13:57:01 UTC 2019 - Dave Plater <davejplater@gmail.com>
- Added pre_checkin.sh to remove undistributable scansyn files from
the source tarball.
- Relicenced to GPL-2.0-or-later AND BSD-3-Clause AND PostgreSQL
GPL-2.0 or later source file which relicenses the LGPL sources
- Added COPYING_gpl2+.txt to licenses.
-------------------------------------------------------------------
Tue Apr 9 07:29:47 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update summaries.
-------------------------------------------------------------------
Sat Apr 6 11:05:19 UTC 2019 - plater <davejplater@gmail.com>
- Update to version 6.12.2 and fix Factory build.
- Remove obsolete patches:
csound-scons-on-py3.patch and csound-strncat-fix.patch
- Added fluidsynth2.patch from Arch linux
- Added csound-6.08-default-pulse.patch, csound-6.08-xdg-open.patch
from Fedora.
- Now builds with cmake
- For upstream changes see:
/usr/share/doc/packages/csound/Release_Notes/
-------------------------------------------------------------------
Thu Nov 23 14:49:33 UTC 2017 - dimstar@opensuse.org
- Add csound-scons-on-py3.patch: Fix build with scons using python3
as interpreter.
-------------------------------------------------------------------
Wed Nov 8 18:22:43 UTC 2017 - dimstar@opensuse.org
- Rename README.SuSE to README.SUSE, adhering to the correct
spelling.
-------------------------------------------------------------------
Sat Feb 11 14:14:39 UTC 2017 - jengelh@inai.de
- Fix RPM groups, trim descriptions from repeated information.
Remove unnecessary ldconfig calls (they do not apply for
plugin directories).
-------------------------------------------------------------------
Mon Jan 16 19:54:07 UTC 2017 - bwiedemann@suse.com
- drop useless uninstall script and make build reproducible
-------------------------------------------------------------------
Tue Nov 6 16:03:11 CET 2012 - tiwai@suse.de
- updated to version 5.18.02, including previous security fixes:
this fixes the build failure on FACTORY with new bison, too;
see ChangeLog for detailed updates and fixes
-------------------------------------------------------------------
Wed Apr 18 11:21:46 CEST 2012 - tiwai@suse.de
- VUL-0: csound: buffer overflow in pv_import (CVE-2012-2106,
bnc#757254),
VUL-0: csound: buffer overflow in lpc_import (CVE-2012-2107,
bnc#757255),
VUL-0: csound: Stack-based buffer overflow in lpc_import
(CVE-2012-2108, bnc#757256):
a single patch for all three issues
-------------------------------------------------------------------
Mon Feb 27 12:04:56 CET 2012 - tiwai@suse.de
- updated to version 5.16.6, including a fix for
VUL-0: CVE-2012-0270: csound: two buffer overflow flaws in
getnum() (bnc#749073)
- drop obsoleted patches
-------------------------------------------------------------------
Sun Jan 8 15:04:23 UTC 2012 - prusnak@opensuse.org
- updated to version 5.15.0
- drop unused patches
- fix wrong memset and strncat usage ({memset,strncat}-fix.patch)
- create -devel subpackage
-------------------------------------------------------------------
Sun Sep 18 00:04:38 UTC 2011 - jengelh@medozas.de
- Remove redundant tags/sections from specfile
-------------------------------------------------------------------
Thu Jul 16 18:04:52 CEST 2009 - tiwai@suse.de
- fix scons argument to build for 64bit archs (bnc#521979)
-------------------------------------------------------------------
Wed Jan 28 14:40:46 CET 2009 - tiwai@suse.de
- Fix python module search path insecure issue (bnc#470095)
This package is unaffected; the patch is included just for any
possible cases in future.
-------------------------------------------------------------------
Wed Oct 1 15:28:52 CEST 2008 - tiwai@suse.de
- fix build with python-2.6
-------------------------------------------------------------------
Wed Jun 20 15:44:26 CEST 2007 - tiwai@suse.de
- fix fdupes usage
-------------------------------------------------------------------
Mon Jun 11 17:57:22 CEST 2007 - tiwai@suse.de
- updated to version 5.06:
* fix k-rate, vrandh and vrandi scaling problems, mod fix
* new opcodes: partikkel, partikkelsync
-------------------------------------------------------------------
Tue Mar 27 18:08:43 CEST 2007 - tiwai@suse.de
- update to version 5.05:
* fixes/improvements on FLTK support
* fix heap overflow
* clean up old codes
-------------------------------------------------------------------
Mon Jan 22 13:11:02 CET 2007 - tiwai@suse.de
- major update to version 5.04
(not built with fltk due to lack of threading support)
-------------------------------------------------------------------
Mon Mar 27 18:54:23 CEST 2006 - pth@suse.de
- Add missing parameter in printf call (bug #129676).
-------------------------------------------------------------------
Wed Jan 25 21:35:15 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Fri Oct 15 10:54:27 CEST 2004 - tiwai@suse.de
- renamed extract to csound-extract to avoid name confliction
(bug #45347).
-------------------------------------------------------------------
Wed Jun 2 17:05:41 CEST 2004 - tiwai@suse.de
- fixed the ALSA RT plugin with the new API.
-------------------------------------------------------------------
Sat Jan 10 18:11:42 CET 2004 - adrian@suse.de
- add %run_ldconfig and %defattr
-------------------------------------------------------------------
Tue Aug 5 12:48:27 CEST 2003 - tiwai@suse.de
- renamed sndinfo to csndinfo to avoid name confliction with snd.
-------------------------------------------------------------------
Wed Jul 30 12:48:59 CEST 2003 - tiwai@suse.de
- fixed the build on x86-64.
-------------------------------------------------------------------
Mon Jul 28 16:11:55 CEST 2003 - tiwai@suse.de
- updated to 4.24.1.
- fixed tmpnam with mkstemp.
-------------------------------------------------------------------
Thu Feb 1 19:18:36 CET 2001 - tiwai@suse.de
- Initial vesrion: unofficial-4.10.0.0c

245
csound.spec Normal file
View File

@ -0,0 +1,245 @@
#
# spec file for package csound
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define py3version %(pkg-config python3 --modversion)
%define support_fltk 1
%if 0%{?suse_version} > 1500
%bcond_with java
%else
%bcond_with java
%endif
%define maj 6
%define min 0
%global luaver %(lua -v | sed -r 's/Lua ([[:digit:]]+\\.[[:digit:]]+).*/\\1/')
%bcond_with python
Name: csound
Version: 6.18.1
Release: 0
Summary: Computer Sound Synthesis and Composition Program
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Productivity/Multimedia/Sound/Utilities
URL: http://www.csounds.com
Source0: https://github.com/csound/csound/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: README.SUSE
Source2: COPYING_gpl2+.txt
# Default to using pulseaudio instead of portaudio
Patch2: csound-6.08-default-pulse.patch
# Use xdg-open to open a browser to view the manual
Patch4: csound-6.08-xdg-open.patch
Patch5: csound-rename-sndinfo.patch
Patch6: csound-rename-extract.patch
Patch7: csound-gcc14.patch
BuildRequires: alsa-devel
BuildRequires: bison
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: eigen3-devel
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: fluidsynth-devel
BuildRequires: gcc-c++
BuildRequires: jack-devel
BuildRequires: libboost_atomic-devel
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_locale-devel
BuildRequires: libboost_regex-devel
BuildRequires: libboost_thread-devel
BuildRequires: liblo-devel
BuildRequires: libsndfile-devel
BuildRequires: lua-devel
BuildRequires: portaudio-devel
BuildRequires: swig
Recommends: %{name}-lang
%if %{with java}
BuildRequires: java-devel-openjdk
%endif
%if %{with python}
BuildRequires: python3-devel
%endif
%if %{support_fltk}
BuildRequires: fltk-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
%endif
%description
Csound is a software synthesis program. It is modular and
supports an unlimited amount of oscillators and filters.
%package -n libcsnd6-%{maj}_%{min}
Summary: Computer sound synthesis and composition library
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Libraries
%description -n libcsnd6-%{maj}_%{min}
Library for csound use.
Csound is a software synthesis program supporting oscillators and
filters.
%package -n libcsound64-%{maj}_%{min}
Summary: Computer sound synthesis and composition library
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Libraries
%description -n libcsound64-%{maj}_%{min}
Library for csound use
Csound is a software synthesis program supporting oscillators and
filters.
%package java-bindings
Summary: Java bindings for the Csound sound synthesis and composition library
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Libraries
%description java-bindings
Java bindings for csound use.
Csound is a software synthesis program supporting oscillators and
filters.
%package plugins
Summary: Plugins for csound
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Productivity/Multimedia/Other
%description plugins
Plugins for csound
%package -n python3-csound
Summary: Csound opcodes for python
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Productivity/Multimedia/Other
%description -n python3-csound
Csound opcodes for python
%package samples
Summary: Data files for csound
License: MIT
Group: Productivity/Multimedia/Other
BuildArch: noarch
%description samples
HRTF datafiles and Soundfont for csound
%package devel
Summary: Development files for Csound
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libcsnd6-%{maj}_%{min} = %{version}
Requires: libcsound64-%{maj}_%{min} = %{version}
%if %{with java}
Requires: %{name}-java-bindings = %{version}
%endif
%description devel
Development files for Csound, a sound synthesis program.
%lang_package
%prep
%autosetup -p1
# remove __DATE__ from source files, causes unnecessary rebuilds
#sed -i 's:__DATE__:"":' Engine/musmon.c include/version.h Top/main.c
# copy readme
cp %{SOURCE1} %{SOURCE2} .
#These source files are undistributable
#rm -f Opcodes/scansyn*
head -n 28 util/SDIF/sdif.c > COPYING.PostgreSQL
%build
# Needed to link libbuchla.so
export CFLAGS="%{optflags} -lm"
export CXXFLAGS="%{optflags} -std=c++11"
%cmake \
-DBUILD_SCANSYN_OPCODES=OFF \
%if %{with python}
-DPYTHON_LIBRARY="%{_libdir}/libpython$(pkg-config python3 --modversion)$(python3-config --abiflags).so" \
-DPYTHON_INCLUDE_DIR="%{_includedir}/python$(pkg-config python3 --modversion)$(python3-config --abiflags)" \
%endif
-DNEED_PORTTIME:BOOL=OFF \
-DRPM_LUAVER:STRING=%{luaver} \
%if "%{_lib}" == "lib64"
-DUSE_LIB64:BOOL=ON
%else
-DUSE_LIB64:BOOL=OFF
%endif
%make_build
%install
%cmake_install
#python bindings are wip
rm -rf %{buildroot}root
cp -v OOps/README.md README.OOps
%fdupes -s %{buildroot}
%find_lang %{name}%{maj}
%ldconfig_scriptlets -n libcsnd6-%{maj}_%{min}
%ldconfig_scriptlets -n libcsound64-%{maj}_%{min}
%ldconfig_scriptlets java-bindings
%files
%doc AUTHORS README.md README.SUSE Release_Notes README.OOps
%license COPYING COPYING_gpl2+.txt COPYING.PostgreSQL
%{_bindir}/*
%{_bindir}/csound-extract
%files -n libcsnd6-%{maj}_%{min}
%license COPYING COPYING_gpl2+.txt COPYING.PostgreSQL
%{_libdir}/libcsnd6.so.%{maj}.%{min}
%files -n libcsound64-%{maj}_%{min}
%license COPYING COPYING_gpl2+.txt COPYING.PostgreSQL
%{_libdir}/libcsound64.so.%{maj}.%{min}
%if %{with java}
%files java-bindings
%license COPYING COPYING_gpl2+.txt COPYING.PostgreSQL
%{_libdir}/lib_jcsound6.so
%{_libdir}/csnd6.jar
%endif
%files plugins
%license COPYING COPYING_gpl2+.txt COPYING.PostgreSQL
%{_libdir}/csound/
%files samples
%license COPYING COPYING_gpl2+.txt COPYING.PostgreSQL
%{_datadir}/samples/
%files -n python3-csound
%license COPYING COPYING_gpl2+.txt COPYING.PostgreSQL
%if 0%{?suse_version} > 1500
%{python_sitearch}/ctcsound.py
%else
%{_libdir}/python3.6/site-packages/ctcsound.py
%endif
%files devel
%license COPYING COPYING_gpl2+.txt COPYING.PostgreSQL
%{_includedir}/csound/
%{_libdir}/libcs*.so
%{_datadir}/cmake/Csound/
%files lang -f %{name}%{maj}.lang
%license COPYING COPYING_gpl2+.txt COPYING.PostgreSQL
%changelog