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:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,21 @@
diff -ruN cfitsio/configure cfitsio-rpath-universal/configure
--- cfitsio/configure 2018-05-09 21:16:00.000000000 +0200
+++ cfitsio-rpath-universal/configure 2021-10-27 12:02:25.000000000 +0200
@@ -4829,16 +4829,7 @@
SHLIB_SUFFIX=".dylib"
CFITSIO_SHLIB="lib\${PACKAGE}.\${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}\${SHLIB_SUFFIX}"
CFITSIO_SHLIB_SONAME="lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX}"
- case $host in
- *darwin[56789]*)
- SHLIB_LD="$CC -dynamiclib -install_name lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}.\${CFITSIO_MICRO}"
- ;;
- *)
- # Build 'Universal' binaries (i386 & x86_64 architectures) and
- # use rpath token on Darwin 10.x or newer:
- SHLIB_LD="$CC -dynamiclib $C_UNIV_SWITCH -headerpad_max_install_names -install_name @rpath/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}.\${CFITSIO_MICRO}"
- ;;
- esac
+ SHLIB_LD="$CC -dynamiclib -install_name ${out}/lib/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
lhea_shlib_cflags="-fPIC -fno-common"
;;

View file

@ -0,0 +1,42 @@
{ stdenv, lib, fetchurl, bzip2, zlib }:
stdenv.mkDerivation rec {
pname = "cfitsio";
version = "4.1.0";
src = fetchurl {
url = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-${version}.tar.gz";
sha256 = "sha256-s2fGldKDGVjnFmkhw7NW1d+lGx7O5QW5dBa6OdG2wXo=";
};
buildInputs = [ bzip2 zlib ];
patches = [ ./darwin-rpath-universal.patch ];
configureFlags = [ "--with-bzip2=${bzip2.out}" "--enable-reentrant" ];
hardeningDisable = [ "format" ];
# Shared-only build
buildFlags = [ "shared" ];
postPatch = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
'';
meta = with lib; {
homepage = "https://heasarc.gsfc.nasa.gov/fitsio/";
description = "Library for reading and writing FITS data files";
longDescription =
'' CFITSIO is a library of C and Fortran subroutines for reading and
writing data files in FITS (Flexible Image Transport System) data
format. CFITSIO provides simple high-level routines for reading and
writing FITS files that insulate the programmer from the internal
complexities of the FITS format. CFITSIO also provides many
advanced features for manipulating and filtering the information in
FITS files.
'';
changelog = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/docs/changes.txt";
license = licenses.mit;
maintainers = with maintainers; [ xbreak hjones2199 ];
platforms = with platforms; linux ++ darwin;
};
}

View file

