summary refs log tree commit diff
path: root/pkgs/applications/science/electronics
diff options
context:
space:
mode:
authorLuz <Luz@users.noreply.github.com>2018-01-11 10:20:00 +0100
committerJörg Thalheim <Mic92@users.noreply.github.com>2018-01-11 09:20:00 +0000
commite056315a3e7f85f60ad70c7ad837ef6a7c6a804e (patch)
tree5377ee484dc9b4fc9561be4ed0fe6500c882bcfd /pkgs/applications/science/electronics
parent2f6b88551ba76eaf7ec1f0cf9dec02c3ffb284f7 (diff)
downloadnixpkgs-e056315a3e7f85f60ad70c7ad837ef6a7c6a804e.tar
nixpkgs-e056315a3e7f85f60ad70c7ad837ef6a7c6a804e.tar.gz
nixpkgs-e056315a3e7f85f60ad70c7ad837ef6a7c6a804e.tar.bz2
nixpkgs-e056315a3e7f85f60ad70c7ad837ef6a7c6a804e.tar.lz
nixpkgs-e056315a3e7f85f60ad70c7ad837ef6a7c6a804e.tar.xz
nixpkgs-e056315a3e7f85f60ad70c7ad837ef6a7c6a804e.tar.zst
nixpkgs-e056315a3e7f85f60ad70c7ad837ef6a7c6a804e.zip
librepcb-unstable: init at 2017-12-29 (#33630)
Diffstat (limited to 'pkgs/applications/science/electronics')
-rw-r--r--pkgs/applications/science/electronics/librepcb/default.nix33
-rw-r--r--pkgs/applications/science/electronics/librepcb/fix-2017-12.patch29
2 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/applications/science/electronics/librepcb/default.nix b/pkgs/applications/science/electronics/librepcb/default.nix
new file mode 100644
index 00000000000..f4418f53563
--- /dev/null
+++ b/pkgs/applications/science/electronics/librepcb/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, qtbase, qttools, qmake, mesa, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "librepcb-${version}";
+  version = "20171229";
+
+  src = fetchFromGitHub {
+    owner = "LibrePCB";
+    repo = "LibrePCB";
+    fetchSubmodules = true;
+    rev = "4efb06fa42755abc5e606da4669cc17e8de2f8c6";
+    sha256 = "0r33fm1djqpy0dzvnf5gv2dfh5nj2acaxb7w4cn8yxdgrazjf7ak";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ qmake qttools ];
+
+  buildInputs = [ qtbase ];
+
+	# LibrePCB still supports QT below 5.9. But some code lines break the build, so they are removed by this patch so that the software builds.
+  patches = [ ./fix-2017-12.patch ];
+
+  qmakeFlags = ["-r"];
+
+  meta = with stdenv.lib; {
+    description = "A free EDA software to develop printed circuit boards";
+    homepage = http://librepcb.org/;
+    maintainers = with maintainers; [ luz ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/electronics/librepcb/fix-2017-12.patch b/pkgs/applications/science/electronics/librepcb/fix-2017-12.patch
new file mode 100644
index 00000000000..75fc590ad7f
--- /dev/null
+++ b/pkgs/applications/science/electronics/librepcb/fix-2017-12.patch
@@ -0,0 +1,29 @@
+--- a/libs/librepcb/common/fileio/serializableobjectlist.h
++++ b/libs/librepcb/common/fileio/serializableobjectlist.h
+@@ -374,26 +374,6 @@
+ } // namespace librepcb
+
+ /*****************************************************************************************
+- * Prevent from using SerializableObjectList in a foreach loop because it always would
+- * create a deep copy of the list! You should use C++11 range based for loops instead.
+- ****************************************************************************************/
+-
+-#if (QT_VERSION > QT_VERSION_CHECK(5, 9, 0))
+-#define QFOREACHCONTAINER_TEMPLATE QtPrivate::QForeachContainer
+-#else
+-#define QFOREACHCONTAINER_TEMPLATE QForeachContainer
+-#endif
+-
+-template <typename T, typename P>
+-class QFOREACHCONTAINER_TEMPLATE<librepcb::SerializableObjectList<T, P>> { public:
+-    ~QForeachContainer() = delete;
+-};
+-template <typename T, typename P>
+-class QFOREACHCONTAINER_TEMPLATE<const librepcb::SerializableObjectList<T, P>> { public:
+-    ~QForeachContainer() = delete;
+-};
+-
+-/*****************************************************************************************
+  *  End of File
+  ****************************************************************************************/
+