From 73142b030fdf75be9e1dd9b1465f7394abbc5f90 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sun, 18 May 2025 20:36:55 +0200 Subject: [PATCH 1/7] pkgs/ultimatepp: init at 2025.1 --- .../by-name/ul/ultimatepp/no-build-info.patch | 131 ++++++++++++++++++ pkgs/by-name/ul/ultimatepp/package.nix | 129 +++++++++++++++++ ...-inline-from-HighlightSetup-InitOnce.patch | 13 ++ 3 files changed, 273 insertions(+) create mode 100644 pkgs/by-name/ul/ultimatepp/no-build-info.patch create mode 100644 pkgs/by-name/ul/ultimatepp/package.nix create mode 100644 pkgs/by-name/ul/ultimatepp/remove-inline-from-HighlightSetup-InitOnce.patch diff --git a/pkgs/by-name/ul/ultimatepp/no-build-info.patch b/pkgs/by-name/ul/ultimatepp/no-build-info.patch new file mode 100644 index 0000000..639ca12 --- /dev/null +++ b/pkgs/by-name/ul/ultimatepp/no-build-info.patch @@ -0,0 +1,131 @@ +diff --git a b +index a3e9af6..0ff3dd8 100644 +--- a/Makefile ++++ b/Makefile +@@ -100,8 +100,14 @@ all: prepare $(OutFile) + .PHONY: build_info + build_info: +- (date '+#define bmYEAR %y%n#define bmMONTH %m%n#define bmDAY %d%n#define bmHOUR %H%n#define bmMINUTE %M%n#define bmSECOND %S%n#define bmTIME Time( %y, %m, %d, %H, %M, %S )' | sed 's| 0\([[:digit:]]\)| \1|g' && \ +- echo '#define bmMACHINE "'`hostname`'"' && \ +- echo '#define bmUSER "'`whoami`'"') > "$(UPPOUT)/build_info.h" ++ (echo '#define bmYEAR 1970' && \ ++ echo '#define bmMONTH 1' && \ ++ echo '#define bmDAY 1' && \ ++ echo '#define bmHOUR 0' && \ ++ echo '#define bmMINUTE 0' && \ ++ echo '#define bmSECOND 1' && \ ++ echo '#define bmTIME Time(1970, 1, 1, 0, 0, 1)' && \ ++ echo '#define bmMACHINE ""' && \ ++ echo '#define bmUSER ""') > "$(UPPOUT)/build_info.h" + + .PHONY: prepare + prepare: \ +index a3e9af6..0ff3dd8 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -100,8 +100,14 @@ all: prepare $(OutFile) + .PHONY: build_info + build_info: +- (date '+#define bmYEAR %y%n#define bmMONTH %m%n#define bmDAY %d%n#define bmHOUR %H%n#define bmMINUTE %M%n#define bmSECOND %S%n#define bmTIME Time( %y, %m, %d, %H, %M, %S )' | sed 's| 0\([[:digit:]]\)| \1|g' && \ +- echo '#define bmMACHINE "'`hostname`'"' && \ +- echo '#define bmUSER "'`whoami`'"') > "$(UPPOUT)/build_info.h" ++ (echo '#define bmYEAR 1970' && \ ++ echo '#define bmMONTH 1' && \ ++ echo '#define bmDAY 1' && \ ++ echo '#define bmHOUR 0' && \ ++ echo '#define bmMINUTE 0' && \ ++ echo '#define bmSECOND 1' && \ ++ echo '#define bmTIME Time(1970, 1, 1, 0, 0, 1)' && \ ++ echo '#define bmMACHINE ""' && \ ++ echo '#define bmUSER ""') > "$(UPPOUT)/build_info.h" + + .PHONY: prepare + prepare: \ +--- a/umkMakefile ++++ b/umkMakefile +@@ -52,8 +52,14 @@ all: prepare $(OutFile) + .PHONY: build_info + build_info: +- (date '+#define bmYEAR %y%n#define bmMONTH %m%n#define bmDAY %d%n#define bmHOUR %H%n#define bmMINUTE %M%n#define bmSECOND %S%n#define bmTIME Time( %y, %m, %d, %H, %M, %S )' | sed 's| 0\([[:digit:]]\)| \1|g' && \ +- echo '#define bmMACHINE "'`hostname`'"' && \ +- echo '#define bmUSER "'`whoami`'"') > "$(UPPOUT)/build_info.h" ++ (echo '#define bmYEAR 1970' && \ ++ echo '#define bmMONTH 1' && \ ++ echo '#define bmDAY 1' && \ ++ echo '#define bmHOUR 0' && \ ++ echo '#define bmMINUTE 0' && \ ++ echo '#define bmSECOND 1' && \ ++ echo '#define bmTIME Time(1970, 1, 1, 0, 0, 1)' && \ ++ echo '#define bmMACHINE ""' && \ ++ echo '#define bmUSER ""') > "$(UPPOUT)/build_info.h" + + .PHONY: prepare + prepare: \ +--- a/umkMakefile.in ++++ b/umkMakefile.in +@@ -52,8 +52,14 @@ all: prepare $(OutFile) + .PHONY: build_info + build_info: +- (date '+#define bmYEAR %y%n#define bmMONTH %m%n#define bmDAY %d%n#define bmHOUR %H%n#define bmMINUTE %M%n#define bmSECOND %S%n#define bmTIME Time( %y, %m, %d, %H, %M, %S )' | sed 's| 0\([[:digit:]]\)| \1|g' && \ +- echo '#define bmMACHINE "'`hostname`'"' && \ +- echo '#define bmUSER "'`whoami`'"') > "$(UPPOUT)/build_info.h" ++ (echo '#define bmYEAR 1970' && \ ++ echo '#define bmMONTH 1' && \ ++ echo '#define bmDAY 1' && \ ++ echo '#define bmHOUR 0' && \ ++ echo '#define bmMINUTE 0' && \ ++ echo '#define bmSECOND 1' && \ ++ echo '#define bmTIME Time(1970, 1, 1, 0, 0, 1)' && \ ++ echo '#define bmMACHINE ""' && \ ++ echo '#define bmUSER ""') > "$(UPPOUT)/build_info.h" + + .PHONY: prepare + prepare: \ +--- a/uppsrc/ide/Builders/CppBuilder.cpp ++++ b/uppsrc/ide/Builders/CppBuilder.cpp +@@ -580,19 +580,32 @@ void CppBuilder::SaveBuildInfo(const String& package) + RealizePath(path); + FileOut info(path); + Time t = GetSysTime(); +- info << "#define bmYEAR " << (int)t.year << "\r\n"; +- info << "#define bmMONTH " << (int)t.month << "\r\n"; +- info << "#define bmDAY " << (int)t.day << "\r\n"; +- info << "#define bmHOUR " << (int)t.hour << "\r\n"; +- info << "#define bmMINUTE " << (int)t.minute << "\r\n"; +- info << "#define bmSECOND " << (int)t.second << "\r\n"; +- info << Format("#define bmTIME Time(%d, %d, %d, %d, %d, %d)\r\n", +- (int)t.year, (int)t.month, (int)t.day, (int)t.hour, (int)t.minute, (int)t.second); +- info << "#define bmMACHINE " << AsCString(GetComputerName()) << "\r\n"; +- info << "#define bmUSER " << AsCString(GetUserName()) << "\r\n"; +- +- if(package == mainpackage) +- info << Join(RepoInfo(package), "\r\n"); ++ char* no_build_info = getenv("NO_BUILD_INFO"); ++ if((no_build_info != NULL) && strcmp(no_build_info, "1")) { ++ info << "#define bmYEAR " << (int)t.year << "\r\n"; ++ info << "#define bmMONTH " << (int)t.month << "\r\n"; ++ info << "#define bmDAY " << (int)t.day << "\r\n"; ++ info << "#define bmHOUR " << (int)t.hour << "\r\n"; ++ info << "#define bmMINUTE " << (int)t.minute << "\r\n"; ++ info << "#define bmSECOND " << (int)t.second << "\r\n"; ++ info << Format("#define bmTIME Time(%d, %d, %d, %d, %d, %d)\r\n", ++ (int)t.year, (int)t.month, (int)t.day, (int)t.hour, (int)t.minute, (int)t.second); ++ info << "#define bmMACHINE " << AsCString(GetComputerName()) << "\r\n"; ++ info << "#define bmUSER " << AsCString(GetUserName()) << "\r\n"; ++ ++ if(package == mainpackage) ++ info << Join(RepoInfo(package), "\r\n"); ++ } else { ++ info << "#define bmYEAR 1970\r\n"; ++ info << "#define bmMONTH 1\r\n"; ++ info << "#define bmDAY 1\r\n"; ++ info << "#define bmHOUR 0\r\n"; ++ info << "#define bmMINUTE 0\r\n"; ++ info << "#define bmSECOND 1\r\n"; ++ info << "#define bmTIME Time(1970, 1, 1, 0, 0, 1)\r\n"; ++ info << "#define bmMACHINE \"\"\r\n"; ++ info << "#define bmUSER \"\"\r\n"; ++ } + } + + String CppBuilder::DefinesTargetTime(const char *sep, const String& package, const Package& pkg) diff --git a/pkgs/by-name/ul/ultimatepp/package.nix b/pkgs/by-name/ul/ultimatepp/package.nix new file mode 100644 index 0000000..187907d --- /dev/null +++ b/pkgs/by-name/ul/ultimatepp/package.nix @@ -0,0 +1,129 @@ +{ + lib, + fetchFromGitHub, + makeWrapper, + pkg-config, + stdenv, + + # pkg-config dependencies + libpng, + freetype, + fontconfig, + xorg, + expat, + gtk3, + libnotify, + + # other dependencies + libclang, + openssl, +}: + +let + buildMethod = if stdenv.cc.isClang then "CLANG" else "GCC"; +in stdenv.mkDerivation (self: let + selfBootstrap = self.overrideAttrs (selfAttrs: superAttrs: { + passthru = superAttrs.passthru // { + bootstrap = true; + }; + }); +in { + pname = "ultimatepp"; + version = "2025.1"; + + src = fetchFromGitHub { + owner = "ultimatepp"; + repo = "ultimatepp"; + tag = "2025.1"; + hash = "sha256-/hsjQvc5+HxyaytZ5kryhSxbuaAx0eXuH285q7NPiiw="; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ + makeWrapper + pkg-config + ]; + + buildInputs = [ + # in the same order as in the Makefile + libpng + freetype + fontconfig + xorg.libX11 + xorg.libxcb + expat + xorg.libXinerama + xorg.libXrender + xorg.libXft + xorg.libXdmcp + xorg.libXext + gtk3 + libnotify + # not in the Makefile + openssl + ] ++ lib.optional (!self.passthru.bootstrap) libclang; + + patches = [ + ./no-build-info.patch + ./remove-inline-from-HighlightSetup-InitOnce.patch + ]; + postPatch = '' + patchShebangs ./configure_makefile + echo "#define IDE_VERSION \"${self.version}\"" > uppsrc/ide/version.h + '' + lib.optionalString (!self.passthru.bootstrap) '' + mkdir -p .home + export HOME=$(realpath .home) + ''; + + NIX_LDFLAGS = [ + "-L${libclang.lib}/lib" + "-lclang" + ]; + + NIX_CFLAGS_COMPILE = [ + "-DflagLCLANG" + ]; + + UPP_NO_BUILD_INFO = true; + + buildPhase = '' + runHook preBuild + '' + ( + # Don't build theide in bootstrap to save resources + if self.passthru.bootstrap then '' + make -f umkMakefile -j $NIX_BUILD_CORES "$makeFlagsArray" + '' else '' + ${lib.getExe' selfBootstrap "umk"} uppsrc ide ${buildMethod} -rvs + ${lib.getExe' selfBootstrap "umk"} uppsrc umk ${buildMethod} -rvs + '') + '' + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + '' + (if self.passthru.bootstrap then '' + mv ./umk $out/bin/umk + '' else '' + mv $HOME/.cache/upp.out/umk/${buildMethod}.Main.Shared/umk $out/bin/umk + mv $HOME/.cache/upp.out/ide/${buildMethod}.Gui.Main.Shared/ide $out/bin/theide + + wrapProgram $out/bin/theide \ + --unset WAYLAND_DISPLAY + '') + '' + runHook postInstall + ''; + + passthru = { + bootstrap = false; + }; + + meta = { + homepage = "https://www.ultimatepp.org"; + description = "C++ cross-platform rapid application development framework"; + license = lib.licenses.bsd2; + mainProgram = "umk"; + }; +}) diff --git a/pkgs/by-name/ul/ultimatepp/remove-inline-from-HighlightSetup-InitOnce.patch b/pkgs/by-name/ul/ultimatepp/remove-inline-from-HighlightSetup-InitOnce.patch new file mode 100644 index 0000000..1d86a43 --- /dev/null +++ b/pkgs/by-name/ul/ultimatepp/remove-inline-from-HighlightSetup-InitOnce.patch @@ -0,0 +1,13 @@ +diff --git a b +index eca1b54..dede1d5 100644 +--- a/uppsrc/CodeEditor/Style.cpp ++++ b/uppsrc/CodeEditor/Style.cpp +@@ -38,7 +38,7 @@ void HighlightSetup::DefaultHlStyles() + WhiteTheme(); + } + +-inline void HighlightSetup::InitOnce() ++void HighlightSetup::InitOnce() + { + ONCELOCK { + static bool initialised; From ea8ac1c2c626c42bf0619ab133ea3f84589373ac Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Thu, 22 May 2025 02:51:21 +0200 Subject: [PATCH 2/7] pkgs/ultimatepp: add uppPackage builder --- .../by-name/ul/ultimatepp/buildUppPackage.nix | 81 +++++++++++++++++++ pkgs/by-name/ul/ultimatepp/package.nix | 56 ++++++++----- 2 files changed, 119 insertions(+), 18 deletions(-) create mode 100644 pkgs/by-name/ul/ultimatepp/buildUppPackage.nix diff --git a/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix b/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix new file mode 100644 index 0000000..6a3ec3a --- /dev/null +++ b/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix @@ -0,0 +1,81 @@ +{ + lib, + pkg-config, + stdenv, + ultimatepp, +}: + +{ + assembly ? ".", + extraAssemblies ? [], + includeUppsrcAssembly ? true, + package, + flags ? [], + buildMethod ? if stdenv.cc.isClang then "CLANG" else "GCC", + buildShared ? false, + ... +}@args: + +let + flagsString = lib.optionalString (flags != []) ( "+" + lib.concatStringsSep "," flags); + output = if buildShared then "lib/${package}.so" else "bin/${package}"; +in + +stdenv.mkDerivation (self: { + nativeBuildInputs = [ + pkg-config + ultimatepp + ] ++ args.nativeBuildInputs or []; + + buildInputs = ultimatepp.uppsrcDependencies ++ args.buildInputs or []; + + assemblies = lib.concatStringsSep "," ( + lib.singleton assembly + ++ extraAssemblies + ++ lib.optional includeUppsrcAssembly "${ultimatepp.src}/uppsrc" + ); + + postUnpack = '' + mkdir -p .home + export HOME=$(realpath .home) + ''; + + UPP_NO_BUILD_INFO = true; + + # https://www.ultimatepp.org/app$ide$umk$en-us.html + # s - use shared libraries + # S - use shared libraries and build shared libraries + # u - use target directory + # v - verbose + # r - release mdode + + # FIXME: writing to $out should be done in the install phase + buildPhase = '' + runHook preBuild + + mkdir -p $out/${if buildShared then "lib" else "bin"} + + umk \ + "$assemblies" \ + ${lib.escapeShellArg package} \ + ${buildMethod} \ + -${if buildShared then "S" else "s"}uvr \ + ${flagsString} \ + $out/${output} + + runHook postBuild + ''; + + # Don't run installPhase unless the user explicitly provides it + dontInstall = !lib.hasAttr "installPhase" args; +} // lib.removeAttrs args [ + "assembly" + "extraAssemblies" + "includeUppsrcAssembly" + "package" + "flags" + "buildMethod" + "buildShared" + "nativeBuildInputs" + "buildInputs" +]) diff --git a/pkgs/by-name/ul/ultimatepp/package.nix b/pkgs/by-name/ul/ultimatepp/package.nix index 187907d..8e4b8af 100644 --- a/pkgs/by-name/ul/ultimatepp/package.nix +++ b/pkgs/by-name/ul/ultimatepp/package.nix @@ -1,5 +1,6 @@ { lib, + callPackage, fetchFromGitHub, makeWrapper, pkg-config, @@ -21,6 +22,22 @@ let buildMethod = if stdenv.cc.isClang then "CLANG" else "GCC"; + uppsrcDependencies = [ + expat + fontconfig + freetype + gtk3 + libnotify + libpng + openssl + xorg.libX11 + xorg.libXdmcp + xorg.libXext + xorg.libXft + xorg.libXinerama + xorg.libXrender + xorg.libxcb + ]; in stdenv.mkDerivation (self: let selfBootstrap = self.overrideAttrs (selfAttrs: superAttrs: { passthru = superAttrs.passthru // { @@ -45,24 +62,7 @@ in { pkg-config ]; - buildInputs = [ - # in the same order as in the Makefile - libpng - freetype - fontconfig - xorg.libX11 - xorg.libxcb - expat - xorg.libXinerama - xorg.libXrender - xorg.libXft - xorg.libXdmcp - xorg.libXext - gtk3 - libnotify - # not in the Makefile - openssl - ] ++ lib.optional (!self.passthru.bootstrap) libclang; + buildInputs = uppsrcDependencies ++ lib.optional (!self.passthru.bootstrap) libclang; patches = [ ./no-build-info.patch @@ -118,6 +118,26 @@ in { passthru = { bootstrap = false; + inherit uppsrcDependencies; + buildUppPackage = callPackage ./buildUppPackage.nix {}; + tests = lib.genAttrs [ + "AddressBookXML2" + "Bombs" + "Days" + "SQLApp" + "httpcli" + ] (examplePackageName: self.passthru.buildUppPackage { + pname = examplePackageName; + version = self.version; + package = examplePackageName; + src = self.src; + includeUppsrcAssembly = false; + buildInputs = self.passthru.uppsrcDependencies; + assembly = "examples"; + extraAssemblies = [ + "uppsrc" + ]; + }); }; meta = { From 80a41ef45de3556fec1bdbae15eef445f3335752 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Fri, 23 May 2025 18:06:23 +0200 Subject: [PATCH 3/7] pkgs/ultimatepp.buildUppPackage: fix typo --- pkgs/by-name/ul/ultimatepp/buildUppPackage.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix b/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix index 6a3ec3a..8f4d581 100644 --- a/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix +++ b/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation (self: { # S - use shared libraries and build shared libraries # u - use target directory # v - verbose - # r - release mdode + # r - release mode # FIXME: writing to $out should be done in the install phase buildPhase = '' From 4aa2e34ff654a74befef96e08612173c2d207ce0 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Fri, 23 May 2025 18:20:42 +0200 Subject: [PATCH 4/7] pkgs/ultimatepp: explicitly set umk build threads --- pkgs/by-name/ul/ultimatepp/buildUppPackage.nix | 2 +- pkgs/by-name/ul/ultimatepp/package.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix b/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix index 8f4d581..83f795b 100644 --- a/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix +++ b/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix @@ -59,7 +59,7 @@ stdenv.mkDerivation (self: { "$assemblies" \ ${lib.escapeShellArg package} \ ${buildMethod} \ - -${if buildShared then "S" else "s"}uvr \ + -${if buildShared then "S" else "s"}uvr "-H$NIX_BUILD_CORES" \ ${flagsString} \ $out/${output} diff --git a/pkgs/by-name/ul/ultimatepp/package.nix b/pkgs/by-name/ul/ultimatepp/package.nix index 8e4b8af..e117de2 100644 --- a/pkgs/by-name/ul/ultimatepp/package.nix +++ b/pkgs/by-name/ul/ultimatepp/package.nix @@ -94,8 +94,8 @@ in { if self.passthru.bootstrap then '' make -f umkMakefile -j $NIX_BUILD_CORES "$makeFlagsArray" '' else '' - ${lib.getExe' selfBootstrap "umk"} uppsrc ide ${buildMethod} -rvs - ${lib.getExe' selfBootstrap "umk"} uppsrc umk ${buildMethod} -rvs + ${lib.getExe' selfBootstrap "umk"} uppsrc ide ${buildMethod} -rvs "-H$NIX_BUILD_CORES" + ${lib.getExe' selfBootstrap "umk"} uppsrc umk ${buildMethod} -rvs "-H$NIX_BUILD_CORES" '') + '' runHook postBuild ''; From 35259d49993266e79fdf0e48c84b22616402a989 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Fri, 23 May 2025 19:40:22 +0200 Subject: [PATCH 5/7] pkgs/ultimatepp: add theide icon --- pkgs/by-name/ul/ultimatepp/package.nix | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ul/ultimatepp/package.nix b/pkgs/by-name/ul/ultimatepp/package.nix index e117de2..867f5cc 100644 --- a/pkgs/by-name/ul/ultimatepp/package.nix +++ b/pkgs/by-name/ul/ultimatepp/package.nix @@ -5,6 +5,8 @@ makeWrapper, pkg-config, stdenv, + makeDesktopItem, + copyDesktopItems, # pkg-config dependencies libpng, @@ -60,7 +62,7 @@ in { nativeBuildInputs = [ makeWrapper pkg-config - ]; + ] ++ lib.optional (!self.passthru.bootstrap) copyDesktopItems; buildInputs = uppsrcDependencies ++ lib.optional (!self.passthru.bootstrap) libclang; @@ -112,10 +114,29 @@ in { wrapProgram $out/bin/theide \ --unset WAYLAND_DISPLAY + + mkdir -p $out/share/icons/hicolor/scalable/apps + cp uppsrc/ide/icon.svg $out/share/icons/hicolor/scalable/apps/ultimatepp-theide.svg + for size in 16 32 64 128 256 512; do + mkdir -p $out/share/icons/hicolor/''${size}x''${size}/apps + cp uppsrc/ide/icon''${size}x''${size}.png $out/share/icons/hicolor/''${size}x''${size}/apps/ultimatepp-theide.png + done '') + '' runHook postInstall ''; + desktopItems = [ + (makeDesktopItem { + name = "ultimatepp-theide"; + exec = "theide"; + icon = "ultimatepp-theide"; + desktopName = "TheIDE"; + comment = "The Ultimate++ Framework IDE"; + categories = [ "Development" "IDE" ]; + terminal = false; + }) + ]; + passthru = { bootstrap = false; inherit uppsrcDependencies; From 6d32f8da73d59db504a973ec3b18e955df33f85f Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sun, 25 May 2025 20:43:16 +0200 Subject: [PATCH 6/7] pkgs/ultimatepp: rename to upp --- .../{ul/ultimatepp => up/upp}/buildUppPackage.nix | 8 ++++---- .../{ul/ultimatepp => up/upp}/no-build-info.patch | 0 pkgs/by-name/{ul/ultimatepp => up/upp}/package.nix | 12 ++++++------ .../remove-inline-from-HighlightSetup-InitOnce.patch | 0 4 files changed, 10 insertions(+), 10 deletions(-) rename pkgs/by-name/{ul/ultimatepp => up/upp}/buildUppPackage.nix (90%) rename pkgs/by-name/{ul/ultimatepp => up/upp}/no-build-info.patch (100%) rename pkgs/by-name/{ul/ultimatepp => up/upp}/package.nix (94%) rename pkgs/by-name/{ul/ultimatepp => up/upp}/remove-inline-from-HighlightSetup-InitOnce.patch (100%) diff --git a/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix b/pkgs/by-name/up/upp/buildUppPackage.nix similarity index 90% rename from pkgs/by-name/ul/ultimatepp/buildUppPackage.nix rename to pkgs/by-name/up/upp/buildUppPackage.nix index 83f795b..2ceabee 100644 --- a/pkgs/by-name/ul/ultimatepp/buildUppPackage.nix +++ b/pkgs/by-name/up/upp/buildUppPackage.nix @@ -2,7 +2,7 @@ lib, pkg-config, stdenv, - ultimatepp, + upp, }: { @@ -24,15 +24,15 @@ in stdenv.mkDerivation (self: { nativeBuildInputs = [ pkg-config - ultimatepp + upp ] ++ args.nativeBuildInputs or []; - buildInputs = ultimatepp.uppsrcDependencies ++ args.buildInputs or []; + buildInputs = upp.uppsrcDependencies ++ args.buildInputs or []; assemblies = lib.concatStringsSep "," ( lib.singleton assembly ++ extraAssemblies - ++ lib.optional includeUppsrcAssembly "${ultimatepp.src}/uppsrc" + ++ lib.optional includeUppsrcAssembly "${upp.src}/uppsrc" ); postUnpack = '' diff --git a/pkgs/by-name/ul/ultimatepp/no-build-info.patch b/pkgs/by-name/up/upp/no-build-info.patch similarity index 100% rename from pkgs/by-name/ul/ultimatepp/no-build-info.patch rename to pkgs/by-name/up/upp/no-build-info.patch diff --git a/pkgs/by-name/ul/ultimatepp/package.nix b/pkgs/by-name/up/upp/package.nix similarity index 94% rename from pkgs/by-name/ul/ultimatepp/package.nix rename to pkgs/by-name/up/upp/package.nix index 867f5cc..26f686a 100644 --- a/pkgs/by-name/ul/ultimatepp/package.nix +++ b/pkgs/by-name/up/upp/package.nix @@ -47,7 +47,7 @@ in stdenv.mkDerivation (self: let }; }); in { - pname = "ultimatepp"; + pname = "upp"; version = "2025.1"; src = fetchFromGitHub { @@ -116,10 +116,10 @@ in { --unset WAYLAND_DISPLAY mkdir -p $out/share/icons/hicolor/scalable/apps - cp uppsrc/ide/icon.svg $out/share/icons/hicolor/scalable/apps/ultimatepp-theide.svg + cp uppsrc/ide/icon.svg $out/share/icons/hicolor/scalable/apps/upp-theide.svg for size in 16 32 64 128 256 512; do mkdir -p $out/share/icons/hicolor/''${size}x''${size}/apps - cp uppsrc/ide/icon''${size}x''${size}.png $out/share/icons/hicolor/''${size}x''${size}/apps/ultimatepp-theide.png + cp uppsrc/ide/icon''${size}x''${size}.png $out/share/icons/hicolor/''${size}x''${size}/apps/upp-theide.png done '') + '' runHook postInstall @@ -127,11 +127,11 @@ in { desktopItems = [ (makeDesktopItem { - name = "ultimatepp-theide"; + name = "upp-theide"; exec = "theide"; - icon = "ultimatepp-theide"; + icon = "upp-theide"; desktopName = "TheIDE"; - comment = "The Ultimate++ Framework IDE"; + comment = "The U++ Framework IDE"; categories = [ "Development" "IDE" ]; terminal = false; }) diff --git a/pkgs/by-name/ul/ultimatepp/remove-inline-from-HighlightSetup-InitOnce.patch b/pkgs/by-name/up/upp/remove-inline-from-HighlightSetup-InitOnce.patch similarity index 100% rename from pkgs/by-name/ul/ultimatepp/remove-inline-from-HighlightSetup-InitOnce.patch rename to pkgs/by-name/up/upp/remove-inline-from-HighlightSetup-InitOnce.patch From f92651afdf2037e0dbc2ecbd2d151f4b5f125c30 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sun, 25 May 2025 20:47:24 +0200 Subject: [PATCH 7/7] pkgs/upp: fetch remove inline patch from pr --- pkgs/by-name/up/upp/package.nix | 7 ++++++- ...remove-inline-from-HighlightSetup-InitOnce.patch | 13 ------------- 2 files changed, 6 insertions(+), 14 deletions(-) delete mode 100644 pkgs/by-name/up/upp/remove-inline-from-HighlightSetup-InitOnce.patch diff --git a/pkgs/by-name/up/upp/package.nix b/pkgs/by-name/up/upp/package.nix index 26f686a..dbe9700 100644 --- a/pkgs/by-name/up/upp/package.nix +++ b/pkgs/by-name/up/upp/package.nix @@ -2,6 +2,7 @@ lib, callPackage, fetchFromGitHub, + fetchpatch, makeWrapper, pkg-config, stdenv, @@ -68,7 +69,11 @@ in { patches = [ ./no-build-info.patch - ./remove-inline-from-HighlightSetup-InitOnce.patch + (fetchpatch { + # https://github.com/ultimatepp/ultimatepp/pull/271 + url = "https://github.com/ultimatepp/ultimatepp/commit/db5cad68673f9571e6571116e0570e22e3e44fe8.patch"; + hash = "sha256-t2PducjE6b5MjDSAIKvEMdHnT8oTGmI073qYuhLFCh0="; + }) ]; postPatch = '' patchShebangs ./configure_makefile diff --git a/pkgs/by-name/up/upp/remove-inline-from-HighlightSetup-InitOnce.patch b/pkgs/by-name/up/upp/remove-inline-from-HighlightSetup-InitOnce.patch deleted file mode 100644 index 1d86a43..0000000 --- a/pkgs/by-name/up/upp/remove-inline-from-HighlightSetup-InitOnce.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a b -index eca1b54..dede1d5 100644 ---- a/uppsrc/CodeEditor/Style.cpp -+++ b/uppsrc/CodeEditor/Style.cpp -@@ -38,7 +38,7 @@ void HighlightSetup::DefaultHlStyles() - WhiteTheme(); - } - --inline void HighlightSetup::InitOnce() -+void HighlightSetup::InitOnce() - { - ONCELOCK { - static bool initialised;