mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-10-31 06:03:49 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			358 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			358 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| This is intended as a list of all the patches that have been incorporated into
 | |
| the lib-src copies of libraries, to avoid them getting lost in version upgrades
 | |
| from upstream, and to remind us of the versions we are using. See the notes at
 | |
| the end for how external libraries are brought in and maintained.
 | |
| 
 | |
| Libraries
 | |
| =========
 | |
| expat
 | |
| -----
 | |
| XML parser library used to parse project files and so on.
 | |
| Version in Audacity SVN: 2.1.0
 | |
| Patches: None
 | |
| Upstream version: 2.1.0
 | |
| 
 | |
| FileDialog
 | |
| ----------
 | |
| The customised file saving dialogs for wxwidgets to provide the options
 | |
| button for format preferences. This is written and maintained by us so doesn't
 | |
| have an upstream at the moment.
 | |
| 
 | |
| libflac
 | |
| -------
 | |
| http://flac.sourceforge.net/
 | |
| Free Lossless Audio Codec encoding and decoding library
 | |
| Version in Audacity SVN: 1.3.1
 | |
| Patches: mac-asm-fixes.patch. Fixes build on OS X Intel 10.4 by creating and
 | |
|             object format for Mach-O. Needs to go upstream
 | |
|          add-maintainer-mode.patch. Disable autotools rebuilds
 | |
|          bypass-constraint-problem.patch. Gets around problem with older
 | |
|             gcc (4.0)...not need after we upgrade past Xcode 3.2.6.
 | |
| Upstream version: 1.3.1
 | |
| 
 | |
| libid3tag
 | |
| ---------
 | |
| MP3 tag manipulation library. Comes with libmad (below)
 | |
| arguments ([-Wall foreign]) added to AM_INIT_AUTOMAKE to avoid autoreconf
 | |
| failures
 | |
| arguments (--no-verify) removed from ltconfig execution to prevent configure
 | |
| failures
 | |
| Patches: libid3tag-srcdir.patch  Adds srcdir handling
 | |
| 
 | |
| libmad
 | |
| ------
 | |
| http://www.underbit.com/products/mad/
 | |
| MP3 decoding library
 | |
| Version in Audacity SVN: 0.15.1 (beta)
 | |
| Patches: libmad-mp2-out-of-spec.patch:	Import some forms of MP2 file that are
 | |
| theoretically out of spec but in practise work fine (msmeyer)
 | |
| osx-universal-build.patch: Makes build work on OS X for universal binary by
 | |
| using compiler-defined symbols for targets as well as hosts.
 | |
| autotools.patch:			Update to autotools to work with recent auto{conf,
 | |
| make}
 | |
| Upstream version: 0.15.1 (beta)
 | |
| 
 | |
| libnyquist
 | |
| ----------
 | |
| Digital Audio scripting language, with our own library interface added to it
 | |
| Version in Audacity SVN: 3.09
 | |
| nyquist.patch  Fix for a couple of memory leaks
 | |
| xlisp.patch    Fix build in Windows
 | |
| sound.patch    Fix build when using VS2013 (log2 is included in VS2013)
 | |
| revert-convolve.patch  Replaces broken convolve with previous version
 | |
| 
 | |
| libogg
 | |
| ------
 | |
| library to handle Xiph.org's open multimedia container format
 | |
| Version in Audacity SVN: 1.3.1
 | |
| Patches: autotools.patch: Fix all autotools warnings. configure.in was renamed
 | |
|                           to configure.ac after applying the patch.
 | |
| AM_MAINTAINER_MODE has been called with "disable" in configure.ac to disable
 | |
| autotools rebuilds by default.
 | |
| Upstream Version: 1.3.1
 | |
| 
 | |
| libsndfile
 | |
| ----------
 | |
| Erik de Castro Lopo's uncompressed audio file I/O library. Core and essential
 | |
| to Audacity.
 | |
| Version in Audacity SVN: 1.0.24
 | |
