Package Details: openrv-git 2.1.0.r280.dd73ec4-1

Git Clone URL: https://aur.archlinux.org/openrv-git.git (read-only, click to copy)
Package Base: openrv-git
Description: aka Open RV, an image and sequence viewer for VFX and animation artists
Upstream URL: https://github.com/AcademySoftwareFoundation/OpenRV
Licenses: custom, Apache
Provides: openrv
Submitter: meepzh
Maintainer: meepzh
Last Packager: meepzh
Votes: 0
Popularity: 0.000000
First Submitted: 2023-09-05 11:58 (UTC)
Last Updated: 2024-10-17 06:28 (UTC)

Pinned Comments

meepzh commented on 2023-09-05 12:19 (UTC) (edited on 2024-07-20 13:56 (UTC) by meepzh)

TLDR: Please download and install Qt5 into your home directory.


Hello! Sorry, this package is quite a mess, but it builds a working copy of Open RV, so hopefully it's a good first step for people.

The upstream build process expects you to download and install Qt5 into your home directory, from where it will then copy the relevant directory into its build folder. There are also commented-out lines that enable you to pass a tarball of the Qt files if you are trying to build in a chroot. I've tried to use the Arch-provided qt5-base qt5-tools qt5-webengine qt5-xmlpatterns, but it seems that the relative file paths of these files are important somehow. This is something that can be improved upon, perhaps by copying everything into a temp directory beforehand. I have included qt5.patch and pyside2-build_scripts.patch if you want to try using Arch's Qt5 for yourself.

I've also tried replacing the entirety of the downloaded dependencies with Arch-provided packages, and you can see an attempt at commit 8d342dc. If you read the PKGBUILD there, you'll find that it takes a few too many environment variables to make RV just barely usable, but it does allow you to skip all the dependencies and use Arch's ffmpeg4.4 (now ffmpeg6.1), which may support more codecs (that RV may not support regardless). Upstream has been discussing options for accomplishing this.

I was unable to build this package in a clean chroot due to some strange issues detecting the float word endianness while building Python and issues building libswscale as a shared library for FFmpeg, but given that those issues appeared again for Open RV 2.1.0, maybe it is possible now.

If you're looking to add aac codec support to RV's copy of FFmpeg like myself for playback purposes, you can add sed -i '/"aac"/d' cmake/dependencies/ffmpeg.cmake under the PKGBUILD's prepare function. I'm not sure what implications this might have with RV's other functions.

Definitely do leave any suggestions you might have. I've personally very happy to have RV on Arch Linux, so if you feel the same way, we can hopefully keep making this distribution better. Thanks!

Latest Comments

michimussato commented on 2024-12-03 01:29 (UTC) (edited on 2024-12-05 22:45 (UTC) by michimussato)

@Tanghe : I believe I ran into the same issue (at least Ninja related; I didn't save the output after all and can't get it back). However, I finally managed to run my first successful build by disabling Ninja after it failed in the first place:

  • Package Details: openrv-git 2.1.0.r280.dd73ec4-1
export CMAKE_GENERATOR="Unix Makefiles"  # Uncomment to not use Ninja

Also, to enable audio (as suggested), I added

sed -i '/"aac"/d' cmake/dependencies/ffmpeg.cmake

to prepare()

Thanks 1000x @meepzh ! I appreciate your work!

Tanghe commented on 2024-10-15 18:42 (UTC) (edited on 2024-10-15 18:49 (UTC) by Tanghe)

Yeah the build is also failing for me. Thx for all the work btw.

