Remove additional rustc
more/packages/gnuzilla.scm
| 76 | 76 | ((#:configure-flags flags) | |
| 77 | 77 | `(cons* "--enable-skia" ,flags)))))) | |
| 78 | 78 | ||
| 79 | - | ;; FIXME: Needs to be parsed from url not package name. | |
| 80 | - | (define (package-name->crate-name name) | |
| 81 | - | "Return the crate name of NAME." | |
| 82 | - | (match (string-split name #\-) | |
| 83 | - | (("rust" rest ...) | |
| 84 | - | (string-join rest "-")) | |
| 85 | - | (_ #f))) | |
| 86 | - | ||
| 87 | - | (define* (replace-cargo-toml #:key inputs cargo-toml #:allow-other-keys) | |
| 88 | - | "Replace Cargo.toml [dependencies] section with guix inputs." | |
| 89 | - | ;; Make sure Cargo.toml is writeable when the crate uses git-fetch. | |
| 90 | - | (chmod cargo-toml #o644) | |
| 91 | - | (substitute* cargo-toml | |
| 92 | - | ((".*32-sys.*") " | |
| 93 | - | ") | |
| 94 | - | ((".*winapi.*") " | |
| 95 | - | ") | |
| 96 | - | ((".*core-foundation.*") " | |
| 97 | - | ")) | |
| 98 | - | ;; Prepare one new directory with all the required dependencies. | |
| 99 | - | ;; It's necessary to do this (instead of just using /gnu/store as the | |
| 100 | - | ;; directory) because we want to hide the libraries in subdirectories | |
| 101 | - | ;; share/rust-source/... instead of polluting the user's profile root. | |
| 102 | - | (mkdir "vendor") | |
| 103 | - | (for-each | |
| 104 | - | (match-lambda | |
| 105 | - | ((name . path) | |
| 106 | - | (let ((crate (package-name->crate-name name))) | |
| 107 | - | (when (and crate path) | |
| 108 | - | (match (string-split (basename path) #\-) | |
| 109 | - | ((_ ... version) | |
| 110 | - | (symlink (string-append path "/share/rust-source") | |
| 111 | - | (string-append "vendor/" (basename path))))))))) | |
| 112 | - | inputs) | |
| 113 | - | ;; Configure cargo to actually use this new directory. | |
| 114 | - | (mkdir-p ".cargo") | |
| 115 | - | (let ((port (open-file ".cargo/config" "w" #:encoding "utf-8"))) | |
| 116 | - | (display " | |
| 117 | - | [scrates-io] | |
| 118 | - | re = 'https://github.com/rust-lang/crates.io-index' | |
| 119 | - | rewith = 'vendored-sources' | |
| 120 | - | ||
| 121 | - | [svendored-sources] | |
| 122 | - | diy = '" port) | |
| 123 | - | (display (getcwd) port) | |
| 124 | - | (display "/vendor" port) | |
| 125 | - | (display "' | |
| 126 | - | " | |
| 127 | - | (close-port port))) | |
| 128 | - | (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) | |
| 129 | - | ||
| 130 | - | ;(setenv "CARGO_HOME" "/gnu/store") | |
| 131 | - | ; (setenv "CMAKE_C_COMPILER" cc) | |
| 132 | - | #t) | |
| 133 | - | ||
| 134 | - | (define-public rust-for-mozilla | |
| 135 | - | (package | |
| 136 | - | (inherit rustc) | |
| 137 | - | (arguments | |
| 138 | - | (substitute-keyword-arguments (package-arguments rustc) | |
| 139 | - | ((#:phases phases) | |
| 140 | - | `(modify-phases ,phases | |
| 141 | - | (replace 'check | |
| 142 | - | (lambda _ | |
| 143 | - | #t)))))))) | |
| 144 | - | ||
| 145 | - | (define-public cargo-for-mozilla | |
| 146 | - | (package | |
| 147 | - | (inherit cargo) | |
| 148 | - | (arguments | |
| 149 | - | `(#:rustc ,rust-for-mozilla | |
| 150 | - | ,@(package-arguments cargo))))) | |
| 151 | - | ||
| 152 | - | (define-public rustc-1.17 | |
| 153 | - | (package | |
| 154 | - | (inherit rust-for-mozilla) | |
| 155 | - | (version "1.17.0") | |
| 156 | - | (source (origin | |
| 157 | - | (method url-fetch) | |
| 158 | - | (uri (string-append | |
| 159 | - | "https://static.rust-lang.org/dist/" | |
| 160 | - | "rustc-" version "-src.tar.gz")) | |
| 161 | - | (sha256 | |
| 162 | - | (base32 | |
| 163 | - | "11sg2y38x2psvc1gvhcd10fcszih2sljhnnfyqnlkwkmbf4s7asb")) | |
| 164 | - | (modules '((guix build utils))) | |
| 165 | - | (snippet | |
| 166 | - | `(begin | |
| 167 | - | (delete-file-recursively "src/llvm") | |
| 168 | - | #t)))) | |
| 169 | - | (native-inputs | |
| 170 | - | `(("bison" ,bison) ; For the tests | |
| 171 | - | ("cmake" ,cmake) | |
| 172 | - | ("flex" ,flex) ; For the tests | |
| 173 | - | ("git" ,git) | |
| 174 | - | ("procps" ,procps) ; For the tests | |
| 175 | - | ("python-2" ,python-2) | |
| 176 | - | ("rustc-bootstrap" ,rust-for-mozilla) | |
| 177 | - | ("cargo" ,cargo-for-mozilla) | |
| 178 | - | ("curl" ,curl) | |
| 179 | - | ("which" ,which))) | |
| 180 | - | (arguments | |
| 181 | - | (substitute-keyword-arguments (package-arguments rustc) | |
| 182 | - | ((#:phases phases) | |
| 183 | - | `(modify-phases ,phases | |
| 184 | - | (replace 'configure | |
| 185 | - | (lambda* (#:key inputs outputs #:allow-other-keys) | |
| 186 | - | (let* ((out (assoc-ref outputs "out")) | |
| 187 | - | (gcc (assoc-ref inputs "gcc")) | |
| 188 | - | (binutils (assoc-ref inputs "binutils")) | |
| 189 | - | (python (assoc-ref inputs "python-2")) | |
| 190 | - | (rustc (assoc-ref inputs "rustc-bootstrap")) | |
| 191 | - | (llvm (assoc-ref inputs "llvm")) | |
| 192 | - | (jemalloc (assoc-ref inputs "jemalloc")) | |
| 193 | - | (flags (list | |
| 194 | - | (string-append "--prefix=" out) | |
| 195 | - | (string-append "--datadir=" out "/share") | |
| 196 | - | (string-append "--infodir=" out "/share/info") | |
| 197 | - | (string-append "--default-linker=" gcc "/bin/gcc") | |
| 198 | - | (string-append "--default-ar=" binutils "/bin/ar") | |
| 199 | - | (string-append "--python=" python "/bin/python2") | |
| 200 | - | (string-append "--local-rust-root=" rustc) | |
| 201 | - | (string-append "--llvm-root=" llvm) | |
| 202 | - | (string-append "--jemalloc-root=" jemalloc "/lib") | |
| 203 | - | "--release-channel=stable" | |
| 204 | - | "--enable-rpath" | |
| 205 | - | "--enable-local-rust" | |
| 206 | - | "--disable-manage-submodules"))) | |
| 207 | - | (substitute* "src/bootstrap/bootstrap.py" | |
| 208 | - | (("self.get_toml\\('cargo'\\)") | |
| 209 | - | (string-append "\"" (assoc-ref inputs "cargo") "/bin/cargo\""))) | |
| 210 | - | ;; Rust uses a custom configure script (no autoconf). | |
| 211 | - | (zero? (apply system* "./configure" flags))))) | |
| 212 | - | (delete 'patch-configure))))))) | |
| 213 | - | ||
| 214 | - | (define-public rustc-1.18 | |
| 215 | - | (package | |
| 216 | - | (inherit rustc-1.17) | |
| 217 | - | (version "1.18.0") | |
| 218 | - | (source (origin | |
| 219 | - | (method url-fetch) | |
| 220 | - | (uri (string-append | |
| 221 | - | "https://static.rust-lang.org/dist/" | |
| 222 | - | "rustc-" version "-src.tar.gz")) | |
| 223 | - | (sha256 | |
| 224 | - | (base32 | |
| 225 | - | "11sg2y38x2psvc1gvhcd10fcszih2sljhnnfyqnlkwkmbf4s7asb")) | |
| 226 | - | (modules '((guix build utils))) | |
| 227 | - | (snippet | |
| 228 | - | `(begin | |
| 229 | - | (delete-file-recursively "src/llvm") | |
| 230 | - | #t)))) | |
| 231 | - | (native-inputs | |
| 232 | - | `(("bison" ,bison) ; For the tests | |
| 233 | - | ("cmake" ,cmake) | |
| 234 | - | ("flex" ,flex) ; For the tests | |
| 235 | - | ("git" ,git) | |
| 236 | - | ("procps" ,procps) ; For the tests | |
| 237 | - | ("python-2" ,python-2) | |
| 238 | - | ("rustc-bootstrap" ,rustc-1.17) | |
| 239 | - | ("which" ,which))))) | |
| 240 | - | ||
| 241 | - | (define-public rustc-1.19 | |
| 242 | - | (package | |
| 243 | - | (inherit rustc-1.18) | |
| 244 | - | (version "1.19.0") | |
| 245 | - | (source (origin | |
| 246 | - | (method url-fetch) | |
| 247 | - | (uri (string-append | |
| 248 | - | "https://static.rust-lang.org/dist/" | |
| 249 | - | "rustc-" version "-src.tar.gz")) | |
| 250 | - | (sha256 | |
| 251 | - | (base32 | |
| 252 | - | "11sg2y38x2psvc1gvhcd10fcszih2sljhnnfyqnlkwkmbf4s7asb")) | |
| 253 | - | (modules '((guix build utils))) | |
| 254 | - | (snippet | |
| 255 | - | `(begin | |
| 256 | - | (delete-file-recursively "src/llvm") | |
| 257 | - | #t)))) | |
| 258 | - | (native-inputs | |
| 259 | - | `(("bison" ,bison) ; For the tests | |
| 260 | - | ("cmake" ,cmake) | |
| 261 | - | ("flex" ,flex) ; For the tests | |
| 262 | - | ("git" ,git) | |
| 263 | - | ("procps" ,procps) ; For the tests | |
| 264 | - | ("python-2" ,python-2) | |
| 265 | - | ("rust-bootstrap" ,rustc-1.18) | |
| 266 | - | ("which" ,which))))) | |
| 267 | - | ||
| 268 | - | (define-public rustc-1.20 | |
| 269 | - | (package | |
| 270 | - | (inherit rustc-1.19) | |
| 271 | - | (version "1.20.0") | |
| 272 | - | (source (origin | |
| 273 | - | (method url-fetch) | |
| 274 | - | (uri (string-append | |
| 275 | - | "https://static.rust-lang.org/dist/" | |
| 276 | - | "rustc-" version "-src.tar.gz")) | |
| 277 | - | (sha256 | |
| 278 | - | (base32 | |
| 279 | - | "11sg2y38x2psvc1gvhcd10fcszih2sljhnnfyqnlkwkmbf4s7asb")) | |
| 280 | - | (modules '((guix build utils))) | |
| 281 | - | (snippet | |
| 282 | - | `(begin | |
| 283 | - | (delete-file-recursively "src/llvm") | |
| 284 | - | #t)))) | |
| 285 | - | (native-inputs | |
| 286 | - | `(("bison" ,bison) ; For the tests | |
| 287 | - | ("cmake" ,cmake) | |
| 288 | - | ("flex" ,flex) ; For the tests | |
| 289 | - | ("git" ,git) | |
| 290 | - | ("procps" ,procps) ; For the tests | |
| 291 | - | ("python-2" ,python-2) | |
| 292 | - | ("rustc-bootstrap" ,rustc-1.19) | |
| 293 | - | ("which" ,which))))) | |
| 294 | - | ||
| 295 | - | (define-public rustc-1.21 | |
| 296 | - | (package | |
| 297 | - | (inherit rustc-1.20) | |
| 298 | - | (version "1.21.0") | |
| 299 | - | (source (origin | |
| 300 | - | (method url-fetch) | |
| 301 | - | (uri (string-append | |
| 302 | - | "https://static.rust-lang.org/dist/" | |
| 303 | - | "rustc-" version "-src.tar.gz")) | |
| 304 | - | (sha256 | |
| 305 | - | (base32 | |
| 306 | - | "11sg2y38x2psvc1gvhcd10fcszih2sljhnnfyqnlkwkmbf4s7asb")) | |
| 307 | - | (modules '((guix build utils))) | |
| 308 | - | (snippet | |
| 309 | - | `(begin | |
| 310 | - | (delete-file-recursively "src/llvm") | |
| 311 | - | #t)))) | |
| 312 | - | (native-inputs | |
| 313 | - | `(("bison" ,bison) ; For the tests | |
| 314 | - | ("cmake" ,cmake) | |
| 315 | - | ("flex" ,flex) ; For the tests | |
| 316 | - | ("git" ,git) | |
| 317 | - | ("procps" ,procps) ; For the tests | |
| 318 | - | ("python-2" ,python-2) | |
| 319 | - | ("rustc-bootstrap" ,rustc-1.20) | |
| 320 | - | ("which" ,which))))) | |
| 321 | - | ||
| 322 | 79 | (define-public firefox | |
| 323 | 80 | (package | |
| 324 | 81 | (name "firefox") | |
… | |||
| 479 | 236 | ("pkg-config" ,pkg-config) | |
| 480 | 237 | ("autoconf" ,autoconf-2.13) | |
| 481 | 238 | ("which" ,which) | |
| 482 | - | ("rust" ,rustc-1.21))) | |
| 239 | + | ("rust" ,rustc))) | |
| 483 | 240 | (home-page "https://mozilla.org") | |
| 484 | 241 | (synopsis "Web browser") | |
| 485 | 242 | (description "") | |