uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
89
pkgs/applications/graphics/ImageMagick/6.x.nix
Normal file
89
pkgs/applications/graphics/ImageMagick/6.x.nix
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, libtool
|
||||
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
|
||||
, lcms2, openexr, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265
|
||||
, ApplicationServices, Foundation
|
||||
}:
|
||||
|
||||
let
|
||||
arch =
|
||||
if stdenv.hostPlatform.system == "i686-linux" then "i686"
|
||||
else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64"
|
||||
else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l"
|
||||
else if stdenv.hostPlatform.system == "aarch64-linux" || stdenv.hostPlatform.system == "aarch64-darwin" then "aarch64"
|
||||
else if stdenv.hostPlatform.system == "powerpc64le-linux" then "ppc64le"
|
||||
else null;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "imagemagick";
|
||||
version = "6.9.12-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ImageMagick";
|
||||
repo = "ImageMagick6";
|
||||
rev = version;
|
||||
sha256 = "sha256-oNorY/93jk1v5BS1T3wqctXuzV4o8JlyZtHnsNYmO4U=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
||||
outputMan = "out"; # it's tiny
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags =
|
||||
[ "--with-frozenpaths" ]
|
||||
++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ])
|
||||
++ lib.optional (librsvg != null) "--with-rsvg"
|
||||
++ lib.optional (liblqr1 != null) "--with-lqr"
|
||||
++ lib.optionals (ghostscript != null)
|
||||
[ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
|
||||
"--with-gslib"
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isMinGW)
|
||||
[ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
|
||||
;
|
||||
|
||||
nativeBuildInputs = [ pkg-config libtool ];
|
||||
|
||||
buildInputs =
|
||||
[ zlib fontconfig freetype ghostscript
|
||||
liblqr1 libpng libtiff libxml2 libheif libde265 djvulibre
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
||||
[ openexr librsvg openjpeg ]
|
||||
++ lib.optionals stdenv.isDarwin
|
||||
[ ApplicationServices Foundation ];
|
||||
|
||||
propagatedBuildInputs =
|
||||
[ bzip2 freetype libjpeg lcms2 fftw ]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
||||
[ libX11 libXext libXt libwebp ]
|
||||
;
|
||||
|
||||
doCheck = false; # fails 6 out of 76 tests
|
||||
|
||||
postInstall = ''
|
||||
(cd "$dev/include" && ln -s ImageMagick* ImageMagick)
|
||||
moveToOutput "bin/*-config" "$dev"
|
||||
moveToOutput "lib/ImageMagick-*/config-Q16" "$dev" # includes configure params
|
||||
for file in "$dev"/bin/*-config; do
|
||||
substituteInPlace "$file" --replace "${pkg-config}/bin/pkg-config -config" \
|
||||
${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config
|
||||
substituteInPlace "$file" --replace ${pkg-config}/bin/pkg-config \
|
||||
"PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'"
|
||||
done
|
||||
'' + lib.optionalString (ghostscript != null) ''
|
||||
for la in $out/lib/*.la; do
|
||||
sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://legacy.imagemagick.org/";
|
||||
changelog = "https://legacy.imagemagick.org/script/changelog.php";
|
||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ ];
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
133
pkgs/applications/graphics/ImageMagick/7.0.nix
Normal file
133
pkgs/applications/graphics/ImageMagick/7.0.nix
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, libtool
|
||||
, bzip2
|
||||
, zlib
|
||||
, libX11
|
||||
, libXext
|
||||
, libXt
|
||||
, fontconfig
|
||||
, freetype
|
||||
, ghostscript
|
||||
, libjpeg
|
||||
, djvulibre
|
||||
, lcms2
|
||||
, openexr
|
||||
, libjxl
|
||||
, libpng
|
||||
, liblqr1
|
||||
, libraw
|
||||
, librsvg
|
||||
, libtiff
|
||||
, libxml2
|
||||
, openjpeg
|
||||
, libwebp
|
||||
, libheif
|
||||
, potrace
|
||||
, curl
|
||||
, ApplicationServices
|
||||
, Foundation
|
||||
, testers
|
||||
, imagemagick
|
||||
}:
|
||||
|
||||
let
|
||||
arch =
|
||||
if stdenv.hostPlatform.system == "i686-linux" then "i686"
|
||||
else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64"
|
||||
else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l"
|
||||
else if stdenv.hostPlatform.system == "aarch64-linux" || stdenv.hostPlatform.system == "aarch64-darwin" then "aarch64"
|
||||
else if stdenv.hostPlatform.system == "powerpc64le-linux" then "ppc64le"
|
||||
else null;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "imagemagick";
|
||||
version = "7.1.0-37";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ImageMagick";
|
||||
repo = "ImageMagick";
|
||||
rev = version;
|
||||
hash = "sha256-Okp3oPIAEXl+fTnEw0jufSxcRU6ip+on5/IyGEjzx2E=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
||||
outputMan = "out"; # it's tiny
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags =
|
||||
[ "--with-frozenpaths" ]
|
||||
++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ])
|
||||
++ lib.optional (librsvg != null) "--with-rsvg"
|
||||
++ lib.optional (liblqr1 != null) "--with-lqr"
|
||||
++ lib.optional (libjxl != null ) "--with-jxl"
|
||||
++ lib.optionals (ghostscript != null)
|
||||
[
|
||||
"--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
|
||||
"--with-gslib"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isMinGW
|
||||
[ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
|
||||
;
|
||||
|
||||
nativeBuildInputs = [ pkg-config libtool ];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
zlib
|
||||
fontconfig
|
||||
freetype
|
||||
ghostscript
|
||||
potrace
|
||||
liblqr1
|
||||
libpng
|
||||
libraw
|
||||
libtiff
|
||||
libxml2
|
||||
libheif
|
||||
djvulibre
|
||||
libjxl
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
||||
[ openexr librsvg openjpeg ]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
ApplicationServices
|
||||
Foundation
|
||||
];
|
||||
|
||||
propagatedBuildInputs =
|
||||
[ bzip2 freetype libjpeg lcms2 curl ]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
||||
[ libX11 libXext libXt libwebp ]
|
||||
;
|
||||
|
||||
postInstall = ''
|
||||
(cd "$dev/include" && ln -s ImageMagick* ImageMagick)
|
||||
moveToOutput "bin/*-config" "$dev"
|
||||
moveToOutput "lib/ImageMagick-*/config-Q16HDRI" "$dev" # includes configure params
|
||||
for file in "$dev"/bin/*-config; do
|
||||
substituteInPlace "$file" --replace pkg-config \
|
||||
"PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'"
|
||||
done
|
||||
'' + lib.optionalString (ghostscript != null) ''
|
||||
for la in $out/lib/*.la; do
|
||||
sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la
|
||||
done
|
||||
'';
|
||||
|
||||
passthru.tests.version =
|
||||
testers.testVersion { package = imagemagick; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.imagemagick.org/";
|
||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ erictapen dotlambda ];
|
||||
license = licenses.asl20;
|
||||
mainProgram = "magick";
|
||||
};
|
||||
}
|
||||
53
pkgs/applications/graphics/ahoviewer/default.nix
Normal file
53
pkgs/applications/graphics/ahoviewer/default.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ config, lib, stdenv, fetchFromGitHub, pkg-config, libconfig
|
||||
, gtkmm2, glibmm, libxml2, libsecret, curl, libzip
|
||||
, librsvg, gst_all_1, autoreconfHook, makeWrapper
|
||||
, useUnrar ? config.ahoviewer.useUnrar or false, unrar
|
||||
}:
|
||||
|
||||
assert useUnrar -> unrar != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ahoviewer";
|
||||
version = "1.6.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ahodesuka";
|
||||
repo = "ahoviewer";
|
||||
rev = version;
|
||||
sha256 = "1avdl4qcpznvf3s2id5qi1vnzy4wgh6vxpnrz777a1s4iydxpcd8";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ];
|
||||
buildInputs = [
|
||||
glibmm libconfig gtkmm2 glibmm libxml2
|
||||
libsecret curl libzip librsvg
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-libav
|
||||
gst_all_1.gst-plugins-base
|
||||
] ++ lib.optional useUnrar unrar;
|
||||
|
||||
NIX_LDFLAGS = "-lpthread";
|
||||
|
||||
postPatch = "patchShebangs version.sh";
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/ahoviewer \
|
||||
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
|
||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/ahodesuka/ahoviewer";
|
||||
description = "A GTK2 image viewer, manga reader, and booru browser";
|
||||
maintainers = with maintainers; [ skrzyp xzfc ];
|
||||
license = licenses.mit;
|
||||
# Unintentionally not working on Darwin:
|
||||
# https://github.com/ahodesuka/ahoviewer/issues/62
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
76
pkgs/applications/graphics/akira/default.nix
Normal file
76
pkgs/applications/graphics/akira/default.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, pantheon
|
||||
, pkg-config
|
||||
, python3
|
||||
, vala
|
||||
, vala-lint
|
||||
, wrapGAppsHook
|
||||
, cairo
|
||||
, glib
|
||||
, goocanvas3
|
||||
, gtk3
|
||||
, gtksourceview3
|
||||
, json-glib
|
||||
, libarchive
|
||||
, libgee
|
||||
, libxml2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "akira";
|
||||
version = "0.0.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "akiraux";
|
||||
repo = "Akira";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-qrqmSCwA0kQVFD1gzutks9gMr7My7nw/KJs/VPisa0w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
vala
|
||||
vala-lint
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
glib
|
||||
goocanvas3
|
||||
pantheon.granite
|
||||
gtk3
|
||||
gtksourceview3
|
||||
json-glib
|
||||
libarchive
|
||||
libgee
|
||||
libxml2
|
||||
];
|
||||
|
||||
mesonFlags = [ "-Dprofile=default" ];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x build-aux/meson/post_install.py
|
||||
patchShebangs build-aux/meson/post_install.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Native Linux Design application built in Vala and GTK";
|
||||
homepage = "https://github.com/akiraux/Akira";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ Br1ght0ne neonfuz ] ++ teams.pantheon.members;
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "com.github.akiraux.akira";
|
||||
};
|
||||
}
|
||||
41
pkgs/applications/graphics/alchemy/default.nix
Normal file
41
pkgs/applications/graphics/alchemy/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, stdenv, fetchurl, jre, runtimeShell }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "alchemy";
|
||||
version = "008";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://al.chemy.org/files/Alchemy-${version}.tar.gz";
|
||||
sha256 = "0449bvdccgx1jqnws1bckzs4nv2d230523qs0jx015gi81s1q7li";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share
|
||||
cp -a . $out/share/alchemy
|
||||
cat >> $out/bin/alchemy << EOF
|
||||
#!${runtimeShell}
|
||||
cd $out/share/alchemy
|
||||
${jre}/bin/java -jar Alchemy.jar "$@"
|
||||
EOF
|
||||
chmod +x $out/bin/alchemy
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Drawing application";
|
||||
longDescription = ''
|
||||
Alchemy is an open drawing project aimed at exploring how we can sketch,
|
||||
draw, and create on computers in new ways. Alchemy isn’t software for
|
||||
creating finished artwork, but rather a sketching environment that
|
||||
focuses on the absolute initial stage of the creation process.
|
||||
Experimental in nature, Alchemy lets you brainstorm visually to explore
|
||||
an expanded range of ideas and possibilities in a serendipitous way.
|
||||
'';
|
||||
homepage = "http://al.chemy.org/";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.marcweber ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
39
pkgs/applications/graphics/animbar/default.nix
Normal file
39
pkgs/applications/graphics/animbar/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ stdenv, lib, fetchurl, cmake, qt4, file }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "animbar";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "0836nwcpyfdrapyj3hbg3wh149ihc26pc78h01adpc7c0r7d9pr9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ qt4 file ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/pixmaps
|
||||
cp src/animbar $out/bin
|
||||
cp ../icon/* $out/share/pixmaps
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create your own animation on paper and transparancy";
|
||||
longDescription = ''
|
||||
Animbar lets you easily create your own animation on paper and
|
||||
transparancy. From a set of input images two output images are
|
||||
computed, that are printed one on paper and one on
|
||||
transparency. By moving the transparency over the paper you
|
||||
create a fascinating animation effect. This kind of animation
|
||||
technique is hundreds of years old and known under several
|
||||
names: picket fence animation, barrier grid animation, Moiré
|
||||
animation, to name a few.
|
||||
'';
|
||||
homepage = "http://animbar.mnim.org";
|
||||
maintainers = with maintainers; [ leenaars ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
70
pkgs/applications/graphics/antimony/default.nix
Normal file
70
pkgs/applications/graphics/antimony/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{ lib, stdenv, fetchFromGitHub, libpng, python3
|
||||
, libGLU, libGL, qtbase, wrapQtAppsHook, ncurses
|
||||
, cmake, flex, lemon
|
||||
, makeDesktopItem, copyDesktopItems
|
||||
}:
|
||||
|
||||
let
|
||||
gitRev = "8fb4b0929ce84cf375bfb83a9d522ccd80681eaf";
|
||||
gitBranch = "develop";
|
||||
gitTag = "0.9.3";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "antimony";
|
||||
version = "2020-03-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mkeeter";
|
||||
repo = "antimony";
|
||||
rev = gitRev;
|
||||
sha256 = "1s0zmq5jmhmb1wcsyaxfmii448g6x8b41mzvb1awlljj85qj0k2s";
|
||||
};
|
||||
|
||||
patches = [ ./paths-fix.patch ];
|
||||
|
||||
postPatch = ''
|
||||
sed -i "s,/usr/local,$out,g" \
|
||||
app/CMakeLists.txt app/app/app.cpp app/app/main.cpp
|
||||
sed -i "s,python3,${python3.executable}," CMakeLists.txt
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString stdenv.isLinux ''
|
||||
install -Dm644 $src/deploy/icon.svg $out/share/icons/hicolor/scalable/apps/antimony.svg
|
||||
install -Dm644 ${./mimetype.xml} $out/share/mime/packages/antimony.xml
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
libpng python3 python3.pkgs.boost
|
||||
libGLU libGL qtbase ncurses
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake flex lemon wrapQtAppsHook copyDesktopItems ];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "antimony";
|
||||
desktopName = "Antimony";
|
||||
comment="Tree-based Modeler";
|
||||
genericName = "CAD Application";
|
||||
exec = "antimony %f";
|
||||
icon = "antimony";
|
||||
categories = [ "Graphics" "Science" "Engineering" ];
|
||||
mimeTypes = [ "application/x-extension-sb" "application/x-antimony" ];
|
||||
startupWMClass = "antimony";
|
||||
})
|
||||
];
|
||||
|
||||
cmakeFlags= [
|
||||
"-DGITREV=${gitRev}"
|
||||
"-DGITTAG=${gitTag}"
|
||||
"-DGITBRANCH=${gitBranch}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A computer-aided design (CAD) tool from a parallel universe";
|
||||
homepage = "https://github.com/mkeeter/antimony";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ rnhmjoj ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
7
pkgs/applications/graphics/antimony/mimetype.xml
Normal file
7
pkgs/applications/graphics/antimony/mimetype.xml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||
<mime-type type="application/x-antimony">
|
||||
<comment xml:lang="en">Antimony model</comment>
|
||||
<glob pattern="*.sb"/>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
21
pkgs/applications/graphics/antimony/paths-fix.patch
Normal file
21
pkgs/applications/graphics/antimony/paths-fix.patch
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
|
||||
index ddc5c9b..d80728a 100644
|
||||
--- a/app/CMakeLists.txt
|
||||
+++ b/app/CMakeLists.txt
|
||||
@@ -158,16 +158,6 @@ target_link_libraries(${ANTIMONY_APP}
|
||||
|
||||
################################################################################
|
||||
|
||||
-execute_process(COMMAND git log --pretty=format:'%h' -n 1
|
||||
- OUTPUT_VARIABLE GITREV)
|
||||
-execute_process(COMMAND bash -c "git diff --quiet --exit-code || echo +"
|
||||
- OUTPUT_VARIABLE GITDIFF)
|
||||
-execute_process(COMMAND git describe --exact-match --tags
|
||||
- OUTPUT_VARIABLE GITTAG
|
||||
- ERROR_QUIET)
|
||||
-execute_process(COMMAND git rev-parse --abbrev-ref HEAD
|
||||
- OUTPUT_VARIABLE GITBRANCH)
|
||||
-
|
||||
add_definitions(-D'GITREV="${GITREV}${GITDIFF}"'
|
||||
-D'GITTAG="${GITTAG}"'
|
||||
-D'GITBRANCH="${GITBRANCH}"')
|
||||
73
pkgs/applications/graphics/apitrace/default.nix
Normal file
73
pkgs/applications/graphics/apitrace/default.nix
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, libX11, procps, python2, libdwarf, qtbase, qtwebkit, wrapQtAppsHook, libglvnd }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "apitrace";
|
||||
version = "7.1-572-g${builtins.substring 0 8 src.rev}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "11bwb0l8cr1bf9bj1s6cbmi77d5fy4qrphj9cgmcd8jpa862anp5";
|
||||
rev = "26966134f15d28f6b4a9a0a560017b3ba36d60bf";
|
||||
repo = "apitrace";
|
||||
owner = "apitrace";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# glibc 2.34 compat
|
||||
# derived from https://github.com/apitrace/apitrace/commit/d28a980802ad48568c87da02d630c8babfe163bb
|
||||
./glibc-2.34-compat.patch
|
||||
];
|
||||
|
||||
# LD_PRELOAD wrappers need to be statically linked to work against all kinds
|
||||
# of games -- so it's fine to use e.g. bundled snappy.
|
||||
buildInputs = [ libX11 procps python2 libdwarf qtbase qtwebkit ];
|
||||
|
||||
nativeBuildInputs = [ cmake wrapQtAppsHook ];
|
||||
|
||||
# Don't automatically wrap all binaries, I prefer to explicitly only wrap
|
||||
# `qapitrace`.
|
||||
dontWrapQtApps = true;
|
||||
|
||||
postFixup = ''
|
||||
|
||||
# Since https://github.com/NixOS/nixpkgs/pull/60985, we add `/run-opengl-driver[-32]`
|
||||
# to the `RUNPATH` of dispatcher libraries `dlopen()` ing OpenGL drivers.
|
||||
# `RUNPATH` doesn't propagate throughout the whole application, but only
|
||||
# from the module performing the `dlopen()`.
|
||||
#
|
||||
# Apitrace wraps programs by running them with `LD_PRELOAD` pointing to `.so`
|
||||
# files in $out/lib/apitrace/wrappers.
|
||||
#
|
||||
# Theses wrappers effectively wrap the `dlopen()` calls from `libglvnd`
|
||||
# and other dispatcher libraries, and run `dlopen()` by themselves.
|
||||
#
|
||||
# As `RUNPATH` doesn't propagate through the whole library, and they're now the
|
||||
# library doing the real `dlopen()`, they also need to have
|
||||
# `/run-opengl-driver[-32]` added to their `RUNPATH`.
|
||||
#
|
||||
# To stay simple, we add paths for 32 and 64 bits unconditionally.
|
||||
# This doesn't have an impact on closure size, and if the 32 bit drivers
|
||||
# are not available, that folder is ignored.
|
||||
for i in $out/lib/apitrace/wrappers/*.so
|
||||
do
|
||||
echo "Patching OpenGL driver path for $i"
|
||||
patchelf --set-rpath "/run/opengl-driver/lib:/run/opengl-driver-32/lib:$(patchelf --print-rpath $i)" $i
|
||||
done
|
||||
|
||||
# Theses open the OpenGL driver at runtime, but it is not listed as NEEDED libraries. They need
|
||||
# a reference to libglvnd.
|
||||
for i in $out/bin/eglretrace $out/bin/glretrace
|
||||
do
|
||||
echo "Patching RPath for $i"
|
||||
patchelf --set-rpath "${lib.makeLibraryPath [libglvnd]}:$(patchelf --print-rpath $i)" $i
|
||||
done
|
||||
|
||||
wrapQtApp $out/bin/qapitrace
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://apitrace.github.io";
|
||||
description = "Tools to trace OpenGL, OpenGL ES, Direct3D, and DirectDraw APIs";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
13
pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch
Normal file
13
pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp
|
||||
index 2eda082..0c0c8ee 100644
|
||||
--- a/wrappers/dlsym.cpp
|
||||
+++ b/wrappers/dlsym.cpp
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "os.hpp"
|
||||
|
||||
|
||||
-#ifdef __GLIBC__
|
||||
+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 34
|
||||
|
||||
|
||||
#include <dlfcn.h>
|
||||
35
pkgs/applications/graphics/apngasm/2.nix
Normal file
35
pkgs/applications/graphics/apngasm/2.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, fetchzip, libpng, zlib, zopfli }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "apngasm";
|
||||
version = "2.91";
|
||||
|
||||
src = fetchzip {
|
||||
url = "mirror://sourceforge/${pname}/${pname}-${version}-src.zip";
|
||||
stripRoot = false;
|
||||
sha256 = "0qhljqql159xkn1l83vz0q8wvzr7rjz4jnhiy0zn36pgvacg0zn1";
|
||||
};
|
||||
|
||||
buildInputs = [ libpng zlib zopfli ];
|
||||
|
||||
postPatch = ''
|
||||
rm -rf libpng zlib zopfli
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_LINK = "-lzopfli";
|
||||
|
||||
installPhase = ''
|
||||
install -Dt $out/bin apngasm
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create highly optimized Animated PNG files from PNG/TGA images";
|
||||
homepage = "http://apngasm.sourceforge.net/";
|
||||
license = licenses.zlib;
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
}
|
||||
34
pkgs/applications/graphics/apngasm/default.nix
Normal file
34
pkgs/applications/graphics/apngasm/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, libpng, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "apngasm";
|
||||
version = "3.1.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "f105b2d6024ef3113bb407d68e27e476a17fa998";
|
||||
sha256 = "sha256-lTk2sTllKHRUaWPPEkC4qU5K10oRaLrdWBgN4MUGKeo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix parallel build and avoid static linking of binary.
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/apngasm/files/apngasm-3.1.10-static.patch?id=45fd0cde71ca2ae0e7e38ab67400d84b86b593d7";
|
||||
sha256 = "sha256-eKthgInWxXEqN5PupvVf9wVQDElxsPYRFXT7pMc6vIU=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ boost libpng zlib ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create an APNG from multiple PNG files";
|
||||
homepage = "https://github.com/apngasm/apngasm";
|
||||
license = licenses.zlib;
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
}
|
||||
22
pkgs/applications/graphics/ascii-image-converter/default.nix
Normal file
22
pkgs/applications/graphics/ascii-image-converter/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ascii-image-converter";
|
||||
version = "1.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TheZoraiz";
|
||||
repo = "ascii-image-converter";
|
||||
rev = "v${version}";
|
||||
sha256 = "5Sa9PqhoJ/LCAHrymqVCO4bI39mQeVa4xv1z235Cxvg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "rQS3QH9vnEbQZszG3FOr1P5HYgS63BurCNCFQTTdvZs=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Convert images into ASCII art on the console";
|
||||
homepage = "https://github.com/TheZoraiz/ascii-image-converter#readme";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.danth ];
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/graphics/autopanosiftc/default.nix
Normal file
28
pkgs/applications/graphics/autopanosiftc/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchurl, cmake, libpng, libtiff, libjpeg, panotools, libxml2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "autopano-sift-C";
|
||||
version = "2.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/hugin/autopano-sift-C-${version}.tar.gz";
|
||||
sha256 = "0dqk8ff82gmy4v5ns5nr9gpzkc1p7c2y8c8fkid102r47wsjk44s";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libpng libtiff libjpeg panotools libxml2 ];
|
||||
|
||||
patches = [
|
||||
(fetchurl {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/autopano-sift-C/files/autopano-sift-C-2.5.1-lm.patch";
|
||||
sha256 = "1bfcr5sps0ip9gl4jprji5jgf9wkczz6d2clsjjlbsy8r3ixi3lv";
|
||||
})
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "http://hugin.sourceforge.net/";
|
||||
description = "Implementation in C of the autopano-sift algorithm for automatically stitching panoramas";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
11
pkgs/applications/graphics/autotrace/autofig.nix
Normal file
11
pkgs/applications/graphics/autotrace/autofig.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "autofig";
|
||||
version = "0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://autotrace.sourceforge.net/tools/autofig.tar.gz";
|
||||
sha256 = "11cs9hdbgcl3aamcs3149i8kvyyldmnjf6yq81kbcf8fdmfk2zdq";
|
||||
};
|
||||
}
|
||||
125
pkgs/applications/graphics/autotrace/default.nix
Normal file
125
pkgs/applications/graphics/autotrace/default.nix
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
{ lib, stdenv, fetchurl, callPackage, libpng12, imagemagick
|
||||
, autoreconfHook, glib, pstoedit, pkg-config, gettext, gd, darwin
|
||||
, runtimeShell }:
|
||||
|
||||
# TODO: Figure out why the resultant binary is somehow linked against
|
||||
# libpng16.so.16 rather than libpng12.
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "autotrace";
|
||||
version = "0.31.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/autotrace/AutoTrace/0.31.1/${pname}-${version}.tar.gz";
|
||||
sha256 = "1xmgja5fv48mdbsa51inf7ksz36nqd6bsaybrk5xgprm6cy946js";
|
||||
};
|
||||
|
||||
# The below commented out part is for an identically-named project
|
||||
# on GitHub which appears to derive somehow from the Sourceforge
|
||||
# version, but I have no idea what the lineage is of this project.
|
||||
# It will build, but it segfaults when I attempt to run -centerline.
|
||||
# Someone may need this for some reason, so I've left it here.
|
||||
#
|
||||
#src = fetchFromGitHub {
|
||||
# owner = "autotrace";
|
||||
# repo = "autotrace";
|
||||
# rev = "b3ac8818d86943102cb4f13734e0b527c42dc45a";
|
||||
# sha256 = "0z5h2mvxwckk2msi361zk1nc9fdcvxyimyc2hlyqd6h8k3p7zdi4";
|
||||
#};
|
||||
#postConfigure = ''
|
||||
# sed -i -e "s/at_string/gchar */g" *.c
|
||||
# sed -i -e "s/at_address/gpointer/g" *.c
|
||||
# sed -i -e "s/at_bitmap_type/struct _at_bitmap/g" *.c
|
||||
# sed -i -e "s/AT_BITMAP_BITS(bitmap)/AT_BITMAP_BITS(\&bitmap)/g" input-magick.c
|
||||
#'';
|
||||
|
||||
autofig = callPackage ./autofig.nix {};
|
||||
nativeBuildInputs = [ autoreconfHook glib autofig pkg-config gettext ];
|
||||
buildInputs = [ libpng12 imagemagick pstoedit ]
|
||||
++ lib.optionals stdenv.isDarwin
|
||||
(with darwin.apple_sdk.frameworks; [ gd ApplicationServices ]);
|
||||
|
||||
postUnpack = ''
|
||||
pushd $sourceRoot
|
||||
autofig autotrace-config.af
|
||||
popd
|
||||
'';
|
||||
|
||||
# This complains about various m4 files, but it appears to not be an
|
||||
# actual error.
|
||||
preConfigure = ''
|
||||
glib-gettextize --copy --force
|
||||
# pstoedit-config no longer exists, it was replaced with pkg-config
|
||||
mkdir wrappers
|
||||
cat >wrappers/pstoedit-config <<'EOF'
|
||||
#!${runtimeShell}
|
||||
# replace --version with --modversion for pkg-config
|
||||
args=''${@/--version/--modversion}
|
||||
exec pkg-config pstoedit "''${args[@]}"
|
||||
EOF
|
||||
chmod +x wrappers/pstoedit-config
|
||||
export PATH="$PATH:$PWD/wrappers"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://autotrace.sourceforge.net/";
|
||||
description = "Utility for converting bitmap into vector graphics";
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ hodapp ];
|
||||
license = licenses.gpl2;
|
||||
knownVulnerabilities = [
|
||||
"CVE-2013-1953"
|
||||
"CVE-2016-7392"
|
||||
"CVE-2017-9151"
|
||||
"CVE-2017-9152"
|
||||
"CVE-2017-9153"
|
||||
"CVE-2017-9154"
|
||||
"CVE-2017-9155"
|
||||
"CVE-2017-9156"
|
||||
"CVE-2017-9157"
|
||||
"CVE-2017-9158"
|
||||
"CVE-2017-9159"
|
||||
"CVE-2017-9160"
|
||||
"CVE-2017-9161"
|
||||
"CVE-2017-9162"
|
||||
"CVE-2017-9163"
|
||||
"CVE-2017-9164"
|
||||
"CVE-2017-9165"
|
||||
"CVE-2017-9166"
|
||||
"CVE-2017-9167"
|
||||
"CVE-2017-9168"
|
||||
"CVE-2017-9169"
|
||||
"CVE-2017-9170"
|
||||
"CVE-2017-9171"
|
||||
"CVE-2017-9172"
|
||||
"CVE-2017-9173"
|
||||
"CVE-2017-9174"
|
||||
"CVE-2017-9175"
|
||||
"CVE-2017-9176"
|
||||
"CVE-2017-9177"
|
||||
"CVE-2017-9178"
|
||||
"CVE-2017-9179"
|
||||
"CVE-2017-9180"
|
||||
"CVE-2017-9181"
|
||||
"CVE-2017-9182"
|
||||
"CVE-2017-9183"
|
||||
"CVE-2017-9184"
|
||||
"CVE-2017-9185"
|
||||
"CVE-2017-9186"
|
||||
"CVE-2017-9187"
|
||||
"CVE-2017-9188"
|
||||
"CVE-2017-9189"
|
||||
"CVE-2017-9190"
|
||||
"CVE-2017-9191"
|
||||
"CVE-2017-9192"
|
||||
"CVE-2017-9193"
|
||||
"CVE-2017-9194"
|
||||
"CVE-2017-9195"
|
||||
"CVE-2017-9196"
|
||||
"CVE-2017-9197"
|
||||
"CVE-2017-9198"
|
||||
"CVE-2017-9199"
|
||||
"CVE-2017-9200"
|
||||
];
|
||||
};
|
||||
}
|
||||
106
pkgs/applications/graphics/avocode/default.nix
Normal file
106
pkgs/applications/graphics/avocode/default.nix
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
{ lib, stdenv, makeDesktopItem, fetchurl, unzip
|
||||
, gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsa-lib, cups, expat, udev, gnome
|
||||
, xorg, mozjpeg, makeWrapper, wrapGAppsHook, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "avocode";
|
||||
version = "4.15.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
|
||||
sha256 = "sha256-vNQT4jyMIIAk1pV3Hrp40nawFutWCv7xtwg2gU6ejy0=";
|
||||
};
|
||||
|
||||
libPath = lib.makeLibraryPath (with xorg; [
|
||||
stdenv.cc.cc.lib
|
||||
at-spi2-core.out
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
atk
|
||||
at-spi2-atk
|
||||
pango
|
||||
cairo
|
||||
freetype
|
||||
fontconfig
|
||||
dbus
|
||||
nss
|
||||
nspr
|
||||
alsa-lib
|
||||
cups
|
||||
expat
|
||||
udev
|
||||
libX11
|
||||
libxcb
|
||||
libxshmfence
|
||||
libxkbcommon
|
||||
libXi
|
||||
libXcursor
|
||||
libXdamage
|
||||
libXrandr
|
||||
libXcomposite
|
||||
libXext
|
||||
libXfixes
|
||||
libXrender
|
||||
libXtst
|
||||
libXScrnSaver
|
||||
libuuid
|
||||
libdrm
|
||||
mesa
|
||||
]);
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "Avocode";
|
||||
exec = "avocode";
|
||||
icon = "avocode";
|
||||
desktopName = "Avocode";
|
||||
genericName = "Design Inspector";
|
||||
categories = [ "Development" ];
|
||||
comment = "The bridge between designers and developers";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [makeWrapper wrapGAppsHook unzip];
|
||||
buildInputs = [ gtk3 gnome.adwaita-icon-theme ];
|
||||
|
||||
# src is producing multiple folder on unzip so we must
|
||||
# override unpackCmd to extract it into newly created folder
|
||||
unpackCmd = ''
|
||||
mkdir out
|
||||
unzip $curSrc -d out
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
substituteInPlace avocode.desktop.in \
|
||||
--replace /path/to/avocode-dir/Avocode $out/bin/avocode \
|
||||
--replace /path/to/avocode-dir/avocode.png avocode
|
||||
|
||||
mkdir -p share/applications share/pixmaps
|
||||
mv avocode.desktop.in share/applications/avocode.desktop
|
||||
mv avocode.png share/pixmaps/
|
||||
|
||||
rm resources/cjpeg
|
||||
cp -av . $out
|
||||
|
||||
mkdir $out/bin
|
||||
ln -s $out/avocode $out/bin/avocode
|
||||
ln -s ${mozjpeg}/bin/cjpeg $out/resources/cjpeg
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/avocode
|
||||
for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
|
||||
patchelf --set-rpath ${libPath}:$out/ $file || true
|
||||
done
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://avocode.com/";
|
||||
description = "The bridge between designers and developers";
|
||||
license = licenses.unfree;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ megheaiulian ];
|
||||
};
|
||||
}
|
||||
63
pkgs/applications/graphics/awesomebump/default.nix
Normal file
63
pkgs/applications/graphics/awesomebump/default.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ mkDerivation, lib, fetchgit, qtbase, qmake, qtscript, flex, bison, qtdeclarative }:
|
||||
|
||||
|
||||
let
|
||||
version = "5.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/kmkolasinski/AwesomeBump.git";
|
||||
rev = "Winx32v${version}";
|
||||
sha256 = "1c8b9jki0v8kzkvsvyv7q1w3s7j40br6ph15hh2xi0a1mpwckq56";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
qtnproperty = mkDerivation {
|
||||
name = "qtnproperty";
|
||||
inherit src;
|
||||
sourceRoot = "AwesomeBump/Sources/utils/QtnProperty";
|
||||
patches = [ ./qtnproperty-parallel-building.patch ];
|
||||
buildInputs = [ qtscript qtbase qtdeclarative ];
|
||||
nativeBuildInputs = [ qmake flex bison ];
|
||||
postInstall = ''
|
||||
install -D bin-linux/QtnPEG $out/bin/QtnPEG
|
||||
'';
|
||||
};
|
||||
in mkDerivation {
|
||||
pname = "awesomebump";
|
||||
inherit version;
|
||||
|
||||
inherit src;
|
||||
|
||||
buildInputs = [ qtbase qtscript qtdeclarative ];
|
||||
|
||||
nativeBuildInputs = [ qmake ];
|
||||
|
||||
preBuild = ''
|
||||
ln -sf ${qtnproperty}/bin/QtnPEG Sources/utils/QtnProperty/bin-linux/QtnPEG
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
postInstall = ''
|
||||
d=$out/libexec/AwesomeBump
|
||||
|
||||
mkdir -p $d
|
||||
cp -vr workdir/`cat workdir/current`/bin/AwesomeBump $d/
|
||||
cp -prd Bin/Configs Bin/Core $d/
|
||||
|
||||
# AwesomeBump expects to find Core and Configs in its current directory.
|
||||
makeQtWrapper $d/AwesomeBump $out/bin/AwesomeBump \
|
||||
--chdir "$d"
|
||||
'';
|
||||
|
||||
# $ cd Sources; qmake; make ../workdir/linux-g++-dgb-gl4/obj/glwidget.o
|
||||
# fatal error: properties/ImageProperties.peg.h: No such file or directory
|
||||
enableParallelBuilding = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/kmkolasinski/AwesomeBump";
|
||||
description = "A program to generate normal, height, specular or ambient occlusion textures from a single image";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = [ lib.maintainers.eelco ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
--- a/PEG/Flex.pri
|
||||
+++ b/PEG/Flex.pri
|
||||
@@ -1,5 +1,6 @@
|
||||
flex.name = Flex ${QMAKE_FILE_IN}
|
||||
flex.input = FLEX_SOURCES
|
||||
+flex.depends = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.parser.cpp
|
||||
flex.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp
|
||||
|
||||
win32:flex.commands = win_flex --wincompat -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp ${QMAKE_FILE_IN}
|
||||
42
pkgs/applications/graphics/azpainter/default.nix
Normal file
42
pkgs/applications/graphics/azpainter/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib, stdenv, fetchFromGitLab
|
||||
, desktop-file-utils, shared-mime-info
|
||||
, libiconv
|
||||
, libX11, libXcursor, libXext, libXi
|
||||
, freetype, fontconfig
|
||||
, libjpeg, libpng, libtiff, libwebp
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "azpainter";
|
||||
version = "3.0.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "azelpg";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-2gTTF1ti9bO24d75mhwyvJISSgMKdmp+oJVmgzEQHdY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils # for update-desktop-database
|
||||
shared-mime-info # for update-mime-info
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libX11 libXcursor libXext libXi
|
||||
freetype fontconfig
|
||||
libjpeg libpng libtiff libwebp
|
||||
zlib
|
||||
] ++ lib.optionals stdenv.isDarwin [ libiconv ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Full color painting software for illustration drawing";
|
||||
homepage = "http://azsky2.html.xdomain.jp/soft/azpainter.html";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ dtzWill ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
};
|
||||
}
|
||||
23
pkgs/applications/graphics/batik/default.nix
Normal file
23
pkgs/applications/graphics/batik/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{lib, stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "batik";
|
||||
version = "1.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/xmlgraphics/batik/binaries/batik-bin-${version}.tar.gz";
|
||||
sha256 = "sha256-D06qgb5wdS5AahnznDnAGISPCZY/CPqJdGQFRwUsRhg=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Java based toolkit for handling SVG";
|
||||
homepage = "https://xmlgraphics.apache.org/batik";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -r * $out/
|
||||
'';
|
||||
}
|
||||
48
pkgs/applications/graphics/blockbench-electron/default.nix
Normal file
48
pkgs/applications/graphics/blockbench-electron/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_16 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "blockbench-electron";
|
||||
version = "4.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/JannisX11/blockbench/releases/download/v${version}/Blockbench_${version}.AppImage";
|
||||
sha256 = "0mqdkjhmylrjjfrm05jv1967qqka5263fgcn9qzax08gcq93s18f";
|
||||
name = "${pname}-${version}.AppImage";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
name = "${pname}-${version}";
|
||||
inherit src;
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin $out/share/${pname} $out/share/applications
|
||||
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
|
||||
cp -a ${appimageContents}/blockbench.desktop $out/share/applications/${pname}.desktop
|
||||
cp -a ${appimageContents}/usr/share/icons $out/share
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper ${electron_16}/bin/electron $out/bin/${pname} \
|
||||
--add-flags $out/share/${pname}/resources/app.asar \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ]}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A boxy 3D model editor powered by Electron";
|
||||
homepage = "https://blockbench.net/";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = [ maintainers.ckie ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
29
pkgs/applications/graphics/c3d/default.nix
Normal file
29
pkgs/applications/graphics/c3d/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, itk, Cocoa }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "c3d";
|
||||
version = "unstable-2021-09-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pyushkevich";
|
||||
repo = pname;
|
||||
rev = "cc06e6e2f04acd3d6faa3d8c9a66b499f02d4388";
|
||||
sha256 = "sha256:1ql1y6694njsmdapywhppb54viyw8wdpaxxr1b3hm2rqhvwmhn52";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ itk ]
|
||||
++ lib.optional stdenv.isDarwin Cocoa;
|
||||
|
||||
cmakeFlags = [ "-DCONVERT3D_USE_ITK_REMOTE_MODULES=OFF" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/pyushkevich/c3d";
|
||||
description = "Medical imaging processing tool";
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.gpl3;
|
||||
broken = stdenv.isAarch64;
|
||||
# /build/source/itkextras/OneDimensionalInPlaceAccumulateFilter.txx:312:10: fatal error: xmmintrin.h: No such file or directory
|
||||
};
|
||||
}
|
||||
76
pkgs/applications/graphics/ciano/default.nix
Normal file
76
pkgs/applications/graphics/ciano/default.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, desktop-file-utils
|
||||
, ffmpeg
|
||||
, gobject-introspection
|
||||
, granite
|
||||
, gtk
|
||||
, imagemagick
|
||||
, libgee
|
||||
, libhandy
|
||||
, libsecret
|
||||
, libsoup
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python
|
||||
, vala
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ciano";
|
||||
version = "0.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "robertsanseries";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-nubm6vBWwsHrrmvFAL/cIzYPxg9B1EhnpC79IJMNuFY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ffmpeg
|
||||
imagemagick
|
||||
granite
|
||||
gtk
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson/post_install.py
|
||||
patchShebangs meson/post_install.py
|
||||
'';
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
postFixup = let
|
||||
binPath = lib.makeBinPath [
|
||||
ffmpeg
|
||||
imagemagick
|
||||
];
|
||||
in
|
||||
''
|
||||
wrapProgram $out/bin/com.github.robertsanseries.ciano \
|
||||
--prefix PATH : ${binPath} "''${gappsWrapperArgs[@]}"
|
||||
ln -s $out/bin/com.github.robertsanseries.ciano $out/bin/ciano
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/robertsanseries/ciano";
|
||||
description = "A multimedia file converter focused on simplicity";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
110
pkgs/applications/graphics/cloudcompare/default.nix
Normal file
110
pkgs/applications/graphics/cloudcompare/default.nix
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, boost
|
||||
, cgal_5
|
||||
, eigen
|
||||
, flann
|
||||
, gdal
|
||||
, gmp
|
||||
, LASzip
|
||||
, mpfr
|
||||
, pdal
|
||||
, pcl
|
||||
, qtbase
|
||||
, qtsvg
|
||||
, qttools
|
||||
, tbb
|
||||
, xercesc
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "cloudcompare";
|
||||
version = "2.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CloudCompare";
|
||||
repo = "CloudCompare";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-gX07Km+DNnsz5eDAC2RueMHjmIfQvgGnNOujZ/yM/vE=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
eigen # header-only
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
cgal_5
|
||||
flann
|
||||
gdal
|
||||
gmp
|
||||
LASzip
|
||||
mpfr
|
||||
pdal
|
||||
pcl
|
||||
qtbase
|
||||
qtsvg
|
||||
qttools
|
||||
tbb
|
||||
xercesc
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCCCORELIB_USE_TBB=ON"
|
||||
"-DOPTION_USE_DXF_LIB=ON"
|
||||
"-DOPTION_USE_GDAL=ON"
|
||||
"-DOPTION_USE_SHAPE_LIB=ON"
|
||||
|
||||
"-DPLUGIN_GL_QEDL=ON"
|
||||
"-DPLUGIN_GL_QSSAO=ON"
|
||||
|
||||
"-DPLUGIN_IO_QADDITIONAL=ON"
|
||||
"-DPLUGIN_IO_QCORE=ON"
|
||||
"-DPLUGIN_IO_QCSV_MATRIX=ON"
|
||||
"-DPLUGIN_IO_QE57=ON"
|
||||
"-DPLUGIN_IO_QFBX=OFF" # Autodesk FBX SDK is gratis+proprietary; not packaged in nixpkgs
|
||||
"-DPLUGIN_IO_QPDAL=ON" # required for .las/.laz support
|
||||
"-DPLUGIN_IO_QPHOTOSCAN=ON"
|
||||
"-DPLUGIN_IO_QRDB=OFF" # Riegl rdblib is proprietary; not packaged in nixpkgs
|
||||
|
||||
"-DCCCORELIB_USE_CGAL=ON" # enables Delauney triangulation support
|
||||
"-DPLUGIN_STANDARD_QPCL=ON" # Adds PCD import and export support
|
||||
"-DPLUGIN_STANDARD_QANIMATION=ON"
|
||||
"-DPLUGIN_STANDARD_QBROOM=ON"
|
||||
"-DPLUGIN_STANDARD_QCANUPO=ON"
|
||||
"-DPLUGIN_STANDARD_QCOMPASS=ON"
|
||||
"-DPLUGIN_STANDARD_QCSF=ON"
|
||||
"-DPLUGIN_STANDARD_QFACETS=ON"
|
||||
"-DPLUGIN_STANDARD_QHOUGH_NORMALS=ON"
|
||||
"-DEIGEN_ROOT_DIR=${eigen}/include/eigen3" # needed for hough normals
|
||||
"-DPLUGIN_STANDARD_QHPR=ON"
|
||||
"-DPLUGIN_STANDARD_QM3C2=ON"
|
||||
"-DPLUGIN_STANDARD_QMPLANE=ON"
|
||||
"-DPLUGIN_STANDARD_QPOISSON_RECON=ON"
|
||||
"-DPLUGIN_STANDARD_QRANSAC_SD=ON"
|
||||
"-DPLUGIN_STANDARD_QSRA=ON"
|
||||
"-DPLUGIN_STANDARD_QCLOUDLAYERS=ON"
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
# fix file dialogs crashing on non-NixOS (and avoid double wrapping)
|
||||
preFixup = ''
|
||||
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "3D point cloud and mesh processing software";
|
||||
homepage = "https://cloudcompare.org";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ nh2 ];
|
||||
platforms = with platforms; linux; # only tested here; might work on others
|
||||
};
|
||||
}
|
||||
26
pkgs/applications/graphics/comical/default.nix
Normal file
26
pkgs/applications/graphics/comical/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, stdenv, fetchurl, wxGTK, util-linux, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "comical";
|
||||
version = "0.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/comical/comical-${version}.tar.gz";
|
||||
sha256 = "0b6527cc06b25a937041f1eb248d0fd881cf055362097036b939817f785ab85e";
|
||||
};
|
||||
|
||||
buildInputs = [ wxGTK util-linux zlib ];
|
||||
makeFlags = [ "prefix=${placeholder "out"}" ];
|
||||
|
||||
patches = [ ./wxgtk-2.8.patch ];
|
||||
|
||||
preInstall = "mkdir -pv $out/bin";
|
||||
|
||||
meta = {
|
||||
description = "Viewer of CBR and CBZ files, often used to store scanned comics";
|
||||
homepage = "http://comical.sourceforge.net/";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ viric ];
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
36
pkgs/applications/graphics/comical/wxgtk-2.8.patch
Normal file
36
pkgs/applications/graphics/comical/wxgtk-2.8.patch
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
diff --git a/Makefile b/Makefile
|
||||
index a648e72..181c47f 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,5 +1,5 @@
|
||||
CC = `wx-config --cxx`
|
||||
-LDFLAGS = `wx-config --libs` -Lunrar -lunrar -Lunzip -lminiunzip
|
||||
+LDFLAGS = `wx-config --libs` -Lunrar -lunrar -Lunzip -lminiunzip -lz
|
||||
INSTALL = install
|
||||
INSTALL_PROGRAM = $(INSTALL)
|
||||
prefix = /usr/local
|
||||
diff --git a/src/ComicalApp.cpp b/src/ComicalApp.cpp
|
||||
index 0c004cd..667e75e 100644
|
||||
--- a/src/ComicalApp.cpp
|
||||
+++ b/src/ComicalApp.cpp
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "ComicalApp.h"
|
||||
#include "ComicalFrame.h"
|
||||
#include <wx/log.h>
|
||||
+#include <wx/icon.h>
|
||||
|
||||
#if !defined(__WXMAC__) && !defined(__WXCOCOA__) && !defined(__WXMSW__) && !defined(__WXPM__)
|
||||
#include "../Comical Icons/comical.xpm"
|
||||
diff --git a/unzip/unzip.h b/unzip/unzip.h
|
||||
index b247937..5bb6a69 100644
|
||||
--- a/unzip/unzip.h
|
||||
+++ b/unzip/unzip.h
|
||||
@@ -50,7 +50,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _ZLIB_H
|
||||
-#include "zlib.h"
|
||||
+#include <zlib.h>
|
||||
#endif
|
||||
|
||||
#ifndef _ZLIBIOAPI_H
|
||||
63
pkgs/applications/graphics/cq-editor/default.nix
Normal file
63
pkgs/applications/graphics/cq-editor/default.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ lib
|
||||
, mkDerivationWith
|
||||
, python3Packages
|
||||
, fetchFromGitHub
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
mkDerivationWith python3Packages.buildPythonApplication rec {
|
||||
pname = "cq-editor";
|
||||
version = "0.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CadQuery";
|
||||
repo = "CQ-editor";
|
||||
rev = version;
|
||||
sha256 = "1970izjaa60r5cg9i35rzz9lk5c5d8q1vw1rh2skvfbf63z1hnzv";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./spyder4.patch
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
cadquery
|
||||
Logbook
|
||||
pyqt5
|
||||
pyparsing
|
||||
pyqtgraph
|
||||
spyder
|
||||
path
|
||||
qtconsole
|
||||
requests
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
pytest
|
||||
pytest-xvfb
|
||||
pytest-mock
|
||||
pytest-cov
|
||||
pytest-repeat
|
||||
pytest-qt
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
pytest --no-xvfb
|
||||
'';
|
||||
|
||||
# requires X server
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "CadQuery GUI editor based on PyQT";
|
||||
homepage = "https://github.com/CadQuery/CQ-editor";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ costrouc marcus7070 ];
|
||||
};
|
||||
|
||||
}
|
||||
58
pkgs/applications/graphics/cq-editor/spyder4.patch
Normal file
58
pkgs/applications/graphics/cq-editor/spyder4.patch
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
diff --git a/cq_editor/widgets/debugger.py b/cq_editor/widgets/debugger.py
|
||||
index b7398fb..d039db5 100644
|
||||
--- a/cq_editor/widgets/debugger.py
|
||||
+++ b/cq_editor/widgets/debugger.py
|
||||
@@ -162,7 +162,7 @@ class Debugger(QObject,ComponentMixin):
|
||||
|
||||
def get_breakpoints(self):
|
||||
|
||||
- return self.parent().components['editor'].get_breakpoints()
|
||||
+ return self.parent().components['editor'].debugger.get_breakpoints()
|
||||
|
||||
def compile_code(self,cq_script):
|
||||
|
||||
@@ -178,12 +178,14 @@ class Debugger(QObject,ComponentMixin):
|
||||
def _exec(self, code, locals_dict, globals_dict):
|
||||
|
||||
with ExitStack() as stack:
|
||||
- p = Path(self.parent().components['editor'].filename).dirname()
|
||||
- if self.preferences['Add script dir to path'] and p:
|
||||
+ fname = self.parent().components['editor'].filename
|
||||
+ p = Path(fname if fname else '').abspath().dirname()
|
||||
+ if self.preferences['Add script dir to path'] and p.exists():
|
||||
sys.path.append(p)
|
||||
stack.callback(sys.path.remove, p)
|
||||
- if self.preferences['Change working dir to script dir'] and p:
|
||||
+ if self.preferences['Change working dir to script dir'] and p.exists():
|
||||
stack.enter_context(p)
|
||||
+
|
||||
exec(code, locals_dict, globals_dict)
|
||||
|
||||
def _inject_locals(self,module):
|
||||
diff --git a/cq_editor/widgets/editor.py b/cq_editor/widgets/editor.py
|
||||
index 45aa048..2763469 100644
|
||||
--- a/cq_editor/widgets/editor.py
|
||||
+++ b/cq_editor/widgets/editor.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-from spyder.widgets.sourcecode.codeeditor import CodeEditor
|
||||
+from spyder.plugins.editor.widgets.codeeditor import CodeEditor
|
||||
from PyQt5.QtCore import pyqtSignal, QFileSystemWatcher, QTimer
|
||||
from PyQt5.QtWidgets import QAction, QFileDialog
|
||||
from PyQt5.QtGui import QFontDatabase
|
||||
@@ -32,6 +32,8 @@ class Editor(CodeEditor,ComponentMixin):
|
||||
|
||||
def __init__(self,parent=None):
|
||||
|
||||
+ self._watched_file = None
|
||||
+
|
||||
super(Editor,self).__init__(parent)
|
||||
ComponentMixin.__init__(self)
|
||||
|
||||
@@ -83,7 +85,6 @@ class Editor(CodeEditor,ComponentMixin):
|
||||
|
||||
# autoreload support
|
||||
self._file_watcher = QFileSystemWatcher(self)
|
||||
- self._watched_file = None
|
||||
# we wait for 50ms after a file change for the file to be written completely
|
||||
self._file_watch_timer = QTimer(self)
|
||||
self._file_watch_timer.setInterval(50)
|
||||
66
pkgs/applications/graphics/curtail/default.nix
Normal file
66
pkgs/applications/graphics/curtail/default.nix
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, wrapGAppsHook
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
, gettext
|
||||
, gtk3
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gobject-introspection
|
||||
, jpegoptim
|
||||
, libwebp
|
||||
, optipng
|
||||
, pngquant
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "curtail";
|
||||
version = "1.3.0";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Huluti";
|
||||
repo = "Curtail";
|
||||
rev = version;
|
||||
sha256 = "sha256-tNk+KI+DEMR63zfcBpfPTxAFKzvGWvpa9erK9SAAtPc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
gettext
|
||||
gtk3
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
appstream-glib
|
||||
python3.pkgs.pygobject3
|
||||
gobject-introspection
|
||||
gettext
|
||||
];
|
||||
|
||||
# Currently still required for the gobject-introspection setup hook
|
||||
strictDeps = false;
|
||||
|
||||
preInstall = ''
|
||||
patchShebangs ../build-aux/meson/postinstall.py
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/curtail --prefix PATH : ${lib.makeBinPath [ jpegoptim libwebp optipng pngquant ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple & useful image compressor";
|
||||
homepage = "https://github.com/Huluti/Curtail";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ anselmschueler ];
|
||||
};
|
||||
}
|
||||
150
pkgs/applications/graphics/darktable/default.nix
Normal file
150
pkgs/applications/graphics/darktable/default.nix
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, libsoup
|
||||
, graphicsmagick
|
||||
, json-glib
|
||||
, wrapGAppsHook
|
||||
, cairo
|
||||
, cmake
|
||||
, ninja
|
||||
, curl
|
||||
, perl
|
||||
, llvm_13
|
||||
, desktop-file-utils
|
||||
, exiv2
|
||||
, glib
|
||||
, glib-networking
|
||||
, ilmbase
|
||||
, gtk3
|
||||
, intltool
|
||||
, lcms2
|
||||
, lensfun
|
||||
, libX11
|
||||
, libexif
|
||||
, libgphoto2
|
||||
, libjpeg
|
||||
, libpng
|
||||
, librsvg
|
||||
, libtiff
|
||||
, openexr_3
|
||||
, osm-gps-map
|
||||
, pkg-config
|
||||
, sqlite
|
||||
, libxslt
|
||||
, openjpeg
|
||||
, pugixml
|
||||
, colord
|
||||
, colord-gtk
|
||||
, libwebp
|
||||
, libsecret
|
||||
, gnome
|
||||
, SDL2
|
||||
, ocl-icd
|
||||
, pcre
|
||||
, gtk-mac-integration
|
||||
, isocodes
|
||||
, llvmPackages
|
||||
, gmic
|
||||
, libavif
|
||||
, icu
|
||||
, jasper
|
||||
, libheif
|
||||
, libaom
|
||||
, portmidi
|
||||
, fetchpatch
|
||||
, lua
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.8.1";
|
||||
pname = "darktable";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
|
||||
sha256 = "1xmyn9haagizh8qqg91bm1lx3dq1v8failxj943mipnvaj80dvl1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ninja llvm_13 pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
curl
|
||||
exiv2
|
||||
glib
|
||||
glib-networking
|
||||
gtk3
|
||||
ilmbase
|
||||
lcms2
|
||||
lensfun
|
||||
libexif
|
||||
libgphoto2
|
||||
libjpeg
|
||||
libpng
|
||||
librsvg
|
||||
libtiff
|
||||
openexr_3
|
||||
sqlite
|
||||
libxslt
|
||||
libsoup
|
||||
graphicsmagick
|
||||
json-glib
|
||||
openjpeg
|
||||
pugixml
|
||||
libwebp
|
||||
libsecret
|
||||
SDL2
|
||||
gnome.adwaita-icon-theme
|
||||
osm-gps-map
|
||||
pcre
|
||||
isocodes
|
||||
gmic
|
||||
libavif
|
||||
icu
|
||||
jasper
|
||||
libheif
|
||||
libaom
|
||||
portmidi
|
||||
lua
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
colord
|
||||
colord-gtk
|
||||
libX11
|
||||
ocl-icd
|
||||
] ++ lib.optional stdenv.isDarwin gtk-mac-integration
|
||||
++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_USERMANUAL=False"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"-DUSE_COLORD=OFF"
|
||||
"-DUSE_KWALLET=OFF"
|
||||
];
|
||||
|
||||
# darktable changed its rpath handling in commit
|
||||
# 83c70b876af6484506901e6b381304ae0d073d3c and as a result the
|
||||
# binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in
|
||||
# the wrappers:
|
||||
preFixup =
|
||||
let
|
||||
libPathEnvVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||
libPathPrefix = "$out/lib/darktable" + lib.optionalString stdenv.isLinux ":${ocl-icd}/lib";
|
||||
in
|
||||
''
|
||||
for f in $out/share/darktable/kernels/*.cl; do
|
||||
sed -r "s|#include \"(.*)\"|#include \"$out/share/darktable/kernels/\1\"|g" -i "$f"
|
||||
done
|
||||
|
||||
gappsWrapperArgs+=(
|
||||
--prefix ${libPathEnvVar} ":" "${libPathPrefix}"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Virtual lighttable and darkroom for photographers";
|
||||
homepage = "https://www.darktable.org";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ goibhniu flosse mrVanDalo paperdigits ];
|
||||
};
|
||||
}
|
||||
39
pkgs/applications/graphics/deskew/default.nix
Normal file
39
pkgs/applications/graphics/deskew/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, stdenv, fetchFromGitHub, libtiff, fpc }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "deskew";
|
||||
version = "1.30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "galfar";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-xghVOEMkQ/mXpOzJqMaT3SII7xneMNoFqRlqjtzmDnA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ fpc ];
|
||||
buildInputs = [ libtiff ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
patchShebangs ./Scripts
|
||||
pushd Scripts && ./compile.sh && popd
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dt $out/bin Bin/deskew
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A command line tool for deskewing scanned text documents";
|
||||
homepage = "https://galfar.vevb.net/deskew";
|
||||
license = with licenses; [ mit mpl11 ];
|
||||
maintainers = with maintainers; [ryantm];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
||||
}
|
||||
11
pkgs/applications/graphics/dia/CVE-2019-19451.patch
Normal file
11
pkgs/applications/graphics/dia/CVE-2019-19451.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
diff -ru a/app/app_procs.c b/app/app_procs.c
|
||||
--- a/app/app_procs.c 2021-01-30 11:09:52.000000000 -0500
|
||||
+++ b/app/app_procs.c 2021-01-30 11:11:05.000000000 -0500
|
||||
@@ -785,6 +785,7 @@
|
||||
|
||||
if (!filename) {
|
||||
g_print (_("Filename conversion failed: %s\n"), filenames[i]);
|
||||
+ ++i;
|
||||
continue;
|
||||
}
|
||||
|
||||
43
pkgs/applications/graphics/dia/default.nix
Normal file
43
pkgs/applications/graphics/dia/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkg-config, perlPackages,
|
||||
libxml2, gettext, python2, libxml2Python, docbook5, docbook_xsl,
|
||||
libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui,
|
||||
gtk-mac-integration-gtk2 }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "dia";
|
||||
version = "0.97.3.20170622";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://gitlab.gnome.org/GNOME/dia.git";
|
||||
rev = "b86085dfe2b048a2d37d587adf8ceba6fb8bc43c";
|
||||
sha256 = "1fyxfrzdcs6blxhkw3bcgkksaf3byrsj4cbyrqgb4869k3ynap96";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./CVE-2019-19451.patch
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ gtk2 libxml2 gettext python2 libxml2Python docbook5
|
||||
libxslt docbook_xsl libart_lgpl ]
|
||||
++ lib.optional withGNOME libgnomeui
|
||||
++ lib.optional stdenv.isDarwin gtk-mac-integration-gtk2;
|
||||
|
||||
nativeBuildInputs = [ autoconf automake libtool pkg-config intltool ]
|
||||
++ (with perlPackages; [ perl XMLParser ]);
|
||||
|
||||
preConfigure = ''
|
||||
NOCONFIGURE=1 ./autogen.sh # autoreconfHook is not enough
|
||||
'';
|
||||
configureFlags = lib.optional withGNOME "--enable-gnome";
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gnome Diagram drawing software";
|
||||
homepage = "http://live.gnome.org/Dia";
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
148
pkgs/applications/graphics/digikam/default.nix
Normal file
148
pkgs/applications/graphics/digikam/default.nix
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{ mkDerivation, lib, fetchurl, fetchpatch, cmake, doxygen, extra-cmake-modules, wrapGAppsHook
|
||||
|
||||
# For `digitaglinktree`
|
||||
, perl, sqlite
|
||||
|
||||
, qtbase
|
||||
, qtxmlpatterns
|
||||
, qtsvg
|
||||
, qtwebengine
|
||||
|
||||
, akonadi-contacts
|
||||
, kcalendarcore
|
||||
, kconfigwidgets
|
||||
, kcoreaddons
|
||||
, kdoctools
|
||||
, kfilemetadata
|
||||
, knotifications
|
||||
, knotifyconfig
|
||||
, ktextwidgets
|
||||
, kwidgetsaddons
|
||||
, kxmlgui
|
||||
|
||||
, bison
|
||||
, boost
|
||||
, eigen
|
||||
, exiv2
|
||||
, ffmpeg
|
||||
, flex
|
||||
, graphviz
|
||||
, imagemagick
|
||||
, lcms2
|
||||
, lensfun
|
||||
, libgphoto2
|
||||
, libkipi
|
||||
, libksane
|
||||
, liblqr1
|
||||
, libqtav
|
||||
, libusb1
|
||||
, marble
|
||||
, libGL
|
||||
, libGLU
|
||||
, opencv
|
||||
, pcre
|
||||
, threadweaver
|
||||
, x265
|
||||
, jasper
|
||||
|
||||
# For panorama and focus stacking
|
||||
, enblend-enfuse
|
||||
, hugin
|
||||
, gnumake
|
||||
|
||||
, breeze-icons
|
||||
, oxygen
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "digikam";
|
||||
version = "7.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/${pname}/${version}/digiKam-${version}.tar.xz";
|
||||
sha256 = "sha256-2OHucyHT/DE5FvUVdW4wKaxBh9xFO2kzhI1N5TFLZkE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "akonadi-22.04.patch";
|
||||
url = "https://github.com/archlinux/svntogit-packages/raw/1b3c76a4482055524120f598325d90545ff9c020/trunk/akonadi-22.04.patch";
|
||||
sha256 = "sha256-ittgkl2t/nAD0ci2fNYoAd4E2M6Gg0vqqjxqZugBuko=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
bison
|
||||
boost
|
||||
eigen
|
||||
exiv2
|
||||
ffmpeg
|
||||
flex
|
||||
graphviz
|
||||
imagemagick
|
||||
lcms2
|
||||
lensfun
|
||||
libgphoto2
|
||||
libkipi
|
||||
libksane
|
||||
liblqr1
|
||||
libqtav
|
||||
libusb1
|
||||
libGL
|
||||
libGLU
|
||||
opencv
|
||||
pcre
|
||||
x265
|
||||
jasper
|
||||
|
||||
qtbase
|
||||
qtxmlpatterns
|
||||
qtsvg
|
||||
qtwebengine
|
||||
|
||||
akonadi-contacts
|
||||
kcalendarcore
|
||||
kconfigwidgets
|
||||
kcoreaddons
|
||||
kfilemetadata
|
||||
knotifications
|
||||
knotifyconfig
|
||||
ktextwidgets
|
||||
kwidgetsaddons
|
||||
kxmlgui
|
||||
|
||||
breeze-icons
|
||||
marble
|
||||
oxygen
|
||||
threadweaver
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_MYSQLSUPPORT=1"
|
||||
"-DENABLE_INTERNALMYSQL=1"
|
||||
"-DENABLE_MEDIAPLAYER=1"
|
||||
"-DENABLE_QWEBENGINE=on"
|
||||
"-DENABLE_APPSTYLES=on"
|
||||
"-DCMAKE_CXX_FLAGS=-I${libksane}/include/KF5" # fix `#include <ksane_version.h>`
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
qtWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gnumake hugin enblend-enfuse ]})
|
||||
qtWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${qtbase.qtPluginPrefix}/${pname})
|
||||
substituteInPlace $out/bin/digitaglinktree \
|
||||
--replace "/usr/bin/perl" "${perl}/bin/perl" \
|
||||
--replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Photo Management Program";
|
||||
license = licenses.gpl2;
|
||||
homepage = "https://www.digikam.org";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
152
pkgs/applications/graphics/djv/default.nix
Normal file
152
pkgs/applications/graphics/djv/default.nix
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
{ stdenv
|
||||
, cmake
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, alsa-lib
|
||||
, libGL
|
||||
, libX11
|
||||
, libXinerama
|
||||
, libXi
|
||||
, zlib
|
||||
, rtaudio
|
||||
, rapidjson
|
||||
, ilmbase
|
||||
, glm
|
||||
, glfw3
|
||||
, libpng
|
||||
, opencolorio_1
|
||||
, freetype
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
# The way third-party dependencies are packaged has changed
|
||||
# significantly from the 2.0.8 release. This means any packaging
|
||||
# effort for the 2.0.8 release would have to be redone for the next
|
||||
# release. Hence we package the git version for now and can easily
|
||||
# jump onto the next release once it's available.
|
||||
djvVersion = "2.0.8-unstable-2021-07-31";
|
||||
|
||||
djvSrc = fetchFromGitHub {
|
||||
owner = "darbyjohnston";
|
||||
repo = "djv";
|
||||
rev = "ae31712c4f2802a874217ac194bde26287993934";
|
||||
sha256 = "1qgia6vqb6fhyfj8w925xl6k6zidrp2gj5f32bpi94lwwhi6p9pd";
|
||||
};
|
||||
|
||||
# DJV's build system tries to automatically pull in FSeq, another
|
||||
# library by the DJV author.
|
||||
#
|
||||
# When updating, check the following file in the DJV source:
|
||||
# etc/SuperBuild/cmake/Modules/BuildFSeq.cmake
|
||||
#
|
||||
# If there is revision or tag specified, DJV wants to use the most
|
||||
# recent master version
|
||||
fseqSrc = fetchFromGitHub {
|
||||
owner = "darbyjohnston";
|
||||
repo = "fseq";
|
||||
rev = "545fac6018100f7fca474b8ee4f1efa7cbf6bf45";
|
||||
sha256 = "0qfhbrzji05hh5kwgd1wvq2lbf81ylbi7v7aqk28aws27f8d2hk0";
|
||||
};
|
||||
|
||||
djv-deps = stdenv.mkDerivation rec {
|
||||
pname = "djv-dependencies";
|
||||
version = djvVersion;
|
||||
|
||||
src = djvSrc;
|
||||
|
||||
sourceRoot = "source/etc/SuperBuild";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
libGL
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod -R +w .
|
||||
|
||||
sed -i 's,GIT_REPOSITORY https://github.com/darbyjohnston/FSeq.git,SOURCE_DIR ${fseqSrc},' \
|
||||
cmake/Modules/BuildFSeq.cmake
|
||||
|
||||
# We pull these projects in as normal Nix dependencies. No need
|
||||
# to build them again here.
|
||||
|
||||
sed -i CMakeLists.txt \
|
||||
-e '/list(APPEND DJV_THIRD_PARTY_DEPS RapidJSON)/d' \
|
||||
-e '/list(APPEND DJV_THIRD_PARTY_DEPS RtAudio)/d' \
|
||||
-e '/list(APPEND DJV_THIRD_PARTY_DEPS IlmBase)/d' \
|
||||
-e '/list(APPEND DJV_THIRD_PARTY_DEPS GLM)/d' \
|
||||
-e '/list(APPEND DJV_THIRD_PARTY_DEPS GLFW)/d' \
|
||||
-e '/list(APPEND DJV_THIRD_PARTY_DEPS ZLIB)/d' \
|
||||
-e '/list(APPEND DJV_THIRD_PARTY_DEPS PNG)/d' \
|
||||
-e '/list(APPEND DJV_THIRD_PARTY_DEPS FreeType)/d' \
|
||||
-e '/list(APPEND DJV_THIRD_PARTY_DEPS OCIO)/d'
|
||||
|
||||
# The "SuperBuild" wants to build DJV right here. This is
|
||||
# inconvenient, because then the `make install` target is not generated
|
||||
# by CMake. We build DJV in its own derivation below. This also makes
|
||||
# the build a bit more modular.
|
||||
|
||||
sed -i '/include(BuildDJV)/d' \
|
||||
CMakeLists.txt
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DDJV_THIRD_PARTY_OpenEXR:BOOL=False"
|
||||
"-DDJV_THIRD_PARTY_JPEG:BOOL=False"
|
||||
"-DDJV_THIRD_PARTY_TIFF:BOOL=False"
|
||||
];
|
||||
|
||||
dontInstall = true;
|
||||
doCheck = true;
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "djv";
|
||||
version = djvVersion;
|
||||
|
||||
src = djvSrc;
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
libGL
|
||||
libX11
|
||||
libXinerama
|
||||
libXi
|
||||
rapidjson
|
||||
rtaudio
|
||||
ilmbase
|
||||
glm
|
||||
glfw3
|
||||
zlib.dev
|
||||
libpng
|
||||
freetype
|
||||
opencolorio_1
|
||||
djv-deps
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod -R +w .
|
||||
|
||||
# When linking opencolorio statically this results in failing to
|
||||
# pull in opencolorio's dependencies (tixml and yaml libraries). Avoid
|
||||
# this by linking it statically instead.
|
||||
|
||||
sed -i cmake/Modules/FindOCIO.cmake \
|
||||
-e 's/PATH_SUFFIXES static//' \
|
||||
-e '/OpenColorIO_STATIC/d'
|
||||
'';
|
||||
|
||||
# GLFW requires a working X11 session.
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A professional review software for VFX, animation, and film production";
|
||||
homepage = "https://darbyjohnston.github.io/DJV/";
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.blitz ];
|
||||
license = licenses.bsd3;
|
||||
};
|
||||
}
|
||||
75
pkgs/applications/graphics/djview/default.nix
Normal file
75
pkgs/applications/graphics/djview/default.nix
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
{ lib, stdenv
|
||||
, mkDerivation
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, djvulibre
|
||||
, qtbase
|
||||
, qttools
|
||||
, xorg
|
||||
, libtiff
|
||||
, darwin
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "djview";
|
||||
version = "4.10.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz";
|
||||
sha256 = "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
qttools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
djvulibre
|
||||
qtbase
|
||||
xorg.libXt
|
||||
libtiff
|
||||
] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.AGL;
|
||||
|
||||
configureFlags = [
|
||||
"--disable-silent-rules"
|
||||
"--disable-dependency-tracking"
|
||||
"--with-x"
|
||||
"--with-tiff"
|
||||
# NOTE: 2019-09-19: experimental "--enable-npdjvu" fails
|
||||
] ++ lib.optional stdenv.isDarwin "--enable-mac";
|
||||
|
||||
passthru = {
|
||||
mozillaPlugin = "/lib/mozilla/plugins";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "A portable DjVu viewer (Qt5) and browser (nsdejavu) plugin";
|
||||
homepage = "http://djvu.sourceforge.net/djview4.html";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ Anton-Latukha ];
|
||||
longDescription = ''
|
||||
The portable DjVu viewer (Qt5) and browser (nsdejavu) plugin.
|
||||
|
||||
Djview highlights:
|
||||
- entirely based on the public DjVulibre api.
|
||||
- entirely written in portable Qt5.
|
||||
- works natively under Unix/X11, MS Windows, and macOS X.
|
||||
- continuous scrolling of pages
|
||||
- side-by-side display of pages
|
||||
- ability to specify a url to the djview command
|
||||
- all plugin and cgi options available from the command line
|
||||
- all silly annotations implemented
|
||||
- display thumbnails as a grid
|
||||
- display outlines
|
||||
- page names supported (see djvused command set-page-title)
|
||||
- metadata dialog (see djvused command set-meta)
|
||||
- implemented as reusable Qt widgets
|
||||
|
||||
nsdejavu: browser plugin for DjVu. It internally uses djview.
|
||||
Has CGI-style arguments to configure the view of document (see man).
|
||||
'';
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/graphics/dosage/default.nix
Normal file
30
pkgs/applications/graphics/dosage/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "dosage";
|
||||
version = "2.17";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0vmxgn9wd3j80hp4gr5iq06jrl4gryz5zgfdd2ah30d12sfcfig0";
|
||||
};
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
pytestCheckHook pytest-xdist responses
|
||||
];
|
||||
|
||||
nativeBuildInputs = with python3Packages; [ setuptools-scm ];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
colorama imagesize lxml requests setuptools six
|
||||
];
|
||||
|
||||
disabled = python3Packages.pythonOlder "3.3";
|
||||
|
||||
meta = {
|
||||
description = "A comic strip downloader and archiver";
|
||||
homepage = "https://dosage.rocks/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ toonn ];
|
||||
};
|
||||
}
|
||||
82
pkgs/applications/graphics/drawing/default.nix
Normal file
82
pkgs/applications/graphics/drawing/default.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, gtk3
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
, gobject-introspection
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
, gdk-pixbuf
|
||||
, pango
|
||||
, gettext
|
||||
, itstool
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "drawing";
|
||||
version = "1.0.0";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maoschanz";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-qNaljtuA5E/QaLJ9QILPRQCqOvKmX4ZGq/0z5unA8KA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with meson 0.61, can be removed on next update.
|
||||
# https://github.com/NixOS/nixpkgs/issues/167584
|
||||
(fetchpatch {
|
||||
url = "https://github.com/maoschanz/drawing/commit/6dd271089af76b69322500778e3ad6615a117dcc.patch";
|
||||
sha256 = "sha256-4pKWm3LYstVxZ4+gGsZDfM4K+7WBY8EYjylzc/CQZmo=";
|
||||
includes = [ "data/meson.build" "help/meson.build" ];
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
glib
|
||||
gettext
|
||||
itstool
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
gdk-pixbuf
|
||||
pango
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pycairo
|
||||
pygobject3
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x build-aux/meson/postinstall.py # patchShebangs requires executable file
|
||||
patchShebangs build-aux/meson/postinstall.py
|
||||
'';
|
||||
|
||||
strictDeps = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A free basic image editor, similar to Microsoft Paint, but aiming at the GNOME desktop";
|
||||
homepage = "https://maoschanz.github.io/drawing/";
|
||||
maintainers = with maintainers; [ mothsart ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
103
pkgs/applications/graphics/drawio/default.nix
Normal file
103
pkgs/applications/graphics/drawio/default.nix
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
{ stdenv, lib, fetchurl, rpmextract, autoPatchelfHook, wrapGAppsHook
|
||||
|
||||
# Dynamic libraries
|
||||
, alsa-lib, atk, at-spi2-atk, at-spi2-core, cairo, dbus, cups, expat
|
||||
, gdk-pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor
|
||||
, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst
|
||||
, libxcb, libuuid, libxshmfence, nspr, nss, pango, mesa
|
||||
|
||||
, systemd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "drawio";
|
||||
version = "19.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
|
||||
sha256 = "46b4e7269628100ea3c083dee75308d9746780e46eac15d2c5495fdeece7e323";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
rpmextract
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
atk
|
||||
at-spi2-atk
|
||||
at-spi2-core
|
||||
cairo
|
||||
cups
|
||||
dbus
|
||||
expat
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
libX11
|
||||
libXScrnSaver
|
||||
libXcomposite
|
||||
libXcursor
|
||||
libXdamage
|
||||
libXext
|
||||
libXfixes
|
||||
libXi
|
||||
libXrandr
|
||||
libXrender
|
||||
libxshmfence
|
||||
libXtst
|
||||
libxcb
|
||||
libuuid
|
||||
mesa # for libgbm
|
||||
nspr
|
||||
nss
|
||||
pango
|
||||
systemd
|
||||
];
|
||||
|
||||
runtimeDependencies = [
|
||||
(lib.getLib systemd)
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
unpackPhase = "rpmextract ${src}";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share
|
||||
cp -r opt/drawio $out/share/
|
||||
|
||||
# Application icon
|
||||
mkdir -p $out/share/icons/hicolor
|
||||
cp -r usr/share/icons/hicolor/* $out/share/icons/hicolor/
|
||||
|
||||
# XDG desktop item
|
||||
cp -r usr/share/applications $out/share/applications
|
||||
|
||||
# Symlink wrapper
|
||||
mkdir -p $out/bin
|
||||
ln -s $out/share/drawio/drawio $out/bin/drawio
|
||||
|
||||
# Update binary path
|
||||
substituteInPlace $out/share/applications/drawio.desktop \
|
||||
--replace /opt/drawio/drawio $out/bin/drawio
|
||||
'';
|
||||
|
||||
doInstallCheckPhase = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
$out/bin/drawio --help > /dev/null
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A desktop application for creating diagrams";
|
||||
homepage = "https://about.draw.io/";
|
||||
license = licenses.asl20;
|
||||
changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${version}";
|
||||
maintainers = with maintainers; [ darkonion0 ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
36
pkgs/applications/graphics/drawio/headless.nix
Normal file
36
pkgs/applications/graphics/drawio/headless.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, writeTextFile, runtimeShell, drawio, xvfb-run }:
|
||||
|
||||
writeTextFile {
|
||||
name = "${drawio.pname}-headless-${drawio.version}";
|
||||
|
||||
executable = true;
|
||||
destination = "/bin/drawio";
|
||||
text = ''
|
||||
#!${runtimeShell}
|
||||
|
||||
# Electron really wants a configuration directory to not die with:
|
||||
# "Error: Failed to get 'appData' path"
|
||||
# so we give it some temp dir as XDG_CONFIG_HOME
|
||||
tmpdir=$(mktemp -d)
|
||||
|
||||
function cleanup {
|
||||
rm -rf "$tmpdir"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
# Drawio needs to run in a virtual X session, because Electron
|
||||
# refuses to work and dies with an unhelpful error message otherwise:
|
||||
# "The futex facility returned an unexpected error code."
|
||||
XDG_CONFIG_HOME="$tmpdir" ${xvfb-run}/bin/xvfb-run ${drawio}/bin/drawio $@
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "xvfb wrapper around drawio";
|
||||
longDescription = ''
|
||||
A wrapper around drawio for running in headless environments.
|
||||
Runs drawio under xvfb-run, with configuration going to a temporary
|
||||
directory.
|
||||
'';
|
||||
maintainers = with maintainers; [ qyliss tfc ];
|
||||
};
|
||||
}
|
||||
108
pkgs/applications/graphics/drawpile/default.nix
Normal file
108
pkgs/applications/graphics/drawpile/default.nix
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, extra-cmake-modules
|
||||
|
||||
# common deps
|
||||
, karchive
|
||||
|
||||
# client deps
|
||||
, qtbase
|
||||
, qtkeychain
|
||||
, qtmultimedia
|
||||
, qtsvg
|
||||
, qttools
|
||||
, libsecret
|
||||
|
||||
# optional client deps
|
||||
, giflib
|
||||
, kdnssd
|
||||
, libvpx
|
||||
, miniupnpc
|
||||
, qtx11extras # kis
|
||||
|
||||
# optional server deps
|
||||
, libmicrohttpd
|
||||
, libsodium
|
||||
, withSystemd ? stdenv.isLinux
|
||||
, systemd ? null
|
||||
|
||||
# options
|
||||
, buildClient ? true
|
||||
, buildServer ? true
|
||||
, buildServerGui ? true # if false builds a headless server
|
||||
, buildExtraTools ? false
|
||||
, enableKisTablet ? false # enable improved graphics tablet support
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
clientDeps = [
|
||||
qtbase
|
||||
qtkeychain
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
qttools
|
||||
libsecret
|
||||
# optional:
|
||||
giflib # gif animation export support
|
||||
kdnssd # local server discovery with Zeroconf
|
||||
libvpx # WebM video export
|
||||
miniupnpc # automatic port forwarding
|
||||
];
|
||||
|
||||
serverDeps = [
|
||||
# optional:
|
||||
libmicrohttpd # HTTP admin api
|
||||
libsodium # ext-auth support
|
||||
] ++ optional withSystemd systemd;
|
||||
|
||||
kisDeps = [
|
||||
qtx11extras
|
||||
];
|
||||
|
||||
boolToFlag = bool:
|
||||
if bool then "ON" else "OFF";
|
||||
|
||||
in mkDerivation rec {
|
||||
pname = "drawpile";
|
||||
version = "2.1.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "drawpile";
|
||||
repo = "drawpile";
|
||||
rev = version;
|
||||
sha256 = "sha256-HjGsaa2BYRNxaQP9e8Z7BkVlIKByC/ta92boGbYHRWQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ extra-cmake-modules ];
|
||||
|
||||
buildInputs = [
|
||||
karchive
|
||||
]
|
||||
++ optionals buildClient clientDeps
|
||||
++ optionals buildServer serverDeps
|
||||
++ optionals enableKisTablet kisDeps;
|
||||
|
||||
cmakeFlags = [
|
||||
"-Wno-dev"
|
||||
"-DINITSYS=systemd"
|
||||
"-DCLIENT=${boolToFlag buildClient}"
|
||||
"-DSERVER=${boolToFlag buildServer}"
|
||||
"-DSERVERGUI=${boolToFlag buildServerGui}"
|
||||
"-DTOOLS=${boolToFlag buildExtraTools}"
|
||||
"-DKIS_TABLET=${boolToFlag enableKisTablet}"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "A collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously";
|
||||
homepage = "https://drawpile.net/";
|
||||
downloadPage = "https://drawpile.net/download/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
47
pkgs/applications/graphics/eddy/default.nix
Normal file
47
pkgs/applications/graphics/eddy/default.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{ python3Packages
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, jre
|
||||
, qt5
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "eddy";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "obdasystems";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "12j77bbva5py9bd57c80cmjvf8vll40h19n81h16lvv2r2r7jynh";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
qt5.qtbase
|
||||
wrapQtAppsHook
|
||||
python3Packages.setuptools
|
||||
python3Packages.rfc3987
|
||||
python3Packages.JPype1
|
||||
python3Packages.pyqt5
|
||||
];
|
||||
|
||||
# Tests fail with: ImportError: cannot import name 'QtXmlPatterns' from 'PyQt5'
|
||||
doCheck = false;
|
||||
|
||||
preBuild = ''
|
||||
export HOME=/tmp
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
wrapQtApp "$out/bin/eddy" --prefix JAVA_HOME : ${jre}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.obdasystems.com/eddy";
|
||||
description = "Graphical editor for the specification and visualization of Graphol ontologies";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ koslambrou ];
|
||||
};
|
||||
}
|
||||
77
pkgs/applications/graphics/emulsion/default.nix
Normal file
77
pkgs/applications/graphics/emulsion/default.nix
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, installShellFiles
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, python3
|
||||
, libGL
|
||||
, libX11
|
||||
, libXcursor
|
||||
, libXi
|
||||
, libXrandr
|
||||
, libXxf86vm
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, wayland
|
||||
, AppKit
|
||||
, CoreGraphics
|
||||
, CoreServices
|
||||
, Foundation
|
||||
, OpenGL
|
||||
}:
|
||||
let
|
||||
rpathLibs = [
|
||||
libGL
|
||||
libX11
|
||||
libXcursor
|
||||
libXi
|
||||
libXrandr
|
||||
libXxf86vm
|
||||
libxcb
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
libxkbcommon
|
||||
wayland
|
||||
];
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "emulsion";
|
||||
version = "9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ArturKovacs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Cdi+PQDHxMQG7t7iwDi6UWfDwQjjA2yiOf9p/ahBlOw=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-2wiLamnGqACx1r4WJbWPCN3tvhww/rRWz8fcvAbjYE0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = rpathLibs ++ lib.optionals stdenv.isDarwin [
|
||||
AppKit
|
||||
CoreGraphics
|
||||
CoreServices
|
||||
Foundation
|
||||
OpenGL
|
||||
];
|
||||
|
||||
postFixup = lib.optionalString stdenv.isLinux ''
|
||||
patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}" $out/bin/emulsion
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fast and minimalistic image viewer";
|
||||
homepage = "https://arturkovacs.github.io/emulsion-website/";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
35
pkgs/applications/graphics/epeg/default.nix
Normal file
35
pkgs/applications/graphics/epeg/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, libtool, autoconf, automake
|
||||
, libjpeg, libexif
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "epeg";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mattes";
|
||||
repo = "epeg";
|
||||
rev = "v${version}";
|
||||
sha256 = "14bjl9v6zzac4df25gm3bkw3n0mza5iazazsi65gg3m6661x6c5g";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ pkg-config libtool autoconf automake ];
|
||||
|
||||
propagatedBuildInputs = [ libjpeg libexif ];
|
||||
|
||||
preConfigure = ''
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/mattes/epeg";
|
||||
description = "Insanely fast JPEG/ JPG thumbnail scaling";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
license = {
|
||||
url = "https://github.com/mattes/epeg#license";
|
||||
};
|
||||
maintainers = with maintainers; [ nh2 ];
|
||||
};
|
||||
}
|
||||
56
pkgs/applications/graphics/epick/default.nix
Normal file
56
pkgs/applications/graphics/epick/default.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
, python3
|
||||
, libGL
|
||||
, libX11
|
||||
, libXcursor
|
||||
, libXi
|
||||
, libXrandr
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, AppKit
|
||||
, IOKit
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "epick";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vv9k";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-x1C8kY9VpMg7aXgC/jRsLCeUV8uRLobgjSAQdK2/sHk=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-KgQOlvKRt47lg7NteqBa2DLKkDf93JTzp9EIHn3clxY=";
|
||||
|
||||
nativeBuildInputs = lib.optional stdenv.isLinux python3;
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [
|
||||
libGL
|
||||
libX11
|
||||
libXcursor
|
||||
libXi
|
||||
libXrandr
|
||||
libxcb
|
||||
libxkbcommon
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
AppKit
|
||||
IOKit
|
||||
];
|
||||
|
||||
postFixup = lib.optionalString stdenv.isLinux ''
|
||||
patchelf --set-rpath ${lib.makeLibraryPath buildInputs} $out/bin/epick
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple color picker that lets the user create harmonic palettes with ease";
|
||||
homepage = "https://github.com/vv9k/epick";
|
||||
changelog = "https://github.com/vv9k/epick/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
};
|
||||
}
|
||||
59
pkgs/applications/graphics/evilpixie/default.nix
Normal file
59
pkgs/applications/graphics/evilpixie/default.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ mkDerivation
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, makeDesktopItem
|
||||
, qmake
|
||||
, qtbase
|
||||
, libpng
|
||||
, giflib
|
||||
, impy
|
||||
}:
|
||||
|
||||
let
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "EvilPixie";
|
||||
desktopName = "EvilPixie";
|
||||
exec = "evilpixie %F";
|
||||
icon = "evilpixie";
|
||||
genericName = "Image Editor";
|
||||
categories = [ "Graphics" "2DGraphics" "RasterGraphics" ];
|
||||
mimeTypes = [ "image/bmp" "image/gif" "image/jpeg" "image/jpg" "image/png" "image/x-pcx" "image/x-targa" "image/x-tga" ];
|
||||
};
|
||||
|
||||
in mkDerivation rec {
|
||||
pname = "evilpixie";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bcampbell";
|
||||
repo = "evilpixie";
|
||||
rev = "v${version}";
|
||||
sha256 = "0dwgfr8kmkfppgf5wx9i5f7fjz3gxk0ji1l06x1z4r3vj52hdbph";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
libpng
|
||||
giflib
|
||||
impy
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
ln -s ${desktopItem}/share/applications $out/share
|
||||
install -Dm 444 icon_128x128.png $out/share/icons/hicolor/128x128/apps/evilpixie.png
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Pixel-oriented paint program, modelled on Deluxe Paint";
|
||||
homepage = "https://github.com/bcampbell/evilpixie"; # http://evilpixie.scumways.com/ is gone
|
||||
downloadPage = "https://github.com/bcampbell/evilpixie/releases";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
29
pkgs/applications/graphics/exrdisplay/default.nix
Normal file
29
pkgs/applications/graphics/exrdisplay/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, fltk, openexr, libGLU, libGL, ctl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openexr_viewers";
|
||||
version = "2.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://savannah/openexr/openexr_viewers-${version}.tar.gz";
|
||||
sha256 = "1ixx2wbjp4rvsf7h3bkja010gl1ihjrcjzy7h20jnn47ikg12vj8";
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
./configure --prefix=$out --with-fltk-config=${fltk}/bin/fltk-config
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
make LDFLAGS="`fltk-config --ldflags` -lGL -lfltk_gl"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openexr fltk libGLU libGL ctl ];
|
||||
|
||||
meta = {
|
||||
description = "Application for viewing OpenEXR images on a display at various exposure settings";
|
||||
homepage = "http://openexr.com";
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.bsd3;
|
||||
};
|
||||
}
|
||||
23
pkgs/applications/graphics/exrtools/default.nix
Normal file
23
pkgs/applications/graphics/exrtools/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, openexr, libpng12, libjpeg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "exrtools";
|
||||
version = "0.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://scanline.ca/exrtools/${pname}-${version}.tar.gz";
|
||||
sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openexr libpng12 libjpeg ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Collection of utilities for manipulating OpenEXR images";
|
||||
homepage = "http://scanline.ca/exrtools";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.juliendehos ];
|
||||
};
|
||||
}
|
||||
|
||||
27
pkgs/applications/graphics/f3d/default.nix
Normal file
27
pkgs/applications/graphics/f3d/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, vtk_9, libX11, libGL, Cocoa, OpenGL }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "f3d";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "f3d-app";
|
||||
repo = "f3d";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Yn1IcGWAbXjG0wJQjRimvreozFu9mf0FMwyGNYc4P+U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ vtk_9 ]
|
||||
++ lib.optionals stdenv.isLinux [ libGL libX11 ]
|
||||
++ lib.optionals stdenv.isDarwin [ Cocoa OpenGL ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast and minimalist 3D viewer using VTK";
|
||||
homepage = "https://f3d-app.github.io/f3d";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
78
pkgs/applications/graphics/fbida/default.nix
Normal file
78
pkgs/applications/graphics/fbida/default.nix
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, libjpeg
|
||||
, libexif
|
||||
, giflib
|
||||
, libtiff
|
||||
, libpng
|
||||
, libwebp
|
||||
, libdrm
|
||||
, pkg-config
|
||||
, freetype
|
||||
, fontconfig
|
||||
, which
|
||||
, imagemagick
|
||||
, curl
|
||||
, sane-backends
|
||||
, libXpm
|
||||
, libepoxy
|
||||
, poppler
|
||||
, mesa
|
||||
, lirc
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fbida";
|
||||
version = "2.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dl.bytesex.org/releases/fbida/fbida-${version}.tar.gz";
|
||||
sha256 = "0f242mix20rgsqz1llibhsz4r2pbvx6k32rmky0zjvnbaqaw1dwm";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Upstream patch to fix build on -fno-common toolchains.
|
||||
(fetchurl {
|
||||
name = "no-common.patch";
|
||||
url = "https://git.kraxel.org/cgit/fbida/patch/?id=1bb8a8aa29845378903f3c690e17c0867c820da2";
|
||||
sha256 = "0n5vqbp8wd87q60zfwdf22jirggzngypc02ha34gsj1rd6pvwahi";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config which ];
|
||||
buildInputs = [
|
||||
libexif
|
||||
libjpeg
|
||||
libpng
|
||||
giflib
|
||||
freetype
|
||||
fontconfig
|
||||
libtiff
|
||||
libwebp
|
||||
imagemagick
|
||||
curl
|
||||
sane-backends
|
||||
libdrm
|
||||
libXpm
|
||||
libepoxy
|
||||
poppler
|
||||
lirc
|
||||
mesa
|
||||
];
|
||||
|
||||
makeFlags = [ "prefix=$(out)" "verbose=yes" "STRIP=" "JPEG_VER=62" ];
|
||||
|
||||
postPatch = ''
|
||||
sed -e 's@ cpp\>@ gcc -E -@' -i GNUmakefile
|
||||
sed -e 's@$(HAVE_LINUX_FB_H)@yes@' -i GNUmakefile
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Image viewing and manipulation programs including fbi, fbgs, ida, exiftran and thumbnail.cgi";
|
||||
homepage = "https://www.kraxel.org/blog/linux/fbida/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
44
pkgs/applications/graphics/feh/default.nix
Normal file
44
pkgs/applications/graphics/feh/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper
|
||||
, xorg, imlib2, libjpeg, libpng
|
||||
, curl, libexif, jpegexiforient, perl
|
||||
, enableAutoreload ? !stdenv.hostPlatform.isDarwin }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "feh";
|
||||
version = "3.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1a9bsq5j9sl2drzkab0hdhnamalpaszw9mz2prz6scrr5dak8g3z";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" "doc" ];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper xorg.libXt ];
|
||||
|
||||
buildInputs = [ xorg.libX11 xorg.libXinerama imlib2 libjpeg libpng curl libexif ];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}" "exif=1"
|
||||
] ++ lib.optional stdenv.isDarwin "verscmp=0"
|
||||
++ lib.optional enableAutoreload "inotify=1";
|
||||
|
||||
installTargets = [ "install" ];
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/feh" --prefix PATH : "${lib.makeBinPath [ libjpeg jpegexiforient ]}" \
|
||||
--add-flags '--theme=feh'
|
||||
'';
|
||||
|
||||
checkInputs = lib.singleton (perl.withPackages (p: [ p.TestCommand ]));
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A light-weight image viewer";
|
||||
homepage = "https://feh.finalrewind.org/";
|
||||
# released under a variant of the MIT license
|
||||
# https://spdx.org/licenses/MIT-feh.html
|
||||
license = licenses.mit-feh;
|
||||
maintainers = with maintainers; [ viric willibutz globin ma27 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
44
pkgs/applications/graphics/fig2dev/default.nix
Normal file
44
pkgs/applications/graphics/fig2dev/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, ghostscript
|
||||
, libpng
|
||||
, makeWrapper
|
||||
, coreutils
|
||||
, bc
|
||||
, gnugrep
|
||||
, gawk
|
||||
, gnused
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fig2dev";
|
||||
version = "3.2.8b";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
|
||||
sha256 = "1jv8rg71dsy00lpg434r5zqs5qrg8mxqvv2gpcjjvmzsm551d2j1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ libpng ];
|
||||
|
||||
GSEXE="${ghostscript}/bin/gs";
|
||||
|
||||
configureFlags = [ "--enable-transfig" ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/fig2ps2tex \
|
||||
--set PATH ${lib.makeBinPath [ coreutils bc gnugrep gawk ]}
|
||||
wrapProgram $out/bin/pic2tpic \
|
||||
--set PATH ${lib.makeBinPath [ gnused ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to convert Xfig files to other formats";
|
||||
homepage = "http://mcj.sourceforge.net/";
|
||||
license = licenses.xfig;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ lesuisse ];
|
||||
};
|
||||
}
|
||||
73
pkgs/applications/graphics/fiji/default.nix
Normal file
73
pkgs/applications/graphics/fiji/default.nix
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, makeWrapper
|
||||
, autoPatchelfHook
|
||||
, jdk11
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, runtimeShell
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fiji";
|
||||
version = "20201104-1356";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.imagej.net/${pname}/archive/${version}/${pname}-nojre.tar.gz";
|
||||
sha256 = "1jv4wjjkpid5spr2nk5xlvq3hg687qx1n5zh8zlw48y1y09c4q7a";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper copyDesktopItems ];
|
||||
buildInputs = [ stdenv.cc.cc.lib ];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "fiji";
|
||||
exec = "fiji %F";
|
||||
tryExec = "fiji";
|
||||
icon = "fiji";
|
||||
mimeTypes = [ "image/*" ];
|
||||
comment = "Scientific Image Analysis";
|
||||
desktopName = "Fiji Is Just ImageJ";
|
||||
genericName = "Fiji Is Just ImageJ";
|
||||
categories = [ "Education" "Science" "ImageProcessing" ];
|
||||
startupNotify = true;
|
||||
startupWMClass = "fiji-Main";
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,fiji,share/pixmaps}
|
||||
|
||||
cp -R * $out/fiji
|
||||
rm -f $out/fiji/jars/imagej-updater-*.jar
|
||||
|
||||
# Disgusting hack to stop a local desktop entry being created
|
||||
cat <<EOF > $out/bin/.fiji-launcher-hack
|
||||
#!${runtimeShell}
|
||||
exec \$($out/fiji/ImageJ-linux64 --dry-run "\$@")
|
||||
EOF
|
||||
chmod +x $out/bin/.fiji-launcher-hack
|
||||
|
||||
makeWrapper $out/bin/.fiji-launcher-hack $out/bin/fiji \
|
||||
--prefix PATH : ${lib.makeBinPath [ jdk11 ]} \
|
||||
--set JAVA_HOME ${jdk11.home}
|
||||
|
||||
ln $out/fiji/images/icon.png $out/share/pixmaps/fiji.png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://imagej.net/software/fiji/";
|
||||
description = "batteries-included distribution of ImageJ2, bundling a lot of plugins which facilitate scientific image analysis";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = with lib.licenses; [ gpl2Plus gpl3Plus bsd2 publicDomain ];
|
||||
maintainers = with maintainers; [ zane ];
|
||||
};
|
||||
}
|
||||
97
pkgs/applications/graphics/fluxus/default.nix
Normal file
97
pkgs/applications/graphics/fluxus/default.nix
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitLab
|
||||
, alsa-lib
|
||||
, bzip2
|
||||
, fftw
|
||||
, freeglut
|
||||
, freetype
|
||||
, glew
|
||||
, libjack2
|
||||
, libGL
|
||||
, libGLU
|
||||
, libjpeg
|
||||
, liblo
|
||||
, libpng
|
||||
, libsndfile
|
||||
, libtiff
|
||||
, ode
|
||||
, openal
|
||||
, openssl
|
||||
, racket_7_9
|
||||
, sconsPackages
|
||||
, zlib
|
||||
}:
|
||||
let
|
||||
libs = [
|
||||
alsa-lib
|
||||
bzip2
|
||||
fftw
|
||||
freeglut
|
||||
freetype
|
||||
glew
|
||||
libjack2
|
||||
libGL
|
||||
libGLU
|
||||
libjpeg
|
||||
liblo
|
||||
libpng
|
||||
libsndfile
|
||||
libtiff
|
||||
ode
|
||||
openal
|
||||
openssl
|
||||
zlib
|
||||
];
|
||||
racket = racket_7_9;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fluxus";
|
||||
version = "0.19";
|
||||
src = fetchFromGitLab {
|
||||
owner = "nebogeo";
|
||||
repo = "fluxus";
|
||||
rev = "ba9aee218dd4a9cfab914ad78bdb6d59e9a37400";
|
||||
sha256 = "0mwghpgq4n1khwlmgscirhmcdhi6x00c08q4idi2zcqz961bbs28";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
fftw
|
||||
freeglut.dev
|
||||
freetype
|
||||
glew
|
||||
libjack2
|
||||
libjpeg.dev
|
||||
liblo
|
||||
libsndfile.dev
|
||||
libtiff.dev
|
||||
ode
|
||||
openal
|
||||
openssl.dev
|
||||
racket_7_9
|
||||
];
|
||||
nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];
|
||||
|
||||
patches = [ ./fix-build.patch ];
|
||||
sconsFlags = [
|
||||
"RacketPrefix=${racket}"
|
||||
"RacketInclude=${racket}/include/racket"
|
||||
"RacketLib=${racket}/lib/racket"
|
||||
"LIBPATH=${lib.makeLibraryPath libs}"
|
||||
"DESTDIR=build"
|
||||
];
|
||||
configurePhase = ''
|
||||
sconsFlags+=" Prefix=$out"
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r build$out/* $out/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Livecoding environment for 3D graphics, sound, and games";
|
||||
license = licenses.gpl2;
|
||||
homepage = "http://www.pawfal.org/fluxus/";
|
||||
maintainers = [ maintainers.brainrape ];
|
||||
};
|
||||
}
|
||||
16
pkgs/applications/graphics/fluxus/fix-build.patch
Normal file
16
pkgs/applications/graphics/fluxus/fix-build.patch
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
diff --git a/SConstruct b/SConstruct
|
||||
index 32cb644..0b3a208 100644
|
||||
--- a/SConstruct
|
||||
+++ b/SConstruct
|
||||
@@ -225,6 +225,11 @@ if env['PLATFORM'] == 'posix':
|
||||
["asound", "alsa/asoundlib.h"],
|
||||
["openal", "AL/al.h"]]
|
||||
|
||||
+env.Append(ENV={'PATH': ' ' + os.environ['PATH'], })
|
||||
+env.Append(LIBPATH=ARGUMENTS.get('LIBPATH', '').split(':'))
|
||||
+env.Append(CCFLAGS=' ' + os.environ.get('NIX_CFLAGS_COMPILE',''))
|
||||
+env.Append(CCFLAGS=' -DNULL=0')
|
||||
+
|
||||
################################################################################
|
||||
# Make sure we have these libraries availible
|
||||
|
||||
73
pkgs/applications/graphics/fondo/default.nix
Normal file
73
pkgs/applications/graphics/fondo/default.nix
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, nix-update-script
|
||||
, pantheon
|
||||
, vala
|
||||
, pkg-config
|
||||
, meson
|
||||
, ninja
|
||||
, python3
|
||||
, glib
|
||||
, gsettings-desktop-schemas
|
||||
, gtk3
|
||||
, libgee
|
||||
, libhandy
|
||||
, libsoup
|
||||
, json-glib
|
||||
, glib-networking
|
||||
, desktop-file-utils
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fondo";
|
||||
version = "1.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "calo001";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-JiDbkVs+EZRWRohSiuh8xFFgEhbnMYZfnZtz5Z4Wdb0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
glib-networking
|
||||
gsettings-desktop-schemas
|
||||
gtk3
|
||||
json-glib
|
||||
libgee
|
||||
libhandy
|
||||
libsoup
|
||||
pantheon.granite
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson/post_install.py
|
||||
patchShebangs meson/post_install.py
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
attrPath = pname;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/calo001/fondo";
|
||||
description = "Find the most beautiful wallpapers for your desktop";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ] ++ teams.pantheon.members;
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "com.github.calo001.fondo";
|
||||
};
|
||||
}
|
||||
32
pkgs/applications/graphics/fontmatrix/default.nix
Normal file
32
pkgs/applications/graphics/fontmatrix/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, mkDerivation, fetchpatch, fetchFromGitHub, cmake, qttools, qtwebkit }:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "fontmatrix";
|
||||
version = "0.6.0-qt5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fcoiffie";
|
||||
repo = "fontmatrix";
|
||||
rev = "1ff8382d8c85c18d9962918f461341ff4fe21993";
|
||||
sha256 = "0yx1gbsjj9ddq1kiqplif1w5x5saw250zbmhmd4phqmaqzr60w0h";
|
||||
};
|
||||
|
||||
# Add missing QAction include
|
||||
patches = [ (fetchpatch {
|
||||
url = "https://github.com/fcoiffie/fontmatrix/commit/dc6de8c414ae21516b72daead79c8db88309b102.patch";
|
||||
sha256 = "092860fdyf5gq67jqfxnlgwzjgpizi6j0njjv3m62aiznrhig7c8";
|
||||
})];
|
||||
|
||||
buildInputs = [ qttools qtwebkit ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fontmatrix is a free/libre font explorer for Linux, Windows and Mac";
|
||||
homepage = "https://github.com/fontmatrix/fontmatrix";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
74
pkgs/applications/graphics/foxotron/default.nix
Normal file
74
pkgs/applications/graphics/foxotron/default.nix
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, nix-update-script
|
||||
, cmake
|
||||
, pkg-config
|
||||
, makeWrapper
|
||||
, zlib
|
||||
, libX11
|
||||
, libXrandr
|
||||
, libXinerama
|
||||
, libXcursor
|
||||
, libXi
|
||||
, libXext
|
||||
, libGLU
|
||||
, alsa-lib
|
||||
, fontconfig
|
||||
, AVFoundation
|
||||
, Carbon
|
||||
, Cocoa
|
||||
, CoreAudio
|
||||
, Kernel
|
||||
, OpenGL
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "foxotron";
|
||||
version = "2022-03-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Gargaj";
|
||||
repo = "Foxotron";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-w66wi+aMwQa9akfNA/1cS6UmDXPWC4OPK9BIa9Kt47A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config makeWrapper ];
|
||||
|
||||
buildInputs = [ zlib ]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ libX11 libXrandr libXinerama libXcursor libXi libXext alsa-lib fontconfig libGLU ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ AVFoundation Carbon Cocoa CoreAudio Kernel OpenGL ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,lib/foxotron}
|
||||
cp -R ${lib.optionalString stdenv.hostPlatform.isDarwin "Foxotron.app/Contents/MacOS/"}Foxotron \
|
||||
../{config.json,Shaders,Skyboxes} $out/lib/foxotron/
|
||||
wrapProgram $out/lib/foxotron/Foxotron \
|
||||
--chdir "$out/lib/foxotron"
|
||||
ln -s $out/{lib/foxotron,bin}/Foxotron
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
attrPath = pname;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "General purpose model viewer";
|
||||
longDescription = ''
|
||||
ASSIMP based general purpose model viewer ("turntable") created for the
|
||||
Revision 2021 3D Graphics Competition.
|
||||
'';
|
||||
homepage = "https://github.com/Gargaj/Foxotron";
|
||||
license = licenses.unlicense;
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
167
pkgs/applications/graphics/freecad/default.nix
Normal file
167
pkgs/applications/graphics/freecad/default.nix
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, ninja
|
||||
, GitPython
|
||||
, boost
|
||||
, coin3d
|
||||
, eigen
|
||||
, gfortran
|
||||
, gts
|
||||
, hdf5
|
||||
, libGLU
|
||||
, libXmu
|
||||
, libf2c
|
||||
, libredwg
|
||||
, libspnav
|
||||
, matplotlib
|
||||
, medfile
|
||||
, mpi
|
||||
, ode
|
||||
, opencascade-occt
|
||||
, pivy
|
||||
, pkg-config
|
||||
, ply
|
||||
, pycollada
|
||||
, pyside2
|
||||
, pyside2-tools
|
||||
, python
|
||||
, pyyaml
|
||||
, qtbase
|
||||
, qttools
|
||||
, qtwebengine
|
||||
, qtx11extras
|
||||
, qtxmlpatterns
|
||||
, scipy
|
||||
, shiboken2
|
||||
, soqt
|
||||
, spaceNavSupport ? stdenv.isLinux
|
||||
, swig
|
||||
, vtk
|
||||
, wrapQtAppsHook
|
||||
, xercesc
|
||||
, zlib
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "freecad";
|
||||
version = "0.19.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeCAD";
|
||||
repo = "FreeCAD";
|
||||
rev = version;
|
||||
hash = "sha256-XZ+fRl3CPCIFu3nHeMTLibwwFBlG/cWpKJlI58hTAuU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
pkg-config
|
||||
pyside2-tools
|
||||
gfortran
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
GitPython # for addon manager
|
||||
boost
|
||||
coin3d
|
||||
eigen
|
||||
gts
|
||||
hdf5
|
||||
libGLU
|
||||
libXmu
|
||||
libf2c
|
||||
matplotlib
|
||||
medfile
|
||||
mpi
|
||||
ode
|
||||
opencascade-occt
|
||||
pivy
|
||||
ply # for openSCAD file support
|
||||
pycollada
|
||||
pyside2
|
||||
pyside2-tools
|
||||
python
|
||||
pyyaml # (at least for) PyrateWorkbench
|
||||
qtbase
|
||||
qttools
|
||||
qtwebengine
|
||||
qtxmlpatterns
|
||||
scipy
|
||||
shiboken2
|
||||
soqt
|
||||
swig
|
||||
vtk
|
||||
xercesc
|
||||
zlib
|
||||
] ++ lib.optionals spaceNavSupport [
|
||||
libspnav
|
||||
qtx11extras
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-Wno-dev" # turns off warnings which otherwise makes it hard to see what is going on
|
||||
"-DBUILD_FLAT_MESH:BOOL=ON"
|
||||
"-DBUILD_QT5=ON"
|
||||
"-DSHIBOKEN_INCLUDE_DIR=${shiboken2}/include"
|
||||
"-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
|
||||
("-DPYSIDE_INCLUDE_DIR=${pyside2}/include"
|
||||
+ ";${pyside2}/include/PySide2/QtCore"
|
||||
+ ";${pyside2}/include/PySide2/QtWidgets"
|
||||
+ ";${pyside2}/include/PySide2/QtGui"
|
||||
)
|
||||
"-DPYSIDE_LIBRARY=PySide2::pyside2"
|
||||
];
|
||||
|
||||
# This should work on both x86_64, and i686 linux
|
||||
preBuild = ''
|
||||
export NIX_LDFLAGS="-L${gfortran.cc}/lib64 -L${gfortran.cc}/lib $NIX_LDFLAGS";
|
||||
'';
|
||||
|
||||
# Their main() removes PYTHONPATH=, and we rely on it.
|
||||
preConfigure = ''
|
||||
sed '/putenv("PYTHONPATH/d' -i src/Main/MainGui.cpp
|
||||
|
||||
qtWrapperArgs+=(--prefix PYTHONPATH : "$PYTHONPATH")
|
||||
'';
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1"
|
||||
"--prefix PATH : ${libredwg}/bin"
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
mv $out/share/doc $out
|
||||
ln -s $out/bin/FreeCAD $out/bin/freecad
|
||||
ln -s $out/bin/FreeCADCmd $out/bin/freecadcmd
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.freecadweb.org/";
|
||||
description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
|
||||
longDescription = ''
|
||||
FreeCAD is an open-source parametric 3D modeler made primarily to design
|
||||
real-life objects of any size. Parametric modeling allows you to easily
|
||||
modify your design by going back into your model history and changing its
|
||||
parameters.
|
||||
|
||||
FreeCAD allows you to sketch geometry constrained 2D shapes and use them
|
||||
as a base to build other objects. It contains many components to adjust
|
||||
dimensions or extract design details from 3D models to create high quality
|
||||
production ready drawings.
|
||||
|
||||
FreeCAD is designed to fit a wide range of uses including product design,
|
||||
mechanical engineering and architecture. Whether you are a hobbyist, a
|
||||
programmer, an experienced CAD user, a student or a teacher, you will feel
|
||||
right at home with FreeCAD.
|
||||
'';
|
||||
license = licenses.lgpl2Plus;
|
||||
maintainers = with maintainers; [ viric gebner AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
48
pkgs/applications/graphics/freepv/default.nix
Normal file
48
pkgs/applications/graphics/freepv/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, libjpeg
|
||||
, libGLU
|
||||
, libGL
|
||||
, freeglut
|
||||
, zlib
|
||||
, cmake
|
||||
, libX11
|
||||
, libxml2
|
||||
, libpng
|
||||
, libXxf86vm
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "freepv";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/freepv/freepv-${version}.tar.gz";
|
||||
sha256 = "1w19abqjn64w47m35alg7bcdl1p97nf11zn64cp4p0dydihmhv56";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libjpeg libGLU libGL freeglut zlib libX11 libxml2 libpng libXxf86vm ];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/GECKO/d' CMakeLists.txt
|
||||
sed -i -e '/mozilla/d' src/CMakeLists.txt
|
||||
sed -i -e '1i \
|
||||
#include <cstdio>' src/libfreepv/OpenGLRenderer.cpp
|
||||
sed -i -e '1i \
|
||||
#include <cstring>' src/libfreepv/Image.cpp
|
||||
substituteInPlace src/libfreepv/Action.h \
|
||||
--replace NULL nullptr
|
||||
substituteInPlace src/libfreepv/pngReader.cpp \
|
||||
--replace png_set_gray_1_2_4_to_8 png_set_expand_gray_1_2_4_to_8
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-fpermissive -Wno-narrowing";
|
||||
|
||||
meta = {
|
||||
description = "Open source panorama viewer using GL";
|
||||
homepage = "http://freepv.sourceforge.net/";
|
||||
license = [ lib.licenses.lgpl21 ];
|
||||
};
|
||||
}
|
||||
36
pkgs/applications/graphics/fstl/default.nix
Normal file
36
pkgs/applications/graphics/fstl/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, stdenv, fetchFromGitHub, mkDerivation, qtbase, mesa_glu }:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "fstl";
|
||||
version = "0.9.4";
|
||||
|
||||
buildInputs = [qtbase mesa_glu];
|
||||
|
||||
prePatch = ''
|
||||
sed -i "s|/usr/bin|$out/bin|g" qt/fstl.pro
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
qmake qt/fstl.pro
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/Applications
|
||||
mv fstl.app $out/Applications
|
||||
'';
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mkeeter";
|
||||
repo = "fstl";
|
||||
rev = "v" + version;
|
||||
sha256 = "028hzdv11hgvcpc36q5scf4nw1256qswh37xhfn5a0iv7wycmnif";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "The fastest STL file viewer";
|
||||
homepage = "https://github.com/mkeeter/fstl";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ tweber ];
|
||||
};
|
||||
}
|
||||
34
pkgs/applications/graphics/gcolor2/default.nix
Normal file
34
pkgs/applications/graphics/gcolor2/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{lib, stdenv, fetchurl, gtk2, perlPackages, pkg-config } :
|
||||
|
||||
let version = "0.4"; in
|
||||
stdenv.mkDerivation {
|
||||
pname = "gcolor2";
|
||||
inherit version;
|
||||
arch = if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" else "386";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/gcolor2/gcolor2/${version}/gcolor2-${version}.tar.bz2";
|
||||
sha256 = "1siv54vwx9dbfcflklvf7pkp5lk6h3nn63flg6jzifz9wp0c84q6";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
sed -i 's/\[:space:\]/[&]/g' configure
|
||||
'';
|
||||
|
||||
# from https://github.com/PhantomX/slackbuilds/tree/master/gcolor2/patches
|
||||
patches = if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
[ ./gcolor2-amd64.patch ] else
|
||||
[ ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gtk2 ]
|
||||
++ (with perlPackages; [ perl XMLParser ]);
|
||||
|
||||
meta = {
|
||||
description = "Simple GTK 2 color selector";
|
||||
homepage = "http://gcolor2.sourceforge.net/";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ notthemessiah ];
|
||||
platforms = with lib.platforms; unix;
|
||||
};
|
||||
}
|
||||
46
pkgs/applications/graphics/gcolor2/gcolor2-amd64.patch
Normal file
46
pkgs/applications/graphics/gcolor2/gcolor2-amd64.patch
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN gcolor2-0.4.orig/src/callbacks.c gcolor2-0.4/src/callbacks.c
|
||||
--- gcolor2-0.4.orig/src/callbacks.c 2005-07-12 14:06:12.000000000 -0400
|
||||
+++ gcolor2-0.4/src/callbacks.c 2007-02-17 19:19:38.000000000 -0500
|
||||
@@ -4,6 +4,9 @@
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <stdio.h>
|
||||
+#include <string.h>
|
||||
+#include <glib.h>
|
||||
+#include <glib/gprintf.h>
|
||||
|
||||
#include "callbacks.h"
|
||||
#include "interface.h"
|
||||
@@ -172,6 +175,9 @@ void on_copy_color_to_clipboard_activate
|
||||
gtk_clipboard_set_text (cb, hex, strlen (hex));
|
||||
}
|
||||
|
||||
+void add_rgb_file (gchar *filename, gchar *type);
|
||||
+gchar* get_system_file (void);
|
||||
+
|
||||
void on_show_system_colors_activate (GtkMenuItem *menuitem, gpointer user_data)
|
||||
{
|
||||
if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem)))
|
||||
@@ -266,6 +272,8 @@ void on_save_button_clicked (GtkButton *
|
||||
gtk_widget_destroy (savedialog);
|
||||
}
|
||||
|
||||
+void add_list_color (gchar *spec, gchar *name, gchar *type, gboolean is_new_color);
|
||||
+
|
||||
void add_color_to_treeview ()
|
||||
{
|
||||
GtkTreeView *treeview;
|
||||
diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN gcolor2-0.4.orig/src/main.c gcolor2-0.4/src/main.c
|
||||
--- gcolor2-0.4.orig/src/main.c 2005-07-11 10:55:49.000000000 -0400
|
||||
+++ gcolor2-0.4/src/main.c 2007-02-17 19:18:23.000000000 -0500
|
||||
@@ -4,6 +4,10 @@
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <glib.h>
|
||||
+#include <glib/gprintf.h>
|
||||
|
||||
#include "interface.h"
|
||||
#include "support.h"
|
||||
55
pkgs/applications/graphics/gcolor3/default.nix
Normal file
55
pkgs/applications/graphics/gcolor3/default.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitLab
|
||||
, meson
|
||||
, ninja
|
||||
, gettext
|
||||
, pkg-config
|
||||
, libxml2
|
||||
, gtk3
|
||||
, libportal-gtk3
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gcolor3";
|
||||
version = "2.4.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "gcolor3";
|
||||
rev = "v${version}";
|
||||
sha256 = "rHIAjk2m3Lkz11obgNZaapa1Zr2GDH7XzgzuAJmq+MU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
gettext
|
||||
pkg-config
|
||||
libxml2 # xml-stripblanks preprocessing of GResource
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
libportal-gtk3
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_install.sh # patchShebangs requires executable file
|
||||
patchShebangs meson_install.sh
|
||||
|
||||
# https://gitlab.gnome.org/World/gcolor3/merge_requests/151
|
||||
substituteInPlace meson.build --replace "dependency(${"\n"} 'libportal'" "dependency(${"\n"} 'libportal-gtk3'"
|
||||
substituteInPlace src/gcolor3-color-selection.c --replace "libportal/portal-gtk3.h" "libportal-gtk3/portal-gtk3.h"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple color chooser written in GTK3";
|
||||
homepage = "https://gitlab.gnome.org/World/gcolor3";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
78
pkgs/applications/graphics/geeqie/default.nix
Normal file
78
pkgs/applications/graphics/geeqie/default.nix
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, autoconf, automake, gettext, intltool
|
||||
, gtk3, lcms2, exiv2, libchamplain, clutter-gtk, ffmpegthumbnailer, fbida
|
||||
, wrapGAppsHook, fetchpatch, doxygen
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geeqie";
|
||||
version = "1.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BestImageViewer";
|
||||
repo = "geeqie";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-O+yz/uNxueR+naEJG8EZ+k/JutRjJ5wwbB9DYb8YNLw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Do not build the changelog as this requires markdown.
|
||||
(fetchpatch {
|
||||
name = "geeqie-1.4-goodbye-changelog.patch";
|
||||
url = "https://src.fedoraproject.org/rpms/geeqie/raw/132fb04a1a5e74ddb333d2474f7edb9a39dc8d27/f/geeqie-1.4-goodbye-changelog.patch";
|
||||
sha256 = "00a35dds44kjjdqsbbfk0x9y82jspvsbpm2makcm1ivzlhjjgszn";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
preConfigure = "./autogen.sh";
|
||||
|
||||
nativeBuildInputs =
|
||||
[ pkg-config autoconf automake gettext intltool
|
||||
wrapGAppsHook doxygen
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3 lcms2 exiv2 libchamplain clutter-gtk ffmpegthumbnailer fbida
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# Allow geeqie to find exiv2 and exiftran, necessary to
|
||||
# losslessly rotate JPEG images.
|
||||
sed -i $out/lib/geeqie/geeqie-rotate \
|
||||
-e '1 a export PATH=${lib.makeBinPath [ exiv2 fbida ]}:$PATH'
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
attrPath = pname;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lightweight GTK based image viewer";
|
||||
|
||||
longDescription =
|
||||
''
|
||||
Geeqie is a lightweight GTK based image viewer for Unix like
|
||||
operating systems. It features: EXIF, IPTC and XMP metadata
|
||||
browsing and editing interoperability; easy integration with other
|
||||
software; geeqie works on files and directories, there is no need to
|
||||
import images; fast preview for many raw image formats; tools for
|
||||
image comparison, sorting and managing photo collection. Geeqie was
|
||||
initially based on GQview.
|
||||
'';
|
||||
|
||||
license = licenses.gpl2Plus;
|
||||
|
||||
homepage = "https://www.geeqie.org/";
|
||||
|
||||
maintainers = with maintainers; [ jfrankenau pSub markus1189 ];
|
||||
platforms = platforms.gnu ++ platforms.linux;
|
||||
};
|
||||
}
|
||||
187
pkgs/applications/graphics/gimp/default.nix
Normal file
187
pkgs/applications/graphics/gimp/default.nix
Normal file
|
|
@ -0,0 +1,187 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, substituteAll
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, intltool
|
||||
, babl
|
||||
, gegl
|
||||
, gtk2
|
||||
, glib
|
||||
, gdk-pixbuf
|
||||
, isocodes
|
||||
, pango
|
||||
, cairo
|
||||
, freetype
|
||||
, fontconfig
|
||||
, lcms
|
||||
, libpng
|
||||
, libjpeg
|
||||
, poppler
|
||||
, poppler_data
|
||||
, libtiff
|
||||
, libmng
|
||||
, librsvg
|
||||
, libwmf
|
||||
, zlib
|
||||
, libzip
|
||||
, ghostscript
|
||||
, aalib
|
||||
, shared-mime-info
|
||||
, python2
|
||||
, libexif
|
||||
, gettext
|
||||
, makeWrapper
|
||||
, gtk-doc
|
||||
, xorg
|
||||
, glib-networking
|
||||
, libmypaint
|
||||
, gexiv2
|
||||
, harfbuzz
|
||||
, mypaint-brushes1
|
||||
, libwebp
|
||||
, libheif
|
||||
, libgudev
|
||||
, openexr
|
||||
, AppKit
|
||||
, Cocoa
|
||||
, gtk-mac-integration-gtk2
|
||||
}:
|
||||
|
||||
let
|
||||
python = python2.withPackages (pp: [ pp.pygtk ]);
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "gimp";
|
||||
version = "2.10.30";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "iIFdqnbtfUJ37rNTNYuvoRbNL80shh2VuVE1wdUrZ9w=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# to remove compiler from the runtime closure, reference was retained via
|
||||
# gimp --version --verbose output
|
||||
(substituteAll {
|
||||
src = ./remove-cc-reference.patch;
|
||||
cc_version = stdenv.cc.cc.name;
|
||||
})
|
||||
|
||||
# Use absolute paths instead of relying on PATH
|
||||
# to make sure plug-ins are loaded by the correct interpreter.
|
||||
./hardcode-plugin-interpreters.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook # hardcode-plugin-interpreters.patch changes Makefile.am
|
||||
pkg-config
|
||||
intltool
|
||||
gettext
|
||||
makeWrapper
|
||||
gtk-doc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
babl
|
||||
gegl
|
||||
gtk2
|
||||
glib
|
||||
gdk-pixbuf
|
||||
pango
|
||||
cairo
|
||||
gexiv2
|
||||
harfbuzz
|
||||
isocodes
|
||||
freetype
|
||||
fontconfig
|
||||
lcms
|
||||
libpng
|
||||
libjpeg
|
||||
poppler
|
||||
poppler_data
|
||||
libtiff
|
||||
openexr
|
||||
libmng
|
||||
librsvg
|
||||
libwmf
|
||||
zlib
|
||||
libzip
|
||||
ghostscript
|
||||
aalib
|
||||
shared-mime-info
|
||||
libwebp
|
||||
libheif
|
||||
python
|
||||
# Duplicated here because python.withPackages does not expose the dev output with pkg-config files
|
||||
python2.pkgs.pygtk
|
||||
libexif
|
||||
xorg.libXpm
|
||||
glib-networking
|
||||
libmypaint
|
||||
mypaint-brushes1
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
AppKit
|
||||
Cocoa
|
||||
gtk-mac-integration-gtk2
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
libgudev
|
||||
];
|
||||
|
||||
# needed by gimp-2.0.pc
|
||||
propagatedBuildInputs = [
|
||||
gegl
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--without-webkit" # old version is required
|
||||
"--disable-check-update"
|
||||
"--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
|
||||
"--with-icc-directory=/run/current-system/sw/share/color/icc"
|
||||
# fix libdir in pc files (${exec_prefix} needs to be passed verbatim)
|
||||
"--libdir=\${exec_prefix}/lib"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-DGDK_OSX_BIG_SUR=16";
|
||||
|
||||
# Check if librsvg was built with --disable-pixbuf-loader.
|
||||
PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}";
|
||||
|
||||
preConfigure = ''
|
||||
# The check runs before glib-networking is registered
|
||||
export GIO_EXTRA_MODULES="${glib-networking}/lib/gio/modules:$GIO_EXTRA_MODULES"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/gimp-${lib.versions.majorMinor version} \
|
||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
|
||||
'';
|
||||
|
||||
passthru = rec {
|
||||
# The declarations for `gimp-with-plugins` wrapper,
|
||||
# used for determining plug-in installation paths
|
||||
majorVersion = "${lib.versions.major version}.0";
|
||||
targetLibDir = "lib/gimp/${majorVersion}";
|
||||
targetDataDir = "share/gimp/${majorVersion}";
|
||||
targetPluginDir = "${targetLibDir}/plug-ins";
|
||||
targetScriptDir = "${targetDataDir}/scripts";
|
||||
|
||||
# probably its a good idea to use the same gtk in plugins ?
|
||||
gtk = gtk2;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "The GNU Image Manipulation Program";
|
||||
homepage = "https://www.gimp.org/";
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "gimp";
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- a/plug-ins/pygimp/Makefile.am
|
||||
+++ b/plug-ins/pygimp/Makefile.am
|
||||
@@ -157,7 +157,7 @@ install-interp-file:
|
||||
echo 'python=$(PYBIN_PATH)' > '$(DESTDIR)$(pyinterpfile)'
|
||||
echo 'python2=$(PYBIN_PATH)' >> '$(DESTDIR)$(pyinterpfile)'
|
||||
echo '/usr/bin/python=$(PYBIN_PATH)' >> '$(DESTDIR)$(pyinterpfile)'
|
||||
- echo ":Python:E::py::`basename $(PYTHON)`:" >> '$(DESTDIR)$(pyinterpfile)'
|
||||
+ echo ":Python:E::py::$(PYTHON):" >> '$(DESTDIR)$(pyinterpfile)'
|
||||
|
||||
install-data-local: install-env-file install-interp-file
|
||||
|
||||
306
pkgs/applications/graphics/gimp/plugins/default.nix
Normal file
306
pkgs/applications/graphics/gimp/plugins/default.nix
Normal file
|
|
@ -0,0 +1,306 @@
|
|||
# Use `gimp-with-plugins` package for GIMP with all plug-ins.
|
||||
# If you just want a subset of plug-ins, you can specify them explicitly:
|
||||
# `gimp-with-plugins.override { plugins = with gimpPlugins; [ gap ]; }`.
|
||||
|
||||
{ config, lib, pkgs }:
|
||||
|
||||
let
|
||||
inherit (pkgs) stdenv fetchurl fetchpatch pkg-config intltool glib fetchFromGitHub;
|
||||
in
|
||||
|
||||
lib.makeScope pkgs.newScope (self:
|
||||
|
||||
let
|
||||
# Use GIMP from the scope.
|
||||
inherit (self) gimp;
|
||||
|
||||
pluginDerivation = attrs: let
|
||||
name = attrs.name or "${attrs.pname}-${attrs.version}";
|
||||
in stdenv.mkDerivation ({
|
||||
prePhases = "extraLib";
|
||||
extraLib = ''
|
||||
installScripts(){
|
||||
mkdir -p $out/${gimp.targetScriptDir}/${name};
|
||||
for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done
|
||||
}
|
||||
installPlugin() {
|
||||
# The base name of the first argument is the plug-in name and the main executable.
|
||||
# GIMP only allows a single plug-in per directory:
|
||||
# https://gitlab.gnome.org/GNOME/gimp/-/commit/efae55a73e98389e38fa0e59ebebcda0abe3ee96
|
||||
pluginDir=$out/${gimp.targetPluginDir}/$(basename "$1")
|
||||
install -Dt "$pluginDir" "$@"
|
||||
}
|
||||
'';
|
||||
|
||||
# Override installation paths.
|
||||
PKG_CONFIG_GIMP_2_0_GIMPLIBDIR = "${placeholder "out"}/${gimp.targetLibDir}";
|
||||
PKG_CONFIG_GIMP_2_0_GIMPDATADIR = "${placeholder "out"}/${gimp.targetDataDir}";
|
||||
}
|
||||
// attrs
|
||||
// {
|
||||
name = "${gimp.pname}-plugin-${name}";
|
||||
buildInputs = [
|
||||
gimp
|
||||
gimp.gtk
|
||||
glib
|
||||
] ++ (attrs.buildInputs or []);
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
intltool
|
||||
] ++ (attrs.nativeBuildInputs or []);
|
||||
}
|
||||
);
|
||||
|
||||
scriptDerivation = {src, ...}@attrs : pluginDerivation ({
|
||||
prePhases = "extraLib";
|
||||
dontUnpack = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
installScripts ${src}
|
||||
runHook postInstall
|
||||
'';
|
||||
} // attrs);
|
||||
in
|
||||
{
|
||||
# Allow overriding GIMP package in the scope.
|
||||
inherit (pkgs) gimp;
|
||||
|
||||
bimp = pluginDerivation rec {
|
||||
/* menu:
|
||||
File/Batch Image Manipulation...
|
||||
*/
|
||||
pname = "bimp";
|
||||
version = "2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alessandrofrancesconi";
|
||||
repo = "gimp-plugin-bimp";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-IJ3+/9UwxJTRo0hUdzlOndOHwso1wGv7Q4UuhbsFkco=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Allow overriding installation path
|
||||
# https://github.com/alessandrofrancesconi/gimp-plugin-bimp/pull/311
|
||||
(fetchpatch {
|
||||
url = "https://github.com/alessandrofrancesconi/gimp-plugin-bimp/commit/098edb5f70a151a3f377478fd6e0d08ed56b8ef7.patch";
|
||||
sha256 = "2Afx9fmdn6ztbsll2f2j7mfffMWYWyr4BuBy9ySV6vM=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = with pkgs; [ which ];
|
||||
|
||||
installFlags = [
|
||||
"SYSTEM_INSTALL_DIR=${placeholder "out"}/${gimp.targetPluginDir}/bimp"
|
||||
];
|
||||
|
||||
installTargets = [ "install-admin" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Batch Image Manipulation Plugin for GIMP";
|
||||
homepage = "https://github.com/alessandrofrancesconi/gimp-plugin-bimp";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
};
|
||||
|
||||
gap = pluginDerivation {
|
||||
/* menu:
|
||||
Video
|
||||
*/
|
||||
name = "gap-2.6.0";
|
||||
src = fetchurl {
|
||||
url = "https://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2";
|
||||
sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
|
||||
};
|
||||
NIX_LDFLAGS = "-lm";
|
||||
hardeningDisable = [ "format" ];
|
||||
meta = with lib; {
|
||||
description = "The GIMP Animation Package";
|
||||
homepage = "https://www.gimp.org";
|
||||
# The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license
|
||||
# falls inside "free".
|
||||
license = with licenses; [ gpl3 free ];
|
||||
};
|
||||
};
|
||||
|
||||
farbfeld = pluginDerivation rec {
|
||||
pname = "farbfeld";
|
||||
version = "unstable-2019-08-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ids1024";
|
||||
repo = "gimp-farbfeld";
|
||||
rev = "5feacebf61448bd3c550dda03cd08130fddc5af4";
|
||||
sha256 = "1vmw7k773vrndmfffj0m503digdjmkpcqy2r3p3i5x0qw9vkkkc6";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
installPlugin farbfeld
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Gimp plug-in for the farbfeld image format";
|
||||
homepage = "https://github.com/ids1024/gimp-farbfeld";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ sikmir ];
|
||||
};
|
||||
};
|
||||
|
||||
fourier = pluginDerivation rec {
|
||||
/* menu:
|
||||
Filters/Generic/FFT Forward
|
||||
Filters/Generic/FFT Inverse
|
||||
*/
|
||||
pname = "fourier";
|
||||
version = "0.4.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.lprp.fr/files/old-web/soft/gimp/${pname}-${version}.tar.gz";
|
||||
sha256 = "0mf7f8vaqs2madx832x3kcxw3hv3w3wampvzvaps1mkf2kvrjbsn";
|
||||
};
|
||||
|
||||
buildInputs = with pkgs; [ fftw ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile --replace '$(GCC)' '$(CC)'
|
||||
|
||||
# The tarball contains a prebuilt binary.
|
||||
make clean
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
installPlugin fourier
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GIMP plug-in to do the fourier transform";
|
||||
homepage = "https://people.via.ecp.fr/~remi/soft/gimp/gimp_plugin_en.php3#fourier";
|
||||
license = with licenses; [ gpl3Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
resynthesizer = pluginDerivation rec {
|
||||
/* menu:
|
||||
Edit/Fill with pattern seamless...
|
||||
Filters/Enhance/Heal selection...
|
||||
Filters/Enhance/Heal transparency...
|
||||
Filters/Enhance/Sharpen by synthesis...
|
||||
Filters/Enhance/Uncrop...
|
||||
Filters/Map/Style...
|
||||
Filters/Render/Texture...
|
||||
*/
|
||||
pname = "resynthesizer";
|
||||
version = "2.0.3";
|
||||
buildInputs = with pkgs; [ fftw ];
|
||||
nativeBuildInputs = with pkgs; [ autoreconfHook ];
|
||||
makeFlags = [ "GIMP_LIBDIR=${placeholder "out"}/${gimp.targetLibDir}" ];
|
||||
src = fetchFromGitHub {
|
||||
owner = "bootchk";
|
||||
repo = "resynthesizer";
|
||||
rev = "v${version}";
|
||||
sha256 = "1jwc8bhhm21xhrgw56nzbma6fwg59gc8anlmyns7jdiw83y0zx3j";
|
||||
};
|
||||
};
|
||||
|
||||
texturize = pluginDerivation {
|
||||
pname = "texturize";
|
||||
version = "2.2+unstable=2021-12-03";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lmanul";
|
||||
repo = "gimp-texturize";
|
||||
rev = "9ceff0d411cda018108e5477320669b8d00d811e";
|
||||
sha256 = "haYS0K3oAPlHtHB8phOCX5/gtWq9uiVQhG5ZhAFX0t0=";
|
||||
};
|
||||
nativeBuildInputs = with pkgs; [
|
||||
meson
|
||||
ninja
|
||||
gettext
|
||||
];
|
||||
};
|
||||
|
||||
waveletSharpen = pluginDerivation {
|
||||
/* menu:
|
||||
Filters/Enhance/Wavelet sharpen
|
||||
*/
|
||||
name = "wavelet-sharpen-0.1.2";
|
||||
NIX_LDFLAGS = "-lm";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
|
||||
sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
|
||||
};
|
||||
installPhase = "installPlugin src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix?
|
||||
};
|
||||
|
||||
lqrPlugin = pluginDerivation rec {
|
||||
/* menu:
|
||||
Layer/Liquid Rescale
|
||||
*/
|
||||
pname = "lqr-plugin";
|
||||
version = "0.7.2";
|
||||
buildInputs = with pkgs; [ liblqr1 ];
|
||||
src = fetchFromGitHub {
|
||||
owner = "carlobaldassi";
|
||||
repo = "gimp-lqr-plugin";
|
||||
rev = "v${version}";
|
||||
sha256 = "81ajdZ2zQi/THxnBlSeT36tVTEzrS1YqLGpHMhFTKAo=";
|
||||
};
|
||||
};
|
||||
|
||||
gmic = pkgs.gmic-qt.override {
|
||||
variant = "gimp";
|
||||
};
|
||||
|
||||
gimplensfun = pluginDerivation rec {
|
||||
version = "unstable-2018-10-21";
|
||||
name = "gimplensfun-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "seebk";
|
||||
repo = "GIMP-Lensfun";
|
||||
rev = "1c5a5c1534b5faf098b7441f8840d22835592f17";
|
||||
sha256 = "1jj3n7spkjc63aipwdqsvq9gi07w13bb1v8iqzvxwzld2kxa3c8w";
|
||||
};
|
||||
|
||||
buildInputs = with pkgs; [ lensfun gexiv2 ];
|
||||
|
||||
installPhase = "
|
||||
installPlugin gimp-lensfun
|
||||
";
|
||||
|
||||
meta = {
|
||||
description = "GIMP plugin to correct lens distortion using the lensfun library and database";
|
||||
|
||||
homepage = "http://lensfun.sebastiankraft.net/";
|
||||
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.gnu ++ lib.platforms.linux;
|
||||
};
|
||||
};
|
||||
|
||||
/* =============== simple script files ==================== */
|
||||
|
||||
# also have a look at enblend-enfuse in all-packages.nix
|
||||
exposureBlend = scriptDerivation {
|
||||
name = "exposure-blend";
|
||||
src = fetchurl {
|
||||
url = "http://tir.astro.utoledo.edu/jdsmith/code/eb/exposure-blend.scm";
|
||||
sha256 = "1b6c9wzpklqras4wwsyw3y3jp6fjmhnnskqiwm5sabs8djknfxla";
|
||||
};
|
||||
meta.broken = true;
|
||||
};
|
||||
|
||||
lightning = scriptDerivation {
|
||||
name = "Lightning";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/Lightning.scm";
|
||||
sha256 = "c14a8f4f709695ede3f77348728a25b3f3ded420da60f3f8de3944b7eae98a49";
|
||||
};
|
||||
};
|
||||
})
|
||||
|
|
@ -0,0 +1,200 @@
|
|||
ls diff --git focusblur-3.2.6/src/aaa.h focusblur-3.2.6/src/aaa.h
|
||||
index 4a6d90b..c74cab2 100644
|
||||
--- focusblur-3.2.6/src/aaa.h
|
||||
+++ focusblur-3.2.6/src/aaa.h
|
||||
@@ -19,8 +19,7 @@
|
||||
#ifndef __AAA_H__
|
||||
#define __AAA_H__
|
||||
|
||||
-#include <glib/gmacros.h>
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
|
||||
|
||||
G_BEGIN_DECLS
|
||||
diff --git focusblur-3.2.6/src/brush.h focusblur-3.2.6/src/brush.h
|
||||
index 685b253..8778fec 100644
|
||||
--- focusblur-3.2.6/src/brush.h
|
||||
+++ focusblur-3.2.6/src/brush.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef __FOCUSBLUR_BRUSH_H__
|
||||
#define __FOCUSBLUR_BRUSH_H__
|
||||
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
#include "focusblurtypes.h"
|
||||
|
||||
G_BEGIN_DECLS
|
||||
diff --git focusblur-3.2.6/src/depthmap.h focusblur-3.2.6/src/depthmap.h
|
||||
index 78f5e99..baee540 100644
|
||||
--- focusblur-3.2.6/src/depthmap.h
|
||||
+++ focusblur-3.2.6/src/depthmap.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef __FOCUSBLUR_DEPTHMAP_H__
|
||||
#define __FOCUSBLUR_DEPTHMAP_H__
|
||||
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "focusblurtypes.h"
|
||||
#include "focusblurenums.h"
|
||||
diff --git focusblur-3.2.6/src/diffusion.h focusblur-3.2.6/src/diffusion.h
|
||||
index 07ffe4b..3c1e4b9 100644
|
||||
--- focusblur-3.2.6/src/diffusion.h
|
||||
+++ focusblur-3.2.6/src/diffusion.h
|
||||
@@ -23,7 +23,7 @@
|
||||
#define __FOCUSBLUR_DIFFUSION_H__
|
||||
|
||||
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "focusblur.h"
|
||||
#include "focusblurtypes.h"
|
||||
diff --git focusblur-3.2.6/src/fftblur.h focusblur-3.2.6/src/fftblur.h
|
||||
index 124bcba..cd809fa 100644
|
||||
--- focusblur-3.2.6/src/fftblur.h
|
||||
+++ focusblur-3.2.6/src/fftblur.h
|
||||
@@ -23,8 +23,7 @@
|
||||
#define __FOCUSBLUR_FFTBLUR_H__
|
||||
|
||||
|
||||
-#include <glib/gmacros.h>
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
#include <libgimpwidgets/gimpwidgetstypes.h>
|
||||
|
||||
#include "focusblurparam.h"
|
||||
diff --git focusblur-3.2.6/src/fftblurbuffer.h focusblur-3.2.6/src/fftblurbuffer.h
|
||||
index b34d682..42e6380 100644
|
||||
--- focusblur-3.2.6/src/fftblurbuffer.h
|
||||
+++ focusblur-3.2.6/src/fftblurbuffer.h
|
||||
@@ -28,8 +28,7 @@
|
||||
#endif
|
||||
#include <fftw3.h>
|
||||
|
||||
-#include <glib/gmacros.h>
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
#include <gtk/gtkstyle.h>
|
||||
#include <libgimp/gimptypes.h>
|
||||
#include <libgimpwidgets/gimpwidgetstypes.h>
|
||||
diff --git focusblur-3.2.6/src/fftblurproc.h focusblur-3.2.6/src/fftblurproc.h
|
||||
index 495572d..10a34f4 100644
|
||||
--- focusblur-3.2.6/src/fftblurproc.h
|
||||
+++ focusblur-3.2.6/src/fftblurproc.h
|
||||
@@ -23,8 +23,7 @@
|
||||
#define __FOCUSBLUR_FFTBLUR_PROC_H__
|
||||
|
||||
|
||||
-#include <glib/gmacros.h>
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "focusblurtypes.h"
|
||||
|
||||
diff --git focusblur-3.2.6/src/focusblur.h focusblur-3.2.6/src/focusblur.h
|
||||
index 54ca40a..d7e13a6 100644
|
||||
--- focusblur-3.2.6/src/focusblur.h
|
||||
+++ focusblur-3.2.6/src/focusblur.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef __FOCUSBLUR_H__
|
||||
#define __FOCUSBLUR_H__
|
||||
|
||||
-#include <glib/gmacros.h>
|
||||
+#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
diff --git focusblur-3.2.6/src/focusblurparam.h focusblur-3.2.6/src/focusblurparam.h
|
||||
index 64c887b..32865b4 100644
|
||||
--- focusblur-3.2.6/src/focusblurparam.h
|
||||
+++ focusblur-3.2.6/src/focusblurparam.h
|
||||
@@ -22,8 +22,7 @@
|
||||
#ifndef __FOCUSBLUR_PARAM_H__
|
||||
#define __FOCUSBLUR_PARAM_H__
|
||||
|
||||
-#include <glib/gmacros.h>
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
#include <gtk/gtkstyle.h>
|
||||
#include <libgimp/gimptypes.h>
|
||||
|
||||
diff --git focusblur-3.2.6/src/focusblurstock.h focusblur-3.2.6/src/focusblurstock.h
|
||||
index 15f3603..cfc0567 100644
|
||||
--- focusblur-3.2.6/src/focusblurstock.h
|
||||
+++ focusblur-3.2.6/src/focusblurstock.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef __FOCUSBLUR_STOCK_H__
|
||||
#define __FOCUSBLUR_STOCK_H__
|
||||
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
diff --git focusblur-3.2.6/src/focusblurtypes.h focusblur-3.2.6/src/focusblurtypes.h
|
||||
index 0954c60..1531c84 100644
|
||||
--- focusblur-3.2.6/src/focusblurtypes.h
|
||||
+++ focusblur-3.2.6/src/focusblurtypes.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef __FOCUSBLUR_TYPES_H__
|
||||
#define __FOCUSBLUR_TYPES_H__
|
||||
|
||||
-#include <glib/gmacros.h>
|
||||
+#include <glib.h>
|
||||
|
||||
|
||||
G_BEGIN_DECLS
|
||||
diff --git focusblur-3.2.6/src/interface.h focusblur-3.2.6/src/interface.h
|
||||
index 6defd27..e819c60 100644
|
||||
--- focusblur-3.2.6/src/interface.h
|
||||
+++ focusblur-3.2.6/src/interface.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef __FOCUSBLUR_INTERFACE_H__
|
||||
#define __FOCUSBLUR_INTERFACE_H__
|
||||
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "focusblurtypes.h"
|
||||
|
||||
diff --git focusblur-3.2.6/src/render.h focusblur-3.2.6/src/render.h
|
||||
index febbd24..a501f1e 100644
|
||||
--- focusblur-3.2.6/src/render.h
|
||||
+++ focusblur-3.2.6/src/render.h
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
//#include <libgimp/gimp.h>
|
||||
#include <libgimp/gimpui.h>
|
||||
|
||||
diff --git focusblur-3.2.6/src/shine.h focusblur-3.2.6/src/shine.h
|
||||
index c5a3621..86b4c09 100644
|
||||
--- focusblur-3.2.6/src/shine.h
|
||||
+++ focusblur-3.2.6/src/shine.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef __FOCUSBLUR_SHINE_H__
|
||||
#define __FOCUSBLUR_SHINE_H__
|
||||
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
#include <libgimp/gimptypes.h>
|
||||
|
||||
#include "focusblurtypes.h"
|
||||
diff --git focusblur-3.2.6/src/source.h focusblur-3.2.6/src/source.h
|
||||
index 50d34ca..8eec35c 100644
|
||||
--- focusblur-3.2.6/src/source.h
|
||||
+++ focusblur-3.2.6/src/source.h
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
-#include <glib/gtypes.h>
|
||||
+#include <glib.h>
|
||||
#include <libgimp/gimptypes.h>
|
||||
|
||||
#include "focusblurtypes.h"
|
||||
13
pkgs/applications/graphics/gimp/remove-cc-reference.patch
Normal file
13
pkgs/applications/graphics/gimp/remove-cc-reference.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/app/gimp-version.c b/app/gimp-version.c
|
||||
index 3d1894a036..48bb670b64 100644
|
||||
--- a/app/gimp-version.c
|
||||
+++ b/app/gimp-version.c
|
||||
@@ -230,7 +230,7 @@ gimp_version (gboolean be_verbose,
|
||||
GIMP_BUILD_ID,
|
||||
gimp_version_get_revision (),
|
||||
GIMP_BUILD_PLATFORM_FAMILY,
|
||||
- CC_VERSION,
|
||||
+ "@cc_version@",
|
||||
lib_versions);
|
||||
g_free (lib_versions);
|
||||
|
||||
31
pkgs/applications/graphics/gimp/wrapper.nix
Normal file
31
pkgs/applications/graphics/gimp/wrapper.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, gnome, plugins ? null}:
|
||||
|
||||
let
|
||||
allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
|
||||
selectedPlugins = lib.filter (pkg: pkg != gimpPlugins.gimp) (if plugins == null then allPlugins else plugins);
|
||||
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
|
||||
versionBranch = lib.versions.majorMinor gimp.version;
|
||||
|
||||
in symlinkJoin {
|
||||
name = "gimp-with-plugins-${gimp.version}";
|
||||
|
||||
paths = [ gimp ] ++ selectedPlugins;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
for each in gimp-${versionBranch} gimp-console-${versionBranch}; do
|
||||
wrapProgram $out/bin/$each \
|
||||
--set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
|
||||
--set GIMP2_DATADIR "$out/share/gimp/2.0" \
|
||||
--prefix GTK_PATH : "${gnome.gnome-themes-extra}/lib/gtk-2.0" \
|
||||
${toString extraArgs}
|
||||
done
|
||||
set +x
|
||||
for each in gimp gimp-console; do
|
||||
ln -sf "$each-${versionBranch}" $out/bin/$each
|
||||
done
|
||||
'';
|
||||
|
||||
inherit (gimp) meta;
|
||||
}
|
||||
51
pkgs/applications/graphics/glabels/default.nix
Normal file
51
pkgs/applications/graphics/glabels/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, barcode, gnome, autoreconfHook
|
||||
, gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book, gsettings-desktop-schemas
|
||||
, intltool, itstool, makeWrapper, pkg-config, yelp-tools
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "glabels";
|
||||
version = "3.4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Pull patch pending upstream inclusion for -fno-common toolchain support:
|
||||
# https://github.com/jimevins/glabels/pull/76
|
||||
(fetchpatch {
|
||||
name = "fno-common.patch";
|
||||
url = "https://github.com/jimevins/glabels/commit/f64e3f34e3631330fff2fb48ab271ff9c6160229.patch";
|
||||
sha256 = "13q6g4bxzvzwjnvzkvijds2b6yvc4xqbdwgqnwmj65ln6ngxz8sa";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper intltool ];
|
||||
buildInputs = [
|
||||
barcode gtk3 gtk-doc yelp-tools
|
||||
gnome.gnome-common gsettings-desktop-schemas
|
||||
itstool libxml2 librsvg libe-book libtool
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
wrapProgram "$out/bin/glabels-3" \
|
||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
versionPolicy = "none";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create labels and business cards";
|
||||
homepage = "https://github.com/jimevins/glabels";
|
||||
license = with licenses; [ gpl3Plus lgpl3Plus ];
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.nico202 ];
|
||||
};
|
||||
}
|
||||
200
pkgs/applications/graphics/glimpse/default.nix
Normal file
200
pkgs/applications/graphics/glimpse/default.nix
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, substituteAll
|
||||
, pkg-config
|
||||
, intltool
|
||||
, babl
|
||||
, gegl
|
||||
, gtk2
|
||||
, glib
|
||||
, gdk-pixbuf
|
||||
, isocodes
|
||||
, pango
|
||||
, cairo
|
||||
, freetype
|
||||
, fontconfig
|
||||
, lcms
|
||||
, libpng
|
||||
, libjpeg
|
||||
, poppler
|
||||
, poppler_data
|
||||
, libtiff
|
||||
, libmng
|
||||
, librsvg
|
||||
, libwmf
|
||||
, zlib
|
||||
, libzip
|
||||
, ghostscript
|
||||
, aalib
|
||||
, shared-mime-info
|
||||
, python2
|
||||
, libexif
|
||||
, gettext
|
||||
, xorg
|
||||
, glib-networking
|
||||
, libmypaint
|
||||
, gexiv2
|
||||
, harfbuzz
|
||||
, mypaint-brushes1
|
||||
, libwebp
|
||||
, libheif
|
||||
, libgudev
|
||||
, openexr
|
||||
, AppKit
|
||||
, Cocoa
|
||||
, gtk-mac-integration-gtk2
|
||||
, libxslt
|
||||
, automake
|
||||
, autoconf
|
||||
, libtool
|
||||
, makeWrapper
|
||||
, autoreconfHook
|
||||
, gtk-doc
|
||||
, graphviz
|
||||
}:
|
||||
let
|
||||
python = python2.withPackages (pp: [ pp.pygtk ]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "glimpse";
|
||||
version = "0.2.0";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "glimpse-editor";
|
||||
repo = "Glimpse";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-qbZQmAo7fuJWWbn0QTyxAwAenZOdsGueUq5/3IV8Njc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# to remove compiler from the runtime closure, reference was retained via
|
||||
# gimp --version --verbose output
|
||||
(substituteAll {
|
||||
src = ./remove-cc-reference.patch;
|
||||
cc_version = stdenv.cc.cc.name;
|
||||
})
|
||||
../gimp/hardcode-plugin-interpreters.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
ln -s ${gtk-doc}/share/gtk-doc/data/gtk-doc.make .
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
intltool
|
||||
gettext
|
||||
automake
|
||||
autoconf
|
||||
makeWrapper
|
||||
gtk-doc
|
||||
libxslt
|
||||
libtool
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
babl
|
||||
gegl
|
||||
gtk2
|
||||
glib
|
||||
gdk-pixbuf
|
||||
pango
|
||||
cairo
|
||||
gexiv2
|
||||
harfbuzz
|
||||
isocodes
|
||||
freetype
|
||||
fontconfig
|
||||
lcms
|
||||
libpng
|
||||
libjpeg
|
||||
poppler
|
||||
poppler_data
|
||||
libtiff
|
||||
openexr
|
||||
libmng
|
||||
librsvg
|
||||
libwmf
|
||||
zlib
|
||||
libzip
|
||||
ghostscript
|
||||
aalib
|
||||
shared-mime-info
|
||||
libwebp
|
||||
libheif
|
||||
python
|
||||
libexif
|
||||
xorg.libXpm
|
||||
glib-networking
|
||||
libmypaint
|
||||
mypaint-brushes1
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
AppKit
|
||||
Cocoa
|
||||
gtk-mac-integration-gtk2
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
libgudev
|
||||
];
|
||||
|
||||
# needed by gimp-2.0.pc
|
||||
propagatedBuildInputs = [
|
||||
gegl
|
||||
];
|
||||
|
||||
# Check if librsvg was built with --disable-pixbuf-loader.
|
||||
PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}";
|
||||
|
||||
preAutoreconf = ''
|
||||
# The check runs before glib-networking is registered
|
||||
export GIO_EXTRA_MODULES="${glib-networking}/lib/gio/modules:$GIO_EXTRA_MODULES"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/glimpse-${lib.versions.majorMinor version} \
|
||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||
--prefix PATH ":" ${ lib.makeBinPath [ graphviz ] }
|
||||
'';
|
||||
|
||||
passthru = rec {
|
||||
# The declarations for `glimpse-with-plugins` wrapper,
|
||||
# used for determining plug-in installation paths
|
||||
majorVersion = "2.0";
|
||||
targetPluginDir = "lib/glimpse/${majorVersion}/plug-ins";
|
||||
targetScriptDir = "share/glimpse/${majorVersion}/scripts";
|
||||
targetDataDir = "share/gimp/${majorVersion}";
|
||||
targetLibDir = "lib/gimp/${majorVersion}";
|
||||
|
||||
# probably its a good idea to use the same gtk in plugins ?
|
||||
gtk = gtk2;
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--without-webkit" # old version is required
|
||||
"--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
|
||||
"--with-icc-directory=/run/current-system/sw/share/color/icc"
|
||||
# fix libdir in pc files (${exec_prefix} needs to be passed verbatim)
|
||||
"--libdir=\${exec_prefix}/lib"
|
||||
];
|
||||
|
||||
# on Darwin,
|
||||
# test-eevl.c:64:36: error: initializer element is not a compile-time constant
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "An open source image editor based on the GNU Image Manipulation Program";
|
||||
longDescription = ''
|
||||
Glimpse is an open source image editor based on the GNU Image Manipulation Program (GIMP). The goal is to experiment with new ideas and expand the use of free software.
|
||||
'';
|
||||
homepage = "https://glimpse-editor.org";
|
||||
maintainers = with maintainers; [ ashkitten erictapen ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "glimpse";
|
||||
};
|
||||
}
|
||||
11
pkgs/applications/graphics/glimpse/plugins/default.nix
Normal file
11
pkgs/applications/graphics/glimpse/plugins/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Use `glimpse-with-plugins` package for Glimpse with all plug-ins.
|
||||
# If you just want a subset of plug-ins, you can specify them explicitly:
|
||||
# `glimpse-with-plugins.override { plugins = with glimpsePlugins; [ gap ]; }`.
|
||||
|
||||
{ gimpPlugins, glimpse }:
|
||||
|
||||
# This attrs can be extended in the future if there happen to be glimpse-only
|
||||
# plugins or some that need further modification in order to work with Glimpse.
|
||||
gimpPlugins.overrideScope' (self: super: {
|
||||
gimp = glimpse;
|
||||
})
|
||||
13
pkgs/applications/graphics/glimpse/remove-cc-reference.patch
Normal file
13
pkgs/applications/graphics/glimpse/remove-cc-reference.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/app/gimp-version.c b/app/gimp-version.c
|
||||
index b584398231..1b40a1570f 100644
|
||||
--- a/app/gimp-version.c
|
||||
+++ b/app/gimp-version.c
|
||||
@@ -230,7 +230,7 @@ gimp_version (gboolean be_verbose,
|
||||
GIMP_BUILD_ID,
|
||||
gimp_version_get_revision (),
|
||||
GIMP_BUILD_PLATFORM_FAMILY,
|
||||
- CC_VERSION,
|
||||
+ "@cc_version@",
|
||||
lib_versions);
|
||||
g_free (lib_versions);
|
||||
|
||||
32
pkgs/applications/graphics/glimpse/wrapper.nix
Normal file
32
pkgs/applications/graphics/glimpse/wrapper.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, symlinkJoin, glimpse, makeWrapper, glimpsePlugins, gnome, plugins ? null }:
|
||||
|
||||
let
|
||||
allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues glimpsePlugins);
|
||||
selectedPlugins = if plugins == null then allPlugins else plugins;
|
||||
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
|
||||
versionBranch = lib.versions.majorMinor glimpse.version;
|
||||
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "glimpse-with-plugins-${glimpse.version}";
|
||||
|
||||
paths = [ glimpse ] ++ selectedPlugins;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
for each in glimpse-${versionBranch} glimpse-console-${versionBranch}; do
|
||||
wrapProgram $out/bin/$each \
|
||||
--set GIMP2_PLUGINDIR "$out/lib/glimpse/2.0" \
|
||||
--set GIMP2_DATADIR "$out/share/glimpse/2.0" \
|
||||
--prefix GTK_PATH : "${gnome.gnome-themes-extra}/lib/gtk-2.0" \
|
||||
${toString extraArgs}
|
||||
done
|
||||
|
||||
for each in glimpse glimpse-console; do
|
||||
ln -sf "$each-${versionBranch}" $out/bin/$each
|
||||
done
|
||||
'';
|
||||
|
||||
inherit (glimpse) meta;
|
||||
}
|
||||
70
pkgs/applications/graphics/gnome-obfuscate/default.nix
Normal file
70
pkgs/applications/graphics/gnome-obfuscate/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
|
||||
, gettext
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, rustPlatform
|
||||
, wrapGAppsHook4
|
||||
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
, glib
|
||||
, gtk4
|
||||
, libadwaita
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-obfuscate";
|
||||
version = "0.0.7";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "Obfuscate";
|
||||
rev = version;
|
||||
sha256 = "sha256-jEMOg2yHi6K57XhA/7hkwwvedmikoB8pGV3ka+jixq8=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
sha256 = "sha256-P04BeidLXouPLzT/vsa4VC5AOENF0W4gqXqzdmRFhmE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
glib
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
rustPlatform.cargoSetupHook
|
||||
rustPlatform.rust.cargo
|
||||
rustPlatform.rust.rustc
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build-aux/meson_post_install.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Censor private information";
|
||||
homepage = "https://gitlab.gnome.org/World/obfuscate";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
126
pkgs/applications/graphics/gnome-photos/default.nix
Normal file
126
pkgs/applications/graphics/gnome-photos/default.nix
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, at-spi2-core
|
||||
, babl
|
||||
, dbus
|
||||
, desktop-file-utils
|
||||
, dleyna-renderer
|
||||
, gdk-pixbuf
|
||||
, gegl
|
||||
, geocode-glib
|
||||
, gettext
|
||||
, gexiv2
|
||||
, gfbgraph
|
||||
, glib
|
||||
, gnome-online-accounts
|
||||
, gnome
|
||||
, gobject-introspection
|
||||
, grilo
|
||||
, grilo-plugins
|
||||
, gsettings-desktop-schemas
|
||||
, gtk3
|
||||
, itstool
|
||||
, libdazzle
|
||||
, libhandy
|
||||
, libgdata
|
||||
, libxml2
|
||||
, meson
|
||||
, ninja
|
||||
, nixosTests
|
||||
, pkg-config
|
||||
, python3
|
||||
, tracker
|
||||
, tracker-miners
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-photos";
|
||||
version = "42.0";
|
||||
|
||||
outputs = [ "out" "installedTests" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "JcsoFCUZnex7BF8T8y+PlgNMsMuLlNlvnf+vT1vmhVE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./installed-tests-path.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
gettext
|
||||
gobject-introspection # for setup hook
|
||||
glib # for setup hook
|
||||
itstool
|
||||
libxml2
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
(python3.withPackages (pkgs: with pkgs; [
|
||||
dogtail
|
||||
pygobject3
|
||||
pyatspi
|
||||
]))
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
babl
|
||||
dbus
|
||||
dleyna-renderer
|
||||
gdk-pixbuf
|
||||
gegl
|
||||
geocode-glib
|
||||
gexiv2
|
||||
gfbgraph
|
||||
glib
|
||||
gnome-online-accounts
|
||||
grilo
|
||||
grilo-plugins
|
||||
gsettings-desktop-schemas
|
||||
gtk3
|
||||
libdazzle
|
||||
libhandy
|
||||
libgdata
|
||||
tracker
|
||||
tracker-miners # For 'org.freedesktop.Tracker.Miner.Files' GSettings schema
|
||||
|
||||
at-spi2-core # for tests
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dinstalled_tests=true"
|
||||
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_post_install.py
|
||||
patchShebangs meson_post_install.py
|
||||
patchShebangs tests/basic.py
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapGApp "${placeholder "installedTests"}/libexec/installed-tests/gnome-photos/basic.py"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
};
|
||||
|
||||
tests = {
|
||||
installed-tests = nixosTests.installed-tests.gnome-photos;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Access, organize and share your photos";
|
||||
homepage = "https://wiki.gnome.org/Apps/Photos";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = teams.gnome.members;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
diff --git a/meson.build b/meson.build
|
||||
index dee932dc..f8851913 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -16,8 +16,8 @@
|
||||
photos_docdir = join_paths(photos_datadir, 'doc', meson.project_name())
|
||||
photos_libdir = join_paths(photos_prefix, get_option('libdir'), meson.project_name())
|
||||
|
||||
-photos_installed_test_metadir = join_paths(photos_datadir, 'installed-tests', meson.project_name())
|
||||
-photos_installed_test_execdir = join_paths(photos_libexecdir, 'installed-tests', meson.project_name())
|
||||
+photos_installed_test_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name())
|
||||
+photos_installed_test_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name())
|
||||
|
||||
photos_namespace = 'org.gnome.Photos'
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index f34b5cc0..8e09970b 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -1,2 +1,3 @@
|
||||
option('dogtail', type: 'boolean', value: true, description: 'test using dogtail')
|
||||
option('installed_tests', type: 'boolean', value: false, description: 'Enable installation of some test cases')
|
||||
+option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
|
||||
24
pkgs/applications/graphics/gnuclad/default.nix
Normal file
24
pkgs/applications/graphics/gnuclad/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ stdenv, lib, fetchurl, pkg-config
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnuclad";
|
||||
version = "0.2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/gnuclad/trunk/${lib.versions.majorMinor version}/+download/${pname}-${version}.tar.gz";
|
||||
sha256 = "0ka2kscpjff7gflsargv3r9fdaxhkf3nym9mfaln3pnq6q7fwdki";
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optional stdenv.cc.isGNU "-Wno-error=catch-value";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://launchpad.net/gnuclad";
|
||||
description = "gnuclad tries to help the environment by creating trees. Its primary use will be generating cladogram trees for the GNU/Linux distro timeline project";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
33
pkgs/applications/graphics/gocr/default.nix
Normal file
33
pkgs/applications/graphics/gocr/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv, fetchurl, tk }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gocr";
|
||||
version = "0.52";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www-e.uni-magdeburg.de/jschulen/ocr/gocr-${version}.tar.gz";
|
||||
sha256 = "11l6gds1lrm8lwrrsxnm5fjlwz8q1xbh896cprrl4psz21in946z";
|
||||
};
|
||||
|
||||
buildFlags = [ "all" "libs" ];
|
||||
installFlags = [ "libdir=/lib/" ]; # Specify libdir so Makefile will also install library.
|
||||
|
||||
preInstall = "mkdir -p $out/lib";
|
||||
|
||||
postInstall = ''
|
||||
for i in pgm2asc.h gocr.h; do
|
||||
install -D -m644 src/$i $out/include/gocr/$i
|
||||
done
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
sed -i -e 's|exec wish|exec ${tk}/bin/wish|' $out/bin/gocr.tcl
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://jocr.sourceforge.net/";
|
||||
description = "GPL Optical Character Recognition";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
36
pkgs/applications/graphics/goxel/default.nix
Normal file
36
pkgs/applications/graphics/goxel/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, stdenv, fetchFromGitHub, scons, pkg-config, wrapGAppsHook
|
||||
, glfw3, gtk3, libpng12 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "goxel";
|
||||
version = "0.10.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "guillaumechereau";
|
||||
repo = "goxel";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-M9H9SV8xmU7Jw5rEdV0gfloIEBvWmWSuH+BCrowpf2M=";
|
||||
};
|
||||
|
||||
patches = [ ./disable-imgui_ini.patch ];
|
||||
|
||||
nativeBuildInputs = [ scons pkg-config wrapGAppsHook ];
|
||||
buildInputs = [ glfw3 gtk3 libpng12 ];
|
||||
NIX_LDFLAGS = "-lpthread";
|
||||
|
||||
buildPhase = ''
|
||||
make release
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -D ./goxel $out/bin/goxel
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open Source 3D voxel editor";
|
||||
homepage = "https://guillaumechereau.github.io/goxel/";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ tilpner ];
|
||||
};
|
||||
}
|
||||
13
pkgs/applications/graphics/goxel/disable-imgui_ini.patch
Normal file
13
pkgs/applications/graphics/goxel/disable-imgui_ini.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/src/gui.cpp b/src/gui.cpp
|
||||
index 9b7236c..a8a11b2 100644
|
||||
--- a/src/gui.cpp
|
||||
+++ b/src/gui.cpp
|
||||
@@ -314,6 +314,8 @@ static void init_ImGui(const inputs_t *inputs)
|
||||
ImGuiIO& io = ImGui::GetIO();
|
||||
io.DeltaTime = 1.0f/60.0f;
|
||||
|
||||
+ io.IniFilename = NULL;
|
||||
+
|
||||
io.KeyMap[ImGuiKey_Tab] = KEY_TAB;
|
||||
io.KeyMap[ImGuiKey_LeftArrow] = KEY_LEFT;
|
||||
io.KeyMap[ImGuiKey_RightArrow] = KEY_RIGHT;
|
||||
30
pkgs/applications/graphics/gpicview/default.nix
Normal file
30
pkgs/applications/graphics/gpicview/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchurl, intltool, pkg-config, gtk2, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gpicview";
|
||||
version = "0.2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/lxde/gpicview-${version}.tar.gz";
|
||||
sha256 = "1svcy1c8bgk0pl12yhyv16h2fl52x5vzzcv57z6qdcv5czgvgglr";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/nonas/debian-clang/master/buildlogs/gpicview/gpicview-0.2.4/debian/patches/clang_FTBFS_Wreturn-type.patch";
|
||||
sha256 = "02dm966bplnv10knpdx7rlpjipk884156ggd9ij05zhza0jl8xcs";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ intltool gtk2 ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple and fast image viewer for X";
|
||||
homepage = "http://lxde.sourceforge.net/gpicview/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ lovek323 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/graphics/gqview/default.nix
Normal file
28
pkgs/applications/graphics/gqview/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, gtk2, libpng }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gqview";
|
||||
version = "2.1.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gqview/gqview-${version}.tar.gz";
|
||||
sha256 = "0ilm5s7ps9kg4f5hzgjhg0xhn6zg0v9i7jnd67zrx9h7wsaa9zhj";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ gtk2 libpng ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
NIX_LDFLAGS = "-lm";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fast image viewer";
|
||||
homepage = "http://gqview.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
35
pkgs/applications/graphics/grafx2/default.nix
Normal file
35
pkgs/applications/graphics/grafx2/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, fetchurl, SDL, SDL_image, SDL_ttf, zlib, libpng, pkg-config, lua5 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
version = "2.4.2035";
|
||||
pname = "grafx2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://grafx2.googlecode.com/files/${pname}-${version}-src.tgz";
|
||||
sha256 = "0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ SDL SDL_image SDL_ttf libpng zlib lua5 ];
|
||||
|
||||
preBuild = "cd src";
|
||||
|
||||
# Workaround build failure on -fno-common toolchains like upstream
|
||||
# gcc-10. Otherwise build fails as:
|
||||
# ld: ../obj/unix/tiles.o:/build/grafx2/src/global.h:306: multiple definition of
|
||||
# `Main_selector'; ../obj/unix/main.o:/build/grafx2/src/global.h:306: first defined here
|
||||
NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
|
||||
preInstall = '' mkdir -p "$out" '';
|
||||
|
||||
installPhase = ''make install prefix="$out"'';
|
||||
|
||||
meta = {
|
||||
description = "Bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance";
|
||||
homepage = "http://pulkomandy.tk/projects/GrafX2";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
maintainers = [];
|
||||
};
|
||||
}
|
||||
37
pkgs/applications/graphics/graphicsmagick/compat.nix
Normal file
37
pkgs/applications/graphics/graphicsmagick/compat.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib, stdenv, graphicsmagick }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "graphicsmagick-imagemagick-compat";
|
||||
inherit (graphicsmagick) version;
|
||||
|
||||
dontUnpack = true;
|
||||
buildPhase = "true";
|
||||
|
||||
utils = [
|
||||
"composite"
|
||||
"conjure"
|
||||
"convert"
|
||||
"identify"
|
||||
"mogrify"
|
||||
"montage"
|
||||
"animate"
|
||||
"display"
|
||||
"import"
|
||||
];
|
||||
|
||||
# TODO: symlink libraries?
|
||||
installPhase = ''
|
||||
mkdir -p "$out"/bin
|
||||
mkdir -p "$out"/share/man/man1
|
||||
for util in ''${utils[@]}; do
|
||||
ln -s ${graphicsmagick}/bin/gm "$out/bin/$util"
|
||||
ln -s ${graphicsmagick}/share/man/man1/gm.1.gz "$out/share/man/man1/$util.1.gz"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "ImageMagick interface for GraphicsMagick";
|
||||
license = lib.licenses.free;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
63
pkgs/applications/graphics/graphicsmagick/default.nix
Normal file
63
pkgs/applications/graphics/graphicsmagick/default.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ lib, stdenv, fetchurl, bzip2, freetype, graphviz, ghostscript
|
||||
, libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11
|
||||
, libwebp, quantumdepth ? 8, fixDarwinDylibNames, nukeReferences
|
||||
, runCommand
|
||||
, graphicsmagick # for passthru.tests
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "graphicsmagick";
|
||||
version = "1.3.38";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
|
||||
sha256 = "sha256-1gzZ21k1HSucsZvrRDFwrKoo8HPRPSWPZ7NidjXjJnU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./disable-popen.patch
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-shared"
|
||||
"--with-frozenpaths"
|
||||
"--with-quantum-depth=${toString quantumdepth}"
|
||||
"--with-gslib=yes"
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ bzip2 freetype ghostscript graphviz libjpeg libpng libtiff libX11 libxml2
|
||||
zlib libtool libwebp
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ xz nukeReferences ]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||
|
||||
# Remove CFLAGS from the binaries to avoid closure bloat.
|
||||
# In the past we have had -dev packages in the closure of the binaries soley due to the string references.
|
||||
postConfigure = ''
|
||||
nuke-refs -e $out ./magick/magick_config.h
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
issue-157920 = runCommand "issue-157920-regression-test" {
|
||||
buildInputs = [ graphicsmagick ];
|
||||
} ''
|
||||
gm convert ${graphviz}/share/graphviz/doc/pdf/neatoguide.pdf jpg:$out
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.graphicsmagick.org";
|
||||
description = "Swiss army knife of image processing";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "gm";
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
http://permalink.gmane.org/gmane.comp.security.oss.general/19669
|
||||
|
||||
--- a/magick/blob.c Sat Nov 07 14:49:16 2015 -0600
|
||||
+++ b/magick/blob.c Sun May 29 14:12:57 2016 -0500
|
||||
@@ -68,6 +68,7 @@
|
||||
*/
|
||||
#define DefaultBlobQuantum 65541
|
||||
|
||||
+#undef HAVE_POPEN
|
||||
|
||||
/*
|
||||
Enum declarations.
|
||||
131
pkgs/applications/graphics/gscan2pdf/default.nix
Normal file
131
pkgs/applications/graphics/gscan2pdf/default.nix
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
{ lib, fetchurl, perlPackages, wrapGAppsHook,
|
||||
# libs
|
||||
librsvg, sane-backends, sane-frontends,
|
||||
# runtime dependencies
|
||||
imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, pdftk,
|
||||
# test dependencies
|
||||
xvfb-run, liberation_ttf, file, tesseract }:
|
||||
|
||||
with lib;
|
||||
|
||||
perlPackages.buildPerlPackage rec {
|
||||
pname = "gscan2pdf";
|
||||
version = "2.12.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gscan2pdf/gscan2pdf-${version}.tar.xz";
|
||||
sha256 = "sha256-9ntpUEM3buT3EhneXz9G8bibvzOnEK6Xt0jJcTvLKT0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
|
||||
buildInputs =
|
||||
[ librsvg sane-backends sane-frontends ] ++
|
||||
(with perlPackages; [
|
||||
Gtk3
|
||||
Gtk3ImageView
|
||||
Gtk3SimpleList
|
||||
Cairo
|
||||
CairoGObject
|
||||
Glib
|
||||
GlibObjectIntrospection
|
||||
GooCanvas2
|
||||
GraphicsTIFF
|
||||
IPCSystemSimple
|
||||
LocaleCodes
|
||||
LocaleGettext
|
||||
PDFBuilder
|
||||
ImagePNGLibpng
|
||||
ImageSane
|
||||
SetIntSpan
|
||||
ImageMagick
|
||||
ConfigGeneral
|
||||
ListMoreUtils
|
||||
HTMLParser
|
||||
ProcProcessTable
|
||||
LogLog4perl
|
||||
TryTiny
|
||||
DataUUID
|
||||
DateCalc
|
||||
IOString
|
||||
FilesysDf
|
||||
SubOverride
|
||||
]);
|
||||
|
||||
postPatch = let
|
||||
fontSubstitute = "${liberation_ttf}/share/fonts/truetype/LiberationSans-Regular.ttf";
|
||||
in ''
|
||||
# Required for the program to properly load its SVG assets
|
||||
substituteInPlace bin/gscan2pdf \
|
||||
--replace "/usr/share" "$out/share"
|
||||
|
||||
# Substitute the non-free Helvetica font in the tests
|
||||
sed -i 's|-pointsize|-font ${fontSubstitute} -pointsize|g' t/*.t
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Remove impurity
|
||||
find $out -type f -name "*.pod" -delete
|
||||
|
||||
# Add runtime dependencies
|
||||
wrapProgram "$out/bin/gscan2pdf" \
|
||||
--prefix PATH : "${sane-backends}/bin" \
|
||||
--prefix PATH : "${imagemagick}/bin" \
|
||||
--prefix PATH : "${libtiff}/bin" \
|
||||
--prefix PATH : "${djvulibre}/bin" \
|
||||
--prefix PATH : "${poppler_utils}/bin" \
|
||||
--prefix PATH : "${ghostscript}/bin" \
|
||||
--prefix PATH : "${unpaper}/bin" \
|
||||
--prefix PATH : "${pdftk}/bin"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
installTargets = [ "install" ];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
checkInputs = [
|
||||
imagemagick
|
||||
libtiff
|
||||
djvulibre
|
||||
poppler_utils
|
||||
ghostscript
|
||||
unpaper
|
||||
pdftk
|
||||
|
||||
xvfb-run
|
||||
file
|
||||
tesseract # tests are expecting tesseract 3.x precisely
|
||||
] ++ (with perlPackages; [
|
||||
TestPod
|
||||
]);
|
||||
|
||||
checkPhase = ''
|
||||
# Temporarily disable a dubiously failing test:
|
||||
# t/169_import_scan.t ........................... 1/1
|
||||
# # Failed test 'variable-height scan imported with expected size'
|
||||
# # at t/169_import_scan.t line 50.
|
||||
# # got: '179'
|
||||
# # expected: '296'
|
||||
# # Looks like you failed 1 test of 1.
|
||||
# t/169_import_scan.t ........................... Dubious, test returned 1 (wstat 256, 0x100)
|
||||
rm t/169_import_scan.t
|
||||
|
||||
# Disable a test which passes but reports an incorrect status
|
||||
# t/0601_Dialog_Scan.t .......................... All 14 subtests passed
|
||||
# t/0601_Dialog_Scan.t (Wstat: 139 Tests: 14 Failed: 0)
|
||||
# Non-zero wait status: 139
|
||||
rm t/0601_Dialog_Scan.t
|
||||
|
||||
xvfb-run -s '-screen 0 800x600x24' \
|
||||
make test
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A GUI to produce PDFs or DjVus from scanned documents";
|
||||
homepage = "http://gscan2pdf.sourceforge.net/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ pacien ];
|
||||
};
|
||||
}
|
||||
113
pkgs/applications/graphics/gthumb/default.nix
Normal file
113
pkgs/applications/graphics/gthumb/default.nix
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, gnome
|
||||
, pkg-config
|
||||
, meson
|
||||
, ninja
|
||||
, exiv2
|
||||
, libheif
|
||||
, libjpeg
|
||||
, libtiff
|
||||
, gst_all_1
|
||||
, libraw
|
||||
, libsoup
|
||||
, libsecret
|
||||
, glib
|
||||
, gtk3
|
||||
, gsettings-desktop-schemas
|
||||
, libchamplain
|
||||
, librsvg
|
||||
, libwebp
|
||||
, json-glib
|
||||
, webkitgtk
|
||||
, lcms2
|
||||
, bison
|
||||
, flex
|
||||
, clutter-gtk
|
||||
, wrapGAppsHook
|
||||
, shared-mime-info
|
||||
, python3
|
||||
, desktop-file-utils
|
||||
, itstool
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gthumb";
|
||||
version = "3.12.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-l/iv5SJTUhZUHrvx47VG0Spr6zio8OuF8m5naTSq1CU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
desktop-file-utils
|
||||
flex
|
||||
itstool
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
clutter-gtk
|
||||
exiv2
|
||||
glib
|
||||
gnome.adwaita-icon-theme
|
||||
gsettings-desktop-schemas
|
||||
gst_all_1.gst-plugins-base
|
||||
(gst_all_1.gst-plugins-good.override { gtkSupport = true; })
|
||||
gst_all_1.gst-libav
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-ugly
|
||||
gtk3
|
||||
json-glib
|
||||
lcms2
|
||||
libchamplain
|
||||
libheif
|
||||
libjpeg
|
||||
libraw
|
||||
librsvg
|
||||
libsecret
|
||||
libsoup
|
||||
libtiff
|
||||
libwebp
|
||||
webkitgtk
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dlibchamplain=true"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x gthumb/make-gthumb-h.py
|
||||
|
||||
patchShebangs data/gschemas/make-enums.py \
|
||||
gthumb/make-gthumb-h.py \
|
||||
po/make-potfiles-in.py \
|
||||
postinstall.py \
|
||||
gthumb/make-authors-tab.py
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
versionPolicy = "odd-unstable";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.gnome.org/Apps/Gthumb";
|
||||
description = "Image browser and viewer for GNOME";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.mimame ];
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/graphics/guetzli/default.nix
Normal file
30
pkgs/applications/graphics/guetzli/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, libpng, fetchFromGitHub, pkg-config }:
|
||||
let
|
||||
version = "1.0.1";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "guetzli";
|
||||
inherit version;
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "guetzli";
|
||||
rev = "v${version}";
|
||||
sha256 = "1wy9wfvyradp0aigfv8yijvj0dgb5kpq2yf2xki15f605jc1r5dm";
|
||||
};
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libpng ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install bin/Release/guetzli $out/bin/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Perceptual JPEG encoder";
|
||||
longDescription = "Guetzli is a JPEG encoder that aims for excellent compression density at high visual quality.";
|
||||
homepage = "https://github.com/google/guetzli";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.x86_64;
|
||||
maintainers = [ lib.maintainers.seppeljordan ];
|
||||
};
|
||||
}
|
||||
34
pkgs/applications/graphics/hdr-plus/default.nix
Normal file
34
pkgs/applications/graphics/hdr-plus/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, cmake, halide
|
||||
, libpng, libjpeg, libtiff, libraw
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hdr-plus";
|
||||
version = "unstable-2021-12-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "timothybrooks";
|
||||
repo = "hdr-plus";
|
||||
rev = "0ab70564493bdbcd5aca899b5885505d0c824435";
|
||||
sha256 = "sha256-QV8bGxkwFpbNzJG4kmrWwFQxUo2XzLPnoI1e32UmM6g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ halide libpng libjpeg libtiff libraw ];
|
||||
|
||||
installPhase = ''
|
||||
for bin in hdrplus stack_frames; do
|
||||
install -Dm755 $bin $out/bin/$bin
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Burst photography pipeline based on Google's HDR+";
|
||||
homepage = "https://www.timothybrooks.com/tech/hdr-plus/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
76
pkgs/applications/graphics/hdrmerge/default.nix
Normal file
76
pkgs/applications/graphics/hdrmerge/default.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{ lib
|
||||
, mkDerivation
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, extra-cmake-modules
|
||||
, qtbase
|
||||
, wrapQtAppsHook
|
||||
, libraw
|
||||
, exiv2
|
||||
, zlib
|
||||
, alglib
|
||||
, pkg-config
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "hdrmerge";
|
||||
version = "unstable-2020-11-12";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jcelaya";
|
||||
repo = "hdrmerge";
|
||||
rev = "f5a2538cffe3e27bd9bea5d6a199fa211d05e6da";
|
||||
sha256 = "1bzf9wawbdvdbv57hnrmh0gpjfi5hamgf2nwh2yzd4sh1ssfa8jz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
wrapQtAppsHook
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [ qtbase libraw exiv2 zlib alglib ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DALGLIB_DIR:PATH=${alglib}"
|
||||
];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# patch FindAlglib.cmake to respect ALGLIB_DIR
|
||||
# see https://github.com/jcelaya/hdrmerge/pull/213
|
||||
name = "patch-hdrmerge-CMake.patch";
|
||||
url = "https://github.com/mkroehnert/hdrmerge/commit/472b2dfe7d54856158aea3d5412a02d0bab1da4c.patch";
|
||||
sha256 = "0jc713ajr4w08pfbi6bva442prj878nxp1fpl9112i3xj34x9sdi";
|
||||
})
|
||||
];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "HDRMerge";
|
||||
genericName = "HDR raw image merge";
|
||||
desktopName = "HDRMerge";
|
||||
comment = meta.description;
|
||||
icon = "hdrmerge";
|
||||
exec = "hdrmerge %F";
|
||||
categories = [ "Graphics" ];
|
||||
mimeTypes = [ "image/x-dcraw" "image/x-adobe-dng" ];
|
||||
terminal = false;
|
||||
})
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm444 ../data/images/icon.png $out/share/icons/hicolor/128x128/apps/hdrmerge.png
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/jcelaya/hdrmerge";
|
||||
description = "Combines two or more raw images into an HDR";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.paperdigits ];
|
||||
};
|
||||
}
|
||||
33
pkgs/applications/graphics/hello-wayland/default.nix
Normal file
33
pkgs/applications/graphics/hello-wayland/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ stdenv, lib, fetchFromGitHub
|
||||
, imagemagick, pkg-config, wayland, wayland-protocols
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "hello-wayland-unstable";
|
||||
version = "2020-07-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emersion";
|
||||
repo = "hello-wayland";
|
||||
rev = "501d0851cfa7f21c780c0eb52f0a6b23f02918c5";
|
||||
sha256 = "0dz6przqp57kw8ycja3gw6jp9x12217nwbwdpgmvw7jf0lzhk4xr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ imagemagick pkg-config ];
|
||||
buildInputs = [ wayland wayland-protocols ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preBuild
|
||||
mkdir -p $out/bin
|
||||
install hello-wayland $out/bin
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Hello world Wayland client";
|
||||
homepage = "https://github.com/emersion/hello-wayland";
|
||||
maintainers = with maintainers; [ qyliss ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
97
pkgs/applications/graphics/hugin/default.nix
Normal file
97
pkgs/applications/graphics/hugin/default.nix
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, cmake
|
||||
, fetchurl
|
||||
, gnumake
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, autopanosiftc
|
||||
, boost
|
||||
, cairo
|
||||
, enblend-enfuse
|
||||
, exiv2
|
||||
, fftw
|
||||
, flann
|
||||
, gettext
|
||||
, glew
|
||||
, ilmbase
|
||||
, lcms2
|
||||
, lensfun
|
||||
, libjpeg
|
||||
, libpng
|
||||
, libtiff
|
||||
, libX11
|
||||
, libXi
|
||||
, libXmu
|
||||
, libGLU
|
||||
, libGL
|
||||
, openexr
|
||||
, panotools
|
||||
, perlPackages
|
||||
, sqlite
|
||||
, vigra
|
||||
, wxGTK
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hugin";
|
||||
version = "2021.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/hugin/hugin-${version}.tar.bz2";
|
||||
sha256 = "sha256-BHrqin+keESzTvJ8GdO2l+hJOdyx/bvrLCBGIbZu6tk=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
cairo
|
||||
exiv2
|
||||
fftw
|
||||
flann
|
||||
gettext
|
||||
glew
|
||||
ilmbase
|
||||
lcms2
|
||||
lensfun
|
||||
libjpeg
|
||||
libpng
|
||||
libtiff
|
||||
libX11
|
||||
libXi
|
||||
libXmu
|
||||
libGLU
|
||||
libGL
|
||||
openexr
|
||||
panotools
|
||||
sqlite
|
||||
vigra
|
||||
wxGTK
|
||||
zlib
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake makeWrapper pkg-config ];
|
||||
|
||||
# disable installation of the python scripting interface
|
||||
cmakeFlags = [ "-DBUILD_HSI:BOOl=OFF" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
|
||||
|
||||
postInstall = ''
|
||||
for p in $out/bin/*; do
|
||||
wrapProgram "$p" \
|
||||
--suffix PATH : ${autopanosiftc}/bin \
|
||||
--suffix PATH : ${enblend-enfuse}/bin \
|
||||
--suffix PATH : ${gnumake}/bin \
|
||||
--suffix PATH : ${perlPackages.ImageExifTool}/bin
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://hugin.sourceforge.net/";
|
||||
description = "Toolkit for stitching photographs and assembling panoramas, together with an easy to use graphical front end";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ hrdinka ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
117
pkgs/applications/graphics/hydrus/default.nix
Normal file
117
pkgs/applications/graphics/hydrus/default.nix
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, wrapQtAppsHook
|
||||
, miniupnpc_2
|
||||
, ffmpeg
|
||||
, enableSwftools ? false
|
||||
, swftools
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "hydrus";
|
||||
version = "487";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-4FYUIEk8KJO4nqONNpLUtxAMud3vdfl50zbKQxC5Hw4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapQtAppsHook
|
||||
python3Packages.mkdocs-material
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
beautifulsoup4
|
||||
cbor2
|
||||
chardet
|
||||
cloudscraper
|
||||
html5lib
|
||||
lxml
|
||||
lz4
|
||||
nose
|
||||
numpy
|
||||
opencv4
|
||||
pillow
|
||||
psutil
|
||||
pylzma
|
||||
pyopenssl
|
||||
pyside2
|
||||
pysocks
|
||||
pythonPackages.mpv
|
||||
pyyaml
|
||||
qtpy
|
||||
requests
|
||||
send2trash
|
||||
service-identity
|
||||
six
|
||||
twisted
|
||||
];
|
||||
|
||||
checkInputs = with python3Packages; [ nose mock httmock ];
|
||||
|
||||
# most tests are failing, presumably because we are not using test.py
|
||||
checkPhase = ''
|
||||
nosetests $src/hydrus/test \
|
||||
-e TestClientAPI \
|
||||
-e TestClientConstants \
|
||||
-e TestClientDaemons \
|
||||
-e TestClientData \
|
||||
-e TestClientDB \
|
||||
-e TestClientDBDuplicates \
|
||||
-e TestClientDBTags \
|
||||
-e TestClientImageHandling \
|
||||
-e TestClientImportOptions \
|
||||
-e TestClientListBoxes \
|
||||
-e TestClientMigration \
|
||||
-e TestClientNetworking \
|
||||
-e TestClientTags \
|
||||
-e TestClientThreading \
|
||||
-e TestDialogs \
|
||||
-e TestFunctions \
|
||||
-e TestHydrusNetwork \
|
||||
-e TestHydrusNATPunch \
|
||||
-e TestHydrusSerialisable \
|
||||
-e TestHydrusServer \
|
||||
-e TestHydrusSessions \
|
||||
-e TestServer \
|
||||
'';
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
installPhase = ''
|
||||
# Move the hydrus module and related directories
|
||||
mkdir -p $out/${python3Packages.python.sitePackages}
|
||||
mv {hydrus,static} $out/${python3Packages.python.sitePackages}
|
||||
mkdocs build -d help
|
||||
mv help $out/doc/
|
||||
|
||||
# install the hydrus binaries
|
||||
mkdir -p $out/bin
|
||||
install -m0755 server.py $out/bin/hydrus-server
|
||||
install -m0755 client.py $out/bin/hydrus-client
|
||||
'' + lib.optionalString enableSwftools ''
|
||||
mkdir -p $out/${python3Packages.python.sitePackages}/bin
|
||||
# swfrender seems to have to be called sfwrender_linux
|
||||
# not sure if it can be loaded through PATH, but this is simpler
|
||||
# $out/python3Packages.python.sitePackages/bin is correct NOT .../hydrus/bin
|
||||
ln -s ${swftools}/bin/swfrender $out/${python3Packages.python.sitePackages}/bin/swfrender_linux
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
||||
makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ ffmpeg miniupnpc_2 ]})
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Danbooru-like image tagging and searching system for the desktop";
|
||||
license = licenses.wtfpl;
|
||||
homepage = "https://hydrusnetwork.github.io/hydrus/";
|
||||
maintainers = with maintainers; [ dandellion evanjs ];
|
||||
};
|
||||
}
|
||||
37
pkgs/applications/graphics/icon-library/default.nix
Normal file
37
pkgs/applications/graphics/icon-library/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, wrapGAppsHook4
|
||||
, cargo, desktop-file-utils, meson, ninja, pkg-config, rustc
|
||||
, gdk-pixbuf, glib, gtk4, gtksourceview5, libadwaita
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "icon-library";
|
||||
version = "0.0.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gitlab.gnome.org/World/design/icon-library/uploads/93d183b17d216bbed7b03b2f3698059c/icon-library-${version}.tar.xz";
|
||||
sha256 = "1zrcnc5dn5fgcl3vklfpbp3m0qzi2n2viw59vw5fhwkysvp670y7";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with meson 0.61
|
||||
# data/meson.build:85:0: ERROR: gnome.compile_resources takes exactly 2 arguments, but got 3.
|
||||
# https://gitlab.gnome.org/World/design/icon-library/-/merge_requests/54
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/World/design/icon-library/-/commit/c629dbf6670f9bb0b98ff21c17110489b58f5c85.patch";
|
||||
sha256 = "UKC1CPaM58/z0zINN794luWZdoFx1zGxETPb8VtbO3E=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook4
|
||||
];
|
||||
buildInputs = [ gdk-pixbuf glib gtk4 gtksourceview5 libadwaita ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.gnome.org/World/design/icon-library";
|
||||
description = "Symbolic icons for your apps";
|
||||
maintainers = with maintainers; [ qyliss ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue