Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

media-gfx/gnofract4d: version bump to 4.0.1 #9640

Closed
wants to merge 1 commit into from

Conversation

cjmayo
Copy link
Contributor

@cjmayo cjmayo commented Aug 20, 2018

Added help and video USE flags.

Package-Manager: Portage-2.3.47, Repoman-2.3.10


New version migrated to Python 3 and GTK+ 3.
Use flags because help needs additional dependencies and specific ffmpeg USE flags needed for video.
gnofract4d-4.0.1-xsl.patch is upstream.

https://sourceforge.net/projects/gnofract4d/ says:
"This project has been moved to Github, Look there instead"

@gentoo-bot
Copy link

Pull Request assignment

Areas affected: ebuilds
Packages affected: media-gfx/gnofract4d

media-gfx/gnofract4d: @gentoo/graphics

No bugs to link found. If your pull request references any of the Gentoo bug reports, please add appropriate GLEP 66 tags to the commit message and ping us to reset the assignment.

If you do not receive any reply to this pull request, please open or link a bug to attract the attention of maintainers.

In order to force reassignment and/or bug reference scan, please append [please reassign] to the pull request title.

@gentoo-bot gentoo-bot added assigned PR successfully assigned to the package maintainer(s). no bug found No Bug/Closes found in the commits. labels Aug 20, 2018
@cjmayo
Copy link
Contributor Author

cjmayo commented Aug 20, 2018

Looks like doc generation does need:

	dev-python/pygobject[${PYTHON_USEDEP}]
	x11-libs/gtk+:3[introspection]

https://github.com/edyoung/gnofract4d/blob/220966b00dc5db53e37ac485ce61decfd3942d9f/fract4dgui/createdocs.py#L16

Best way to do this? Duplicate in DEPEND help? ?

@a17r a17r added the help wanted The submitter explicitly needs help moving the PR forward. Please help if you can. label Mar 2, 2019
@juippis
Copy link
Member

juippis commented Mar 3, 2019

As it's only 2 deps, I personally wouldn't introduce any new DOC_DEPEND variable for them, but write them manually in DEPEND="help? ( ..." as you said.

PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_SINGLE_IMPL=1

inherit distutils-r1 gnome2-utils xdg-utils
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should perhaps use the new xdg.eclass instead of gnome-utils and xdg-utils to handle postinst and postrm for you? Then you can also bump EAPI to 7.

(note that with EAPI-7 virtual/pkgconfig is a BDEPEND)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

xdg is much better, used that instead and deleted postinst and postrm.

EAPI 7 discussed below.

@cjmayo
Copy link
Contributor Author

cjmayo commented Mar 4, 2019

As it's only 2 deps, I personally wouldn't introduce any new DOC_DEPEND variable for them, but write them manually in DEPEND="help? ( ..." as you said.

Added to DEPEND.

For EAPI 7, I think it's not just pkgconfig but the help dependencies that would be BDEPEND. The problem I see is that to generate the help it imports a lot of the code, which I think will pull in the compiled shared object fract4dc.cpython-37m-x86_64-linux-gnu.so.
To me this means that you either have to build everything twice (once for CBUILD and once for CHOST) or have to restrict help to where CBUILD = CHOST. I can't see how to do that (ideas welcome) so have left at EAPI 6.

dev-python/pygobject was missing a slot.

Copy link
Member

@juippis juippis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

If their libraries are needed in the target system (and/or linked), then they are in DEPEND. Don't stress about BDEPEND, it's there to ease the burden when cross-compiling, but it's more important to make the package build before fine-tuning details IMO.

@cjmayo cjmayo force-pushed the gnofract4d-4.0.1 branch 2 times, most recently from 3b937f2 to eb713f2 Compare November 30, 2019 17:18
@cjmayo
Copy link
Contributor Author

cjmayo commented Nov 30, 2019

Mistakenly tried EAPI 7, restored to previous.

@cjmayo
Copy link
Contributor Author

cjmayo commented Dec 8, 2019

@@ -5,6 +5,7 @@
 
 PYTHON_COMPAT=( python3_{6,7} )
 DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_SETUPTOOLS=no
 
 inherit distutils-r1 xdg

@cjmayo
Copy link
Contributor Author

cjmayo commented Dec 21, 2019

xdg.eclass also exports its own src_prepare so add a src_prepare to ensure distutils function is called too.

Copy link
Member

@juippis juippis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the graphics project won't give attention to this so let's push it through. Few things I want updated first, thanks for proactively updating to latest distutils-r1 stuff and copyright date.

I think you can close the bug while at it with Closes: tag.

# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=6
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

7 should work, please update.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated to 7.

x11-libs/gtk+:3[introspection]
video? ( media-video/ffmpeg[vpx,zlib] )"
DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With EAPI-7 this is a BDEPEND.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved to BDEPEND.


src_prepare() {
distutils-r1_src_prepare
xdg_environment_reset
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With EAPI-7 this most likely isn't needed, since it does the environment cleaning.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.


python_install_all() {
distutils-r1_python_install_all
rm -rf "${ED%/}"/usr/share/doc/${PN} || die
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You shouldn't use -f but to know when the file is there and when not.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the -f and %/ from ED now we are EAPI 7.

python_install_all() {
distutils-r1_python_install_all
rm -rf "${ED%/}"/usr/share/doc/${PN} || die
use help || rm -rf "${ED%/}"/usr/share/gnome/help/${PN} || die
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, also I'd like this to be opened similarily that is above (ie make it multi-line if ! use; then, or make the rm -r || die inside a subshell.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above plus converted to an if.

New help and video USE flags.

Closes: https://bugs.gentoo.org/665576
Package-Manager: Portage-2.3.79, Repoman-2.3.16
Signed-off-by: Chris Mayo <aklhfex@gmail.com>
@cjmayo
Copy link
Contributor Author

cjmayo commented Jan 4, 2020

Also added Python 3.8.

I looked at this again and decided it would be a lot better to take a more current snapshot:

  • no need for the separate XSL patch
  • doesn't pollute /usr/share/pixmaps
  • allows tests to be enabled
  • a bunch of deprecation warnings fixed

Changes in addition to the above:

--- gnofract4d-4.0.1.ebuild
+++ gnofract4d-4.0.1_p1.ebuild
@@ -7,16 +7,19 @@
 DISTUTILS_SINGLE_IMPL=1
 DISTUTILS_USE_SETUPTOOLS=no
 
-inherit distutils-r1 xdg
+inherit distutils-r1 virtualx xdg
+
+COMMIT=bd600c20921afff7b02fc0a76ab79242ebd0896d
 
 DESCRIPTION="A program for drawing beautiful mathematically-based images known as fractals"
 HOMEPAGE="http://edyoung.github.io/gnofract4d/"
-SRC_URI="https://github.com/edyoung/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/edyoung/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
 
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
 IUSE="+help video"
+REQUIRED_USE="test? ( help )"
 
 COMMON_DEPEND="
 	media-libs/libpng:0=
@@ -33,12 +36,16 @@
 		dev-libs/libxslt
 		x11-libs/gtk+:3[introspection] )"
 
-PATCHES=(
-	"${FILESDIR}"/${P}-xsl.patch
-)
+distutils_enable_tests pytest
+
+S="${WORKDIR}/${PN}-${COMMIT}"
 
 src_prepare() {
 	distutils-r1_src_prepare
+}
+
+python_test() {
+	virtx pytest fract4d fract4dgui test.py || die
 }
 
 python_compile_all() {

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2020-01-04 23:47 UTC
Newest commit scanned: 43beb74
Status: ✅ good

Issues already there before the PR (double-check them):
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#app-admin/puppet-agent
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#app-emulation/vagrant
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#app-emulation/virtualbox-additions
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#app-emulation/virtualbox-guest-additions
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#app-emulation/virtualbox-modules
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#app-forensics/sleuthkit
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#app-laptop/hdaps-gl
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#app-text/jabref-bin
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-db/postgresql
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-java/icedtea
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-java/netbeans-platform
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-libs/qtkeychain
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-python/parver
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-python/pygame
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ros/roslaunch
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/bundler
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/octokit
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/rails
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/rspec-mocks
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/rspec-support
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/rubypants
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/state_machine
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/systemu
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/test_declarative
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/tokyocabinet
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-ruby/vcard
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-util/cmt
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-util/google-perftools
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#dev-vcs/gitsh
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#games-strategy/freeciv
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#games-util/pogo-manager-bin
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#gnustep-apps/sogo
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#mail-filter/spamassassin
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#media-gfx/iscan
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#media-sound/podcatcher
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#media-tv/gentoo-vdr-scripts
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-analyzer/dnsmap
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-analyzer/metasploit
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-analyzer/nagios-check_multiple
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-analyzer/nagios-plugins
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-analyzer/ntopng
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-analyzer/snort
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-analyzer/tcpstat
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-analyzer/wireshark
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-analyzer/zabbix
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-dns/unbound
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-ftp/lftp
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-libs/nodejs
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-misc/gerbera
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-misc/icaclient
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-misc/kea
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-misc/youtube-dl
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-p2p/bisq
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-p2p/fms
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-print/cups
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-vpn/strongswan
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#net-wireless/kismet
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sci-libs/scikits_learn
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sci-libs/tensorflow
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sci-libs/tensorflow-estimator
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sci-mathematics/geogebra
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sci-mathematics/lrcalc
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sci-visualization/veusz
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sys-apps/usbguard
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sys-auth/nss-pam-ldapd
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sys-cluster/crmsh
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sys-cluster/kube-apiserver
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sys-cluster/kube-controller-manager
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sys-cluster/kube-scheduler
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sys-cluster/neutron
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#sys-fs/tmsu
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#virtual/cargo
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#virtual/jdk
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#virtual/jre
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#www-apps/netbox
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#www-apps/postfixadmin
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#www-misc/shellinabox
https://qa-reports.gentoo.org/output/gentoo-ci/cec9d4b/output.html#www-servers/nginx

Copy link
Member

@juippis juippis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@gentoo-bot gentoo-bot closed this in f06d48c Jan 5, 2020
@cjmayo cjmayo deleted the gnofract4d-4.0.1 branch February 3, 2020 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assigned PR successfully assigned to the package maintainer(s). help wanted The submitter explicitly needs help moving the PR forward. Please help if you can. no bug found No Bug/Closes found in the commits.
Projects
None yet
5 participants