Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

185 рядки
7.3 KiB

  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
  3. ;;;
  4. ;;; This file is part of GNU Guix.
  5. ;;;
  6. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; GNU Guix is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. (define-module (gnu packages qt)
  19. #:use-module ((guix licenses) #:select (lgpl2.1 x11-style))
  20. #:use-module (guix packages)
  21. #:use-module (guix download)
  22. #:use-module (guix build-system gnu)
  23. #:use-module (gnu packages)
  24. #:use-module (gnu packages bison)
  25. #:use-module (gnu packages compression)
  26. #:use-module (gnu packages fontutils)
  27. #:use-module (gnu packages glib)
  28. #:use-module (gnu packages icu4c)
  29. #:use-module (gnu packages libjpeg)
  30. #:use-module (gnu packages libpng)
  31. #:use-module (gnu packages linux)
  32. #:use-module (gnu packages mysql)
  33. #:use-module (gnu packages openssl)
  34. #:use-module (gnu packages perl)
  35. #:use-module (gnu packages pkg-config)
  36. #:use-module (gnu packages pulseaudio)
  37. #:use-module (gnu packages python)
  38. #:use-module (gnu packages xorg))
  39. (define-public libxkbcommon
  40. (package
  41. (name "libxkbcommon")
  42. (version "0.3.1")
  43. (source (origin
  44. (method url-fetch)
  45. (uri (string-append "http://xkbcommon.org/download/" name "-"
  46. version ".tar.xz"))
  47. (sha256
  48. (base32
  49. "13mk335r4dhi9qglzbp46ina1wz4qgcp8r7s06iq7j50pf0kb5ww"))))
  50. (build-system gnu-build-system)
  51. (inputs
  52. `(("bison" ,bison)))
  53. (home-page "http://xkbcommon.org/")
  54. (synopsis "library to handle keyboard descriptions")
  55. (description "Xkbcommon is a library to handle keyboard descriptions,
  56. including loading them from disk, parsing them and handling their
  57. state. It is mainly meant for client toolkits, window systems, and other
  58. system applications; currently that includes Wayland, kmscon, GTK+, Qt,
  59. Clutter, and more. Despite the name, it is not currently used by anything
  60. X11 (yet).")
  61. (license (x11-style "file://COPYING"
  62. "See 'COPYING' in the distribution."))))
  63. (define-public qt
  64. (package
  65. (name "qt")
  66. (version "5.1.1")
  67. (source (origin
  68. (method url-fetch)
  69. (uri (string-append "http://download.qt-project.org/official_releases/qt/"
  70. (string-copy version 0 (string-rindex version #\.))
  71. "/" version
  72. "/single/qt-everywhere-opensource-src-"
  73. version ".tar.gz"))
  74. (sha256
  75. (base32
  76. "1xl6n4ai0yfknaiawgyr0cyixk0d2j4262k13mmyj993nlnp81ac"))))
  77. (build-system gnu-build-system)
  78. (propagated-inputs
  79. `(("mesa" ,mesa)))
  80. (inputs
  81. ;; FIXME: Add input ruby once available.
  82. `(("alsa-lib" ,alsa-lib)
  83. ("dbus" ,dbus)
  84. ("fontconfig" ,fontconfig)
  85. ("freetype" ,freetype)
  86. ("glib" ,glib)
  87. ("icu4c" ,icu4c)
  88. ;; FIXME: Switch to current libjpeg with qt 5.1.2, see
  89. ;; https://qt.gitorious.org/qt/qt/commit/2a9ea11f4dea51f9e75036aab8e7a23f0eb4bd1f/diffs
  90. ("libjpeg" ,libjpeg-8)
  91. ("libpng" ,libpng)
  92. ("libx11" ,libx11)
  93. ("libxi" ,libxi)
  94. ("libxkbcommon" ,libxkbcommon)
  95. ("libxrender" ,libxrender)
  96. ("mysql" ,mysql)
  97. ("openssl" ,openssl)
  98. ("perl" ,perl)
  99. ("pkg-config" ,pkg-config)
  100. ("pulseaudio" ,pulseaudio)
  101. ("python-wrapper" ,python-wrapper)
  102. ("xcb-util" ,xcb-util)
  103. ("xcb-util-image" ,xcb-util-image)
  104. ("xcb-util-keysyms" ,xcb-util-keysyms)
  105. ("xcb-util-renderutil" ,xcb-util-renderutil)
  106. ("xcb-util-wm" ,xcb-util-wm)
  107. ("zlib" ,zlib)))
  108. (arguments
  109. `(#:phases
  110. (alist-replace
  111. 'configure
  112. (lambda* (#:key outputs #:allow-other-keys)
  113. (let ((out (assoc-ref outputs "out")))
  114. (substitute* '("configure" "qtbase/configure")
  115. (("/bin/pwd") (which "pwd")))
  116. ;; do not pass "--enable-fast-install", which makes the
  117. ;; configure process fail
  118. (zero? (system* "./configure"
  119. "-verbose"
  120. "-prefix" out
  121. "-opensource"
  122. "-confirm-license"
  123. ;; drop all special machine instructions
  124. "-no-sse2"
  125. "-no-sse3"
  126. "-no-ssse3"
  127. "-no-sse4.1"
  128. "-no-sse4.2"
  129. "-no-avx"
  130. "-no-avx2"
  131. "-no-neon"
  132. "-no-mips_dsp"
  133. "-no-mips_dspr2"))))
  134. %standard-phases)))
  135. (home-page "http://qt-project.org/")
  136. (synopsis "Cross-platform GUI library")
  137. (description "Qt is a cross-platform application and UI framework for
  138. developers using C++ or QML, a CSS & JavaScript like language.")
  139. (license lgpl2.1)))
  140. (define-public qt-4
  141. (package (inherit qt)
  142. (version "4.8.5")
  143. (source (origin
  144. (method url-fetch)
  145. (uri (string-append "http://download.qt-project.org/official_releases/qt/"
  146. (string-copy version 0 (string-rindex version #\.))
  147. "/" version
  148. "/qt-everywhere-opensource-src-"
  149. version ".tar.gz"))
  150. (sha256
  151. (base32
  152. "0f51dbgn1dcck8pqimls2qyf1pfmsmyknh767cvw87c3d218ywpb"))
  153. (patches (list (search-patch "qt4-tests.patch")))))
  154. (arguments
  155. `(#:phases
  156. (alist-replace
  157. 'configure
  158. (lambda* (#:key outputs #:allow-other-keys)
  159. (let ((out (assoc-ref outputs "out")))
  160. (substitute* '("configure")
  161. (("/bin/pwd") (which "pwd")))
  162. ;; do not pass "--enable-fast-install", which makes the
  163. ;; configure process fail
  164. (zero? (system* "./configure"
  165. "-verbose"
  166. "-prefix" out
  167. "-opensource"
  168. "-confirm-license"
  169. ;; drop all special machine instructions
  170. "-no-mmx"
  171. "-no-3dnow"
  172. "-no-sse"
  173. "-no-sse2"
  174. "-no-sse3"
  175. "-no-ssse3"
  176. "-no-sse4.1"
  177. "-no-sse4.2"
  178. "-no-avx"
  179. "-no-neon"))))
  180. %standard-phases)))))