nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 81 lines 3.2 kB view raw view rendered
1# Qt 5 Maintainer's Notes 2 3## Minor Updates 4 5Let `$major` be the major version number, e.g. `5.9`. 6 71. Change the version number in the `$major/fetch.sh`. 82. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/$major` 9 from the top of the Nixpkgs tree. 10 11See below if it is necessary to update any patches. 12 13## Major Updates 14 15Let `$major` be the new major version number, e.g. `5.10`. 16 171. Copy the subdirectory from the previous major version to `$major`. 182. Change the version number in `$major/fetch.sh`. 193. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/$major` 20 from the top of the Nixpkgs tree. 214. Add a top-level attribute in `pkgs/top-level/all-packages.nix` for the new 22 major version. 235. Change the `qt5` top-level attribute to point to the new major version. 246. If the previous major version is _not_ a long-term support release, 25 remove it from Nixpkgs. 26 27See below if it is necessary to update any patches. 28 29## Patches 30 31Nixpkgs maintains several patches for Qt which cannot be submitted upstream. To 32facilitate maintenance, a fork of the upstream repository is created for each patched module: 33 34- [qtbase](https://github.com/ttuegel/qtbase) 35- [qtwebkit](https://github.com/ttuegel/qtwebkit) 36- [qttools](https://github.com/ttuegel/qttools) 37- [qtscript](https://github.com/ttuegel/qtscript) 38- [qtserialport](https://github.com/ttuegel/qtserialport) 39- [qtdeclarative](https://github.com/ttuegel/qtdeclarative) 40- [qtwebengine](https://github.com/ttuegel/qtwebengine) 41 42In each repository, the patches are contained in a branch named `nixpkgs/$major` 43for each major version. Please make a pull request to add or update any patch 44which will be maintained in Nixpkgs. 45 46The forked repository for each module is used to create a single patch in 47Nixpkgs. To recreate the patch for module `$module` (e.g. `qtbase`) at version 48`$version` (e.g. `5.9.1`) in the branch `$major` (e.g. `5.9`), 49 501. Clone the fork for `$module` from the list above. 512. Checkout the active branch, `git checkout nixpkgs/$major`. 523. Compare the patched branch to the release tag, 53 `git diff v$version > $module.patch`. 544. Copy `$module.patch` into the Nixpkgs tree. 55 56### Minor Version Updates 57 58To update module `$module` to version `$version` from an older version in the 59same branch `$major`, 60 611. Clone the fork for `$module` from the list above. 622. Checkout the active branch, `git checkout nixpkgs/$major`. 633. Merge the new version into the active branch, 64 `git merge --no-ff v$version`. 654. Fix any conflicts. 665. Open a pull request for the changes. 676. Follow the instructions above to recreate the module patch in Nixpkgs. 68 69### Major Version Updates 70 71To update module `$module` from `$oldversion` in branch `$oldmajor` to version 72`$version` in branch `$major`, 73 741. Clone the fork for `$module` from the list above. 752. Checkout a new branch for the new major version, 76 `git checkout -b nixpkgs/$major nixpkgs/$oldmajor`. 773. Rebase the patches from `$oldversion` onto the new branch, 78 `git rebase v$oldversion --onto v$version`. 794. Fix any conflicts. 805. Open a pull request for the changes. 816. Follow the instructions above to recreate the module patch in Nixpkgs.