Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 72aa6e382c6a
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 50876481a012
Choose a head ref
  • 5 commits
  • 10 files changed
  • 4 contributors

Commits on Mar 10, 2019

  1. pythonPackages.qscintilla-qt5: fix installation

    (cherry picked from commit b47f47a)
    lsix committed Mar 10, 2019

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    Ma27 Maximilian Bosch
    Copy the full SHA
    aff2be7 View commit details
  2. qgis: 2.18.28 -> 3.4.5

    (cherry picked from commit 9bcdf81)
    lsix committed Mar 10, 2019

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    Ma27 Maximilian Bosch
    Copy the full SHA
    a673ef7 View commit details
  3. titaniumenv: fix stripping the unneeded architectures

    (cherry picked from commit 907c478)
    svanderburg committed Mar 10, 2019
    Copy the full SHA
    ea23730 View commit details
  4. Merge pull request #56018 from knedlsepp/fix-cuda-gdb

    cudatoolkit: Several fixes
    (cherry picked from commit b854767)
    bendlas committed Mar 10, 2019
    Copy the full SHA
    53cbd05 View commit details
  5. yubioath-desktop: prefix QML2_IMPORT_PATH

    Otherwise, yubioath-desktop can't find pyothersides qml files:
    
    QQmlApplicationEngine failed to load component
    qrc:/qml/main.qml:168 Type YubiKey unavailable
    qrc:/qml/YubiKey.qml:2 module "io.thp.pyotherside" is not installed
    
    [1]    17017 segmentation fault  result/bin/yubioath-desktop
    
    (cherry picked from commit bfc5905)
    flokli committed Mar 10, 2019
    Copy the full SHA
    5087648 View commit details
101 changes: 17 additions & 84 deletions pkgs/applications/gis/qgis/default.nix
Original file line number Diff line number Diff line change
@@ -1,94 +1,27 @@
{ stdenv, fetchurl, fetchpatch, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
, qwt, fcgi, python2Packages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper
, qjson, qca2, txt2tags, openssl, darwin, pkgconfig
, withGrass ? true, grass, saga, IOKit, ApplicationServices
{ stdenv, lib, makeWrapper, symlinkJoin
, qgis-unwrapped, extraPythonPackages ? (ps: [ ])
}:
with lib;
symlinkJoin rec {
inherit (qgis-unwrapped) version;
name = "qgis-${version}";

stdenv.mkDerivation rec {
name = "qgis-2.18.28";
paths = [ qgis-unwrapped ];

buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags pkgconfig
saga ]
++
(stdenv.lib.optionals stdenv.isDarwin [IOKit ApplicationServices])
++
(stdenv.lib.optional withGrass grass) ++
(stdenv.lib.optional (stdenv.isDarwin && withGrass) darwin.apple_sdk.libs.utmp) ++
(with python2Packages; [ jinja2 numpy psycopg2 pygments requests python2Packages.qscintilla sip ]);
nativeBuildInputs = [ makeWrapper qgis-unwrapped.python3Packages.wrapPython ];

nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
# extend to add to the python environment of QGIS without rebuilding QGIS application.
pythonInputs = qgis-unwrapped.pythonBuildInputs ++ (extraPythonPackages qgis-unwrapped.python3Packages);

# `make -f src/providers/wms/CMakeFiles/wmsprovider_a.dir/build.make src/providers/wms/CMakeFiles/wmsprovider_a.dir/qgswmssourceselect.cpp.o`:
# fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
enableParallelBuilding = false;
postBuild = ''
# unpackPhase
preConfigure = ''
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags libspatialindex)"
'';
buildPythonPath "$pythonInputs"
# To handle the lack of 'local' RPATH; required, as they call one of
# their built binaries requiring their libs, in the build process.
preBuild = ''
export LD_LIBRARY_PATH=`pwd`/output/lib:${stdenv.lib.makeLibraryPath [ openssl ]}:$LD_LIBRARY_PATH
wrapProgram $out/bin/qgis \
--prefix PATH : $program_PATH \
--set PYTHONPATH $program_PYTHONPATH
'';

src = fetchurl {
url = "https://qgis.org/downloads/${name}.tar.bz2";
sha256 = "18pijqls1isd2bpg0mkrw07jqvdfaiwwb9mvz7p2xrgqcjx7dxsq";
};

patches = [
# already merged upstream in QGIS-3.*, but needs to be backported to QGIS-2
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/qgis/QGIS/pull/7263.patch";
name = "Ensure_qgis.db_is_writable_when_copied_from_RO_source";
sha256 = "19wr2kz0x8x6p2n0ylzd4lqrdmbkxyxr0zpwf2vl9hdp92rdjxbv";
})
];