Creating glxew.html
--------------------------------------------------------------------
cp -f src/header.html ../doc/glxew.html
echo -e "<h2>Supported GLX Extensions</h2>\n" >> ../doc/glxew.html
bin/make_html.pl extensions/gl/GLX_* >> ../doc/glxew.html
cat src/footer.html >> ../doc/glxew.html
perl -i -pe 's#<a href="glxew.html">(.*)</a>#\1#' ../doc/glxew.html
perl -e "s/GLEW_MAJOR/2/g;s/GLEW_MINOR/2/g;s/GLEW_MICRO/0/g;" -p src/glew.rc > ../build/glew.rc
perl -e "s/GLEW_MAJOR/2/g;s/GLEW_MINOR/2/g;s/GLEW_MICRO/0/g;" -p src/glewinfo.rc > ../build/glewinfo.rc
perl -e "s/GLEW_MAJOR/2/g;s/GLEW_MINOR/2/g;s/GLEW_MICRO/0/g;" -p src/visualinfo.rc > ../build/visualinfo.rc
mkdir lib
cc -DGLEW_NO_GLU -DGLEW_BUILD -O2 -Wall -W -Wshadow -pedantic -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector  -o tmp/linux/default/shared/glew.o -c src/glew.c
cc -shared -Wl,-soname=libGLEW.so.2.2 -o lib/libGLEW.so.2.2.0 tmp/linux/default/shared/glew.o -L/usr/X11R6/lib -L/usr/lib -lGL -lX11
ln -sf libGLEW.so.2.2.0 lib/libGLEW.so.2.2
ln -sf libGLEW.so.2.2.0 lib/libGLEW.so
strip -x lib/libGLEW.so.2.2.0
sed \
        -e "s|@prefix@|/usr/local|g" \
        -e "s|@libdir@|/usr/local/lib|g" \
        -e "s|@exec_prefix@|/usr/local/bin|g" \
        -e "s|@includedir@|/usr/local/include/GL|g" \
        -e "s|@version@|2.2.0|g" \
        -e "s|@cflags@||g" \
        -e "s|@libname@|GLEW|g" \
        -e "s|@libgl@|-lGL -lX11|g" \
        -e "s|@requireslib@|glu|g" \
        < glew.pc.in > glew.pc
cc -DGLEW_NO_GLU -DGLEW_STATIC -O2 -Wall -W -Wshadow -pedantic -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector  -o tmp/linux/default/static/glew.o -c src/glew.c
ar -rv lib/libGLEW.a tmp/linux/default/static/glew.o
ar: creating lib/libGLEW.a
a - tmp/linux/default/static/glew.o
strip -x lib/libGLEW.a
cc -DGLEW_NO_GLU -O2 -Wall -W -Wshadow -pedantic -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector  -o tmp/linux/default/shared/glewinfo.o -c src/glewinfo.c
cc -O2 -Wall -W -Wshadow -pedantic -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector -o bin/glewinfo tmp/linux/default/shared/glewinfo.o -Llib -Wl,-Bdynamic -lGLEW -L/usr/X11R6/lib -L/usr/lib -lGL
-lX11
strip -x bin/glewinfo
cc -DGLEW_NO_GLU -O2 -Wall -W -Wshadow -pedantic -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector  -o tmp/linux/default/shared/visualinfo.o -c src/visualinfo.c
cc -O2 -Wall -W -Wshadow -pedantic -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector -o bin/visualinfo tmp/linux/default/shared/visualinfo.o -Llib -Wl,-Bdynamic -lGLEW -L/usr/X11R6/lib -L/usr/lib -lGL -lX11
strip -x bin/visualinfo
ninja: build stopped: subcommand failed.

==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'openrv-git-2.1.0.r244.6990de1-1':
error: packages failed to build: openrv-git-2.1.0.r244.6990de1-1

michimussato commented on 2024-07-19 03:34 (UTC)

Would be awesome if you could update this repo! Cheers, Michael

meepzh commented on 2024-07-17 16:22 (UTC)

Hi @michimussato, sorry about that! Open RV has been changing at a fairly quick pace, so I haven't been keeping up the updates here. It's likely that something changed and broke the PKGBUILD. I'll see if I can get you an update in the next day or so!

michimussato commented on 2024-07-17 08:23 (UTC) (edited on 2024-07-19 03:32 (UTC) by michimussato)

Hi!

I have Qt5.15.2 in ~/ with QT_HOME=~/Qt5.15.2/5.15.2/gcc_64 but I get the following error:

Preparing...
Cloning openrv-git build files...
Generating openrv-git information...
Checking openrv-git dependencies...
Resolving dependencies...
Checking inter-conflicts...