| Patches: maintainer-mode.patch: AM_MAINTAINER_MODE added to configure.ac
 | |
|          id3.patch: already in upstream 1.0.26 (git 41da64d9270b2fa10c93ce74dea014fe8f0bd303)
 | |
|                     fixes crash when importing mp3s that have duplicated tags
 | |
|          libsndfile-ppc-crash-on-some-id3-mp3s.patch - submitted to libsndfile
 | |
|                     list on may 22 2012 (mchinen)
 | |
|          Add-support-for-Album-and-Track-tags-in-RIFF-files.patch 
 | |
|                     Add support for Album and Track tags in RIFF files in the LIST chunk of WAV files.
 | |
|                     0001-Add-support-for-Album-and-Track-tags-in-RIFF-files-for-libsndfile-1.0.24.patch for libsndfile 1.0.24, and
 | |
|                     0001-Add-support-for-Album-and-Track-tags-in-RIFF-files-for-libsndfile-1.0.25.patch for libsndfile 1.0.25,
 | |
|                     submitted to libsndfile list on August 19 2012.
 | |
|          autotools.patch: Fix all autotools warnings.
 | |
| Upstream Version: 1.0.26
 | |
| 
 | |
| libsoxr
 | |
| -------
 | |
| The SoX Resampler library performs one-dimensional sample-rate conversion, 
 | |
| by Rob Sykes.
 | |
| http://sourceforge.net/p/soxr/wiki/Home/
 | |
| Version in Audacity SVN: 0.1.1
 | |
| Patches: 
 | |
|    * "libsoxr/configure" file: modified cmake params
 | |
|    * add-make-check-support.patch: Add a check target for GNU Autotools integration.
 | |
|    * libsoxr-srcdir.patch: Adds srcdir handling
 | |
| Upstream Version: 0.1.1
 | |
| 
 | |
| libvamp
 | |
| -------
 | |
| Library to load and use VAMP plug-ins. http://www.vamp-plugins.org/
 | |
| Version in Audacity SVN: 2.5
 | |
| Patches: fix-linkage-against-dl.patch: Fix linkage against dl for hostsdk library.
 | |
|          fix-all-target.patch: Fix all target to not build disabled targets.
 | |
|          libvamp-srcdir.patch: Adds srcdir handling
 | |
| Upstream Version: 2.5
 | |
| 
 | |
| libvorbis
 | |
| ---------
 | |
| library for endcoding and decoding Xiph.org's high-quality compressed audio
 | |
| format.
 | |
| Version in Audacity SVN: 1.3.3
 | |
| Patches: autotools.patch: Fix all autotools warnings.
 | |
| Upstream Version: 1.3.3
 | |
| 
 | |
| 
 | |
| lib-widget-extra
 | |
| ----------------
 | |
| 
 | |
| lv2
 | |
| ---------
 | |
| A merging of the lilv, lv2, msinttypes, serd, sord, sratom, and suil libraries to support
 | |
| LV2 plug-ins.
 | |
| Versions in Audacity SVN:
 | |
|     lilv-0.20.0
 | |
|     lv2-1.10.0
 | |
|     msinttypes-r29
 | |
|     serd-0.20.0
 | |
|     sord-0.12.2
 | |
|     sratom-0.4.6
 | |
|     suil-0.8.2
 | |
| Patches:
 | |
|     usegetprocaddress.patch - ticket #923 opened upstream on 10/23/2013
 | |
|                               fix commited (r5164) upstream on 10/30/2013
 | |
|     serdnode.patch - Both lilv and serd have a node.c which causes problems during build.
 | |
|                      This is just a copy of serd/node.c and is a way to work around the
 | |
|                      problem.
 | |
| Modifications:
 | |
|     Run lib-src/lv2/unpack-waf to unpack the waf scripts.
 | |
|     See http://lintian.debian.org/tags/source-contains-waf-binary.html for details.
 | |
| Upstream Versions:
 | |
|     lilv-0.20.0
 | |