@ -0,0 +1,56 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, cfitsio
, libusb1
, zlib
, boost
, libnova
, curl
, libjpeg
, gsl
, fftw
}:
stdenv.mkDerivation rec {
pname = "indilib";
version = "1.9.5";
src = fetchFromGitHub {
owner = "indilib";
repo = "indi";
rev = "v${version}";
sha256 = "sha256-mj9rnPn85Fbc7Y8qRndqPVANzBrk3al+vDJagLTDJ04=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
curl
cfitsio
libusb1
zlib
boost
libnova
libjpeg
gsl
fftw
];
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d"
];
meta = with lib; {
homepage = "https://www.indilib.org/";
description = "Implementation of the INDI protocol for POSIX operating systems";
changelog = "https://github.com/indilib/indi/releases/tag/v${version}";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ hjones2199 ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,79 @@
{ stdenv
, lib
, cmake
, cfitsio
, libusb1
, zlib
, boost
, libnova
, curl
, libjpeg
, gsl
, fftw
, indilib
, libgphoto2
, libraw
, libftdi1
, libdc1394
, gpsd
, ffmpeg
, version
, src
, withFirmware ? false
, firmware ? null
}:
stdenv.mkDerivation rec {
pname = "indi-3rdparty";
inherit version src;
nativeBuildInputs = [ cmake ];
buildInputs = [
indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd
libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw
] ++ lib.optionals withFirmware [
firmware
];
postPatch = ''
for f in indi-qsi/CMakeLists.txt \
indi-dsi/CMakeLists.txt \
indi-armadillo-platypus/CMakeLists.txt \
indi-orion-ssg3/CMakeLists.txt
do
substituteInPlace $f \
--replace "/lib/udev/rules.d" "lib/udev/rules.d" \
--replace "/etc/udev/rules.d" "lib/udev/rules.d" \
--replace "/lib/firmware" "lib/firmware"
done
'';
cmakeFlags = [
"-DINDI_DATA_DIR=share/indi"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d"
"-DRULES_INSTALL_DIR=lib/udev/rules.d"
# Pentax, Atik, and SX cmakelists are currently broken
"-DWITH_PENTAX=off"
"-DWITH_ATIK=off"
"-DWITH_SX=off"
] ++ lib.optionals (!withFirmware) [
"-DWITH_APOGEE=off"
"-DWITH_DSI=off"
"-DWITH_QHY=off"
"-DWITH_ARMADILLO=off"
"-DWITH_FISHCAMP=off"
"-DWITH_SBIG=off"
];
meta = with lib; {
homepage = "https://www.indilib.org/";
description = "Third party drivers for the INDI astronomical software suite";
changelog = "https://github.com/indilib/indi-3rdparty/releases/tag/v${version}";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ hjones2199 ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,66 @@
{ stdenv
, lib
, cmake
, cfitsio
, libusb1
, zlib
, boost
, libnova
, curl
, libjpeg
, gsl
, fftw
, indilib
, libgphoto2
, libraw
, libftdi1
, libdc1394
, gpsd
, ffmpeg
, version
, src
}:
stdenv.mkDerivation rec {
pname = "indi-firmware";
inherit version src;
nativeBuildInputs = [ cmake ];
buildInputs = [
indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd
libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw
];
cmakeFlags = [
"-DINDI_DATA_DIR=\${CMAKE_INSTALL_PREFIX}/share/indi"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d"
"-DRULES_INSTALL_DIR=lib/udev/rules.d"
"-DFIRMWARE_INSTALL_DIR=\${CMAKE_INSTALL_PREFIX}/lib/firmware"
"-DCONF_DIR=etc"
"-DBUILD_LIBS=1"
"-DWITH_PENTAX=off"
];
postPatch = ''
for f in libfishcamp/CMakeLists.txt libsbig/CMakeLists.txt
do
substituteInPlace $f --replace "/lib/firmware" "lib/firmware"
done
'';
postFixup = ''
rm $out/lib/udev/rules.d/99-fli.rules
'';
meta = with lib; {
homepage = "https://www.indilib.org/";
description = "Third party firmware for the INDI astronomical software suite";
changelog = "https://github.com/indilib/indi-3rdparty/releases/tag/v${version}";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ hjones2199 ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,30 @@
{ stdenv, lib, callPackage, fetchFromGitHub, indilib }:
let
indi-version = "1.9.3";
indi-3rdparty-src = fetchFromGitHub {
owner = "indilib";
repo = "indi-3rdparty";
rev = "v${indi-version}";
sha256 = "sha256-TBccdheBEO48uIXd6tya6dytkzxaHg2+YancBkcL3bw=";
};
indi-firmware = callPackage ./indi-firmware.nix {
version = indi-version;
src = indi-3rdparty-src;
};
indi-3rdparty = callPackage ./indi-3rdparty.nix {
version = indi-version;
src = indi-3rdparty-src;
withFirmware = stdenv.isx86_64;
firmware = indi-firmware;
};
in
callPackage ./indi-with-drivers.nix {
pname = "indi-full";
version = indi-version;
extraDrivers = [
indi-3rdparty
] ++ lib.optionals stdenv.isx86_64 [
indi-firmware
];
}

View file

@ -0,0 +1,10 @@
{ buildEnv, indilib ? indilib, pname ? "indi-with-drivers", version ? null, extraDrivers ? null }:
buildEnv {
name = "${pname}-${version}";
paths = [
indilib
]
++ extraDrivers;
inherit (indilib) meta;
}

View file

@ -0,0 +1,25 @@
{ lib, stdenv, fetchgit, autoreconfHook }:
stdenv.mkDerivation rec {
pname = "libnova";
version = "0.16";
# pull from git repo because upstream stopped tarball releases after v0.15
src = fetchgit {
url = "https://git.code.sf.net/p/libnova/${pname}";
rev = "v${version}";
sha256 = "0icwylwkixihzni0kgl0j8dx3qhqvym6zv2hkw2dy6v9zvysrb1b";
};
nativeBuildInputs = [
autoreconfHook
];
meta = with lib; {
description = "Celestial Mechanics, Astrometry and Astrodynamics Library";
homepage = "http://libnova.sf.net";
license = licenses.gpl2;
maintainers = with maintainers; [ hjones2199 ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,30 @@
{ lib, mkDerivation, fetchFromGitHub, cmake,
qtbase, cfitsio, gsl, wcslib, withTester ? false }:
mkDerivation rec {
pname = "stellarsolver";
version = "2.2";
src = fetchFromGitHub {
owner = "rlancaste";
repo = pname;
rev = version;
sha256 = "sha256-Ay7bszR4D5KKFiVLXfweJcc8jgUSZljnZVblEx7xh8o=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ qtbase cfitsio gsl wcslib ];
cmakeFlags = [
"-DBUILD_TESTER=${if withTester then "on" else "off"}"
];
meta = with lib; {
homepage = "https://github.com/rlancaste/stellarsolver";
description = "Astrometric plate solving library";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ hjones2199 ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,30 @@
{ lib, stdenv, fetchurl, flex }:
stdenv.mkDerivation rec {
pname = "wcslib";
version = "7.9";
src = fetchurl {
url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${pname}-${version}.tar.bz2";
sha256 = "sha256-vv+MHw6GAAeIE8Ay0a/NnLMFwx9WdWdDSCQjPVgqulg=";
};
nativeBuildInputs = [ flex ];
enableParallelBuilding = true;
outputs = [ "out" "man" ];
meta = with lib; {
homepage = "https://www.atnf.csiro.au/people/mcalabre/WCS/";
description = "World Coordinate System library for astronomy";
longDescription = ''
Library for world coordinate systems for spherical geometries
and their conversion to image coordinate systems. This is the
standard library for this purpose in astronomy.
'';
maintainers = with maintainers; [ hjones2199 ];
license = licenses.lgpl3Plus;
platforms = platforms.unix;
};
}