Commit Graph

6975 Commits

Author SHA1 Message Date
Atemu
4867914ee3
Merge pull request #250500 from trofi/fix-buildFHSEnv-BINTOOLS-wrapper
buildFHSEnv: fix `NIX_LDFLAGS` propagation to `ld` wrapper
2023-08-31 18:58:34 +02:00
Maciej Krüger
b9ab9a92b9
Merge pull request #251409 from gilice/flutter-313 2023-08-30 22:00:14 +02:00
nicoo
76aedfaaee fetchDebianPatch: Handle the case of lib* packages 2023-08-30 08:28:45 +00:00
nicoo
e4162c9e7b fetchDebianPatch: add test 2023-08-30 07:55:07 +00:00
nicoo
d4e265327f fetchDebianPatch: Rename patch parameter, make name overrideable
This allows using the fetcher with `invalidateFetcherByDrvHash` for testing.
2023-08-30 07:53:05 +00:00
nicoo
741ed30e77 fetchDebianPatch: init 2023-08-30 07:53:04 +00:00
Artturi
bacceeba12
Merge pull request #252067 from lucasew/fix-buildFlutterApplication-passthru 2023-08-29 17:48:06 +03:00
hacker1024
1dcba055e5 buildDartApplication: Supply CA bundle to Dart in FOD
DART_VM_OPTIONS is not effective.
2023-08-29 13:12:15 +02:00
hacker1024
41bbc2c311 flutter: Supply CA bundle in sandbox 2023-08-29 13:12:01 +02:00
lucasew
acafc8e76e flutter.buildFlutterApplication: fix passthru being ignored
Signed-off-by: lucasew <lucas59356@gmail.com>
2023-08-28 22:54:36 -03:00
Lin Jian
6505082e72 emacsWithPackages: load compiled site-start.el of $emacs if possible
The first log in *Message* before this patch:

  Loading /nix/store/bikm18vy6v07hmrvrll501i68440w9iw-emacs-29.1-rc1/share/emacs/site-lisp/site-start.el (source)...done

and after this patch:

  Loading /nix/store/bikm18vy6v07hmrvrll501i68440w9iw-emacs-29.1-rc1/share/emacs/site-lisp/site-start (native compiled elisp)...done
2023-08-28 15:46:04 +00:00
Lin Jian
e8f6a5ce34 emacsWithPackages: do not symlink $emacs/share/emacs
I see no reason to symlink this dir.

Doing so may shadow unwanted libraries since the site-start.el of
Emacs adds paths under NIX_PROFILES to load-path.

It is added in [1] to fix "building emacs".  However, I have no issue
in building and using Emacs after removing it.

[1]: https://github.com/NixOS/nixpkgs/pull/89351
2023-08-28 15:46:04 +00:00
Lin Jian
f5fbea9761 emacsWithPackages: do not add the wrapper path twice
"$out/share/emacs/site-lisp" is added to load-path in wrapper.sh[1]
using EMACSLOADPATH and "$out/share/emacs/native-lisp/" is added to
native-comp-eln-load-path in wrapper.sh[2] using
EMACSNATIVELOADPATH. There is no point to add them again here.

Additionally, the trailing "/" in "$out/share/emacs/native-lisp/"
causes duplicate entries in native-comp-eln-load-path:

("/nix/store/hash1-emacs-packages-deps/share/emacs/native-lisp/" ; [3]
 "/home/user/.emacs.d/eln-cache/"
 "/nix/store/hash1-emacs-packages-deps/share/emacs/native-lisp"  ; [2]
 "/nix/store/hash2-emacs-29.1-rc1/lib/emacs/29.1/native-lisp/")

load-path does not change with this patch applied.