|     lv2-1.10.0
 | |
|     msinttypes-r29
 | |
|     serd-0.20.0
 | |
|     sord-0.12.2
 | |
|     sratom-0.8.2
 | |
| 
 | |
| 
 | |
| mod-script-pipe
 | |
| ---------------
 | |
| 
 | |
| portaudio-v19
 | |
| -------------
 | |
| http://portaudio.com/
 | |
| cross-platform audio I/O library version 19, used for 1.3.2 onwards releases
 | |
| Version in Audacity Git:  January 04 2016 SVN snapshot (revision 1966).
 | |
| Patches applied:
 | |
| * ../portmixer/portaudio.patch	add features needed to make portmixer work
 | |
|   (Integration by upstream in progress. Will need updating as upstream
 | |
|   portaudio moves)
 | |
| * portaudio-srcdir.patch  Adds srcdir handling
 | |
| * portaudio-v19/wasapi-fix.patch  Patch to WASAPI hostapi that corrects incorrect
 | |
|   reporting of stream open/running/closed state.
 | |
| * portaudio-v19/wasapi-loopback.patch  Patch to add loopback devices to the WASAPI
 | |
|   hostapi.
 | |
| * portaudio-v19/jack.patch  Patch to add JACK support to Windows.
 | |
| 
 | |
| * "Remove aclocal.m4 files" as per https://github.com/audacity/audacity/commit/20c438d.
 | |
| 
 | |
| ? portaudio/libtool22.patch	Patch from Gentoo to ensure that static libraries
 | |
| are always built, not shared ones, otherwise the assumptions elsewhere in the
 | |
| build system break. Not suitable for upstream, what is needed is more
 | |
| powerful autoconf features to pass the right options to portaudio's configure
 | |
| script, which suffers from the broken-ness of autoconf's subdirectory support
 | |
| 
 | |
| * linkage.patch  allows compilation as C++ with correct "C" linkage of one function
 | |
| 
 | |
| portmidi
 | |
| -------
 | |
| http://portmedia.sourceforge.net/
 | |
| PortMidi is a library for software developers. It supports real-time input
 | |
| and output of MIDI data using a system-independent interface.
 | |
| Version in Audacity SVN: SVN snapshot from 227
 | |
| Patches:
 | |
| Upstream Version: SVN revision 227
 | |
| 
 | |
| portsmf
 | |
| -------
 | |
| http://portmedia.sourceforge.net/
 | |
| Cross-platform Midi file reader and writer (succeeded and obsoletes allegro)
 | |
| Version in Audacity SVN: SVN snapshot from 227
 | |
| Patches: autotools.patch: Fix all autotools warnings.
 | |
| autotools-fix-make-dist.patch: Correct file lists to make dist target work.
 | |
| Upstream Version: SVN revision 227
 | |
| 
 | |
| portmixer
 | |
| ---------
 | |
| cross-platform audio mixer control library, hooked onto portaudio. Maintained
 | |
| by the Audacity project with some help from portaudio development.
 | |
| 
 | |
| sbsms
 | |
| -----
 | |
| http://sbsms.sourceforge.net/
 | |
| An audio stretching library for changing pitch or tempo without changing the
 | |
| other. Alternative to SoundTouch, better on large changes but slower.
 | |
| Version in Audacity SVN: 2.0.2
 | |
| Patches:
 | |
| Misc fixes to configure.in/Makefile.am for autoconf macros and libtool. More
 | |
| files added to m4/ directory by libtoolizing commited to Audacity SVN.
 | |
| AM_MAINTAINER_MODE has been added to configure.ac to disable autotools rebuilds
 | |
| by default
 | |
| dont-mangle-cflags.patch	patch to stop sed-ing the CXXFLAGS and achieve the
 | |
| same ends by better means, replacing a hacked version from Gentoo. Patch
 | |
| linked to from upstream tracker at
 | |
| https://sourceforge.net/tracker/index.php?func=detail&aid=2561247&group_id=177794&atid=882654
 | |
