Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v22.0 #36

Merged
merged 7 commits into from
Oct 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build and upload NZBGet for Linux
name: linux build

on:
push:
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/osx.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: osx build

on:
push:
branches:
- develop
- main
workflow_dispatch:

jobs:
build:
runs-on: [self-hosted, macos]

steps:

- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Build
run: |
bash osx/build-nzbget.sh

- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: nzbget-osx-installers
path: osx/build/Release/*.zip
retention-days: 5
2 changes: 1 addition & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build and upload NZBGet for Windows
name: windows build

on:
push:
Expand Down
17 changes: 0 additions & 17 deletions .lgtm.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .travis.yml

This file was deleted.

59 changes: 49 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,58 @@
# NZBGet #
# NZBGet - Efficient Usenet downloader #

[![License](https://img.shields.io/badge/license-GPL-blue.svg)](http://www.gnu.org/licenses/)
[![Build Status](https://img.shields.io/travis/nzbget/nzbget/develop.svg)](https://travis-ci.org/nzbget/nzbget)
[![Code Quality: Cpp](https://img.shields.io/lgtm/grade/cpp/g/nzbget/nzbget.svg?label=code%20quality:%20c%2b%2b)](https://lgtm.com/projects/g/nzbget/nzbget/context:cpp)
[![Code Quality: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/nzbget/nzbget.svg?label=code%20quality:%20js)](https://lgtm.com/projects/g/nzbget/nzbget/context:javascript)
[![Total Alerts](https://img.shields.io/lgtm/alerts/g/nzbget/nzbget.svg)](https://lgtm.com/projects/g/nzbget/nzbget/alerts)
![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v22.0/total?label=v22.0)
[![linux build](https://github.com/nzbgetcom/nzbget/actions/workflows/linux.yml/badge.svg?branch=main)](https://github.com/nzbgetcom/nzbget/actions/workflows/linux.yml)
[![windows build](https://github.com/nzbgetcom/nzbget/actions/workflows/windows.yml/badge.svg?branch=main)](https://github.com/nzbgetcom/nzbget/actions/workflows/windows.yml)
[![osx build](https://github.com/nzbgetcom/nzbget/actions/workflows/osx.yml/badge.svg)](https://github.com/nzbgetcom/nzbget/actions/workflows/osx.yml)


![Contributions welcome](https://img.shields.io/badge/contributions-welcome-blue.svg)
[![GitHub issues](https://img.shields.io/github/issues/nzbgetcom/nzbget)](https://github.com/nzbgetcom/nzbget/issues)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/nzbgetcom/nzbget)](https://github.com/nzbgetcom/nzbget/pulls)
![GitHub repo size](https://img.shields.io/github/repo-size/nzbgetcom/nzbget)

[![Total downloads](https://img.shields.io/github/downloads/nzbget/nzbget/total.svg)](https://github.com/nzbget/nzbget/releases)
[![Downloads (latest release)](https://img.shields.io/github/downloads/nzbget/nzbget/latest/total.svg?label=latest%20release)](https://github.com/nzbget/nzbget/releases/latest)

NZBGet is a binary downloader, which downloads files from Usenet
based on information given in nzb-files.

NZBGet is written in C++ and is known for its performance and efficiency.

NZBGet can run on almost any device - classic PC, NAS, media player, SAT-receiver, WLAN-router, etc.
The download area provides precompiled binaries for Windows, macOS, Linux (compatible with
many CPUs and platform variants), FreeBSD and Android. For other platforms
the program can be compiled from sources.
The download area provides precompiled binaries for Windows, macOS, and Linux. For other platforms the program can be compiled from sources.

This is a fork of the original NZBGet project formerly maintained by [hugbug](https://github.com/hugbug). The nzbget.com project is an extension of the original, and is maintained in honor of and with respect to its maintainer of many years. We hope to continue where the [hugbug](https://github.com/hugbug) left off by providing a useful downloader for the benefit of the Usenet community.

More information available at https://nzbget.com

## Installation and Documentation

We provide a easy-to-use installer for each platform we support.
Please download binaries from our [releases](https://github.com/nzbgetcom/nzbget/tags) page.

## Building from sources

Please follow [instructions](https://nzbget.com/documentation/building-development-version/) on the website

## Contribution

Branches naming policy

- `main` is a protected branch that contains only release code
- `develop` is a protected branch for development
- new branches should follow the following convention:
- `hotfix/brief-description` for any small hotfixes
- `feature/brief-description` for any new developments
- `bugfix/brief-description` for bugs

Pull requests flow for `develop` and `main` branches:

1. For PRs targeting `develop` branch `Squash and merge` mode must be used.
2. After merging branch to `develop`, branch must be deleted.
3. For release PR (`develop` -> `main`) `Create a merge commit` mode must be used.
4. After merging `develop` -> `main`, must be back merge `main` -> `develop` before any changes in `develop` branch.

This flow results to the fact that in the PR to master branch we see only the squashed commits that correspond to the PRs in the develop branch in current release cycle.


We entice our users to participate in the project, please don't hesitate to get involved - create a [new issue](https://github.com/nzbgetcom/nzbget/issues/new) or [pull request](https://github.com/nzbgetcom/nzbget/compare)!
21 changes: 19 additions & 2 deletions osx/NZBGet-Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,28 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>15.0-testing</string>
<string>22</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>nzb</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Default</string>
<key>LSItemContentTypes</key>
<array>
<string>public.data</string>
</array>
</dict>
</array>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
<string>10.7</string>
<string>10.13</string>
<key>LSUIElement</key>
<true/>
<key>NSMainNibFile</key>
Expand Down
20 changes: 8 additions & 12 deletions osx/NZBGet.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
F29ABB2B17C00E150023A423 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97324FDCFA39411CA2CEA /* AppKit.framework */; };
F29ABB2C17C00E190023A423 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97325FDCFA39411CA2CEA /* Foundation.framework */; };
F2A55D3717C4CA9000D6FFE1 /* daemon in Resources */ = {isa = PBXBuildFile; fileRef = F2A55D3617C4CA9000D6FFE1 /* daemon */; };
F2A55D3B17C4CAF800D6FFE1 /* tools in Resources */ = {isa = PBXBuildFile; fileRef = F2A55D3A17C4CAF800D6FFE1 /* tools */; };
F2A6E11117C8E42300D910CB /* statusicon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F2A6E10F17C8E42300D910CB /* statusicon@2x.png */; };
F2BBD9C613E083160037473A /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = F2FC0F8B13BF595700D834E3 /* Credits.rtf */; };
F2C040481A18E946003EAB32 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F2C040471A18E946003EAB32 /* IOKit.framework */; };
Expand All @@ -42,7 +41,7 @@
8D1107320486CEB800E47090 /* NZBGet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NZBGet.app; sourceTree = BUILT_PRODUCTS_DIR; };
F20FC6DE17C6B9FC00C392AC /* PFMoveApplication.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PFMoveApplication.h; sourceTree = "<group>"; };
F20FC6DF17C6B9FC00C392AC /* PFMoveApplication.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PFMoveApplication.m; sourceTree = "<group>"; };
F20FC6E317C6BC8D00C392AC /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
F20FC6E317C6BC8D00C392AC /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
F21D369913BF387F00E6D821 /* PreferencesDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreferencesDialog.h; sourceTree = "<group>"; };
F21D369A13BF387F00E6D821 /* PreferencesDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PreferencesDialog.m; sourceTree = "<group>"; };
F26CBA89136DE86A00DCB596 /* MainApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainApp.h; sourceTree = "<group>"; };
Expand All @@ -55,9 +54,8 @@
F29ABB2317BFC03D0023A423 /* DaemonController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DaemonController.h; sourceTree = "<group>"; };
F29ABB2417BFC03D0023A423 /* DaemonController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DaemonController.m; sourceTree = "<group>"; };
F2A55D3617C4CA9000D6FFE1 /* daemon */ = {isa = PBXFileReference; lastKnownFileType = folder; name = daemon; path = Resources/daemon; sourceTree = "<group>"; };
F2A55D3A17C4CAF800D6FFE1 /* tools */ = {isa = PBXFileReference; lastKnownFileType = folder; name = tools; path = Resources/tools; sourceTree = "<group>"; };
F2A6E10F17C8E42300D910CB /* statusicon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "statusicon@2x.png"; path = "Images/statusicon@2x.png"; sourceTree = "<group>"; };
F2C040471A18E946003EAB32 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = DEVELOPER_DIR; };
F2C040471A18E946003EAB32 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = DEVELOPER_DIR; };
F2CD856417C254A90019D2CA /* RPC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RPC.h; sourceTree = "<group>"; };
F2CD856517C254A90019D2CA /* RPC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RPC.m; sourceTree = "<group>"; };
F2CD856917C282800019D2CA /* WebClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebClient.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -123,7 +121,6 @@
children = (
F2F9804917C9081D004623D6 /* licenses */,
F2A55D3617C4CA9000D6FFE1 /* daemon */,
F2A55D3A17C4CAF800D6FFE1 /* tools */,
F2D370AE13C0859A002C0573 /* Images */,
F26D959A17C0E89D00E58E5D /* Localizable.strings */,
F26D959217C0E81800E58E5D /* Welcome.rtf */,
Expand Down Expand Up @@ -274,7 +271,6 @@
F26D959917C0E88700E58E5D /* WelcomeDialog.xib in Resources */,
F26D959B17C0E89D00E58E5D /* Localizable.strings in Resources */,
F2A55D3717C4CA9000D6FFE1 /* daemon in Resources */,
F2A55D3B17C4CAF800D6FFE1 /* tools in Resources */,
F2A6E11117C8E42300D910CB /* statusicon@2x.png in Resources */,
F2F9804A17C9081D004623D6 /* licenses in Resources */,
);
Expand Down Expand Up @@ -320,11 +316,11 @@
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = "NZBGet-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.7;
MACOSX_DEPLOYMENT_TARGET = 10.13;
OTHER_LDFLAGS = "";
PRODUCT_NAME = NZBGet;
SDKROOT = macosx;
VALID_ARCHS = x86_64;
VALID_ARCHS = "x86_64 arm64";
};
name = Debug;
};
Expand All @@ -344,10 +340,10 @@
GCC_PREFIX_HEADER = App_Prefix.pch;
INFOPLIST_FILE = "NZBGet-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.7;
MACOSX_DEPLOYMENT_TARGET = 10.13;
PRODUCT_NAME = NZBGet;
SDKROOT = macosx;
VALID_ARCHS = x86_64;
VALID_ARCHS = "x86_64 arm64";
};
name = Release;
};
Expand All @@ -361,7 +357,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "";
SDKROOT = macosx10.6;
SDKROOT = macosx10.13;
};
name = Debug;
};
Expand All @@ -374,7 +370,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PRODUCT_NAME = "";
SDKROOT = macosx10.6;
SDKROOT = macosx10.13;
};
name = Release;
};
Expand Down
34 changes: 34 additions & 0 deletions osx/build-info.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
About
-----
"build-nzbget.sh" is a bash script which is used to build macOS universal (Intel/Apple Silicon) application.

Prerequisites
-------------

- Homebrew package manager (https://brew.sh/) and several dependencies:

Install homebrew:
```
/bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
Install dependencies:
```
brew install git zlib libxml2 ncurses openssl@3 pkg-config
```

- Xcode build tools
```
xcode-select --install
```

Building NZBGet
---------------
From cloned repository run
```
bash osx/build-nzbget.sh
```

Output files
------------
- osx/build/Release/NZBGet.app - application
- osx/build/Release/nzbget-$VERSION-bin-macos.zip - release archive