Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
dev:contributing [2015/05/30 22:11] tedfelix [4. Create patch (against svn and source root)] |
dev:contributing [2022/05/06 16:07] (current) |
| |
======How to contribute bug fixes and feature enhancements to Rosegarden project====== | ======How to contribute bug fixes and feature enhancements to Rosegarden project====== |
| |
| **//OBSOLETE//** |
| |
| These instructions have been superseded by [[dev:Building Rosegarden from Source]]. |
| |
| **//OBSOLETE//** |
| |
There are numerous ways to contribute to Rosegarden. You may | There are numerous ways to contribute to Rosegarden. You may |
====2. Prepare the build environment==== | ====2. Prepare the build environment==== |
| |
Rosegarden has many dependencies. It should be possible to satisfy the build requirements using stock packages from any recent distro at least as far back as Ubuntu 8.04, although we strongly recommend building with Qt 4.5 or later if possible, due to its very significant improvement in graphics rendering speed. | Rosegarden has many dependencies. |
| |
//This is a fresh attempt to write out a complete list. If you install everything listed here and are still unable to build Rosegarden, please get in touch with us or create an account and edit this list yourself to share your findings.// | //This is a fresh attempt to write out a complete list. If you install everything listed here and are still unable to build Rosegarden, please get in touch with us or create an account and edit this list yourself to share your findings.// |
| |
^ Command/Library ^ Min. Version ^ From (.deb-based) ^ From (.rpm-based) ^ | ^ Command/Library ^ Min. Version ^ From (.deb-based) ^ From (.rpm-based) ^ |
| gcc | 4.1 | gcc-4.1 | gcc | | | gcc | 6.3.0 | gcc | gcc | |
| g++ | 4.1 | g++-4.1 | gcc-c++ | | | g++ | 6.3.0 | g++ | gcc-c++ | |
| automake | 1.10 | automake | automake | | | cmake | 3.1 | cmake | cmake | |
| GNU make | 3.81 | make | make | | | GNU make | 4.1 | make | make | |
| makedepend | 1.0.1 | xutils-dev | imake | | | makedepend (?) | 1.0.1 | xutils-dev | imake | |
| pkg-config | 0.22 | pkg-config | pkgconfig | | | pkg-config (?) | 0.22 | pkg-config | pkgconfig | |
| qt | 4.4.3 | libqt4-dev | qt-devel | | | qt5 | 5.1.0 | qtbase5-dev, qttools5-dev | qt5-qtbase-devel? | |
| alsa | 1.0 | libasound2-dev | alsa-lib-devel | | | alsa | 1.0 | libasound2-dev | alsa-lib-devel | |
| jack | 0.109 | libjack-dev | jack-audio-connection-kit-devel | | | jack | 0.109 | libjack-dev | jack-audio-connection-kit-devel | |
====2. Compile source (be prepared to install missing dependencies in first compile)==== | ====2. Compile source (be prepared to install missing dependencies in first compile)==== |
| |
$ sh ./bootstrap.sh | $ sh ./bootstrap.sh |
| $ ./configure [options] |
$ ./configure ''[options]'' | |
| |
Useful things to specify for ''[options]'' include: | Useful things to specify for ''[options]'' include: |
* --enable-debug | * --enable-debug |
| |
$ make | $ make |
| $ sudo make install |
$ sudo make install | |
| |
//NOTE: Rosegarden only installs a few files, and these will not overwrite or conflict with any version you may have installed from a distro package of Rosegarden "Classic"// | //NOTE: Rosegarden only installs a few files, and these will not overwrite or conflict with any version you may have installed from a distro package of Rosegarden "Classic"// |
Edit files, paying attention to [[coding_style|coding style]]... If you made no changes to anything in data/ then you can simply: | Edit files, paying attention to [[coding_style|coding style]]... If you made no changes to anything in data/ then you can simply: |
| |
$ make && ./rosegarden | $ make && ./rosegarden |
| |
If you did make changes to data, you should | If you did make changes to data, you should |
| |
$ make qrc && make && ./rosegarden | $ make qrc && make && ./rosegarden |
| |
//If you added any new icons, for example, they won't be picked up and added to the resource bundle until you svn add them to your local copy. Even though you're submitting a patch, you must still do this. Hopefully new files will get picked up and incorporated into the patch, although I don't think there's a precedent for this, and I'm not sure if it would work. If this becomes a problem, get in touch with us, and we'll work something out.// | //If you added any new icons, for example, they won't be picked up and added to the resource bundle until you svn add them to your local copy. Even though you're submitting a patch, you must still do this. Hopefully new files will get picked up and incorporated into the patch, although I don't think there's a precedent for this, and I'm not sure if it would work. If this becomes a problem, get in touch with us, and we'll work something out.// |
cd to the Rosegarden source root directory, then: | cd to the Rosegarden source root directory, then: |
| |
$ svn update | $ svn update |
$ svn diff >patch-user-[YEAR][MONTH][DAY] | $ svn diff >patch-user-[YEAR][MONTH][DAY] |
| |
//For example// ''patch-egonzales-20090523'' //for a patch from Eduardo Gonzáles on the 23rd of May 2009.// | //For example// ''patch-egonzales-20090523'' //for a patch from Eduardo Gonzáles on the 23rd of May 2009.// |