| because attachements there don't seem to work.
 | |
| autotools.patch: Fix all autotools warnings.
 | |
| autotools-fix-make-dist.patch: Correct file lists to make dist target work.
 | |
| sbsms-srcdir.patch: Adds srcdir handling
 | |
| 
 | |
| soundtouch
 | |
| ----------
 | |
| http://www.surina.net/soundtouch/
 | |
| Independant Pitch and Tempo changing library.
 | |
| Version in Audacity SVN: 1.7.1
 | |
| Patches: autotools.patch: Fix all autotools warnings.
 | |
| AM_MAINTAINER_MODE([disable]) has been added to configure.ac to disable autotools rebuilds.
 | |
| Upstream Version: 1.7.1
 | |
| 
 | |
| twolame
 | |
| -------
 | |
| http://www.twolame.org/
 | |
| MPEG I layer 2 audio encoding library used for MP2 exports
 | |
| Version in Audacity SVN: 0.3.13
 | |
| Patches: fix-tests.patch: Terminate AM_TESTS_ENVIRONMENT by a semicolon.
 | |
| AM_MAINTAINER_MODE has been added to configure.ac to disable autotools rebuilds
 | |
| by default
 | |
| Upstream Version: 0.3.13
 | |
| 
 | |
| Crib notes on upgrading lib-src trees
 | |
| =====================================
 | |
| With extensive reference to
 | |
| http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html
 | |
| 
 | |
| This directory (audacity-src/trunk/lib-src/) is the working copy of the
 | |
| imported libraries, with changes made to them. The current upstream version of
 | |
| the libraries is imported into the audacity-src/vendor/ tree, which is _not
 | |
| modified_ except for new imports. The unmodified upstream sources are then
 | |
| used to merge forward the changes between releases into the
 | |
| audacity-src/trunk/lib-src/ copy which contains the audacity project changes.
 | |
| 
 | |
| The version of a given <library> in lib-src should be the version from
 | |
| vendor/<library>/current/ with the audacity changes added in.
 | |
| 
 | |
| 1. We will update the vendor branch copy with the new upstream source first,
 | |
| then merge into the working copy. As always we need a new set of clean source
 | |
| to import. If pulling from upstream version control, do an export to lose
 | |
| version control files first.
 | |
|    svn export -r HEAD https://www.portaudio.com/repos/portaudio/trunk export
 | |
| 
 | |
| 2. Use the svn_load_dirs.pl script to upgrade the vendor branch to the new
 | |
| upstream source (which will deal with adds, deletions and renaming in the
 | |
| source tree without too much effort). You need to specify a tag name for the
 | |
