Git Product home page Git Product logo

Comments (25)

 avatar commented on June 2, 2024 1

I've just got this to work on Arch. I don't like putting stuff that doesn't belong to a package in /usr, so I did everything in my home. This is what I did (create the directories if they don't exist):

wget -O ~/.local/lib/python2.7/site-packages/MediaInfoDLL.py https://raw.githubusercontent.com/MediaArea/MediaInfoLib/master/Source/MediaInfoDLL/MediaInfoDLL.py
wget -O ~/.local/share/nemo-python/extensions/nemo-mediainfo-tab.py https://raw.githubusercontent.com/linux-man/nemo-mediainfo-tab/master/nemo-extension/nemo-mediainfo-tab.py
sed -i 's,/usr/bin/python,/usr/bin/python2,'  ~/.local/share/nemo-python/extensions/nemo-mediainfo-tab.py
nemo -q

Seems to work fine so far, if I find time I'll add this package and python-mediainfodll to the AUR.

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024 1

Good. It looks like you solved your issue.
Since you had all this trouble, there are 2 nemo-mediainfo-tab forks that you can package with minimum changes: nautilus-mediainfo and caja-mediainfo-tab.
Even if you aren't up to create those packages, the python-mediainfodll is essential to all of them, so thank you a lot for your work.

from nemo-mediainfo-tab.

 avatar commented on June 2, 2024 1

@yochananmarqos Awesome, great job! I will go ahead and install your packages, much better than having stuff in my $HOME for sure \o/ I'll report any issue/remark on the AUR directly. If you wish, you can add me as a co-maintainer, my AUR username is Corax.

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024

Try to install python-pymediainfo package.

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

I have python2-pymediainfo installed. python-pymediainfo is for python 3.7.

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024

It looks like the official python binding was not packaged on Arch. pymediainfo is a different project.
Can you try to add MediaInfoDLL.py to
a) the extension folder (you'll probably need to change import to relative like "from .MediaInfoDLL import *")
or
b) the python packages folder - on Debian is at /usr/lib/python2.7/dist-packages/

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

I tried installing nemo-mediainfo-tab.py and MediaInfoDLL.py to /usr/share/nemo-mediainfo-tab and symlinking nemo-mediainfo-tab.py to /usr/share/nemo-python/extensions. Changing from MediaInfoDLL import * to from .MediaInfoDLL import * made no difference.

I don't have a /usr/lib/python2.7/dist-packages folder.
$ tree /usr/lib/python2.7

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024

That would be great!

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

@Corax26 How's this PKGBUILD for now? I don't think makepkg will allow installing to $HOME.

pkgname=nemo-mediainfo-tab
pkgver=0.2
pkgrel=1
pkgdesc="View media information from the properties tab"
arch=('any')
url="https://github.com/linux-man/nemo-mediainfo-tab"
license=('GPL3')
depends=('libmediainfo' 'nemo-python')
provides=('nemo-mediainfo-tab')
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
        "https://raw.githubusercontent.com/MediaArea/MediaInfoLib/master/Source/MediaInfoDLL/MediaInfoDLL.py")
md5sums=('b0fbb2ac22ef1dec43fa257eae6d4a44'
         'a0a28b4f54082cbf28fe9c0d405775a8')

prepare() {
    sed -i 's,/usr/bin/python,/usr/bin/python2,' ${pkgname}-${pkgver}/nemo-extension/${pkgname}.py
}

package() {
    install -D -m644 ${pkgname}-${pkgver}/nemo-extension/${pkgname}.py ${pkgdir}/usr/share/nemo-python/extensions/${pkgname}.py
    install -D -m644 MediaInfoDLL.py ${pkgdir}/usr/lib/python2.7/site-packages/MediaInfoDLL.py
}

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024

Looks fine, but shouldn't python-mediainfodll be another package?

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

Yes, but I'm not sure what to use as the source. I want to avoid downloading the whole MediaInfoLib project just for one file. Or just use the one file as the source? It looks like that's all that's in the Debian package.

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024

Just use the py file with a dependency on libmediainfo.

from nemo-mediainfo-tab.

 avatar commented on June 2, 2024

@yochananmarqos Sure, putting stuff in your $HOME is appropriate when doing things manually, but packaged stuff must go to the system-wide locations ( so /usr). As @linux-man said, python-mediainfodll must be a separate package. Don't forget to add the relevant license file as well. The easiest approach is to base your PKGBUILD on an existing Python package, for instance: https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/python-appdirs

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024

I also notice that most PKGBUILD creators use the zip of releases or tags to have some control of the version.

from nemo-mediainfo-tab.

 avatar commented on June 2, 2024

Indeed, a normal package has a static version so the sources must be a release. There are also -git packages that check out the git repo directly and generate a version from the HEAD commit, but as long as you release regularly, that shouldn't be needed :) BTW, forgot to thank you @linux-man, this plugin is actually clearer than MediaInfo's HTML view, and I'm impressed by how straightforward the code is :D

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

Something like this then?

pkgname=python-mediainfodll
_pkgname=MediaInfoLib
pkgver=18.05
pkgrel=1
pkgdesc="library for reading metadata from media files -- shared library"
arch=('any')
url="https://github.com/MediaArea/MediaInfoLib"
license=('BSD 2-Clause')
depends=('libmediainfo')
provides=('python-mediainfodll')
source=("$_pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
md5sums=('59e9523c472a77f5b23ca3c072595161')

package() {
    install -Dm644 ${_pkgname}-${pkgver}/Source/MediaInfoDLL/MediaInfoDLL.py ${pkgdir}/usr/lib/python2.7/site-packages/MediaInfoDLL.py
    install -Dm644 ${_pkgname}-${pkgver}/LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
}

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024

Thank you @Corax26. I guess I like to KISS 😃
@yochananmarqos I'm really not the right person to validate your PKGBUILD... you need an ARCH power user.

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

I think I'll go ahead and add both packages to the AUR. If either of you @linux-man @Corax26 want to be a contributor, give me your username & email address (optional) and I'll add you. I'll add the links when they're up.

EDIT: They're up: nemo-mediainfo tab & python-mediainfodll

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

You know what just dawned on me after uploading python-mediainfodll? It will work with both Python 2 & 3, so now python-mediainfodll is for Python 3 and python2-mediainfodll is for Python 2. Both nautilus-mediainfo and caja-mediainfo-tab are now also in the AUR.

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024

Great work! About python-mediainfodll/python2-mediainfodll, I would add dependencies to python/python2 just because it makes sense.
Fell free to close the issue if everything is working.
Thank you again. 🥇

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

Whoops! I can't believe I forgot to add python to the dependencies. Fixed it.

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

@Corax26 I added you as a Co-Maintainer for all 5 packages. There probably won't be much maintaining to do; however if you see a way to improve anything feel free.

from nemo-mediainfo-tab.

 avatar commented on June 2, 2024

@yochananmarqos Cool! I'm only using nemo-medainfo-tab and python2-mediainfodll so I'm unlikely to look at the others, but if needed I can help with them as well.

from nemo-mediainfo-tab.

linux-man avatar linux-man commented on June 2, 2024

@yochananmarqos @Corax26 nemo-mediainfo-tab is out-of-date.

from nemo-mediainfo-tab.

yochananmarqos avatar yochananmarqos commented on June 2, 2024

@linux-man Whoops, missed that one. Done!

from nemo-mediainfo-tab.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.