diff --git a/Makefile b/Makefile index 6343ffb..b6ab028 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,7 @@ PROGNAME=dump1090 RTLSDR ?= yes BLADERF ?= yes +PKG_CONFIG ?= pkg-config CPPFLAGS += -DMODES_DUMP1090_VERSION=\"$(DUMP1090_VERSION)\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" @@ -21,13 +22,13 @@ ifeq ($(RTLSDR), yes) LIBS_SDR += -L$(RTLSDR_PREFIX)/lib -lrtlsdr -lusb-1.0 endif else - CFLAGS += $(shell pkg-config --cflags librtlsdr) + CFLAGS += $(shell $(PKG_CONFIG) --cflags librtlsdr) # some packaged .pc files are massively broken, try to handle it - RTLSDR_LFLAGS := $(shell pkg-config --libs-only-L librtlsdr) + RTLSDR_LFLAGS := $(shell $(PKG_CONFIG) --libs-only-L librtlsdr) ifeq ($(RTLSDR_LFLAGS),-L) - LIBS_SDR += $(shell pkg-config --libs-only-l --libs-only-other librtlsdr) + LIBS_SDR += $(shell $(PKG_CONFIG) --libs-only-l --libs-only-other librtlsdr) else - LIBS_SDR += $(shell pkg-config --libs librtlsdr) + LIBS_SDR += $(shell $(PKG_CONFIG) --libs librtlsdr) endif endif endif @@ -35,8 +36,8 @@ endif ifeq ($(BLADERF), yes) SDR_OBJ += sdr_bladerf.o CPPFLAGS += -DENABLE_BLADERF - CFLAGS += $(shell pkg-config --cflags libbladeRF) - LIBS_SDR += $(shell pkg-config --libs libbladeRF) + CFLAGS += $(shell $(PKG_CONFIG) --cflags libbladeRF) + LIBS_SDR += $(shell $(PKG_CONFIG) --libs libbladeRF) endif all: dump1090 view1090 diff --git a/default.nix b/default.nix index a955828..16dc4b9 100644 --- a/default.nix +++ b/default.nix @@ -2,7 +2,6 @@ , stdenv , fetchFromGitHub , pkg-config -, libbladeRF , libusb1 , ncurses , rtl-sdr @@ -19,7 +18,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - libbladeRF libusb1 ncurses rtl-sdr @@ -29,7 +27,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-implicit-function-declaration -Wno-int-conversion"; - buildFlags = [ "dump1090" ]; + buildFlags = [ "BLADERF=no" "dump1090" ]; doCheck = true; diff --git a/flake.lock b/flake.lock index bd98bc3..642bc22 100644 --- a/flake.lock +++ b/flake.lock @@ -18,41 +18,7 @@ }, "root": { "inputs": { - "nixpkgs": "nixpkgs", - "utils": "utils" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" + "nixpkgs": "nixpkgs" } } }, diff --git a/flake.nix b/flake.nix index c13d761..eddd5fc 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,5 @@ { description = "A flake for dump1090 with DL0XK patches."; - inputs = { # Pointing to the current stable release of nixpkgs. You can # customize this to point to an older version or unstable if you @@ -10,25 +9,29 @@ # # nixpkgs.url = "github:NixOS/nixpkgs/unstable"; nixpkgs.url = "github:NixOS/nixpkgs/23.05"; - - utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, utils }: + + outputs = inputs@{ self, nixpkgs, ... }: let - systems = utils.lib.system; + lib = nixpkgs.lib; + + allSystems = [ "x86_64-linux" "aarch64-linux" "armv6l-linux" ]; + + crossPkgs-aarch64-linux = import nixpkgs { localSystem = "x86_64-linux"; crossSystem = "aarch64-linux"; }; + crossPkgs-armv6l-linux = import nixpkgs { localSystem = "x86_64-linux"; crossSystem = "armv6l-linux"; }; in - utils.lib.eachSystem [ systems.x86_64-linux systems.aarch64-linux systems.armv6l-linux ] - (system: - let - pkgs = nixpkgs.legacyPackages.${system}; - in - { - - formatter = pkgs.nixpkgs-fmt; - - defaultPackage = pkgs.callPackage ./default.nix { }; - } - ); + { + formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt; + packages = { + x86_64-linux = { + default = nixpkgs.legacyPackages.x86_64-linux.callPackage ./default.nix { }; + cross-aarch64-linux = crossPkgs-aarch64-linux.callPackage ./default.nix { }; + cross-armv6l-linux = crossPkgs-armv6l-linux.callPackage ./default.nix { }; + }; + aarch64-linux.default = nixpkgs.legacyPackages.aarch64-linux.callPackage ./default.nix { }; + armv6l-linux.default = nixpkgs.legacyPackages.armv6l-linux.callPackage ./default.nix { }; + }; + }; } diff --git a/result b/result new file mode 120000 index 0000000..fb57a85 --- /dev/null +++ b/result @@ -0,0 +1 @@ +/nix/store/6czbzhsdidalrmwmxqh5xdvd6ma8ynp2-dump1090-afg-armv6l-unknown-linux-gnueabihf-1.0 \ No newline at end of file