diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 895a3590c1db..294843e03c65 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -967,6 +967,11 @@ github = "danielfullmer"; name = "Daniel Fullmer"; }; + das-g = { + email = "nixpkgs@raphael.dasgupta.ch"; + github = "das-g"; + name = "Raphael Das Gupta"; + }; das_j = { email = "janne@hess.ooo"; github = "dasJ"; diff --git a/pkgs/applications/misc/osmium-tool/default.nix b/pkgs/applications/misc/osmium-tool/default.nix new file mode 100644 index 000000000000..36e58cf5070b --- /dev/null +++ b/pkgs/applications/misc/osmium-tool/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub, cmake, libosmium, protozero, boost, bzip2, zlib, expat }: + +stdenv.mkDerivation rec { + name = "osmium-tool-${version}"; + version = "1.9.1"; + + src = fetchFromGitHub { + owner = "osmcode"; + repo = "osmium-tool"; + rev = "v${version}"; + sha256 = "1cwabjbrdpqbi2gl7448sgniiwwa73avi9l6pnvh4r0jia2wi5wk"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ libosmium protozero boost bzip2 zlib expat ]; + + meta = with stdenv.lib; { + description = "Multipurpose command line tool for working with OpenStreetMap data based on the Osmium library"; + homepage = "https://osmcode.org/osmium-tool/"; + license = with licenses; [ gpl3 mit bsd3 ]; + maintainers = with maintainers; [ das-g ]; + }; +} diff --git a/pkgs/development/libraries/libosmium/default.nix b/pkgs/development/libraries/libosmium/default.nix new file mode 100644 index 000000000000..e889a3cb275c --- /dev/null +++ b/pkgs/development/libraries/libosmium/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, cmake, protozero, expat, zlib, bzip2, boost }: + +stdenv.mkDerivation rec { + name = "libosmium-${version}"; + version = "2.14.2"; + + src = fetchFromGitHub { + owner = "osmcode"; + repo = "libosmium"; + rev = "v${version}"; + sha256 = "123ri1l0a2b9fljgpwsl7z2w4i3kmgxz79d4ns9z4mwbp8sw0250"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ protozero zlib bzip2 expat boost ]; + + + meta = with stdenv.lib; { + description = "Fast and flexible C++ library for working with OpenStreetMap data"; + homepage = "https://osmcode.org/libosmium/"; + license = licenses.boost; + maintainers = with maintainers; [ das-g ]; + }; +} diff --git a/pkgs/development/libraries/protozero/default.nix b/pkgs/development/libraries/protozero/default.nix new file mode 100644 index 000000000000..c2d8f5e74c90 --- /dev/null +++ b/pkgs/development/libraries/protozero/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + name = "protozero-${version}"; + version = "1.6.3"; + + src = fetchFromGitHub { + owner = "mapbox"; + repo = "protozero"; + rev = "v${version}"; + sha256 = "0lalk6hp7hqfn4fhhl2zb214idwm4y8dj32vi383arckzmsryhiw"; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with stdenv.lib; { + description = "Minimalistic protocol buffer decoder and encoder in C++"; + homepage = "https://github.com/mapbox/protozero"; + license = with licenses; [ bsd2 asl20 ]; + maintainers = with maintainers; [ das-g ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f50a72c4bf6b..9d391528bf05 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11025,6 +11025,8 @@ with pkgs; libosip_3 = callPackage ../development/libraries/osip/3.nix {}; + libosmium = callPackage ../development/libraries/libosmium { }; + libosmocore = callPackage ../applications/misc/libosmocore { }; libosmpbf = callPackage ../development/libraries/libosmpbf {}; @@ -11826,6 +11828,8 @@ with pkgs; protobufc = callPackage ../development/libraries/protobufc/1.3.nix { }; + protozero = callPackage ../development/libraries/protozero { }; + flatbuffers = callPackage ../development/libraries/flatbuffers { }; gnupth = callPackage ../development/libraries/pth { }; @@ -18341,6 +18345,8 @@ with pkgs; osmctools = callPackage ../applications/misc/osmctools { }; + osmium-tool = callPackage ../applications/misc/osmium-tool { }; + owamp = callPackage ../applications/networking/owamp { }; vivaldi = callPackage ../applications/networking/browsers/vivaldi {};