Package Details: nomacs 1:3.21.0-2

Git Clone URL: https://aur.archlinux.org/nomacs.git (read-only, click to copy)
Package Base: nomacs
Description: A Qt image viewer
Upstream URL: https://github.com/nomacs/nomacs
Licenses: GPL-3.0-only
Submitter: arojas
Maintainer: FabioLolix
Last Packager: FabioLolix
Votes: 39
Popularity: 3.82
First Submitted: 2023-04-01 09:57 (UTC)
Last Updated: 2025-03-13 22:25 (UTC)

Dependencies (15)

Required by (0)

Sources (1)

Pinned Comments

C0rn3j commented on 2024-01-08 18:30 (UTC)

@ferda Read the pinned comment and implement checkrebuild from rebuild-detector into your workflow.

FabioLolix commented on 2023-07-07 05:37 (UTC)

every time you have error while loading shared libraries: libXXX.so.XXX: cannot open shared object file: No such file or directory for build from source programs you have to rebuild it

Another package goes to the ignore list - opencv. Upgrading it to the latest v4.8.0 causes nomacs to not open when I click an image anymore. Downgrading it to 4.7.0 fixes that.

@rado84 you need rebuild the package not to hold back other packages, it is the same every time a dinamically linked soname changes

$ nomacs
nomacs: error while loading shared libraries: libopencv_imgproc.so.407: cannot open shared object file: No such file or directory

FabioLolix commented on 2023-06-17 15:20 (UTC)

Now using git tags as source=() as requested

Pre-build packages here (also for -git version) : https://sourceforge.net/projects/fabiololix-os-archive/files/Packages/

Latest Comments

1 2 3 4 5 6 .. 9 Next › Last »

souravdas142 commented on 2025-03-22 09:07 (UTC) (edited on 2025-03-22 09:08 (UTC) by souravdas142)

As I made a PR with fixes https://github.com/nomacs/nomacs/pull/1290 updated PKGBUILD with -DENABLE_HEIF=ON fixes

# Maintainer: Fabio 'Lolix' Loli <fabio.loli@disroot.org> -> https://github.com/FabioLolix
# Contributor: David Runge <dvzrv@archlinux.org>
# Contributor: speps <speps at aur dot archlinux dot org>

_plugins_ver=3.21.0
pkgname=nomacs
pkgver=3.21.0
pkgrel=3
epoch=1
pkgdesc="A Qt image viewer"
arch=(x86_64)
url="https://github.com/nomacs/nomacs"
license=(GPL-3.0-only)
depends=(exiv2 gcc-libs glibc libraw libtiff opencv qt6-base qt6-svg quazip-qt6)

#depends+=(libopencv_imgproc.so)
makedepends=(cmake git qt6-tools python)
optdepends=('qt6-imageformats: support additional image formats'
            'kimageformats: support QOI (Quite OK Image Format)')
source=("git+https://github.com/nomacs/nomacs.git#tag=${pkgver}"
        #"nomacs-plugins-qt6_01.patch::https://github.com/nomacs/nomacs-plugins/pull/40/commits/1b87f615ce0e7125ec739bc3e40d8ff7f6783587.patch"
        #"nomacs-plugins-qt6_02.patch::https://github.com/nomacs/nomacs-plugins/pull/40/commits/a869962f051504dd2c1dedeb3bc3d266c17070c1.patch"
        "nomacs-plugins-${_plugins_ver}.tar.gz::https://github.com/novomesk/nomacs-plugins/archive/refs/tags/${_plugins_ver}.tar.gz"
        "heif-support-fixes.patch::https://patch-diff.githubusercontent.com/raw/nomacs/nomacs/pull/1290.patch"
        )
b2sums=('3360bfeab0c1d323903240b136c2d9baf58f49cf0d672d69bc1473fbb0fe00103885f7d0194ee2200259cb548ad8c6d77127c96486f82055493cc89488bd9f99'
        '83627d27a345a29c17155bb6496464e847cfc7d3b30174ac855aaff87bd018fd6651f0bfa3220b64dd36d9e6c53250e8799d96ff3cafeefde9e2818789b48ff7'
        '994ec2a3bf9b1cc9e6f602ee4cd0d7e3e296e555d70cb1b86c886aa501d7aece3452b7f5bf184346dfb867cc51412759434c69f0ad3b6ccb047ec1cc553c3113'
    )


export GIT_LFS_SKIP_SMUDGE=1

prepare() {
  #cd "nomacs-plugins-${_plugins_ver}"
  #patch -Np1 -i ../nomacs-plugins-qt6_01.patch
  #patch -Np1 -i ../nomacs-plugins-qt6_02.patch

  cd "${srcdir}/nomacs"
  patch -Np1 -i ../heif-support-fixes.patch
  # copy plugin sources into place
  cp -av "${srcdir}/nomacs-plugins-${_plugins_ver}/"* "ImageLounge/plugins"
}