Building openrv-git...
==> Making package: openrv-git 2.0.0.r199.f3754ee-1 (Wed 17 Jul 2024 06:20:40 PM AEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning OpenRV git repo...
Cloning into bare repository '/var/tmp/pamac-build-michael/openrv-git/OpenRV'...
  -> Cloning openrv-WFObj git repo...
Cloning into bare repository '/var/tmp/pamac-build-michael/openrv-git/openrv-WFObj'...
  -> Cloning openrv-pub git repo...
Cloning into bare repository '/var/tmp/pamac-build-michael/openrv-git/openrv-pub'...
  -> Cloning openrv-oiio git repo...
Cloning into bare repository '/var/tmp/pamac-build-michael/openrv-git/openrv-oiio'...
  -> Found unblock-distro.patch
  -> Found ffmpeg.patch
  -> Found ocio.patch
  -> Found ocio_install_yaml-cpp.patch
  -> Found oiio.patch
  -> Found glew-lib64.patch
  -> Found jpegturbo-lib64.patch
  -> Found pyside2.patch
  -> Found pyside2-tools-root.patch
  -> Found qt5.patch
  -> Found pyside2-build_scripts.patch
==> Validating source files with b2sums...
    OpenRV ... Skipped
    openrv-WFObj ... Skipped
    openrv-pub ... Skipped
    openrv-oiio ... Skipped
    unblock-distro.patch ... Passed
    ffmpeg.patch ... Passed
    ocio.patch ... Passed
    ocio_install_yaml-cpp.patch ... Passed
    oiio.patch ... Passed
    glew-lib64.patch ... Passed
    jpegturbo-lib64.patch ... Passed
    pyside2.patch ... Passed
    pyside2-tools-root.patch ... Passed
    qt5.patch ... Passed
    pyside2-build_scripts.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of OpenRV git repo...
Cloning into 'OpenRV'...
done.
  -> Creating working copy of openrv-WFObj git repo...
Cloning into 'openrv-WFObj'...
done.
  -> Creating working copy of openrv-pub git repo...
Cloning into 'openrv-pub'...
done.
  -> Creating working copy of openrv-oiio git repo...
Cloning into 'openrv-oiio'...
done.
==> Starting prepare()...
Submodule 'src/lib/files/WFObj' (https://github.com/shotgunsoftware/openrv-WFObj.git) registered for path 'src/lib/files/WFObj'
Submodule 'src/pub' (https://github.com/shotgunsoftware/openrv-pub.git) registered for path 'src/pub'
Cloning into '/var/tmp/pamac-build-michael/openrv-git/src/OpenRV/src/lib/files/WFObj'...
done.
Cloning into '/var/tmp/pamac-build-michael/openrv-git/src/OpenRV/src/pub'...
done.
Submodule path 'src/lib/files/WFObj': checked out '648355e8ce65e961892d6f4c1f81a5a79432eff0'
Submodule path 'src/pub': checked out '0a5562fe8ef88cc2dca211b88788b45ff0ac1db3'
patching file cmake/defaults/rv_targets.cmake
Hunk #1 FAILED at 113.
1 out of 1 hunk FAILED -- saving rejects to file cmake/defaults/rv_targets.cmake.rej
==> ERROR: A failure occurred in prepare().
    Aborting...

What can I do?

meepzh commented on 2023-09-05 12:19 (UTC) (edited on 2024-07-20 13:56 (UTC) by meepzh)

TLDR: Please download and install Qt5 into your home directory.


Hello! Sorry, this package is quite a mess, but it builds a working copy of Open RV, so hopefully it's a good first step for people.

The upstream build process expects you to download and install Qt5 into your home directory, from where it will then copy the relevant directory into its build folder. There are also commented-out lines that enable you to pass a tarball of the Qt files if you are trying to build in a chroot. I've tried to use the Arch-provided qt5-base qt5-tools qt5-webengine qt5-xmlpatterns, but it seems that the relative file paths of these files are important somehow. This is something that can be improved upon, perhaps by copying everything into a temp directory beforehand. I have included qt5.patch and pyside2-build_scripts.patch if you want to try using Arch's Qt5 for yourself.

I've also tried replacing the entirety of the downloaded dependencies with Arch-provided packages, and you can see an attempt at commit 8d342dc. If you read the PKGBUILD there, you'll find that it takes a few too many environment variables to make RV just barely usable, but it does allow you to skip all the dependencies and use Arch's ffmpeg4.4 (now ffmpeg6.1), which may support more codecs (that RV may not support regardless). Upstream has been discussing options for accomplishing this.

I was unable to build this package in a clean chroot due to some strange issues detecting the float word endianness while building Python and issues building libswscale as a shared library for FFmpeg, but given that those issues appeared again for Open RV 2.1.0, maybe it is possible now.

If you're looking to add aac codec support to RV's copy of FFmpeg like myself for playback purposes, you can add sed -i '/"aac"/d' cmake/dependencies/ffmpeg.cmake under the PKGBUILD's prepare function. I'm not sure what implications this might have with RV's other functions.

Definitely do leave any suggestions you might have. I've personally very happy to have RV on Arch Linux, so if you feel the same way, we can hopefully keep making this distribution better. Thanks!