Giter Site home page Giter Site logo

composer2nix's People

Contributors

ajs124 avatar christian-blades-cb avatar globin avatar jbboehr avatar nocoolnametom avatar supersandro2000 avatar svanderburg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

composer2nix's Issues

Unable to install composer2nix with php 7.3

Trying latest master on latest nixos-unstable fails with php 7.3:

$ nix-env -f release.nix -iA package.x86_64-linux

...cut...

Generating optimized autoload files
Loading composer repositories with package information
Installing dependencies from lock file


  [ErrorException]
  "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?


install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vv
v|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...

builder for '/nix/store/kf1qwl2yqk10hkqjdhlsy7m3kcm1g6bl-composer-svanderburg-composer2nix.drv' failed with exit code 1
error: build of '/nix/store/kf1qwl2yqk10hkqjdhlsy7m3kcm1g6bl-composer-svanderburg-composer2nix.drv' failed

However, overriding default.nix to use 7.2 makes it work:

diff --git a/default.nix b/default.nix
index 28b6cae..746a9bc 100644
--- a/default.nix
+++ b/default.nix
@@ -4,10 +4,11 @@
 
 let
   composerEnv = import ./src/Composer2Nix/composer-env.nix {
-    inherit (pkgs) stdenv writeTextFile fetchurl php unzip;
+    inherit (pkgs) stdenv writeTextFile fetchurl unzip;
+    php = pkgs.php72;
   };
 in
 import ./php-packages.nix {
   inherit composerEnv noDev;
   inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn;
-}
\ No newline at end of file
+}

Build fails if composer.lock is missing in repo

So, I've been trying to package https://github.com/bolt/core, but building it throws this error:

error: builder for '/nix/store/qhj7vqxr4gv0d3ysgzwgqcspwsdxg248-bolt.drv' failed with exit code 4;
       last 10 log lines:
       > - Required package "twig/intl-extra" is not present in the lock file.
       > - Required package "twig/twig" is not present in the lock file.
       > - Required package "ua-parser/uap-php" is not present in the lock file.
       > - Required package "webimpress/safe-writer" is not present in the lock file.
       > - Required package "webmozart/path-util" is not present in the lock file.
       > - Required package "webonyx/graphql-php" is not present in the lock file.
       > - Required package "xemlock/htmlpurifier-html5" is not present in the lock file.
       > This usually happens when composer files are incorrectly merged or the composer.json file is manually edited.
       > Read more about correctly resolving merge conflicts https://getcomposer.org/doc/articles/resolving-merge-conflicts.md
       > and prefer using the "require" command over editing the composer.json file directly https://getcomposer.org/doc/03-cli.md#require-r

The repository itself sadly has no composer.lock file, but I can't find a way to patch it in... I've tried installPhase, patches and so on.

Could not open input file: ./bin/console

More issues from my part...

Could not open input file: ./bin/console

The script that is trying to run cache:clear is simply one defined in composer.json:

