Trinity Desktop Environment Packaging
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

570 lines
14 KiB

  1. SHELL := /bin/bash
  2. PACKAGING_DIR := $(shell cd ..; pwd)
  3. PATH := $(PATH):$(shell pwd)/build
  4. TDE_VERSION = 3.5.13.2
  5. buildpkg = \
  6. @echo "Now processing '$(1)' [from $(PACKAGING_DIR)]."; \
  7. export PACKAGING_DIR=$(PACKAGING_DIR); \
  8. if [ "${REBUILD}" = "$(1)" ] || ! is_latest_package_installed.sh "$(1)" ${TDE_VERSION}; then \
  9. echo " Package '${1}' is not yet installed."; \
  10. if [ "${REBUILD}" = "$(1)" ] || ! is_latest_package_built.sh "$(1)" ${TDE_VERSION}; then \
  11. echo " Building package."; \
  12. build_rpm_package.sh "$(1)" ${TDE_VERSION} || exit 1; \
  13. echo " Updating repository."; \
  14. update_repository.sh ${TDE_VERSION}; \
  15. fi; \
  16. echo "Now installing package '$(1)'"; \
  17. install_rpm_package.sh "$(1)" || exit 2; \
  18. fi; \
  19. echo
  20. all: dependencies main libraries applications i18n meta extras
  21. dependencies: qt3 tqtinterface arts libcaldav libcarddav tqca tqca-tls avahi-tqt dbus-tqt dbus-1-tqt akode hal
  22. main: tdelibs tdebase tdeaccessibility tdeadmin tdegames tdemultimedia tdepim tdetoys tdevelop tdeaddons tdeartwork tdebindings tdeedu tdegraphics tdenetwork tdesdk tdeutils tdewebdev
  23. libraries: libkdcraw libkexiv2 libkipi libksquirrel pytdeextensions python-trinity
  24. applications: abakus amarok basket bibletime digikam dolphin filelight gtk-qt-engine gwenview k3b k9copy kaffeine kaffeine-mozilla katapult kbarcode kbfx kbookreader kchmviewer kcmautostart kcpuload kdbusnotification kdiff3 kdirstat kgtk-qt3 keep kile kima kiosktool kmplayer kmyfirewall kmymoney knemo knetload knetstats knights knowit knutclient koffice konversation kopete-otr kpicosim kpilot kpowersave krename krusader ksplash-engine-moodin ksquirrel kstreamripper ksystemlog ktechlab ktorrent kuickshow kvirc kvkbd piklab potracegui rosegarden smartcardauth smb4k soundkonverter tde-guidance tdeio-apt tdeio-locate tdeio-umountwrapper tderadio tde-style-lipstik tde-style-qtcurve tdesudo tdesvn tde-systemsettings tdmtheme tellico twin-style-crystal wlassistant yakuake
  25. i18n: gwenview-i18n k3b-i18n koffice-i18n tde-i18n
  26. ### Trinity Dependencies
  27. arts: tqtinterface trinity-filesystem esound cmake
  28. $(call buildpkg,dependencies/arts)
  29. avahi-tqt: tqtinterface autoconf automake libtool
  30. $(call buildpkg,dependencies/avahi-tqt)
  31. dbus-1-tqt: tqtinterface cmake
  32. $(call buildpkg,dependencies/dbus-1-tqt)
  33. dbus-tqt: tqtinterface cmake
  34. $(call buildpkg,dependencies/dbus-tqt)
  35. libcaldav: tqtinterface autoconf libcurl
  36. $(call buildpkg,dependencies/libcaldav)
  37. libcarddav: tqtinterface autoconf libcurl
  38. $(call buildpkg,dependencies/libcarddav)
  39. tqca: tqtinterface
  40. $(call buildpkg,dependencies/tqca)
  41. tqca-tls: tqtinterface tqca
  42. $(call buildpkg,dependencies/tqca-tls)
  43. qt3: esound
  44. $(call buildpkg,dependencies/qt3)
  45. tqtinterface: qt3 cmake
  46. $(call buildpkg,dependencies/tqtinterface)
  47. # Main packages
  48. tdeaccessibility: tdebase tdemultimedia
  49. $(call buildpkg,main/tdeaccessibility)
  50. tdeaddons: tdebase tdegames tdemultimedia tdenetwork tdepim
  51. $(call buildpkg,main/tdeaddons)
  52. tdeadmin: tdebase
  53. $(call buildpkg,main/tdeadmin)
  54. tdeartwork: tdebase
  55. $(call buildpkg,main/tdeartwork)
  56. tdebase: tdelibs cmake htdig fileshareset hal
  57. $(call buildpkg,main/tdebase)
  58. tdebindings: tdebase
  59. $(call buildpkg,main/tdebindings)
  60. tdeedu: tdebase
  61. $(call buildpkg,main/tdeedu)
  62. tdegames: tdebase tdemultimedia
  63. $(call buildpkg,main/tdegames)
  64. tdegraphics: tdebase poppler cmake
  65. $(call buildpkg,main/tdegraphics)
  66. tdelibs: qt3 tqtinterface arts dbus-tqt dbus-1-tqt cmake avahi-tqt fileshareset trinity-filesystem
  67. $(call buildpkg,main/tdelibs)
  68. tdemultimedia: tdebase akode
  69. $(call buildpkg,main/tdemultimedia)
  70. tdenetwork: tdebase
  71. $(call buildpkg,main/tdenetwork)
  72. tdepim: tdebase libcaldav libcarddav cmake
  73. $(call buildpkg,main/tdepim)
  74. tdesdk: tdebase tdebindings cmake
  75. $(call buildpkg,main/tdesdk)
  76. tdetoys: tdebase
  77. $(call buildpkg,main/tdetoys)
  78. tdeutils: tdebase
  79. $(call buildpkg,main/tdeutils)
  80. tdevelop: tdebase tdesdk cmake
  81. $(call buildpkg,main/tdevelop)
  82. tdewebdev: tdebase tdesdk
  83. $(call buildpkg,main/tdewebdev)
  84. ### 3rd party libraries and tools
  85. autoconf: m4
  86. # Build on CentOS 5 only
  87. ifneq ($(wildcard /boot/vmlinuz*.el5*),)
  88. $(call buildpkg,3rdparty/autoconf)
  89. endif
  90. automake:
  91. # Build on CentOS 5 only
  92. ifneq ($(wildcard /boot/vmlinuz*.el5*),)
  93. $(call buildpkg,3rdparty/automake)
  94. endif
  95. cmake:
  96. # Build on CentOS 5/6 only
  97. ifneq ($(wildcard /boot/vmlinuz*.el5* /boot/vmlinuz*.el6*),)
  98. $(call buildpkg,3rdparty/cmake)
  99. endif
  100. esound:
  101. # Build on Mageia and CentOS >= 7
  102. ifneq ($(wildcard /etc/mageia-release /boot/vmlinuz*.el7*),)
  103. $(call buildpkg,3rdparty/esound)
  104. endif
  105. gnuchess:
  106. # Build on CentOS 5, CentOS 7
  107. ifneq ($(wildcard /boot/vmlinuz*.el5* /boot/vmlinuz*.el7*),)
  108. $(call buildpkg,3rdparty/gnuchess)
  109. endif
  110. hal: hal-info
  111. # Do NOT build on CentOS 5, CentOS 6
  112. ifeq ($(wildcard /boot/vmlinuz*.el5* /boot/vmlinuz*.el6*),)
  113. $(call buildpkg,3rdparty/hal)
  114. endif
  115. hal-info:
  116. # Do NOT build on CentOS 5, CentOS 6
  117. ifeq ($(wildcard /boot/vmlinuz*.el5* /boot/vmlinuz*.el6*),)
  118. $(call buildpkg,3rdparty/hal-info)
  119. endif
  120. htdig:
  121. # build on Mageia, and CentOS >= 7
  122. ifneq ($(wildcard /etc/mageia-release /boot/vmlinuz*.el7*),)
  123. $(call buildpkg,extras/htdig)
  124. endif
  125. imlib1:
  126. # Do NOT build on Fedora, nor CentOS
  127. ifeq ($(wildcard /etc/fedora-release),)
  128. ifeq ($(wildcard /etc/centos-release),)
  129. ifeq ($(wildcard /boot/vmlinuz*.el5*),)
  130. $(call buildpkg,3rdparty/imlib1)
  131. endif
  132. endif
  133. endif
  134. libcurl: automake libtool
  135. # Build on CentOS 5 only
  136. ifneq ($(wildcard /boot/vmlinuz*.el5*),)
  137. $(call buildpkg,3rdparty/curl)
  138. endif
  139. libotr3:
  140. # Build on Mageia, CentOS >= 7
  141. ifneq ($(wildcard /etc/mageia-release /boot/vmlinuz*.el7*),)
  142. $(call buildpkg,3rdparty/libotr3)
  143. endif
  144. libtool: autoconf automake
  145. # Build on CentOS 5 only
  146. ifneq ($(wildcard /boot/vmlinuz*.el5*),)
  147. $(call buildpkg,3rdparty/libtool)
  148. endif
  149. lilypond: mftrace
  150. # Build on CentOS 6 only
  151. ifneq ($(wildcard /boot/vmlinuz*.el6*),)
  152. $(call buildpkg,3rdparty/lilypond)
  153. endif
  154. m4:
  155. # Build on CentOS 5 only (vendor-provided m4 is too old)
  156. ifneq ($(wildcard /boot/vmlinuz*.el5*),)
  157. $(call buildpkg,3rdparty/m4)
  158. endif
  159. mftrace:
  160. # Build on CentOS 6 only
  161. ifneq ($(wildcard /boot/vmlinuz*.el6*),)
  162. $(call buildpkg,3rdparty/mftrace)
  163. endif
  164. pcsc-perl:
  165. # Build on CentOS and openSUSE only
  166. ifneq ($(wildcard /etc/centos-release /etc/SuSE-release /boot/vmlinuz*.el5*),)
  167. $(call buildpkg,3rdparty/pcsc-perl)
  168. endif
  169. poppler:
  170. # Build on CentOS 5 only (vendor-provided Poppler is too old)
  171. ifneq ($(wildcard /boot/vmlinuz*.el5*),)
  172. $(call buildpkg,3rdparty/poppler)
  173. endif
  174. python-qt3: tdelibs sip
  175. $(call buildpkg,3rdparty/python-qt3)
  176. sip:
  177. # Build on CentOS 5 only (vendor-provided SIP is too old)
  178. ifneq ($(wildcard /boot/vmlinuz*.el5*),)
  179. $(call buildpkg,3rdparty/sip)
  180. endif
  181. sword:
  182. # Build on Fedora >= 20, PCLinuxOS, CentOS >= 7
  183. ifneq ($(wildcard /boot/vmlinuz*.fc20* /etc/pclinuxos-release /boot/vmlinuz*.el7*),)
  184. $(call buildpkg,3rdparty/sword)
  185. endif
  186. wv2:
  187. # Do NOT build on Mageia or openSUSE or PCLINUXOS
  188. ifeq ($(wildcard /etc/mageia-release /etc/SuSE-release /etc/pclinuxos-release),)
  189. $(call buildpkg,3rdparty/wv2)
  190. endif
  191. ### Extra packages
  192. akode: tqtinterface
  193. $(call buildpkg,extras/akode)
  194. cmake-macros: cmake
  195. ifneq ($(wildcard /etc/SuSE-release),)
  196. $(call buildpkg,extras/trinity-cmake-macros)
  197. endif
  198. ### Trinity Libraries
  199. kipi-plugins: tqtinterface libkipi
  200. $(call buildpkg,libraries/kipi-plugins)
  201. libkdcraw: tqtinterface
  202. $(call buildpkg,libraries/libkdcraw)
  203. libkexiv2: tqtinterface
  204. $(call buildpkg,libraries/libkexiv2)
  205. libkipi: tqtinterface
  206. $(call buildpkg,libraries/libkipi)
  207. libksquirrel: tqtinterface
  208. $(call buildpkg,libraries/libksquirrel)
  209. mlt: tqtinterface
  210. $(call buildpkg,libraries/mlt)
  211. pytdeextensions: tqtinterface python-trinity
  212. $(call buildpkg,libraries/pytdeextensions)
  213. python-trinity: tqtinterface python-qt3
  214. $(call buildpkg,libraries/python-trinity)
  215. ### Trinity Applications
  216. abakus: tdebase
  217. $(call buildpkg,applications/abakus)
  218. adept: tdebase
  219. $(call buildpkg,applications/adept)
  220. amarok: tdebase cmake
  221. $(call buildpkg,applications/amarok)
  222. basket: tdebase
  223. $(call buildpkg,applications/basket)
  224. bibletime: tdebase sword
  225. $(call buildpkg,applications/bibletime)
  226. compizconfig-backend-kconfig: tdebase
  227. $(call buildpkg,applications/compizconfig-backend-kconfig)
  228. desktop-effects-tde: tdebase
  229. $(call buildpkg,applications/desktop-effects-tde)
  230. digikam: tdebase libkdcraw libkexiv2 libkipi libksquirrel
  231. $(call buildpkg,applications/digikam)
  232. dolphin: tdebase
  233. $(call buildpkg,applications/dolphin)
  234. filelight: tdebase
  235. $(call buildpkg,applications/filelight)
  236. filelight-l10n: tdebase
  237. $(call buildpkg,applications/filelight-l10n)
  238. fusion-icon: tdebase
  239. $(call buildpkg,applications/fusion-icon)
  240. gtk-qt-engine: tdebase
  241. # Do NOT build on CentOS 5 (GTK2 is too old)
  242. ifeq ($(wildcard /boot/vmlinuz*.el5*),)
  243. $(call buildpkg,applications/gtk-qt-engine)
  244. endif
  245. gwenview: tdebase
  246. $(call buildpkg,applications/gwenview)
  247. k3b: tdebase
  248. $(call buildpkg,applications/k3b)
  249. k9copy: tdebase k3b
  250. $(call buildpkg,applications/k9copy)
  251. kaffeine: tdebase
  252. $(call buildpkg,applications/kaffeine)
  253. kaffeine-mozilla: tdebase kaffeine
  254. $(call buildpkg,applications/kaffeine-mozilla)
  255. katapult: tdebase
  256. $(call buildpkg,applications/katapult)
  257. kbarcode: tdebase
  258. $(call buildpkg,applications/kbarcode)
  259. kbfx: tdebase
  260. $(call buildpkg,applications/kbfx)
  261. kbookreader: tdebase
  262. $(call buildpkg,applications/kbookreader)
  263. kchmviewer: tdebase
  264. $(call buildpkg,applications/kchmviewer)
  265. kcmautostart: tdebase
  266. $(call buildpkg,applications/kcmautostart)
  267. kcpuload: tdebase
  268. $(call buildpkg,applications/kcpuload)
  269. kdbusnotification: tdebase
  270. $(call buildpkg,applications/kdbusnotification)
  271. kdiff3: tdebase
  272. $(call buildpkg,applications/kdiff3)
  273. kdirstat: tdebase
  274. $(call buildpkg,applications/kdirstat)
  275. kdpkg: tdebase
  276. $(call buildpkg,applications/kdpkg)
  277. keep: tdebase
  278. $(call buildpkg,applications/keep)
  279. kgtk-qt3: tdebase
  280. # Do NOT build on CentOS 5 (GTK2 is too old)
  281. # Do NOT build on CentOS >=7 (GTK2 is too new)
  282. # Do NOT build on Fedora >= 20 (GTK2 is too new)
  283. # Do NOT build on Mageia >= 4 (GTK2 is too new)
  284. ifeq ($(wildcard /boot/vmlinuz*.el5* /boot/vmlinuz*.el7* /boot/vmlinuz*.fc20* /boot/vmlinuz*.mga4*),)
  285. $(call buildpkg,applications/kgtk-qt3)
  286. endif
  287. kile: tdebase
  288. $(call buildpkg,applications/kile)
  289. kima: tdebase
  290. $(call buildpkg,applications/kima)
  291. kiosktool: tdebase
  292. $(call buildpkg,applications/kiosktool)
  293. kmplayer: tdebase
  294. $(call buildpkg,applications/kmplayer)
  295. kmyfirewall: tdebase
  296. $(call buildpkg,applications/kmyfirewall)
  297. kmymoney: tdebase
  298. $(call buildpkg,applications/kmymoney)
  299. knemo: tdebase
  300. $(call buildpkg,applications/knemo)
  301. knetload: tdebase
  302. $(call buildpkg,applications/knetload)
  303. knetstats: tdebase
  304. $(call buildpkg,applications/knetstats)
  305. knetworkmanager8: tdebase
  306. $(call buildpkg,applications/knetworkmanager8)
  307. knights: tdebase gnuchess
  308. $(call buildpkg,applications/knights)
  309. knowit: tdebase
  310. $(call buildpkg,applications/knowit)
  311. knutclient: tdebase
  312. $(call buildpkg,applications/knutclient)
  313. koffice: tdebase wv2
  314. $(call buildpkg,applications/koffice)
  315. konversation: tdebase
  316. $(call buildpkg,applications/konversation)
  317. kopete-otr: tdebase libotr3
  318. $(call buildpkg,applications/kopete-otr)
  319. kpicosim: tdebase
  320. $(call buildpkg,applications/kpicosim)
  321. kpilot: tdebase
  322. # Do NOT build on CentOS 5 (pilot-link library is too old)
  323. ifeq ($(wildcard /boot/vmlinuz*.el5*),)
  324. $(call buildpkg,applications/kpilot)
  325. endif
  326. kpowersave: tdebase
  327. $(call buildpkg,applications/kpowersave)
  328. krename: tdebase
  329. $(call buildpkg,applications/krename)
  330. krusader: tdebase
  331. $(call buildpkg,applications/krusader)
  332. ksplash-engine-moodin: tdebase
  333. $(call buildpkg,applications/ksplash-engine-moodin)
  334. ksquirrel: tdebase libksquirrel
  335. $(call buildpkg,applications/ksquirrel)
  336. kstreamripper: tdebase
  337. $(call buildpkg,applications/kstreamripper)
  338. ksystemlog: tdebase
  339. $(call buildpkg,applications/ksystemlog)
  340. ktechlab: tdebase
  341. $(call buildpkg,applications/ktechlab)
  342. ktorrent: tdebase
  343. $(call buildpkg,applications/ktorrent)
  344. kuickshow: tdebase imlib1
  345. $(call buildpkg,applications/kuickshow)
  346. kvirc: tdebase
  347. $(call buildpkg,applications/kvirc)
  348. kvkbd: tdebase
  349. $(call buildpkg,applications/kvkbd)
  350. piklab: tdebase
  351. $(call buildpkg,applications/piklab)
  352. potracegui: tdebase
  353. $(call buildpkg,applications/potracegui)
  354. rosegarden: tdebase lilypond
  355. # Do NOT build on CentOS 5, CentOS 7
  356. ifeq ($(wildcard /boot/vmlinuz*.el5* /boot/vmlinuz*.el7*),)
  357. $(call buildpkg,applications/rosegarden)
  358. endif
  359. smartcardauth: tdebase pcsc-perl
  360. $(call buildpkg,applications/smartcardauth)
  361. smb4k: tdebase
  362. $(call buildpkg,applications/smb4k)
  363. soundkonverter: tdebase
  364. $(call buildpkg,applications/soundkonverter)
  365. tde-guidance: tdebase pytdeextensions
  366. $(call buildpkg,applications/tde-guidance)
  367. tdeio-apt: tdebase
  368. $(call buildpkg,applications/tdeio-apt)
  369. tdeio-locate: tdebase
  370. $(call buildpkg,applications/tdeio-locate)
  371. tdeio-umountwrapper: tdebase
  372. $(call buildpkg,applications/tdeio-umountwrapper)
  373. tderadio: tdebase
  374. # Do NOT build on CentOS 7
  375. ifeq ($(wildcard /boot/vmlinuz*.el7*),)
  376. $(call buildpkg,applications/tderadio)
  377. endif
  378. tde-style-lipstik: tdebase
  379. $(call buildpkg,applications/tde-style-lipstik)
  380. tde-style-qtcurve: tdebase
  381. $(call buildpkg,applications/tde-style-qtcurve)
  382. tdesudo: tdebase
  383. $(call buildpkg,applications/tdesudo)
  384. tdesvn: tdebase
  385. $(call buildpkg,applications/tdesvn)
  386. tde-systemsettings: tdebase
  387. $(call buildpkg,applications/tde-systemsettings)
  388. tdmtheme: tdebase
  389. $(call buildpkg,applications/tdmtheme)
  390. tellico: tdebase
  391. $(call buildpkg,applications/tellico)
  392. twin-style-crystal: tdebase
  393. $(call buildpkg,applications/twin-style-crystal)
  394. wlassistant: tdebase
  395. $(call buildpkg,applications/wlassistant)
  396. yakuake: tdebase
  397. $(call buildpkg,applications/yakuake)
  398. ### Trinity Translations
  399. gwenview-i18n: tdebase
  400. $(call buildpkg,applications/gwenview-i18n)
  401. k3b-i18n: tdebase
  402. $(call buildpkg,applications/k3b-i18n)
  403. koffice-i18n: tdebase
  404. $(call buildpkg,applications/koffice-i18n)
  405. tde-i18n: tdebase cmake
  406. $(call buildpkg,tde-i18n)
  407. ### Meta packages
  408. meta:
  409. $(call buildpkg,extras/trinity-desktop)
  410. ### Extra packages
  411. fileshareset:
  412. $(call buildpkg,extras/fileshareset)
  413. trinity-filesystem:
  414. $(call buildpkg,extras/trinity-filesystem)
  415. ksensors:
  416. $(call buildpkg,applications/ksensors)