Merge branch 'master' into staging
[jackhill/guix/guix.git] / gnu / packages / file.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
4 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
5 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
6 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
7 ;;;
8 ;;; This file is part of GNU Guix.
9 ;;;
10 ;;; GNU Guix is free software; you can redistribute it and/or modify it
11 ;;; under the terms of the GNU General Public License as published by
12 ;;; the Free Software Foundation; either version 3 of the License, or (at
13 ;;; your option) any later version.
14 ;;;
15 ;;; GNU Guix is distributed in the hope that it will be useful, but
16 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;;; GNU General Public License for more details.
19 ;;;
20 ;;; You should have received a copy of the GNU General Public License
21 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23 (define-module (gnu packages file)
24 #:use-module (gnu packages)
25 #:use-module (guix licenses)
26 #:use-module (guix packages)
27 #:use-module (guix download)
28 #:use-module (guix build-system gnu))
29
30 (define-public file
31 (package
32 (name "file")
33 (version "5.33")
34 (replacement file/fixed)
35 (source (origin
36 (method url-fetch)
37 (uri (string-append "ftp://ftp.astron.com/pub/file/file-"
38 version ".tar.gz"))
39 (sha256
40 (base32
41 "1iipnwjkag7q04zjkaqic41r9nlw0ml6mhqian6qkkbisb1whlhw"))))
42 (build-system gnu-build-system)
43
44 ;; When cross-compiling, this package depends upon a native install of
45 ;; itself.
46 (self-native-input? #t)
47
48 (synopsis "File type guesser")
49 (description
50 "The file command is a file type guesser, a command-line tool that tells
51 you in words what kind of data a file contains. It does not rely on filename
52 extensions to tell you the type of a file, but looks at the actual contents
53 of the file. This package provides the libmagic library.")
54 (license bsd-2)
55 (home-page "https://www.darwinsys.com/file/")))
56
57 (define file/fixed
58 (package
59 (inherit file)
60 (source
61 (origin (inherit (package-source file))
62 (patches (search-patches "file-CVE-2018-10360.patch"))))))