# CMAKE_FIND_FRAMEWORK=never stops the installer choosing system
# installed frameworks
# QGIS_MACAPP_BUNDLE=0 stops the installer copying the Qt binaries into the
# installation which causes havoc
# Building RelWithDebInfo allows QGIS_DEBUG to print debugging information
cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"
++ stdenv.lib.optional stdenv.isDarwin
(["-DCMAKE_FIND_FRAMEWORK=never"]
++ ["-DQGIS_MACAPP_BUNDLE=0"]);
# ++ ["-DCMAKE_BUILD_TYPE=RelWithDebInfo"];



postInstall =
(stdenv.lib.optionalString stdenv.isLinux ''
wrapProgram $out/bin/qgis \
--set PYTHONPATH $PYTHONPATH \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl ]}
'') +
(stdenv.lib.optionalString stdenv.isDarwin ''
# Necessary for QGIS to find the correct default GRASS path
# Plugins look for gdal tools like deminfo on the PATH
${stdenv.lib.optionalString withGrass "ln -sf ${grass} $out/QGIS.app/Contents/MacOS/grass"}
# Necessary for QGIS to find the right SAGA installation
ln -sf ${saga}/bin/saga_cmd $out/QGIS.app/Contents/MacOS/bin/saga_cmd
for file in $(find $out -type f -name "QGIS"); do
wrapProgram "$file" \
--prefix DYLD_LIBRARY_PATH : "${qwt}/lib" \
--prefix DYLD_LIBRARY_PATH : "${qscintilla}/lib" \
--prefix PATH : "${gdal}/bin" \
${stdenv.lib.optionalString withGrass "--prefix PATH : ${grass}/bin"} \
--set PYTHONPATH $PYTHONPATH
done
mkdir -p $out/bin
ln -s $out/QGIS.app/Contents/MacOS/QGIS $out/bin/qgis
'');

meta = {
description = "User friendly Open Source Geographic Information System";
homepage = http://www.qgis.org;
license = stdenv.lib.licenses.gpl2Plus;
platforms = with stdenv.lib.platforms; unix;
maintainers = with stdenv.lib.maintainers; [mpickering];
};
meta = qgis-unwrapped.meta;
}
54 changes: 54 additions & 0 deletions pkgs/applications/gis/qgis/unwrapped.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{ stdenv, lib, fetchurl, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
, qwt, fcgi, python3Packages, libspatialindex, libspatialite, postgresql
, txt2tags, openssl, libzip, hdf5, netcdf
, qtbase, qtwebkit, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport, qtxmlpatterns
, withGrass ? true, grass
}:
with lib;
let
pythonBuildInputs = with python3Packages;
[ qscintilla-qt5 gdal jinja2 numpy psycopg2
chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
in stdenv.mkDerivation rec {
version = "3.4.5";
name = "qgis-unwrapped-${version}";

src = fetchurl {
url = "http://qgis.org/downloads/qgis-${version}.tar.bz2";
sha256 = "0myw1jgz8v8wncmrjsszn9ixylx84hafn0281c4hqhz623n3lxgx";
};

passthru = {
inherit pythonBuildInputs;
inherit python3Packages;
};

buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt
fcgi libspatialindex libspatialite postgresql txt2tags libzip hdf5 netcdf
qtbase qtwebkit qtsensors qca-qt5 qtkeychain qscintilla qtserialport qtxmlpatterns] ++
(stdenv.lib.optional withGrass grass) ++ pythonBuildInputs;

nativeBuildInputs = [ cmake flex bison ninja ];

# Force this pyqt_sip_dir variable to point to the sip dir in PyQt5
#
# TODO: Correct PyQt5 to provide the expected directory and fix
# build to use PYQT5_SIP_DIR consistently.
postPatch = ''
substituteInPlace cmake/FindPyQt5.py \
--replace 'pyqtcfg.pyqt_sip_dir' '"${python3Packages.pyqt5}/share/sip/PyQt5"'
'';

cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF"
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5"
"-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5" ] ++
stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";

