mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-08-31 20:54:56 +00:00
traccar: 6.15.2 -> 6.15.3
Switch to building Traccar from source. Signed-off-by: David Wronek <david.wronek@mainlining.org>
This commit is contained in:
3801
pkgs/by-name/tr/traccar/deps.json
generated
Normal file
3801
pkgs/by-name/tr/traccar/deps.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,43 +1,100 @@
|
||||
{
|
||||
fetchzip,
|
||||
lib,
|
||||
pkgs,
|
||||
stdenvNoCC,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchNpmDeps,
|
||||
makeWrapper,
|
||||
npmHooks,
|
||||
gradle,
|
||||
jdk_headless,
|
||||
jre_minimal,
|
||||
nodejs,
|
||||
protobuf,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "traccar";
|
||||
version = "6.15.2";
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
|
||||
src = fetchzip {
|
||||
stripRoot = false;
|
||||
url = "https://github.com/traccar/traccar/releases/download/v${version}/traccar-other-${version}.zip";
|
||||
hash = "sha256-PxZFun5fxe7Y9xU25WfeuxZGodD/vbs2dSqOzkzJgQc=";
|
||||
let
|
||||
jre = jre_minimal.override {
|
||||
jdk = jdk_headless;
|
||||
modules = [
|
||||
"java.desktop"
|
||||
"java.logging"
|
||||
"java.management"
|
||||
"java.naming"
|
||||
"java.sql"
|
||||
"jdk.crypto.ec"
|
||||
];
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "traccar";
|
||||
version = "6.15.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "traccar";
|
||||
repo = "traccar";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ic9l5WnbsCLl+THyz9LXkTGTTwyrm3gU4IPi3B362Gc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
npmHooks.npmConfigHook
|
||||
gradle
|
||||
nodejs
|
||||
];
|
||||
|
||||
patches = [ ./use-protobuf-from-nixpkgs.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteAllInPlace build.gradle
|
||||
'';
|
||||
|
||||
env.protocPath = lib.getExe' protobuf "protoc";
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
pkg = finalAttrs.finalPackage;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
npmRoot = "traccar-web";
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
src = "${finalAttrs.src}/traccar-web";
|
||||
hash = "sha256-C/jfTuFFGdGNGyoYb5fhEmsKdWb5XfsoJ388Rzh35fY=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
pushd traccar-web
|
||||
npm run build
|
||||
popd
|
||||
'';
|
||||
|
||||
gradleBuildTask = "build";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
for dir in lib schema templates web ; do
|
||||
mkdir -p $out/$dir
|
||||
cp -a $dir $out
|
||||
done
|
||||
|
||||
mkdir -p $out/share/traccar
|
||||
install -Dm644 tracker-server.jar $out
|
||||
|
||||
makeWrapper ${pkgs.openjdk}/bin/java $out/bin/traccar \
|
||||
mkdir -p $out/bin
|
||||
cp -r {schema,target/*,templates} $out
|
||||
cp -r traccar-web/build $out/web
|
||||
cp -r traccar-web/src/resources/l10n $out/templates/translations
|
||||
makeWrapper ${lib.getExe jre} $out/bin/traccar \
|
||||
--add-flags "-jar $out/tracker-server.jar"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = {
|
||||
description = "Open source GPS tracking system";
|
||||
homepage = "https://www.traccar.org/";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
sourceProvenance = with lib.sourceTypes; [
|
||||
binaryBytecode
|
||||
fromSource
|
||||
];
|
||||
license = lib.licenses.asl20;
|
||||
mainProgram = "traccar";
|
||||
maintainers = with lib.maintainers; [ frederictobiasc ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
32
pkgs/by-name/tr/traccar/use-protobuf-from-nixpkgs.patch
Normal file
32
pkgs/by-name/tr/traccar/use-protobuf-from-nixpkgs.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index e238ffefb..fb49ec8dd 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -1,3 +1,9 @@
|
||||
+buildscript {
|
||||
+ dependencies {
|
||||
+ classpath 'com.google.protobuf:protobuf-gradle-plugin:0.10.0'
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
plugins {
|
||||
id "java"
|
||||
id "checkstyle"
|
||||
@@ -6,6 +12,8 @@ plugins {
|
||||
id "com.github.ben-manes.versions" version "0.54.0"
|
||||
}
|
||||
|
||||
+apply plugin: 'com.google.protobuf'
|
||||
+
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
@@ -76,7 +84,7 @@ ext.hk2Version = resolveTransitiveVersion(
|
||||
|
||||
protobuf {
|
||||
protoc {
|
||||
- artifact = "com.google.protobuf:protoc:$protobufVersion"
|
||||
+ path = "@protocPath@"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user