{
    "scripts": {
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "assets:install": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],

The issue seems to be that it doesn't find the executable bin/console after installation, it should be there

#16 753.6 Verifying lock file contents can be installed on current platform.
#16 753.6 Nothing to install, update or remove
#16 753.6 Generating optimized autoload files
#16 753.6 127 packages you are using are looking for funding.
#16 753.6 Use the `composer fund` command to find out more!
#16 753.6
#16 753.6 Run composer recipes at any time to see the status of your Symfony recipes.
#16 753.6
#16 753.6 Executing script cache:clear [KO]
#16 753.6  [KO]
#16 753.6 Script cache:clear returned with error code 1
#16 753.6 !!  Could not open input file: ./bin/console
#16 753.6 !!
#16 753.6 Script @auto-scripts was called via post-install-cmd
#16 753.6 error: builder for '/nix/store/qxg82fa6zgqpiza8inn7k1x1qy2nwr62-app.drv' failed with exit code 1

Facade not found in composer2nix

Thank for your work! But I have an issue I can't figure out on my own.

I am working at this project and if do (outside of nix):

composer install

Everything works as expected. But when I generate the nix derivation with composer2nix and I do nix-build, I get this error:

'/nix/store/3mqa49rq48ys6cbvk7lsacj06bp5gvz0-webmozart-assert-6964c76c7804814a842473e0c8fd15bab0f18e25/src/Mixin.php' -> 'webmozart/assert/src/Mixin.php'
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

In ProviderRepository.php line 208:

  Class 'Facade\Ignition\IgnitionServiceProvider' not found


Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
error: builder for '/nix/store/3yvd0rwqrhxlmz7742lvr36k6clyr8p9-composer-laravel-laravel.drv' failed with exit code 1;
       last 10 log lines:
       > Generating optimized autoload files
       > > Illuminate\Foundation\ComposerScripts::postAutoloadDump
       > > @php artisan package:discover --ansi
       >
       > In ProviderRepository.php line 208:
       >
       >   Class 'Facade\Ignition\IgnitionServiceProvider' not found
       >
       >
       > Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
       For full logs, run 'nix log /nix/store/3yvd0rwqrhxlmz7742lvr36k6clyr8p9-composer-laravel-laravel.drv'.

It sounds like a missed dependencies to me be as I said, it looks like it is missed only for composer2nix.

patchShebang breaks scripts on macOS

the default patchShebang functionality ends up with non-functional scripts on macOS:

./result/bin/composer: line 2: ?php: No such file or directory
./result/bin/composer: line 4: syntax error near unexpected token `{'
./result/bin/composer: line 4: `if (PHP_SAPI !== 'cli' && PHP_SAPI !== 'phpdbg') {'

relevant NixOS/nixpkgs#2146, NixOS/nixpkgs#23018

it seems most PHP derivations handle this on their own (e.g. NixOS/nixpkgs#87406)

is this something that can/should be handled by composer2nix?

Flake Support?

Is there any chance that support for flakes will be added in the future? If not, would you have the time to point us in the right direction with respect to getting flakes working?

I have been using NixOS as a system/package manager for a while now, but I haven't had much experience with building packages, particularly without flakes. It all seems a bit daunting to me, and although I'd like to take a crack at using composer2nix in my flake-based project, I can't devote a lot of time to it at the moment.

if I make any progress on this on my own, I will update here for the benefit of anyone else in this boat :)

Thank you for your excellent work!

Fails to build on nixos 23.05+

phpunit-phpunit> Your lock file does not contain a compatible set of packages. Please run composer update.
phpunit-phpunit>   Problem 1
phpunit-phpunit>     - phpspec/prophecy is locked to version v1.15.0 and an update of this package was not requested.
phpunit-phpunit>     - phpspec/prophecy v1.15.0 requires php ^7.2 || ~8.0, <8.2 -> your php version (8.2.10) does not satisfy that requirement.
phpunit-phpunit>   Problem 2
phpunit-phpunit>     - phpspec/prophecy v1.15.0 requires php ^7.2 || ~8.0, <8.2 -> your php version (8.2.10) does not satisfy that requirement.
phpunit-phpunit>     - phpunit/phpunit 9.5.13 requires phpspec/prophecy ^1.12.1 -> satisfiable by phpspec/prophecy[v1.15.0].
phpunit-phpunit>     - phpunit/phpunit is locked to version 9.5.13 and an update of this package was not requested.

23.05+ only contains php 8+

Add support for `symfony.lock` (Symfony Flex)

Currently packages that are based on symfony/flex are not properly downloaded fully with composer2nix. As part of the dependencies are spread between symfony.lock and composer.lock.

https://github.com/symfony/flex

Here's some example output of the error as an example:

kbin-core> '/nix/store/9xygbpw3slc00dd4y0q090813jq4hfsi-willdurand-negotiation-68e9ea0553ef6e2ee8db5c1d98829f111e623ec2/tests/Negotiation/Tests/NegotiatorTest.php' -> 'willdurand/negotiation/tests/Negotiation/Tests/NegotiatorTest.php'
kbin-core> '/nix/store/9xygbpw3slc00dd4y0q090813jq4hfsi-willdurand-negotiation-68e9ea0553ef6e2ee8db5c1d98829f111e623ec2/tests/Negotiation/Tests/TestCase.php' -> 'willdurand/negotiation/tests/Negotiation/Tests/TestCase.php'
kbin-core> '/nix/store/9xygbpw3slc00dd4y0q090813jq4hfsi-willdurand-negotiation-68e9ea0553ef6e2ee8db5c1d98829f111e623ec2/tests/bootstrap.php' -> 'willdurand/negotiation/tests/bootstrap.php'
kbin-core> Generating optimized autoload files
kbin-core> Generated optimized autoload files containing 10706 classes
kbin-core> Installing dependencies from lock file
kbin-core> Verifying lock file contents can be installed on current platform.
kbin-core> The following exception probably indicates you are offline or have misconfigured DNS resolver(s)
kbin-core> In CurlDownloader.php line 365:
kbin-core>                                                                                
kbin-core>   curl error 6 while downloading https://raw.githubusercontent.com/symfony/re  
kbin-core>   cipes/flex/main/index.json: Could not resolve host: raw.githubusercontent.c  
kbin-core>   om                                                                           
kbin-core>                                                                                
kbin-core> install [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--download-only] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-progress] [--no-install] [--audit] [--audit-format AUDIT-FORMAT] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] [<packages>...]
error: builder for '/nix/store/ych8av23caiia9kzxnd6vmkx4lxrcp22-kbin-core.drv' failed with exit code 1;

