From 8327d80c70e2dc44d09a37ee90b32bbe939c43c9 Mon Sep 17 00:00:00 2001
From: Garionion <git@entr0py.de>
Date: Sat, 28 Jan 2023 20:30:10 +0100
Subject: [PATCH] feat: add drone file

---
 .drone.yml  | 12 ++++++++++++
 default.nix | 10 ++++++++++
 flake.lock  | 41 +++++++++++++++++++++++++++++++++++++++++
 flake.nix   | 13 +++++++++++++
 package.nix | 32 ++++++++++++++++++++++++++++++++
 5 files changed, 108 insertions(+)
 create mode 100644 .drone.yml
 create mode 100644 default.nix
 create mode 100644 flake.lock
 create mode 100644 flake.nix
 create mode 100644 package.nix

diff --git a/.drone.yml b/.drone.yml
new file mode 100644
index 0000000..01abcd6
--- /dev/null
+++ b/.drone.yml
@@ -0,0 +1,12 @@
+kind: pipeline
+type: docker
+name: default
+
+steps:
+  - name: build
+    image: "nixos/nix"
+    environment:
+      USER: root
+    commands:
+      - nix-channel --update
+      - nix --extra-experimental-features nix-command build
\ No newline at end of file
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..18cf54d
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,10 @@
+{ pkgs ? import <nixpkgs> { } }:
+with pkgs;
+mkShell {
+    BuildInputs = [
+        gcc
+    ];
+    nativeBuildInputs = [
+        go_1_19
+    ];
+}
\ No newline at end of file
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..b6bc263
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,41 @@
+{
+  "nodes": {
+    "flake-utils": {
+      "locked": {
+        "lastModified": 1667395993,
+        "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
+    "nixpkgs": {
+      "locked": {
+        "lastModified": 1674899129,
+        "narHash": "sha256-6LGae8WbdCN4S9+o2wfYDJPpfxC2EnXEvoopVkguNtc=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "6b9c27b4c9c1c329b27a44ed1fa8935df79f9a8b",
+        "type": "github"
+      },
+      "original": {
+        "id": "nixpkgs",
+        "type": "indirect"
+      }
+    },
+    "root": {
+      "inputs": {
+        "flake-utils": "flake-utils",
+        "nixpkgs": "nixpkgs"
+      }
+    }
+  },
+  "root": "root",
+  "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..ae36a55
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,13 @@
+{
+    description = "tcp-stream-proxy";
+    inputs.flake-utils.url = "github:numtide/flake-utils";
+    outputs = { self, nixpkgs, flake-utils }:
+        flake-utils.lib.eachDefaultSystem
+            (system:
+                let pkgs = nixpkgs.legacyPackages.${system}; in
+                {
+                    devShell = import ./default.nix { inherit pkgs; };
+                    defaultPackage = import ./package.nix { inherit pkgs;};
+                }
+            );
+}
\ No newline at end of file
diff --git a/package.nix b/package.nix
new file mode 100644
index 0000000..1ec0fb0
--- /dev/null
+++ b/package.nix
@@ -0,0 +1,32 @@
+{ pkgs ? import <nixpkgs> { } }:
+with pkgs;
+let
+    version = "0.0.1";
+    deps = [ ];
+    nativeDeps = [ ];
+in
+pkgs.buildGo119Module {
+  pname = "tcp-stream-proxy";
+  inherit version;
+  src = ./.;
+  buildInputs = [
+    stdenv glibc.static
+  ] ++deps;
+  nativeBuildInputs = [
+  ] ++nativeDeps;
+  tags = [ ];
+  ldflags = [
+      "-s" "-w"
+      "-linkmode external"
+      "-extldflags -static"
+    ];
+
+  allowGoReference = false;
+  vendorSha256 = lib.fakeSha256;
+  #vendorSha256 = "sha256-RXX9t2DOOWvtaxX2bE3E/ioRb/07nLpSue6TsLDHATQ=";
+
+  meta = {
+    description = "A little Proxy which forwards TCP streams";
+    homepage = "https://git.entr0py.de/garionion/tcp-stream-proxy";
+  };
+}
\ No newline at end of file