meta = {
description = "A Free and Open Source Geographic Information System";
homepage = http://www.qgis.org;
license = stdenv.lib.licenses.gpl2Plus;
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [ lsix ];
};
}
3 changes: 2 additions & 1 deletion pkgs/applications/misc/yubioath-desktop/default.nix
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {

doCheck = false;

buildInputs = [ stdenv qtbase qtquickcontrols pyotherside python3 ];
buildInputs = [ stdenv qtbase qtquickcontrols python3 ];

nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ];

@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
buildPythonPath "$out $pythonPath"
wrapProgram $out/bin/yubioath-desktop \
--prefix PYTHONPATH : "$program_PYTHONPATH" \
--prefix QML2_IMPORT_PATH : "${pyotherside}/${qtbase.qtQmlPrefix}" \
--prefix LD_PRELOAD : "${yubikey-personalization}/lib/libykpers-1.so" \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.getLib pcsclite}/lib:${yubikey-personalization}/lib"
58 changes: 51 additions & 7 deletions pkgs/development/compilers/cudatoolkit/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ lib, stdenv, makeWrapper, fetchurl, requireFile, perl, ncurses, expat, python27, zlib
{ lib, stdenv, makeWrapper, fetchurl, requireFile, perl, ncurses5, expat, python27, zlib
, gcc48, gcc49, gcc5, gcc6, gcc7
, xorg, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
, xorg, gtk2, gdk_pixbuf, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
}:

let
@@ -40,17 +40,15 @@ let
outputs = [ "out" "lib" "doc" ];

nativeBuildInputs = [ perl makeWrapper ];

buildInputs = [ gdk_pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
runtimeDependencies = [
ncurses expat python zlib glibc
ncurses5 expat python zlib glibc
xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
gtk2 glib fontconfig freetype unixODBC alsaLib
];

rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";

phases = [ "unpackPhase" "installPhase" "fixupPhase" ];

unpackPhase = ''
sh $src --keep --noexec
@@ -68,8 +66,10 @@ let
'';

installPhase = ''
runHook preInstall
mkdir $out
cd $(basename $src)
export PERL5LIB=.
perl ./install-linux.pl --prefix="$out"
cd ..
for patch in $runPatches; do
@@ -84,7 +84,7 @@ let
rm -rf $out/lib
# Remove some cruft.
rm $out/bin/uninstall*
${lib.optionalString (lib.versionAtLeast version "7.0") "rm $out/bin/uninstall*"}
# Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
if [ -d "$out"/cuda-samples ]; then
@@ -119,6 +119,15 @@ let
'' + lib.optionalString (lib.versionOlder version "8.0") ''
# Hack to fix building against recent Glibc/GCC.
echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
'' + ''
runHook postInstall
'';

postInstall = ''
for b in nvvp nsight; do
wrapProgram "$out/bin/$b" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
done
'';

preFixup = ''
@@ -138,6 +147,23 @@ let
done < <(find $out $lib $doc -type f -print0)
'';

doInstallCheck = true;
postInstallCheck = let
in ''
# Smoke test binaries
pushd $out/bin
for f in *; do
case $f in
crt) continue;;
nvcc.profile) continue;;
nsight_ee_plugins_manage.sh) continue;;
uninstall_cuda_toolkit_6.5.pl) continue;;
computeprof|nvvp|nsight) continue;; # GUIs don't feature "--version"
*) echo "Executing '$f --version':"; ./$f --version;;
esac
done
popd
'';
passthru = {
cc = gcc;
majorVersion =
@@ -199,6 +225,24 @@ in rec {
version = "9.0.176.1";
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run";
sha256 = "0308rmmychxfa4inb1ird9bpgfppgr9yrfg1qp0val5azqik91ln";
runPatches = [
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/1/cuda_9.0.176.1_linux-run";
sha256 = "1vbqg97pq9z9c8nqvckiwmq3ljm88m7gaizikzxbvz01izh67gx4";
})
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/2/cuda_9.0.176.2_linux-run";
sha256 = "1sz5dijbx9yf7drfipdxav5a5g6sxy4w6vi9xav0lb6m2xnmyd7c";
})
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/3/cuda_9.0.176.3_linux-run";
sha256 = "1jm83bxpscpjhzs5q3qijdgjm0r8qrdlgkj7y08fq8c0v8q2r7j2";
})
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/4/cuda_9.0.176.4_linux-run";
sha256 = "0pymg3mymsa2n48y0njz3spzlkm15lvjzw8fms1q83zslz4x0lwk";
})
];
gcc = gcc6;
};

