summaryrefslogtreecommitdiff
path: root/media-tv/plex-media-server
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-01-15 15:51:32 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-01-15 15:51:32 +0000
commit21435953e16cda318a82334ddbadb3b5c36d9ea7 (patch)
treee1810a4b135afce04b34862ef0fab2bfaeb8aeca /media-tv/plex-media-server
parent7bc9c63c9da678a7e6fceb095d56c634afd22c56 (diff)
gentoo resync : 15.01.2020
Diffstat (limited to 'media-tv/plex-media-server')
-rw-r--r--media-tv/plex-media-server/Manifest12
-rw-r--r--media-tv/plex-media-server/files/add_gentoo_profile_as_platform_version.patch12
-rw-r--r--[-rwxr-xr-x]media-tv/plex-media-server/files/init.d/plex-media-server0
-rw-r--r--media-tv/plex-media-server/files/plexmediamanager.desktop.new.patch8
-rw-r--r--media-tv/plex-media-server/plex-media-server-1.11.3.ebuild153
-rw-r--r--media-tv/plex-media-server/plex-media-server-1.12.3.ebuild155
-rw-r--r--media-tv/plex-media-server/plex-media-server-1.18.3.ebuild135
-rw-r--r--media-tv/plex-media-server/plex-media-server-1.18.4.ebuild135
8 files changed, 298 insertions, 312 deletions
diff --git a/media-tv/plex-media-server/Manifest b/media-tv/plex-media-server/Manifest
index e79ba761089d..c3380d5647b7 100644
--- a/media-tv/plex-media-server/Manifest
+++ b/media-tv/plex-media-server/Manifest
@@ -1,16 +1,20 @@
+AUX add_gentoo_profile_as_platform_version.patch 616 BLAKE2B 5331ad91139aa69944aa5c263609985c87315a67f3d5633e8f3976aa010f39f50e563d0b3b5259ebd1ce3437560ba8d95a71e304712a35bb8150ac0684a56107 SHA512 53e99d8a24a23f0c530ab955f5a4a9938c4e06056d3107f899883094690dd9426d0951ea695628351afa3e971a4f59827b6c8dcae323718d24450c74bd78769a
AUX conf.d/plex-media-server 216 BLAKE2B 094d0f6f7cdfa696ae47d7879c7459be5755dfe02a12c3ee986c1078ae0a46d974adc25dce252a49c3fd72e0dfe1ba65c49d575e12036fba44ce9b0390da64ec SHA512 d3d68fa58a1c1064803a9607708123302890571e823e5bc26de741bb15bd51db19234636672ff01757cbbcdb984c60663545689fa915761c78c3cf49e6da0f95
AUX init.d/plex-media-server 413 BLAKE2B f60fe9f653c591cddaf77a0ebcb47218681a63235e82bc016c7d2ee9180df7f6ff24f3784216ea370bdc2d493531492f196200b6ec56ff8b303e69adaa0f108d SHA512 aeb873a00081f20abd27cc76d395908ae0643bd8aa665557adafef2ed97edbe93c18b55818b49227746f9c3ce4b7a81ceb9132f07d8d873bc7b5a932b944a402
+AUX plexmediamanager.desktop.new.patch 350 BLAKE2B f52186623be0ee3e4e1414639c69a39cd83f4a45af4854a6bf2c4f6e3d51dab3d16539d554f80dbb432dcb97f6171097677ae9e24486167802d2cf93fe4c2f63 SHA512 e7e97ef8d39ff0e9220026d282febaa2613f8cc96253a9f801f1f2af5c60c3780391cdada98f921cf0226156a2347db982cf814e6aa446b07e9ae6b1b96c9525
AUX systemd/plex-media-server.service 159 BLAKE2B d4988890f6424e0b9160e90df0125fbcb32e86443c5b869f66ac6e28c3701fdaa3dd819823edd0c8675792bf4e24e7fcf3bb8894e55539ad8fc5eb9ac9a550fc SHA512 9066840efa43b127dd0d4b26ea0552894db97bf48f89003258095986e7d4728e05bee2f49de856777ed3d0b5ec41654c14505bc9867b227b754aeecd0529abd6
AUX virtualenv_start_pms.patch 839 BLAKE2B 20d6a53b40a2c714153bc7f04c2bbad568b75197cd450cb52129cc3718fad1db09f9fe2a92e8608e1e95b710e0b4af58a373650ab4017438b63fe61132f13d75 SHA512 55fb8f3234942d10c0d6d1820fbab48b8a9f26f069031946dae551cde8b7d18d61ef36ec994719d2519687dc75e5ec27205702395a8af112bda720b7a62072aa
AUX virtualenv_start_pms_2019.patch 430 BLAKE2B 397f059ab4a401bb92dc71a763a3c2ce385bcb0d3fc001629b5b9c2a740b862c086bb9d62592897e39e9fa8849671a2b961b8653de27d8c80e66c4b749a34982 SHA512 e6611cf2831701dabba08c4e9cdb8a8689da4cabcc720d4236b8c193ef7bd97e68451c82573f062cd0fdfd8d758cb0f4b7be5f09514b5e08313001e4ad68489b
-DIST plexmediaserver_1.11.3.4803-c40bba82e_amd64.deb 108830880 BLAKE2B 7ed912756b8bdedb695c4cbf99d0565da53904814cedb8e026614b8db9bb638cbd437f35e05915d6d22221c87ecf1136ea9ae08797bca2ebbe4f2e0a861b4841 SHA512 0bda324e733b1e86e8dba7c10f6bab3e9dad5463113c5998059492bd7d4a49e105068d1d9313c9405d7a3c85c99e6528be6c0f1c9f52db115a1da1545a9485b5
-DIST plexmediaserver_1.12.3.4973-215c28d86_amd64.deb 109277946 BLAKE2B 6a868943c77a1355dd0a4dbe88323b937d827dbfe84e729cf1f5c5c7d4a7d44e9af7e69121a7e3cf9f5d60786c9877bd3e303d9d5d301c86f08984afb1062730 SHA512 1befe9196926bf4cabd1f9c746e958efc72392479a844f8c3d9161282618fe28e29dbb9c12ddccf5db5b852ae58cd43dc0d988f00732431e16106021c8618347
DIST plexmediaserver_1.13.2.5154-fd05be322_amd64.deb 111093662 BLAKE2B 26b1161107a8f9223f7065ff4119a32470c06794a159a42181b9278107a6d14f9fbb582e515223aaa659e9007d9b18299cd65b2a068e1d7dd934d52552a44cd1 SHA512 548c033272d56f6c54ab073536327b285fdbda3192c203a3ea3ff2b6c7afbc79ba7d56d7251f623ca1e09db572c92000d7baa7a8a555d853d85fdb9d1dfb8479
DIST plexmediaserver_1.14.1.5488-cc260c476_amd64.deb 105175642 BLAKE2B 59f7cc130115ae2179bcf0ddf5ef4583886c11447c423ada2b1da62f83c3840c89aa2b6d9c56e3a358d1da03bc9a6bd340cae7fee1b6da102e9bc785de4f8e27 SHA512 48f25ac27a8dc5d1a4ae74a04793994bb21431ed3069a9808373e0c5a424fd53f577d0912e1e46a155133b094bdafb7edeb5b6c9ef428a08e07e24e055267e86
DIST plexmediaserver_1.16.4.1469-6d5612c2f_amd64.deb 74427444 BLAKE2B f90973aaadaf8e11fbcaa0aaa817a11b62049b1eaa22c04daf65d4fc21e73eb90d982e3faa66b482fdb4e7b53467246e20845c432920718334c5419c760e85bd SHA512 0753e82d4cd2c5a35f8f62329c3013eff297edd1bf9afcfd1444c3f3f85d33b3aec4a553c70931182d3a45df44dd26ce10ddbee9b59755914c988f0edbe5aa70
-EBUILD plex-media-server-1.11.3.ebuild 4677 BLAKE2B a383ba8725a3b464d4f26df41db9823b6f63d704d7071723a92d03e07b3e40619afefeb64991e4a9051a47c0d2943416aa3da906cccd9033fbb8d91d29a1fab0 SHA512 b2b97885dc31e520aac8278df291c03c81169931940ec65aa5197957dee2bffb18ac32e11c1e049b14a196a9b5c096f210b439efd7800e9cac8d7e3743193682
-EBUILD plex-media-server-1.12.3.ebuild 4737 BLAKE2B a08d70d804e55777bdda1b67ed3438cb94013f93c2020a1c175c4839c0dc3d6f2727045be262a8ff01225666d006899dd11817f9d2309ea6b788744c8ee1c4de SHA512 18e182da95d918349f59bec88f860442dd4bef8778abbde77db8d7cd88db9c83dfb6f654afff9554101880a87542e7309f2e3411a70e159990e1417d86f97af3
+DIST plexmediaserver_1.18.3.2156-349e9837e_amd64.deb 87197768 BLAKE2B 1dfb42a0258c5a4ff93ac38ab4abad5c17ba3c0a26db85554fa43c72ad46416bcd15bea2a33114a17ed59a73c1b4b74953560f15db3df7eb8e00f3aeb090d4d4 SHA512 82920a25b6a73d929ee2dc776ae025d427248513b1590cef80224a2173c70f6354ec32a27d3e8e49d5f67ff3c77c57531a55d031a03fbd82034c301aa99a71ac
+DIST plexmediaserver_1.18.3.2156-349e9837e_i386.deb 74116200 BLAKE2B fd5b152704c9c646fce9e2a139c0ac9d500d2514e2fc050d788bd5a65df55df4d7db8b17b0160623738add3f8ca29d3566741cf3c47866d09ac96f4e035e9fa0 SHA512 4a489b807e5f6b0624a879e29eac6816a3dbd31eb8286c76263904c59c7be481dfd6754a5e14ba6ee2247c851cfd0762ca3e4a3004ca5b343bf53a5a1e143552
+DIST plexmediaserver_1.18.4.2171-ac2afe5f8_amd64.deb 86833802 BLAKE2B a59b1ff4f4475b87464e6a7fe441258c95e19db86649bfb5110a1f1a2a5382c847a9d146dec48b726bd8d34622da04dfc31d460f9c91f44f551ab5a87e8ff4ec SHA512 b2106a43996ebbddd179101ab7c054ca7576f6cd60892c78354106875a13e22283fdcddfe39041acc2dc60690a40029edd213651938b04f002fe3680da13d707
+DIST plexmediaserver_1.18.4.2171-ac2afe5f8_i386.deb 73659238 BLAKE2B 3be12b14359f0e7f46f40328414855ece7c36d4cdd0c01dc30cf225ec3e7aef06504b8c2117f634e4ea0960aa387e2d2cfacb2e697d788befa1b76bc973aebf8 SHA512 9641ff170ea3379cf0b6351167206b2923194e831868b1c2245da7bd3a63af12f17ba27c42bd4b4cb8f00bb844e1be6b7427912d1f06096c6e701f579f918d66
EBUILD plex-media-server-1.13.2-r1.ebuild 5111 BLAKE2B a695cebc1611c173f517c3618efd7733eaadc365d8a9d9519321d55fa0e34cf3101ecc630baf5614387cd3216d1aaf8d2eb76ccc904845d64918a4dde0ea4096 SHA512 9b31ceffb0f1de25250d865e11543851a08f53ba2568f2108bc98b069d295d97ea300baae50a5f9ce2a63aa36242f0162896dfdd6e9b9a428f0effe4a5de4348
EBUILD plex-media-server-1.14.1.ebuild 5107 BLAKE2B 045768a008b2c7a20ec999bb7a04703aa86020c17cd7038255476793e5633873a239edff0580770d3b8d7d644dec336edae9380af5ae18c0949f8d87f636647a SHA512 a66db8f7a13c4d45b94f4c2f1f29d61c22eabcaf035d00226c860fcb44aba68d709cb9304ca85e0fc530cffe870668c7acba57fc11ea7ce483fbebef21d04802
EBUILD plex-media-server-1.16.4.ebuild 4067 BLAKE2B bfc37ad99b0bada0e859a83c23a906944209d7c6b38da471f79802dca89716a274513ce85e84f4fd2a083b723733a9191262755356dd30429f5dc47307699685 SHA512 cfd87eba01fc50238bdcd94ca01d74e74281b58f9d4f71d6bd1e8e97189ab7a6077bb1640f5f23cb62febc27701d2c332da2bc4460af595fd74d93f0032b3d13
+EBUILD plex-media-server-1.18.3.ebuild 4433 BLAKE2B d2f1488336132a93aa99d408587d04cac5058b641d698529c10d4034daab6f84782f5a6367f8feb07547f6054e7dc6e3371587f0a6a9aa0025dba6e1fbdbc7e8 SHA512 913127571255dc119a7544087b69a34531b5d64be14abe9a6085cfa0d790efdd80f59e06318a4a918f00190ceec557409484f59b905600d323e7deb7e3fb6e43
+EBUILD plex-media-server-1.18.4.ebuild 4433 BLAKE2B ac17d0c743950abc3fdcdbff7b006b7b2a2d99eaa1b9058c665cbca469a95b9c827073a35ad26b953fd7209634aca36e253c7af83b11ce2aa3c16b51dd31ab84 SHA512 ba54d4449d13e425e7d36bfdb8091aeb47327a37ef539232daf129821e4a28e09cc5cdc84d4ad8723802e9a8aa830de0e1713eddc3124bca559da5cc3acb576e
MISC metadata.xml 367 BLAKE2B 0d52124daec02b05aa2c729fcc943a29b74d871de0dccf8cafb9947908a4eea58b2d893a454cb76230d1a24eecdd4b9ef752c40d52961488bd5722dfba57f2c8 SHA512 9feb86f493b8ba2cf3a3bf8c146e55bbd7701e58bf62ab576a71fecdac0ad0522bfe45650d84f6b0ec94be2fbf07c6db143cce5c69e80a32101084e372e86eb0
diff --git a/media-tv/plex-media-server/files/add_gentoo_profile_as_platform_version.patch b/media-tv/plex-media-server/files/add_gentoo_profile_as_platform_version.patch
new file mode 100644
index 000000000000..eaf49067bf2c
--- /dev/null
+++ b/media-tv/plex-media-server/files/add_gentoo_profile_as_platform_version.patch
@@ -0,0 +1,12 @@
+--- a/usr/sbin/start_pms
++++ b/usr/sbin/start_pms
+@@ -4,7 +4,8 @@
+ export PLEX_MEDIA_SERVER_INFO_VENDOR="$(grep ^NAME= /etc/os-release|awk -F= '{print $2}'|tr -d \" )"
+ export PLEX_MEDIA_SERVER_INFO_DEVICE="PC"
+ export PLEX_MEDIA_SERVER_INFO_MODEL="$(uname -m)"
+-export PLEX_MEDIA_SERVER_INFO_PLATFORM_VERSION="$(grep ^VERSION= /etc/os-release|awk -F= '{print $2}'|tr -d \" )"
++GENTOO_PROFILE="`readlink /etc/portage/make.profile`"
++export PLEX_MEDIA_SERVER_INFO_PLATFORM_VERSION="${GENTOO_PROFILE#.*/profiles/}"
+
+ # change these parameters in /etc/plex/plexmediaserver
+ export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6
diff --git a/media-tv/plex-media-server/files/init.d/plex-media-server b/media-tv/plex-media-server/files/init.d/plex-media-server
index 102ac80c287c..102ac80c287c 100755..100644
--- a/media-tv/plex-media-server/files/init.d/plex-media-server
+++ b/media-tv/plex-media-server/files/init.d/plex-media-server
diff --git a/media-tv/plex-media-server/files/plexmediamanager.desktop.new.patch b/media-tv/plex-media-server/files/plexmediamanager.desktop.new.patch
new file mode 100644
index 000000000000..a7f86de369ae
--- /dev/null
+++ b/media-tv/plex-media-server/files/plexmediamanager.desktop.new.patch
@@ -0,0 +1,8 @@
+--- ./usr/share/applications/plexmediaserver.desktop 2019-01-02 13:53:51.000000000 +0100
++++ ./usr/share/applications/plexmediaserver.desktop 2019-01-04 07:52:25.910331212 +0100
+@@ -6,4 +6,4 @@
+ Icon=plexmediaserver
+ Terminal=false
+ Type=Application
+-Categories=Audio;Music;Video;Player;Media;
++Categories=Audio;Music;Video;Player;AudioVideo;X-Media
diff --git a/media-tv/plex-media-server/plex-media-server-1.11.3.ebuild b/media-tv/plex-media-server/plex-media-server-1.11.3.ebuild
deleted file mode 100644
index 0d8c34abcbf4..000000000000
--- a/media-tv/plex-media-server/plex-media-server-1.11.3.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit eutils user systemd unpacker pax-utils python-single-r1
-
-MINOR_VERSION="4803-c40bba82e"
-
-_APPNAME="plexmediaserver"
-_USERNAME="plex"
-_SHORTNAME="${_USERNAME}"
-_FULL_VERSION="${PV}.${MINOR_VERSION}"
-
-URI="https://downloads.plex.tv/plex-media-server"
-
-DESCRIPTION="A free media library that is intended for use with a plex client."
-HOMEPAGE="https://www.plex.tv/"
-SRC_URI="amd64? ( ${URI}/${_FULL_VERSION}/plexmediaserver_${_FULL_VERSION}_amd64.deb )"
-SLOT="0"
-LICENSE="Plex"
-RESTRICT="bindist strip"
-KEYWORDS="-* amd64"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="
- sys-apps/fix-gnustack
- dev-python/virtualenv[${PYTHON_USEDEP}]"
-
-RDEPEND="
- net-dns/avahi
- ${PYTHON_DEPS}"
-
-QA_DESKTOP_FILE="usr/share/applications/plexmediamanager.desktop"
-QA_PREBUILT="*"
-QA_MULTILIB_PATHS=(
- "usr/lib/${_APPNAME}/.*"
- "usr/lib/${_APPNAME}/Resources/Python/lib/python2.7/.*"
-)
-
-EXECSTACKED_BINS=( "${ED%/}/usr/lib/plexmediaserver/libgnsdk_dsp.so*" )
-BINS_TO_PAX_MARK=( "${ED%/}/usr/lib/plexmediaserver/Plex Script Host" )
-
-S="${WORKDIR}"
-PATCHES=( "${FILESDIR}/virtualenv_start_pms.patch" )
-
-pkg_setup() {
- enewgroup ${_USERNAME}
- enewuser ${_USERNAME} -1 /bin/bash /var/lib/${_APPNAME} "${_USERNAME},video"
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- unpack_deb ${A}
-}
-
-src_install() {
- # Move the config to the correct place
- local CONFIG_VANILLA="/etc/default/plexmediaserver"
- local CONFIG_PATH="/etc/${_SHORTNAME}"
- dodir "${CONFIG_PATH}"
- insinto "${CONFIG_PATH}"
- doins "${CONFIG_VANILLA#/}"
- sed -e "s#${CONFIG_VANILLA}#${CONFIG_PATH}/${_APPNAME}#g" -i "${S}"/usr/sbin/start_pms || die
-
- # Remove Debian specific files
- rm -rf "usr/share/doc" || die
-
- # Copy main files over to image and preserve permissions so it is portable
- cp -rp usr/ "${ED}" || die
-
- # Make sure the logging directory is created
- local LOGGING_DIR="/var/log/pms"
- dodir "${LOGGING_DIR}"
- chown "${_USERNAME}":"${_USERNAME}" "${ED%/}/${LOGGING_DIR}" || die
-
- # Create default library folder with correct permissions
- local DEFAULT_LIBRARY_DIR="/var/lib/${_APPNAME}"
- dodir "${DEFAULT_LIBRARY_DIR}"
- chown "${_USERNAME}":"${_USERNAME}" "${ED%/}/${DEFAULT_LIBRARY_DIR}" || die
-
- # Install the OpenRC init/conf files
- doinitd "${FILESDIR}/init.d/${PN}"
- doconfd "${FILESDIR}/conf.d/${PN}"
-
- # Disabling due to Bug 644694
- #_handle_multilib
-
- # Mask Plex libraries so that revdep-rebuild doesn't try to rebuild them.
- # Plex has its own precompiled libraries.
- _mask_plex_libraries_revdep
-
- # Install systemd service file
- local INIT_NAME="${PN}.service"
- local INIT="${FILESDIR}/systemd/${INIT_NAME}"
- systemd_newunit "${INIT}" "${INIT_NAME}"
-
- _remove_execstack_markings
- _add_pax_markings
-
- einfo "Configuring virtualenv"
- virtualenv -v --no-pip --no-setuptools --no-wheel "${ED}"usr/lib/plexmediaserver/Resources/Python || die
- pushd "${ED}"usr/lib/plexmediaserver/Resources/Python &>/dev/null || die
- find . -type f -exec sed -i -e "s#${D}##g" {} + || die
- popd &>/dev/null || die
-}
-
-pkg_postinst() {
- einfo ""
- elog "Plex Media Server is now installed. Please check the configuration file in /etc/${_SHORTNAME}/${_APPNAME} to verify the default settings."
- elog "To start the Plex Server, run 'rc-config start plex-media-server', you will then be able to access your library at http://<ip>:32400/web/"
-}
-
-# Disabling the follow function due to Bug 644694.
-# We shouldn't register plex libraries in global
-# library path since this will cause other packages
-# on the system to break.
-
-# Finds out where the library directory is for this system
-# and handles ldflags as to not break library dependencies
-# during rebuilds.
-_handle_multilib() {
- # Prevent revdep-rebuild, @preserved-rebuild breakage
- cat > "${T}"/66plex <<-EOF || die
- LDPATH="${EPREFIX}/usr/$(get_libdir)/plexmediaserver"
- EOF
-
- doenvd "${T}"/66plex
-}
-
-# Adds the precompiled plex libraries to the revdep-rebuild's mask list
-# so it doesn't try to rebuild libraries that can't be rebuilt.
-_mask_plex_libraries_revdep() {
- dodir /etc/revdep-rebuild/
- echo "SEARCH_DIRS_MASK=\"${EPREFIX}/usr/$(get_libdir)/plexmediaserver\"" > "${ED}"/etc/revdep-rebuild/80plexmediaserver
-}
-
-# Remove execstack flags from some libraries/executables
-# so that it works in hardened setups.
-_remove_execstack_markings() {
- for f in "${EXECSTACKED_BINS[@]}"; do
- # Unquoting 'f' so that expansion works.
- fix-gnustack -f ${f} > /dev/null
- done
-}
-
-# Add pax markings to some binaries so that they work on hardened setup.
-_add_pax_markings() {
- for f in "${BINS_TO_PAX_MARK[@]}"; do
- pax-mark m "${f}"
- done
-}
diff --git a/media-tv/plex-media-server/plex-media-server-1.12.3.ebuild b/media-tv/plex-media-server/plex-media-server-1.12.3.ebuild
deleted file mode 100644
index 9269358d163c..000000000000
--- a/media-tv/plex-media-server/plex-media-server-1.12.3.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit eutils user systemd unpacker pax-utils python-single-r1
-
-MINOR_VERSION="4973-215c28d86"
-
-_APPNAME="plexmediaserver"
-_USERNAME="plex"
-_SHORTNAME="${_USERNAME}"
-_FULL_VERSION="${PV}.${MINOR_VERSION}"
-
-URI="https://downloads.plex.tv/plex-media-server"
-
-DESCRIPTION="A free media library that is intended for use with a plex client."
-HOMEPAGE="https://www.plex.tv/"
-SRC_URI="amd64? ( ${URI}/${_FULL_VERSION}/plexmediaserver_${_FULL_VERSION}_amd64.deb )"
-SLOT="0"
-LICENSE="Plex"
-RESTRICT="bindist strip"
-KEYWORDS="-* amd64"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="
- sys-apps/fix-gnustack
- dev-python/virtualenv[${PYTHON_USEDEP}]"
-
-RDEPEND="
- net-dns/avahi
- ${PYTHON_DEPS}"
-
-QA_DESKTOP_FILE="usr/share/applications/plexmediamanager.desktop"
-QA_PREBUILT="*"
-QA_MULTILIB_PATHS=(
- "usr/lib/${_APPNAME}/.*"
- "usr/lib/${_APPNAME}/Resources/Python/lib/python2.7/.*"
-)
-
-EXECSTACKED_BINS=( "${ED%/}/usr/lib/plexmediaserver/libgnsdk_dsp.so*" )
-BINS_TO_PAX_MARK=( "${ED%/}/usr/lib/plexmediaserver/Plex Script Host" )
-
-S="${WORKDIR}"
-PATCHES=( "${FILESDIR}/virtualenv_start_pms.patch" )
-
-pkg_setup() {
- enewgroup ${_USERNAME}
- enewuser ${_USERNAME} -1 /bin/bash /var/lib/${_APPNAME} "${_USERNAME},video"
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- unpack_deb ${A}
-}
-
-src_install() {
- # Move the config to the correct place
- local CONFIG_VANILLA="/etc/default/plexmediaserver"
- local CONFIG_PATH="/etc/${_SHORTNAME}"
- dodir "${CONFIG_PATH}"
- insinto "${CONFIG_PATH}"
- doins "${CONFIG_VANILLA#/}"
- sed -e "s#${CONFIG_VANILLA}#${CONFIG_PATH}/${_APPNAME}#g" -i "${S}"/usr/sbin/start_pms || die
-
- # Remove Debian specific files
- rm -rf "usr/share/doc" || die
-
- # Copy main files over to image and preserve permissions so it is portable
- cp -rp usr/ "${ED}" || die
-
- # Make sure the logging directory is created
- local LOGGING_DIR="/var/log/pms"
- dodir "${LOGGING_DIR}"
- chown "${_USERNAME}":"${_USERNAME}" "${ED%/}/${LOGGING_DIR}" || die
- keepdir "${LOGGING_DIR}"
-
- # Create default library folder with correct permissions
- local DEFAULT_LIBRARY_DIR="/var/lib/${_APPNAME}"
- dodir "${DEFAULT_LIBRARY_DIR}"
- chown "${_USERNAME}":"${_USERNAME}" "${ED%/}/${DEFAULT_LIBRARY_DIR}" || die
- keepdir "${DEFAULT_LIBRARY_DIR}"
-
- # Install the OpenRC init/conf files
- doinitd "${FILESDIR}/init.d/${PN}"
- doconfd "${FILESDIR}/conf.d/${PN}"
-
- # Disabling due to Bug 644694
- #_handle_multilib
-
- # Mask Plex libraries so that revdep-rebuild doesn't try to rebuild them.
- # Plex has its own precompiled libraries.
- _mask_plex_libraries_revdep
-
- # Install systemd service file
- local INIT_NAME="${PN}.service"
- local INIT="${FILESDIR}/systemd/${INIT_NAME}"
- systemd_newunit "${INIT}" "${INIT_NAME}"
-
- _remove_execstack_markings
- _add_pax_markings
-
- einfo "Configuring virtualenv"
- virtualenv -v --no-pip --no-setuptools --no-wheel "${ED}"usr/lib/plexmediaserver/Resources/Python || die
- pushd "${ED}"usr/lib/plexmediaserver/Resources/Python &>/dev/null || die
- find . -type f -exec sed -i -e "s#${D}##g" {} + || die
- popd &>/dev/null || die
-}
-
-pkg_postinst() {
- einfo ""
- elog "Plex Media Server is now installed. Please check the configuration file in /etc/${_SHORTNAME}/${_APPNAME} to verify the default settings."
- elog "To start the Plex Server, run 'rc-config start plex-media-server', you will then be able to access your library at http://<ip>:32400/web/"
-}
-
-# Disabling the follow function due to Bug 644694.
-# We shouldn't register plex libraries in global
-# library path since this will cause other packages
-# on the system to break.
-
-# Finds out where the library directory is for this system
-# and handles ldflags as to not break library dependencies
-# during rebuilds.
-_handle_multilib() {
- # Prevent revdep-rebuild, @preserved-rebuild breakage
- cat > "${T}"/66plex <<-EOF || die
- LDPATH="${EPREFIX}/usr/$(get_libdir)/plexmediaserver"
- EOF
-
- doenvd "${T}"/66plex
-}
-
-# Adds the precompiled plex libraries to the revdep-rebuild's mask list
-# so it doesn't try to rebuild libraries that can't be rebuilt.
-_mask_plex_libraries_revdep() {
- dodir /etc/revdep-rebuild/
- echo "SEARCH_DIRS_MASK=\"${EPREFIX}/usr/$(get_libdir)/plexmediaserver\"" > "${ED}"/etc/revdep-rebuild/80plexmediaserver
-}
-
-# Remove execstack flags from some libraries/executables
-# so that it works in hardened setups.
-_remove_execstack_markings() {
- for f in "${EXECSTACKED_BINS[@]}"; do
- # Unquoting 'f' so that expansion works.
- fix-gnustack -f ${f} > /dev/null
- done
-}
-
-# Add pax markings to some binaries so that they work on hardened setup.
-_add_pax_markings() {
- for f in "${BINS_TO_PAX_MARK[@]}"; do
- pax-mark m "${f}"
- done
-}
diff --git a/media-tv/plex-media-server/plex-media-server-1.18.3.ebuild b/media-tv/plex-media-server/plex-media-server-1.18.3.ebuild
new file mode 100644
index 000000000000..d4dc6a7ad1a1
--- /dev/null
+++ b/media-tv/plex-media-server/plex-media-server-1.18.3.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils systemd unpacker pax-utils python-single-r1
+
+MINOR_VERSION="2156-349e9837e"
+
+_APPNAME="plexmediaserver"
+_USERNAME="plex"
+_SHORTNAME="${_USERNAME}"
+_FULL_VERSION="${PV}.${MINOR_VERSION}"
+
+URI="https://downloads.plex.tv/plex-media-server-new"
+
+DESCRIPTION="A free media library that is intended for use with a plex client"
+HOMEPAGE="https://www.plex.tv/"
+SRC_URI="
+ amd64? ( ${URI}/${_FULL_VERSION}/debian/plexmediaserver_${_FULL_VERSION}_amd64.deb )
+ x86? ( ${URI}/${_FULL_VERSION}/debian/plexmediaserver_${_FULL_VERSION}_i386.deb )
+"
+SLOT="0"
+LICENSE="Plex"
+RESTRICT="bindist strip"
+KEYWORDS="-* ~amd64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="dev-python/virtualenv[${PYTHON_USEDEP}]"
+BDEPEND="dev-util/patchelf"
+
+RDEPEND="
+ acct-group/plex
+ acct-user/plex
+ net-dns/avahi
+ ${PYTHON_DEPS}"
+
+QA_DESKTOP_FILE="usr/share/applications/plexmediamanager.desktop"
+QA_PREBUILT="*"
+QA_MULTILIB_PATHS=(
+ "usr/lib/${_APPNAME}/.*"
+ "usr/lib/${_APPNAME}/Resources/Python/lib/python2.7/.*"
+)
+
+BINS_TO_PAX_MARK=(
+ "${ED}/usr/lib/plexmediaserver/Plex Script Host"
+ "${ED}/usr/lib/plexmediaserver/Plex Media Scanner"
+)
+
+S="${WORKDIR}"
+PATCHES=(
+ "${FILESDIR}/virtualenv_start_pms_2019.patch"
+ "${FILESDIR}/plexmediamanager.desktop.new.patch"
+ "${FILESDIR}/add_gentoo_profile_as_platform_version.patch"
+)
+
+src_unpack() {
+ unpack_deb ${A}
+}
+
+src_install() {
+ # Move the config to the correct place
+ local config_vanilla="/etc/default/plexmediaserver"
+ local config_path="/etc/${_SHORTNAME}"
+ dodir "${config_path}"
+ insinto "${config_path}"
+ doins "${config_vanilla#/}"
+ sed -e "s#${config_vanilla}#${config_path}/${_APPNAME}#g" -i "${S}"/usr/sbin/start_pms || die
+
+ # Remove Debian specific files
+ rm -r "usr/share/doc" || die
+
+ # Copy main files over to image and preserve permissions so it is portable
+ cp -rp usr/ "${ED}"/ || die
+
+ # Make sure the logging directory is created
+ local logging_dir="/var/log/pms"
+ dodir "${logging_dir}"
+ fowners "${_USERNAME}":"${_USERNAME}" "${logging_dir}"
+ keepdir "${logging_dir}"
+
+ # Create default library folder with correct permissions
+ local default_library_dir="/var/lib/${_APPNAME}"
+ dodir "${default_library_dir}"
+ fowners "${_USERNAME}":"${_USERNAME}" "${default_library_dir}"
+ keepdir "${default_library_dir}"
+
+ # Install the OpenRC init/conf files
+ doinitd "${FILESDIR}/init.d/${PN}"
+ doconfd "${FILESDIR}/conf.d/${PN}"
+
+ # Mask Plex libraries so that revdep-rebuild doesn't try to rebuild them.
+ # Plex has its own precompiled libraries.
+ _mask_plex_libraries_revdep
+
+ # Fix RPATH
+ patchelf --force-rpath --set-rpath '$ORIGIN:$ORIGIN/../../../../../../lib' "${ED}"/usr/lib/plexmediaserver/Resources/Python/lib/python2.7/lib-dynload/_codecs_kr.so || die
+
+ # Install systemd service file
+ systemd_newunit "${FILESDIR}/systemd/${PN}.service" "${PN}.service"
+
+ # Add pax markings to some binaries so that they work on hardened setup
+ for f in "${BINS_TO_PAX_MARK[@]}"; do
+ pax-mark m "${f}"
+ done
+
+ einfo "Configuring virtualenv"
+ virtualenv -v --no-pip --no-setuptools --no-wheel "${ED}"/usr/lib/plexmediaserver/Resources/Python || die
+ pushd "${ED}"/usr/lib/plexmediaserver/Resources/Python &>/dev/null || die
+ find . -type f -exec sed -i -e "s#${D}##g" {} + || die
+ popd &>/dev/null || die
+}
+
+pkg_postinst() {
+ elog "Plex Media Server is now installed. Please check the configuration"
+ elog "file in /etc/${_SHORTNAME}/${_APPNAME}"
+ elog "to verify the default settings."
+ elog "To start the Plex Server, run 'rc-config start plex-media-server',"
+ elog "you will then be able to access your library at"
+ elog "http://<ip>:32400/web/"
+}
+
+# Adds the precompiled plex libraries to the revdep-rebuild's mask list
+# so it doesn't try to rebuild libraries that can't be rebuilt.
+_mask_plex_libraries_revdep() {
+ dodir /etc/revdep-rebuild/
+
+ # Bug: 659702. The upstream plex binary installs its precompiled package to /usr/lib.
+ # Due to profile 17.1 splitting /usr/lib and /usr/lib64, we can no longer rely
+ # on the implicit symlink automatically satisfying our revdep requirement when we use $(get_libdir).
+ # Thus we will match upstream's directory automatically. If upstream switches their location,
+ # then so should we.
+ echo "SEARCH_DIRS_MASK=\"${EPREFIX}/usr/lib/plexmediaserver\"" > "${ED}"/etc/revdep-rebuild/80plexmediaserver
+}
diff --git a/media-tv/plex-media-server/plex-media-server-1.18.4.ebuild b/media-tv/plex-media-server/plex-media-server-1.18.4.ebuild
new file mode 100644
index 000000000000..994795f17759
--- /dev/null
+++ b/media-tv/plex-media-server/plex-media-server-1.18.4.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils systemd unpacker pax-utils python-single-r1
+
+MINOR_VERSION="2171-ac2afe5f8"
+
+_APPNAME="plexmediaserver"
+_USERNAME="plex"
+_SHORTNAME="${_USERNAME}"
+_FULL_VERSION="${PV}.${MINOR_VERSION}"
+
+URI="https://downloads.plex.tv/plex-media-server-new"
+
+DESCRIPTION="A free media library that is intended for use with a plex client"
+HOMEPAGE="https://www.plex.tv/"
+SRC_URI="
+ amd64? ( ${URI}/${_FULL_VERSION}/debian/plexmediaserver_${_FULL_VERSION}_amd64.deb )
+ x86? ( ${URI}/${_FULL_VERSION}/debian/plexmediaserver_${_FULL_VERSION}_i386.deb )
+"
+SLOT="0"
+LICENSE="Plex"
+RESTRICT="bindist strip"
+KEYWORDS="-* ~amd64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="dev-python/virtualenv[${PYTHON_USEDEP}]"
+BDEPEND="dev-util/patchelf"
+
+RDEPEND="
+ acct-group/plex
+ acct-user/plex
+ net-dns/avahi
+ ${PYTHON_DEPS}"
+
+QA_DESKTOP_FILE="usr/share/applications/plexmediamanager.desktop"
+QA_PREBUILT="*"
+QA_MULTILIB_PATHS=(
+ "usr/lib/${_APPNAME}/.*"
+ "usr/lib/${_APPNAME}/Resources/Python/lib/python2.7/.*"
+)
+
+BINS_TO_PAX_MARK=(
+ "${ED}/usr/lib/plexmediaserver/Plex Script Host"
+ "${ED}/usr/lib/plexmediaserver/Plex Media Scanner"
+)
+
+S="${WORKDIR}"
+PATCHES=(
+ "${FILESDIR}/virtualenv_start_pms_2019.patch"
+ "${FILESDIR}/plexmediamanager.desktop.new.patch"
+ "${FILESDIR}/add_gentoo_profile_as_platform_version.patch"
+)
+
+src_unpack() {
+ unpack_deb ${A}
+}
+
+src_install() {
+ # Move the config to the correct place
+ local config_vanilla="/etc/default/plexmediaserver"
+ local config_path="/etc/${_SHORTNAME}"
+ dodir "${config_path}"
+ insinto "${config_path}"
+ doins "${config_vanilla#/}"
+ sed -e "s#${config_vanilla}#${config_path}/${_APPNAME}#g" -i "${S}"/usr/sbin/start_pms || die
+
+ # Remove Debian specific files
+ rm -r "usr/share/doc" || die
+
+ # Copy main files over to image and preserve permissions so it is portable
+ cp -rp usr/ "${ED}"/ || die
+
+ # Make sure the logging directory is created
+ local logging_dir="/var/log/pms"
+ dodir "${logging_dir}"
+ fowners "${_USERNAME}":"${_USERNAME}" "${logging_dir}"
+ keepdir "${logging_dir}"
+
+ # Create default library folder with correct permissions
+ local default_library_dir="/var/lib/${_APPNAME}"
+ dodir "${default_library_dir}"
+ fowners "${_USERNAME}":"${_USERNAME}" "${default_library_dir}"
+ keepdir "${default_library_dir}"
+
+ # Install the OpenRC init/conf files
+ doinitd "${FILESDIR}/init.d/${PN}"
+ doconfd "${FILESDIR}/conf.d/${PN}"
+
+ # Mask Plex libraries so that revdep-rebuild doesn't try to rebuild them.
+ # Plex has its own precompiled libraries.
+ _mask_plex_libraries_revdep
+
+ # Fix RPATH
+ patchelf --force-rpath --set-rpath '$ORIGIN:$ORIGIN/../../../../../../lib' "${ED}"/usr/lib/plexmediaserver/Resources/Python/lib/python2.7/lib-dynload/_codecs_kr.so || die
+
+ # Install systemd service file
+ systemd_newunit "${FILESDIR}/systemd/${PN}.service" "${PN}.service"
+
+ # Add pax markings to some binaries so that they work on hardened setup
+ for f in "${BINS_TO_PAX_MARK[@]}"; do
+ pax-mark m "${f}"
+ done
+
+ einfo "Configuring virtualenv"
+ virtualenv -v --no-pip --no-setuptools --no-wheel "${ED}"/usr/lib/plexmediaserver/Resources/Python || die
+ pushd "${ED}"/usr/lib/plexmediaserver/Resources/Python &>/dev/null || die
+ find . -type f -exec sed -i -e "s#${D}##g" {} + || die
+ popd &>/dev/null || die
+}
+
+pkg_postinst() {
+ elog "Plex Media Server is now installed. Please check the configuration"
+ elog "file in /etc/${_SHORTNAME}/${_APPNAME}"
+ elog "to verify the default settings."
+ elog "To start the Plex Server, run 'rc-config start plex-media-server',"
+ elog "you will then be able to access your library at"
+ elog "http://<ip>:32400/web/"
+}
+
+# Adds the precompiled plex libraries to the revdep-rebuild's mask list
+# so it doesn't try to rebuild libraries that can't be rebuilt.
+_mask_plex_libraries_revdep() {
+ dodir /etc/revdep-rebuild/
+
+ # Bug: 659702. The upstream plex binary installs its precompiled package to /usr/lib.
+ # Due to profile 17.1 splitting /usr/lib and /usr/lib64, we can no longer rely
+ # on the implicit symlink automatically satisfying our revdep requirement when we use $(get_libdir).
+ # Thus we will match upstream's directory automatically. If upstream switches their location,
+ # then so should we.
+ echo "SEARCH_DIRS_MASK=\"${EPREFIX}/usr/lib/plexmediaserver\"" > "${ED}"/etc/revdep-rebuild/80plexmediaserver
+}