@@ -28,6 +28,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages elf)
+ #:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
@@ -340,3 +341,39 @@ (define-public libdwarf
debugging information format.")
;; See https://www.prevanders.net/dwarflicense.html:
(license (list lgpl2.1 gpl2 bsd-2))))
+
+(define-public melkor
+ (let ((commit "ac2495bef2a744e7931537e023b1129229b001c4")
+ (revision "8"))
+ (package
+ (name "melkor")
+ (version (git-version "1.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/romainthomas/elf_fuzzer")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1czg0dgvzxcsi04myjvvdcl3vcf59d5l328ydmm01lh892wdf4dy"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ;No tests.
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (format #f "INSTALLPATH=~a/bin/" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; No configure script.
+ (delete 'configure)
+ (add-before 'install 'create-/bin
+ (lambda _
+ (mkdir-p (string-append #$output "/bin")))))))
+ ;; Fork of <https://github.com/IOActive/Melkor_ELF_Fuzzer>
+ (home-page "https://github.com/romainthomas/elf_fuzzer")
+ (synopsis "ELF File Format Fuzzer")
+ (description
+ "Melkor is an intuitive and easy-to-use ELF file format fuzzer for
+finding functional and security bugs in ELF parsers.")
+ (license gpl3+))))