From 1abed883f1200447249dbd67509022319e827044 Mon Sep 17 00:00:00 2001 From: Lucian Pricop Date: Fri, 24 Apr 2020 19:09:22 +0300 Subject: [PATCH] more nix improvements --- channel.tar.bz2 | Bin 0 -> 3265 bytes composer.json | 66 ------------------ default.nix | 9 +++ composer-env.nix => pkgs/composer-env.nix | 0 sandd.nix => pkgs/earlier.nix | 21 ++++-- .../sandd-php-packages.nix | 4 +- pkgs/sandd.nix | 28 ++++++++ readme.md | 26 +++++++ 8 files changed, 80 insertions(+), 74 deletions(-) create mode 100644 channel.tar.bz2 delete mode 100644 composer.json create mode 100644 default.nix rename composer-env.nix => pkgs/composer-env.nix (100%) rename sandd.nix => pkgs/earlier.nix (58%) rename sandd-php-packages.nix => pkgs/sandd-php-packages.nix (83%) create mode 100644 pkgs/sandd.nix create mode 100644 readme.md diff --git a/channel.tar.bz2 b/channel.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..81b16ac6f9b6fc5f9b1b556500b18d8c756b131a GIT binary patch literal 3265 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.1.3", - "doctrine/dbal": "^2.9", - "enqueue/amqp-bunny": "^0.10.0", - "enqueue/simple-client": "^0.10.0", - "fideloper/proxy": "~4.0", - "intervention/image": "^2.5", - "jasig/phpcas": "1.3.4", - "laravel/framework": "^5.7.7", - "laravel/tinker": "~1.0", - "maatwebsite/excel": "^3.1", - "subfission/cas": "2.0.9", - "symfony/process": "^4.4.1" - }, - "require-dev": { - "beyondcode/laravel-er-diagram-generator": "^1.4", - "filp/whoops": "~2.0", - "fzaninotto/faker": "~1.4", - "mockery/mockery": "~1.0", - "phpunit/phpunit": "~7.0" - }, - "autoload": { - "classmap": [ - "database/seeds", - "database/factories" - ], - "psr-4": { - "App\\": "app/" - } - }, - "autoload-dev": { - "psr-4": { - "Tests\\": "tests/" - } - }, - "extra": { - "laravel": { - "dont-discover": [ - "TelescopeServiceProvider" - ] - } - }, - "scripts": { - "post-root-package-install": [ - "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" - ], - "post-create-project-cmd": [ - "@php artisan key:generate" - ], - "post-autoload-dump": [ - "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", - "@php artisan package:discover" - ] - }, - "config": { - "preferred-install": "dist", - "sort-packages": true, - "optimize-autoloader": true - } -} diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..473f38c --- /dev/null +++ b/default.nix @@ -0,0 +1,9 @@ +{ system ? builtins.currentSystem }: +let + pkgs = import { inherit system; }; + #self = in self +in rec { + search-and-displace = pkgs.callPackage ./pkgs/sandd.nix { + inherit pkgs; + }; +} diff --git a/composer-env.nix b/pkgs/composer-env.nix similarity index 100% rename from composer-env.nix rename to pkgs/composer-env.nix diff --git a/sandd.nix b/pkgs/earlier.nix similarity index 58% rename from sandd.nix rename to pkgs/earlier.nix index 5119047..177844d 100644 --- a/sandd.nix +++ b/pkgs/earlier.nix @@ -3,7 +3,19 @@ }, system ? builtins.currentSystem }: let - name = "search-and-diplace"; + name = "search-and-displace"; + # gitStore = builtins.fetchGit { + # url = "https://github.com/searchanddisplace/searchanddisplace.git"; + # ref = "master"; + # }; + # builtins.filterSource + # (path: type: baseNameOf path != "sandd-php-packages.nix" || baseNameOf path != "earlier.nix" || baseNameOf path != "composer-env.nix") + # (builtins.fetchGit { + # url = "https://github.com/searchanddisplace/searchanddisplace.git"; + # ref = "master"; + # }); + + inherit (pkgs) stdenv; composerEnv = import ./composer-env.nix { inherit (pkgs) stdenv writeTextFile fetchurl php unzip phpPackages; @@ -11,19 +23,16 @@ let phpPackage = import ./sandd-php-packages.nix { inherit composerEnv; inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn; + #src = gitStore; noDev = true; # Disable development dependencies inherit name; }; in -with import (builtins.fetchurl https://github.com/searchanddisplace/searchanddisplace/raw/master/composer.json) {}; phpPackage.override { - #buildCommand = '' - # curl -o composer.json https://github.com/searchanddisplace/searchanddisplace/raw/master/composer.json - #''; removeComposerArtifacts = true; # Remove composer configuration files buildInputs = [ pkgs.git ]; # Add here any environment dependency # Add below all lines of post installation instructions e.g ''npm install'' ? postInstall = '' - + ll ./ ''; } \ No newline at end of file diff --git a/sandd-php-packages.nix b/pkgs/sandd-php-packages.nix similarity index 83% rename from sandd-php-packages.nix rename to pkgs/sandd-php-packages.nix index 710e852..18a741e 100644 --- a/sandd-php-packages.nix +++ b/pkgs/sandd-php-packages.nix @@ -1,4 +1,4 @@ -{composerEnv, fetchurl, fetchgit ? null, fetchhg ? null, fetchsvn ? null, noDev ? false, name ? "default"}: +{composerEnv, fetchurl, fetchgit ? null, fetchhg ? null, fetchsvn ? null, src ? ./., noDev ? false, name ? "default"}: let packages = { @@ -10,7 +10,7 @@ in composerEnv.buildPackage { inherit packages devPackages noDev; inherit name; - src = ./.; + inherit src; executable = false; symlinkDependencies = false; meta = {}; diff --git a/pkgs/sandd.nix b/pkgs/sandd.nix new file mode 100644 index 0000000..b774970 --- /dev/null +++ b/pkgs/sandd.nix @@ -0,0 +1,28 @@ +{ pkgs ? import { + inherit system; + }, system ? builtins.currentSystem +}: +let + name = "search-and-displace"; + inherit (pkgs) stdenv git curl php phpPackages; + inherit (phpPackages) composer; + gitStore = builtins.fetchGit { + url = "https://github.com/searchanddisplace/searchanddisplace.git"; + ref = "master"; + }; + buildPackage = { name, src }: + stdenv.mkDerivation { + inherit name src; + buildInputs = [ ]; + buildCommand = '' + composer install + npm install + cp .env.example .env + # Remove stuff not needed on production - composer.loc, .json, etc, etc + ''; + }; +in +buildPackage { + inherit name; + src = gitStore; +} diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..ae2a865 --- /dev/null +++ b/readme.md @@ -0,0 +1,26 @@ +## Search & Displace + +## :information_source: About + +Search and Displace is developing a workflow and toolchain which intends to address +the problem of mass search and displacement for document content where the original +documents are in a range of forms, including a wide variety of digital document formats, +both binary and more modern compressed XML forms, but also encompassing older documents +where the only surviving form is printed or even handwritten. + +## :rocket: Installation + +First install nix following the instructions on their website at https://nixos.org/nix/manual/#chap-installation + +The add searchanddiplace channel to your nix environment and update it: +```bash +nix-channel --add https://github.com/searchanddisplace/searchanddisplace/channel.tar.bz2 +nix-channel --update +``` + +You can now install search-and-displace: + +nix-env -iA searchanddisplace.default + +## :roller_coaster: Usage +