commit: a14cb6da439ca2a27da3ae384567b8ccd9052df3 Author: Sebastian Parborg <darkdefende <AT> gmail <DOT> com> AuthorDate: Sun Jan 19 19:47:29 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Mar 16 15:04:51 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a14cb6da
media-gfx/blender-bin: New package, 3.6.19, 4.2.5, live New Blender binary ebuilds. There are two reasons for having these binary packages: 1. Maintaining the older library dependecies for the Blender LTS versions are quite cumbersome. (See linked Bug) 2. Some features/dependecies are not packaged or enabled in the regular ebuild. (USD for example). So if the end user wants all features they can easily have them with these binary ebuilds. Bug: https://bugs.gentoo.org/948156 Signed-off-by: Sebastian Parborg <darkdefende <AT> gmail.com> Signed-off-by: Sam James <sam <AT> gentoo.org> media-gfx/blender-bin/Manifest | 2 + media-gfx/blender-bin/blender-bin-3.6.19.ebuild | 83 ++++++++++++++++++++++ media-gfx/blender-bin/blender-bin-4.2.5.ebuild | 83 ++++++++++++++++++++++ media-gfx/blender-bin/blender-bin-9999.ebuild | 83 ++++++++++++++++++++++ media-gfx/blender-bin/metadata.xml | 20 ++++++ .../default/linux/amd64/17.0/musl/package.mask | 4 ++ .../default/linux/amd64/23.0/musl/package.mask | 4 ++ .../linux/amd64/23.0/split-usr/musl/package.mask | 4 ++ 8 files changed, 283 insertions(+) diff --git a/media-gfx/blender-bin/Manifest b/media-gfx/blender-bin/Manifest new file mode 100644 index 000000000000..71cececa0ea1 --- /dev/null +++ b/media-gfx/blender-bin/Manifest @@ -0,0 +1,2 @@ +DIST blender-3.6.19-linux-x64.tar.xz 272321124 BLAKE2B 6074e844612b3f15487c770180b7fc3d2e93f6f680d5ad92fa262fcd5005776ea720de35a9f654cf284eeb9e7ac3ae2bfdb14a0935801ffc21eee4a4185c8681 SHA512 7c5e83b37150e360f07a618c9efe96460167f800a72fa40dddf5ead42e372adac4579c591d52d038b8f362e05e34e7a10770124ff440aa42776e38ca6b89fd49 +DIST blender-4.2.5-linux-x64.tar.xz 352163468 BLAKE2B 6a192474514b85525c61994ff78229ab488dc63ec55c8bd3ad3a6780e8f449f9fe195376de6cca6c03e238c82ecf9ec22ccd8f12ddae47e7b9ab838a8b5c06e0 SHA512 000264786dbcf67c6f27e873b26a2fc514a6180613a77be3a198b07f27e0ce4e04cc67f2c760bd6f55e7e5046d6de5738ada1a70a12d1eb243eb4fa10b50ecad diff --git a/media-gfx/blender-bin/blender-bin-3.6.19.ebuild b/media-gfx/blender-bin/blender-bin-3.6.19.ebuild new file mode 100644 index 000000000000..27b8def27ff6 --- /dev/null +++ b/media-gfx/blender-bin/blender-bin-3.6.19.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" +LICENSE="GPL-3+ Apache-2.0" +SLOT="${PV%.*}" +RESTRICT="strip" + +if [[ ${PV} = *9999* ]] ; then + BDEPEND=" + app-misc/jq + " + PROPERTIES+=" live" +else + SRC_URI=" + https://download.blender.org/release/Blender${SLOT}/blender-${PV}-linux-x64.tar.xz + " + KEYWORDS="~amd64" +fi + +RDEPEND=" +media-libs/libglvnd +sys-libs/glibc +virtual/libcrypt +x11-base/xorg-server +" + +src_unpack() { + mkdir -p "${S}" + if [[ ${PV} = *9999* ]] ; then + if [[ -z "${BLENDER_BIN_URL}" ]]; then + latest=$(wget -O - "https://builder.blender.org/download/daily/?format=json&v=1" | \ + jq -r 'map(select(.platform == "linux" and .branch == "main" and .file_extension == "xz")) | .[0].url' ) + else + latest=$BLENDER_BIN_URL + fi + + echo $latest + + wget -c "$latest" -O "${T}/blender_daily.tar.xz" || die + tar xf "${T}/blender_daily.tar.xz" --directory "${S}" --strip-components=1 || die + else + tar xf "${DISTDIR}/blender-${PV}-linux-x64.tar.xz" --directory "${S}" --strip-components=1 || die + fi +} + +src_install() { + declare BLENDER_OPT_HOME=/opt/${P} + + # Prepare icons and .desktop for menu entry + mv blender.desktop ${P}.desktop + mv blender.svg ${P}.svg + mv blender-symbolic.svg ${P}-symbolic.svg + sed -i -e "s:=blender:=${P}:" -e "s:Name=Blender:Name=Blender Bin ${PV}:" "${P}.desktop" || die + + # Install icons and .desktop for menu entry + doicon -s scalable "${S}"/blender*.svg + domenu ${P}.desktop + + # Install all the blender files in /opt + dodir ${BLENDER_OPT_HOME%/*} + mv "${S}" "${D}"${BLENDER_OPT_HOME} || die + + # Create symlink /usr/bin/blender-bin + dosym ${BLENDER_OPT_HOME}/blender /usr/bin/${P} +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} diff --git a/media-gfx/blender-bin/blender-bin-4.2.5.ebuild b/media-gfx/blender-bin/blender-bin-4.2.5.ebuild new file mode 100644 index 000000000000..27b8def27ff6 --- /dev/null +++ b/media-gfx/blender-bin/blender-bin-4.2.5.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" +LICENSE="GPL-3+ Apache-2.0" +SLOT="${PV%.*}" +RESTRICT="strip" + +if [[ ${PV} = *9999* ]] ; then + BDEPEND=" + app-misc/jq + " + PROPERTIES+=" live" +else + SRC_URI=" + https://download.blender.org/release/Blender${SLOT}/blender-${PV}-linux-x64.tar.xz + " + KEYWORDS="~amd64" +fi + +RDEPEND=" +media-libs/libglvnd +sys-libs/glibc +virtual/libcrypt +x11-base/xorg-server +" + +src_unpack() { + mkdir -p "${S}" + if [[ ${PV} = *9999* ]] ; then + if [[ -z "${BLENDER_BIN_URL}" ]]; then + latest=$(wget -O - "https://builder.blender.org/download/daily/?format=json&v=1" | \ + jq -r 'map(select(.platform == "linux" and .branch == "main" and .file_extension == "xz")) | .[0].url' ) + else + latest=$BLENDER_BIN_URL + fi + + echo $latest + + wget -c "$latest" -O "${T}/blender_daily.tar.xz" || die + tar xf "${T}/blender_daily.tar.xz" --directory "${S}" --strip-components=1 || die + else + tar xf "${DISTDIR}/blender-${PV}-linux-x64.tar.xz" --directory "${S}" --strip-components=1 || die + fi +} + +src_install() { + declare BLENDER_OPT_HOME=/opt/${P} + + # Prepare icons and .desktop for menu entry + mv blender.desktop ${P}.desktop + mv blender.svg ${P}.svg + mv blender-symbolic.svg ${P}-symbolic.svg + sed -i -e "s:=blender:=${P}:" -e "s:Name=Blender:Name=Blender Bin ${PV}:" "${P}.desktop" || die + + # Install icons and .desktop for menu entry + doicon -s scalable "${S}"/blender*.svg + domenu ${P}.desktop + + # Install all the blender files in /opt + dodir ${BLENDER_OPT_HOME%/*} + mv "${S}" "${D}"${BLENDER_OPT_HOME} || die + + # Create symlink /usr/bin/blender-bin + dosym ${BLENDER_OPT_HOME}/blender /usr/bin/${P} +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} diff --git a/media-gfx/blender-bin/blender-bin-9999.ebuild b/media-gfx/blender-bin/blender-bin-9999.ebuild new file mode 100644 index 000000000000..27b8def27ff6 --- /dev/null +++ b/media-gfx/blender-bin/blender-bin-9999.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" +LICENSE="GPL-3+ Apache-2.0" +SLOT="${PV%.*}" +RESTRICT="strip" + +if [[ ${PV} = *9999* ]] ; then + BDEPEND=" + app-misc/jq + " + PROPERTIES+=" live" +else + SRC_URI=" + https://download.blender.org/release/Blender${SLOT}/blender-${PV}-linux-x64.tar.xz + " + KEYWORDS="~amd64" +fi + +RDEPEND=" +media-libs/libglvnd +sys-libs/glibc +virtual/libcrypt +x11-base/xorg-server +" + +src_unpack() { + mkdir -p "${S}" + if [[ ${PV} = *9999* ]] ; then + if [[ -z "${BLENDER_BIN_URL}" ]]; then + latest=$(wget -O - "https://builder.blender.org/download/daily/?format=json&v=1" | \ + jq -r 'map(select(.platform == "linux" and .branch == "main" and .file_extension == "xz")) | .[0].url' ) + else + latest=$BLENDER_BIN_URL + fi + + echo $latest + + wget -c "$latest" -O "${T}/blender_daily.tar.xz" || die + tar xf "${T}/blender_daily.tar.xz" --directory "${S}" --strip-components=1 || die + else + tar xf "${DISTDIR}/blender-${PV}-linux-x64.tar.xz" --directory "${S}" --strip-components=1 || die + fi +} + +src_install() { + declare BLENDER_OPT_HOME=/opt/${P} + + # Prepare icons and .desktop for menu entry + mv blender.desktop ${P}.desktop + mv blender.svg ${P}.svg + mv blender-symbolic.svg ${P}-symbolic.svg + sed -i -e "s:=blender:=${P}:" -e "s:Name=Blender:Name=Blender Bin ${PV}:" "${P}.desktop" || die + + # Install icons and .desktop for menu entry + doicon -s scalable "${S}"/blender*.svg + domenu ${P}.desktop + + # Install all the blender files in /opt + dodir ${BLENDER_OPT_HOME%/*} + mv "${S}" "${D}"${BLENDER_OPT_HOME} || die + + # Create symlink /usr/bin/blender-bin + dosym ${BLENDER_OPT_HOME}/blender /usr/bin/${P} +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} diff --git a/media-gfx/blender-bin/metadata.xml b/media-gfx/blender-bin/metadata.xml new file mode 100644 index 000000000000..b110b28db2bc --- /dev/null +++ b/media-gfx/blender-bin/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>[email protected]</email> + <name>Paul Zander</name> + </maintainer> + <maintainer type="person" proxied="yes"> + <email>[email protected]</email> + <name>Sebastian Parborg</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>[email protected]</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> + Blender, the open source software for 3D modeling, animation, + rendering, post-production, interactive creation and playback. + </longdescription> +</pkgmetadata> diff --git a/profiles/default/linux/amd64/17.0/musl/package.mask b/profiles/default/linux/amd64/17.0/musl/package.mask index ce270aa1d95e..33ea67e2c28d 100644 --- a/profiles/default/linux/amd64/17.0/musl/package.mask +++ b/profiles/default/linux/amd64/17.0/musl/package.mask @@ -8,3 +8,7 @@ # Georgy Yakovlev <[email protected]> (2020-01-28) # rust-bin is available on amd64 musl -dev-lang/rust-bin + +# Sebastian Parborg <[email protected]> (2025-01-21) +# blender-bin is only compatible with glibc +media-gfx/blender-bin diff --git a/profiles/default/linux/amd64/23.0/musl/package.mask b/profiles/default/linux/amd64/23.0/musl/package.mask index 25a5df5e9181..10ed6ac4d04d 100644 --- a/profiles/default/linux/amd64/23.0/musl/package.mask +++ b/profiles/default/linux/amd64/23.0/musl/package.mask @@ -9,3 +9,7 @@ dev-java/openjdk-bin:8 # Georgy Yakovlev <[email protected]> (2020-01-28) # rust-bin is available on amd64 musl -dev-lang/rust-bin + +# Sebastian Parborg <[email protected]> (2025-01-21) +# blender-bin is only compatible with glibc +media-gfx/blender-bin diff --git a/profiles/default/linux/amd64/23.0/split-usr/musl/package.mask b/profiles/default/linux/amd64/23.0/split-usr/musl/package.mask index 25a5df5e9181..10ed6ac4d04d 100644 --- a/profiles/default/linux/amd64/23.0/split-usr/musl/package.mask +++ b/profiles/default/linux/amd64/23.0/split-usr/musl/package.mask @@ -9,3 +9,7 @@ dev-java/openjdk-bin:8 # Georgy Yakovlev <[email protected]> (2020-01-28) # rust-bin is available on amd64 musl -dev-lang/rust-bin + +# Sebastian Parborg <[email protected]> (2025-01-21) +# blender-bin is only compatible with glibc +media-gfx/blender-bin
