From 25cd84fd1941adc3f18999ea5d322f6150a5eefa Mon Sep 17 00:00:00 2001 From: netcrns Date: Mon, 26 Apr 2021 17:28:43 +0200 Subject: [PATCH] movine: init at 0.11.0 movine: make meta.description a one-liner movine: make build on darwin work --- .../tools/database/movine/default.nix | 54 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/tools/database/movine/default.nix diff --git a/pkgs/development/tools/database/movine/default.nix b/pkgs/development/tools/database/movine/default.nix new file mode 100644 index 000000000000..fd5debcb9a20 --- /dev/null +++ b/pkgs/development/tools/database/movine/default.nix @@ -0,0 +1,54 @@ +{ rustPlatform +, fetchFromGitHub +, lib +, stdenv +, pkg-config +, postgresql +, sqlite +, openssl +, Security +, libiconv +}: + +rustPlatform.buildRustPackage rec { + pname = "movine"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "byronwasti"; + repo = pname; + rev = "v${version}"; + sha256 = "0rms8np8zd23xzrd5avhp2q1ndhdc8f49lfwpff9h0slw4rnzfnj"; + }; + + cargoSha256 = "sha256-4ghfenwmauR4Ft9n7dvBflwIMXPdFq1vh6FpIegHnZk="; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ postgresql sqlite ] ++ ( + if !stdenv.isDarwin then [ openssl ] else [ Security libiconv ] + ); + + meta = with lib; { + description = "A migration manager written in Rust, that attempts to be smart yet minimal"; + homepage = "https://github.com/byronwasti/movine"; + license = licenses.mit; + longDescription = '' + Movine is a simple database migration manager that aims to be compatible + with real-world migration work. Many migration managers get confused + with complicated development strategies for migrations. Oftentimes + migration managers do not warn you if the SQL saved in git differs from + what was actually run on the database. Movine solves this issue by + keeping track of the unique hashes for the up.sql and + down.sql for each migration, and provides tools for + fixing issues. This allows users to easily keep track of whether their + local migration history matches the one on the database. + + This project is currently in early stages. + + Movine does not aim to be an ORM. + Consider diesel instead if + you want an ORM. + ''; + maintainers = with maintainers; [ netcrns ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cdf28b9782c7..3775a43862c8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16499,6 +16499,10 @@ in mono-addins = callPackage ../development/libraries/mono-addins { }; + movine = callPackage ../development/tools/database/movine { + inherit (darwin.apple_sdk.frameworks) Security; + }; + movit = callPackage ../development/libraries/movit { }; mosquitto = callPackage ../servers/mqtt/mosquitto { };