summary refs log tree commit diff
path: root/pkgs/development/tools/fdroidserver/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/fdroidserver/default.nix')
-rw-r--r--pkgs/development/tools/fdroidserver/default.nix58
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/development/tools/fdroidserver/default.nix b/pkgs/development/tools/fdroidserver/default.nix
new file mode 100644
index 00000000000..2bdb455f8e8
--- /dev/null
+++ b/pkgs/development/tools/fdroidserver/default.nix
@@ -0,0 +1,58 @@
+{ docker
+, fetchFromGitLab
+, python
+, lib }:
+
+python.pkgs.buildPythonApplication rec {
+  version = "1.1";
+  pname = "fdroidserver";
+
+  src = fetchFromGitLab {
+    owner = "fdroid";
+    repo = "fdroidserver";
+    rev = version;
+    sha256 = "1910ali90aj3wkxy6mi88c5ya6n7zbqr69nvmpc5dydxm0gb98w5";
+  };
+
+  patchPhase = ''
+    substituteInPlace fdroidserver/common.py --replace "FDROID_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), '..'))" "FDROID_PATH = '$out/bin'"
+    substituteInPlace setup.py --replace "pyasn1-modules == 0.2.1" "pyasn1-modules"
+  '';
+
+  preConfigure = ''
+    ${python.interpreter} setup.py compile_catalog
+  '';
+  postInstall = ''
+    install -m 0755 gradlew-fdroid $out/bin
+  '';
+
+  buildInputs = [ python.pkgs.Babel ];
+
+  propagatedBuildInputs = with python.pkgs; [
+    androguard
+    clint
+    defusedxml
+    docker
+    docker-py
+    GitPython
+    libcloud
+    mwclient
+    paramiko
+    pillow
+    pyasn1
+    pyasn1-modules
+    python-vagrant
+    pyyaml
+    qrcode
+    requests
+    ruamel_yaml
+  ];
+
+  meta = with lib; {
+    homepage = https://f-droid.org;
+    description = "Server and tools for F-Droid, the Free Software repository system for Android";
+    license = licenses.agpl3;
+    maintainers = [ lib.maintainers.pmiddend ];
+  };
+
+}