From d2c8919a16a37db7ad3a9d1dee155a9d095f62cd Mon Sep 17 00:00:00 2001 From: Raymond Gauthier Date: Sat, 3 Oct 2015 20:07:00 -0400 Subject: digikam: improvements - Now usable in non kde desktop environments. Build a immutable sycoca database and use wrappers to tie programs to this database and avoid interference from the outside by specifying a fixed `KDELIBS` and fixed/empty `XDG_DATA_DIRS`. Added missing dependencies to syscoca database so that the program is complete. Added all build time optional packages. Kipi-plugins now properly detected. Added almost all optional dependencies so that almost all plugins are usable. Now with vlc phonon backend for video playback. Now with ffmpeg thumbnailer for video items thumbnail creation. Now run without any error log. Tests: - Ran most features of the standard program. Everything work perfectly without error logs. - Ran some of the kipi plugins. Work fine there too. - Ran face detection and fingerprint generation successfully. - Oxygen icons are now displayed properly. - Ran other wrapped executable successfully. --- pkgs/applications/graphics/digikam/default.nix | 224 ++++++++++++++++++++++--- 1 file changed, 202 insertions(+), 22 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix index bdf8077624db..a41e1ad07d3c 100644 --- a/pkgs/applications/graphics/digikam/default.nix +++ b/pkgs/applications/graphics/digikam/default.nix @@ -3,42 +3,222 @@ , libgphoto2, libjpeg, libkdcraw, libkexiv2, libkipi, libpgf, libtiff , libusb1, liblqr1, marble, mysql, opencv, perl, phonon, pkgconfig , qca2, qimageblitz, qjson, qt4, soprano + +# Optional build time dependencies +, baloo, doxygen, kfilemetadata +, lcms2 +, kfaceSupport ? true, libkface ? null +, kgeomapSupport ? true, libkgeomap ? null +, libxslt + +# Plugins optional build time dependencies +, gdk_pixbuf, imagemagick +, libgpod, libksane, libkvkontakte +, qt_gstreamer1 /*qt_soap, herqq -> is missing its av part.*/ + /*qt_koauth */ + +# Supplementary packages required only by the wrapper. +, bash, kde_runtime, kde_baseapps, makeWrapper, oxygen_icons +, phonon_backend_vlc /*phonon_backend_gstreamer,*/ +, ffmpegthumbs /*mplayerthumbs*/ +, runCommand, shared_mime_info, writeScriptBin }: -stdenv.mkDerivation rec { - name = "digikam-4.12.0"; +let + version = "4.12.0"; + pName = "digikam-${version}"; + + build = stdenv.mkDerivation rec { + name = "digikam-build-${version}"; + + src = fetchurl { + url = "http://download.kde.org/stable/digikam/${pName}.tar.bz2"; + sha256 = "081ldsaf3frf5khznjd3sxkjmi4dyp6w6nqnc2a0agkk0kxkl10m"; + }; + + nativeBuildInputs = [ + automoc4 cmake gettext perl pkgconfig + ] ++ [ + # Optional + doxygen + ]; + + buildInputs = [ + boost eigen jasper kdelibs kdepimlibs lcms lensfun + libgphoto2 libjpeg libkdcraw libkexiv2 libkipi liblqr1 libpgf + libtiff marble mysql.lib opencv phonon qca2 qimageblitz qjson qt4 + shared_desktop_ontologies soprano ] + # Optional build time dependencies + ++ [ + baloo + kfilemetadata + lcms2 ] + ++ stdenv.lib.optional (kfaceSupport && null != libkface) [ libkface ] + ++ stdenv.lib.optional (kgeomapSupport && null != libkgeomap) [ libkgeomap ] ++ + [ libxslt ] + # Plugins optional build time dependencies + ++ [ + gdk_pixbuf imagemagick libgpod libksane + libkvkontakte + qt_gstreamer1 ]; + + # Make digikam find some FindXXXX.cmake + KDEDIRS="${marble}:${qjson}"; + + # Find kdepimlibs's upper case headers under `include/KDE`. + NIX_CFLAGS_COMPILE = "-I${kdepimlibs}/include/KDE"; + + # Help digiKam find libusb, otherwise gphoto2 support is disabled + cmakeFlags = [ + "-DLIBUSB_LIBRARIES=${libusb1}/lib" + "-DLIBUSB_INCLUDE_DIR=${libusb1}/include/libusb-1.0" + "-DENABLE_BALOOSUPPORT=ON" + "-DENABLE_KDEPIMLIBSSUPPORT=ON" + "-DENABLE_LCMS2=ON" ] + ++ stdenv.lib.optional (kfaceSupport && null == libkface) [ "-DDIGIKAMSC_COMPILE_LIBKFACE=ON" ] + ++ stdenv.lib.optional (kgeomapSupport && null == libkgeomap) [ "-DDIGIKAMSC_COMPILE_LIBKGEOMAP=ON" ]; - src = fetchurl { - url = "http://download.kde.org/stable/digikam/${name}.tar.bz2"; - sha256 = "081ldsaf3frf5khznjd3sxkjmi4dyp6w6nqnc2a0agkk0kxkl10m"; + enableParallelBuilding = true; + + meta = { + description = "Photo Management Program"; + license = stdenv.lib.licenses.gpl2; + homepage = http://www.digikam.org; + maintainers = with stdenv.lib.maintainers; [ goibhniu viric urkud ]; + inherit (kdelibs.meta) platforms; + }; }; - nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ]; - buildInputs = [ - boost eigen jasper kdelibs kdepimlibs lcms lensfun libgphoto2 - libjpeg libkdcraw libkexiv2 libkipi liblqr1 libpgf libtiff marble - mysql.lib opencv phonon qca2 qimageblitz qjson qt4 - shared_desktop_ontologies soprano + kdePkgs = [ + build # digikam's own build + kdelibs kdepimlibs kde_runtime kde_baseapps libkdcraw oxygen_icons + /*phonon_backend_gstreamer*/ phonon_backend_vlc + ffmpegthumbs /*mplayerthumbs*/ shared_mime_info ] + # Optional build time dependencies + ++ [ + + baloo kfilemetadata ] + ++ stdenv.lib.optional (kfaceSupport && null != libkface) [ libkface ] + ++ stdenv.lib.optional (kgeomapSupport && null != libkgeomap) [ libkgeomap ] + ++ [ + libkipi ] + # Plugins optional build time dependencies + ++ [ + libksane libkvkontakte ]; - # Make digikam find some FindXXXX.cmake - KDEDIRS="${marble}:${qjson}"; - # Help digiKam find libusb, otherwise gphoto2 support is disabled - cmakeFlags = [ - "-DLIBUSB_LIBRARIES=${libusb1}/lib" - "-DLIBUSB_INCLUDE_DIR=${libusb1}/include/libusb-1.0" - "-DDIGIKAMSC_COMPILE_LIBKFACE=ON" - ]; + # TODO: It should be the responsability of these packages to add themselves to `KDEDIRS`. See + # for + # a practical example. + # IMPORTANT: Note that using `XDG_DATA_DIRS` here instead of `KDEDIRS` won't work properly. + KDEDIRS = with stdenv.lib; concatStrings (intersperse ":" (map (x: "${x}") kdePkgs)); + + sycocaDirRelPath = "var/lib/kdesycoca"; + sycocaFileRelPath = "${sycocaDirRelPath}/${pName}.sycoca"; + + sycoca = runCommand "${pName}" { + + name = "digikam-sycoca-${version}"; + + nativeBuildInputs = [ kdelibs ]; + + dontPatchELF = true; + dontStrip = true; + + } '' + # Make sure kbuildsycoca4 does not attempt to write to user home directory. + export HOME=$PWD - enableParallelBuilding = true; + export KDESYCOCA="$out/${sycocaFileRelPath}" + + mkdir -p $out/${sycocaDirRelPath} + export XDG_DATA_DIRS="" + export KDEDIRS="${KDEDIRS}" + kbuildsycoca4 --noincremental --nosignal + ''; + + + replaceExeListWithWrapped = + let f = exeName: '' + rm -f "$out/bin/${exeName}" + makeWrapper "${build}/bin/${exeName}" "$out/bin/${exeName}" \ + --set XDG_DATA_DIRS "" \ + --set KDEDIRS "${KDEDIRS}" \ + --set KDESYCOCA "${sycoca}/${sycocaFileRelPath}" + ''; + in + with stdenv.lib; exeNameList: concatStrings (intersperse "\n" (map f exeNameList)); + +in + + +with stdenv.lib; + +/* + Final derivation + ---------------- + + - Create symlinks to our original build derivation items. + - Wrap specific executables so that they know of the appropriate + sycoca database, `KDEDIRS` to use and block any interference + from `XDG_DATA_DIRS` (only `dnginfo` is not wrapped). +*/ +runCommand "${pName}" { + inherit build; + inherit sycoca; + + nativeBuildInputs = [ makeWrapper ]; + + buildInputs = kdePkgs; + + dontPatchELF = true; + dontStrip = true; meta = { description = "Photo Management Program"; license = stdenv.lib.licenses.gpl2; homepage = http://www.digikam.org; - maintainers = with stdenv.lib.maintainers; [ goibhniu viric urkud ]; + maintainers = with stdenv.lib.maintainers; [ /*jraygauthier*/ ]; inherit (kdelibs.meta) platforms; }; -} + +} '' + pushd $build > /dev/null + for d in `find . -maxdepth 1 -name "*" -printf "%f\n" | tail -n+2`; do + mkdir -p $out/$d + for f in `find $d -maxdepth 1 -name "*" -printf "%f\n" | tail -n+2`; do + ln -s "$build/$d/$f" "$out/$d/$f" + done + done + popd > /dev/null + + ${replaceExeListWithWrapped [ "cleanup_digikamdb" "digitaglinktree" "digikam" "dngconverter" + "expoblending" "photolayoutseditor" "scangui" "showfoto" ]} +'' + +/* + +TODO +---- + +### Useful ### + + - Per lib `KDELIBS` environment variable export. See above in-code TODO comment. + - Missing optional `qt_soap` or `herqq` (av + normal package) dependencies. Those are not + yet (or not fully) packaged in nix. Mainly required for upnp export. + - Possibility to use the `phonon_backend_gstreamer` with its own user specified set of backend. + - Allow user to disable optional features or dependencies reacting properly. + - Compile `kipiplugins` as a separate package (so that it can be used by other kde packages + and so that this package's build time is reduced). + +### Not so useful ### + + - Missing optional `qt_koauth` (not packaged in nix). + - Missing optional `libmediawiki` (not packaged in nix).. + - For some reason the cmake build does not detect `libkvkontakte`. Fix this. + - Possibility to use `mplayerthumbs` thumbnail creator backend. In digikam dev docs, + it is however suggested to use `ffmpegthumbs`. Maybe we should stick to it. + +*/ -- cgit 1.4.1 From 7ccccec51b993a30e7e9b0648a5a84183ab4dc53 Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Thu, 10 Mar 2016 18:58:28 +0100 Subject: antimony: fix build with glibc-2.23 And enableParalelBuilding = true; --- pkgs/applications/graphics/antimony/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix index 5e8dfd93f30e..dded423652ce 100644 --- a/pkgs/applications/graphics/antimony/default.nix +++ b/pkgs/applications/graphics/antimony/default.nix @@ -16,6 +16,15 @@ in }; patches = [ ./paths-fix.patch ]; + # fix build with glibc-2.23 + postPatch = '' + sed 's/\ Date: Thu, 10 Mar 2016 23:23:16 +0100 Subject: pkgs.darktable: 2.0.0 -> 2.0.2 darktable-2.0.1 and darktable-2.0.2 are two bugfix releases: http://www.darktable.org/2016/02/darktable-2-0-1-released/ http://www.darktable.org/2016/03/darktable-2-0-2-released/ --- pkgs/applications/graphics/darktable/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index ef222d2e816f..cba19ba11a20 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -11,12 +11,12 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { - version = "2.0.0"; + version = "2.0.2"; name = "darktable-${version}"; src = fetchurl { url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; - sha256 = "1cbwvzqn3158cy7r499rdwipx7fpb30lrrvh6jy5a4xvpcjzbwnl"; + sha256 = "0014j73sy956xqdhd4jrxvbamildqqadx8hmagrbiah8xda67skm"; }; buildInputs = -- cgit 1.4.1 From 5fac723799b04c3f1596989614a9d7b94274e23d Mon Sep 17 00:00:00 2001 From: Lancelot SIX Date: Fri, 11 Mar 2016 13:24:48 +0100 Subject: pkgs.darktable: use https in homepage --- pkgs/applications/graphics/darktable/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index cba19ba11a20..d0a1f7b78d3b 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Virtual lighttable and darkroom for photographers"; - homepage = http://www.darktable.org; + homepage = https://www.darktable.org; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = [ maintainers.goibhniu maintainers.rickynils maintainers.flosse ]; -- cgit 1.4.1 From 11c486cd1965815acfff78e10527b3b2b83a3778 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 14 Mar 2016 03:41:57 +0100 Subject: simple-scan: 3.19.91 -> 3.19.92 --- pkgs/applications/graphics/simple-scan/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix index 7ee298f72811..8eee5299a69b 100644 --- a/pkgs/applications/graphics/simple-scan/default.nix +++ b/pkgs/applications/graphics/simple-scan/default.nix @@ -3,10 +3,10 @@ stdenv.mkDerivation rec { name = "simple-scan-${version}"; - version = "3.19.91"; + version = "3.19.92"; src = fetchurl { - sha256 = "1c5glf5vxgld41w4jxfqcv17q76qnh43fawpv33hncgh8d283xkf"; + sha256 = "1zz6y4cih1v0npxjfxvnqz3bz7i5aripdsfy0hg9mhr1f4r0ig19"; url = "https://launchpad.net/simple-scan/3.19/${version}/+download/${name}.tar.xz"; }; -- cgit 1.4.1 From e8fb05f818ca21f10d2ffd528dd38dbfc8e48d70 Mon Sep 17 00:00:00 2001 From: Svintsov Dmitry Date: Wed, 16 Mar 2016 09:33:40 +0500 Subject: pencil: 2.0.15 -> 2.0.18 --- pkgs/applications/graphics/pencil/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix index 8ee39c135ef8..80774fba5ff2 100644 --- a/pkgs/applications/graphics/pencil/default.nix +++ b/pkgs/applications/graphics/pencil/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, makeWrapper, xulrunner }: stdenv.mkDerivation rec { - version = "2.0.15"; + version = "2.0.18"; name = "pencil-${version}"; src = fetchurl { url = "https://github.com/prikhi/pencil/releases/download/v${version}/Pencil-${version}-linux-pkg.tar.gz"; - sha256 = "be338558b613f51506337a2c7c80f209e8644656c2925f41c294e2872feabc3b"; + sha256 = "0x0kibb2na12fwl0x68xhkjpbm5h2widm346cx2r29gp1kq9kklc"; }; buildPhase = ""; -- cgit 1.4.1 From e45c1aad669f1aa1556f947a87dc9b5b7109243e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 20 Mar 2016 23:56:15 +0100 Subject: simple-scan: 3.19.92 -> 3.20.0 --- pkgs/applications/graphics/simple-scan/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix index 8eee5299a69b..417d117d6886 100644 --- a/pkgs/applications/graphics/simple-scan/default.nix +++ b/pkgs/applications/graphics/simple-scan/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "simple-scan-${version}"; - version = "3.19.92"; + version = "3.20.0"; src = fetchurl { - sha256 = "1zz6y4cih1v0npxjfxvnqz3bz7i5aripdsfy0hg9mhr1f4r0ig19"; - url = "https://launchpad.net/simple-scan/3.19/${version}/+download/${name}.tar.xz"; + sha256 = "0b5ndrjwi7yipkr9bhyifpbdil65izdm677if23yj832n2jsbxcd"; + url = "https://launchpad.net/simple-scan/3.20/${version}/+download/${name}.tar.xz"; }; buildInputs = [ cairo colord glib gusb gtk3 libusb1 libxml2 sane-backends @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-packagekit" ]; preBuild = '' - # Clean up stale .c files referencing packagekit headers as of 3.19.91: + # Clean up stale .c files referencing packagekit headers as of 3.20.0: make clean ''; -- cgit 1.4.1 From 96edcf403cb5d6ac60bb87589865f4995dc7c117 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 24 Mar 2016 01:47:27 +0100 Subject: sane-backends-git: 2016-03-05 -> 2016-03-24 Changes: - epsonds: fixed resolution setting bug DS-60000 workaround is needed no more - pixma: backend version 0.17.29 --- pkgs/applications/graphics/sane/backends/git.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/sane/backends/git.nix b/pkgs/applications/graphics/sane/backends/git.nix index 84e1f783e2a3..b285edd71e03 100644 --- a/pkgs/applications/graphics/sane/backends/git.nix +++ b/pkgs/applications/graphics/sane/backends/git.nix @@ -1,10 +1,10 @@ { callPackage, fetchgit, ... } @ args: callPackage ./generic.nix (args // { - version = "2016-03-05"; + version = "2016-03-24"; src = fetchgit { - sha256 = "dc84530d5e0233427acfd132aa08a4cf9973c936ff72a66ee08ecf836200d367"; - rev = "23eb95582da718791103b83ea002e947caa0f5fc"; + sha256 = "593672ccfef6e3e0f3cb8ae4bbc67db9b2f1a821df4914343e4cf32f75cea865"; + rev = "41a416e4afcf6cada69193dc408ef184d0e5f678"; url = "git://alioth.debian.org/git/sane/sane-backends.git"; }; }) -- cgit 1.4.1 From 5455a71414dee91d5485487c6bee6d787b54ba19 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Fri, 25 Mar 2016 17:21:30 +0100 Subject: photonic: 1.7 -> 1.7.1 --- pkgs/applications/graphics/phototonic/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix index 6803b969b4b5..a26346add7ff 100644 --- a/pkgs/applications/graphics/phototonic/default.nix +++ b/pkgs/applications/graphics/phototonic/default.nix @@ -2,12 +2,14 @@ stdenv.mkDerivation rec { name = "phototonic-${version}"; - version = "1.7"; + version = "1.7.1"; src = fetchFromGitHub { repo = "phototonic"; owner = "oferkv"; - rev = "v${version}"; + # There is currently no tag for 1.7.1 see + # https://github.com/oferkv/phototonic/issues/214 + rev = "c37070e4a068570d34ece8de1e48aa0882c80c5b"; sha256 = "1agd3bsrpljd019qrjvlbim5l0bhpx53dhpc0gvyn0wmcdzn92gj"; }; -- cgit 1.4.1 From 6448c94e5789a108dc9e9c5f6e5d67669dcf27c3 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 26 Mar 2016 14:56:06 +0100 Subject: leocad: work around cmath problem introduced by recent glibc https://hydra.nixos.org/build/33610365/nixlog/1/raw --- pkgs/applications/graphics/leocad/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix index eaaf047c9bb3..9ca9c5921028 100644 --- a/pkgs/applications/graphics/leocad/default.nix +++ b/pkgs/applications/graphics/leocad/default.nix @@ -16,8 +16,11 @@ stdenv.mkDerivation rec { buildInputs = [ qt4 zlib ]; - prefixKey="INSTALL_PREFIX="; + prefixKey = "INSTALL_PREFIX="; configureScript = "qmake leocad.pro"; + postPatch = '' + substituteInPlace common/camera.cpp --replace "isnan(" "std::isnan(" + ''; meta = with stdenv.lib; { description = "CAD program for creating virtual LEGO models"; -- cgit 1.4.1 From 29c3314fe4d547f5f21e228a26d41e6aa1db45a4 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 26 Mar 2016 16:14:38 +0100 Subject: hugin: add missing dependencies https://hydra.nixos.org/build/33609995/nixlog/2/raw --- pkgs/applications/graphics/hugin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix index 97181cb0d1bf..338b3cf0f97e 100644 --- a/pkgs/applications/graphics/hugin/default.nix +++ b/pkgs/applications/graphics/hugin/default.nix @@ -1,6 +1,6 @@ { stdenv, cmake, fetchurl, gnumake, pkgconfig, makeWrapper , boost, gettext, tclap, wxGTK -, freeglut, glew, libXi, libXmu, mesa +, freeglut, glew, libX11, libXi, libXmu, mesa, cairo , autopanosiftc, enblend-enfuse, exiv2, fftw, ilmbase, lensfun, libpng, libtiff , openexr, panotools, perlPackages, sqlite, vigra }: @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR"; buildInputs = [ boost gettext tclap wxGTK - freeglut glew libXi libXmu mesa + freeglut glew libX11 libXi libXmu mesa cairo exiv2 fftw ilmbase lensfun libtiff libpng openexr panotools sqlite vigra perlPackages.ImageExifTool makeWrapper -- cgit 1.4.1 From f95572829527061f7cc4eb1f142e0de3acce87fb Mon Sep 17 00:00:00 2001 From: Domen Kožar Date: Wed, 23 Mar 2016 15:41:13 +0000 Subject: openimageio: 1.6.9 -> 1.6.11 (fixes build on i686) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit b5d47a8cfe359fd0a6e10c85a7e7622b24173ce9) Signed-off-by: Domen Kožar --- pkgs/applications/graphics/openimageio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix index 97607e819514..79db732750dd 100644 --- a/pkgs/applications/graphics/openimageio/default.nix +++ b/pkgs/applications/graphics/openimageio/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "openimageio-${version}"; - version = "1.6.9"; + version = "1.6.11"; src = fetchurl { url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip"; - sha256 = "0942xj877875f4dpfg7aqwyw015y82vkhaqap7yhybmvzsfj7wki"; + sha256 = "0cr0z81a41bg193dx9crcq1mns7mmzz7qys4lrbm18cmdbwkk88x"; }; buildInputs = [ -- cgit 1.4.1 From f6a44bea9e5cfb07dc283f2c7c222f9e0dbadf18 Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Tue, 29 Mar 2016 12:23:12 +0200 Subject: Updating wings and dependencies to match erlang I updated the erlang esdl lib, added the erlang cl lib, added opencl-headers and ocl-icd to make wings build and run. I have not tested its opencl part; I only added dependencies so it builds. --- pkgs/applications/graphics/wings/default.nix | 19 ++++++++----- pkgs/development/libraries/cl/default.nix | 33 ++++++++++++++++++++++ pkgs/development/libraries/esdl/default.nix | 22 ++++++++++----- pkgs/development/libraries/ocl-icd/default.nix | 18 ++++++++++++ .../libraries/opencl-headers/default.nix | 23 +++++++++++++++ pkgs/top-level/all-packages.nix | 11 +++++--- 6 files changed, 108 insertions(+), 18 deletions(-) create mode 100644 pkgs/development/libraries/cl/default.nix create mode 100644 pkgs/development/libraries/ocl-icd/default.nix create mode 100644 pkgs/development/libraries/opencl-headers/default.nix (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/wings/default.nix b/pkgs/applications/graphics/wings/default.nix index 9e6d6fe492a3..9ecf94e21c01 100644 --- a/pkgs/applications/graphics/wings/default.nix +++ b/pkgs/applications/graphics/wings/default.nix @@ -1,29 +1,34 @@ -{ fetchurl, stdenv, erlang, esdl }: +{ fetchurl, stdenv, erlang, esdl, cl }: stdenv.mkDerivation rec { - name = "wings-1.4.1"; + name = "wings-1.5.4"; src = fetchurl { url = "mirror://sourceforge/wings/${name}.tar.bz2"; - sha256 = "16kqy92rapmbvkc58mc50cidp1pm8nlwlwx69riyadc9w4qs9bji"; + sha256 = "0qz6rmmkqgk3p0d3v2ikkf22n511bq0m7xp3kkradwrp28fcl15x"; }; - ERL_LIBS = "${esdl}/lib/erlang/addons"; + ERL_LIBS = "${esdl}/lib/erlang/lib:${cl}/lib/erlang/lib"; patchPhase = '' sed -i 's,include("sdl_keyboard.hrl"),include_lib("esdl/include/sdl_keyboard.hrl"),' \ src/wings_body.erl plugins_src/commands/wpc_constraints.erl + + # Fix reference + sed -i 's,wings/e3d/,,' plugins_src/import_export/wpc_lwo.erl ''; - buildInputs = [ erlang esdl ]; + buildInputs = [ erlang esdl cl ]; + # I did not test the *cl* part. I added the -pa just by imitation. installPhase = '' mkdir -p $out/bin $out/lib/${name}/ebin cp ebin/* $out/lib/${name}/ebin cp -R fonts textures shaders plugins $out/lib/$name cat << EOF > $out/bin/wings #!/bin/sh - export ROOTDIR=$out/lib/erlang/addons/${name} - ${erlang}/bin/erl -smp disable -pa ${esdl}/lib/erlang/addons/${esdl.name}/ebin \ + ${erlang}/bin/erl -smp disable \ + -pa ${esdl}/lib/erlang/lib/${cl.name}/ebin \ + -pa ${esdl}/lib/erlang/lib/${esdl.name}/ebin \ -pa $out/lib/${name}/ebin -run wings_start start_halt "$@" EOF chmod +x $out/bin/wings diff --git a/pkgs/development/libraries/cl/default.nix b/pkgs/development/libraries/cl/default.nix new file mode 100644 index 000000000000..dfb54893b6ca --- /dev/null +++ b/pkgs/development/libraries/cl/default.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl, SDL, mesa, rebar, erlang, opencl-headers, ocl-icd }: + +stdenv.mkDerivation rec { + version = "1.2.1"; + name = "cl-${version}"; + + src = fetchurl { + url = "https://github.com/tonyrog/cl/archive/${name}.tar.gz"; + sha256 = "03jv280h9gqqqkm0mmkjr53srd2mzhvyy1biss77wpjrzq2z12c8"; + }; + + buildInputs = [ erlang rebar opencl-headers ocl-icd ]; + #propagatedBuildInputs = [ SDL mesa ]; + + buildPhase = '' + sed 's/git/"${version}"/' -i src/cl.app.src + rebar compile + ''; + + # 'cp' line taken from Arch recipe + # https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/erlang-sdl + installPhase = '' + DIR=$out/lib/erlang/lib/${name} + mkdir -p $DIR + cp -ruv c_src doc ebin include priv src $DIR + ''; + + meta = { + homepage = https://github.com/tonyrog/cl; + description = "OpenCL binding for Erlang"; + license = stdenv.lib.licences.mit; + }; +} diff --git a/pkgs/development/libraries/esdl/default.nix b/pkgs/development/libraries/esdl/default.nix index ccc3318ff6b9..63fc169355c6 100644 --- a/pkgs/development/libraries/esdl/default.nix +++ b/pkgs/development/libraries/esdl/default.nix @@ -1,18 +1,26 @@ -{stdenv, fetchurl, SDL, mesa, erlang}: +{stdenv, fetchurl, SDL, mesa, rebar, erlang}: stdenv.mkDerivation rec { - name = "esdl-1.0.1"; + name = "esdl-1.3.1"; src = fetchurl { - url = "mirror://sourceforge/esdl/${name}.src.tar.gz"; - sha256 = "0zc7cmr44v10sb593dismdm5qc2v7sm3z9yh22g4r9g6asbg5z0n"; + url = "mirror://sourceforge/esdl/${name}.src.tgz"; + sha256 = "0f5ad519600qarsa2anmnaxh6b7djzx1dnwxzi4l36pxsq896y01"; }; - buildInputs = [ erlang ]; + buildInputs = [ erlang rebar ]; propagatedBuildInputs = [ SDL mesa ]; - preBuild = '' - export makeFlags="INSTALLDIR=$out/lib/erlang/addons/${name}"; + buildPhase = '' + rebar compile + ''; + + # 'cp' line taken from Arch recipe + # https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/erlang-sdl + installPhase = '' + DIR=$out/lib/erlang/lib/${name} + mkdir -p $DIR + cp -ruv c_src doc ebin include priv src $DIR ''; meta = { diff --git a/pkgs/development/libraries/ocl-icd/default.nix b/pkgs/development/libraries/ocl-icd/default.nix new file mode 100644 index 000000000000..ac26ac7126fd --- /dev/null +++ b/pkgs/development/libraries/ocl-icd/default.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, ruby }: + +stdenv.mkDerivation rec { + name = "ocl-icd-2.2.9"; + + src = fetchurl { + url = "https://forge.imag.fr/frs/download.php/716/${name}.tar.gz"; + sha256 = "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc"; + }; + + buildInputs = [ ruby ]; + + meta = with stdenv.lib; { + description = "OpenCL ICD Loader"; + homepage = https://forge.imag.fr/projects/ocl-icd/; + license = licenses.bsd2; + }; +} diff --git a/pkgs/development/libraries/opencl-headers/default.nix b/pkgs/development/libraries/opencl-headers/default.nix new file mode 100644 index 000000000000..9b931894f66f --- /dev/null +++ b/pkgs/development/libraries/opencl-headers/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + name = "opencl-headers-2.1.0"; + + src = fetchFromGitHub { + owner = "KhronosGroup"; + repo = "OpenCL-Headers"; + rev = "c1770dcc6cf1daadec1905e7393f3691c1dde200"; + sha256 = "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck"; + }; + + installPhase = '' + mkdir -p $out/include/CL + cp * $out/include/CL + ''; + + meta = with stdenv.lib; { + description = "Khronos OpenCL headers"; + homepage = https://www.khronos.org/registry/cl/; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 752f23079954..8d15f689b0f6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6432,6 +6432,8 @@ in stdenv = overrideInStdenv stdenv [gnumake380]; }; + cl = callPackage ../development/libraries/cl { }; + clanlib = callPackage ../development/libraries/clanlib { }; classads = callPackage ../development/libraries/classads { }; @@ -8217,6 +8219,8 @@ in nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { }; + ocl-icd = callPackage ../development/libraries/ocl-icd { }; + ode = callPackage ../development/libraries/ode { }; ogre = callPackage ../development/libraries/ogre {}; @@ -8244,6 +8248,8 @@ in opencascade_oce = callPackage ../development/libraries/opencascade/oce.nix { }; + opencl-headers = callPackage ../development/libraries/opencl-headers { }; + opencollada = callPackage ../development/libraries/opencollada { }; opencsg = callPackage ../development/libraries/opencsg { }; @@ -14133,10 +14139,7 @@ in winswitch = callPackage ../tools/X11/winswitch { }; - wings = callPackage ../applications/graphics/wings { - erlang = erlangR14; - esdl = esdl.override { erlang = erlangR14; }; - }; + wings = callPackage ../applications/graphics/wings { }; wmname = callPackage ../applications/misc/wmname { }; -- cgit 1.4.1 From f38d620d596a45d6a7a4e20a1c7f4985cf4d3ffb Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Tue, 29 Mar 2016 17:39:43 +0200 Subject: Updating giv to latest from git (>0.9.25). We were using a version years old. I picked the git version instead of the last release because the git version has fixes not released for almost one year. --- pkgs/applications/graphics/giv/build.patch | 27 --------------------------- pkgs/applications/graphics/giv/default.nix | 12 +++++++----- 2 files changed, 7 insertions(+), 32 deletions(-) (limited to 'pkgs/applications/graphics') diff --git a/pkgs/applications/graphics/giv/build.patch b/pkgs/applications/graphics/giv/build.patch index 639d881f4159..ec343c902386 100644 --- a/pkgs/applications/graphics/giv/build.patch +++ b/pkgs/applications/graphics/giv/build.patch @@ -15,30 +15,3 @@ index 16eccd9..603e931 100644 env['SBOX'] = False -diff --git a/giv/SConstruct b/giv/SConstruct -index 047839a..2c267aa 100644 ---- a/giv/SConstruct -+++ b/giv/SConstruct -@@ -3,8 +3,9 @@ - - import sys - import re -+import os - --env = Environment() -+env = Environment(ENV = os.environ) - - src = ["giv.c", - "giv-backstore.c", -diff --git a/src/plugins/dcmtk/SConstruct.standalone b/src/plugins/dcmtk/SConstruct.standalone -index ffce001..74246f8 100644 ---- a/src/plugins/dcmtk/SConstruct.standalone -+++ b/src/plugins/dcmtk/SConstruct.standalone -@@ -1,4 +1,6 @@ --env = Environment() -+import os -+ -+env = Environment(ENV = os.environ) - - variant = "Debug" - diff --git a/pkgs/applications/graphics/giv/default.nix b/pkgs/applications/graphics/giv/default.nix index 2e9d55a3f3f2..f9ea3173b430 100644 --- a/pkgs/applications/graphics/giv/default.nix +++ b/pkgs/applications/graphics/giv/default.nix @@ -1,12 +1,14 @@ -{ stdenv, fetchurl, gdk_pixbuf, scons, pkgconfig, gtk, glib, +{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk, glib, pcre, cfitsio, perl, gob2, vala, libtiff, json_glib }: stdenv.mkDerivation rec { - name = "giv-0.9.22"; + name = "giv-20150811-git"; - src = fetchurl { - url = "mirror://sourceforge/giv/${name}.tar.gz"; - sha256 = "1q0806b66ajppxbv1i71wx5d3ydc1h3hsz23m6g4g80dhiai7dly"; + src = fetchFromGitHub { + owner = "dov"; + repo = "giv"; + rev = "64648bfbbf10ec4a9adfbc939c96c7d1dbdce57a"; + sha256 = "1sz2n7jbmg3g97bs613xxjpzqbsl5rvpg6v7g3x3ycyd35r8vsfp"; }; # It built code to be put in a shared object without -fPIC -- cgit 1.4.1