diff --git a/media-gfx/grafx2/Manifest b/media-gfx/grafx2/Manifest new file mode 100644 index 0000000..d8b61da --- /dev/null +++ b/media-gfx/grafx2/Manifest @@ -0,0 +1,8 @@ +AUX grafx2-desktop-file.patch 464 BLAKE2B d47b731692b893c51430010dbd34c415e91d59b4eb30d9f209e260a87a56d0ae17ef1b68c48894ae06720b72bd64fd43b8219775f788ec8c384052db0dd6217c SHA512 02fc22a24e229688b4dec48c1b9be1b907e4566893b49664ad9b88537aa39973b53c06687e0ac893dfbc1a0789c61c770129eaa8f3b0819955ae8c60ea7bf8db +DIST grafx2-2.7.2978-src.tgz 1104727 BLAKE2B 7ae308ea7ce3dd10966e85353111c890931a56c9bc496c4d956d89db9609e4e472280df1202e85494929979ee080a7c5daf07b629ed7002291448c87a7547cf6 SHA512 ed8d92b51cf71ee139b7c21206a088ba056642debcbbc6e650bdab9547b53159251d842eb4c5ea46b18859c0f333bad66ed60e4b91d58bacd7f02022ead7a61e +DIST grafx2-testdata-20201222.tar.bz2 36853538 BLAKE2B 506db79030f33e5308ac9f4cbed7891c836cde9c8795eb867b7df2c80bd3b3825af93099f3def6f3a0e55b8628a4139e9b1c689d317daec189037d50a9e2da93 SHA512 3be28934b8d7b945fcc21bd9e1d500dd4dfca2bb371b801ef7dbe4670529d054fb19f10fdeeb2fec9096c611c31adfcf238c4b3035b2891db4fc6e9968978c4e +DIST grafx2-v2.9.3219.tar.gz 2631545 BLAKE2B 76c67986f45f21c11d7df7f628c689f2e08d24ec54e14ed2d2d25729e471b4b045cc4d70e5c4c20ee9e6e4950439d1747b3e67308d2dacd706be762c693391d6 SHA512 db6a6092c899dbc313e4a680654d128e77b0db8af64032f412dc788b0d9fa9070847cfdb6ec8af4a4dbb35568dc992bce2ebf8f3852ecba1a12608f0a454cd74 +EBUILD grafx2-2.7.2978-r100.ebuild 1012 BLAKE2B 127840b55891d9168200dee8d3c7562b8edc4d949d55f0c6909a2d985e23da3034dad623508695bec13089de3e4c829923b6c5d611884ecb0354a4344cd68a71 SHA512 a699ac82c3ece96ba3b32afb35999ed5d0b70bab0b201d93664b0573e7f919352a9f595e39a798daaeedbe2e7772b0c08750e04695caa9653d714ce14b103ee9 +EBUILD grafx2-2.7.2978.ebuild 1038 BLAKE2B 5bcd9844507ba7471cd638051c31854eda07a05da55d5c0ec1701caf2eade80d9cf7b75dc6200416c0b6045123bbb79e6ca185a743bb83046e7fbc39962d2a12 SHA512 7cc023267192bb1ba7fecb8fe21f4f52ad0622b21dce0cd0364846ea3cf2019f64fc8121e2665ecaa3562a1c616750ce94c41c2dae3213d8d6bcd5c7832fe84b +EBUILD grafx2-2.9.3219.ebuild 2546 BLAKE2B 83496fc3dc3a94364fceb88eae2520324e9d4f8a79d2d294dc4d1eaf558afa23f95533f4e9629bb3917a3cadbfdb4c4c9afd3a53411841a84f4883739924d29a SHA512 fc29b86d4c8968602c9097ffb465eae2288f711985b25ce61c4e592366be309239975d36af1b0d739b4fcc3c8c4e109d133e494e4d54d01df3ab0129b3500fa1 +MISC metadata.xml 480 BLAKE2B c6ebf30fd61cc54b4c6285f2e77411243050796c333cdf8760d251d985c354d1e6816fcb3162d8528afabd5aceea0d2285b592c3dc7411ed0fab80d54db21cd1 SHA512 5501019a6525aeb8a8a175e3e37d5a89baab6f35f8201975e3f3e85c89ea3cc6ef2ba20e886d9cbbc29cbf8b9c04521806f79056bff36872cb5e1243054c7d1f diff --git a/media-gfx/grafx2/files/grafx2-desktop-file.patch b/media-gfx/grafx2/files/grafx2-desktop-file.patch new file mode 100644 index 0000000..a08bb8a --- /dev/null +++ b/media-gfx/grafx2/files/grafx2-desktop-file.patch @@ -0,0 +1,16 @@ +diff --git a/misc/unix/grafx2.desktop b/misc/unix/grafx2.desktop +index 9718f06..892e7b2 100644 +--- a/misc/unix/grafx2.desktop ++++ b/misc/unix/grafx2.desktop +@@ -1,9 +1,9 @@ + [Desktop Entry] + Name=GrafX2 + Comment=Deluxe Paint Clone +-Exec=grafx2 %f ++Exec=grafx2-sdl %f + Terminal=false + Type=Application + Icon=grafx2 +-Categories=Application;Graphics; ++Categories=Graphics; + MimeType=image/lbm;image/iff;image/pcx;image/tga;image/gif;image/bmp;image/x-icon;image/png; diff --git a/media-gfx/grafx2/grafx2-2.7.2978-r100.ebuild b/media-gfx/grafx2/grafx2-2.7.2978-r100.ebuild new file mode 100644 index 0000000..64555df --- /dev/null +++ b/media-gfx/grafx2/grafx2-2.7.2978-r100.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..4} ) + +inherit lua-single xdg + +DESCRIPTION="A pixelart-oriented painting program" +HOMEPAGE="http://www.pulkomandy.tk/projects/GrafX2" +SRC_URI="http://www.pulkomandy.tk/projects/GrafX2/downloads/${P}-src.tgz" + +S="${WORKDIR}/${PN}/src/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="lua ttf" +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )" + +# Test phase fails: make: *** [Makefile:1146: ../bin/tests-sdl] Error 1 +RESTRICT="test" + +RDEPEND=" + media-libs/libsdl + media-libs/sdl-image[tiff] + media-libs/freetype + media-libs/libpng + ttf? ( media-libs/sdl-ttf ) + lua? ( ${LUA_DEPS} ) +" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}/${PN}-desktop-file.patch" ) + +src_prepare() { + pushd ../ && default && popd +} + +src_compile() { + use ttf || MYCNF="NOTTF=1" + use lua || MYCNF="${MYCNF} NOLUA=1" + + emake ${MYCNF} +} + +src_install() { + emake ${MYCNF} DESTDIR="${ED}" PREFIX="/usr" install +} diff --git a/media-gfx/grafx2/grafx2-2.7.2978.ebuild b/media-gfx/grafx2/grafx2-2.7.2978.ebuild new file mode 100644 index 0000000..21cebe5 --- /dev/null +++ b/media-gfx/grafx2/grafx2-2.7.2978.ebuild @@ -0,0 +1,53 @@ +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit xdg + +DESCRIPTION="A pixelart-oriented painting program" +HOMEPAGE="http://www.pulkomandy.tk/projects/GrafX2" +SRC_URI="http://www.pulkomandy.tk/projects/GrafX2/downloads/${P}-src.tgz" + +S="${WORKDIR}/${PN}/src/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ttf lua" + +# Test phase fails: make: *** [Makefile:1146: ../bin/tests-sdl] Error 1 +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-desktop-file.patch" +) + +RDEPEND=" + media-libs/libsdl + media-libs/sdl-image[tiff] + media-libs/freetype + media-libs/libpng + ttf? ( media-libs/sdl-ttf ) + lua? ( >=dev-lang/lua-5.1.0 ) +" +DEPEND="${RDEPEND}" + +src_prepare() { + pushd ../ + eapply ${PATCHES} + eapply_user + popd + sed -i s/lua5\.1/lua/g Makefile || die +} + +src_compile() { + use ttf || MYCNF="NOTTF=1" + use lua || MYCNF="${MYCNF} NOLUA=1" + + emake ${MYCNF} || die "emake failed" +} + +src_install() { + emake ${MYCNF} DESTDIR="${D}" PREFIX="/usr" install || die "Install failed" +} diff --git a/media-gfx/grafx2/grafx2-2.9.3219.ebuild b/media-gfx/grafx2/grafx2-2.9.3219.ebuild new file mode 100644 index 0000000..b873337 --- /dev/null +++ b/media-gfx/grafx2/grafx2-2.9.3219.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..4} ) + +inherit lua-single toolchain-funcs xdg + +pic_samples_commit=40738b358a5a5cb33d54897b008cbccad98e63d6 +pic_samples_date=20201222 + +DESCRIPTION="A pixelart-oriented painting program" +HOMEPAGE="http://www.pulkomandy.tk/projects/GrafX2 + https://grafx2.eu/ +" +SRC_URI="http://www.pulkomandy.tk/projects/GrafX2/downloads/${PN}-v${PV}.tar.gz + test? ( + https://gitlab.com/GrafX2/pic-samples/-/archive/${pic_samples_commit}/pic-samples-${pic_samples_commit}.tar.bz2 + -> ${PN}-testdata-${pic_samples_date}.tar.bz2 + ) +" +S="${WORKDIR}/${PN}-v$(ver_cut 1-2)/src" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc lua +sdl sdl2 ttf test" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + ?? ( sdl sdl2 ) + ttf? ( ^^ ( sdl sdl2 ) ) +" +RESTRICT="!test? ( test )" + +SDL_DEPS=" + media-libs/libsdl!VER! + media-libs/sdl!VER!-image[tiff] + ttf? ( media-libs/sdl!VER!-ttf ) +" + +RDEPEND=" + media-libs/libpng + lua? ( ${LUA_DEPS} ) + sdl? ( ${SDL_DEPS//!VER!/} ) + sdl2? ( ${SDL_DEPS//!VER!/2} ) + !sdl? ( !sdl2? ( x11-libs/libX11 ) ) + ttf? ( media-libs/freetype ) +" +DEPEND="$RDEPEND" + +src_prepare() { + pushd .. || die + default + + if use test; then + rmdir tests/pic-samples || die + mv "${WORKDIR}/pic-samples-${pic_samples_commit}" tests/pic-samples || die + fi + + popd || die + + # Remove optimisation and debug info from CFLAGS + sed -r -i '/^\s*COPT\s*\+?=/s!\s*(-g(|gdb|stabs)|-O\$\(OPTIM\))(\s|$)!\3!g' Makefile +} + +src_configure() { + my_makeargs=( + V=1 + PREFIX="${EPREFIX}/usr" + ) + use sdl && my_makeargs+=( API=sdl ) + use sdl2 && my_makeargs+=( API=sdl2 ) + use sdl || use sdl2 || my_makeargs+=( API=x11 ) + + use ttf || my_makeargs+=( NOTTF=1 ) + use lua || my_makeargs+=( NOLUA=1 SCRIPT_FILES="" ) + + tc-export CC PKG_CONFIG +} + +src_compile() { + emake "${my_makeargs[@]}" +} + +src_test() { + emake "${my_makeargs[@]}" check +} + +src_install() { + emake "${my_makeargs[@]}" DESTDIR="${D}" install + + # install documentation + cd ../doc || die + dodoc README.txt COMPILING.txt + + if use doc; then + dodoc -r original_docs + + insinto "/usr/share/doc/${P}" + doins quickstart.rtf + fi + + # grafx2 binary usually has name grafx2-sdl or grafx2-x11 but desktop file + # references it as just grafx2, so let's create symlink to mitigate it. + local bin="$(basename "$(ls "${ED}"/usr/bin/grafx2*)" )" + [[ -z "$bin" ]] && die "failed to find installed binary" + if [[ "$bin" != "grafx2" ]]; then + echo "$bin" + dosym "$bin" "/usr/bin/grafx2" || die; + fi +} diff --git a/media-gfx/grafx2/metadata.xml b/media-gfx/grafx2/metadata.xml new file mode 100644 index 0000000..85d29da --- /dev/null +++ b/media-gfx/grafx2/metadata.xml @@ -0,0 +1,14 @@ + + + + + + + GrafX2/grafX2 + + + Add support for TTF fonts + Use media-libs/libsdl as a rendering backend + Use media-libs/libsdl2 as a rendering backend + +