Have a hunch these lines may be at least what is creating this spessific error: https://github.com/symfony/flex/blob/3c9c3424efdafe33e0e3cfb5e87e50b34711fedf/src/Downloader.php#L31-L34

name of resulting package always "composer-${name}"

Right now, I'm trying to create a package for BookStack and I've been successful doing so with composer2nix. The issue for upstreaming the package is the name, as it is stored in the nix store as composer-${name} and I can't seem to change it to ${name}-${version}.

default.nix:

{ pkgs, system, lib, fetchFromGitHub, dataDir ? "/var/lib/bookstack" }:

let
  package = (import ./composition.nix {
    inherit pkgs system;
    noDev = true; # Disable development dependencies
  }).overrideAttrs (attrs : {
    installPhase = attrs.installPhase + ''
      rm -R $out/storage $out/public/uploads
      ln -s ${dataDir}/storage $out/storage
      ln -s ${dataDir}/public/uploads $out/public/uploads
    '';
  });

in package.override rec {
  name = "bookstack";
  version = "0.31.3";
  removeComposerArtifacts = true; # Remove composer configuration files

  src = fetchFromGitHub {
    owner = "bookstackapp";
    repo = "${name}";
    rev = "v${version}";
    sha256 = "1w4lfy543h1fv3dsl3j0vyjw72n0sbpvipfnai8x1p01fqpnxpgm";
  };

  meta = with lib; {
    description = "A platform to create documentation/wiki content built with PHP & Laravel";
    longDescription = ''
      A platform for storing and organising information and documentation.
      Details for BookStack can be found on the official website at https://www.bookstackapp.com/.
    '';
    homepage = "https://www.bookstackapp.com/";
    license = licenses.mit;
    maintainers = with maintainers; [ ymarkus ];
    platforms = platforms.linux;
  };
}

composition.nix (this and all other files unchanged from the "default.nix" created by composer2nix):

{pkgs ? import <nixpkgs> {
    inherit system;
  }, system ? builtins.currentSystem, noDev ? false}:

let
  composerEnv = import ./composer-env.nix {
    inherit (pkgs) stdenv writeTextFile fetchurl php unzip phpPackages;
  };