build() {
  cd nomacs
  cmake -B build -S ImageLounge -Wno-dev \
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DQT_VERSION_MAJOR=6 \
    -DENABLE_OPENCV=ON \
    -DENABLE_RAW=ON \
    -DENABLE_TIFF=ON \
    -DENABLE_QT_DEBUG=ON \
    -DENABLE_QUAZIP=ON \
    -DENABLE_TRANSLATIONS=ON \
    -DENABLE_PLUGINS=ON \
    -DENABLE_HEIF=ON \
    -DENABLE_AVIF=ON \
    -DENABLE_JXL=ON \
    -DENABLE_JXR=ON \
    -DUSE_SYSTEM_QUAZIP=ON

  cmake --build build
}

package() {
  cd nomacs
  DESTDIR="$pkgdir" cmake --install build
}

Rhinoceros commented on 2025-03-14 00:52 (UTC)

It looks like the update removed git-lfs from makedepends, but this is still required to build.

==> Extracting sources...
  -> Creating working copy of nomacs git repo...
Cloning into 'nomacs'...
done.
git-lfs filter-process: line 1: git-lfs: command not found
fatal: the remote end hung up unexpectedly
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

==> ERROR: Failure while creating working copy of nomacs git repo
    Aborting...

FabioLolix commented on 2025-01-11 16:01 (UTC)

@kinoe rebuilding with devtools works fine, launch fine

kinoe commented on 2025-01-11 08:39 (UTC) (edited on 2025-01-11 09:00 (UTC) by kinoe)

Solved: see last line
After update of lapack version 3.12.0 to 3.12.1 getting build error on Arch Linux:

[ 98%] Linking CXX executable nomacs
/usr/bin/ld: /usr/lib/liblapack.so.3: undefined reference to `ldawork_'
/usr/bin/ld: /usr/lib/liblapack.so.3: undefined reference to `taa_'
collect2: error: ld returned 1 as end status
make[2]: *** [CMakeFiles/nomacs.dir/build.make:257: nomacs] error 1
make[1]: *** [CMakeFiles/Makefile2:142: CMakeFiles/nomacs.dir/all] error 2
make: *** [Makefile:166: all] error 2

Edit: building AND running with lapack 3.12.1 is failing
SOLVED: it was an error with lapack (cblas, blas?).

FabioLolix commented on 2024-11-03 11:57 (UTC)

but why doesn't it build HEIF support?

It isn't complete (even enabling the flags it don't)

menkaur commented on 2024-11-03 11:56 (UTC)

CMake Warning at CMakeLists.txt:298 (message): plugins directory not found, not building plugins. You have to check out the nomacs-plugins git to the 'plugins' folder if you want to build them

--


-- nomacs - Image Lounge 3.19 https://nomacs.org -- Qt version: 6.7.3 -- nomacs will be compiled with OPENCV support .................. YES -- nomacs will be compiled with LIBRAW support .................. YES -- nomacs will be compiled with extended TIFF support ........... YES -- nomacs will be compiled with plugin support .................. NO -- nomacs will be compiled with HEIF support .................... NO -- nomacs will be compiled with Translations .................... YES -- nomacs will be compiled with QuaZip support .................. YES -- nomacs tests ................................................. YES

Sooo, I don't really care about the plugins much, but why doesn't it build HEIF support?

FabioLolix commented on 2024-10-01 12:09 (UTC)

@ChrisK for build issues, maybe locally I have this fixed, I don't remember right now

ChrisK commented on 2024-09-30 18:05 (UTC)

Can I ask why inclusion of the official plugins have been commented out in the PKGBUILD? I'm not able to use nomacs to view webp files because of this

FabioLolix commented on 2024-09-24 17:53 (UTC)

@C0rn3j I have subscribed to the github to be updated https://github.com/nomacs/nomacs/issues/1167

C0rn3j commented on 2024-09-24 17:23 (UTC) (edited on 2024-09-24 17:24 (UTC) by C0rn3j)

I have poked libqpsd to release a Qt6 version and packaged https://aur.archlinux.org/packages/libqpsd-qt6, but it seems that to use -DUSE_SYSTEM_LIBQPSD=ON there's some work to be done.

nomacs is expecting the cmake files to be named qpsd instead of libqpsd (frankly I have near zero experience with cmake):

echo 'file(GLOB LIBQPSD_HEADERS "/usr/include/libqpsd/*.h")' > "${pkgdir}/usr/lib/cmake/qpsd/qpsdConfig.cmake"
echo 'set(LIBQPSD_FOUND TRUE)' >> "${pkgdir}/usr/lib/cmake/qpsd/qpsdConfig.cmake"

But it still fails when building, presumably due to a missing .so link OR that the .cpp files are a hard necessity(I doubt it)?

[ 98%] Linking CXX executable nomacs
/usr/bin/ld: libnomacsCore.so.3.19.1: undefined reference to `QPsdPlugin::capabilities(QIODevice*, QByteArray const&) const'
/usr/bin/ld: libnomacsCore.so.3.19.1: undefined reference to `QPsdHandler::~QPsdHandler()'

If someone wants to pick it up to get nomacs closer to building with the system libraries, feel free to, patches to AUR/libqpsd-qt6 welcome if necessary.