commit
19159ced3e
3 changed files with 175 additions and 154 deletions
|
@ -32,7 +32,8 @@ let
|
|||
dataDir = "${seafRoot}/data";
|
||||
seahubDir = "${seafRoot}/seahub";
|
||||
|
||||
in {
|
||||
in
|
||||
{
|
||||
|
||||
###### Interface
|
||||
|
||||
|
@ -147,7 +148,8 @@ in {
|
|||
description = "Seafile components";
|
||||
};
|
||||
|
||||
systemd.services = let
|
||||
systemd.services =
|
||||
let
|
||||
securityOptions = {
|
||||
ProtectHome = true;
|
||||
PrivateUsers = true;
|
||||
|
@ -167,7 +169,8 @@ in {
|
|||
SystemCallArchitectures = "native";
|
||||
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ];
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
seaf-server = {
|
||||
description = "Seafile server";
|
||||
partOf = [ "seafile.target" ];
|
||||
|
@ -206,7 +209,6 @@ in {
|
|||
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
|
||||
fi
|
||||
# checking for upgrades and handling them
|
||||
# WARNING: needs to be extended to actually handle major version migrations
|
||||
installedMajor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f1)
|
||||
installedMinor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f2)
|
||||
pkgMajor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f1)
|
||||
|
@ -218,6 +220,10 @@ in {
|
|||
# Upgrade from 8.0 to 9.0
|
||||
sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/9.0.0/sqlite3/seafile.sql"
|
||||
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
|
||||
elif [[ $installedMajor == 9 && $installedMinor == 0 && $pkgMajor == 10 && $pkgMinor == 0 ]]; then
|
||||
# Upgrade from 9.0 to 10.0
|
||||
sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/10.0.0/sqlite3/seafile.sql"
|
||||
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
|
||||
else
|
||||
echo "Unsupported upgrade" >&2
|
||||
exit 1
|
||||
|
|
|
@ -6,29 +6,22 @@
|
|||
, nixosTests
|
||||
}:
|
||||
let
|
||||
# Seahub 8.x.x does not support django-webpack-loader >=1.x.x
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
django-webpack-loader = super.django-webpack-loader.overridePythonAttrs (old: rec {
|
||||
version = "0.7.0";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
hash = "sha256-ejyIIBqlRIH5OZRlYVy+e5rs6AgUlqbQKHt8uOIy9Ec=";
|
||||
};
|
||||
});
|
||||
django = super.django_3;
|
||||
};
|
||||
};
|
||||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "seahub";
|
||||
version = "9.0.10";
|
||||
version = "10.0.1";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "seahub";
|
||||
rev = "5971bf25fe67d94ec4d9f53b785c15a098113620"; # using a fixed revision because upstream may re-tag releases :/
|
||||
sha256 = "sha256-7Exvm3EShb/1EqwA4wzWB9zCdv0P/ISmjKSoqtOMnqk=";
|
||||
rev = "e8c02236c0eaca6dde009872745f089da4b77e6e"; # using a fixed revision because upstream may re-tag releases :/
|
||||
sha256 = "sha256-7JXWKEFqCsC+ZByhvyP8AmDpajT3hpgyYDNUqc3wXyg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -1,6 +1,25 @@
|
|||
{ stdenv, lib, fetchFromGitHub, pkg-config, python3, autoreconfHook
|
||||
, libuuid, sqlite, glib, libevent, libsearpc, openssl, fuse, libarchive, which
|
||||
, vala, cmake, oniguruma, nixosTests }:
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, python3
|
||||
, autoreconfHook
|
||||
, libuuid
|
||||
, sqlite
|
||||
, glib
|
||||
, libevent
|
||||
, libsearpc
|
||||
, openssl
|
||||
, fuse
|
||||
, libarchive
|
||||
, libjwt
|
||||
, curl
|
||||
, which
|
||||
, vala
|
||||
, cmake
|
||||
, oniguruma
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
let
|
||||
# seafile-server relies on a specific version of libevhtp.
|
||||
|
@ -8,15 +27,16 @@ let
|
|||
libevhtp = import ./libevhtp.nix {
|
||||
inherit stdenv lib fetchFromGitHub cmake libevent;
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "seafile-server";
|
||||
version = "9.0.10";
|
||||
version = "10.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "seafile-server";
|
||||
rev = "079a8b65a543bfbc48e7671c3dbbffe19fd02944"; # using a fixed revision because upstream may re-tag releases :/
|
||||
sha256 = "sha256-F1n4E6ajpri3CVM7B28UKoTV1oOLr5nTy6Lw0E5tCrc=";
|
||||
rev = "db09baec1b88fc131bf4453a808ab63a3fc714c9"; # using a fixed revision because upstream may re-tag releases :/
|
||||
sha256 = "sha256-a5vtJcbnaYzq6/3xmhbWk23BZ+Wil/Tb/q22ML4bDqs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
@ -31,6 +51,8 @@ in stdenv.mkDerivation rec {
|
|||
python3
|
||||
fuse
|
||||
libarchive
|
||||
libjwt
|
||||
curl
|
||||
which
|
||||
vala
|
||||
libevhtp
|
||||
|
|
Loading…
Reference in a new issue