From 2cde4a967d162dc46cc1f6967ed21b196c14c338 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Sep 2019 21:52:18 +0200 Subject: gnu: Add python-jupyter-protocol. * gnu/packages/jupyter.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 3f32b9cbf2..1aaab0ebf0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -270,6 +270,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/jrnl.scm \ %D%/packages/jose.scm \ %D%/packages/julia.scm \ + %D%/packages/jupyter.scm \ %D%/packages/kawa.scm \ %D%/packages/kde.scm \ %D%/packages/kde-frameworks.scm \ -- cgit v1.2.3 From 52211add0b125be7e8a00bea2b3b030286109022 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Sun, 8 Sep 2019 14:36:33 -0700 Subject: gnu: Move diffoscope and trydiffoscope to new diffoscope.scm. * gnu/packages/package-management (diffoscope): Remove variable. (trydiffoscope): Remove variable. Update copyright information. * gnu/packages/diffoscope.scm: New file. (diffoscope): Add variable. (trydiffoscope): Add variable. * gnu/local.mk [GNU_SYSTEM_MODULES]: Add diffoscope.scm. --- gnu/local.mk | 1 + gnu/packages/diffoscope.scm | 231 ++++++++++++++++++++++++++++++++++++ gnu/packages/package-management.scm | 183 ---------------------------- 3 files changed, 232 insertions(+), 183 deletions(-) create mode 100644 gnu/packages/diffoscope.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 1aaab0ebf0..1062bdcafe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -143,6 +143,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/dejagnu.scm \ %D%/packages/dico.scm \ %D%/packages/dictionaries.scm \ + %D%/packages/diffoscope.scm \ %D%/packages/digest.scm \ %D%/packages/direct-connect.scm \ %D%/packages/disk.scm \ diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm new file mode 100644 index 0000000000..6eb5c1d9fe --- /dev/null +++ b/gnu/packages/diffoscope.scm @@ -0,0 +1,231 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018 Julien Lepiller +;;; Copyright © 2018, 2019 Rutger Helling +;;; Copyright © 2019 Vagrant Cascadian +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages diffoscope) + #:use-module (gnu packages) + #:use-module (gnu packages acl) + #:use-module (gnu packages admin) + #:use-module (gnu packages backup) + #:use-module (gnu packages base) + #:use-module (gnu packages cdrom) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages cpio) + #:use-module (gnu packages dbm) + #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages haskell) + #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages java) + #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) + #:use-module (gnu packages mono) + #:use-module (gnu packages package-management) + #:use-module (gnu packages patchutils) + #:use-module (gnu packages pdf) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages ssh) + #:use-module (gnu packages textutils) + #:use-module (gnu packages video) + #:use-module (gnu packages vim) + #:use-module (guix build-system python) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils)) + +(define-public diffoscope + (let ((version "123")) + (package + (name "diffoscope") + (version version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/reproducible-builds/diffoscope.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11bxms5rkhi0v4pxx29v4qgvhp3fmf0fkzci6gn5xcv4fl1zy4wj")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + ;; setup.py mistakenly requires python-magic from PyPi, even + ;; though the Python bindings of `file` are sufficient. + ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 + (add-after 'unpack 'dependency-on-python-magic + (lambda _ + (substitute* "setup.py" + (("'python-magic',") "")))) + ;; This test is broken because our `file` package has a + ;; bug in berkeley-db file type detection. + (add-after 'unpack 'remove-berkeley-test + (lambda _ + (delete-file "tests/comparators/test_berkeley_db.py") + #t)) + ;; Test is dynamically generated and may have false + ;; negatives with different ocaml versions. Further + ;; background in: https://bugs.debian.org/939386 + (add-after 'unpack 'remove-ocaml-test + (lambda _ + (delete-file "tests/comparators/test_ocaml.py") + #t)) + (add-after 'unpack 'embed-tool-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "diffoscope/comparators/utils/compare.py" + (("\\['xxd',") + (string-append "['" (which "xxd") "',"))) + (substitute* "diffoscope/comparators/elf.py" + (("@tool_required\\('readelf'\\)") "") + (("get_tool_name\\('readelf'\\)") + (string-append "'" (which "readelf") "'"))) + (substitute* "diffoscope/comparators/directory.py" + (("@tool_required\\('stat'\\)") "") + (("@tool_required\\('getfacl'\\)") "") + (("\\['stat',") + (string-append "['" (which "stat") "',")) + (("\\['getfacl',") + (string-append "['" (which "getfacl") "',"))) + #t)) + (add-before 'check 'writable-test-data + (lambda _ + ;; tests may need needs write access to tests + ;; directory + (for-each make-file-writable (find-files "tests")) + #t)) + (add-before 'check 'delete-failing-test + (lambda _ + ;; this requires /sbin to be on the path + (delete-file "tests/test_tools.py") + #t))))) + (inputs `(("rpm" ,rpm) ;for rpm-python + ("python-file" ,python-file) + ("python-debian" ,python-debian) + ("python-libarchive-c" ,python-libarchive-c) + ("python-tlsh" ,python-tlsh) + ("acl" ,acl) ;for getfacl + ("colordiff" ,colordiff) + ("xxd" ,xxd))) + ;; Below are modules used for tests. + (native-inputs `(("python-pytest" ,python-pytest) + ("python-chardet" ,python-chardet) + ;; test suite skips tests when tool is missing + ("bdb" ,bdb) + ("binutils" ,binutils) + ("bzip2" ,bzip2) + ("cdrtools" ,cdrtools) + ("colord" ,colord) + ("cpio" ,cpio) + ("docx2txt" ,docx2txt) + ("e2fsprogs" ,e2fsprogs) + ("ffmpeg" ,ffmpeg) + ("gettext" ,gettext-minimal) + ("ghc" ,ghc) + ("ghostscript" ,ghostscript) + ("giflib:bin" ,giflib "bin") + ("gnumeric" ,gnumeric) + ("gnupg" ,gnupg) + ("imagemagick" ,imagemagick) + ("libarchive" ,libarchive) + ("llvm" ,llvm) + ("lz4" ,lz4) + ("mono" ,mono) + ("odt2txt" ,odt2txt) + ;; no unversioned openjdk available + ("openjdk:jdk" ,openjdk12 "jdk") + ("openssh" ,openssh) + ("pgpdump" ,pgpdump) + ("poppler" ,poppler) + ("rpm" ,rpm) + ("sng" ,sng) + ("sqlite" ,sqlite) + ("squashfs-tools" ,squashfs-tools) + ("tcpdump" ,tcpdump) + ("unzip" ,unzip) + ("xxd" ,xxd) + ("xz" ,xz) + ("zip" ,zip))) + (home-page "https://diffoscope.org/") + (synopsis "Compare files, archives, and directories in depth") + (description + "Diffoscope tries to get to the bottom of what makes files or directories +different. It recursively unpacks archives of many kinds and transforms +various binary formats into more human readable forms to compare them. It can +compare two tarballs, ISO images, or PDFs just as easily.") + (license license:gpl3+)))) + +(define-public trydiffoscope + (package + (name "trydiffoscope") + (version "67.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/reproducible-builds/trydiffoscope.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03b66cjii7l2yiwffj6ym6mycd5drx7prfp4j2550281pias6mjh")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((share (string-append (assoc-ref outputs "out") "/share/"))) + (mkdir-p (string-append share "/man/man1/" )) + (invoke "rst2man.py" + "trydiffoscope.1.rst" + (string-append share "/man/man1/trydiffoscope.1")) + (mkdir-p (string-append share "/doc/" ,name "-" ,version)) + (install-file "./README.rst" + (string-append share "/doc/" ,name "-" ,version))) + #t))))) + (propagated-inputs + `(("python-requests" ,python-requests))) + (native-inputs + `(("gzip" ,gzip) + ("python-docutils" ,python-docutils))) + (build-system python-build-system) + (home-page "https://try.diffoscope.org") + (synopsis "Client for remote diffoscope service") + (description "This is a client for the @url{https://try.diffoscope.org, +remote diffoscope service}. + +Diffoscope tries to get to the bottom of what makes files or directories +different. It recursively unpacks archives of many kinds and transforms +various binary formats into more human readable forms to compare them. It can +compare two tarballs, ISO images, or PDFs just as easily. + +Results are displayed by default, stored as local text or html files, or made +available via a URL on @url{https://try.diffoscope.org}. Results stored on the +server are purged after 30 days.") + (license license:gpl3+))) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index a56c738e78..26f1458028 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -10,7 +10,6 @@ ;;; Copyright © 2018 Sou Bunnbu ;;; Copyright © 2018, 2019 Eric Bavier ;;; Copyright © 2019 Efraim Flashner -;;; Copyright © 2019 Vagrant Cascadian ;;; Copyright © 2019 Jonathan Brielmaier ;;; ;;; This file is part of GNU Guix. @@ -31,7 +30,6 @@ (define-module (gnu packages package-management) #:use-module (gnu packages) #:use-module (gnu packages acl) - #:use-module (gnu packages admin) #:use-module (gnu packages attr) #:use-module (gnu packages avahi) #:use-module (gnu packages autotools) @@ -40,7 +38,6 @@ (define-module (gnu packages package-management) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages bison) #:use-module (gnu packages bootstrap) ;for 'bootstrap-guile-origin' - #:use-module (gnu packages cdrom) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cpio) @@ -50,7 +47,6 @@ (define-module (gnu packages package-management) #:use-module (gnu packages docbook) #:use-module (gnu packages file) #:use-module (gnu packages gettext) - #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) @@ -58,19 +54,12 @@ (define-module (gnu packages package-management) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) - #:use-module (gnu packages haskell) - #:use-module (gnu packages image) - #:use-module (gnu packages imagemagick) - #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages lisp) - #:use-module (gnu packages llvm) #:use-module (gnu packages man) - #:use-module (gnu packages mono) #:use-module (gnu packages nettle) #:use-module (gnu packages nss) #:use-module (gnu packages patchutils) - #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) @@ -82,10 +71,8 @@ (define-module (gnu packages package-management) #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) #:use-module (gnu packages texinfo) - #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) - #:use-module (gnu packages video) #:use-module (gnu packages vim) #:use-module (gnu packages virtualization) #:use-module (gnu packages web) @@ -558,176 +545,6 @@ (define-public rpm ;; The whole is GPLv2+; librpm itself is dual-licensed LGPLv2+ | GPLv2+. (license license:gpl2+))) -(define-public diffoscope - (let ((version "123")) - (package - (name "diffoscope") - (version version) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://salsa.debian.org/reproducible-builds/diffoscope.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "11bxms5rkhi0v4pxx29v4qgvhp3fmf0fkzci6gn5xcv4fl1zy4wj")))) - (build-system python-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - ;; setup.py mistakenly requires python-magic from PyPi, even - ;; though the Python bindings of `file` are sufficient. - ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 - (add-after 'unpack 'dependency-on-python-magic - (lambda _ - (substitute* "setup.py" - (("'python-magic',") "")))) - ;; This test is broken because our `file` package has a - ;; bug in berkeley-db file type detection. - (add-after 'unpack 'remove-berkeley-test - (lambda _ - (delete-file "tests/comparators/test_berkeley_db.py") - #t)) - ;; Test is dynamically generated and may have false - ;; negatives with different ocaml versions. Further - ;; background in: https://bugs.debian.org/939386 - (add-after 'unpack 'remove-ocaml-test - (lambda _ - (delete-file "tests/comparators/test_ocaml.py") - #t)) - (add-after 'unpack 'embed-tool-references - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "diffoscope/comparators/utils/compare.py" - (("\\['xxd',") - (string-append "['" (which "xxd") "',"))) - (substitute* "diffoscope/comparators/elf.py" - (("@tool_required\\('readelf'\\)") "") - (("get_tool_name\\('readelf'\\)") - (string-append "'" (which "readelf") "'"))) - (substitute* "diffoscope/comparators/directory.py" - (("@tool_required\\('stat'\\)") "") - (("@tool_required\\('getfacl'\\)") "") - (("\\['stat',") - (string-append "['" (which "stat") "',")) - (("\\['getfacl',") - (string-append "['" (which "getfacl") "',"))) - #t)) - (add-before 'check 'writable-test-data - (lambda _ - ;; tests may need needs write access to tests - ;; directory - (for-each make-file-writable (find-files "tests")) - #t)) - (add-before 'check 'delete-failing-test - (lambda _ - ;; this requires /sbin to be on the path - (delete-file "tests/test_tools.py") - #t))))) - (inputs `(("rpm" ,rpm) ;for rpm-python - ("python-file" ,python-file) - ("python-debian" ,python-debian) - ("python-libarchive-c" ,python-libarchive-c) - ("python-tlsh" ,python-tlsh) - ("acl" ,acl) ;for getfacl - ("colordiff" ,colordiff) - ("xxd" ,xxd))) - ;; Below are modules used for tests. - (native-inputs `(("python-pytest" ,python-pytest) - ("python-chardet" ,python-chardet) - ;; test suite skips tests when tool is missing - ("bdb" ,bdb) - ("binutils" ,binutils) - ("bzip2" ,bzip2) - ("cdrtools" ,cdrtools) - ("colord" ,colord) - ("cpio" ,cpio) - ("docx2txt" ,docx2txt) - ("e2fsprogs" ,e2fsprogs) - ("ffmpeg" ,ffmpeg) - ("gettext" ,gettext-minimal) - ("ghc" ,ghc) - ("ghostscript" ,ghostscript) - ("giflib:bin" ,giflib "bin") - ("gnumeric" ,gnumeric) - ("gnupg" ,gnupg) - ("imagemagick" ,imagemagick) - ("libarchive" ,libarchive) - ("llvm" ,llvm) - ("lz4" ,lz4) - ("mono" ,mono) - ("odt2txt" ,odt2txt) - ;; no unversioned openjdk available - ("openjdk:jdk" ,openjdk12 "jdk") - ("openssh" ,openssh) - ("pgpdump" ,pgpdump) - ("poppler" ,poppler) - ("rpm" ,rpm) - ("sng" ,sng) - ("sqlite" ,sqlite) - ("squashfs-tools" ,squashfs-tools) - ("tcpdump" ,tcpdump) - ("unzip" ,unzip) - ("xxd" ,xxd) - ("xz" ,xz) - ("zip" ,(@ (gnu packages compression) zip)))) - (home-page "https://diffoscope.org/") - (synopsis "Compare files, archives, and directories in depth") - (description - "Diffoscope tries to get to the bottom of what makes files or directories -different. It recursively unpacks archives of many kinds and transforms -various binary formats into more human readable forms to compare them. It can -compare two tarballs, ISO images, or PDFs just as easily.") - (license license:gpl3+)))) - -(define-public trydiffoscope - (package - (name "trydiffoscope") - (version "67.0.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://salsa.debian.org/reproducible-builds/trydiffoscope.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "03b66cjii7l2yiwffj6ym6mycd5drx7prfp4j2550281pias6mjh")))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((share (string-append (assoc-ref outputs "out") "/share/"))) - (mkdir-p (string-append share "/man/man1/" )) - (invoke "rst2man.py" - "trydiffoscope.1.rst" - (string-append share "/man/man1/trydiffoscope.1")) - (mkdir-p (string-append share "/doc/" ,name "-" ,version)) - (install-file "./README.rst" - (string-append share "/doc/" ,name "-" ,version))) - #t))))) - (propagated-inputs - `(("python-requests" ,python-requests))) - (native-inputs - `(("gzip" ,gzip) - ("python-docutils" ,python-docutils))) - (build-system python-build-system) - (home-page "https://try.diffoscope.org") - (synopsis "Client for remote diffoscope service") - (description "This is a client for the @url{https://try.diffoscope.org, -remote diffoscope service}. - -Diffoscope tries to get to the bottom of what makes files or directories -different. It recursively unpacks archives of many kinds and transforms -various binary formats into more human readable forms to compare them. It can -compare two tarballs, ISO images, or PDFs just as easily. - -Results are displayed by default, stored as local text or html files, or made -available via a URL on @url{https://try.diffoscope.org}. Results stored on the -server are purged after 30 days.") - (license license:gpl3+))) - (define-public python-anaconda-client (package (name "python-anaconda-client") -- cgit v1.2.3 From 68620d62f5cd49d6455c351f3a68e3c41dc6ce22 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 19 Sep 2019 16:43:47 -0700 Subject: gnu: Add enjarify. * gnu/packages/android (enjarify): New variable. * gnu/packages/diffoscope (diffoscope)[native-inputs]: Add enjarify. [arguments]: add enjarify to add-known-tools phase. * gnu/packages/patches/enjarify-setup-py.patch: New file. * gnu/local.mk: Add enjarify-setup-py.patch. --- gnu/local.mk | 1 + gnu/packages/android.scm | 58 ++++++++++++++++++++++++++++ gnu/packages/diffoscope.scm | 4 ++ gnu/packages/patches/enjarify-setup-py.patch | 19 +++++++++ 4 files changed, 82 insertions(+) create mode 100644 gnu/packages/patches/enjarify-setup-py.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 1062bdcafe..ad85894ebe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -796,6 +796,7 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-undohist-ignored.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ %D%/packages/patches/emacs-zones-called-interactively.patch \ + %D%/packages/patches/enjarify-setup-py.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/eudev-rules-directory.patch \ diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 56d5edaa75..8eb5182f51 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -39,6 +39,7 @@ (define-module (gnu packages android) #:use-module (gnu packages compression) #:use-module (gnu packages docker) #:use-module (gnu packages gnupg) + #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages pcre) #:use-module (gnu packages python) @@ -934,3 +935,60 @@ (define-public fdroidserver publishing, or to assist in creating, testing and submitting metadata to the main repository.") (license license:agpl3+))) + +(define-public enjarify + (package + (name "enjarify") + (version "1.0.3") + (home-page "https://github.com/Storyyeller/enjarify") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (patches + (search-patches "enjarify-setup-py.patch")) + (sha256 + (base32 + "1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'enjarify-wrapper-inherit-pythonpath + ;; enjarify sets PYTHONPATH from a shell script, overwriting + ;; PYTHONPATH set from guix. Comment out this line. + (lambda _ + (substitute* "enjarify.sh" + (("export PYTHONPATH") "# export PYTHONPATH")) + #t)) + (add-before 'check 'fixup-expected-test-results + ;; Upstream adjusted this test in commit: + ;; 3ae884a6485af82d300515813f537685b08dd800 + (lambda _ + (substitute* "tests/test2/expected.txt" + (("^20") "0")) + #t)) + (add-before 'check 'drop-java-xss-argument + ;; Upstream removed this argument in order to support 32-bit + ;; architectures. commit: 4be0111d879aa95fdc0d9f24fe529f8c664d4093 + (lambda _ + (substitute* "enjarify/runtests.py" + (("java -Xss515m") "java ")) + #t)) + (add-after 'install 'install-enjarify-wrapper + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin/")) + (copy-file "enjarify.sh" (string-append out "/bin/enjarify")) + #t)))))) + (native-inputs `(("openjdk:jdk" ,openjdk12 "jdk"))) + (synopsis "Translate Dalvik bytecode to equivalent Java bytecode") + (description "Android applications are Java programs that run on a +customized virtual machine, which is part of the Android operating system, the +Dalvik VM. Their bytecode differs from the bytecode of normal Java +applications. Enjarify can translate the Dalvik bytecode back to equivalent +Java bytecode, which simplifies the analysis of Android applications.") + (license license:asl2.0))) diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index fff331ac13..8df5a9cc0e 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -92,6 +92,9 @@ (define-public diffoscope ;; Patch in support for known tools (add-after 'unpack 'add-known-tools (lambda _ + (substitute* "diffoscope/external_tools.py" + (("'arch': 'enjarify'},") + "'arch': 'enjarify', 'guix': 'enjarify'},")) (substitute* "diffoscope/external_tools.py" (("'arch': 'python-jsbeautifier'},") "'arch': 'python-jsbeautifier', 'guix': 'python-jsbeautifier'},")) @@ -172,6 +175,7 @@ (define-public diffoscope ("docx2txt" ,docx2txt) ("dtc" ,dtc) ("e2fsprogs" ,e2fsprogs) + ("enjarify" ,enjarify) ("ffmpeg" ,ffmpeg) ("gettext" ,gettext-minimal) ("ghc" ,ghc) diff --git a/gnu/packages/patches/enjarify-setup-py.patch b/gnu/packages/patches/enjarify-setup-py.patch new file mode 100644 index 0000000000..4b382ca320 --- /dev/null +++ b/gnu/packages/patches/enjarify-setup-py.patch @@ -0,0 +1,19 @@ +Author: Reiner Herrmann +Origin: https://salsa.debian.org/android-tools-team/enjarify/blob/master/debian/patches/setup_py.patch +Description: provides a minimal setup.py to build/install the package + +Index: enjarify/setup.py +=================================================================== +--- /dev/null ++++ enjarify/setup.py +@@ -0,0 +1,10 @@ ++#!/usr/bin/env python3 ++ ++from setuptools import setup, find_packages ++ ++setup(name='enjarify', ++ version='1.0.3', ++ url='https://github.com/google/enjarify', ++ packages=find_packages(), ++ ) ++ -- cgit v1.2.3 From dc95c8b4975b097f68e21544bead2a051e86b016 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 10 Sep 2019 05:57:47 +0200 Subject: gnu: emacs-unpackaged-el: Update to 0-2.c0d58cf. * gnu/packages/emacs-xyz.scm (emacs-unpackaged-el): Update to 0-2.c0d58cf. * gnu/packages/patches/emacs-unpackaged-req.patch: Delete it. * gnu/local.mk (dist_patch_DATA): Remove patch. --- gnu/local.mk | 1 - gnu/packages/emacs-xyz.scm | 16 +++++++++++----- gnu/packages/patches/emacs-unpackaged-req.patch | 24 ------------------------ 3 files changed, 11 insertions(+), 30 deletions(-) delete mode 100644 gnu/packages/patches/emacs-unpackaged-req.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ad85894ebe..8e535e208b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -792,7 +792,6 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \ - %D%/packages/patches/emacs-unpackaged-req.patch \ %D%/packages/patches/emacs-undohist-ignored.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ %D%/packages/patches/emacs-zones-called-interactively.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e30d3cea71..f0e86016e7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -614,8 +614,8 @@ (define-public emacs-shroud (license license:gpl3+))) (define-public emacs-unpackaged-el - (let ((commit "f4df7f8dfea715e893b2223adda32545803f5cce") - (revision "1")) + (let ((commit "c0d58cf81e531b2b6fa1bd5dd612dc1b93d4d186") + (revision "2")) (package (name "emacs-unpackaged-el") (version (git-version "0" revision commit)) @@ -628,9 +628,7 @@ (define-public emacs-unpackaged-el (file-name (git-file-name name version)) (sha256 (base32 - "1yf3zrgqfhnr0az8gn1kqqwnhfi3nc0vbjkcagwcqwk3sp1jda86")) - (patches - (search-patches "emacs-unpackaged-req.patch")))) + "0y3sgvd51l4pb3acps92bazfk49da6nim1f1hyxzy1ravg4kbw83")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -638,6 +636,14 @@ (define-public emacs-unpackaged-el ("emacs-s" ,emacs-s) ("emacs-hydra" ,emacs-hydra) ("emacs-use-package" ,emacs-use-package))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'require-hydra + (lambda _ + (substitute* "unpackaged.el" + ((";;; Code:") ";;; Code:\n(require 'hydra)")) + #t))))) (home-page "https://github.com/alphapapa/unpackaged.el") (synopsis "Useful snippets of Emacs Lisp code") (description "This package provides Emacs Lisp utilities for a variety diff --git a/gnu/packages/patches/emacs-unpackaged-req.patch b/gnu/packages/patches/emacs-unpackaged-req.patch deleted file mode 100644 index ddb9277610..0000000000 --- a/gnu/packages/patches/emacs-unpackaged-req.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e5be173e201710538464c279335bef735a327a68 Mon Sep 17 00:00:00 2001 -From: Brian Leung -Date: Tue, 18 Jun 2019 06:37:46 +0200 -Subject: [PATCH] Add missing require. - ---- - unpackaged.el | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/unpackaged.el b/unpackaged.el -index 2d46b3c..e62184a 100644 ---- a/unpackaged.el -+++ b/unpackaged.el -@@ -38,6 +38,7 @@ - (require 'dash) - (require 's) - (require 'use-package) -+(require 'hydra) - - ;;; Faces, fonts - --- -2.22.0 - -- cgit v1.2.3