7 changes: 5 additions & 2 deletions pkgs/development/mobile/titaniumenv/build-app.nix
Original file line number Diff line number Diff line change
@@ -40,8 +40,7 @@ in
stdenv.mkDerivation ({
name = stdenv.lib.replaceChars [" "] [""] name;

buildInputs = [ nodejs titanium alloy python which file jdk ]
++ stdenv.lib.optional (target == "iphone") xcodewrapper;
buildInputs = [ nodejs titanium alloy python which file jdk ];

buildPhase = ''
${preBuild}
@@ -91,6 +90,10 @@ stdenv.mkDerivation ({
''}
''
else if target == "iphone" then ''
# Be sure that the Xcode wrapper has priority over everything else.
# When using buildInputs this does not seem to be the case.
export PATH=${xcodewrapper}/bin:$PATH
# Configure the path to Xcode
titanium --config-file $TMPDIR/config.json --no-colors config paths.xcode ${xcodeBaseDir}
5 changes: 5 additions & 0 deletions pkgs/development/mobile/titaniumenv/titaniumsdk-7.5.nix
Original file line number Diff line number Diff line change
@@ -87,6 +87,11 @@ stdenv.mkDerivation {
# Patch maven central repository with our own local directory. This prevents the builder from downloading Maven artifacts
sed -i -e 's|mavenCentral()|maven { url "${fakeMavenRepo}" }|' android/templates/build/proguard.gradle
# Patch the strip frameworks script in the iPhone build template to not let
# it skip the strip phase. This is caused by an assumption on the file
# permissions in which Nix deviates from the standard.
sed -i -e "s|-perm +111|-perm /111|" iphone/templates/build/strip-frameworks.sh
# Patch some executables
${if stdenv.system == "i686-linux" then
3 changes: 3 additions & 0 deletions pkgs/development/mobile/xcodeenv/compose-xcodewrapper.nix
Original file line number Diff line number Diff line change
@@ -14,6 +14,9 @@ stdenv.mkDerivation {
ln -s /usr/bin/xcrun
ln -s /usr/bin/plutil
ln -s /usr/bin/clang
ln -s /usr/bin/lipo
ln -s /usr/bin/file
ln -s /usr/bin/rev
ln -s "${xcodeBaseDir}/Contents/Developer/usr/bin/xcodebuild"
ln -s "${xcodeBaseDir}/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator"
30 changes: 15 additions & 15 deletions pkgs/development/python-modules/qscintilla-qt5/default.nix
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
{ lib
, buildPythonPackage
, qscintillaCpp
, pythonPackages
, qscintilla
, lndir
, sip
, python
, pyqt5 }:

, qtbase
}:
with pythonPackages;
buildPythonPackage rec {
pname = "qscintilla";
version = qscintillaCpp.version;
src = qscintillaCpp.src;
version = qscintilla.version;
src = qscintilla.src;
format = "other";

nativeBuildInputs = [ lndir sip ];
buildInputs = [ qscintillaCpp ];
nativeBuildInputs = [ lndir sip qtbase ];
buildInputs = [ qscintilla ];
propagatedBuildInputs = [ pyqt5 ];

preConfigure = ''
@@ -23,13 +22,14 @@ buildPythonPackage rec {
cd Python
${python.executable} ./configure.py \
--pyqt=PyQt5 \
--destdir=$out/lib/${python.sitePackages}/PyQt5 \
--stubsdir=$out/lib/${python.sitePackages}/PyQt5 \
--destdir=$out/${python.sitePackages}/PyQt5 \
--stubsdir=$out/${python.sitePackages}/PyQt5 \
--apidir=$out/api/${python.libPrefix} \
--qsci-incdir=${qscintillaCpp}/include \
--qsci-libdir=${qscintillaCpp}/lib \
--qsci-incdir=${qscintilla}/include \
--qsci-libdir=${qscintilla}/lib \
--pyqt-sipdir=${pyqt5}/share/sip/PyQt5 \
--qsci-sipdir=$out/share/sip/PyQt5
--qsci-sipdir=$out/share/sip/PyQt5 \
--sip-incdir=${sip}/include
'';

meta = with lib; {
Loading