public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:dev commit in: net-p2p/persepolis/files/, net-p2p/persepolis/
@ 2025-09-29 10:54 Bryce
  0 siblings, 0 replies; only message in thread
From: Bryce @ 2025-09-29 10:54 UTC (permalink / raw
  To: gentoo-commits

commit:     2428d9f34aa80f14fd0399a1a88c9e3218f29d03
Author:     Bryce Copeland (truffle) <truffle074 <AT> gmail <DOT> com>
AuthorDate: Mon Sep 29 09:28:39 2025 +0000
Commit:     Bryce <truffle074 <AT> gmail <DOT> com>
CommitDate: Mon Sep 29 09:28:39 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2428d9f3

net-p2p/persepolis: new package, add 5.2.0

Signed-off-by: Bryce Copeland (truffle) <truffle074 <AT> gmail.com>

 net-p2p/persepolis/Manifest                        |  1 +
 .../files/persepolis-5.2.0-fix-executable.patch    | 32 +++++++++++
 net-p2p/persepolis/metadata.xml                    | 12 ++++
 net-p2p/persepolis/persepolis-5.2.0.ebuild         | 65 ++++++++++++++++++++++
 4 files changed, 110 insertions(+)

diff --git a/net-p2p/persepolis/Manifest b/net-p2p/persepolis/Manifest
new file mode 100644
index 0000000000..33b674746f
--- /dev/null
+++ b/net-p2p/persepolis/Manifest
@@ -0,0 +1 @@
+DIST persepolis-5.2.0.tar.gz 1924515 BLAKE2B bc40d07f6aa90465a70354a39ea92ceed1fae61575c03106bdb5427f57e20a09a12c9c849a64796abedcf30bd78a8b6be4dd42a087085c2d0bd5b673df24bd7b SHA512 a4f5ca809031bfc7a0cdfe39ad62059b1a33f8bf233480216df99e34fbec9f968a137b33b085ceae529838a265d67fdd988c40785d1c333ec00269fa672cfcc2

diff --git a/net-p2p/persepolis/files/persepolis-5.2.0-fix-executable.patch b/net-p2p/persepolis/files/persepolis-5.2.0-fix-executable.patch
new file mode 100644
index 0000000000..ca4d1b0f77
--- /dev/null
+++ b/net-p2p/persepolis/files/persepolis-5.2.0-fix-executable.patch
@@ -0,0 +1,32 @@
+tweaks the executable that comes with persepolis to work better with
+gentoo's python-exec.
+
+by default meson will detect the python executable used to run it, then
+replace @PYTHON@ with that path to be used at runtime. this doesn't work
+with portage's path abstraction. instead this replaces with a generic path
+then relies on 'python_newscript', run in the ebuild, to resolve the
+correct path.
+
+also remove's the hard-coded 'pythonsitepackagedir', python-exec will set
+the system path correctly at runtime.
+
+diff --git a/persepolis/persepolis.py b/persepolis/persepolis.py
+index d5e5b25..67bc72b 100644
+--- a/persepolis/persepolis.py
++++ b/persepolis/persepolis.py
+@@ -1,4 +1,4 @@
+-#!@PYTHON@
++#!/usr/bin/python
+ 
+ 
+ # -*- coding: utf-8 -*-
+@@ -19,9 +19,6 @@
+ # this file is created for running persepolis from /usr/bin/ or /usr/local/bin/.
+ import sys
+ 
+-pythonsitepackagedir = '@pythonsitepackagedir@'
+-
+ if __name__ == '__main__':
+-    sys.path.append(pythonsitepackagedir)
+     from persepolis.scripts import persepolis
+     persepolis.main()

diff --git a/net-p2p/persepolis/metadata.xml b/net-p2p/persepolis/metadata.xml
new file mode 100644
index 0000000000..c40ac0eaf9
--- /dev/null
+++ b/net-p2p/persepolis/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>truffle074@gmail.com</email>
+		<name>Bryce Copeland (truffle)</name>
+	</maintainer>
+	<upstream>
+		<bugs-to>https://github.com/persepolisdm/persepolis/issues</bugs-to>
+		<remote-id type="github">persepolisdm/persepolis</remote-id>
+	</upstream>
+</pkgmetadata>

diff --git a/net-p2p/persepolis/persepolis-5.2.0.ebuild b/net-p2p/persepolis/persepolis-5.2.0.ebuild
new file mode 100644
index 0000000000..1229ab1807
--- /dev/null
+++ b/net-p2p/persepolis/persepolis-5.2.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit meson python-single-r1 optfeature xdg
+
+DESCRIPTION="Persepolis is a download manager written in Python."
+HOMEPAGE="https://github.com/persepolisdm/persepolis"
+
+if [[ ${PV} == "9999" ]] ; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/persepolisdm/persepolis.git"
+else
+	SRC_URI="https://github.com/persepolisdm/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+DEPEND="
+	dev-python/pyside:6
+	dev-python/requests
+	dev-python/setuptools
+	dev-python/lxml
+	dev-python/pysocks
+	dev-python/beautifulsoup4
+	dev-python/pyopenssl
+	dev-python/certifi
+	dev-python/sip
+	dev-python/urllib3
+	dev-python/setproctitle
+	net-misc/aria2
+	dev-python/dasbus
+"
+RDEPEND="${PYTHON_DEPS} ${DEPEND}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.2.0-fix-executable.patch"
+)
+
+src_configure() {
+	python_setup
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	# removes packaged executable, and replaces with a python-exec version
+	rm "${D}/usr/bin/persepolis" || die
+	python_newscript "persepolis/${PN}.py" "${PN}"
+
+	python_optimize
+}
+
+pkg_postinst() {
+	optfeature "supporting youtube video downloads" net-misc/yt-dlp media-video/ffmpeg
+	optfeature "uniform styling between persepolis and other applications" X11-themes/adwaita-qt
+
+	xdg_pkg_postinst
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2025-09-29 10:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-29 10:54 [gentoo-commits] repo/proj/guru:dev commit in: net-p2p/persepolis/files/, net-p2p/persepolis/ Bryce

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox