(define-module (ryan-packages gtk)
               #:use-module (guix packages)
               #:use-module (guix download)
               #:use-module (guix utils)
               #:use-module (gnu packages)
               #:use-module (gnu packages glib)
               #:use-module (gnu packages cmake)
               #:use-module (gnu packages gtk))

(define-public glibmm-2.66
  (package
    (inherit glibmm-2.64)
    (name "glibmm")
    (version "2.66.5")
    (source
      (origin
        (method url-fetch)
        (uri
          (string-append "mirror://gnome/sources/glibmm/"
                         (version-major+minor version)
                         "/glibmm-" version ".tar.xz"))
        (sha256
          (base32 "0jf1drbb585lcyvh45krkbcjpnq5mwr1scvh0mnbihvfvmi4cf3v"))))))

(define-public pangomm-ryan
  (package
    (inherit pangomm-2.46)
    (propagated-inputs (modify-inputs (package-propagated-inputs pangomm-2.46) (replace "glibmm" glibmm-2.66)))))

(define-public atkmm-ryan
  (package
    (inherit atkmm-2.28)
    (propagated-inputs (modify-inputs (package-propagated-inputs atkmm-2.28) (replace "glibmm" glibmm-2.66)))))

(define-public cairomm-ryan
  (package
    (inherit cairomm-1.14)
    (propagated-inputs (modify-inputs (package-propagated-inputs cairomm-1.14) (replace "glibmm" glibmm-2.66)))))

(define-public gtkmm-ryan
  (package
    (inherit gtkmm-3)
    (propagated-inputs (list gtk+ glibmm cairomm-1.14 atkmm-ryan pangomm-ryan))))

gtkmm-ryan