in
import ./php-packages.nix {
  inherit composerEnv noDev;
  inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn;
}

Is there a way to fix the package name? I've tried setting pname, but that doesn't work either...

composerEnv.buildPackage does not link some dependencies at the right location

I've been trying to package wallabag using your amazing tool. Unfortunately, composer install --optimize-autoloader fails because of the following dependency:

"friendsofsymfony/rest-bundle" = composerEnv.buildZipPackage {
  name = "friendsofsymfony-rest-bundle-c79b7e5df96e5581591ceb6a026bd4e5f9346de0";
  src = fetchurl {
    url = "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/c79b7e5df96e5581591ceb6a026bd4e5f9346de0";
    sha256 = "1f1kq5sly10pzsfwnd62kksz63qd3r5k9s6bjkzrldc21cvv0iy1";
  };
};

(github link: https://github.com/FriendsOfSymfony/FOSRestBundle)

The problem is that it wants the dependency to be at vendor/friendsofsymfony/rest-bundle/FOS/RestBundle instead of vendor/friendsofsymfony/rest-bundle (where your script linked it).
I don't really know why this package would be at a different location than the others. I suspect it is because of the "autoload" entry in its composer.json but I'm not at all familiar with composer.

Have you encountered this problem before ? Would you have an idea how to fix it ?

Fatal error: Allowed memory size of N bytes exhausted

Hm... not sure what is going on. Any help?
I suppose I need to set something like memory_limit higher, not sure how to do that. Here is the error I get:

Generating optimized autoload files
Generated optimized autoload files containing 8342 classes
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating optimized autoload files
127 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Run composer recipes at any time to see the status of your Symfony recipes.

Executing script cache:clear [KO]
 [KO]
Script cache:clear returned with error code 134
!!
!!   // Clearing the cache for the prod environment with debug false
!!
!!
!!  Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /nix/store/f0jd93dpiklzhxnq5sx8ki10ysg97327-kimai-kimai/vendor/twig/twig/src/Node/Node.php on line 158
!!
!!  Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32768 bytes) in /nix/store/f0jd93dpiklzhxnq5sx8ki10ysg97327-kimai-kimai/vendor/symfony/error-handler/Error/OutOfMemoryError.php on line 1
!!  zend_mm_heap corrupted
!!
Script @auto-scripts was called via post-install-cmd

Help building Semantic MediaWiki

This is about Semantic MediaWiki. I'd like to get it running on NixOS, but am struggling. Please help me out.

I did

composer2nix -p mediawiki/semantic-media-wiki --package-version 3.2.1 --no-dev

That seemed to work, but apart from the expected *.nix files, it also produced extensions/SemanticMediaWiki which seems to be a clone of SemanticMediaWiki/SemanticMediaWiki. However, it does not contain a .git directory, so I could not easily check which version I got (of course I assume that it corresponds to the tag for version 3.2.1).

The problem is, that default.nix somehow needs this extensions/SemanticMediaWiki directory to build. If I remove it, the build fails (Composer detects that extensions/SemanticMediaWiki is missing, and attempts to run git to fetch it, which does not work).

My plan was to check in the *.nix files generated by composer2nix into Git, and use the result of default.nix as input to NixOS' services.mediawiki.extensions but I am totally confused about the folder popping out of composer2nix. It should only manifest once I evaluate default.nix, right?

Any ideas?

Failed opening required '../vendor/autoload.php'

Running composer2nix fails on line 3, apparently because it is trying to look in <composer dir>/vendor/svanderburg/composer2nix/vendor/autoload.php when it should instead be looking in <composer dir>/vendor/autoload.php

$ composer global require svanderburg/composer2nix
Changed current directory to /Users/avh4/.composer
Using version ^0.0.3 for svanderburg/composer2nix
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
  - Installing svanderburg/pndp (v0.0.2): Downloading (100%)
  - Installing svanderburg/composer2nix (v0.0.3): Downloading (100%)
