{"id":21683405,"url":"https://github.com/stonestepsinc/maxminddb-nuget","last_synced_at":"2026-05-16T22:01:48.921Z","repository":{"id":62616843,"uuid":"391460628","full_name":"StoneStepsInc/maxminddb-nuget","owner":"StoneStepsInc","description":"This project builds a MaxMindDB Nuget package with static MaxMindDB libraries and header files for Win32/x64 platforms and Debug/Release configurations.","archived":false,"fork":false,"pushed_at":"2022-11-03T00:17:02.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-25T11:41:57.003Z","etag":null,"topics":["libmaxminddb","library","maxminddb","nuget","static-library"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StoneStepsInc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-31T20:44:11.000Z","updated_at":"2022-03-27T00:34:10.000Z","dependencies_parsed_at":"2022-11-03T22:19:10.355Z","dependency_job_id":null,"html_url":"https://github.com/StoneStepsInc/maxminddb-nuget","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StoneStepsInc%2Fmaxminddb-nuget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StoneStepsInc%2Fmaxminddb-nuget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StoneStepsInc%2Fmaxminddb-nuget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StoneStepsInc%2Fmaxminddb-nuget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StoneStepsInc","download_url":"https://codeload.github.com/StoneStepsInc/maxminddb-nuget/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244601429,"owners_count":20479452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["libmaxminddb","library","maxminddb","nuget","static-library"],"created_at":"2024-11-25T16:11:48.257Z","updated_at":"2026-05-16T22:01:43.899Z","avatar_url":"https://github.com/StoneStepsInc.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## MaxMindDB Nuget Package\r\n\r\nThis project builds a MaxMindDB Nuget package with static MaxMindDB\r\nlibraries and header files  for `Win32`/`x64` platforms and\r\n`Debug`/`Release` configurations.\r\n\r\nVisit MaxMindDB project for MaxMindDB library documentation:\r\n\r\nhttps://github.com/maxmind/libmaxminddb/\r\n\r\n## Package Configuration\r\n\r\nThis package contains only static libraries for all platforms\r\nand configurations listed above. There are no dynamic libraries\r\nincluded.\r\n\r\nThe MaxMindDB static library appropriate for the platform and\r\nconfiguration selected in a Visual Studio solution is explicitly\r\nreferenced within this package and will appear within the solution\r\nfolder tree after the package is installed. The solution may need\r\nto be reloaded to make the library file visible. This library may\r\nbe moved into any solution folder after the installation.\r\n\r\nNote that the MaxMindDB library path in this package is valid only\r\nfor build configurations named `Debug` and `Release` and will not\r\nwork for any other configuration names. Do not install this package\r\nfor projects with configurations other than `Debug` and `Release`.\r\n\r\nSee `StoneSteps.MaxMindDB.Static.props` and `StoneSteps.MaxMindDB.Static.targets`\r\nfor specific package configuration details and file locations.\r\n\r\n## Package Version\r\n\r\n### Package Revision\r\n\r\nNuget packages lack package revision and in order to repackage\r\nthe same upstream software version, such as MaxMindDB v1.6.0, the\r\n4th component of the Nuget version is used to track the Nuget\r\npackage revision.\r\n\r\nNuget package revision is injected outside of the Nuget package\r\nconfiguration, during the package build process, and is not present\r\nin the package specification file.\r\n\r\nSpecifically, `nuget.exe` is invoked with `-Version=1.6.0.123` to\r\nbuild a package with the revision `123`.\r\n\r\n### Version Locations\r\n\r\nMaxMindDB version is located in a few places in this repository and\r\nneeds to be changed in all of them for a new version of MaxMindDB.\r\n\r\n  * nuget/StoneSteps.MaxMindDB.Static.nuspec (`version`)\r\n  * devops/make-package.bat (`PKG_VER`, `PKG_REV`, `SRC_TAG`)\r\n  * .github/workflows/nuget-mmdb-1.6.0.yml (`name`, `PKG_VER`,\r\n    `PKG_REV`, `SRC_TAG`)\r\n\r\nIn the GitHub workflow YAML, `PKG_REV` must be reset to `1` (one)\r\nevery time MaxMindDB version is changed. The workflow file must\r\nbe renamed with the new version in the name. This is necessary\r\nbecause GitHub maintains build numbers per workflow file name.\r\n\r\nFor local builds package revision is supplied on the command line\r\nand should be specified as `1` (one) for a new version of MaxMindDB.\r\n\r\n### GitHub Build Number\r\n\r\nBuild number within the GitHub workflow YAML is maintained in an\r\nunconventional way because of the lack of build maturity management\r\nbetween GitHub and Nuget.\r\n\r\nFor example, using a build management system, such as Artifactory,\r\nevery build would generate a Nuget package with the same version\r\nand package revision for the upcoming release and build numbers\r\nwould be tracked within the build management system. A build that\r\nwas successfully tested would be promoted to the production Nuget\r\nrepository without generating a new build.\r\n\r\nWithout a build management system, the GitHub workflow in this\r\nrepository uses the pre-release version as a surrogate build\r\nnumber for builds that do not publish packages to nuget.org, so\r\nthese builds can be downloaded and tested before the final build\r\nis made and published to [nuget.org][]. This approach is not\r\nrecommended for robust production environments because even\r\nthough the final published package is built from the exact same\r\nsource, the build process may still potentially introduce some\r\nunknowns into the final package (e.g. build VM was updated).\r\n\r\n## Building Package Locally\r\n\r\nYou can build a Nuget package locally with `make-package.bat`\r\nlocated in `devops`. This script expects VS2019 Community Edition\r\ninstalled in the default location. If you have other edition of\r\nVisual Studio, edit the file to use the correct path to the\r\n`vcvarsall.bat` file.\r\n\r\nRun `make-package.bat` from the repository root directory with\r\na package revision as the first argument. There is no provision\r\nto manage build numbers from the command line and other tools\r\nshould be used for this (e.g. Artifactory).\r\n\r\n## Sample Application\r\n\r\nA Visual Studio project is included in this repository under\r\n`sample-mmdblookup` to test the Nuget package built by this project.\r\nParts of this application are copied from `bin/mmdblookup.c` and\r\nadapted to build as a simple C++ project for testing.\r\n\r\nThe original C source of this sample application is subject to\r\nMaxMind's copyright and terms of use.\r\n\r\nhttps://github.com/maxmind/libmaxminddb/blob/main/bin/mmdblookup.c\r\n\r\nThis application does not do anything useful and merely calls\r\nMaxMindDB functions to verify that the package is installed\r\nproperly for all platforms and configurations.\r\n\r\n[nuget.org]: https://www.nuget.org/packages/StoneSteps.MaxMindDB.Static/\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstonestepsinc%2Fmaxminddb-nuget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstonestepsinc%2Fmaxminddb-nuget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstonestepsinc%2Fmaxminddb-nuget/lists"}