[1]: 1476c13422/pkgs/build-support/emacs/wrapper.sh (L47)
[2]: 1476c13422/pkgs/build-support/emacs/wrapper.sh (L50)
[3]: 1476c13422/pkgs/build-support/emacs/wrapper.nix (L166)
2023-08-28 15:46:04 +00:00
Robert Scott
df02fcb79b cc-wrapper: don't use fortify-headers for non-gcc compilers 2023-08-28 15:06:44 +01:00
github-actions[bot]
4cdbb53d13
Merge master into staging-next 2023-08-26 12:01:05 +00:00
Ryan Lahfa
3506ce32c5
Merge pull request #238407 from RaitoBezarius/licenses-for-nc-plugins 2023-08-26 13:38:21 +02:00
Adam Joseph
52374770b0
Merge pull request #251534 from amjoseph-nixpkgs/pr/default-crate-overrides/libseat-sys
default-crate-overrides: add libseat-sys
2023-08-26 10:52:14 +00:00
markuskowa
212d454c2a
Merge pull request #246867 from markuskowa/add-mpi-hook
add mpiCheckPhaseHook
2023-08-26 11:54:56 +02:00
Adam Joseph
2ea678ed48 default-crate-overrides: add libseat-sys
This is needed for building `cosmic-comp` using `crate2nix` instead
of `buildRustPackage` (like
https://github.com/NixOS/nixpkgs/pull/251365/ does).
2023-08-26 01:08:29 -07:00
github-actions[bot]
e79f8fd118
Merge master into staging-next 2023-08-25 18:00:58 +00:00
Lin Jian
3e025f1393 emacsWithPackages: add a note for EMACSNATIVELOADPATH 2023-08-25 17:42:21 +00:00
Lin Jian
7f8cd3d8f9 emacsWithPackages: remove redundant colons 2023-08-25 17:42:21 +00:00
Lin Jian
d380784357 emacsWithPackages: fix logic of adding EMACSNATIVELOADPATH
Without this change, EMACSNATIVELOADPATH will not be added if
EMACSLOADPATH is added.
2023-08-25 17:42:21 +00:00
github-actions[bot]
abaaf09a76
Merge master into staging-next 2023-08-24 18:00:52 +00:00
Shea Levy
c7417f5a3c
Merge pull request #250577 from shlevy/nix-buffer-new-emacs
nixBufferBuilders fixes
2023-08-24 08:53:56 -04:00
github-actions[bot]
4328391132
Merge master into staging-next 2023-08-24 12:01:05 +00:00
Brian McGee
9aa91ec7b5 build-support/vm: fix makeImageTestScript
`qemu-img create` now requires an additional `-F <second_image_format>` flag.

https://github.com/qemu/qemu/blob/master/docs/about/removed-features.rst#qemu-img-backing-file-without-format-removed-in-61
2023-08-24 09:09:43 +01:00
github-actions[bot]
b179570bca
Merge master into staging-next 2023-08-23 06:01:21 +00:00
Adam Joseph
be547cb31f
Merge pull request #247527 from oxij/metrics/fetchzip
fetchzip: cleanup and improve metrics
2023-08-23 05:12:47 +00:00
OTABI Tomoya
ccaca85500
Merge pull request #249091 from TomaSajt/dotnet-fix
Fix useDotnetFromEnv's DOTNET_ROOT detection
2023-08-23 14:04:47 +09:00
OTABI Tomoya
55e2339423
Merge pull request #249176 from TomaSajt/build-dotnet-global-tool-fix
buildDotnetGlobalTool: fix typo
2023-08-23 13:57:55 +09:00
Markus Kowalewski
587a19e43c mpiCheckPhaseHook: add new setup hook for MPI aware check phases
Add this hook to checkPhase to allow for running MPI application in
the sandbox. It detects the MPI implementations and sets the respective
environment variables.
2023-08-22 23:27:47 +02:00
github-actions[bot]
1f6fb14d17
Merge staging-next into staging 2023-08-22 00:02:25 +00:00
zowoq
9b562802e0 Revert "buildGoModule: set GOPROXY to go default"
This reverts commit 3392d56b72.

Fixed in cbc976a97c
2023-08-22 09:20:22 +10:00
Sergei Trofimovich
2da0307220 buildFHSEnv: fix NIX_LDFLAGS propagation to ld wrapper
Before the change the following command did not work:

    $ nix develop -i --impure --expr 'with import <nixpkgs> { system = "i686-linux"; }; (buildFHSUserEnv { name = "t"; targetPkgs = ps: with ps; [ libmpc stdenv.cc ]; }).env'
    $ ld -lmpc -o a
    ld: cannot find -lmpc: No such file or directory

It is expected to work as `NIX_LDFLAGS` does contain valid values:

    $ echo $NIX_LDFLAGS
    -L/usr/lib -L/usr/lib32

Note that for `gcc` it does work:

    $ printf "int main(){}" |  gcc -x c - -lmpc -o a

It happens because `HOST` role is enabled for `cc`:

    $ echo $NIX_CC_WRAPPER_TARGET_HOST_i686_unknown_linux_gnu
    1

But not for `BINTOOLS`:

    $ echo $NIX_BINTOOLS_WRAPPER_TARGET_HOST_i686_unknown_linux_gnu
    <empty>

The change adds BINTOOLS role and fixes linking:

    $ nix develop -i --impure --expr 'with import ~/nm { system = "i686-linux"; }; (buildFHSUserEnv { name = "t"; targetPkgs = ps: with ps; [ libmpc stdenv.cc ]; }).env'
    $ printf "int main(){}" |  gcc -x c - -lmpc -o a
    $ ld -lmpc -o a
    ld: warning: cannot find entry symbol _start; not setting start address
2023-08-21 07:50:37 +01:00
Maximilian Bosch
9a62a46874
fetchNextcloudApp: remove backwards compat for old interface
The `name` & `version` attributes only existed in a previous form of
the API before it was switched over to using `fetchzip` &
`applyPatches`[1]. The attributes existed to be able to throw an
evaluation error with upgrade instructions when this was used. However,
this was before 22.11, so this shouldn't be in use anymore (and if
somebody is doing a migration from a very old NixOS, this is still
documented in the 22.11 release-notes[2]).

