diff --git a/pkgs/by-name/se/serverpod_cli/package.nix b/pkgs/by-name/se/serverpod_cli/package.nix new file mode 100644 index 000000000000..51d03f98c952 --- /dev/null +++ b/pkgs/by-name/se/serverpod_cli/package.nix @@ -0,0 +1,69 @@ +{ + lib, + buildDartApplication, + fetchFromGitHub, + yq-go, + versionCheckHook, + writableTmpDirAsHomeHook, +}: +buildDartApplication rec { + pname = "serverpod_cli"; + version = "3.3.1"; + + # Fetch the whole monorepo + src = fetchFromGitHub { + owner = "serverpod"; + repo = "serverpod"; + rev = version; + hash = "sha256-4vpZiqvzhcAziElfzssw4bLYTO5/dhai3C8LEpn0eAo="; + }; + + sourceRoot = "${src.name}/tools/serverpod_cli"; + + dartEntryPoints = { + "bin/serverpod" = "bin/serverpod_cli.dart"; + }; + + pubspecLock = lib.importJSON ./pubspec.lock.json; + + nativeBuildInputs = [ yq-go ]; + + nativeInstallCheckInputs = [ + versionCheckHook + writableTmpDirAsHomeHook + ]; + + doInstallCheck = true; + + versionCheckKeepEnvironment = "HOME"; + + preBuild = '' + # Set productionMode to true. + substituteInPlace lib/src/generated/version.dart \ + --replace-fail "const productionMode = false;" "const productionMode = true;" + + # Remove the dependency_overrides section. + # Relative path overrides in the monorepo break the Nix build which expects + # all dependencies to be resolved via the lockfile. + yq -i 'del(.dependency_overrides)' pubspec.yaml + ''; + + passthru.updateScript = ./update.sh; + + meta = with lib; { + mainProgram = "serverpod"; + homepage = "https://serverpod.dev"; + description = "Command line tools for Serverpod"; + longDescription = '' + Serverpod is a next-generation app and web server, + built for the Flutter community. + It allows you to write your server-side code in Dart, + automatically generate your APIs, and hook up your + database with minimal effort. Serverpod is open-source, + and you can host your server anywhere. + ''; + changelog = "https://raw.githubusercontent.com/serverpod/serverpod/${version}/CHANGELOG.md"; + license = licenses.bsd3; + maintainers = with lib.maintainers; [ KristijanZic ]; + }; +} diff --git a/pkgs/by-name/se/serverpod_cli/pubspec.lock.json b/pkgs/by-name/se/serverpod_cli/pubspec.lock.json new file mode 100644 index 000000000000..e7e11d51ad03 --- /dev/null +++ b/pkgs/by-name/se/serverpod_cli/pubspec.lock.json @@ -0,0 +1,837 @@ +{ + "packages": { + "_fe_analyzer_shared": { + "dependency": "transitive", + "description": { + "name": "_fe_analyzer_shared", + "sha256": "796d97d925add7ffcdf5595f33a2066a6e3cee97971e6dbef09b76b7880fd760", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "94.0.0" + }, + "analyzer": { + "dependency": "direct main", + "description": { + "name": "analyzer", + "sha256": "9c8ebb304d72c0a0c8764344627529d9503fc83d7d73e43ed727dc532f822e4b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "10.0.2" + }, + "archive": { + "dependency": "direct main", + "description": { + "name": "archive", + "sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.7" + }, + "args": { + "dependency": "direct main", + "description": { + "name": "args", + "sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.7.0" + }, + "async": { + "dependency": "direct main", + "description": { + "name": "async", + "sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.13.0" + }, + "boolean_selector": { + "dependency": "transitive", + "description": { + "name": "boolean_selector", + "sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "built_collection": { + "dependency": "direct main", + "description": { + "name": "built_collection", + "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.1.1" + }, + "built_value": { + "dependency": "transitive", + "description": { + "name": "built_value", + "sha256": "7931c90b84bc573fef103548e354258ae4c9d28d140e41961df6843c5d60d4d8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.12.3" + }, + "checked_yaml": { + "dependency": "transitive", + "description": { + "name": "checked_yaml", + "sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.4" + }, + "ci": { + "dependency": "direct main", + "description": { + "name": "ci", + "sha256": "145d095ce05cddac4d797a158bc4cf3b6016d1fe63d8c3d2fbd7212590adca13", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.0" + }, + "cli_config": { + "dependency": "transitive", + "description": { + "name": "cli_config", + "sha256": "ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.0" + }, + "cli_tools": { + "dependency": "direct main", + "description": { + "name": "cli_tools", + "sha256": "af507d13e9522e207aeacddb1fcb84814f36eed46dd536010d1ee78ef0f99449", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.11.0" + }, + "clock": { + "dependency": "transitive", + "description": { + "name": "clock", + "sha256": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "code_builder": { + "dependency": "direct main", + "description": { + "name": "code_builder", + "sha256": "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.11.1" + }, + "collection": { + "dependency": "direct main", + "description": { + "name": "collection", + "sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.19.1" + }, + "config": { + "dependency": "direct main", + "description": { + "name": "config", + "sha256": "7ab448e904baf3991878881be208b4298b2c1737852529238340dc780c575bda", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.8.4" + }, + "convert": { + "dependency": "transitive", + "description": { + "name": "convert", + "sha256": "b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.2" + }, + "coverage": { + "dependency": "transitive", + "description": { + "name": "coverage", + "sha256": "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.15.0" + }, + "crypto": { + "dependency": "transitive", + "description": { + "name": "crypto", + "sha256": "c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.7" + }, + "dart_mappable": { + "dependency": "transitive", + "description": { + "name": "dart_mappable", + "sha256": "0e219930c9f7b9e0f14ae7c1de931c401875110fd5c67975b6b9492a6d3a531b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.6.1" + }, + "dart_style": { + "dependency": "direct main", + "description": { + "name": "dart_style", + "sha256": "15a7db352c8fc6a4d2bc475ba901c25b39fe7157541da4c16eacce6f8be83e49", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.5" + }, + "ffi": { + "dependency": "transitive", + "description": { + "name": "ffi", + "sha256": "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.0" + }, + "file": { + "dependency": "transitive", + "description": { + "name": "file", + "sha256": "a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "7.0.1" + }, + "fixnum": { + "dependency": "transitive", + "description": { + "name": "fixnum", + "sha256": "b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "flutter_lints": { + "dependency": "transitive", + "description": { + "name": "flutter_lints", + "sha256": "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.0.0" + }, + "frontend_server_client": { + "dependency": "transitive", + "description": { + "name": "frontend_server_client", + "sha256": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.0" + }, + "glob": { + "dependency": "transitive", + "description": { + "name": "glob", + "sha256": "c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.3" + }, + "http": { + "dependency": "direct main", + "description": { + "name": "http", + "sha256": "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.6.0" + }, + "http_multi_server": { + "dependency": "transitive", + "description": { + "name": "http_multi_server", + "sha256": "aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.2" + }, + "http_parser": { + "dependency": "transitive", + "description": { + "name": "http_parser", + "sha256": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.2" + }, + "intl": { + "dependency": "direct main", + "description": { + "name": "intl", + "sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.20.2" + }, + "io": { + "dependency": "transitive", + "description": { + "name": "io", + "sha256": "dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.5" + }, + "json_annotation": { + "dependency": "transitive", + "description": { + "name": "json_annotation", + "sha256": "805fa86df56383000f640384b282ce0cb8431f1a7a2396de92fb66186d8c57df", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.10.0" + }, + "json_rpc_2": { + "dependency": "direct main", + "description": { + "name": "json_rpc_2", + "sha256": "3c46c2633aec07810c3d6a2eb08d575b5b4072980db08f1344e66aeb53d6e4a7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.0" + }, + "lints": { + "dependency": "transitive", + "description": { + "name": "lints", + "sha256": "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.0" + }, + "logging": { + "dependency": "transitive", + "description": { + "name": "logging", + "sha256": "c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.0" + }, + "lsp_server": { + "dependency": "direct main", + "description": { + "name": "lsp_server", + "sha256": "81fc68ade179fa6a23b46354fe019e8d492a724548ec909657020db750e31376", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.4.0" + }, + "matcher": { + "dependency": "transitive", + "description": { + "name": "matcher", + "sha256": "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.12.18" + }, + "meta": { + "dependency": "direct main", + "description": { + "name": "meta", + "sha256": "9f29b9bcc8ee287b1a31e0d01be0eae99a930dbffdaecf04b3f3d82a969f296f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.18.1" + }, + "mime": { + "dependency": "transitive", + "description": { + "name": "mime", + "sha256": "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "node_preamble": { + "dependency": "transitive", + "description": { + "name": "node_preamble", + "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "oauth2": { + "dependency": "transitive", + "description": { + "name": "oauth2", + "sha256": "890a032ba1b44fa8dcfeba500e613df0ecbe16aeace13bb0fe1d25eb42cda5b8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.5" + }, + "package_config": { + "dependency": "direct main", + "description": { + "name": "package_config", + "sha256": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.0" + }, + "path": { + "dependency": "direct main", + "description": { + "name": "path", + "sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.9.1" + }, + "pool": { + "dependency": "transitive", + "description": { + "name": "pool", + "sha256": "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.2" + }, + "posix": { + "dependency": "transitive", + "description": { + "name": "posix", + "sha256": "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.0.3" + }, + "pub_api_client": { + "dependency": "direct main", + "description": { + "name": "pub_api_client", + "sha256": "bb0338393897235fdf689551e2b49b13e24b432b2da559b00229e784d9a5e680", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.0" + }, + "pub_semver": { + "dependency": "direct main", + "description": { + "name": "pub_semver", + "sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.0" + }, + "pubspec_parse": { + "dependency": "direct main", + "description": { + "name": "pubspec_parse", + "sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.0" + }, + "recase": { + "dependency": "direct main", + "description": { + "name": "recase", + "sha256": "e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.0" + }, + "rfc_6901": { + "dependency": "transitive", + "description": { + "name": "rfc_6901", + "sha256": "6a43b1858dca2febaf93e15639aa6b0c49ccdfd7647775f15a499f872b018154", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.1" + }, + "serverpod_client": { + "dependency": "transitive", + "description": { + "name": "serverpod_client", + "sha256": "e936d6fa951f548cf2a16f75a526d645162c3b88437ff57550fb596835266a00", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.3.1" + }, + "serverpod_lints": { + "dependency": "direct dev", + "description": { + "name": "serverpod_lints", + "sha256": "610e7c69109e412891ba2a4d2fe6cd70c0d5f01c39873471fcc2c3ca52e5c25e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.3.1" + }, + "serverpod_serialization": { + "dependency": "direct main", + "description": { + "name": "serverpod_serialization", + "sha256": "b1422d3e99a26e8c5fc9cf09785cb2f6c10713cb08d46b2b86dd7054e9e7decd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.3.1" + }, + "serverpod_service_client": { + "dependency": "direct main", + "description": { + "name": "serverpod_service_client", + "sha256": "b70fa027dfea546835864d24e3bb712394876d612bbb48e1729cb480f0393480", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.3.1" + }, + "serverpod_shared": { + "dependency": "direct main", + "description": { + "name": "serverpod_shared", + "sha256": "01a9dbf24f1e6c61d90c606cba3c40ec3582f3ef3c477fa159f4c70126d548b4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.3.1" + }, + "shelf": { + "dependency": "transitive", + "description": { + "name": "shelf", + "sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.2" + }, + "shelf_packages_handler": { + "dependency": "transitive", + "description": { + "name": "shelf_packages_handler", + "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "shelf_static": { + "dependency": "transitive", + "description": { + "name": "shelf_static", + "sha256": "c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.3" + }, + "shelf_web_socket": { + "dependency": "transitive", + "description": { + "name": "shelf_web_socket", + "sha256": "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.0" + }, + "source_map_stack_trace": { + "dependency": "transitive", + "description": { + "name": "source_map_stack_trace", + "sha256": "c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "source_maps": { + "dependency": "transitive", + "description": { + "name": "source_maps", + "sha256": "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.10.13" + }, + "source_span": { + "dependency": "direct main", + "description": { + "name": "source_span", + "sha256": "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.10.2" + }, + "stack_trace": { + "dependency": "transitive", + "description": { + "name": "stack_trace", + "sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.12.1" + }, + "stream_channel": { + "dependency": "direct main", + "description": { + "name": "stream_channel", + "sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.4" + }, + "string_scanner": { + "dependency": "transitive", + "description": { + "name": "string_scanner", + "sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.1" + }, + "super_string": { + "dependency": "direct main", + "description": { + "name": "super_string", + "sha256": "ba41acf9fbb318b3fc0d57c9235779100394d85d83f45ab533615df1f3146ea7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.3" + }, + "term_glyph": { + "dependency": "direct dev", + "description": { + "name": "term_glyph", + "sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.2" + }, + "test": { + "dependency": "direct dev", + "description": { + "name": "test", + "sha256": "54c516bbb7cee2754d327ad4fca637f78abfc3cbcc5ace83b3eda117e42cd71a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.29.0" + }, + "test_api": { + "dependency": "transitive", + "description": { + "name": "test_api", + "sha256": "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.9" + }, + "test_core": { + "dependency": "transitive", + "description": { + "name": "test_core", + "sha256": "394f07d21f0f2255ec9e3989f21e54d3c7dc0e6e9dbce160e5a9c1a6be0e2943", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.15" + }, + "test_descriptor": { + "dependency": "direct dev", + "description": { + "name": "test_descriptor", + "sha256": "9ce468c97ae396e8440d26bb43763f84e2a2a5331813ee5a397cb4da481aaf9a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "type_plus": { + "dependency": "transitive", + "description": { + "name": "type_plus", + "sha256": "d5d1019471f0d38b91603adb9b5fd4ce7ab903c879d2fbf1a3f80a630a03fcc9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "typed_data": { + "dependency": "transitive", + "description": { + "name": "typed_data", + "sha256": "f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.0" + }, + "uuid": { + "dependency": "direct main", + "description": { + "name": "uuid", + "sha256": "a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.5.2" + }, + "vm_service": { + "dependency": "transitive", + "description": { + "name": "vm_service", + "sha256": "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "15.0.2" + }, + "watcher": { + "dependency": "direct main", + "description": { + "name": "watcher", + "sha256": "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.1" + }, + "web": { + "dependency": "transitive", + "description": { + "name": "web", + "sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "web_socket": { + "dependency": "transitive", + "description": { + "name": "web_socket", + "sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.1" + }, + "web_socket_channel": { + "dependency": "transitive", + "description": { + "name": "web_socket_channel", + "sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.3" + }, + "webkit_inspection_protocol": { + "dependency": "transitive", + "description": { + "name": "webkit_inspection_protocol", + "sha256": "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.1" + }, + "yaml": { + "dependency": "direct main", + "description": { + "name": "yaml", + "sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.3" + }, + "yaml_edit": { + "dependency": "direct main", + "description": { + "name": "yaml_edit", + "sha256": "07c9e63ba42519745182b88ca12264a7ba2484d8239958778dfe4d44fe760488", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.2.4" + } + }, + "sdks": { + "dart": ">=3.9.0 <4.0.0" + } +} \ No newline at end of file diff --git a/pkgs/by-name/se/serverpod_cli/update.sh b/pkgs/by-name/se/serverpod_cli/update.sh new file mode 100755 index 000000000000..44d18ed69ede --- /dev/null +++ b/pkgs/by-name/se/serverpod_cli/update.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils jq yq-go git nix-prefetch-github common-updater-scripts dart + +set -euo pipefail + +PACKAGE_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" +NIX_FILE="$PACKAGE_DIR/package.nix" + +echo "Checking for latest serverpod version..." +latest_version=$(git ls-remote --tags https://github.com/serverpod/serverpod.git | \ + grep -v "\^{}" | \ + cut -f2 | \ + sed 's/refs\/tags\///' | \ + grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' | \ + sort -V | \ + tail -n 1) + +current_version=$(sed -n 's/^[[:space:]]*version = "\(.*\)";/\1/p' "$NIX_FILE") + +if [[ "$latest_version" == "$current_version" ]]; then + echo "serverpod_cli is already up to date ($current_version)" + exit 0 +fi + +echo "Updating serverpod_cli from $current_version to $latest_version" + +echo "Prefetching source for $latest_version..." +PREFETCH_OUT=$(nix-prefetch-github serverpod serverpod --rev "$latest_version") +echo "Prefetch output: $PREFETCH_OUT" +new_hash=$(echo "$PREFETCH_OUT" | jq -r .hash) +echo "New hash: $new_hash" + +update-source-version serverpod_cli "$latest_version" "$new_hash" --version-key=version --file="$NIX_FILE" + +echo "Generating fresh pubspec.lock.json..." +TMPDIR=$(mktemp -d) +trap 'rm -rf "$TMPDIR"' EXIT + +src=$(nix-build --no-link . -A serverpod_cli.src) + +cp -r "$src/tools/serverpod_cli/"* "$TMPDIR/" +chmod -R +w "$TMPDIR" +cd "$TMPDIR" + +# Remove dependency_overrides as in the nix build +yq -i 'del(.dependency_overrides)' pubspec.yaml + +# Generate lockfile because it's not included in the source +if ! test -f pubspec.lock; then + dart pub get +fi + +# Convert to JSON +yq -o=json . pubspec.lock > "$PACKAGE_DIR/pubspec.lock.json" + +echo "Update complete: $current_version -> $latest_version"