diff --git a/flake.lock b/flake.lock index 502b18657..92e504a66 100644 --- a/flake.lock +++ b/flake.lock @@ -1,43 +1,60 @@ { "nodes": { "nixpkgs": { "locked": { "lastModified": 1672308958, "narHash": "sha256-zLvAJ+XTI7gIlUqlrKj8j4+POZXDB6kUOnV0yBvSIMc=", "owner": "nixos", "repo": "nixpkgs", "rev": "d879125d61a0be8ecb2afddaca8f2b0530db0260", "type": "github" }, "original": { "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1692190437, + "narHash": "sha256-yJUZzmzSmDYb9ONPnMQDru66RjZgGQZRvj3tQebkexk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9b2aa98db6b10503666a50f4eb93b2fc0d57bde5", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable", "utils": "utils" } }, "utils": { "locked": { "lastModified": 1638122382, "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", "owner": "numtide", "repo": "flake-utils", "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", "type": "github" }, "original": { "owner": "numtide", "repo": "flake-utils", "type": "github" } } }, "root": "root", "version": 7 } diff --git a/flake.nix b/flake.nix index 779d437f1..9cf758021 100644 --- a/flake.nix +++ b/flake.nix @@ -1,45 +1,58 @@ { description = "Comm flake"; inputs = { utils.url = "github:numtide/flake-utils"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + # Do not update, used for EOL versions of mariaDB and arcanist+php8.0 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; }; - outputs = { self, nixpkgs, utils, ... }: + outputs = { self, nixpkgs, nixpkgs-unstable, utils, ... }: let # Overlays allow for extending a package set, in this case, we are # extending nixpkgs with our devShell localOverlay = import ./nix/overlay.nix; overlays = [ localOverlay (_: _: { commSrc = toString self; } ) ]; # Since we build for many systems (e.g. aarch64, x86_64-linux), we # create a helper function to help facilitate instantiation of the related # package set - pkgsForSystem = system: import nixpkgs { - inherit overlays system; - }; + pkgsForSystem = system: let + oldNixpkgs = import nixpkgs { inherit system; }; + in + import nixpkgs-unstable { + inherit system; + overlays = overlays ++ [ + # Re-introduce older packages that were removed in latest nixpkgs + (_: _: { + emscripten = oldNixpkgs.emscripten; # Changed signficantly + php80 = oldNixpkgs.php80; # Used for arcanist + mariadb = oldNixpkgs.mariadb_108; + }) + ]; + }; # utils.lib.eachSystem helps create a result set of expected flake outputs # of the form . # https://github.com/numtide/flake-utils#usage for more examples in utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] (system: rec { legacyPackages = pkgsForSystem system; inherit (legacyPackages) devShell devShells; }) // { # these outputs will lack the system suffix (e.g. # devShell.aarch64-darwin), thus should be system agnostic such as # overlays or utility functions. overlays.default = localOverlay; nixConfig = { substitutors = "https://comm.cachix.org"; extra-trusted-substitutors = "https://comm.cachix.org"; trusted-public-keys = "comm.cachix.org-1:70RF31rkmCEhQ9HrXA2uXcpqQKGcUK3TxLJdgcUCaA4="; extra-trusted-public-keys = "comm.cachix.org-1:70RF31rkmCEhQ9HrXA2uXcpqQKGcUK3TxLJdgcUCaA4="; }; }; } diff --git a/native/ios/Podfile.lock b/native/ios/Podfile.lock index 4f211997a..42b8e0b04 100644 --- a/native/ios/Podfile.lock +++ b/native/ios/Podfile.lock @@ -1,957 +1,957 @@ PODS: - boost (1.76.0) - CommExpoPackage (0.0.1): - ExpoModulesCore - DoubleConversion (1.1.6) - DVAssetLoaderDelegate (0.3.3) - EXApplication (5.1.1): - ExpoModulesCore - EXBarCodeScanner (12.1.0): - EXImageLoader - ExpoModulesCore - ZXingObjC/OneD - ZXingObjC/PDF417 - EXConstants (14.0.2): - ExpoModulesCore - EXFileSystem (15.1.1): - ExpoModulesCore - EXFont (11.0.1): - ExpoModulesCore - EXImageLoader (4.0.0): - ExpoModulesCore - React-Core - EXJSONUtils (0.4.0) - EXManifests (0.4.0): - EXJSONUtils - EXMediaLibrary (15.0.0): - ExpoModulesCore - React-Core - Expo (47.0.14): - ExpoModulesCore - expo-dev-client (2.0.1): - EXManifests - expo-dev-launcher - expo-dev-menu - expo-dev-menu-interface - EXUpdatesInterface - expo-dev-launcher (2.0.2): - EXManifests - expo-dev-launcher/Main (= 2.0.2) - expo-dev-menu - expo-dev-menu-interface - ExpoModulesCore - EXUpdatesInterface - React-Core - expo-dev-launcher/Main (2.0.2): - EXManifests - expo-dev-launcher/Unsafe - expo-dev-menu - expo-dev-menu-interface - ExpoModulesCore - EXUpdatesInterface - React-Core - expo-dev-launcher/Unsafe (2.0.2): - EXManifests - expo-dev-menu - expo-dev-menu-interface - ExpoModulesCore - EXUpdatesInterface - React-Core - expo-dev-menu (2.0.2): - expo-dev-menu/Main (= 2.0.2) - expo-dev-menu-interface (1.0.0) - expo-dev-menu/GestureHandler (2.0.2) - expo-dev-menu/Main (2.0.2): - EXManifests - expo-dev-menu-interface - expo-dev-menu/Vendored - ExpoModulesCore - React-Core - expo-dev-menu/Reanimated (2.0.2): - DoubleConversion - FBLazyVector - FBReactNativeSpec - glog - RCT-Folly - RCTRequired - RCTTypeSafety - React-callinvoker - React-Core - React-Core/DevSupport - React-Core/RCTWebSocket - React-CoreModules - React-cxxreact - React-jsi - React-jsiexecutor - React-jsinspector - React-RCTActionSheet - React-RCTAnimation - React-RCTBlob - React-RCTImage - React-RCTLinking - React-RCTNetwork - React-RCTSettings - React-RCTText - React-RCTVibration - ReactCommon/turbomodule/core - Yoga - expo-dev-menu/SafeAreaView (2.0.2) - expo-dev-menu/Vendored (2.0.2): - expo-dev-menu/GestureHandler - expo-dev-menu/Reanimated - expo-dev-menu/SafeAreaView - ExpoHaptics (12.0.1): - ExpoModulesCore - ExpoImage (1.2.2): - ExpoModulesCore - SDWebImage (~> 5.15.0) - SDWebImageAVIFCoder (~> 0.9.4) - SDWebImageSVGCoder (~> 1.6.1) - SDWebImageWebPCoder (~> 0.9.1) - ExpoImageManipulator (11.0.0): - EXImageLoader - ExpoModulesCore - ExpoImagePicker (14.0.2): - ExpoModulesCore - ExpoKeepAwake (11.0.1): - ExpoModulesCore - ExpoModulesCore (1.1.1): - React-Core - ReactCommon/turbomodule/core - EXSecureStore (12.0.0): - ExpoModulesCore - EXSplashScreen (0.17.5): - ExpoModulesCore - React-Core - EXUpdatesInterface (0.8.1) - FBLazyVector (0.70.8) - FBReactNativeSpec (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTRequired (= 0.70.8) - RCTTypeSafety (= 0.70.8) - React-Core (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - fmt (6.2.1) - glog (0.3.5) - hermes-engine (0.70.8) - libaom (2.0.2): - libvmaf - libavif (0.10.1): - libavif/libaom (= 0.10.1) - libavif/core (0.10.1) - libavif/libaom (0.10.1): - libaom (>= 2.0.0) - libavif/core - libevent (2.1.12) - libvmaf (2.2.0) - libwebp (1.2.4): - libwebp/demux (= 1.2.4) - libwebp/mux (= 1.2.4) - libwebp/webp (= 1.2.4) - libwebp/demux (1.2.4): - libwebp/webp - libwebp/mux (1.2.4): - libwebp/demux - libwebp/webp (1.2.4) - lottie-ios (3.4.4) - lottie-react-native (5.1.4): - lottie-ios (~> 3.4.0) - React-Core - mobile-ffmpeg-min (4.3.1.LTS) - OLMKit (3.2.14): - OLMKit/olmc (= 3.2.14) - OLMKit/olmcpp (= 3.2.14) - OLMKit/olmc (3.2.14) - OLMKit/olmcpp (3.2.14) - OpenSSL-Universal (1.1.1900) - RCT-Folly (2021.07.22.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - RCT-Folly/Default (= 2021.07.22.00) - RCT-Folly/Default (2021.07.22.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - RCT-Folly/Futures (2021.07.22.00): - boost - DoubleConversion - fmt (~> 6.2.1) - glog - libevent - RCTRequired (0.70.8) - RCTTypeSafety (0.70.8): - FBLazyVector (= 0.70.8) - RCTRequired (= 0.70.8) - React-Core (= 0.70.8) - React (0.70.8): - React-Core (= 0.70.8) - React-Core/DevSupport (= 0.70.8) - React-Core/RCTWebSocket (= 0.70.8) - React-RCTActionSheet (= 0.70.8) - React-RCTAnimation (= 0.70.8) - React-RCTBlob (= 0.70.8) - React-RCTImage (= 0.70.8) - React-RCTLinking (= 0.70.8) - React-RCTNetwork (= 0.70.8) - React-RCTSettings (= 0.70.8) - React-RCTText (= 0.70.8) - React-RCTVibration (= 0.70.8) - React-bridging (0.70.8): - RCT-Folly (= 2021.07.22.00) - React-jsi (= 0.70.8) - React-callinvoker (0.70.8) - React-Codegen (0.70.8): - FBReactNativeSpec (= 0.70.8) - RCT-Folly (= 2021.07.22.00) - RCTRequired (= 0.70.8) - RCTTypeSafety (= 0.70.8) - React-Core (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-Core (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.70.8) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/CoreModulesHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/Default (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/DevSupport (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.70.8) - React-Core/RCTWebSocket (= 0.70.8) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-jsinspector (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTActionSheetHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTAnimationHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTBlobHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTImageHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTLinkingHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTNetworkHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTSettingsHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTTextHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTVibrationHeaders (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-Core/RCTWebSocket (0.70.8): - glog - RCT-Folly (= 2021.07.22.00) - React-Core/Default (= 0.70.8) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-perflogger (= 0.70.8) - Yoga - React-CoreModules (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/CoreModulesHeaders (= 0.70.8) - React-jsi (= 0.70.8) - React-RCTImage (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-cxxreact (0.70.8): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-callinvoker (= 0.70.8) - React-jsi (= 0.70.8) - React-jsinspector (= 0.70.8) - React-logger (= 0.70.8) - React-perflogger (= 0.70.8) - React-runtimeexecutor (= 0.70.8) - React-hermes (0.70.8): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - RCT-Folly/Futures (= 2021.07.22.00) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-jsiexecutor (= 0.70.8) - React-jsinspector (= 0.70.8) - React-perflogger (= 0.70.8) - React-jsi (0.70.8): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-jsi/Default (= 0.70.8) - React-jsi/Default (0.70.8): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-jsiexecutor (0.70.8): - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-perflogger (= 0.70.8) - React-jsinspector (0.70.8) - React-logger (0.70.8): - glog - react-native-background-upload (6.6.0): - React - react-native-camera (3.31.0): - React - react-native-camera/RCT (= 3.31.0) - react-native-camera/RN (= 3.31.0) - react-native-camera/RCT (3.31.0): - React - react-native-camera/RN (3.31.0): - React - react-native-ffmpeg/min-lts (0.4.4): - mobile-ffmpeg-min (= 4.3.1.LTS) - React - react-native-in-app-message (1.0.2): - React - react-native-netinfo (9.3.7): - React-Core - react-native-orientation-locker (1.5.0): - React-Core - react-native-pager-view (6.0.1): - React-Core - react-native-safe-area-context (4.4.1): - RCT-Folly - RCTRequired - RCTTypeSafety - React-Core - ReactCommon/turbomodule/core - react-native-video/Video (5.2.1): - React-Core - react-native-video/VideoCaching (5.2.1): - DVAssetLoaderDelegate (~> 0.3.1) - React-Core - react-native-video/Video - SPTPersistentCache (~> 1.1.0) - react-native-webview (11.23.0): - React-Core - React-perflogger (0.70.8) - React-RCTActionSheet (0.70.8): - React-Core/RCTActionSheetHeaders (= 0.70.8) - React-RCTAnimation (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/RCTAnimationHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTBlob (0.70.8): - RCT-Folly (= 2021.07.22.00) - React-Codegen (= 0.70.8) - React-Core/RCTBlobHeaders (= 0.70.8) - React-Core/RCTWebSocket (= 0.70.8) - React-jsi (= 0.70.8) - React-RCTNetwork (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTImage (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/RCTImageHeaders (= 0.70.8) - React-jsi (= 0.70.8) - React-RCTNetwork (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTLinking (0.70.8): - React-Codegen (= 0.70.8) - React-Core/RCTLinkingHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTNetwork (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/RCTNetworkHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTSettings (0.70.8): - RCT-Folly (= 2021.07.22.00) - RCTTypeSafety (= 0.70.8) - React-Codegen (= 0.70.8) - React-Core/RCTSettingsHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-RCTText (0.70.8): - React-Core/RCTTextHeaders (= 0.70.8) - React-RCTVibration (0.70.8): - RCT-Folly (= 2021.07.22.00) - React-Codegen (= 0.70.8) - React-Core/RCTVibrationHeaders (= 0.70.8) - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (= 0.70.8) - React-runtimeexecutor (0.70.8): - React-jsi (= 0.70.8) - ReactCommon/turbomodule/core (0.70.8): - DoubleConversion - glog - RCT-Folly (= 2021.07.22.00) - React-bridging (= 0.70.8) - React-callinvoker (= 0.70.8) - React-Core (= 0.70.8) - React-cxxreact (= 0.70.8) - React-jsi (= 0.70.8) - React-logger (= 0.70.8) - React-perflogger (= 0.70.8) - ReactNativeART (1.2.0): - React - ReactNativeKeyboardInput (6.0.1): - React - ReactNativeKeyboardTrackingView (5.7.0): - React - RNCAsyncStorage (1.17.10): - React-Core - RNCClipboard (1.11.1): - React-Core - SDWebImage (~> 5.8) - RNCMaskedView (0.2.8): - React-Core - RNDeviceInfo (10.3.0): - React-Core - RNFS (2.20.0): - React-Core - RNGestureHandler (2.8.0): - React-Core - RNKeychain (8.0.0): - React-Core - RNReanimated (2.12.0): - DoubleConversion - FBLazyVector - FBReactNativeSpec - glog - RCT-Folly - RCTRequired - RCTTypeSafety - React-callinvoker - React-Core - React-Core/DevSupport - React-Core/RCTWebSocket - React-CoreModules - React-cxxreact - React-jsi - React-jsiexecutor - React-jsinspector - React-RCTActionSheet - React-RCTAnimation - React-RCTBlob - React-RCTImage - React-RCTLinking - React-RCTNetwork - React-RCTSettings - React-RCTText - ReactCommon/turbomodule/core - Yoga - RNScreens (3.18.2): - React-Core - React-RCTImage - RNSVG (12.3.0): - React-Core - SDWebImage (5.15.5): - SDWebImage/Core (= 5.15.5) - SDWebImage/Core (5.15.5) - SDWebImageAVIFCoder (0.9.5): - libavif (>= 0.9.1) - SDWebImage (~> 5.10) - SDWebImageSVGCoder (1.6.1): - SDWebImage/Core (~> 5.6) - SDWebImageWebPCoder (0.9.1): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.13) - SPTPersistentCache (1.1.0) - SQLCipher-Amalgamation (4.4.3): - OpenSSL-Universal - SQLCipher-Amalgamation/standard (= 4.4.3) - SQLCipher-Amalgamation/common (4.4.3): - OpenSSL-Universal - SQLCipher-Amalgamation/standard (4.4.3): - OpenSSL-Universal - SQLCipher-Amalgamation/common - Yoga (1.14.0) - ZXingObjC/Core (3.6.5) - ZXingObjC/OneD (3.6.5): - ZXingObjC/Core - ZXingObjC/PDF417 (3.6.5): - ZXingObjC/Core DEPENDENCIES: - boost (from `../../node_modules/react-native/third-party-podspecs/boost.podspec`) - CommExpoPackage (from `../expo-modules/comm-expo-package/ios`) - DoubleConversion (from `../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - EXApplication (from `../../node_modules/expo-application/ios`) - EXBarCodeScanner (from `../../node_modules/expo-barcode-scanner/ios`) - EXConstants (from `../../node_modules/expo-constants/ios`) - EXFileSystem (from `../../node_modules/expo-file-system/ios`) - EXFont (from `../../node_modules/expo-font/ios`) - EXImageLoader (from `../../node_modules/expo-image-loader/ios`) - EXJSONUtils (from `../../node_modules/expo-json-utils/ios`) - EXManifests (from `../../node_modules/expo-manifests/ios`) - EXMediaLibrary (from `../../node_modules/expo-media-library/ios`) - Expo (from `../../node_modules/expo`) - expo-dev-client (from `../../node_modules/expo-dev-client/ios`) - expo-dev-launcher (from `../../node_modules/expo-dev-launcher`) - expo-dev-menu (from `../../node_modules/expo-dev-menu`) - expo-dev-menu-interface (from `../../node_modules/expo-dev-menu-interface/ios`) - ExpoHaptics (from `../../node_modules/expo-haptics/ios`) - ExpoImage (from `../../node_modules/expo-image/ios`) - ExpoImageManipulator (from `../../node_modules/expo-image-manipulator/ios`) - ExpoImagePicker (from `../../node_modules/expo-image-picker/ios`) - ExpoKeepAwake (from `../../node_modules/expo-keep-awake/ios`) - ExpoModulesCore (from `../../node_modules/expo-modules-core`) - EXSecureStore (from `../../node_modules/expo-secure-store/ios`) - EXSplashScreen (from `../../node_modules/expo-splash-screen/ios`) - EXUpdatesInterface (from `../../node_modules/expo-updates-interface/ios`) - FBLazyVector (from `../../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../../node_modules/react-native/React/FBReactNativeSpec`) - glog (from `../../node_modules/react-native/third-party-podspecs/glog.podspec`) - hermes-engine (from `../../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) - libevent (~> 2.1.12) - lottie-react-native (from `../node_modules/lottie-react-native`) - OLMKit (from `../node_modules/olm`) - RCT-Folly (from `../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../../node_modules/react-native/Libraries/TypeSafety`) - React (from `../../node_modules/react-native/`) - React-bridging (from `../../node_modules/react-native/ReactCommon`) - React-callinvoker (from `../../node_modules/react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - React-Core (from `../../node_modules/react-native/`) - React-Core/RCTWebSocket (from `../../node_modules/react-native/`) - React-CoreModules (from `../../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../../node_modules/react-native/ReactCommon/cxxreact`) - React-hermes (from `../../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../../node_modules/react-native/ReactCommon/jsinspector`) - React-logger (from `../../node_modules/react-native/ReactCommon/logger`) - react-native-background-upload (from `../node_modules/react-native-background-upload`) - react-native-camera (from `../node_modules/react-native-camera`) - react-native-ffmpeg/min-lts (from `../node_modules/react-native-ffmpeg`) - react-native-in-app-message (from `../node_modules/react-native-in-app-message`) - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" - react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`) - react-native-pager-view (from `../node_modules/react-native-pager-view`) - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - react-native-video/VideoCaching (from `../node_modules/react-native-video`) - react-native-webview (from `../node_modules/react-native-webview`) - React-perflogger (from `../../node_modules/react-native/ReactCommon/reactperflogger`) - React-RCTActionSheet (from `../../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`) - React-RCTImage (from `../../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../../node_modules/react-native/Libraries/Network`) - React-RCTSettings (from `../../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../../node_modules/react-native/Libraries/Vibration`) - React-runtimeexecutor (from `../../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../../node_modules/react-native/ReactCommon`) - "ReactNativeART (from `../node_modules/@react-native-community/art`)" - ReactNativeKeyboardInput (from `../node_modules/react-native-keyboard-input`) - ReactNativeKeyboardTrackingView (from `../../node_modules/react-native-keyboard-tracking-view`) - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" - "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)" - "RNCMaskedView (from `../node_modules/@react-native-masked-view/masked-view`)" - RNDeviceInfo (from `../node_modules/react-native-device-info`) - RNFS (from `../node_modules/react-native-fs`) - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNKeychain (from `../node_modules/react-native-keychain`) - RNReanimated (from `../node_modules/react-native-reanimated`) - RNScreens (from `../node_modules/react-native-screens`) - RNSVG (from `../node_modules/react-native-svg`) - "SQLCipher-Amalgamation (from `../../node_modules/@commapp/sqlcipher-amalgamation`)" - Yoga (from `../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: - DVAssetLoaderDelegate - fmt - libaom - libavif - libevent - libvmaf - libwebp - lottie-ios - mobile-ffmpeg-min - OpenSSL-Universal - SDWebImage - SDWebImageAVIFCoder - SDWebImageSVGCoder - SDWebImageWebPCoder - SPTPersistentCache - ZXingObjC EXTERNAL SOURCES: boost: :podspec: "../../node_modules/react-native/third-party-podspecs/boost.podspec" CommExpoPackage: :path: "../expo-modules/comm-expo-package/ios" DoubleConversion: :podspec: "../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" EXApplication: :path: "../../node_modules/expo-application/ios" EXBarCodeScanner: :path: "../../node_modules/expo-barcode-scanner/ios" EXConstants: :path: "../../node_modules/expo-constants/ios" EXFileSystem: :path: "../../node_modules/expo-file-system/ios" EXFont: :path: "../../node_modules/expo-font/ios" EXImageLoader: :path: "../../node_modules/expo-image-loader/ios" EXJSONUtils: :path: "../../node_modules/expo-json-utils/ios" EXManifests: :path: "../../node_modules/expo-manifests/ios" EXMediaLibrary: :path: "../../node_modules/expo-media-library/ios" Expo: :path: "../../node_modules/expo" expo-dev-client: :path: "../../node_modules/expo-dev-client/ios" expo-dev-launcher: :path: "../../node_modules/expo-dev-launcher" expo-dev-menu: :path: "../../node_modules/expo-dev-menu" expo-dev-menu-interface: :path: "../../node_modules/expo-dev-menu-interface/ios" ExpoHaptics: :path: "../../node_modules/expo-haptics/ios" ExpoImage: :path: "../../node_modules/expo-image/ios" ExpoImageManipulator: :path: "../../node_modules/expo-image-manipulator/ios" ExpoImagePicker: :path: "../../node_modules/expo-image-picker/ios" ExpoKeepAwake: :path: "../../node_modules/expo-keep-awake/ios" ExpoModulesCore: :path: "../../node_modules/expo-modules-core" EXSecureStore: :path: "../../node_modules/expo-secure-store/ios" EXSplashScreen: :path: "../../node_modules/expo-splash-screen/ios" EXUpdatesInterface: :path: "../../node_modules/expo-updates-interface/ios" FBLazyVector: :path: "../../node_modules/react-native/Libraries/FBLazyVector" FBReactNativeSpec: :path: "../../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: :podspec: "../../node_modules/react-native/sdks/hermes/hermes-engine.podspec" lottie-react-native: :path: "../node_modules/lottie-react-native" OLMKit: :path: "../node_modules/olm" RCT-Folly: :podspec: "../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: :path: "../../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: :path: "../../node_modules/react-native/Libraries/TypeSafety" React: :path: "../../node_modules/react-native/" React-bridging: :path: "../../node_modules/react-native/ReactCommon" React-callinvoker: :path: "../../node_modules/react-native/ReactCommon/callinvoker" React-Codegen: :path: build/generated/ios React-Core: :path: "../../node_modules/react-native/" React-CoreModules: :path: "../../node_modules/react-native/React/CoreModules" React-cxxreact: :path: "../../node_modules/react-native/ReactCommon/cxxreact" React-hermes: :path: "../../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: :path: "../../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: :path: "../../node_modules/react-native/ReactCommon/jsinspector" React-logger: :path: "../../node_modules/react-native/ReactCommon/logger" react-native-background-upload: :path: "../node_modules/react-native-background-upload" react-native-camera: :path: "../node_modules/react-native-camera" react-native-ffmpeg: :podspec: "../node_modules/react-native-ffmpeg" react-native-in-app-message: :path: "../node_modules/react-native-in-app-message" react-native-netinfo: :path: "../node_modules/@react-native-community/netinfo" react-native-orientation-locker: :path: "../node_modules/react-native-orientation-locker" react-native-pager-view: :path: "../node_modules/react-native-pager-view" react-native-safe-area-context: :path: "../node_modules/react-native-safe-area-context" react-native-video: :podspec: "../node_modules/react-native-video" react-native-webview: :path: "../node_modules/react-native-webview" React-perflogger: :path: "../../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: :path: "../../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: :path: "../../node_modules/react-native/Libraries/NativeAnimation" React-RCTBlob: :path: "../../node_modules/react-native/Libraries/Blob" React-RCTImage: :path: "../../node_modules/react-native/Libraries/Image" React-RCTLinking: :path: "../../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: :path: "../../node_modules/react-native/Libraries/Network" React-RCTSettings: :path: "../../node_modules/react-native/Libraries/Settings" React-RCTText: :path: "../../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../../node_modules/react-native/Libraries/Vibration" React-runtimeexecutor: :path: "../../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: :path: "../../node_modules/react-native/ReactCommon" ReactNativeART: :path: "../node_modules/@react-native-community/art" ReactNativeKeyboardInput: :path: "../node_modules/react-native-keyboard-input" ReactNativeKeyboardTrackingView: :path: "../../node_modules/react-native-keyboard-tracking-view" RNCAsyncStorage: :path: "../node_modules/@react-native-async-storage/async-storage" RNCClipboard: :path: "../node_modules/@react-native-clipboard/clipboard" RNCMaskedView: :path: "../node_modules/@react-native-masked-view/masked-view" RNDeviceInfo: :path: "../node_modules/react-native-device-info" RNFS: :path: "../node_modules/react-native-fs" RNGestureHandler: :path: "../node_modules/react-native-gesture-handler" RNKeychain: :path: "../node_modules/react-native-keychain" RNReanimated: :path: "../node_modules/react-native-reanimated" RNScreens: :path: "../node_modules/react-native-screens" RNSVG: :path: "../node_modules/react-native-svg" SQLCipher-Amalgamation: :path: "../../node_modules/@commapp/sqlcipher-amalgamation" Yoga: :path: "../../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 CommExpoPackage: 3f9d8a25537fb9d80f79a63fd1e73c51f55b87e9 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 DVAssetLoaderDelegate: 0caec20e4e08b8560b691131539e9180024d4bce EXApplication: d8f53a7eee90a870a75656280e8d4b85726ea903 EXBarCodeScanner: cb4deb49e59b6c7ed6bbf38d187802359908d2a8 EXConstants: 3c86653c422dd77e40d10cbbabb3025003977415 EXFileSystem: 60602b6eefa6873f97172c684b7537c9760b50d6 EXFont: 319606bfe48c33b5b5063fb0994afdc496befe80 EXImageLoader: 84b65e6bd9d3345d6fbb3ab936a546c54496a64d EXJSONUtils: 09aef2c1fba1a116ca8c73a2c8299aac00d96b43 EXManifests: 347f49430b63444579aa013f0ad057d16b8d1cc8 EXMediaLibrary: b1c4f78878e45f6a359aff3a059e1660c41b73ab Expo: 5f4240506a147162542178989696e56e3dd72924 expo-dev-client: d723d52ccfbe2eb47ee24d1ac0cf5b39001589c2 expo-dev-launcher: 953f564f7d006f1af50b119cacb48cafcad40c73 expo-dev-menu: 73476baf8eb6ab44ede1bc0033074fe21aa50f19 expo-dev-menu-interface: 45581093393dacd51ce5e7f641cf9ed5064a2e3f ExpoHaptics: 5a56d30a87ea213dd00b09566dc4b441a4dff97f ExpoImage: 5129495e9981da259c652e23bd87615980864818 ExpoImageManipulator: 5f3c1ab8dd81de11491b5051bb925abc91fe57e4 ExpoImagePicker: d2a1cea4023008ae2fb0d95f33422b80772cc76e ExpoKeepAwake: 69b59d0a8d2b24de9f82759c39b3821fec030318 ExpoModulesCore: 485dff3a59b036a33b6050c0a5aea3cf1037fdd1 EXSecureStore: daec0117c922a67c658cb229152a9e252e5c1750 EXSplashScreen: 3e989924f61a8dd07ee4ea584c6ba14be9b51949 EXUpdatesInterface: bffd1ead18f0bab04fa784ca159c115607b8a23c FBLazyVector: ce6c993e675c5e9684e3b83aa0c346eb116c3ec6 FBReactNativeSpec: 3fddd09ba885a2be54efc49fb2d328f01e18d16e fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b hermes-engine: 0b19f33a9c2ec1dbdede3232606eeb1101db4cec libaom: 9bb51e0f8f9192245e3ca2a1c9e4375d9cbccc52 libavif: e242998ccec1c83bcba0bbdc256f460ad5077348 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libvmaf: 8d61aabc2f4ed3e6591cf7406fa00a223ec11289 libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef lottie-ios: 8f97d3271e155c2d688875c29cd3c74908aef5f8 lottie-react-native: b702fab740cdb952a8e2354713d3beda63ff97b0 mobile-ffmpeg-min: d5d22dcef5c8ec56f771258f1f5be245d914f193 OLMKit: a13e1a20579e88d03971c5821360be24949a1a09 OpenSSL-Universal: 84efb8a29841f2764ac5403e0c4119a28b713346 RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda RCTRequired: 35a7977a5a3cb2d3830c3fef7352b7b116115829 RCTTypeSafety: 259790fb8b16c94e57e0d3d1e2479e69a2b93f50 React: 89f0551b8f7a555e38ce016a81c50bc68f1972a8 React-bridging: 2e425b6bc8536206918fa55bf9dd37016f99bb33 React-callinvoker: 1c733126b1e4d95d0d412d95c51cedf06b3b979d React-Codegen: 41d2ddcd966eac2a5f2698d5cd21e3d741e999bd React-Core: 3021f04b6b1a2064952e166470a58db671ed65b1 React-CoreModules: f569f295874d0864bfd7a686dad3f828f4e8813a React-cxxreact: a6c952ae24061777510f7e60b808b673e624009e React-hermes: be32d1db90d052cc025a38ec2ea4e1a493d33c6a React-jsi: 3d7bafe69dddd780fb3527b7f939dfcbfd6790b5 React-jsiexecutor: bc8556d76f83a1a9075cdee207aad7c0b7b30a33 React-jsinspector: 5e5497c844f2381e8648ec3a7d0ad25b3f27f23e React-logger: b277ad8f4473f2506fb30b762b6348534a3de10e react-native-background-upload: 7c608537f87106c93530a3a19a853afd55466823 react-native-camera: b5c8c7a71feecfdd5b39f0dbbf6b64b957ed55f2 react-native-ffmpeg: f9a60452aaa5d478aac205b248224994f3bde416 react-native-in-app-message: f91de5009620af01456531118264c93e249b83ec react-native-netinfo: 2517ad504b3d303e90d7a431b0fcaef76d207983 react-native-orientation-locker: 851f6510d8046ea2f14aa169b1e01fcd309a94ba react-native-pager-view: 3051346698a0ba0c4e13e40097cc11b00ee03cca react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a react-native-video: 10f689069cb894d75030190a9bc62d9393e1f997 react-native-webview: e771bc375f789ebfa02a26939a57dbc6fa897336 React-perflogger: e9249a18e055cae96fdf685bf6145cbea62506c8 React-RCTActionSheet: a6d2a544a4605a111ce80fa9319cc870ca3ea778 React-RCTAnimation: 21b776b15aa5451a0b5bcb342fd2f346817c1101 React-RCTBlob: 95f54d45305b4103b29d8b2c1e705b5c3183239a React-RCTImage: 1b76ab9e3b60313edd85bc3fd3e07c29cec6ab68 React-RCTLinking: 7176da2a80f3056152a51587812d6d0c451b1f7b React-RCTNetwork: d36f896304e6ef2998f58cd4199a0239bd312318 React-RCTSettings: 004b9a1afb5870f4bcd06521c088e738c1558940 React-RCTText: a2606a79fdb52dd2bde0d7fde7726160fa16b70c React-RCTVibration: 19d21a3ed620352180800447771f68a101f196e9 React-runtimeexecutor: f795fd426264709901c09432c6ce072f8400147e ReactCommon: c440e7f15075e81eb29802521c58a1f38b1aa903 ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab ReactNativeKeyboardInput: 266ba27a2e9921f5bdc0b4cc30289b2a2f46b157 ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306 RNCAsyncStorage: 0c357f3156fcb16c8589ede67cc036330b6698ca RNCClipboard: f66930407a30948ffdecf43a2459bcf05aa59804 RNCMaskedView: bc0170f389056201c82a55e242e5d90070e18e5a RNDeviceInfo: 4701f0bf2a06b34654745053db0ce4cb0c53ada7 RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 RNGestureHandler: 62232ba8f562f7dea5ba1b3383494eb5bf97a4d3 RNKeychain: 4f63aada75ebafd26f4bc2c670199461eab85d94 RNReanimated: f586bc5fd8ce1b6efadffb875319705939843c3b RNScreens: 34cc502acf1b916c582c60003dc3089fa01dc66d RNSVG: 302bfc9905bd8122f08966dc2ce2d07b7b52b9f8 SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe SDWebImageAVIFCoder: d759e21cf4efb640cc97250566aa556ad8bb877c SDWebImageSVGCoder: 6fc109f9c2a82ab44510fff410b88b1a6c271ee8 SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0 SPTPersistentCache: df36ea46762d7cf026502bbb86a8b79d0080dff4 SQLCipher-Amalgamation: cbd36045fe7b458b8a442958a01aefdbc44c20f8 Yoga: d6133108734e69e8c0becc6ba587294b94829687 ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb PODFILE CHECKSUM: 60ed9de6b14a66c6022cd82cafcb04594edd7eaf -COCOAPODS: 1.11.3 +COCOAPODS: 1.12.1 diff --git a/nix/dev-shell.nix b/nix/dev-shell.nix index 2f799846f..dc773a945 100644 --- a/nix/dev-shell.nix +++ b/nix/dev-shell.nix @@ -1,161 +1,161 @@ { mkShell , stdenv , lib , amqp-cpp , awscli2 , arcanist , aws-sdk-cpp , better-prompt , boost , bundler , c-ares_cmake-config , cargo-udeps , cmake , cmake-format , cocoapods , corrosion , darwin , double-conversion , emscripten , folly , fmt , glog , grpc , gtest , libiconv , libuv , localstack , mariadb , mariadb-up , nodejs , olm , openjdk11 , openssl , pkg-config -, protobuf_3_15_cmake +, protobuf3_21 , python3 , rabbitmq-server , redis , redis-up , rustup , shellcheck , sops , sqlite , terraform , rustfmt , wasm-pack , yarn , protoc-gen-grpc-web }: mkShell { # programs which are meant to be executed should go here nativeBuildInputs = [ # generic development or tools arcanist awscli2 shellcheck sops terraform emscripten # android openjdk11 # node development mariadb nodejs yarn python3 redis wasm-pack protoc-gen-grpc-web # native dependencies # C/CXX toolchains are already brought in with mkShell # Identity Service rustfmt rustup cargo-udeps # Tunnelbroker + CMake amqp-cpp c-ares_cmake-config cmake cmake-format # linting libuv localstack pkg-config - protobuf_3_15_cmake + protobuf3_21 grpc rabbitmq-server # runtime service ] ++ lib.optionals stdenv.isDarwin [ cocoapods # needed for ios bundler ]; # include any libraries buildInputs buildInputs = [ # protobuf exposes both a library and a command # thus should appear in both inputs - protobuf_3_15_cmake + protobuf3_21 aws-sdk-cpp # tunnelbroker corrosion # tunnelbroker double-conversion # tunnelbroker glog # tunnelbroker gtest # testing services folly # cpp tools fmt # needed for folly boost # needed for folly olm # needed for CryptoTools sqlite # needed for sqlite_orm openssl # needed for grpc ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices Security libiconv # identity service ]); JAVA_HOME = openjdk11.passthru.home; # shell commands to be ran upon entering shell shellHook = '' PRJ_ROOT=$(git rev-parse --show-toplevel) # Set development environment variable defaults source "${../scripts/source_development_defaults.sh}" # Cache development path for some use cases such as XCode "$PRJ_ROOT/scripts/save_path.sh" '' # Darwin condition can be removed once linux services are supported + lib.optionalString stdenv.isDarwin '' # Start MariaDB development services "${mariadb-up}"/bin/mariadb-up & mariadb_pid=$! "${redis-up}"/bin/redis-up & redis_pid=$! wait "$mariadb_pid" "$redis_pid" ${../scripts}/install_homebrew_macos.sh ${../scripts}/install_homebrew_deps.sh watchman '' + '' # Render default configuration for keyserver $PRJ_ROOT/scripts/create_url_facts.sh # Ensure rustup tooling is installed $PRJ_ROOT/scripts/ensure_rustup_setup.sh # Provide decent bash prompt source "${better-prompt}/bin/better-prompt" echo "Welcome to Comm dev environment! :)" ''; } diff --git a/nix/overlay.nix b/nix/overlay.nix index 77de34548..d41909e35 100644 --- a/nix/overlay.nix +++ b/nix/overlay.nix @@ -1,85 +1,44 @@ # An overlay allows for a package set to be extended with new or modified packages # `final` refers to the package set with all overlays applied. # This allows for added or modified packages to be referenced with # all relevant changes final: # `prev` refers to the previous package set before this current overlay is applied. # This is cheaper for nix to evaluate, thus should be prefered over final when possible. prev: { - # Patch aws-sdk-cpp to automatically pick up header location - # specific to nixpkgs, as nixpkgs separates build-time and runtime - # depencenies (a saving of 400MB in header + generated files). - # In the case of c and c++, this means the header files are - # located in a separate directory from the libraries. - # - # From a developer perspective, this avoids having to manually specify - # the header location with `-DAWS_CORE_HEADER_FILE` each time - # one invokes `cmake` on the command line when using - # `find_package(AWSSDK COMPONENTS [comps])` - # - # For more information, see: - # - aws-sdk-cpp issue: https://github.com/aws/aws-sdk-cpp/issues/2009 - # - Nixpkgs fix: https://github.com/NixOS/nixpkgs/pull/182918 - aws-sdk-cpp = (prev.aws-sdk-cpp.overrideAttrs(oldAttrs:{ - postPatch = oldAttrs.postPatch + '' - substituteInPlace cmake/AWSSDKConfig.cmake \ - --replace 'C:/AWSSDK/''${AWSSDK_INSTALL_INCLUDEDIR}/aws/core' \ - 'C:/AWSSDK/''${AWSSDK_INSTALL_INCLUDEDIR}/aws/core" - "${placeholder "dev"}/include/aws/core' - ''; - })).override { - # avoid rebuildilng all 300+ apis - apis = [ "core" "s3" "dynamodb" ]; - }; - # add packages meant for just this repository amqp-cpp = prev.callPackage ./amqp-cpp.nix { }; - arcanist = prev.callPackage ./arcanist.nix { }; + arcanist = final.callPackage ./arcanist.nix { }; better-prompt = prev.callPackage ./better-prompt.nix { }; # c-ares is used to bootstrap curl, so cmake is not available in the default # build c-ares_cmake-config = prev.c-ares.overrideAttrs(o: { nativeBuildInputs = (o.nativeBuildInputs or []) ++ [ prev.cmake ]; }); comm-blob = final.callPackage ./blob.nix { }; - protobuf_3_15_cmake = prev.callPackage ./protobuf_3_15.nix { }; - devShells.default = final.callPackage ./dev-shell.nix { }; devShell = final.devShells.default; localstack-down = prev.callPackage ./localstack-down.nix { }; localstack-up = prev.callPackage ./localstack-up.nix { }; - # Make our version of mariadb the default everywhere - mariadb = prev.mariadb_108; - - mariadb-up = prev.callPackage ./mariadb-up-mac.nix { }; + mariadb-up = final.callPackage ./mariadb-up-mac.nix { }; mysql-down = prev.callPackage ./mysql-down-linux.nix { }; mysql-up = prev.callPackage ./mysql-up-linux.nix { }; redis-up = prev.callPackage ./redis-up-mac.nix { }; - olm = prev.olm.overrideAttrs(oldAttrs: { - # *.hh files aren't meant to be used externally - # so we patch installation to add it - postInstall = '' - cp \ - $NIX_BUILD_TOP/${oldAttrs.src.name}/include/olm/*.h* \ - ''${!outputDev}/include/olm - ''; - }); - rabbitmq-up = prev.callPackage ./rabbitmq-up-mac.nix { }; } diff --git a/scripts/comm-dev.sh b/scripts/comm-dev.sh index cf976f9a6..c1dda6278 100755 --- a/scripts/comm-dev.sh +++ b/scripts/comm-dev.sh @@ -1,98 +1,105 @@ #! /usr/bin/env bash # This is an entry for common development workflows like starting and stopping # expensive services set -euo pipefail COMM_ROOT="$(git rev-parse --show-toplevel)" log() { echo "$@" >&2 } usage() { echo "Comm Development" echo "" echo "Commands:" echo " services - start or stop development services" echo " db - restart MariaDB server" echo "" exit 1 } services_usage() { echo "Comm Development Services" echo "" echo "Commands:" + echo " clean - stop services and clean caches" echo " restart - restart services" echo " start - start localstack and rabbitmq" echo " stop - stop localstack and rabbitmq" echo "" exit 1 } services_command() { case "$1" in + clean) + "$0" services stop || true + log "Cleaning RabbitMQ cache" + [[ -n "${RABBITMQ_HOME}" ]] && \ + rm -r "${RABBITMQ_HOME}" + ;; restart) "$0" services stop || true "$0" services start ;; start) nix run "$COMM_ROOT"#localstack-up nix run "$COMM_ROOT"#rabbitmq-up ;; stop) log "Stopping services" nix run "$COMM_ROOT"#localstack-down pkill rabbitmq-server beam.smp ;; *) log "$(basename "$0"): unknown services option '$1'" services_usage ;; esac } db_usage() { echo "Comm MariaDB Server" echo "" echo "Commands:" echo " restart - restart MariaDB server" echo "" exit 1 } db_command() { case "$1" in restart) pkill mariadbd nix run .#mariadb-up ;; *) log "$(basename "$0"): unknown db option '$1'" db_usage ;; esac } case "$1" in -h|--help) usage ;; services) shift services_command "$@" ;; db) shift db_command "$@" ;; *) log "$(basename "$0"): unknown option '$1'" usage ;; esac