Browse Source

update i2pd package nuspec and script

master
R4SAS 6 years ago
parent
commit
e22a8df9af
  1. 112
      i2pd/i2pd.nuspec
  2. 31
      i2pd/tools/ChocolateyInstall.ps1

112
i2pd/i2pd.nuspec

@ -1,49 +1,22 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Read this before creating packages: https://github.com/chocolatey/chocolatey/wiki/CreatePackages -->
<!-- It is especially important to read the above link to understand additional requirements when publishing packages to the community feed aka dot org (https://chocolatey.org/packages). -->
<!-- Test your packages in a test environment: https://github.com/chocolatey/chocolatey-test-environment -->
<!--
This is a nuspec. It mostly adheres to https://docs.nuget.org/create/Nuspec-Reference. Chocolatey uses a special version of NuGet.Core that allows us to do more than was initially possible. As such there are certain things to be aware of:
* the package xmlns schema url may cause issues with nuget.exe
* Any of the following elements can ONLY be used by choco tools - projectSourceUrl, docsUrl, mailingListUrl, bugTrackerUrl, packageSourceUrl, provides, conflicts, replaces
* nuget.exe can still install packages with those elements but they are ignored. Any authoring tools or commands will error on those elements
-->
<!-- You can embed software files directly into packages, as long as you are not bound by distribution rights. -->
<!-- * If you are an organization making private packages, you probably have no issues here -->
<!-- * If you are releasing to the community feed, you need to consider distribution rights. -->
<!-- Do not remove this test for UTF-8: if “Ω” doesn’t appear as greek uppercase omega letter enclosed in quotation marks, you should use an editor that supports UTF-8, not this one. --> <!-- Do not remove this test for UTF-8: if “Ω” doesn’t appear as greek uppercase omega letter enclosed in quotation marks, you should use an editor that supports UTF-8, not this one. -->
<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd"> <package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd">
<metadata> <metadata>
<!-- == PACKAGE SPECIFIC SECTION == -->
<!-- This section is about this package, although id and version have ties back to the software -->
<!-- id is lowercase and if you want a good separator for words, use '-', not '.'. Dots are only acceptable as suffixes for certain types of packages, e.g. .install, .portable, .extension, .template -->
<!-- If the software is cross-platform, attempt to use the same id as the debian/rpm package(s) if possible. -->
<id>i2pd</id> <id>i2pd</id>
<!-- version should MATCH as closely as possible with the underlying software -->
<!-- Is the version a prerelease of a version? https://docs.nuget.org/create/versioning#creating-prerelease-packages -->
<!-- Note that unstable versions like 0.0.1 can be considered a released version, but it's possible that one can release a 0.0.1-beta before you release a 0.0.1 version. If the version number is final, that is considered a released version and not a prerelease. -->
<version>2.20.0</version> <version>2.20.0</version>
<!-- <packageSourceUrl>Where is this Chocolatey package located (think GitHub)? packageSourceUrl is highly recommended for the community feed</packageSourceUrl>--> <packageSourceUrl>https://github.com/r4sas/chocolatey-packages/tree/master/i2pd/</packageSourceUrl>
<!-- owners is a poor name for maintainers of the package. It sticks around by this name for compatibility reasons. It basically means you. --> <owners>r4sas</owners>
<!--<owners>__REPLACE_YOUR_NAME__</owners>-->
<!-- ============================== -->
<!-- == SOFTWARE SPECIFIC SECTION == -->
<!-- This section is about the software itself -->
<title>I2P Daemon</title> <title>I2P Daemon</title>
<authors>PurpleI2P</authors> <authors>PurpleI2P</authors>
<!-- projectUrl is required for the community feed --> <projectUrl>https://i2pd.website/</projectUrl>
<projectUrl>https://github.com/PurpleI2P/i2pd</projectUrl> <iconUrl>https://i2pd.website/images/favicon.png</iconUrl>
<iconUrl>http://i2pd.website/images/favicon.png</iconUrl> <copyright>© PurpleI2P team</copyright>
<!-- <copyright>Year Software Vendor</copyright> --> <licenseUrl>https://github.com/PurpleI2P/i2pd/blob/openssl/LICENSE</licenseUrl>
<!-- If there is a license Url available, it is is required for the community feed --> <requireLicenseAcceptance>true</requireLicenseAcceptance>
<!-- <licenseUrl>Software License Location __REMOVE_OR_FILL_OUT__</licenseUrl> <projectSourceUrl>https://github.com/PurpleI2P/i2pd</projectSourceUrl>
<requireLicenseAcceptance>true</requireLicenseAcceptance>--> <docsUrl>https://i2pd.readthedocs.io/en/latest/</docsUrl>
<!--<projectSourceUrl>Software Source Location - is the software FOSS somewhere? Link to it with this</projectSourceUrl>--> <bugTrackerUrl>https://github.com/PurpleI2P/i2pd/issues</bugTrackerUrl>
<!--<docsUrl>At what url are the software docs located?</docsUrl>--> <tags>i2pd admin network encryption privacy security</tags>
<!--<mailingListUrl></mailingListUrl>-->
<!--<bugTrackerUrl></bugTrackerUrl>-->
<tags>i2pd admin network encryption</tags>
<summary>Full C++ implementation of I2P client</summary> <summary>Full C++ implementation of I2P client</summary>
<description>i2pd <description>i2pd
==== ====
@ -64,6 +37,17 @@ applications (websites, instant messengers, chat-servers).
I2P allows people from all around the world to communicate and share information I2P allows people from all around the world to communicate and share information
without restrictions. without restrictions.
Features
--------
* Distributed anonymous networking framework
* End-to-end encrypted communications
* Small footprint, simple dependencies, fast performance
* Rich set of APIs for developers of secure applications
Resources
---------
* [Website](http://i2pd.website) * [Website](http://i2pd.website)
* [Documentation](https://i2pd.readthedocs.io/en/latest/) * [Documentation](https://i2pd.readthedocs.io/en/latest/)
* [Wiki](https://github.com/PurpleI2P/i2pd/wiki) * [Wiki](https://github.com/PurpleI2P/i2pd/wiki)
@ -79,11 +63,22 @@ The easiest way to install i2pd is by using
See [documentation](https://i2pd.readthedocs.io/en/latest/) for how to build See [documentation](https://i2pd.readthedocs.io/en/latest/) for how to build
i2pd from source on your OS. i2pd from source on your OS.
Build instructions:
* [unix](https://i2pd.readthedocs.io/en/latest/devs/building/unix/)
* [windows](https://i2pd.readthedocs.io/en/latest/devs/building/windows/)
* [iOS](https://i2pd.readthedocs.io/en/latest/devs/building/ios/)
* [android](https://i2pd.readthedocs.io/en/latest/devs/building/android/)
**Supported systems:** **Supported systems:**
* Linux x86/x64 - [![Build Status](https://travis-ci.org/PurpleI2P/i2pd.svg?branch=openssl)](https://travis-ci.org/PurpleI2P/i2pd) * GNU/Linux x86/x64 - [![Build Status](https://travis-ci.org/PurpleI2P/i2pd.svg?branch=openssl)](https://travis-ci.org/PurpleI2P/i2pd)
* Windows - [![Build status](https://ci.appveyor.com/api/projects/status/1908qe4p48ff1x23?svg=true)](https://ci.appveyor.com/project/PurpleI2P/i2pd) * Windows - [![Build status](https://ci.appveyor.com/api/projects/status/1908qe4p48ff1x23?svg=true)](https://ci.appveyor.com/project/PurpleI2P/i2pd)
* Mac OS X * Mac OS X - [![Build Status](https://travis-ci.org/PurpleI2P/i2pd.svg?branch=openssl)](https://travis-ci.org/PurpleI2P/i2pd)
* CentOS / Fedora - [![Build Status](https://copr.fedorainfracloud.org/coprs/supervillain/i2pd/package/i2pd-git/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/supervillain/i2pd/package/i2pd-git/)
* Docker image - [![Build Status](https://dockerbuildbadges.quelltext.eu/status.svg?organization=meeh&amp;repository=i2pd)](https://hub.docker.com/r/meeh/i2pd/builds/)
* FreeBSD * FreeBSD
* Android * Android
* iOS * iOS
@ -91,17 +86,18 @@ i2pd from source on your OS.
Using i2pd Using i2pd
---------- ----------
See [documentation](https://i2pd.readthedocs.io/en/latest/usage.html) and See [documentation](https://i2pd.readthedocs.io/en/latest/user-guide/run/) and
[example config file](https://github.com/PurpleI2P/i2pd/blob/openssl/docs/i2pd.conf). [example config file](https://github.com/PurpleI2P/i2pd/blob/openssl/contrib/i2pd.conf).
Donations Donations
--------- ---------
BTC: 1K7Ds6KUeR8ya287UC4rYTjvC96vXyZbDY BTC: 3MDoGJW9TLMTCDGrR9bLgWXfm6sjmgy86f
DASH: Xw8YUrQpYzP9tZBmbjqxS3M97Q7v3vJKUF
LTC: LKQirrYrDeTuAPnpYq5y7LVKtywfkkHi59 LTC: LKQirrYrDeTuAPnpYq5y7LVKtywfkkHi59
ANC: AQJYweYYUqM1nVfLqfoSMpUMfzxvS4Xd7z ETH: 0x9e5bac70d20d1079ceaa111127f4fb3bccce379d
DOGE: DNXLQKziRPAsD9H3DFNjk4fLQrdaSX893Y DASH: Xw8YUrQpYzP9tZBmbjqxS3M97Q7v3vJKUF
ZEC: t1cTckLuXsr1dwVrK4NDzfhehss4NvMadAJ
GST: GbD2JSQHBHCKLa9WTHmigJRpyFgmBj4woG
License License
------- -------
@ -109,37 +105,13 @@ License
This project is licensed under the BSD 3-clause license, which can be found in the file This project is licensed under the BSD 3-clause license, which can be found in the file
LICENSE in the root of the project source code. LICENSE in the root of the project source code.
</description> </description>
<!-- <releaseNotes>__REPLACE_OR_REMOVE__MarkDown_Okay</releaseNotes> -->
<!-- =============================== -->
<!-- Specifying dependencies and version ranges? https://docs.nuget.org/create/versioning#specifying-version-ranges-in-.nuspec-files -->
<!--<dependencies>
<dependency id="" version="__MINIMUM_VERSION__" />
<dependency id="" version="[__EXACT_VERSION__]" />
<dependency id="" version="[_MIN_VERSION_INCLUSIVE, MAX_VERSION_INCLUSIVE]" />
<dependency id="" version="[_MIN_VERSION_INCLUSIVE, MAX_VERSION_EXCLUSIVE)" />
<dependency id="" />
<dependency id="chocolatey-uninstall.extension" />
</dependencies>-->
<!-- chocolatey-uninstall.extension - If supporting 0.9.9.x (or below) and including a chocolateyUninstall.ps1 file to uninstall an EXE/MSI, you probably want to include chocolatey-uninstall.extension as a dependency. Please verify whether you are using a helper function from that package. -->
<!--<provides>NOT YET IMPLEMENTED</provides>-->
<!--<conflicts>NOT YET IMPLEMENTED</conflicts>-->
<!--<replaces>NOT YET IMPLEMENTED</replaces>-->
<owners>chantisnake</owners>
<docsUrl>https://github.com/PurpleI2P/i2pd/wikis</docsUrl>
<releaseNotes>1. Full implementation of NTCP2 <releaseNotes>1. Full implementation of NTCP2
2. Provide assets for android 2. Provide assets for android
3. Single apk for arm7 and x86 android builds 3. Single apk for arm7 and x86 android builds
4. Some fix in web console 4. Some fix in web console
5. Don't add address in RouterInfo if transport is disabled in config</releaseNotes> 5. Don't add address in RouterInfo if transport is disabled in config</releaseNotes>
<packageSourceUrl>https://github.com/chantisnake/chocolateyPackage</packageSourceUrl>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<licenseUrl>https://github.com/PurpleI2P/i2pd/blob/openssl/LICENSE</licenseUrl>
<bugTrackerUrl>https://github.com/PurpleI2P/i2pd/issues</bugTrackerUrl>
<projectSourceUrl>https://github.com/PurpleI2P/i2pd</projectSourceUrl>
</metadata> </metadata>
<files> <files>
<!-- this section controls what actually gets packaged into the Chocolatey package -->
<file src="tools\**" target="tools" /> <file src="tools\**" target="tools" />
<!--Building from Linux? You may need this instead: <file src="tools/**" target="tools" />-->
</files> </files>
</package> </package>

31
i2pd/tools/ChocolateyInstall.ps1

@ -1,4 +1,29 @@
 $ErrorActionPreference = 'Stop'; # stop on all errors
$ErrorActionPreference = 'Stop'; # stop on all errors $packagename = 'i2pd'
$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$url = 'https://github.com/PurpleI2P/i2pd/releases/download/2.20.0/i2pd_2.20.0_win32_mingw.zip'
$checksum = 'AD9A910A50F42598E7425DF137A0FEDFF929E91F095FC284F055F2E4BB38258A'
$checksumType = 'sha256'
$url64 = 'https://github.com/PurpleI2P/i2pd/releases/download/2.20.0/i2pd_2.20.0_win64_mingw.zip'
$checksum64 = 'B819B5F2C390E04C6CB4B5619498B5C0B2E948CEB4FE22FBAF3E0DB3A5EBC422'
$checksumType64 = 'sha256'
Install-ChocolateyZipPackage -packageName 'i2pd' -UnzipLocation $(Split-Path -Parent $MyInvocation.MyCommand.Definition) -Url 'https://github.com/PurpleI2P/i2pd/releases/download/2.20.0/i2pd_2.20.0_win32_mingw.zip' -checksum 'AD9A910A50F42598E7425DF137A0FEDFF929E91F095FC284F055F2E4BB38258A' -checksumType 'sha256'-Url64 'https://github.com/PurpleI2P/i2pd/releases/download/2.20.0/i2pd_2.20.0_win64_mingw.zip' -checksum64 'B819B5F2C390E04C6CB4B5619498B5C0B2E948CEB4FE22FBAF3E0DB3A5EBC422' -checksumType64 'sha256' Install-ChocolateyZipPackage -packageName "$packagename" `
-UnzipLocation "$toolsDir" `
-Url "$url" `
-checksum "$checksum" `
-checksumType "$checksumType" `
-Url64 "$url64" `
-checksum64 "$checksum64" `
-checksumType64 "$checksumType64"
# Install configs and certificates if i2pd dir not available, otherwise just update certificates
$dataDir = Join-Path $Env:APPDATA 'i2pd'
if (Test-Path -Path $dataDir) {
Write-Host "Updating i2pd certificates"
Remove-Item $dataDir\certificates -Recurse
Copy-Item $toolsDir\contrib\certificates -Destination $dataDir\certificates -Recurse
} else {
Write-Host "Copying default configs and certificates"
Copy-Item $toolsDir\contrib -Destination $dataDir -Recurse
}

Loading…
Cancel
Save