| new update (which should reflect the upstream release, in this case an SVN
 | |
| revision in upstream's repository)
 | |
| 	svn_load_dirs.pl -t r1541 \
 | |
| 	https://audacity.googlecode.com/svn/audacity-src/vendor/portaudio-v19/ \
 | |
| 	current /path/to/newver
 | |
| Note that the URL excludes the final 'current' section, which is specified
 | |
| separately in the next argument, with the final one being the path to inside
 | |
| the directory with the new source in it.
 | |
| 
 | |
| 3. Answer the questions as posed by the script (it is interactive). The tag
 | |
| should be correct as you specfied it in the command. Several temporary SVN
 | |
| checkouts will be created (in /tmp) and merges done. Deleted and Added files
 | |
| will be printed (with a pause after each screen). If some of these should
 | |
| actually be renames (that is, a delete and an addition go together), then
 | |
| enter the numbers of those two files to sort that out for the script. Getting
 | |
| this correct makes the merge of changes much less painful.
 | |
| 
 | |
| 4. Much churning will occur to update all the files, remove orphans etc. The
 | |
| new version of the library will now be in vendor/<library>/current/, with a
 | |
| tag of the given name at vendor/<library>/<tag>/. This will be autotmatically 
 | |
| committed to SVN by the script.
 | |
| 
 | |
| 5. Merge the changes between the previous and current upstream versions into
 | |
| the lib-src copy used in Audacity using svn merge. Do this from the
 | |
| audacity-src/lib-src/ directory of a working copy, as you will need to resolve
 | |
| some conflicts along the way.
 | |
| svn merge
 | |
| https://audacity.googlecode.com/svn/audacity-src/vendor/portaudio-v19/r1416 \
 | |
| https://audacity.googlecode.com/svn/audacity-src/vendor/portaudio-v19/current \
 | |
| portaudio-v19
 | |
| 
 | |
| 6. When prompted with a conflict, most of the time, you want to see the
 | |
| changes, which you can get with the 'df' (diff full) response. In many cases
 | |
| the changes may be trivial (e.g. version headers), in which case you can just
 | |
| choose to use the new version with the 'tf' (theirs full) command.
 | |
| * For generated files (e.g. configure), accept upstream's version because we
 | |
|   will re-generate them later.
 | |
| * If there is a minor conflict, then going to 'e' (edit) will let you clean
 | |
|   the remaining issues in the file up. Save the file, then 'r' (resolved)
 | |
|   accepts the updated file.
 | |
| * Mangled line endings cause a load of grief here, so try to make sure they
 | |
|   don't happen. SVN shouldn't have trouble with this, provided that the
 | |
|   svn:eol property is correctly set
 | |
| 
 | |
| 7. Check the SVN status output to see what has changed. In particularly, look
 | |
| for files not under version control and which are, but have been deleted.
 | |
| svn st | grep '^?'
 | |
| svn st | grep '^!'
 | |
| Ideally there shouldn't be any!
 | |
| 
 | |
| 8. Do some local updates to help reliable builds (especially if upstream
 | |
| aren't very good at doing these) 
 | |
| * If the package uses libtool, run libtoolize --copy --force to update 
 | |
| 	ltmain.sh, config.sub, config.guess. If not, update config.sub,
 | |
| 	config.guess from /usr/share/gnuconfig/
 | |
| * run autoreconf
 | |
| 
 | |
| 9. Build and test the code! Make sure that your merges actually work!
 | |
| 
 | |
| 10. Commit to repository - svn commit as usual.
 | |
| 
 | |
| 11. To re-generate the patches in the Audacity tree, diff the original in
 | |
| /vendor/ against the patched version in lib-src/ (you will need to use both
 | |
| URLs on the server for this to work)
 | |
| 
 | |
| Bringing in a new (or only previously in CVS) library
 | |
| -----------------------------------------------------
 | |
| We start out with the svn import command to to all the adding and setting up
 | |
| for us. We need a set of files to import (for old CVS libs, a set of whatever
 | |
| was imported last time), without any version control droppings (to get this
 | |
| from someone else's SVN repository, use
 | |
| svn export -r <revision> https://wherever <local directory>)
 | |
| 
 | |
| So to push our local folder tree into the vendor branch:
 | |
| 1. Create a directory to put it in the vendor branch
 | |
| 	svn mkdir --parents https://audacity.googlecode.com/svn/audacity-src/vendor/portaudio-v19/current/
 | |
| 
 | |
| 2. Do the svn import
 | |
| 	 svn import portaudio/pa-r1416/ https://audacity.googlecode.com/svn/audacity-src/vendor/portaudio-v19/current/ -m 'Import the previous SVN snapshot of portaudio as a base'
 | |
|   portaudio/pa-r1416/ is the source directory, e.g. an unpacked tarball. Note
 | |
|   that we don't want the versioned top level directory from the tarball, so we
 | |
|   give the path including that directory with a trailing slash on it.
 | |
| 
 | |
| 3. The import will list the files by their source directory as it goes on and
 | |
|   commits as part of the import. At the end you should have all the files for
 | |
|   the library in the
 | |
|   https://audacity.googlecode.com/svn/audacity-src/vendor/portaudio-v19/current/
 | |
|   directory.
 |