commit:     e8cb86ee6e47ce832fd39fbf7b78e785f694da98
Author:     David Roman <davidroman96 <AT> gmail <DOT> com>
AuthorDate: Thu Mar 21 11:58:17 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Thu Mar 21 11:58:17 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=e8cb86ee

sys-fs/jefferson: new package, add 0.4.5

Signed-off-by: David Roman <davidroman96 <AT> gmail.com>

 sys-fs/jefferson/Manifest                          |  1 +
 .../jefferson/files/jefferson-use-python-lzo.patch | 22 +++++++++++++++++++
 sys-fs/jefferson/jefferson-0.4.5.ebuild            | 25 ++++++++++++++++++++++
 sys-fs/jefferson/metadata.xml                      | 11 ++++++++++
 4 files changed, 59 insertions(+)

diff --git a/sys-fs/jefferson/Manifest b/sys-fs/jefferson/Manifest
new file mode 100644
index 0000000000..cb4d1b4446
--- /dev/null
+++ b/sys-fs/jefferson/Manifest
@@ -0,0 +1 @@
+DIST jefferson-0.4.5.gh.tar.gz 9439 BLAKE2B 
cf40fa975bd4441f311bbb933ec9386565018d0e3a8b1ab8a79dee5542f683d437c01caff11933a78733f3feb631fb7086639f1d5dd864bf2e158837dfc6a0c4
 SHA512 
d4b44138bd36b94f43e4e09e3ab7a0b24044c93c69953b32aadaf544d297eb6e91b951b94754806bbef59f2357e6c8e6d01fda13bc78013341d852c5b8ed0422

diff --git a/sys-fs/jefferson/files/jefferson-use-python-lzo.patch 
b/sys-fs/jefferson/files/jefferson-use-python-lzo.patch
new file mode 100644
index 0000000000..9905333101
--- /dev/null
+++ b/sys-fs/jefferson/files/jefferson-use-python-lzo.patch
@@ -0,0 +1,22 @@
+diff --git a/jefferson/jffs2.py b/jefferson/jffs2.py
+index ab1ac8f..1607bdc 100644
+--- a/jefferson/jffs2.py
++++ b/jefferson/jffs2.py
+@@ -9,7 +9,7 @@ import zlib
+ from pathlib import Path
+ 
+ import cstruct
+-from lzallright import LZOCompressor as lzo
++import lzo
+ 
+ import jefferson.compression.jffs2_lzma as jffs2_lzma
+ import jefferson.compression.rtime as rtime
+@@ -180,7 +180,7 @@ class Jffs2_raw_inode(cstruct.CStruct):
+             elif self.compr == JFFS2_COMPR_LZMA:
+                 self.data = jffs2_lzma.decompress(node_data, self.dsize)
+             elif self.compr == JFFS2_COMPR_LZO:
+-                self.data = lzo.decompress(node_data)
++                self.data = lzo.decompress(node_data, False, self.dsize)
+             else:
+                 print("compression not implemented", self)
+                 print(node_data.hex()[:20])

diff --git a/sys-fs/jefferson/jefferson-0.4.5.ebuild 
b/sys-fs/jefferson/jefferson-0.4.5.ebuild
new file mode 100644
index 0000000000..a67cebe006
--- /dev/null
+++ b/sys-fs/jefferson/jefferson-0.4.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11,12} )
+DISTUTILS_USE_PEP517=poetry
+
+inherit distutils-r1
+
+DESCRIPTION=" JFFS2 filesystem extraction tool "
+HOMEPAGE="https://github.com/onekey-sec/jefferson";
+SRC_URI="https://github.com/onekey-sec/${PN}/archive/refs/tags/v${PV}.tar.gz   
-> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+       dev-python/cstruct[${PYTHON_USEDEP}]
+       dev-python/click[${PYTHON_USEDEP}]
+       dev-python/python-lzo[${PYTHON_USEDEP}]
+"
+
+PATCHES=( "${FILESDIR}/${PN}-use-python-lzo.patch" )

diff --git a/sys-fs/jefferson/metadata.xml b/sys-fs/jefferson/metadata.xml
new file mode 100644
index 0000000000..7feff88c4e
--- /dev/null
+++ b/sys-fs/jefferson/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>davidroma...@gmail.com</email>
+               <name>David Roman</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">onekey-sec/jefferson</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to