summaryrefslogtreecommitdiff
path: root/px/packages/package-management.scm
blob: c296c6d06c6299e31b0c14e70b60d11a97a846be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
(define-module (px packages package-management)
  #:use-module (guix build-system python)
  #:use-module (guix build-system cmake)
  #:use-module (guix build-system trivial)
  #:use-module (guix download)
  #:use-module (guix packages)
  #:use-module ((guix licenses)
                #:prefix license:)
  #:use-module (gnu packages)
  #:use-module (gnu packages serialization)
  #:use-module (gnu packages python-build)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages databases)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages qt)
  #:use-module (px packages library))

(define-public px
  (package
    (name "px")
    (version "0.0.21")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://source.pantherx.org/" name "_v" version
                           ".tgz"))
       (sha256
        (base32 "1zinc00ys5byjhxx7gl2rspd572kqsvdvaxab7g5wajpknsnh87d"))))
    (build-system python-build-system)
    (arguments
     `(#:tests? #f
       #:phases (modify-phases %standard-phases
                  (delete 'sanity-check))))
    (inputs `(("python-appdirs" ,python-appdirs)))
    (home-page "https://www.pantherx.org/")
    (synopsis "px is a guix overlay that aims to automate certain steps")
    (description
     "This package provides a number of helpers that combine repetitive
guix commands into one-liners; for ex. px update apply.")
    (license license:gpl3)))

(define-public px-unattended-upgrades
  (package
    (name "px-unattended-upgrades")
    (version "0.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://source.pantherx.org/" name "_v" version
                           ".tgz"))
       (sha256
        (base32 "0qzkx32wyfy8i12zcfx761kbd8nmxlw6ihcgqpycjkb3f2qgfs05"))))
    (build-system python-build-system)
    (arguments
     `(#:tests? #f
       #:phases (modify-phases %standard-phases
                  (delete 'sanity-check))))
    (inputs `(("px" ,px)
              ("python-appdirs" ,python-appdirs)
              ("python-psutil" ,python-psutil)))
    (home-page "https://www.pantherx.org/")
    (synopsis "Unattended upgrades limited to run once per boot")
    (description
     "Unattended upgrades are to be run as root system service or via cron
and simply prevent running the upgrade twice before rebooting.")
    (license license:expat)))

(define-public guix-tools
  (package
    (name "guix-tools")
    (version "0.1.10")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://source.pantherx.org/guix-tools_v" version
                           ".tgz"))
       (sha256
        (base32 "0b6z2fx5prkibdqsc2n13v322jcl9h29h9g0r67556h21x8f84n8"))))
    (build-system cmake-build-system)
    (arguments
     `(#:tests? #f))
    (inputs `(("guile-json" ,guile-json-1)
              ("guile" ,guile-3.0)))
    (native-inputs `(("pkg-config" ,pkg-config)))
    (home-page "https://www.pantherx.org/")
    (synopsis "PantherX guix tools to automate guix related tasks")
    (description "Automate `guix` package manager tasks using scheme scripts.
this tool is developed for PantherX team internal usage.")
    (license license:expat)))

(define-public px-software-assets-meta
  (package
    (name "px-software-assets-meta")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (string-append
             "https://assets.software.pantherx.org/px-software-assets_meta_"
             version ".tgz"))
       (sha256
        (base32 "0wd4gnsy9sw3cbm8b587qkscap7ljr0hbg6hk2c7pjy69rq0q5nr"))))
    (build-system trivial-build-system)
    (arguments
     `(#:modules ((guix build utils))
       #:builder (begin
                   (use-modules (guix build utils)
                                (srfi srfi-26))
                   (let* ((source (assoc-ref %build-inputs "source"))
                          (tar (assoc-ref %build-inputs "tar"))
                          (gzip (assoc-ref %build-inputs "gzip"))
                          (wiki-dir (string-append %output
                                     "/share/px-software-assets-meta")))
                     (mkdir-p wiki-dir)
                     (setenv "PATH"
                             (string-append gzip "/bin"))
                     (invoke (string-append tar "/bin/tar") "xvf" source "-C"
                             wiki-dir)))))
    (native-inputs `(("tar" ,tar)
                     ("gzip" ,gzip)))
    (inputs `(("bash" ,bash)))
    (home-page
     "https://git.pantherx.org/development/applications/px-software-assets/")
    (synopsis "PantherX Software Assets meta file.")
    (description "PantherX Software Assets meta file.")
    (license license:expat)))

(define-public px-software
  (package
    (name "px-software")
    (version "0.3.7")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://source.pantherx.org/px-software_v" version
                           ".tgz"))
       (sha256
        (base32 "069hcfw6jm3yhb04n16yma9nh7zlm11szw0an6zhraz3rigr1w8w"))))
    (build-system cmake-build-system)
    (arguments
     `(#:tests? #f
       #:phases (modify-phases %standard-phases
                  (add-after 'install 'set-executable
                    (lambda* (#:key outputs #:allow-other-keys)
                      (let ((out (assoc-ref outputs "out")))
                        (invoke "chmod" "755"
                                (string-append out
                                 "/bin/px-software-update-check")) #t))))))
    (inputs `(("yaml-cpp" ,yaml-cpp)))
    (native-inputs `(("guile" ,guile-3.0-latest)
                     ("recutils" ,recutils)
                     ("px-gui-library" ,px-gui-library)
                     ("qtbase" ,qtbase-5)
                     ("qtlinguist" ,qttools-5)
                     ("zlib" ,zlib)))
    (home-page "https://www.pantherx.org/")
    (synopsis "PantherX Software")
    (description "Software Application for PantherX")
    (license license:gpl3)))