about summary refs log tree commit diff
diff options
context:
space:
mode:
authorElis Hirwing <elis@hirwing.se>2023-09-17 20:42:32 +0200
committerElis Hirwing <elis@hirwing.se>2023-09-24 18:08:11 +0200
commit60c81d33d786d2a23c9eb3f353551f6973170248 (patch)
treefbfe063d4aad885b1a976cce7dfec11c08c528bc
parentd84cc41f8babd418c295fcbfbd41a1fd4e2adaec (diff)
php.packages.box: Build from source
-rw-r--r--pkgs/development/php-packages/box/default.nix39
1 files changed, 14 insertions, 25 deletions
diff --git a/pkgs/development/php-packages/box/default.nix b/pkgs/development/php-packages/box/default.nix
index 043e52ae46e1c..b1e447a4a7c77 100644
--- a/pkgs/development/php-packages/box/default.nix
+++ b/pkgs/development/php-packages/box/default.nix
@@ -1,35 +1,24 @@
-{ mkDerivation, fetchurl, makeWrapper, lib, php }:
+{ lib, php, fetchFromGitHub }:
 
-let
+php.buildComposerProject (finalAttrs: {
   pname = "box";
   version = "4.3.8";
-in
-mkDerivation {
-  inherit pname version;
 
-  src = fetchurl {
-    url = "https://github.com/box-project/box/releases/download/${version}/box.phar";
-    sha256 = "sha256-g9Y92yTsyXU4NWuQwyB3PRrKJxLRSBO9J77jumXPOxg=";
+  src = fetchFromGitHub {
+    owner = "box-project";
+    repo = "box";
+    rev = finalAttrs.version;
+    hash = "sha256-v1J84nqaX36DrLLH5kld+8NIymqtt5/5nJWJNCBVFRE=";
   };
 
-  dontUnpack = true;
+  vendorHash = "sha256-LWggAUBMKljxa7HNdJMqOD/sx3IWCOQSqbYEnGntjN0=";
 
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    install -D $src $out/libexec/box/box.phar
-    makeWrapper ${php}/bin/php $out/bin/box \
-      --add-flags "-d phar.readonly=0 $out/libexec/box/box.phar"
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    changelog = "https://github.com/box-project/box/releases/tag/${version}";
+  meta = {
+    changelog = "https://github.com/box-project/box/releases/tag/${finalAttrs.version}";
     description = "An application for building and managing Phars";
-    license = licenses.mit;
+    license = lib.licenses.mit;
     homepage = "https://github.com/box-project/box";
-    maintainers = with maintainers; [ ] ++ teams.php.members;
+    maintainers = lib.teams.php.members;
+    mainProgram = "box";
   };
-}
+})