polymc.spec 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. %global libnbtplusplus_commit 2203af7eeb48c45398139b583615134efd8d407f
  2. %global libnbtplusplus_shortcommit %(c=%{libnbtplusplus_commit}; echo ${c:0:7})
  3. %global quazip_commit 6117161af08e366c37499895b00ef62f93adc345
  4. %global quazip_shortcommit %(c=%{quazip_commit}; echo ${c:0:7})
  5. %global filesystem_commit cd6805e94dd5d6346be1b75a54cdc27787319dd2
  6. %global filesystem_shortcommit %(c=%{filesystem_commit}; echo ${c:0:7})
  7. %global tomlplusplus_commit 4b166b69f28e70a416a1a04a98f365d2aeb90de8
  8. %global tomlplusplus_shortcommit %(c=%{tomlplusplus_commit}; echo ${c:0:7})
  9. Name: polymc
  10. Version: 6.1
  11. Release: 1%{?dist}
  12. Summary: Minecraft launcher with ability to manage multiple instances
  13. #
  14. # CC-BY-SA
  15. # ---------------------------------------
  16. # launcher/resources/multimc/
  17. #
  18. # BSD 3-clause "New" or "Revised" License
  19. # ---------------------------------------
  20. # application/
  21. # libraries/LocalPeer/
  22. # libraries/ganalytics/
  23. #
  24. # Boost Software License (v1.0)
  25. # ---------------------------------------
  26. # cmake/
  27. #
  28. # Expat License
  29. # ---------------------------------------
  30. # libraries/systeminfo/
  31. #
  32. # GNU Lesser General Public License (v2 or later)
  33. # ---------------------------------------
  34. # libraries/rainbow
  35. #
  36. # GNU Lesser General Public License (v2.1 or later)
  37. # ---------------------------------------
  38. # libraries/iconfix/
  39. # libraries/quazip/
  40. #
  41. # GNU Lesser General Public License (v3 or later)
  42. # ---------------------------------------
  43. # libraries/libnbtplusplus/
  44. #
  45. # GPL (v2)
  46. # ---------------------------------------
  47. # libraries/pack200/
  48. #
  49. # ISC License
  50. # ---------------------------------------
  51. # libraries/hoedown/
  52. #
  53. # zlib/libpng license
  54. # ---------------------------------------
  55. # libraries/quazip/quazip/unzip.h
  56. # libraries/quazip/quazip/zip.h
  57. #
  58. License: CC-BY-SA and ASL 2.0 and BSD and Boost and LGPLv2 and LGPLv2+ and LGPLv3+ and GPLv2 and GPLv2+ and GPLv3 and ISC and zlib
  59. URL: https://polymc.org
  60. Source0: https://github.com/PolyMC/PolyMC/archive/%{version}/polymc-%{version}.tar.gz
  61. Source1: https://github.com/PolyMC/libnbtplusplus/archive/%{libnbtplusplus_commit}/libnbtplusplus-%{libnbtplusplus_shortcommit}.tar.gz
  62. Source2: https://github.com/stachenov/quazip/archive/%{quazip_commit}/quazip-%{quazip_shortcommit}.tar.gz
  63. Source3: https://github.com/gulrak/filesystem/archive/%{filesystem_commit}/filesystem-%{filesystem_shortcommit}.tar.gz
  64. Source4: https://github.com/marzer/tomlplusplus/archive/%{tomlplusplus_commit}/tomlplusplus-%{tomlplusplus_shortcommit}.tar.gz
  65. BuildRequires: cmake
  66. BuildRequires: desktop-file-utils
  67. BuildRequires: gcc-c++
  68. BuildRequires: extra-cmake-modules
  69. BuildRequires: git
  70. BuildRequires: java-devel
  71. BuildRequires: %{?suse_version:lib}qt5-qtbase-devel
  72. # require zlib to ensure we do not compile against zlib-ng
  73. BuildRequires: zlib zlib-devel
  74. BuildRequires: scdoc
  75. # i love opensuse
  76. %if 0%{?suse_version}
  77. BuildRequires: libQt5Charts5-devel
  78. %else
  79. BuildRequires: qt5-qtcharts-devel
  80. %endif
  81. # Needed for a variety of Image formats fetched from the web
  82. Requires: %{?suse_version:lib}qt5-qtimageformats
  83. # LWJGL uses xrandr for detection
  84. Requires: xrandr
  85. # i love opensuse
  86. %if 0%{?suse_version}
  87. Requires: libQt5Charts5
  88. %else
  89. Requires: qt5-qtcharts
  90. %endif
  91. # Needed for loading SVG Icons for Themes
  92. %if 0%{?suse_version}
  93. Requires: libQt5Svg5
  94. %else
  95. Requires: qt5-qtsvg
  96. %endif
  97. # Needed for a variety of Image formats fetched from the web
  98. Requires: %{?suse_version:lib}qt5-qtimageformats
  99. # LWJGL uses xrandr for detection
  100. Requires: xrandr
  101. # i love opensuse
  102. %if 0%{?suse_version}
  103. Requires: libQt5Charts5
  104. %else
  105. Requires: qt5-qtcharts
  106. %endif
  107. # Minecraft < 1.17
  108. Recommends: java-1.8.0-openjdk
  109. # Minecraft >= 1.17
  110. Recommends: java-17-openjdk
  111. # PolyMC supports enabling gamemode
  112. Recommends: gamemode
  113. %description
  114. PolyMC is a free, open source launcher for Minecraft. It allows you to have
  115. multiple, separate instances of Minecraft (each with their own mods, texture
  116. packs, saves, etc) and helps you manage them and their associated options with
  117. a simple interface.
  118. %prep
  119. %autosetup -p1 -n PolyMC-%{version}
  120. tar -xvf %{SOURCE1} -C libraries
  121. tar -xvf %{SOURCE2} -C libraries
  122. tar -xvf %{SOURCE3} -C libraries
  123. tar -xvf %{SOURCE4} -C libraries
  124. rmdir libraries/libnbtplusplus libraries/quazip libraries/filesystem libraries/tomlplusplus
  125. mv -f libraries/quazip-%{quazip_commit} libraries/quazip
  126. mv -f libraries/libnbtplusplus-%{libnbtplusplus_commit} libraries/libnbtplusplus
  127. mv -f libraries/filesystem-%{filesystem_commit} libraries/filesystem
  128. mv -f libraries/tomlplusplus-%{tomlplusplus_commit} libraries/tomlplusplus
  129. %build
  130. %cmake \
  131. -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo" \
  132. -DLauncher_FORCE_BUNDLED_LIBS:BOOL=ON \
  133. -DLauncher_QT_VERSION_MAJOR=5 \
  134. -DLauncher_UPDATER_BASE:STRING="" \
  135. %cmake_build
  136. %install
  137. %cmake_install
  138. %check
  139. # skip tests on systems that aren't officially supported
  140. %if ! 0%{?suse_version}
  141. # check why broken
  142. # NO.
  143. #%%ctest
  144. desktop-file-validate %{buildroot}%{_datadir}/applications/org.polymc.PolyMC.desktop
  145. %endif
  146. %files
  147. %license COPYING.md
  148. %{_bindir}/polymc
  149. %{_datadir}/icons/hicolor/scalable/apps/org.polymc.PolyMC.svg
  150. %{_datadir}/applications/org.polymc.PolyMC.desktop
  151. %{_datadir}/metainfo/org.polymc.PolyMC.metainfo.xml
  152. %{_datadir}/jars/NewLaunch.jar
  153. %{_datadir}/jars/JavaCheck.jar
  154. %{_mandir}/man6/polymc.6*
  155. #%%config %%{_sysconfdir}/ld.so.conf.d/*
  156. %changelog
  157. * Sun Jan 07 2024 Jenkins CI <jenkins@swurl.xyz> - 6.1
  158. - Update to 6.1
  159. * Sat Dec 02 2023 Jenkins CI <jenkins@swurl.xyz> - 6.0
  160. - Update to 6.0
  161. * Fri Mar 03 2023 Carson Rueter <swurl@swurl.xyz> - 5.1-4
  162. - Fix build and submodules
  163. * Mon Feb 20 2023 Carson Rueter <swurl@swurl.xyz> - 5.1-3
  164. - Added qt charts dependency
  165. * Sun Feb 19 2023 Jenkins CI <jenkins@swurl.xyz> - 5.1
  166. - Update to 5.1
  167. * Sat Feb 04 2023 Jenkins CI <jenkins@swurl.xyz> - 5.0
  168. - Update to 5.0
  169. * Tue Nov 01 2022 Jenkins CI <jenkins@swurl.xyz> - 1.4.3
  170. - Update to 1.4.3
  171. * Tue Oct 18 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.4.2-2
  172. - Project was subject to a hostile takeover, point meta towards safe url
  173. * Thu Sep 08 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.4.2-1
  174. - Update to 1.4.2
  175. * Fri Jul 29 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.4.1-1
  176. - Update to 1.4.1
  177. * Sat Jul 23 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.4.0-2
  178. - Recommend gamemode
  179. * Sat Jul 23 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.4.0-1
  180. - Update to 1.4.0
  181. * Wed Jun 15 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.3.2-2
  182. - Fixing OpenSuse Tumbleweed compilation
  183. * Sun Jun 12 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.3.2-1
  184. - Update to 1.3.2
  185. * Mon May 30 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.3.1-1
  186. - Update to 1.3.1
  187. * Mon May 23 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.3.0-1
  188. - Update to 1.3.0
  189. * Sat May 14 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.2.2-1
  190. - Update to 1.2.2
  191. * Mon Apr 25 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.2.1-2
  192. - Correct dependencies for openSUSE
  193. * Wed Apr 20 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.2.1-1
  194. - Update to 1.2.1
  195. * Tue Apr 19 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.2.0-1
  196. - Update to 1.2.0
  197. * Tue Apr 19 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.1.1-3
  198. - Correct dependencies for openSuse
  199. * Wed Apr 06 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.1.1-2
  200. - Add missing dependencies
  201. * Mon Mar 28 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.1.1-1
  202. - Update to 1.1.1
  203. * Wed Mar 16 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.1.0-1
  204. - Update to 1.1.0
  205. * Mon Jan 24 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.0.5-2
  206. - remove explicit dependencies, correct dependencies to work on OpenSuse
  207. * Sun Jan 09 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.0.5-1
  208. - Update to 1.0.5
  209. * Sun Jan 09 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 1.0.4-2
  210. - rework spec
  211. * Fri Jan 7 2022 getchoo <getchoo at tuta dot io> - 1.0.4-1
  212. - Initial polymc spec