Writing lock file
Generating autoload files
$ ~/.composer/vendor/bin/composer2nix -p phpunit/phpunit

Warning: require_once(/Users/avh4/.composer/vendor/svanderburg/composer2nix/bin/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/avh4/.composer/vendor/svanderburg/composer2nix/bin/composer2nix on line 3

Fatal error: require_once(): Failed opening required '/Users/avh4/.composer/vendor/svanderburg/composer2nix/bin/../vendor/autoload.php' (include_path='.:') in /Users/avh4/.composer/vendor/svanderburg/composer2nix/bin/composer2nix on line 3

SSL Certificate issue

Hello, thank you for this.

Currently I am trying to use the tool but nix-build throws a rather puzzling error...

#16 707.6 Generating optimized autoload files
#16 707.6 Generated optimized autoload files containing 7420 classes
#16 707.6 Installing dependencies from lock file (including require-dev)
#16 707.6 Verifying lock file contents can be installed on current platform.
#16 707.6
#16 707.6 In CurlDownloader.php line 365:
#16 707.6
#16 707.6   curl error 60 while downloading https://raw.githubusercontent.com/symfony/r
#16 707.6   ecipes/flex/main/index.json: SSL certificate problem: unable to get local i
#16 707.6   ssuer certificate

Installing the cacerts as a system package does not solve it.

using something like composer config -g -- disable-tls true just creates a different SSL error, something like cURL error (35): SSL connect error. unregistered scheme

`--package=NAME` option is broken

The following example from the README fails to build:

$ composer2nix -p phpunit/phpunit
error: expression does not evaluate to a derivation (or a set or list of those)
sh: /bin/composer: No such file or directory

I have narrowed it down to the change in composer derivation introduced in
cce1630#diff-68e0289af86f9a9377d4f5a9bd4e0833R267 :

$ nix-build --no-out-link -E 'let pkgs = import <nixpkgs> {}; composerEnv = import ./composer-env.nix { inherit (pkgs) stdenv writeTextFile fetchurl php unzip; }; in composerEnv.composer'
error: expression does not evaluate to a derivation (or a set or list of those)

Parse error when running `composer2nix`

When I run composer2nix (got it by installing through composer globally) on a PHP project, it seems everything is running fine, but it stops at the following error:

Parse error: syntax error, unexpected '|', expecting variable (T_VARIABLE) in /home/bjorn/.config/composer/vendor/svanderburg/pndp/src/PNDP/AST/NixFunction.php on line 19

changing checksums

When re-running composer2nix, I observed some downloads of the same commits not resulting in the same checksums, e.g.

           src = composerEnv.buildZipPackage {
             name = "webmozart-assert-ab2cb0b3b559010b75981b1bdce728da3ee90ad6";
             src = fetchurl {
-              url = https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6;
-              sha256 = "16dp6yybqq2ayw67fq00mdyq0wblmsqi8qnbr8mszs9h4mj0ggpx";
+              url = "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6";
+              sha256 = "0mzkqxzng8kkzwyn06dq3qh3r0kx8kki7y95rbac1s4ays184yz7";
             };
           };

or

           src = composerEnv.buildZipPackage {
             name = "webmozart-assert-ab2cb0b3b559010b75981b1bdce728da3ee90ad6";
             src = fetchurl {
-              url = https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6;
-              sha256 = "16dp6yybqq2ayw67fq00mdyq0wblmsqi8qnbr8mszs9h4mj0ggpx";
+              url = "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6";
+              sha256 = "0mzkqxzng8kkzwyn06dq3qh3r0kx8kki7y95rbac1s4ays184yz7";
             };
           };

(the url only changes because it's quoted now)

I'm not sure what the best fix here is, but maybe using fetchzip instead of fetchurl would help.

No longer builds from Nix 21.11 onwards

Since 21.11 updates the default php version to 8.x, composer2nix no longer builds with that nixpkgs.

I tried doing a 'composer update' on the root, which seemed fine. However, also doing 'composer update' in tests/dependencies yielded:

  Problem 1
    - phpunit/phpunit[9.0.0, ..., 9.0.2] require php ^7.3 -> your php version (8.0.13) does not satisfy that requirement.
    - Root composer.json requires phpunit/phpunit 9.0.x -> satisfiable by phpunit/phpunit[9.0.0, 9.0.1, 9.0.2].

Updating phpunit to 9.5.x in composer.json led to another problem:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install phpunit/phpunit 9.5.1 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.2 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.3 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.4 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.5 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.6 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.7 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.8 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.9 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.10 (conflict analysis result)
    - Conclusion: don't install phpunit/phpunit 9.5.11 (conflict analysis result)
    - Root composer.json requires phpunit/phpunit 9.5.x -> satisfiable by phpunit/phpunit[9.5.0, ..., 9.5.11].
    - Conclusion: don't install phpdocumentor/reflection-docblock 5.3.0 (conflict analysis result)
    - Root composer.json requires phpdocumentor/phpdocumentor 2.9.1 -> satisfiable by phpdocumentor/phpdocumentor[v2.9.1].
    - Conclusion: don't install one of phpspec/prophecy[1.12.1], phpdocumentor/reflection-docblock[2.0.4] | install one of phpdocumentor/reflection-docblock[5.2.2, 5.3.0] (conflict analysis result)
    - phpunit/phpunit 9.5.0 requires phpspec/prophecy ^1.12.1 -> satisfiable by phpspec/prophecy[1.12.1, ..., v1.15.0].
    - Conclusion: don't install phpdocumentor/reflection-docblock[5.2.2] | install phpdocumentor/reflection-docblock[2.0.5] (conflict analysis result)
    - Conclusion: don't install phpspec/prophecy[v1.15.0] | install one of phpdocumentor/reflection-docblock[2.0.5, 5.3.0] (conflict analysis result)
    - Conclusion: don't install phpspec/prophecy[1.14.0] | install one of phpdocumentor/reflection-docblock[2.0.5, 5.3.0] (conflict analysis result)
    - Conclusion: don't install phpspec/prophecy[1.13.0] | install one of phpdocumentor/reflection-docblock[2.0.5, 5.3.0] (conflict analysis result)
    - Conclusion: don't install phpspec/prophecy[1.12.2] | install one of phpdocumentor/reflection-docblock[2.0.5, 5.3.0] (conflict analysis result)
    - Conclusion: don't install phpdocumentor/reflection-docblock 2.0.5 (conflict analysis result)
    - phpdocumentor/phpdocumentor v2.9.1 requires phpdocumentor/reflection-docblock ~2.0 -> satisfiable by phpdocumentor/reflection-docblock[2.0.0, ..., 2.0.5].
    - You can only install one version of a package, so only one of these can be installed: phpdocumentor/reflection-docblock[2.0.0, ..., 2.0.5, 5.2.0, 5.2.1, 5.2.2, 5.3.0].
    - phpspec/prophecy 1.12.1 requires phpdocumentor/reflection-docblock ^5.2 -> satisfiable by phpdocumentor/reflection-docblock[5.2.0, 5.2.1, 5.2.2, 5.3.0].
    - Conclusion: don't install phpdocumentor/reflection-docblock[5.2.1] | install one of phpdocumentor/reflection-docblock[2.0.4, 2.0.5] (conflict analysis result)

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

I'm not too familiar with php, so I'm not sure where to go from there :)

Is it possible to use this alongside node2nix?

I'm trying to build a package for a PHP app that uses composer for managing php dependencies and npm for managing javascript dependencies. I'm able to use either node2nix or this repo to independently to have nix-build build either the PHP or the js dependencies, but I haven't been able to find any way to compose the two to build a package with which derives both the javascript and php dependencies at the same time.

Is there a way to use the derivations from the two x2nix programs at the same time? (I'm fairly new to nix so I may be missing something obvious.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.