Anyways, this simplifies the code a little bit and also having both
`appName`/`appVersion` and `name`/`version` in there is quite confusing. But
still, I figured it's less confusing to not re-use attributes that were
deprecated in the past, hence the alternative naming.

[1] 3ca9b9a8ad
[2] d41b381310
2023-08-20 13:41:43 +02:00
Maximilian Bosch
c317dcec0d
nextcloud*Packages: expose proper license information
This change makes sure that each Nextcloud plugin installed provides a
`meta` section with proper license information.

Unfortunately, the metadata from the appstore is useless for this
purpose since it doesn't differentiate between e.g. AGPL 3.x and AGPL
3.x or any later version. In fact, this isn't consistent between their
software, e.g. `bookmarks` has `agpl3Plus` according to the files'
headers[1] whereas `twofactor_nextcloud_notification` is AGPL 3 only[2].

I don't think there's any trivial and reasonable way to retrieve this
information programatically, so I decided to change the format of
`nextcloud-apps.json`[3] to also contain the license in the form of the
license attribute we have in `lib/licenses.nix`, i.e. GNU AGPL 3 or
later is `agpl3Plus`.

I retrieved the information using the following approach:

* go to the source code of $app at the revision we currently have
  packaged
* check for a license identifier (does it specify the license only or
  the license "or any later version")?
  * first in `src/main.js` because most apps from Nextcloud itself used
    actual spdx identifiers in the frontend's source-code.
  * then in `lib/AppInfo/Application.php` which each Nextcloud app has.

License changes should be updated accordingly when updating the apps. As
with any other package in nixpkgs as well, this currently needs to be
done manually (or as part of the review process)[4].

Also, I decided to change the `name` of the `applyPatches` derivation
from `source-patched` to `nextcloud-app-${appName}-${appVersion}`. When
deploying a lot of apps (and probably displaying the diff using
`nix store diff-closures` on deploy), the current output isn't very
helpful. This is purely optional because I didn't want to break the
interface of `fetchNextcloudApp` again.

[1] https://github.com/nextcloud/bookmarks/blob/v13.1.0/lib/AppInfo/Application.php#L6
[2] https://github.com/nextcloud/twofactor_nextcloud_notification/blob/v3.7.0/lib/AppInfo/Application.php
[3] This isn't really well-defined since it's preprocessed with `jq(1)`
    before passing the apps to nc4nix.
[4] Though notable license changes (e.g. agpl -> gpl) would also pop up
    in the diff of <nextcloudversion>.json, so this is pretty easy to
    catch.
2023-08-20 13:39:44 +02:00
Maximilian Bosch
850af44435
applyPatches: fix adding meta information 2023-08-20 11:51:21 +02:00
Raito Bezarius
b4b1ce2443
fetchNextcloudApp: meta propagation for licenses, etc.
This improves the metadata propgation for nc4nix-generated packages.

Adds:

- licenses (best effort given spdxId doesn't seem guaranteed here)
- homepage
- longDescription
2023-08-20 11:49:15 +02:00
Raito Bezarius
ccbd98db50
trivial-builders/applyPatches: carry meta information to the patched source
There is no reason to not carry licenses and other information to any patched source.

This should improve our metadata in those situations.
2023-08-20 11:49:14 +02:00
github-actions[bot]
f6d3a09e06
Merge staging-next into staging 2023-08-20 06:01:25 +00:00
github-actions[bot]
1bb285561e
Merge master into staging-next 2023-08-20 06:00:56 +00:00
Robert Schütz
cf970f13ab
Merge pull request #249879 from dotlambda/carto-buildNpmPackage
carto: use buildNpmPackage
2023-08-20 04:11:43 +00:00
github-actions[bot]
8a62479e06
Merge staging-next into staging 2023-08-20 00:03:24 +00:00
github-actions[bot]
f6a4c6f912
Merge master into staging-next 2023-08-20 00:02:29 +00:00
Adam Joseph
af0400c500
Merge pull request #193086 from Atry/stdenv.cc.libcxx
clang-wrapper and gcc-wrapper: add `stdenv.cc.libcxx` to detect the standard C++ library
2023-08-19 21:11:51 +00:00
github-actions[bot]
9145b3fd81
Merge staging-next into staging 2023-08-19 18:01:22 +00:00
github-actions[bot]
b34f222b02
Merge master into staging-next 2023-08-19 18:00:51 +00:00
Robert Schütz
96e5dce777 buildNpmPackage: use installManPage 2023-08-19 10:04:00 -07:00
Robert Hensing
65d41fb588
Merge pull request #248735 from considerate/considerate/merge-docker
dockerTools: replace --no-clobber with --update=none
2023-08-19 17:58:40 +02:00